diff --git a/LICENSES/vendor/github.com/vmware/govmomi/LICENSE b/LICENSES/vendor/github.com/vmware/govmomi/LICENSE deleted file mode 100644 index 83d335d6e1a..00000000000 --- a/LICENSES/vendor/github.com/vmware/govmomi/LICENSE +++ /dev/null @@ -1,206 +0,0 @@ -= vendor/github.com/vmware/govmomi licensed under: = - - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - -= vendor/github.com/vmware/govmomi/LICENSE.txt 3b83ef96387f14655fc854ddc3c6bd57 diff --git a/cluster/addons/storage-class/vsphere/default.yaml b/cluster/addons/storage-class/vsphere/default.yaml deleted file mode 100644 index aabc896c31c..00000000000 --- a/cluster/addons/storage-class/vsphere/default.yaml +++ /dev/null @@ -1,10 +0,0 @@ -apiVersion: storage.k8s.io/v1 -kind: StorageClass -metadata: - name: thin - annotations: - storageclass.kubernetes.io/is-default-class: "true" - labels: -provisioner: kubernetes.io/vsphere-volume -parameters: - diskformat: thin diff --git a/cmd/cloud-controller-manager/providers.go b/cmd/cloud-controller-manager/providers.go index b4ac9dbf337..83edf245ad1 100644 --- a/cmd/cloud-controller-manager/providers.go +++ b/cmd/cloud-controller-manager/providers.go @@ -26,5 +26,4 @@ import ( // NOTE: Importing all in-tree cloud-providers is not required when // implementing an out-of-tree cloud-provider. _ "k8s.io/legacy-cloud-providers/gce" - _ "k8s.io/legacy-cloud-providers/vsphere" ) diff --git a/go.mod b/go.mod index cb88e23c645..a3271a59881 100644 --- a/go.mod +++ b/go.mod @@ -62,7 +62,6 @@ require ( github.com/spf13/pflag v1.0.5 github.com/stretchr/testify v1.8.4 github.com/vishvananda/netlink v1.1.0 - github.com/vmware/govmomi v0.30.6 go.etcd.io/etcd/api/v3 v3.5.10 go.etcd.io/etcd/client/pkg/v3 v3.5.10 go.etcd.io/etcd/client/v3 v3.5.10 @@ -87,7 +86,6 @@ require ( google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d google.golang.org/grpc v1.58.3 google.golang.org/protobuf v1.31.0 - gopkg.in/gcfg.v1 v1.2.3 gopkg.in/square/go-jose.v2 v2.6.0 gopkg.in/yaml.v2 v2.4.0 gopkg.in/yaml.v3 v3.0.1 @@ -225,6 +223,7 @@ require ( google.golang.org/appengine v1.6.7 // indirect google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5 // indirect google.golang.org/genproto/googleapis/api v0.0.0-20230726155614-23370e0ffb3e // indirect + gopkg.in/gcfg.v1 v1.2.3 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect gopkg.in/warnings.v0 v0.1.2 // indirect diff --git a/go.sum b/go.sum index 51f6a7f2007..00ccbef90fc 100644 --- a/go.sum +++ b/go.sum @@ -184,7 +184,6 @@ github.com/Microsoft/hcsshim v0.8.25/go.mod h1:4zegtUJth7lAvFyc6cH2gGQ5B3OFQim01 github.com/NYTimes/gziphandler v1.1.1 h1:ZUDjpQae29j0ryrS0u/B8HZfJBtBQHjqw2rQ2cqUQ3I= github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/a8m/tree v0.0.0-20210115125333-10a5fd5b637d/go.mod h1:FSdwKX97koS5efgm8WevNf7XS3PqtyFkKDDXrz778cg= github.com/alecthomas/kingpin/v2 v2.3.2/go.mod h1:0gyi0zQnjuFk8xrkNKamJoyUo382HRL7ATRpFZCw6tE= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= @@ -304,7 +303,6 @@ github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5Xh github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= -github.com/dougm/pretty v0.0.0-20171025230240-2ee9d7453c02/go.mod h1:7NQ3kWOx2cZOSjtcveTa5nqupVr2s6/83sG+rTlI7uA= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkpeCY= github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= @@ -673,7 +671,6 @@ github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1 github.com/prometheus/procfs v0.10.1 h1:kYK1Va/YMlutzCGazswoHKo//tZVlFpKYh+PymziUAg= github.com/prometheus/procfs v0.10.1/go.mod h1:nwNm2aOCAYw8uTR/9bWRREkZFxAUcWzPHWJq+XBB/FM= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= -github.com/rasky/go-xdr v0.0.0-20170217172119-4930550ba2e2/go.mod h1:Nfe4efndBz4TibWycNE+lqyJZiMX4ycx+QKV8Ta0f/o= github.com/robfig/cron/v3 v3.0.1 h1:WdRxkvbJztn8LMz/QEvLN5sBU+xKpSqwwUO1Pjr4qDs= github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= @@ -746,9 +743,6 @@ github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYp github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df/go.mod h1:JP3t17pCcGlemwknint6hfoeCVQrEMVwxRLRjXpq+BU= github.com/vishvananda/netns v0.0.4 h1:Oeaw1EM2JMxD51g9uhtC0D7erkIjgmj8+JZc26m1YX8= github.com/vishvananda/netns v0.0.4/go.mod h1:SpkAiCQRtJ6TvvxPnOSyH3BMl6unz3xZlaprSwhNNJM= -github.com/vmware/govmomi v0.30.6 h1:O3tjSwQBy0XwI5uK1/yVIfQ1LP9bAECEDUfifnyGs9U= -github.com/vmware/govmomi v0.30.6/go.mod h1:epgoslm97rLECMV4D+08ORzUBEU7boFSepKjt7AYVGg= -github.com/vmware/vmw-guestinfo v0.0.0-20170707015358-25eff159a728/go.mod h1:x9oS4Wk2s2u4tS29nEaDLdzvuHdB19CvSGJjPgkZJNk= github.com/xhit/go-str2duration/v2 v2.1.0/go.mod h1:ohY8p+0f07DiV6Em5LKB0s2YpLtXVyJfNt1+BlmyAsU= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2 h1:eY9dn8+vbi4tKz5Qo6v2eYzo7kUS51QINcR5jNpbZS8= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= diff --git a/pkg/cloudprovider/providers/providers.go b/pkg/cloudprovider/providers/providers.go index 1787e02949b..8c0e8b459de 100644 --- a/pkg/cloudprovider/providers/providers.go +++ b/pkg/cloudprovider/providers/providers.go @@ -22,5 +22,4 @@ package cloudprovider import ( // Cloud providers _ "k8s.io/legacy-cloud-providers/gce" - _ "k8s.io/legacy-cloud-providers/vsphere" ) diff --git a/pkg/cloudprovider/providers/providers_test.go b/pkg/cloudprovider/providers/providers_test.go deleted file mode 100644 index bffa5b01152..00000000000 --- a/pkg/cloudprovider/providers/providers_test.go +++ /dev/null @@ -1,26 +0,0 @@ -//go:build !providerless -// +build !providerless - -/* -Copyright 2019 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package cloudprovider - -import ( - // transitive test dependencies are not vendored by go modules - // so we have to explicitly import them here - _ "k8s.io/legacy-cloud-providers/vsphere/testing" -) diff --git a/staging/src/k8s.io/cloud-provider/plugins.go b/staging/src/k8s.io/cloud-provider/plugins.go index f7eb86c4110..0e8b9357261 100644 --- a/staging/src/k8s.io/cloud-provider/plugins.go +++ b/staging/src/k8s.io/cloud-provider/plugins.go @@ -41,7 +41,6 @@ var ( detail string }{ {"gce", false, "The GCE provider is deprecated and will be removed in a future release. Please use https://github.com/kubernetes/cloud-provider-gcp"}, - {"vsphere", false, "The vSphere provider is deprecated and will be removed in a future release. Please use https://github.com/kubernetes/cloud-provider-vsphere"}, } ) diff --git a/staging/src/k8s.io/legacy-cloud-providers/go.mod b/staging/src/k8s.io/legacy-cloud-providers/go.mod index d7414dc2d02..ab95b854cb7 100644 --- a/staging/src/k8s.io/legacy-cloud-providers/go.mod +++ b/staging/src/k8s.io/legacy-cloud-providers/go.mod @@ -9,7 +9,6 @@ require ( github.com/GoogleCloudPlatform/k8s-cloud-provider v1.18.1-0.20220218231025-f11817397a1b github.com/google/go-cmp v0.6.0 github.com/stretchr/testify v1.8.4 - github.com/vmware/govmomi v0.30.6 golang.org/x/oauth2 v0.10.0 google.golang.org/api v0.126.0 gopkg.in/gcfg.v1 v1.2.3 @@ -72,7 +71,6 @@ require ( gopkg.in/warnings.v0 v0.1.2 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/component-helpers v0.0.0 // indirect k8s.io/kube-openapi v0.0.0-20231113174909-778a5567bc1e // indirect sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd // indirect sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect diff --git a/staging/src/k8s.io/legacy-cloud-providers/go.sum b/staging/src/k8s.io/legacy-cloud-providers/go.sum index 63a4622562b..cc15d62b647 100644 --- a/staging/src/k8s.io/legacy-cloud-providers/go.sum +++ b/staging/src/k8s.io/legacy-cloud-providers/go.sum @@ -55,7 +55,6 @@ github.com/GoogleCloudPlatform/k8s-cloud-provider v1.18.1-0.20220218231025-f1181 github.com/GoogleCloudPlatform/k8s-cloud-provider v1.18.1-0.20220218231025-f11817397a1b/go.mod h1:FNj4KYEAAHfYu68kRYolGoxkaJn+6mdEsaM12VTwuI0= github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/a8m/tree v0.0.0-20210115125333-10a5fd5b637d/go.mod h1:FSdwKX97koS5efgm8WevNf7XS3PqtyFkKDDXrz778cg= github.com/alecthomas/kingpin/v2 v2.3.2/go.mod h1:0gyi0zQnjuFk8xrkNKamJoyUo382HRL7ATRpFZCw6tE= github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137/go.mod h1:OMCwj8VM1Kc9e19TLln2VL61YJF0x1XFtfdL4JdbSyE= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= @@ -88,7 +87,6 @@ github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ3 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/dougm/pretty v0.0.0-20171025230240-2ee9d7453c02/go.mod h1:7NQ3kWOx2cZOSjtcveTa5nqupVr2s6/83sG+rTlI7uA= github.com/emicklei/go-restful/v3 v3.11.0 h1:rAQeMHw1c7zTmncogyy8VvRZwtkmkZ4FxERmMY4rD+g= github.com/emicklei/go-restful/v3 v3.11.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= @@ -281,7 +279,6 @@ github.com/prometheus/common v0.44.0 h1:+5BrQJwiBB9xsMygAB3TNvpQKOwlkc25LbISbrdO github.com/prometheus/common v0.44.0/go.mod h1:ofAIvZbQ1e/nugmZGz4/qCb9Ap1VoSTIO7x0VV9VvuY= github.com/prometheus/procfs v0.10.1 h1:kYK1Va/YMlutzCGazswoHKo//tZVlFpKYh+PymziUAg= github.com/prometheus/procfs v0.10.1/go.mod h1:nwNm2aOCAYw8uTR/9bWRREkZFxAUcWzPHWJq+XBB/FM= -github.com/rasky/go-xdr v0.0.0-20170217172119-4930550ba2e2/go.mod h1:Nfe4efndBz4TibWycNE+lqyJZiMX4ycx+QKV8Ta0f/o= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjRBZyWFQ= @@ -303,9 +300,6 @@ github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/vmware/govmomi v0.30.6 h1:O3tjSwQBy0XwI5uK1/yVIfQ1LP9bAECEDUfifnyGs9U= -github.com/vmware/govmomi v0.30.6/go.mod h1:epgoslm97rLECMV4D+08ORzUBEU7boFSepKjt7AYVGg= -github.com/vmware/vmw-guestinfo v0.0.0-20170707015358-25eff159a728/go.mod h1:x9oS4Wk2s2u4tS29nEaDLdzvuHdB19CvSGJjPgkZJNk= github.com/xhit/go-str2duration/v2 v2.1.0/go.mod h1:ohY8p+0f07DiV6Em5LKB0s2YpLtXVyJfNt1+BlmyAsU= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= diff --git a/staging/src/k8s.io/legacy-cloud-providers/vsphere/OWNERS b/staging/src/k8s.io/legacy-cloud-providers/vsphere/OWNERS deleted file mode 100644 index acca323a42f..00000000000 --- a/staging/src/k8s.io/legacy-cloud-providers/vsphere/OWNERS +++ /dev/null @@ -1,12 +0,0 @@ -# See the OWNERS docs at https://go.k8s.io/owners - -emeritus_approvers: - - baludontu - - divyenpatel - - frapposelli - - dougm - - SandeepPissay - - imkin - - abrarshivani -reviewers: - - divyenpatel diff --git a/staging/src/k8s.io/legacy-cloud-providers/vsphere/credentialmanager.go b/staging/src/k8s.io/legacy-cloud-providers/vsphere/credentialmanager.go deleted file mode 100644 index 18862c39e12..00000000000 --- a/staging/src/k8s.io/legacy-cloud-providers/vsphere/credentialmanager.go +++ /dev/null @@ -1,170 +0,0 @@ -//go:build !providerless -// +build !providerless - -/* -Copyright 2016 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vsphere - -import ( - "errors" - "fmt" - "net/http" - "strings" - "sync" - - corev1 "k8s.io/api/core/v1" - apierrors "k8s.io/apimachinery/pkg/api/errors" - v1 "k8s.io/client-go/listers/core/v1" - "k8s.io/klog/v2" -) - -// Error Messages -const ( - CredentialsNotFoundErrMsg = "Credentials not found" - CredentialMissingErrMsg = "Username/Password is missing" - UnknownSecretKeyErrMsg = "Unknown secret key" -) - -// Error constants -var ( - ErrCredentialsNotFound = errors.New(CredentialsNotFoundErrMsg) - ErrCredentialMissing = errors.New(CredentialMissingErrMsg) - ErrUnknownSecretKey = errors.New(UnknownSecretKeyErrMsg) -) - -type SecretCache struct { - cacheLock sync.Mutex - VirtualCenter map[string]*Credential - Secret *corev1.Secret -} - -type Credential struct { - User string `gcfg:"user"` - Password string `gcfg:"password" datapolicy:"password"` -} - -type SecretCredentialManager struct { - SecretName string - SecretNamespace string - SecretLister v1.SecretLister - Cache *SecretCache -} - -// GetCredential returns credentials for the given vCenter Server. -// GetCredential returns error if Secret is not added. -// GetCredential return error is the secret doesn't contain any credentials. -func (secretCredentialManager *SecretCredentialManager) GetCredential(server string) (*Credential, error) { - err := secretCredentialManager.updateCredentialsMap() - if err != nil { - statusErr, ok := err.(*apierrors.StatusError) - if (ok && statusErr.ErrStatus.Code != http.StatusNotFound) || !ok { - return nil, err - } - // Handle secrets deletion by finding credentials from cache - klog.Warningf("secret %q not found in namespace %q", secretCredentialManager.SecretName, secretCredentialManager.SecretNamespace) - } - - // Converting server FQIN to lowercase to consolidate with config parsing approach - server = strings.ToLower(server) - credential, found := secretCredentialManager.Cache.GetCredential(server) - if !found { - klog.Errorf("credentials not found for server %q", server) - return nil, ErrCredentialsNotFound - } - return &credential, nil -} - -func (secretCredentialManager *SecretCredentialManager) updateCredentialsMap() error { - if secretCredentialManager.SecretLister == nil { - return fmt.Errorf("secretLister is not initialized") - } - secret, err := secretCredentialManager.SecretLister.Secrets(secretCredentialManager.SecretNamespace).Get(secretCredentialManager.SecretName) - if err != nil { - klog.Errorf("Cannot get secret %s in namespace %s. error: %q", secretCredentialManager.SecretName, secretCredentialManager.SecretNamespace, err) - return err - } - cacheSecret := secretCredentialManager.Cache.GetSecret() - if cacheSecret != nil && - cacheSecret.GetResourceVersion() == secret.GetResourceVersion() { - klog.V(4).Infof("VCP SecretCredentialManager: Secret %q will not be updated in cache. Since, secrets have same resource version %q", secretCredentialManager.SecretName, cacheSecret.GetResourceVersion()) - return nil - } - secretCredentialManager.Cache.UpdateSecret(secret) - return secretCredentialManager.Cache.parseSecret() -} - -func (cache *SecretCache) GetSecret() *corev1.Secret { - cache.cacheLock.Lock() - defer cache.cacheLock.Unlock() - return cache.Secret -} - -func (cache *SecretCache) UpdateSecret(secret *corev1.Secret) { - cache.cacheLock.Lock() - defer cache.cacheLock.Unlock() - cache.Secret = secret -} - -func (cache *SecretCache) GetCredential(server string) (Credential, bool) { - cache.cacheLock.Lock() - defer cache.cacheLock.Unlock() - credential, found := cache.VirtualCenter[server] - if !found { - return Credential{}, found - } - return *credential, found -} - -func (cache *SecretCache) parseSecret() error { - cache.cacheLock.Lock() - defer cache.cacheLock.Unlock() - return parseConfig(cache.Secret.Data, cache.VirtualCenter) -} - -// parseConfig returns vCenter ip/fdqn mapping to its credentials viz. Username and Password. -func parseConfig(data map[string][]byte, config map[string]*Credential) error { - if len(data) == 0 { - return ErrCredentialMissing - } - for credentialKey, credentialValue := range data { - credentialKey = strings.ToLower(credentialKey) - vcServer := "" - if strings.HasSuffix(credentialKey, "password") { - vcServer = strings.Split(credentialKey, ".password")[0] - if _, ok := config[vcServer]; !ok { - config[vcServer] = &Credential{} - } - config[vcServer].Password = string(credentialValue) - } else if strings.HasSuffix(credentialKey, "username") { - vcServer = strings.Split(credentialKey, ".username")[0] - if _, ok := config[vcServer]; !ok { - config[vcServer] = &Credential{} - } - config[vcServer].User = string(credentialValue) - } else { - klog.Errorf("Unknown secret key %s", credentialKey) - return ErrUnknownSecretKey - } - } - for vcServer, credential := range config { - if credential.User == "" || credential.Password == "" { - klog.Errorf("Username/Password is missing for server %s", vcServer) - return ErrCredentialMissing - } - } - return nil -} diff --git a/staging/src/k8s.io/legacy-cloud-providers/vsphere/credentialmanager_test.go b/staging/src/k8s.io/legacy-cloud-providers/vsphere/credentialmanager_test.go deleted file mode 100644 index 71fbbf0a8c5..00000000000 --- a/staging/src/k8s.io/legacy-cloud-providers/vsphere/credentialmanager_test.go +++ /dev/null @@ -1,383 +0,0 @@ -//go:build !providerless -// +build !providerless - -/* -Copyright 2016 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vsphere - -import ( - "reflect" - "strings" - "testing" - - corev1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/labels" - "k8s.io/client-go/informers" - "k8s.io/client-go/kubernetes/fake" -) - -func TestSecretCredentialManager_GetCredential(t *testing.T) { - var ( - userKey = "username" - passwordKey = "password" - testUser = "user" - testPassword = "password" - testServer = "0.0.0.0" - testServer2 = "0.0.1.1" - testServerFQIN = "ExAmple.com" - testUserServer2 = "user1" - testPasswordServer2 = "password1" - testIncorrectServer = "1.1.1.1" - ) - var ( - secretName = "vsconf" - secretNamespace = "kube-system" - ) - var ( - addSecretOp = "ADD_SECRET_OP" - getCredentialsOp = "GET_CREDENTIAL_OP" - deleteSecretOp = "DELETE_SECRET_OP" - ) - type GetCredentialsTest struct { - server string - username string - password string - err error - } - type OpSecretTest struct { - secret *corev1.Secret - } - type testEnv struct { - testName string - ops []string - expectedValues []interface{} - } - - client := &fake.Clientset{} - metaObj := metav1.ObjectMeta{ - Name: secretName, - Namespace: secretNamespace, - } - - defaultSecret := &corev1.Secret{ - ObjectMeta: metaObj, - Data: map[string][]byte{ - testServer + "." + userKey: []byte(testUser), - testServer + "." + passwordKey: []byte(testPassword), - }, - } - - multiVCSecret := &corev1.Secret{ - ObjectMeta: metaObj, - Data: map[string][]byte{ - testServer + "." + userKey: []byte(testUser), - testServer + "." + passwordKey: []byte(testPassword), - testServer2 + "." + userKey: []byte(testUserServer2), - testServer2 + "." + passwordKey: []byte(testPasswordServer2), - }, - } - - fqinSecret := &corev1.Secret{ - ObjectMeta: metaObj, - Data: map[string][]byte{ - testServerFQIN + "." + userKey: []byte(testUser), - testServerFQIN + "." + passwordKey: []byte(testPassword), - }, - } - - emptySecret := &corev1.Secret{ - ObjectMeta: metaObj, - Data: map[string][]byte{}, - } - - tests := []testEnv{ - { - testName: "Deleting secret should give the credentials from cache", - ops: []string{addSecretOp, getCredentialsOp, deleteSecretOp, getCredentialsOp}, - expectedValues: []interface{}{ - OpSecretTest{ - secret: defaultSecret, - }, - GetCredentialsTest{ - username: testUser, - password: testPassword, - server: testServer, - }, - OpSecretTest{ - secret: defaultSecret, - }, - GetCredentialsTest{ - username: testUser, - password: testPassword, - server: testServer, - }, - }, - }, - { - testName: "Add secret and get credentials", - ops: []string{addSecretOp, getCredentialsOp}, - expectedValues: []interface{}{ - OpSecretTest{ - secret: defaultSecret, - }, - GetCredentialsTest{ - username: testUser, - password: testPassword, - server: testServer, - }, - }, - }, - { - testName: "Getcredentials should fail by not adding at secret at first time", - ops: []string{getCredentialsOp}, - expectedValues: []interface{}{ - GetCredentialsTest{ - username: testUser, - password: testPassword, - server: testServer, - err: ErrCredentialsNotFound, - }, - }, - }, - { - testName: "GetCredential should fail to get credentials from empty secrets", - ops: []string{addSecretOp, getCredentialsOp}, - expectedValues: []interface{}{ - OpSecretTest{ - secret: emptySecret, - }, - GetCredentialsTest{ - server: testServer, - err: ErrCredentialMissing, - }, - }, - }, - { - testName: "GetCredential should fail to get credentials for invalid server", - ops: []string{addSecretOp, getCredentialsOp}, - expectedValues: []interface{}{ - OpSecretTest{ - secret: defaultSecret, - }, - GetCredentialsTest{ - server: testIncorrectServer, - err: ErrCredentialsNotFound, - }, - }, - }, - { - testName: "GetCredential for multi-vc", - ops: []string{addSecretOp, getCredentialsOp}, - expectedValues: []interface{}{ - OpSecretTest{ - secret: multiVCSecret, - }, - GetCredentialsTest{ - server: testServer2, - username: testUserServer2, - password: testPasswordServer2, - }, - }, - }, - { - testName: "GetCredential for FQIN server name", - ops: []string{addSecretOp, getCredentialsOp}, - expectedValues: []interface{}{ - OpSecretTest{ - fqinSecret, - }, - GetCredentialsTest{ - username: testUser, - password: testPassword, - server: testServerFQIN, - }, - }, - }, - } - - // TODO: replace 0 with NoResyncPeriodFunc() once it moved out pkg/controller/controller_utils.go in k/k. - informerFactory := informers.NewSharedInformerFactory(client, 0) - secretInformer := informerFactory.Core().V1().Secrets() - secretCredentialManager := &SecretCredentialManager{ - SecretName: secretName, - SecretNamespace: secretNamespace, - SecretLister: secretInformer.Lister(), - Cache: &SecretCache{ - VirtualCenter: make(map[string]*Credential), - }, - } - cleanupSecretCredentialManager := func() { - secretCredentialManager.Cache.Secret = nil - for key := range secretCredentialManager.Cache.VirtualCenter { - delete(secretCredentialManager.Cache.VirtualCenter, key) - } - secrets, err := secretCredentialManager.SecretLister.List(labels.Everything()) - if err != nil { - t.Fatal("Failed to get all secrets from sharedInformer. error: ", err) - } - for _, secret := range secrets { - err := secretInformer.Informer().GetIndexer().Delete(secret) - if err != nil { - t.Fatalf("Failed to delete secret from informer: %v", err) - } - } - } - - for _, test := range tests { - t.Logf("Executing Testcase: %s", test.testName) - for ntest, op := range test.ops { - switch op { - case addSecretOp: - expected := test.expectedValues[ntest].(OpSecretTest) - t.Logf("Adding secret: %s", expected.secret) - err := secretInformer.Informer().GetIndexer().Add(expected.secret) - if err != nil { - t.Fatalf("Failed to add secret to internal cache: %v", err) - } - case getCredentialsOp: - expected := test.expectedValues[ntest].(GetCredentialsTest) - credential, err := secretCredentialManager.GetCredential(expected.server) - t.Logf("Retrieving credentials for server %s", expected.server) - if err != expected.err { - t.Fatalf("Fail to get credentials with error: %v", err) - } - if expected.err == nil { - if expected.username != credential.User || - expected.password != credential.Password { - t.Fatalf("Received credentials %v "+ - "are different than actual credential user:%s password:%s", credential, expected.username, - expected.password) - } - } - case deleteSecretOp: - expected := test.expectedValues[ntest].(OpSecretTest) - t.Logf("Deleting secret: %s", expected.secret) - err := secretInformer.Informer().GetIndexer().Delete(expected.secret) - if err != nil { - t.Fatalf("Failed to delete secret to internal cache: %v", err) - } - } - } - cleanupSecretCredentialManager() - } -} - -func TestParseSecretConfig(t *testing.T) { - var ( - testUsername = "Admin" - testPassword = "Password" - testIP = "10.20.30.40" - testServerFQIN = "ExAmple.com" - ) - var testcases = []struct { - testName string - data map[string][]byte - config map[string]*Credential - expectedError error - }{ - { - testName: "Valid username and password", - data: map[string][]byte{ - "10.20.30.40.username": []byte(testUsername), - "10.20.30.40.password": []byte(testPassword), - }, - config: map[string]*Credential{ - testIP: { - User: testUsername, - Password: testPassword, - }, - }, - expectedError: nil, - }, - { - testName: "Invalid username key with valid password key", - data: map[string][]byte{ - "10.20.30.40.usernam": []byte(testUsername), - "10.20.30.40.password": []byte(testPassword), - }, - config: nil, - expectedError: ErrUnknownSecretKey, - }, - { - testName: "Missing username", - data: map[string][]byte{ - "10.20.30.40.password": []byte(testPassword), - }, - config: map[string]*Credential{ - testIP: { - Password: testPassword, - }, - }, - expectedError: ErrCredentialMissing, - }, - { - testName: "Missing password", - data: map[string][]byte{ - "10.20.30.40.username": []byte(testUsername), - }, - config: map[string]*Credential{ - testIP: { - User: testUsername, - }, - }, - expectedError: ErrCredentialMissing, - }, - { - testName: "FQIN stored as lowercase", - data: map[string][]byte{ - testServerFQIN + ".username": []byte(testUsername), - testServerFQIN + ".password": []byte(testPassword), - }, - config: map[string]*Credential{ - strings.ToLower(testServerFQIN): { - User: testUsername, - Password: testPassword, - }, - }, - expectedError: nil, - }, - { - testName: "IP with unknown key", - data: map[string][]byte{ - "10.20.30.40": []byte(testUsername), - }, - config: nil, - expectedError: ErrUnknownSecretKey, - }, - } - - resultConfig := make(map[string]*Credential) - cleanupResultConfig := func(config map[string]*Credential) { - for k := range config { - delete(config, k) - } - } - - for _, testcase := range testcases { - err := parseConfig(testcase.data, resultConfig) - t.Logf("Executing Testcase: %s", testcase.testName) - if err != testcase.expectedError { - t.Fatalf("Parsing Secret failed for data %+v: %s", testcase.data, err) - } - if testcase.config != nil && !reflect.DeepEqual(testcase.config, resultConfig) { - t.Fatalf("Parsing Secret failed for data %+v expected config %+v and actual config %+v", - testcase.data, resultConfig, testcase.config) - } - cleanupResultConfig(resultConfig) - } -} diff --git a/staging/src/k8s.io/legacy-cloud-providers/vsphere/doc.go b/staging/src/k8s.io/legacy-cloud-providers/vsphere/doc.go deleted file mode 100644 index 12c287753c6..00000000000 --- a/staging/src/k8s.io/legacy-cloud-providers/vsphere/doc.go +++ /dev/null @@ -1,17 +0,0 @@ -/* -Copyright 2019 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vsphere diff --git a/staging/src/k8s.io/legacy-cloud-providers/vsphere/nodemanager.go b/staging/src/k8s.io/legacy-cloud-providers/vsphere/nodemanager.go deleted file mode 100644 index 7f63710d7b1..00000000000 --- a/staging/src/k8s.io/legacy-cloud-providers/vsphere/nodemanager.go +++ /dev/null @@ -1,564 +0,0 @@ -//go:build !providerless -// +build !providerless - -/* -Copyright 2016 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vsphere - -import ( - "context" - "fmt" - "strings" - "sync" - - "github.com/vmware/govmomi/object" - "github.com/vmware/govmomi/vim25/mo" - v1 "k8s.io/api/core/v1" - "k8s.io/apimachinery/pkg/api/errors" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - k8stypes "k8s.io/apimachinery/pkg/types" - coreclients "k8s.io/client-go/kubernetes/typed/core/v1" - corelisters "k8s.io/client-go/listers/core/v1" - cloudprovider "k8s.io/cloud-provider" - "k8s.io/klog/v2" - "k8s.io/legacy-cloud-providers/vsphere/vclib" -) - -// Stores info about the kubernetes node -type NodeInfo struct { - dataCenter *vclib.Datacenter - vm *vclib.VirtualMachine - vcServer string - vmUUID string - zone *cloudprovider.Zone -} - -func (n NodeInfo) String() string { - return fmt.Sprintf("{datacenter: %v, vm: %v, vcServer: %s, vmUUID: %s, zone: %v}", - *n.dataCenter, n.vm.Reference(), n.vcServer, n.vmUUID, *n.zone) -} - -type NodeManager struct { - // TODO: replace map with concurrent map when k8s supports go v1.9 - - // Maps the VC server to VSphereInstance - vsphereInstanceMap map[string]*VSphereInstance - // Maps node name to node info. - nodeInfoMap map[string]*NodeInfo - // Maps node name to node structure - registeredNodes map[string]*v1.Node - //CredentialsManager - credentialManager *SecretCredentialManager - - nodeLister corelisters.NodeLister - nodeGetter coreclients.NodesGetter - - // Mutexes - registeredNodesLock sync.RWMutex - nodeInfoLock sync.RWMutex - credentialManagerLock sync.Mutex -} - -type NodeDetails struct { - NodeName string - vm *vclib.VirtualMachine - VMUUID string - Zone *cloudprovider.Zone -} - -// TODO: Make it configurable in vsphere.conf -const ( - POOL_SIZE = 8 - QUEUE_SIZE = POOL_SIZE * 10 -) - -func (nm *NodeManager) DiscoverNode(node *v1.Node) error { - type VmSearch struct { - vc string - datacenter *vclib.Datacenter - } - - var mutex = &sync.Mutex{} - var globalErrMutex = &sync.Mutex{} - var queueChannel chan *VmSearch - var wg sync.WaitGroup - var globalErr *error - - queueChannel = make(chan *VmSearch, QUEUE_SIZE) - nodeUUID, err := GetNodeUUID(node) - if err != nil { - klog.Errorf("Node Discovery failed to get node uuid for node %s with error: %v", node.Name, err) - return err - } - - klog.V(4).Infof("Discovering node %s with uuid %s", node.ObjectMeta.Name, nodeUUID) - - vmFound := false - globalErr = nil - - setGlobalErr := func(err error) { - globalErrMutex.Lock() - globalErr = &err - globalErrMutex.Unlock() - } - - setVMFound := func(found bool) { - mutex.Lock() - vmFound = found - mutex.Unlock() - } - - getVMFound := func() bool { - mutex.Lock() - found := vmFound - mutex.Unlock() - return found - } - - go func() { - var datacenterObjs []*vclib.Datacenter - for vc, vsi := range nm.vsphereInstanceMap { - - found := getVMFound() - if found { - break - } - - // Create context - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - - err := nm.vcConnect(ctx, vsi) - if err != nil { - klog.V(4).Info("Discovering node error vc:", err) - setGlobalErr(err) - continue - } - - if vsi.cfg.Datacenters == "" { - datacenterObjs, err = vclib.GetAllDatacenter(ctx, vsi.conn) - if err != nil { - klog.V(4).Info("Discovering node error dc:", err) - setGlobalErr(err) - continue - } - } else { - datacenters := strings.Split(vsi.cfg.Datacenters, ",") - for _, dc := range datacenters { - dc = strings.TrimSpace(dc) - if dc == "" { - continue - } - datacenterObj, err := vclib.GetDatacenter(ctx, vsi.conn, dc) - if err != nil { - klog.V(4).Info("Discovering node error dc:", err) - setGlobalErr(err) - continue - } - datacenterObjs = append(datacenterObjs, datacenterObj) - } - } - - for _, datacenterObj := range datacenterObjs { - found := getVMFound() - if found { - break - } - - klog.V(4).Infof("Finding node %s in vc=%s and datacenter=%s", node.Name, vc, datacenterObj.Name()) - queueChannel <- &VmSearch{ - vc: vc, - datacenter: datacenterObj, - } - } - } - close(queueChannel) - }() - - for i := 0; i < POOL_SIZE; i++ { - wg.Add(1) - go func() { - for res := range queueChannel { - ctx, cancel := context.WithCancel(context.Background()) - vm, err := res.datacenter.GetVMByUUID(ctx, nodeUUID) - if err != nil { - klog.V(4).Infof("Error while looking for vm=%+v in vc=%s and datacenter=%s: %v", - vm, res.vc, res.datacenter.Name(), err) - if err != vclib.ErrNoVMFound { - setGlobalErr(err) - } else { - klog.V(4).Infof("Did not find node %s in vc=%s and datacenter=%s", - node.Name, res.vc, res.datacenter.Name()) - } - cancel() - continue - } - if vm != nil { - klog.V(4).Infof("Found node %s as vm=%+v in vc=%s and datacenter=%s", - node.Name, vm, res.vc, res.datacenter.Name()) - var vmObj mo.VirtualMachine - err := vm.Properties(ctx, vm.Reference(), []string{"config"}, &vmObj) - if err != nil || vmObj.Config == nil { - klog.Errorf("failed to retrieve guest vmconfig for node: %s Err: %v", node.Name, err) - } else { - klog.V(4).Infof("vm hardware version for node:%s is %s", node.Name, vmObj.Config.Version) - // vmconfig.Version returns vm hardware version as vmx-11, vmx-13, vmx-14, vmx-15 etc. - vmhardwaredeprecated, err := isGuestHardwareVersionDeprecated(vmObj.Config.Version) - if err != nil { - klog.Errorf("failed to check if vm hardware version is deprecated. VM Hardware Version: %s Err: %v", vmObj.Config.Version, err) - } - if vmhardwaredeprecated { - klog.Warningf("VM Hardware version: %s from node: %s is deprecated. Please consider upgrading virtual machine hardware version to vmx-15 or higher", vmObj.Config.Version, node.Name) - } - } - // Get the node zone information - nodeFd := node.ObjectMeta.Labels[v1.LabelTopologyZone] - nodeRegion := node.ObjectMeta.Labels[v1.LabelTopologyRegion] - nodeZone := &cloudprovider.Zone{FailureDomain: nodeFd, Region: nodeRegion} - nodeInfo := &NodeInfo{dataCenter: res.datacenter, vm: vm, vcServer: res.vc, vmUUID: nodeUUID, zone: nodeZone} - nm.addNodeInfo(node.ObjectMeta.Name, nodeInfo) - for range queueChannel { - } - setVMFound(true) - cancel() - break - } - cancel() - } - wg.Done() - }() - } - wg.Wait() - if vmFound { - return nil - } - if globalErr != nil { - return *globalErr - } - - klog.V(4).Infof("Discovery Node: %q vm not found", node.Name) - return vclib.ErrNoVMFound -} - -func (nm *NodeManager) RegisterNode(node *v1.Node) error { - nm.addNode(node) - return nm.DiscoverNode(node) -} - -func (nm *NodeManager) UnRegisterNode(node *v1.Node) error { - nm.removeNode(node) - return nil -} - -func (nm *NodeManager) RediscoverNode(nodeName k8stypes.NodeName) error { - node, err := nm.GetNode(nodeName) - - if err != nil { - return err - } - return nm.DiscoverNode(&node) -} - -func (nm *NodeManager) GetNode(nodeName k8stypes.NodeName) (v1.Node, error) { - nm.registeredNodesLock.RLock() - node := nm.registeredNodes[convertToString(nodeName)] - nm.registeredNodesLock.RUnlock() - if node != nil { - klog.V(4).Infof("Node %s found in vSphere cloud provider cache", nodeName) - return *node, nil - } - - if nm.nodeLister != nil { - klog.V(4).Infof("Node %s missing in vSphere cloud provider cache, trying node informer", nodeName) - node, err := nm.nodeLister.Get(convertToString(nodeName)) - if err != nil { - if !errors.IsNotFound(err) { - return v1.Node{}, err - } - // Fall through with IsNotFound error and try to get the node from the API server - } else { - node := node.DeepCopy() - nm.addNode(node) - klog.V(4).Infof("Node %s found in vSphere cloud provider node informer", nodeName) - return *node, nil - } - } - - if nm.nodeGetter != nil { - klog.V(4).Infof("Node %s missing in vSphere cloud provider caches, trying the API server", nodeName) - node, err := nm.nodeGetter.Nodes().Get(context.TODO(), convertToString(nodeName), metav1.GetOptions{}) - if err != nil { - if !errors.IsNotFound(err) { - return v1.Node{}, err - } - // Fall through with IsNotFound error to keep the code consistent with the above - } else { - nm.addNode(node) - klog.V(4).Infof("Node %s found in the API server", nodeName) - return *node, nil - } - } - klog.V(4).Infof("Node %s not found in vSphere cloud provider", nodeName) - return v1.Node{}, vclib.ErrNoVMFound -} - -func (nm *NodeManager) getNodes() map[string]*v1.Node { - nm.registeredNodesLock.RLock() - defer nm.registeredNodesLock.RUnlock() - registeredNodes := make(map[string]*v1.Node, len(nm.registeredNodes)) - for nodeName, node := range nm.registeredNodes { - registeredNodes[nodeName] = node - } - return registeredNodes -} - -func (nm *NodeManager) addNode(node *v1.Node) { - nm.registeredNodesLock.Lock() - nm.registeredNodes[node.ObjectMeta.Name] = node - nm.registeredNodesLock.Unlock() -} - -func (nm *NodeManager) removeNode(node *v1.Node) { - nm.registeredNodesLock.Lock() - delete(nm.registeredNodes, node.ObjectMeta.Name) - nm.registeredNodesLock.Unlock() - - nm.nodeInfoLock.Lock() - delete(nm.nodeInfoMap, node.ObjectMeta.Name) - nm.nodeInfoLock.Unlock() -} - -// GetNodeInfo returns a NodeInfo which datacenter, vm and vc server ip address. -// This method returns an error if it is unable find node VCs and DCs listed in vSphere.conf -// NodeInfo returned may not be updated to reflect current VM location. -// -// This method is a getter but it can cause side-effect of updating NodeInfo object. -func (nm *NodeManager) GetNodeInfo(nodeName k8stypes.NodeName) (NodeInfo, error) { - return nm.getRefreshedNodeInfo(nodeName) -} - -// GetNodeDetails returns NodeDetails for all the discovered nodes. -// -// This method is a getter but it can cause side-effect of updating NodeInfo objects. -func (nm *NodeManager) GetNodeDetails() ([]NodeDetails, error) { - var nodeDetails []NodeDetails - - for nodeName, nodeObj := range nm.getNodes() { - nodeInfo, err := nm.GetNodeInfoWithNodeObject(nodeObj) - if err != nil { - return nil, err - } - klog.V(4).Infof("Updated NodeInfo %v for node %q.", nodeInfo, nodeName) - nodeDetails = append(nodeDetails, NodeDetails{nodeName, nodeInfo.vm, nodeInfo.vmUUID, nodeInfo.zone}) - } - return nodeDetails, nil -} - -// GetNodeNames returns list of nodes that are known to vsphere cloudprovider. -// These are typically nodes that make up k8s cluster. -func (nm *NodeManager) GetNodeNames() []k8stypes.NodeName { - nodes := nm.getNodes() - var nodeNameList []k8stypes.NodeName - for _, node := range nodes { - nodeNameList = append(nodeNameList, k8stypes.NodeName(node.Name)) - } - return nodeNameList -} - -func (nm *NodeManager) refreshNodes() (errList []error) { - for nodeName := range nm.getNodes() { - nodeInfo, err := nm.getRefreshedNodeInfo(convertToK8sType(nodeName)) - if err != nil { - errList = append(errList, err) - continue - } - klog.V(4).Infof("Updated NodeInfo %v for node %q.", nodeInfo, nodeName) - } - return errList -} - -func (nm *NodeManager) getRefreshedNodeInfo(nodeName k8stypes.NodeName) (NodeInfo, error) { - nodeInfo := nm.getNodeInfo(nodeName) - var err error - if nodeInfo == nil { - // Rediscover node if no NodeInfo found. - klog.V(4).Infof("No VM found for node %q. Initiating rediscovery.", convertToString(nodeName)) - err = nm.RediscoverNode(nodeName) - if err != nil { - klog.Errorf("Error %q node info for node %q not found", err, convertToString(nodeName)) - return NodeInfo{}, err - } - nodeInfo = nm.getNodeInfo(nodeName) - } else { - // Renew the found NodeInfo to avoid stale vSphere connection. - klog.V(4).Infof("Renewing NodeInfo %+v for node %q", nodeInfo, convertToString(nodeName)) - nodeInfo, err = nm.renewNodeInfo(nodeInfo, true) - if err != nil { - klog.Errorf("Error %q occurred while renewing NodeInfo for %q", err, convertToString(nodeName)) - return NodeInfo{}, err - } - nm.addNodeInfo(convertToString(nodeName), nodeInfo) - } - return *nodeInfo, nil -} - -func (nm *NodeManager) addNodeInfo(nodeName string, nodeInfo *NodeInfo) { - nm.nodeInfoLock.Lock() - nm.nodeInfoMap[nodeName] = nodeInfo - nm.nodeInfoLock.Unlock() -} - -func (nm *NodeManager) getNodeInfo(nodeName k8stypes.NodeName) *NodeInfo { - nm.nodeInfoLock.RLock() - nodeInfo := nm.nodeInfoMap[convertToString(nodeName)] - nm.nodeInfoLock.RUnlock() - return nodeInfo -} - -func (nm *NodeManager) GetVSphereInstance(nodeName k8stypes.NodeName) (VSphereInstance, error) { - nodeInfo, err := nm.GetNodeInfo(nodeName) - if err != nil { - klog.V(4).Infof("node info for node %q not found", convertToString(nodeName)) - return VSphereInstance{}, err - } - vsphereInstance := nm.vsphereInstanceMap[nodeInfo.vcServer] - if vsphereInstance == nil { - return VSphereInstance{}, fmt.Errorf("vSphereInstance for vc server %q not found while looking for node %q", nodeInfo.vcServer, convertToString(nodeName)) - } - return *vsphereInstance, nil -} - -// renewNodeInfo renews vSphere connection, VirtualMachine and Datacenter for NodeInfo instance. -func (nm *NodeManager) renewNodeInfo(nodeInfo *NodeInfo, reconnect bool) (*NodeInfo, error) { - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - - vsphereInstance := nm.vsphereInstanceMap[nodeInfo.vcServer] - if vsphereInstance == nil { - err := fmt.Errorf("vSphereInstance for vSphere %q not found while refershing NodeInfo for VM %q", nodeInfo.vcServer, nodeInfo.vm) - return nil, err - } - if reconnect { - err := nm.vcConnect(ctx, vsphereInstance) - if err != nil { - return nil, err - } - } - vm := nodeInfo.vm.RenewVM(vsphereInstance.conn.Client) - return &NodeInfo{ - vm: &vm, - dataCenter: vm.Datacenter, - vcServer: nodeInfo.vcServer, - vmUUID: nodeInfo.vmUUID, - zone: nodeInfo.zone, - }, nil -} - -func (nodeInfo *NodeInfo) VM() *vclib.VirtualMachine { - if nodeInfo == nil { - return nil - } - return nodeInfo.vm -} - -// vcConnect connects to vCenter with existing credentials -// If credentials are invalid: -// 1. It will fetch credentials from credentialManager -// 2. Update the credentials -// 3. Connects again to vCenter with fetched credentials -func (nm *NodeManager) vcConnect(ctx context.Context, vsphereInstance *VSphereInstance) error { - err := vsphereInstance.conn.Connect(ctx) - if err == nil { - return nil - } - - credentialManager := nm.CredentialManager() - if !vclib.IsInvalidCredentialsError(err) || credentialManager == nil { - klog.Errorf("Cannot connect to vCenter with err: %v", err) - return err - } - - klog.V(4).Infof("Invalid credentials. Cannot connect to server %q. Fetching credentials from secrets.", vsphereInstance.conn.Hostname) - - // Get latest credentials from SecretCredentialManager - credentials, err := credentialManager.GetCredential(vsphereInstance.conn.Hostname) - if err != nil { - klog.Errorf("Failed to get credentials from Secret Credential Manager with err: %v", err) - return err - } - vsphereInstance.conn.UpdateCredentials(credentials.User, credentials.Password) - return vsphereInstance.conn.Connect(ctx) -} - -// GetNodeInfoWithNodeObject returns a NodeInfo which datacenter, vm and vc server ip address. -// This method returns an error if it is unable find node VCs and DCs listed in vSphere.conf -// NodeInfo returned may not be updated to reflect current VM location. -// -// This method is a getter but it can cause side-effect of updating NodeInfo object. -func (nm *NodeManager) GetNodeInfoWithNodeObject(node *v1.Node) (NodeInfo, error) { - return nm.getRefreshedNodeInfo(convertToK8sType(node.Name)) -} - -func (nm *NodeManager) CredentialManager() *SecretCredentialManager { - nm.credentialManagerLock.Lock() - defer nm.credentialManagerLock.Unlock() - return nm.credentialManager -} - -func (nm *NodeManager) UpdateCredentialManager(credentialManager *SecretCredentialManager) { - nm.credentialManagerLock.Lock() - defer nm.credentialManagerLock.Unlock() - nm.credentialManager = credentialManager -} - -func (nm *NodeManager) GetHostsInZone(ctx context.Context, zoneFailureDomain string) ([]*object.HostSystem, error) { - klog.V(9).Infof("GetHostsInZone called with registeredNodes: %v", nm.registeredNodes) - nodeDetails, err := nm.GetNodeDetails() - if err != nil { - return nil, err - } - klog.V(4).Infof("Node Details: %v", nodeDetails) - // Build a map of Host moRef to HostSystem - hostMap := make(map[string]*object.HostSystem) - for _, n := range nodeDetails { - // Match the provided zone failure domain with the node. - klog.V(9).Infof("Matching provided zone %s with node %s zone %s", zoneFailureDomain, n.NodeName, n.Zone.FailureDomain) - if zoneFailureDomain == n.Zone.FailureDomain { - host, err := n.vm.HostSystem(ctx) - if err != nil { - klog.Errorf("Failed to get host system for VM %s. err: %+v", n.vm, err) - continue - } - hostMap[host.Reference().Value] = host - } - } - // Build the unique list of hosts. - hosts := make([]*object.HostSystem, 0) - for _, value := range hostMap { - hosts = append(hosts, value) - } - klog.V(4).Infof("GetHostsInZone %v returning: %v", zoneFailureDomain, hosts) - return hosts, nil -} - -func (nm *NodeManager) SetNodeLister(nodeLister corelisters.NodeLister) { - nm.nodeLister = nodeLister -} - -func (nm *NodeManager) SetNodeGetter(nodeGetter coreclients.NodesGetter) { - nm.nodeGetter = nodeGetter -} diff --git a/staging/src/k8s.io/legacy-cloud-providers/vsphere/nodemanager_test.go b/staging/src/k8s.io/legacy-cloud-providers/vsphere/nodemanager_test.go deleted file mode 100644 index f1cec129b47..00000000000 --- a/staging/src/k8s.io/legacy-cloud-providers/vsphere/nodemanager_test.go +++ /dev/null @@ -1,149 +0,0 @@ -//go:build !providerless -// +build !providerless - -/* -Copyright 2023 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vsphere - -import ( - "testing" - - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/client-go/informers" - "k8s.io/client-go/kubernetes/fake" - "k8s.io/legacy-cloud-providers/vsphere/vclib" -) - -// Annotation used to distinguish nodes in node cache / informer / API server -const nodeAnnotation = "test" - -func getNode(annotation string) *v1.Node { - return &v1.Node{ - ObjectMeta: metav1.ObjectMeta{ - Name: "node1", - Annotations: map[string]string{ - nodeAnnotation: annotation, - }, - }, - } -} - -func TestGetNode(t *testing.T) { - tests := []struct { - name string - cachedNodes []*v1.Node - informerNodes []*v1.Node // "nil" means that the NodeManager has no nodeLister - apiServerNodes []*v1.Node // "nil" means that the NodeManager has no nodeGetter - - expectedNodeAnnotation string - expectNotFound bool - }{ - { - name: "No cached node anywhere", - cachedNodes: []*v1.Node{}, - informerNodes: []*v1.Node{}, - apiServerNodes: []*v1.Node{}, - expectNotFound: true, - }, - { - name: "No lister & getter", - cachedNodes: []*v1.Node{}, - informerNodes: nil, - apiServerNodes: nil, - expectNotFound: true, - }, - { - name: "cache is used first", - cachedNodes: []*v1.Node{getNode("cache")}, - informerNodes: []*v1.Node{getNode("informer")}, - apiServerNodes: []*v1.Node{getNode("apiserver")}, - expectedNodeAnnotation: "cache", - }, - { - name: "informer is used second", - cachedNodes: []*v1.Node{}, - informerNodes: []*v1.Node{getNode("informer")}, - apiServerNodes: []*v1.Node{getNode("apiserver")}, - expectedNodeAnnotation: "informer", - }, - { - name: "API server is used last", - cachedNodes: []*v1.Node{}, - informerNodes: []*v1.Node{}, - apiServerNodes: []*v1.Node{getNode("apiserver")}, - expectedNodeAnnotation: "apiserver", - }, - } - - for _, test := range tests { - t.Run(test.name, func(t *testing.T) { - - // local NodeManager cache - cache := make(map[string]*v1.Node) - for _, node := range test.cachedNodes { - cache[node.Name] = node - } - - // Client with apiServerNodes - objs := []runtime.Object{} - for _, node := range test.apiServerNodes { - objs = append(objs, node) - } - client := fake.NewSimpleClientset(objs...) - nodeGetter := client.CoreV1() - - // Informer + nodeLister. Despite the client already has apiServerNodes, they won't appear in the - // nodeLister, because the informer is never started. - factory := informers.NewSharedInformerFactory(client, 0 /* no resync */) - nodeInformer := factory.Core().V1().Nodes() - for _, node := range test.informerNodes { - nodeInformer.Informer().GetStore().Add(node) - } - nodeLister := nodeInformer.Lister() - - nodeManager := NodeManager{ - registeredNodes: cache, - } - if test.informerNodes != nil { - nodeManager.SetNodeLister(nodeLister) - } - if test.apiServerNodes != nil { - nodeManager.SetNodeGetter(nodeGetter) - } - - node, err := nodeManager.GetNode("node1") - if test.expectNotFound && err != vclib.ErrNoVMFound { - t.Errorf("Expected NotFound error, got: %v", err) - } - if !test.expectNotFound && err != nil { - t.Errorf("Unexpected error: %s", err) - } - - if test.expectedNodeAnnotation != "" { - if node.Annotations == nil { - t.Errorf("Expected node with annotation %q, got nil", test.expectedNodeAnnotation) - } else { - if ann := node.Annotations[nodeAnnotation]; ann != test.expectedNodeAnnotation { - t.Errorf("Expected node with annotation %q, got %q", test.expectedNodeAnnotation, ann) - } - } - } - }) - } -} diff --git a/staging/src/k8s.io/legacy-cloud-providers/vsphere/shared_datastore.go b/staging/src/k8s.io/legacy-cloud-providers/vsphere/shared_datastore.go deleted file mode 100644 index 45bf8d8d657..00000000000 --- a/staging/src/k8s.io/legacy-cloud-providers/vsphere/shared_datastore.go +++ /dev/null @@ -1,210 +0,0 @@ -//go:build !providerless -// +build !providerless - -/* -Copyright 2021 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vsphere - -import ( - "context" - "fmt" - - "github.com/vmware/govmomi/property" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/types" - "k8s.io/klog/v2" - "k8s.io/legacy-cloud-providers/vsphere/vclib" -) - -type sharedDatastore struct { - nodeManager *NodeManager - candidateDatastores []*vclib.DatastoreInfo -} - -type hostInfo struct { - hostUUID string - hostMOID string - datacenter string -} - -const ( - summary = "summary" - runtimeHost = "summary.runtime.host" - hostsProperty = "host" - nameProperty = "name" -) - -func (shared *sharedDatastore) getSharedDatastore(ctcx context.Context) (*vclib.DatastoreInfo, error) { - nodes := shared.nodeManager.getNodes() - - // Segregate nodes according to VC-DC - dcNodes := make(map[string][]NodeInfo) - nodeHosts := make(map[string]hostInfo) - - for nodeName, node := range nodes { - nodeInfo, err := shared.nodeManager.GetNodeInfoWithNodeObject(node) - if err != nil { - return nil, fmt.Errorf("unable to find node %s: %v", nodeName, err) - } - vcDC := nodeInfo.vcServer + nodeInfo.dataCenter.String() - dcNodes[vcDC] = append(dcNodes[vcDC], nodeInfo) - } - - for vcDC, nodes := range dcNodes { - var hostInfos []hostInfo - var err error - hostInfos, err = shared.getNodeHosts(ctcx, nodes, vcDC) - if err != nil { - if vclib.IsManagedObjectNotFoundError(err) { - klog.Warningf("SharedHost.getSharedDatastore: batch fetching of hosts failed - switching to fetching them individually.") - hostInfos, err = shared.getEachNodeHost(ctcx, nodes, vcDC) - if err != nil { - klog.Errorf("SharedHost.getSharedDatastore: error fetching node hosts individually: %v", err) - return nil, err - } - } else { - return nil, err - } - } - for _, host := range hostInfos { - hostDCName := fmt.Sprintf("%s/%s", host.datacenter, host.hostMOID) - nodeHosts[hostDCName] = host - } - } - - if len(nodeHosts) < 1 { - msg := fmt.Sprintf("SharedHost.getSharedDatastore unable to find hosts associated with nodes") - klog.Error(msg) - return nil, fmt.Errorf("") - } - - for _, datastoreInfo := range shared.candidateDatastores { - dataStoreHosts, err := shared.getAttachedHosts(ctcx, datastoreInfo.Datastore) - if err != nil { - msg := fmt.Sprintf("error finding attached hosts to datastore %s: %v", datastoreInfo.Name(), err) - klog.Error(msg) - return nil, fmt.Errorf(msg) - } - if shared.isIncluded(dataStoreHosts, nodeHosts) { - return datastoreInfo, nil - } - } - return nil, fmt.Errorf("SharedHost.getSharedDatastore: unable to find any shared datastores") -} - -// check if all of the nodeHosts are included in the dataStoreHosts -func (shared *sharedDatastore) isIncluded(dataStoreHosts []hostInfo, nodeHosts map[string]hostInfo) bool { - result := true - for _, host := range nodeHosts { - hostFound := false - for _, targetHost := range dataStoreHosts { - if host.hostUUID == targetHost.hostUUID && host.hostMOID == targetHost.hostMOID { - hostFound = true - } - } - if !hostFound { - result = false - } - } - return result -} - -func (shared *sharedDatastore) getEachNodeHost(ctx context.Context, nodes []NodeInfo, dcVC string) ([]hostInfo, error) { - var hosts []hostInfo - for _, node := range nodes { - host, err := node.vm.GetHost(ctx) - if err != nil { - klog.Errorf("SharedHost.getEachNodeHost: unable to find host for vm %s: %v", node.vm.InventoryPath, err) - return nil, err - } - hosts = append(hosts, hostInfo{ - hostUUID: host.Summary.Hardware.Uuid, - hostMOID: host.Summary.Host.String(), - datacenter: node.dataCenter.String(), - }) - } - return hosts, nil -} - -func (shared *sharedDatastore) getNodeHosts(ctx context.Context, nodes []NodeInfo, dcVC string) ([]hostInfo, error) { - var vmRefs []types.ManagedObjectReference - if len(nodes) < 1 { - return nil, fmt.Errorf("no nodes found for dc-vc: %s", dcVC) - } - var nodeInfo NodeInfo - for _, n := range nodes { - nodeInfo = n - vmRefs = append(vmRefs, n.vm.Reference()) - } - pc := property.DefaultCollector(nodeInfo.dataCenter.Client()) - var vmoList []mo.VirtualMachine - err := pc.Retrieve(ctx, vmRefs, []string{nameProperty, runtimeHost}, &vmoList) - if err != nil { - klog.Errorf("SharedHost.getNodeHosts: unable to fetch vms from datacenter %s: %v", nodeInfo.dataCenter.String(), err) - return nil, err - } - var hostMoList []mo.HostSystem - var hostRefs []types.ManagedObjectReference - for _, vmo := range vmoList { - if vmo.Summary.Runtime.Host == nil { - msg := fmt.Sprintf("SharedHost.getNodeHosts: no host associated with vm %s", vmo.Name) - klog.Error(msg) - return nil, fmt.Errorf(msg) - } - hostRefs = append(hostRefs, vmo.Summary.Runtime.Host.Reference()) - } - pc = property.DefaultCollector(nodeInfo.dataCenter.Client()) - err = pc.Retrieve(ctx, hostRefs, []string{summary}, &hostMoList) - if err != nil { - klog.Errorf("SharedHost.getNodeHosts: unable to fetch hosts from datacenter %s: %v", nodeInfo.dataCenter.String(), err) - return nil, err - } - var hosts []hostInfo - for _, host := range hostMoList { - hosts = append(hosts, hostInfo{hostMOID: host.Summary.Host.String(), hostUUID: host.Summary.Hardware.Uuid, datacenter: nodeInfo.dataCenter.String()}) - } - return hosts, nil -} - -func (shared *sharedDatastore) getAttachedHosts(ctx context.Context, datastore *vclib.Datastore) ([]hostInfo, error) { - var ds mo.Datastore - - pc := property.DefaultCollector(datastore.Client()) - err := pc.RetrieveOne(ctx, datastore.Reference(), []string{hostsProperty}, &ds) - if err != nil { - return nil, err - } - - mounts := make(map[types.ManagedObjectReference]types.DatastoreHostMount) - var refs []types.ManagedObjectReference - for _, host := range ds.Host { - refs = append(refs, host.Key) - mounts[host.Key] = host - } - - var hs []mo.HostSystem - err = pc.Retrieve(ctx, refs, []string{summary}, &hs) - if err != nil { - return nil, err - } - var hosts []hostInfo - for _, h := range hs { - hosts = append(hosts, hostInfo{hostUUID: h.Summary.Hardware.Uuid, hostMOID: h.Summary.Host.String()}) - } - return hosts, nil - -} diff --git a/staging/src/k8s.io/legacy-cloud-providers/vsphere/testing/testing.go b/staging/src/k8s.io/legacy-cloud-providers/vsphere/testing/testing.go deleted file mode 100644 index 57579ac482f..00000000000 --- a/staging/src/k8s.io/legacy-cloud-providers/vsphere/testing/testing.go +++ /dev/null @@ -1,27 +0,0 @@ -/* -Copyright 2019 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package testing - -import ( - // test dependencies for k8s.io/legacy-cloud-providers/vsphere - // import this package to vendor test dependencies since go modules does not - // vendor transitive test dependencies - _ "github.com/vmware/govmomi/lookup/simulator" - _ "github.com/vmware/govmomi/simulator" - _ "github.com/vmware/govmomi/sts/simulator" - _ "github.com/vmware/govmomi/vapi/simulator" -) diff --git a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/connection.go b/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/connection.go deleted file mode 100644 index 761d85b75eb..00000000000 --- a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/connection.go +++ /dev/null @@ -1,237 +0,0 @@ -/* -Copyright 2016 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vclib - -import ( - "context" - "crypto/tls" - "encoding/pem" - "fmt" - "net" - neturl "net/url" - "sync" - - "github.com/vmware/govmomi/session" - "github.com/vmware/govmomi/sts" - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/soap" - "k8s.io/client-go/pkg/version" - "k8s.io/klog/v2" -) - -// VSphereConnection contains information for connecting to vCenter -type VSphereConnection struct { - Client *vim25.Client - Username string - Password string `datapolicy:"password"` - Hostname string - Port string - CACert string - Thumbprint string - Insecure bool - RoundTripperCount uint - credentialsLock sync.Mutex -} - -var ( - clientLock sync.Mutex -) - -// Connect makes connection to vCenter and sets VSphereConnection.Client. -// If connection.Client is already set, it obtains the existing user session. -// if user session is not valid, connection.Client will be set to the new client. -func (connection *VSphereConnection) Connect(ctx context.Context) error { - var err error - clientLock.Lock() - defer clientLock.Unlock() - - if connection.Client == nil { - connection.Client, err = connection.NewClient(ctx) - if err != nil { - klog.Errorf("Failed to create govmomi client. err: %+v", err) - return err - } - setVCenterInfoMetric(connection) - return nil - } - m := session.NewManager(connection.Client) - userSession, err := m.UserSession(ctx) - if err != nil { - klog.Errorf("Error while obtaining user session. err: %+v", err) - return err - } - if userSession != nil { - return nil - } - klog.Warningf("Creating new client session since the existing session is not valid or not authenticated") - - connection.Client, err = connection.NewClient(ctx) - if err != nil { - klog.Errorf("Failed to create govmomi client. err: %+v", err) - return err - } - return nil -} - -// Signer returns an sts.Signer for use with SAML token auth if connection is configured for such. -// Returns nil if username/password auth is configured for the connection. -func (connection *VSphereConnection) Signer(ctx context.Context, client *vim25.Client) (*sts.Signer, error) { - // TODO: Add separate fields for certificate and private-key. - // For now we can leave the config structs and validation as-is and - // decide to use LoginByToken if the username value is PEM encoded. - b, _ := pem.Decode([]byte(connection.Username)) - if b == nil { - return nil, nil - } - - cert, err := tls.X509KeyPair([]byte(connection.Username), []byte(connection.Password)) - if err != nil { - klog.Errorf("Failed to load X509 key pair. err: %+v", err) - return nil, err - } - - tokens, err := sts.NewClient(ctx, client) - if err != nil { - klog.Errorf("Failed to create STS client. err: %+v", err) - return nil, err - } - - req := sts.TokenRequest{ - Certificate: &cert, - Delegatable: true, - } - - signer, err := tokens.Issue(ctx, req) - if err != nil { - klog.Errorf("Failed to issue SAML token. err: %+v", err) - return nil, err - } - - return signer, nil -} - -// login calls SessionManager.LoginByToken if certificate and private key are configured, -// otherwise calls SessionManager.Login with user and password. -func (connection *VSphereConnection) login(ctx context.Context, client *vim25.Client) error { - m := session.NewManager(client) - connection.credentialsLock.Lock() - defer connection.credentialsLock.Unlock() - - signer, err := connection.Signer(ctx, client) - if err != nil { - return err - } - - if signer == nil { - klog.V(3).Infof("SessionManager.Login with username %q", connection.Username) - return m.Login(ctx, neturl.UserPassword(connection.Username, connection.Password)) - } - - klog.V(3).Infof("SessionManager.LoginByToken with certificate %q", connection.Username) - - header := soap.Header{Security: signer} - - return m.LoginByToken(client.WithHeader(ctx, header)) -} - -// Logout calls SessionManager.Logout for the given connection. -func (connection *VSphereConnection) Logout(ctx context.Context) { - clientLock.Lock() - c := connection.Client - clientLock.Unlock() - if c == nil { - return - } - - m := session.NewManager(c) - - hasActiveSession, err := m.SessionIsActive(ctx) - if err != nil { - klog.Errorf("Logout failed: %s", err) - return - } - if !hasActiveSession { - klog.Errorf("No active session, cannot logout") - return - } - if err := m.Logout(ctx); err != nil { - klog.Errorf("Logout failed: %s", err) - } -} - -// NewClient creates a new govmomi client for the VSphereConnection obj -func (connection *VSphereConnection) NewClient(ctx context.Context) (*vim25.Client, error) { - url, err := soap.ParseURL(net.JoinHostPort(connection.Hostname, connection.Port)) - if err != nil { - klog.Errorf("Failed to parse URL: %s. err: %+v", url, err) - return nil, err - } - - sc := soap.NewClient(url, connection.Insecure) - - if ca := connection.CACert; ca != "" { - if err := sc.SetRootCAs(ca); err != nil { - return nil, err - } - } - - tpHost := connection.Hostname + ":" + connection.Port - sc.SetThumbprint(tpHost, connection.Thumbprint) - - client, err := vim25.NewClient(ctx, sc) - if err != nil { - klog.Errorf("Failed to create new client. err: %+v", err) - return nil, err - } - - k8sVersion := version.Get().GitVersion - client.UserAgent = fmt.Sprintf("kubernetes-cloudprovider/%s", k8sVersion) - - err = connection.login(ctx, client) - if err != nil { - return nil, err - } - klogV := klog.V(3) - if klogV.Enabled() { - s, err := session.NewManager(client).UserSession(ctx) - if err == nil { - klogV.Infof("New session ID for '%s' = %s", s.UserName, s.Key) - } - } - - if connection.RoundTripperCount == 0 { - connection.RoundTripperCount = RoundTripperDefaultCount - } - client.RoundTripper = vim25.Retry(client.RoundTripper, vim25.TemporaryNetworkError(int(connection.RoundTripperCount))) - vcNotSupported, err := isvCenterNotSupported(client.ServiceContent.About.Version, client.ServiceContent.About.ApiVersion) - if err != nil { - klog.Errorf("failed to check if vCenter version:%v and api version: %s is supported or not. Error: %v", client.ServiceContent.About.Version, client.ServiceContent.About.ApiVersion, err) - } - if vcNotSupported { - klog.Warningf("vCenter version (version: %q, api verson: %q) is not supported for CSI Migration. Please consider upgrading vCenter and ESXi servers to 7.0u2 or higher for migrating vSphere volumes to CSI.", client.ServiceContent.About.Version, client.ServiceContent.About.ApiVersion) - } - return client, nil -} - -// UpdateCredentials updates username and password. -// Note: Updated username and password will be used when there is no session active -func (connection *VSphereConnection) UpdateCredentials(username string, password string) { - connection.credentialsLock.Lock() - defer connection.credentialsLock.Unlock() - connection.Username = username - connection.Password = password -} diff --git a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/connection_test.go b/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/connection_test.go deleted file mode 100644 index 5663afa4a2e..00000000000 --- a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/connection_test.go +++ /dev/null @@ -1,219 +0,0 @@ -/* -Copyright 2018 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vclib_test - -import ( - "context" - "crypto/sha1" - "crypto/tls" - "crypto/x509" - "errors" - "fmt" - "io/ioutil" - "net/http" - "net/http/httptest" - "net/url" - "os" - "strings" - "testing" - - "k8s.io/legacy-cloud-providers/vsphere/vclib" -) - -func createTestServer( - t *testing.T, - caCertPath string, - serverCertPath string, - serverKeyPath string, - handler http.HandlerFunc, -) (*httptest.Server, string) { - caCertPEM, err := ioutil.ReadFile(caCertPath) - if err != nil { - t.Fatalf("Could not read ca cert from file") - } - - serverCert, err := tls.LoadX509KeyPair(serverCertPath, serverKeyPath) - if err != nil { - t.Fatalf("Could not load server cert and server key from files: %#v", err) - } - - certPool := x509.NewCertPool() - if ok := certPool.AppendCertsFromPEM(caCertPEM); !ok { - t.Fatalf("Cannot add CA to CAPool") - } - - server := httptest.NewUnstartedServer(http.HandlerFunc(handler)) - server.TLS = &tls.Config{ - Certificates: []tls.Certificate{ - serverCert, - }, - RootCAs: certPool, - } - - // calculate the leaf certificate's fingerprint - if len(server.TLS.Certificates) < 1 || len(server.TLS.Certificates[0].Certificate) < 1 { - t.Fatal("Expected server.TLS.Certificates not to be empty") - } - x509LeafCert := server.TLS.Certificates[0].Certificate[0] - var tpString string - for i, b := range sha1.Sum(x509LeafCert) { - if i > 0 { - tpString += ":" - } - tpString += fmt.Sprintf("%02X", b) - } - - return server, tpString -} - -func TestWithValidCaCert(t *testing.T) { - handler, verifyConnectionWasMade := getRequestVerifier(t) - - server, _ := createTestServer(t, "./testdata/ca.pem", "./testdata/server.pem", "./testdata/server.key", handler) - server.StartTLS() - u := mustParseURL(t, server.URL) - - connection := &vclib.VSphereConnection{ - Hostname: u.Hostname(), - Port: u.Port(), - CACert: "./testdata/ca.pem", - } - - // Ignoring error here, because we only care about the TLS connection - _, _ = connection.NewClient(context.Background()) - - verifyConnectionWasMade() -} - -func TestWithVerificationWithWrongThumbprint(t *testing.T) { - handler, _ := getRequestVerifier(t) - - server, _ := createTestServer(t, "./testdata/ca.pem", "./testdata/server.pem", "./testdata/server.key", handler) - server.StartTLS() - u := mustParseURL(t, server.URL) - - connection := &vclib.VSphereConnection{ - Hostname: u.Hostname(), - Port: u.Port(), - Thumbprint: "obviously wrong", - } - - _, err := connection.NewClient(context.Background()) - - if msg := err.Error(); !strings.Contains(msg, "thumbprint does not match") { - t.Fatalf("Expected wrong thumbprint error, got '%s'", msg) - } -} - -func TestWithVerificationWithoutCaCertOrThumbprint(t *testing.T) { - handler, _ := getRequestVerifier(t) - - server, _ := createTestServer(t, "./testdata/ca.pem", "./testdata/server.pem", "./testdata/server.key", handler) - server.StartTLS() - u := mustParseURL(t, server.URL) - - connection := &vclib.VSphereConnection{ - Hostname: u.Hostname(), - Port: u.Port(), - } - - _, err := connection.NewClient(context.Background()) - - verifyWrappedX509UnkownAuthorityErr(t, err) -} - -func TestWithValidThumbprint(t *testing.T) { - handler, verifyConnectionWasMade := getRequestVerifier(t) - - server, thumbprint := - createTestServer(t, "./testdata/ca.pem", "./testdata/server.pem", "./testdata/server.key", handler) - server.StartTLS() - u := mustParseURL(t, server.URL) - - connection := &vclib.VSphereConnection{ - Hostname: u.Hostname(), - Port: u.Port(), - Thumbprint: thumbprint, - } - - // Ignoring error here, because we only care about the TLS connection - _, _ = connection.NewClient(context.Background()) - - verifyConnectionWasMade() -} - -func TestWithInvalidCaCertPath(t *testing.T) { - connection := &vclib.VSphereConnection{ - Hostname: "should-not-matter", - Port: "27015", // doesn't matter, but has to be a valid port - CACert: "invalid-path", - } - - _, err := connection.NewClient(context.Background()) - if _, ok := err.(*os.PathError); !ok { - t.Fatalf("Expected an os.PathError, got: '%s' (%#v)", err.Error(), err) - } -} - -func TestInvalidCaCert(t *testing.T) { - connection := &vclib.VSphereConnection{ - Hostname: "should-not-matter", - Port: "27015", // doesn't matter, but has to be a valid port - CACert: "./testdata/invalid.pem", - } - - _, err := connection.NewClient(context.Background()) - - if msg := err.Error(); !strings.Contains(msg, "invalid certificate") { - t.Fatalf("Expected invalid certificate error, got '%s'", msg) - } -} - -func verifyWrappedX509UnkownAuthorityErr(t *testing.T, err error) { - urlErr, ok := err.(*url.Error) - if !ok { - t.Fatalf("Expected to receive an url.Error, got '%s' (%#v)", err.Error(), err) - } - var x509err x509.UnknownAuthorityError - if !errors.As(urlErr.Err, &x509err) { - t.Fatalf("Expected to receive a wrapped x509.UnknownAuthorityError, got: '%s' (%#v)", urlErr.Err.Error(), urlErr.Err) - } -} - -func getRequestVerifier(t *testing.T) (http.HandlerFunc, func()) { - gotRequest := false - - handler := func(w http.ResponseWriter, r *http.Request) { - gotRequest = true - } - - checker := func() { - if !gotRequest { - t.Fatalf("Never saw a request, maybe TLS connection could not be established?") - } - } - - return handler, checker -} - -func mustParseURL(t *testing.T, i string) *url.URL { - u, err := url.Parse(i) - if err != nil { - t.Fatalf("Cannot parse URL: %v", err) - } - return u -} diff --git a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/constants.go b/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/constants.go deleted file mode 100644 index a7638aa0161..00000000000 --- a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/constants.go +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright 2016 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vclib - -// Volume Constants -const ( - ThinDiskType = "thin" - PreallocatedDiskType = "preallocated" - EagerZeroedThickDiskType = "eagerZeroedThick" - ZeroedThickDiskType = "zeroedThick" -) - -// Controller Constants -const ( - SCSIControllerLimit = 4 - SCSIControllerDeviceLimit = 15 - SCSIDeviceSlots = 16 - SCSIReservedSlot = 7 - - SCSIControllerType = "scsi" - LSILogicControllerType = "lsiLogic" - BusLogicControllerType = "busLogic" - LSILogicSASControllerType = "lsiLogic-sas" - PVSCSIControllerType = "pvscsi" -) - -// Other Constants -const ( - LogLevel = 4 - DatastoreProperty = "datastore" - ResourcePoolProperty = "resourcePool" - DatastoreInfoProperty = "info" - VirtualMachineType = "VirtualMachine" - RoundTripperDefaultCount = 3 - VSANDatastoreType = "vsan" - DummyVMPrefixName = "vsphere-k8s" - ActivePowerState = "poweredOn" - DatacenterType = "Datacenter" - ClusterComputeResourceType = "ClusterComputeResource" - HostSystemType = "HostSystem" - NameProperty = "name" - MinvCenterVersion = "7.0.2" -) - -// Test Constants -const ( - TestDefaultDatacenter = "DC0" - TestDefaultDatastore = "LocalDS_0" - TestDefaultNetwork = "VM Network" - testNameNotFound = "enoent" -) diff --git a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/custom_errors.go b/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/custom_errors.go deleted file mode 100644 index 802901ef5aa..00000000000 --- a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/custom_errors.go +++ /dev/null @@ -1,37 +0,0 @@ -/* -Copyright 2016 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vclib - -import "errors" - -// Error Messages -const ( - FileAlreadyExistErrMsg = "File requested already exist" - NoDiskUUIDFoundErrMsg = "No disk UUID found" - NoDevicesFoundErrMsg = "No devices found" - DiskNotFoundErrMsg = "No vSphere disk ID found" - NoVMFoundErrMsg = "No VM found" -) - -// Error constants -var ( - ErrFileAlreadyExist = errors.New(FileAlreadyExistErrMsg) - ErrNoDiskUUIDFound = errors.New(NoDiskUUIDFoundErrMsg) - ErrNoDevicesFound = errors.New(NoDevicesFoundErrMsg) - ErrNoDiskIDFound = errors.New(DiskNotFoundErrMsg) - ErrNoVMFound = errors.New(NoVMFoundErrMsg) -) diff --git a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/datacenter.go b/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/datacenter.go deleted file mode 100644 index e27cd092d27..00000000000 --- a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/datacenter.go +++ /dev/null @@ -1,370 +0,0 @@ -/* -Copyright 2016 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vclib - -import ( - "context" - "errors" - "fmt" - "path/filepath" - "strings" - - "github.com/vmware/govmomi/find" - "github.com/vmware/govmomi/object" - "github.com/vmware/govmomi/property" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/types" - "k8s.io/klog/v2" -) - -// Datacenter extends the govmomi Datacenter object -type Datacenter struct { - *object.Datacenter -} - -// GetDatacenter returns the DataCenter Object for the given datacenterPath -// If datacenter is located in a folder, include full path to datacenter else just provide the datacenter name -func GetDatacenter(ctx context.Context, connection *VSphereConnection, datacenterPath string) (*Datacenter, error) { - finder := find.NewFinder(connection.Client, false) - datacenter, err := finder.Datacenter(ctx, datacenterPath) - if err != nil { - klog.Errorf("Failed to find the datacenter: %s. err: %+v", datacenterPath, err) - return nil, err - } - dc := Datacenter{datacenter} - return &dc, nil -} - -// GetAllDatacenter returns all the DataCenter Objects -func GetAllDatacenter(ctx context.Context, connection *VSphereConnection) ([]*Datacenter, error) { - var dc []*Datacenter - finder := find.NewFinder(connection.Client, false) - datacenters, err := finder.DatacenterList(ctx, "*") - if err != nil { - klog.Errorf("Failed to find the datacenter. err: %+v", err) - return nil, err - } - for _, datacenter := range datacenters { - dc = append(dc, &(Datacenter{datacenter})) - } - - return dc, nil -} - -// GetVMByUUID gets the VM object from the given vmUUID -func (dc *Datacenter) GetVMByUUID(ctx context.Context, vmUUID string) (*VirtualMachine, error) { - s := object.NewSearchIndex(dc.Client()) - vmUUID = strings.ToLower(strings.TrimSpace(vmUUID)) - svm, err := s.FindByUuid(ctx, dc.Datacenter, vmUUID, true, nil) - if err != nil { - klog.Errorf("Failed to find VM by UUID. VM UUID: %s, err: %+v", vmUUID, err) - return nil, err - } - if svm == nil { - klog.Errorf("Unable to find VM by UUID. VM UUID: %s", vmUUID) - return nil, ErrNoVMFound - } - virtualMachine := VirtualMachine{object.NewVirtualMachine(dc.Client(), svm.Reference()), dc} - return &virtualMachine, nil -} - -// GetHostByVMUUID gets the host object from the given vmUUID -func (dc *Datacenter) GetHostByVMUUID(ctx context.Context, vmUUID string) (*types.ManagedObjectReference, error) { - virtualMachine, err := dc.GetVMByUUID(ctx, vmUUID) - if err != nil { - return nil, err - } - var vmMo mo.VirtualMachine - pc := property.DefaultCollector(virtualMachine.Client()) - err = pc.RetrieveOne(ctx, virtualMachine.Reference(), []string{"summary.runtime.host"}, &vmMo) - if err != nil { - klog.Errorf("Failed to retrieve VM runtime host, err: %v", err) - return nil, err - } - host := vmMo.Summary.Runtime.Host - klog.Infof("%s host is %s", virtualMachine.Reference(), host) - return host, nil -} - -// GetVMByPath gets the VM object from the given vmPath -// vmPath should be the full path to VM and not just the name -func (dc *Datacenter) GetVMByPath(ctx context.Context, vmPath string) (*VirtualMachine, error) { - finder := getFinder(dc) - vm, err := finder.VirtualMachine(ctx, vmPath) - if err != nil { - klog.Errorf("Failed to find VM by Path. VM Path: %s, err: %+v", vmPath, err) - return nil, err - } - virtualMachine := VirtualMachine{vm, dc} - return &virtualMachine, nil -} - -// GetAllDatastores gets the datastore URL to DatastoreInfo map for all the datastores in -// the datacenter. -func (dc *Datacenter) GetAllDatastores(ctx context.Context) (map[string]*DatastoreInfo, error) { - finder := getFinder(dc) - datastores, err := finder.DatastoreList(ctx, "*") - if err != nil { - klog.Errorf("Failed to get all the datastores. err: %+v", err) - return nil, err - } - var dsList []types.ManagedObjectReference - for _, ds := range datastores { - dsList = append(dsList, ds.Reference()) - } - - var dsMoList []mo.Datastore - pc := property.DefaultCollector(dc.Client()) - properties := []string{DatastoreInfoProperty} - err = pc.Retrieve(ctx, dsList, properties, &dsMoList) - if err != nil { - klog.Errorf("Failed to get Datastore managed objects from datastore objects."+ - " dsObjList: %+v, properties: %+v, err: %v", dsList, properties, err) - return nil, err - } - - dsURLInfoMap := make(map[string]*DatastoreInfo) - for _, dsMo := range dsMoList { - dsURLInfoMap[dsMo.Info.GetDatastoreInfo().Url] = &DatastoreInfo{ - &Datastore{object.NewDatastore(dc.Client(), dsMo.Reference()), - dc}, - dsMo.Info.GetDatastoreInfo()} - } - klog.V(9).Infof("dsURLInfoMap : %+v", dsURLInfoMap) - return dsURLInfoMap, nil -} - -// GetAllHosts returns all the host objects in this datacenter of VC -func (dc *Datacenter) GetAllHosts(ctx context.Context) ([]types.ManagedObjectReference, error) { - finder := getFinder(dc) - hostSystems, err := finder.HostSystemList(ctx, "*") - if err != nil { - klog.Errorf("Failed to get all hostSystems. err: %+v", err) - return nil, err - } - var hostMors []types.ManagedObjectReference - for _, hs := range hostSystems { - hostMors = append(hostMors, hs.Reference()) - } - return hostMors, nil -} - -// GetDatastoreByPath gets the Datastore object from the given vmDiskPath -func (dc *Datacenter) GetDatastoreByPath(ctx context.Context, vmDiskPath string) (*Datastore, error) { - datastorePathObj := new(object.DatastorePath) - isSuccess := datastorePathObj.FromString(vmDiskPath) - if !isSuccess { - klog.Errorf("Failed to parse vmDiskPath: %s", vmDiskPath) - return nil, errors.New("Failed to parse vmDiskPath") - } - - return dc.GetDatastoreByName(ctx, datastorePathObj.Datastore) -} - -// GetDatastoreByName gets the Datastore object for the given datastore name -func (dc *Datacenter) GetDatastoreByName(ctx context.Context, name string) (*Datastore, error) { - finder := getFinder(dc) - ds, err := finder.Datastore(ctx, name) - if err != nil { - klog.Errorf("Failed while searching for datastore: %s. err: %+v", name, err) - return nil, err - } - datastore := Datastore{ds, dc} - return &datastore, nil -} - -// GetDatastoreInfoByName gets the Datastore object for the given datastore name -func (dc *Datacenter) GetDatastoreInfoByName(ctx context.Context, name string) (*DatastoreInfo, error) { - finder := getFinder(dc) - ds, err := finder.Datastore(ctx, name) - if err != nil { - klog.Errorf("Failed while searching for datastore: %s. err: %+v", name, err) - return nil, err - } - datastore := Datastore{ds, dc} - var dsMo mo.Datastore - pc := property.DefaultCollector(dc.Client()) - properties := []string{DatastoreInfoProperty} - err = pc.RetrieveOne(ctx, ds.Reference(), properties, &dsMo) - if err != nil { - klog.Errorf("Failed to get Datastore managed objects from datastore reference."+ - " dsRef: %+v, err: %+v", ds.Reference(), err) - return nil, err - } - klog.V(9).Infof("Result dsMo: %+v", dsMo) - return &DatastoreInfo{Datastore: &datastore, Info: dsMo.Info.GetDatastoreInfo()}, nil -} - -// GetResourcePool gets the resource pool for the given path -func (dc *Datacenter) GetResourcePool(ctx context.Context, resourcePoolPath string) (*object.ResourcePool, error) { - finder := getFinder(dc) - var resourcePool *object.ResourcePool - var err error - resourcePool, err = finder.ResourcePoolOrDefault(ctx, resourcePoolPath) - if err != nil { - klog.Errorf("Failed to get the ResourcePool for path '%s'. err: %+v", resourcePoolPath, err) - return nil, err - } - return resourcePool, nil -} - -// GetFolderByPath gets the Folder Object from the given folder path -// folderPath should be the full path to folder -func (dc *Datacenter) GetFolderByPath(ctx context.Context, folderPath string) (*Folder, error) { - finder := getFinder(dc) - vmFolder, err := finder.Folder(ctx, folderPath) - if err != nil { - klog.Errorf("Failed to get the folder reference for %s. err: %+v", folderPath, err) - return nil, err - } - folder := Folder{vmFolder, dc} - return &folder, nil -} - -// GetVMMoList gets the VM Managed Objects with the given properties from the VM object -func (dc *Datacenter) GetVMMoList(ctx context.Context, vmObjList []*VirtualMachine, properties []string) ([]mo.VirtualMachine, error) { - var vmMoList []mo.VirtualMachine - var vmRefs []types.ManagedObjectReference - if len(vmObjList) < 1 { - klog.Errorf("VirtualMachine Object list is empty") - return nil, fmt.Errorf("VirtualMachine Object list is empty") - } - - for _, vmObj := range vmObjList { - vmRefs = append(vmRefs, vmObj.Reference()) - } - pc := property.DefaultCollector(dc.Client()) - err := pc.Retrieve(ctx, vmRefs, properties, &vmMoList) - if err != nil { - klog.Errorf("Failed to get VM managed objects from VM objects. vmObjList: %+v, properties: %+v, err: %v", vmObjList, properties, err) - return nil, err - } - return vmMoList, nil -} - -// GetVirtualDiskPage83Data gets the virtual disk UUID by diskPath -func (dc *Datacenter) GetVirtualDiskPage83Data(ctx context.Context, diskPath string) (string, error) { - if len(diskPath) > 0 && filepath.Ext(diskPath) != ".vmdk" { - diskPath += ".vmdk" - } - vdm := object.NewVirtualDiskManager(dc.Client()) - // Returns uuid of vmdk virtual disk - diskUUID, err := vdm.QueryVirtualDiskUuid(ctx, diskPath, dc.Datacenter) - - if err != nil { - klog.Warningf("QueryVirtualDiskUuid failed for diskPath: %q. err: %+v", diskPath, err) - return "", err - } - diskUUID = formatVirtualDiskUUID(diskUUID) - return diskUUID, nil -} - -// GetDatastoreMoList gets the Datastore Managed Objects with the given properties from the datastore objects -func (dc *Datacenter) GetDatastoreMoList(ctx context.Context, dsObjList []*Datastore, properties []string) ([]mo.Datastore, error) { - var dsMoList []mo.Datastore - var dsRefs []types.ManagedObjectReference - if len(dsObjList) < 1 { - klog.Errorf("Datastore Object list is empty") - return nil, fmt.Errorf("Datastore Object list is empty") - } - - for _, dsObj := range dsObjList { - dsRefs = append(dsRefs, dsObj.Reference()) - } - pc := property.DefaultCollector(dc.Client()) - err := pc.Retrieve(ctx, dsRefs, properties, &dsMoList) - if err != nil { - klog.Errorf("Failed to get Datastore managed objects from datastore objects. dsObjList: %+v, properties: %+v, err: %v", dsObjList, properties, err) - return nil, err - } - return dsMoList, nil -} - -// CheckDisksAttached checks if the disk is attached to node. -// This is done by comparing the volume path with the backing.FilePath on the VM Virtual disk devices. -func (dc *Datacenter) CheckDisksAttached(ctx context.Context, nodeVolumes map[string][]string) (map[string]map[string]bool, error) { - attached := make(map[string]map[string]bool) - var vmList []*VirtualMachine - for nodeName, volPaths := range nodeVolumes { - for _, volPath := range volPaths { - setNodeVolumeMap(attached, volPath, nodeName, false) - } - vm, err := dc.GetVMByPath(ctx, nodeName) - if err != nil { - if IsNotFound(err) { - klog.Warningf("Node %q does not exist, vSphere CP will assume disks %v are not attached to it.", nodeName, volPaths) - } - continue - } - vmList = append(vmList, vm) - } - if len(vmList) == 0 { - klog.V(2).Infof("vSphere CP will assume no disks are attached to any node.") - return attached, nil - } - vmMoList, err := dc.GetVMMoList(ctx, vmList, []string{"config.hardware.device", "name"}) - if err != nil { - // When there is an error fetching instance information - // it is safer to return nil and let volume information not be touched. - klog.Errorf("Failed to get VM Managed object for nodes: %+v. err: +%v", vmList, err) - return nil, err - } - - for _, vmMo := range vmMoList { - if vmMo.Config == nil { - klog.Errorf("Config is not available for VM: %q", vmMo.Name) - continue - } - for nodeName, volPaths := range nodeVolumes { - if nodeName == vmMo.Name { - verifyVolumePathsForVM(vmMo, volPaths, attached) - } - } - } - return attached, nil -} - -// VerifyVolumePathsForVM verifies if the volume paths (volPaths) are attached to VM. -func verifyVolumePathsForVM(vmMo mo.VirtualMachine, volPaths []string, nodeVolumeMap map[string]map[string]bool) { - // Verify if the volume paths are present on the VM backing virtual disk devices - for _, volPath := range volPaths { - vmDevices := object.VirtualDeviceList(vmMo.Config.Hardware.Device) - for _, device := range vmDevices { - if vmDevices.TypeName(device) == "VirtualDisk" { - virtualDevice := device.GetVirtualDevice() - if backing, ok := virtualDevice.Backing.(*types.VirtualDiskFlatVer2BackingInfo); ok { - if backing.FileName == volPath { - setNodeVolumeMap(nodeVolumeMap, volPath, vmMo.Name, true) - } - } - } - } - } -} - -func setNodeVolumeMap( - nodeVolumeMap map[string]map[string]bool, - volumePath string, - nodeName string, - check bool) { - volumeMap := nodeVolumeMap[nodeName] - if volumeMap == nil { - volumeMap = make(map[string]bool) - nodeVolumeMap[nodeName] = volumeMap - } - volumeMap[volumePath] = check -} diff --git a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/datacenter_test.go b/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/datacenter_test.go deleted file mode 100644 index ad7e13921ae..00000000000 --- a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/datacenter_test.go +++ /dev/null @@ -1,179 +0,0 @@ -/* -Copyright 2016 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vclib - -import ( - "context" - "testing" - - "github.com/vmware/govmomi" - "github.com/vmware/govmomi/object" - "github.com/vmware/govmomi/simulator" -) - -func TestDatacenter(t *testing.T) { - ctx := context.Background() - - // vCenter model + initial set of objects (cluster, hosts, VMs, network, datastore, etc) - model := simulator.VPX() - - defer model.Remove() - err := model.Create() - if err != nil { - t.Fatal(err) - } - - s := model.Service.NewServer() - defer s.Close() - - avm := simulator.Map.Any(VirtualMachineType).(*simulator.VirtualMachine) - - c, err := govmomi.NewClient(ctx, s.URL, true) - if err != nil { - t.Fatal(err) - } - - vc := &VSphereConnection{Client: c.Client} - - _, err = GetDatacenter(ctx, vc, testNameNotFound) - if err == nil { - t.Error("expected error") - } - - dc, err := GetDatacenter(ctx, vc, TestDefaultDatacenter) - if err != nil { - t.Error(err) - } - - _, err = dc.GetVMByUUID(ctx, testNameNotFound) - if err == nil { - t.Error("expected error") - } - - _, err = dc.GetVMByUUID(ctx, avm.Summary.Config.Uuid) - if err != nil { - t.Error(err) - } - - _, err = dc.GetVMByPath(ctx, testNameNotFound) - if err == nil { - t.Error("expected error") - } - - vm, err := dc.GetVMByPath(ctx, TestDefaultDatacenter+"/vm/"+avm.Name) - if err != nil { - t.Error(err) - } - - _, err = dc.GetDatastoreByPath(ctx, testNameNotFound) // invalid format - if err == nil { - t.Error("expected error") - } - - invalidPath := object.DatastorePath{ - Datastore: testNameNotFound, - Path: testNameNotFound, - } - _, err = dc.GetDatastoreByPath(ctx, invalidPath.String()) - if err == nil { - t.Error("expected error") - } - - _, err = dc.GetDatastoreByPath(ctx, avm.Summary.Config.VmPathName) - if err != nil { - t.Error(err) - } - - _, err = dc.GetDatastoreByName(ctx, testNameNotFound) - if err == nil { - t.Error("expected error") - } - - ds, err := dc.GetDatastoreByName(ctx, TestDefaultDatastore) - if err != nil { - t.Error(err) - } - - _, err = dc.GetFolderByPath(ctx, testNameNotFound) - if err == nil { - t.Error("expected error") - } - - _, err = dc.GetFolderByPath(ctx, TestDefaultDatacenter+"/vm") - if err != nil { - t.Error(err) - } - - _, err = dc.GetVMMoList(ctx, nil, nil) - if err == nil { - t.Error("expected error") - } - - _, err = dc.GetVMMoList(ctx, []*VirtualMachine{vm}, []string{testNameNotFound}) // invalid property - if err == nil { - t.Error("expected error") - } - - _, err = dc.GetVMMoList(ctx, []*VirtualMachine{vm}, []string{"summary"}) - if err != nil { - t.Error(err) - } - - diskPath := ds.Path(avm.Name + "/disk1.vmdk") - - _, err = dc.GetVirtualDiskPage83Data(ctx, diskPath+testNameNotFound) - if err == nil { - t.Error("expected error") - } - - _, err = dc.GetVirtualDiskPage83Data(ctx, diskPath) - if err != nil { - t.Error(err) - } - - _, err = dc.GetDatastoreMoList(ctx, nil, nil) - if err == nil { - t.Error("expected error") - } - - _, err = dc.GetDatastoreMoList(ctx, []*Datastore{ds}, []string{testNameNotFound}) // invalid property - if err == nil { - t.Error("expected error") - } - - _, err = dc.GetDatastoreMoList(ctx, []*Datastore{ds}, []string{DatastoreInfoProperty}) - if err != nil { - t.Error(err) - } - - nodeVolumes := map[string][]string{ - avm.Name: {testNameNotFound, diskPath}, - } - - attached, err := dc.CheckDisksAttached(ctx, nodeVolumes) - if err != nil { - t.Error(err) - } - - if attached[avm.Name][testNameNotFound] { - t.Error("should not be attached") - } - - if !attached[avm.Name][diskPath] { - t.Errorf("%s should be attached", diskPath) - } -} diff --git a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/datastore.go b/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/datastore.go deleted file mode 100644 index 66f6a3dd877..00000000000 --- a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/datastore.go +++ /dev/null @@ -1,109 +0,0 @@ -/* -Copyright 2016 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vclib - -import ( - "context" - "fmt" - - "github.com/vmware/govmomi/object" - "github.com/vmware/govmomi/property" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" - "k8s.io/klog/v2" -) - -// Datastore extends the govmomi Datastore object -type Datastore struct { - *object.Datastore - Datacenter *Datacenter -} - -// DatastoreInfo is a structure to store the Datastore and it's Info. -type DatastoreInfo struct { - *Datastore - Info *types.DatastoreInfo -} - -func (di DatastoreInfo) String() string { - return fmt.Sprintf("Datastore: %+v, datastore URL: %s", di.Datastore, di.Info.Url) -} - -// CreateDirectory creates the directory at location specified by directoryPath. -// If the intermediate level folders do not exist, and the parameter createParents is true, all the non-existent folders are created. -// directoryPath must be in the format "[vsanDatastore] kubevols" -func (ds *Datastore) CreateDirectory(ctx context.Context, directoryPath string, createParents bool) error { - fileManager := object.NewFileManager(ds.Client()) - err := fileManager.MakeDirectory(ctx, directoryPath, ds.Datacenter.Datacenter, createParents) - if err != nil { - if soap.IsSoapFault(err) { - soapFault := soap.ToSoapFault(err) - if _, ok := soapFault.VimFault().(types.FileAlreadyExists); ok { - return ErrFileAlreadyExist - } - } - return err - } - klog.V(LogLevel).Infof("Created dir with path as %+q", directoryPath) - return nil -} - -// GetType returns the type of datastore -func (ds *Datastore) GetType(ctx context.Context) (string, error) { - var dsMo mo.Datastore - pc := property.DefaultCollector(ds.Client()) - err := pc.RetrieveOne(ctx, ds.Datastore.Reference(), []string{"summary"}, &dsMo) - if err != nil { - klog.Errorf("Failed to retrieve datastore summary property. err: %v", err) - return "", err - } - return dsMo.Summary.Type, nil -} - -// IsCompatibleWithStoragePolicy returns true if datastore is compatible with given storage policy else return false -// for not compatible datastore, fault message is also returned -func (ds *Datastore) IsCompatibleWithStoragePolicy(ctx context.Context, storagePolicyID string) (bool, string, error) { - pbmClient, err := NewPbmClient(ctx, ds.Client()) - if err != nil { - klog.Errorf("Failed to get new PbmClient Object. err: %v", err) - return false, "", err - } - return pbmClient.IsDatastoreCompatible(ctx, storagePolicyID, ds) -} - -// GetDatastoreHostMounts gets the host names mounted on given datastore -func (ds *Datastore) GetDatastoreHostMounts(ctx context.Context) ([]types.ManagedObjectReference, error) { - var dsMo mo.Datastore - pc := property.DefaultCollector(ds.Client()) - err := pc.RetrieveOne(ctx, ds.Datastore.Reference(), []string{"host"}, &dsMo) - if err != nil { - klog.Errorf("Failed to retrieve datastore host mount property. err: %v", err) - return nil, err - } - hosts := make([]types.ManagedObjectReference, len(dsMo.Host)) - for i, dsHostMount := range dsMo.Host { - hosts[i] = dsHostMount.Key - } - return hosts, nil -} - -// Exists returns whether the given file exists in this datastore -func (ds *Datastore) Exists(ctx context.Context, file string) bool { - _, err := ds.Datastore.Stat(ctx, file) - return err == nil -} diff --git a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/datastore_test.go b/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/datastore_test.go deleted file mode 100644 index 6c6e888cb3e..00000000000 --- a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/datastore_test.go +++ /dev/null @@ -1,91 +0,0 @@ -/* -Copyright 2016 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vclib - -import ( - "context" - "testing" - - "github.com/vmware/govmomi" - "github.com/vmware/govmomi/object" - "github.com/vmware/govmomi/simulator" -) - -func TestDatastore(t *testing.T) { - ctx := context.Background() - - // vCenter model + initial set of objects (cluster, hosts, VMs, network, datastore, etc) - model := simulator.VPX() - - defer model.Remove() - err := model.Create() - if err != nil { - t.Fatal(err) - } - - s := model.Service.NewServer() - defer s.Close() - - c, err := govmomi.NewClient(ctx, s.URL, true) - if err != nil { - t.Fatal(err) - } - - vc := &VSphereConnection{Client: c.Client} - - dc, err := GetDatacenter(ctx, vc, TestDefaultDatacenter) - if err != nil { - t.Error(err) - } - - all, err := dc.GetAllDatastores(ctx) - if err != nil { - t.Fatal(err) - } - - for _, info := range all { - ds := info.Datastore - kind, cerr := ds.GetType(ctx) - if cerr != nil { - t.Error(err) - } - if kind == "" { - t.Error("empty Datastore type") - } - - dir := object.DatastorePath{ - Datastore: info.Info.Name, - Path: "kubevols", - } - - // TODO: test Datastore.IsCompatibleWithStoragePolicy (vcsim needs PBM support) - - for _, fail := range []bool{false, true} { - cerr = ds.CreateDirectory(ctx, dir.String(), false) - if fail { - if cerr != ErrFileAlreadyExist { - t.Errorf("expected %s, got: %s", ErrFileAlreadyExist, cerr) - } - continue - } - - if cerr != nil { - t.Error(err) - } - } - } -} diff --git a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/diskmanagers/vdm.go b/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/diskmanagers/vdm.go deleted file mode 100644 index d0155ae258b..00000000000 --- a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/diskmanagers/vdm.go +++ /dev/null @@ -1,105 +0,0 @@ -/* -Copyright 2016 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package diskmanagers - -import ( - "context" - "time" - - "github.com/vmware/govmomi/object" - "github.com/vmware/govmomi/vim25/types" - - "k8s.io/klog/v2" - "k8s.io/legacy-cloud-providers/vsphere/vclib" -) - -// virtualDiskManager implements VirtualDiskProvider Interface for creating and deleting volume using VirtualDiskManager -type virtualDiskManager struct { - diskPath string - volumeOptions *vclib.VolumeOptions -} - -// Create implements Disk's Create interface -// Contains implementation of virtualDiskManager based Provisioning -func (diskManager virtualDiskManager) Create(ctx context.Context, datastore *vclib.Datastore) (canonicalDiskPath string, err error) { - if diskManager.volumeOptions.SCSIControllerType == "" { - diskManager.volumeOptions.SCSIControllerType = vclib.LSILogicControllerType - } - - // Check for existing VMDK before attempting create. Because a name collision - // is unlikely, "VMDK already exists" is likely from a previous attempt to - // create this volume. - if dsPath := vclib.GetPathFromVMDiskPath(diskManager.diskPath); datastore.Exists(ctx, dsPath) { - klog.V(2).Infof("Create: VirtualDisk already exists, returning success. Name=%q", diskManager.diskPath) - return diskManager.diskPath, nil - } - - // Create specification for new virtual disk - diskFormat := vclib.DiskFormatValidType[diskManager.volumeOptions.DiskFormat] - vmDiskSpec := &types.FileBackedVirtualDiskSpec{ - VirtualDiskSpec: types.VirtualDiskSpec{ - AdapterType: diskManager.volumeOptions.SCSIControllerType, - DiskType: diskFormat, - }, - CapacityKb: int64(diskManager.volumeOptions.CapacityKB), - } - - vdm := object.NewVirtualDiskManager(datastore.Client()) - requestTime := time.Now() - // Create virtual disk - task, err := vdm.CreateVirtualDisk(ctx, diskManager.diskPath, datastore.Datacenter.Datacenter, vmDiskSpec) - if err != nil { - vclib.RecordvSphereMetric(vclib.APICreateVolume, requestTime, err) - klog.Errorf("Failed to create virtual disk: %s. err: %+v", diskManager.diskPath, err) - return "", err - } - taskInfo, err := task.WaitForResult(ctx, nil) - vclib.RecordvSphereMetric(vclib.APICreateVolume, requestTime, err) - if err != nil { - if isAlreadyExists(diskManager.diskPath, err) { - // The disk already exists, log info message and return success - klog.V(vclib.LogLevel).Infof("File: %v already exists", diskManager.diskPath) - return diskManager.diskPath, nil - } - klog.Errorf("Failed to complete virtual disk creation: %s. err: %+v", diskManager.diskPath, err) - return "", err - } - canonicalDiskPath = taskInfo.Result.(string) - return canonicalDiskPath, nil -} - -// Delete implements Disk's Delete interface -func (diskManager virtualDiskManager) Delete(ctx context.Context, datacenter *vclib.Datacenter) error { - // Create a virtual disk manager - virtualDiskManager := object.NewVirtualDiskManager(datacenter.Client()) - diskPath := vclib.RemoveStorageClusterORFolderNameFromVDiskPath(diskManager.diskPath) - requestTime := time.Now() - // Delete virtual disk - task, err := virtualDiskManager.DeleteVirtualDisk(ctx, diskPath, datacenter.Datacenter) - if err != nil { - klog.Errorf("Failed to delete virtual disk. err: %v", err) - vclib.RecordvSphereMetric(vclib.APIDeleteVolume, requestTime, err) - return err - } - err = task.Wait(ctx) - vclib.RecordvSphereMetric(vclib.APIDeleteVolume, requestTime, err) - if err != nil && !types.IsFileNotFound(err) { - klog.Errorf("Failed to delete virtual disk. err: %v", err) - return err - } - return nil -} diff --git a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/diskmanagers/virtualdisk.go b/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/diskmanagers/virtualdisk.go deleted file mode 100644 index 88b50641a5c..00000000000 --- a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/diskmanagers/virtualdisk.go +++ /dev/null @@ -1,80 +0,0 @@ -/* -Copyright 2016 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package diskmanagers - -import ( - "context" - "fmt" - - "k8s.io/klog/v2" - "k8s.io/legacy-cloud-providers/vsphere/vclib" -) - -// VirtualDisk is for the Disk Management -type VirtualDisk struct { - DiskPath string - VolumeOptions *vclib.VolumeOptions - VMOptions *vclib.VMOptions -} - -// VirtualDisk Operations Const -const ( - VirtualDiskCreateOperation = "Create" - VirtualDiskDeleteOperation = "Delete" -) - -// VirtualDiskProvider defines interfaces for creating disk -type VirtualDiskProvider interface { - Create(ctx context.Context, datastore *vclib.Datastore) (string, error) - Delete(ctx context.Context, datacenter *vclib.Datacenter) error -} - -// getDiskManager returns vmDiskManager or vdmDiskManager based on given volumeoptions -func getDiskManager(disk *VirtualDisk, diskOperation string) VirtualDiskProvider { - var diskProvider VirtualDiskProvider - switch diskOperation { - case VirtualDiskDeleteOperation: - diskProvider = virtualDiskManager{disk.DiskPath, disk.VolumeOptions} - case VirtualDiskCreateOperation: - if disk.VolumeOptions.StoragePolicyName != "" || disk.VolumeOptions.VSANStorageProfileData != "" || disk.VolumeOptions.StoragePolicyID != "" { - diskProvider = vmDiskManager{disk.DiskPath, disk.VolumeOptions, disk.VMOptions} - } else { - diskProvider = virtualDiskManager{disk.DiskPath, disk.VolumeOptions} - } - } - return diskProvider -} - -// Create gets appropriate disk manager and calls respective create method -func (virtualDisk *VirtualDisk) Create(ctx context.Context, datastore *vclib.Datastore) (string, error) { - if virtualDisk.VolumeOptions.DiskFormat == "" { - virtualDisk.VolumeOptions.DiskFormat = vclib.ThinDiskType - } - if err := virtualDisk.VolumeOptions.VerifyVolumeOptions(); err != nil { - klog.Errorf("VolumeOptions verification failed: %s (options: %+v)", err, virtualDisk.VolumeOptions) - return "", fmt.Errorf("validation of parameters failed: %s", err) - } - if virtualDisk.VolumeOptions.StoragePolicyID != "" && virtualDisk.VolumeOptions.StoragePolicyName != "" { - return "", fmt.Errorf("Storage Policy ID and Storage Policy Name both set, Please set only one parameter") - } - return getDiskManager(virtualDisk, VirtualDiskCreateOperation).Create(ctx, datastore) -} - -// Delete gets appropriate disk manager and calls respective delete method -func (virtualDisk *VirtualDisk) Delete(ctx context.Context, datacenter *vclib.Datacenter) error { - return getDiskManager(virtualDisk, VirtualDiskDeleteOperation).Delete(ctx, datacenter) -} diff --git a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/diskmanagers/vmdm.go b/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/diskmanagers/vmdm.go deleted file mode 100644 index 484d0ee57d2..00000000000 --- a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/diskmanagers/vmdm.go +++ /dev/null @@ -1,254 +0,0 @@ -/* -Copyright 2016 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package diskmanagers - -import ( - "context" - "fmt" - "hash/fnv" - "strings" - - "github.com/vmware/govmomi/object" - "github.com/vmware/govmomi/vim25/types" - - "k8s.io/klog/v2" - "k8s.io/legacy-cloud-providers/vsphere/vclib" -) - -// vmDiskManager implements VirtualDiskProvider interface for creating volume using Virtual Machine Reconfigure approach -type vmDiskManager struct { - diskPath string - volumeOptions *vclib.VolumeOptions - vmOptions *vclib.VMOptions -} - -// Create implements Disk's Create interface -// Contains implementation of VM based Provisioning to provision disk with SPBM Policy or VSANStorageProfileData -func (vmdisk vmDiskManager) Create(ctx context.Context, datastore *vclib.Datastore) (canonicalDiskPath string, err error) { - if vmdisk.volumeOptions.SCSIControllerType == "" { - vmdisk.volumeOptions.SCSIControllerType = vclib.PVSCSIControllerType - } - pbmClient, err := vclib.NewPbmClient(ctx, datastore.Client()) - if err != nil { - klog.Errorf("error occurred while creating new pbmClient, err: %+v", err) - return "", err - } - - if vmdisk.volumeOptions.StoragePolicyID == "" && vmdisk.volumeOptions.StoragePolicyName != "" { - vmdisk.volumeOptions.StoragePolicyID, err = pbmClient.ProfileIDByName(ctx, vmdisk.volumeOptions.StoragePolicyName) - if err != nil { - klog.Errorf("error occurred while getting Profile Id from Profile Name: %s, err: %+v", vmdisk.volumeOptions.StoragePolicyName, err) - return "", err - } - } - if vmdisk.volumeOptions.StoragePolicyID != "" { - compatible, faultMessage, err := datastore.IsCompatibleWithStoragePolicy(ctx, vmdisk.volumeOptions.StoragePolicyID) - if err != nil { - klog.Errorf("error occurred while checking datastore compatibility with storage policy id: %s, err: %+v", vmdisk.volumeOptions.StoragePolicyID, err) - return "", err - } - - if !compatible { - klog.Errorf("Datastore: %s is not compatible with Policy: %s", datastore.Name(), vmdisk.volumeOptions.StoragePolicyName) - return "", fmt.Errorf("user specified datastore is not compatible with the storagePolicy: %q. Failed with faults: %+q", vmdisk.volumeOptions.StoragePolicyName, faultMessage) - } - } - - storageProfileSpec := &types.VirtualMachineDefinedProfileSpec{} - // Is PBM storage policy ID is present, set the storage spec profile ID, - // else, set raw the VSAN policy string. - if vmdisk.volumeOptions.StoragePolicyID != "" { - storageProfileSpec.ProfileId = vmdisk.volumeOptions.StoragePolicyID - } else if vmdisk.volumeOptions.VSANStorageProfileData != "" { - // Check Datastore type - VSANStorageProfileData is only applicable to vSAN Datastore - dsType, err := datastore.GetType(ctx) - if err != nil { - return "", err - } - if dsType != vclib.VSANDatastoreType { - klog.Errorf("The specified datastore: %q is not a VSAN datastore", datastore.Name()) - return "", fmt.Errorf("the specified datastore: %q is not a VSAN datastore."+ - " the policy parameters will work only with VSAN Datastore."+ - " so, please specify a valid VSAN datastore in Storage class definition", datastore.Name()) - } - storageProfileSpec.ProfileId = "" - storageProfileSpec.ProfileData = &types.VirtualMachineProfileRawData{ - ExtensionKey: "com.vmware.vim.sps", - ObjectData: vmdisk.volumeOptions.VSANStorageProfileData, - } - } else { - klog.Errorf("Both volumeOptions.StoragePolicyID and volumeOptions.VSANStorageProfileData are not set. One of them should be set") - return "", fmt.Errorf("both volumeOptions.StoragePolicyID and volumeOptions.VSANStorageProfileData are not set. One of them should be set") - } - var dummyVM *vclib.VirtualMachine - // Check if VM already exist in the folder. - // If VM is already present, use it, else create a new dummy VM. - fnvHash := fnv.New32a() - fnvHash.Write([]byte(vmdisk.volumeOptions.Name)) - dummyVMFullName := vclib.DummyVMPrefixName + "-" + fmt.Sprint(fnvHash.Sum32()) - dummyVM, err = datastore.Datacenter.GetVMByPath(ctx, vmdisk.vmOptions.VMFolder.InventoryPath+"/"+dummyVMFullName) - if err != nil { - // Create a dummy VM - klog.V(1).Infof("Creating Dummy VM: %q", dummyVMFullName) - dummyVM, err = vmdisk.createDummyVM(ctx, datastore.Datacenter, dummyVMFullName) - if err != nil { - klog.Errorf("failed to create Dummy VM. err: %v", err) - return "", err - } - } - - // Reconfigure the VM to attach the disk with the VSAN policy configured - virtualMachineConfigSpec := types.VirtualMachineConfigSpec{} - disk, _, err := dummyVM.CreateDiskSpec(ctx, vmdisk.diskPath, datastore, vmdisk.volumeOptions) - if err != nil { - klog.Errorf("failed to create Disk Spec. err: %v", err) - return "", err - } - deviceConfigSpec := &types.VirtualDeviceConfigSpec{ - Device: disk, - Operation: types.VirtualDeviceConfigSpecOperationAdd, - FileOperation: types.VirtualDeviceConfigSpecFileOperationCreate, - } - - deviceConfigSpec.Profile = append(deviceConfigSpec.Profile, storageProfileSpec) - virtualMachineConfigSpec.DeviceChange = append(virtualMachineConfigSpec.DeviceChange, deviceConfigSpec) - fileAlreadyExist := false - task, err := dummyVM.Reconfigure(ctx, virtualMachineConfigSpec) - if err != nil { - klog.Errorf("Failed to reconfig. err: %v", err) - return "", err - } - err = task.Wait(ctx) - if err != nil { - fileAlreadyExist = isAlreadyExists(vmdisk.diskPath, err) - if fileAlreadyExist { - //Skip error and continue to detach the disk as the disk was already created on the datastore. - klog.V(vclib.LogLevel).Infof("File: %v already exists", vmdisk.diskPath) - } else { - klog.Errorf("Failed to attach the disk to VM: %q with err: %+v", dummyVMFullName, err) - return "", err - } - } - // Detach the disk from the dummy VM. - err = dummyVM.DetachDisk(ctx, vmdisk.diskPath) - if err != nil { - if vclib.DiskNotFoundErrMsg == err.Error() && fileAlreadyExist { - // Skip error if disk was already detached from the dummy VM but still present on the datastore. - klog.V(vclib.LogLevel).Infof("File: %v is already detached", vmdisk.diskPath) - } else { - klog.Errorf("Failed to detach the disk: %q from VM: %q with err: %+v", vmdisk.diskPath, dummyVMFullName, err) - return "", err - } - } - // Delete the dummy VM - err = dummyVM.DeleteVM(ctx) - if err != nil { - klog.Errorf("Failed to destroy the vm: %q with err: %+v", dummyVMFullName, err) - } - return vmdisk.diskPath, nil -} - -func (vmdisk vmDiskManager) Delete(ctx context.Context, datacenter *vclib.Datacenter) error { - return fmt.Errorf("vmDiskManager.Delete is not supported") -} - -// CreateDummyVM create a Dummy VM at specified location with given name. -func (vmdisk vmDiskManager) createDummyVM(ctx context.Context, datacenter *vclib.Datacenter, vmName string) (*vclib.VirtualMachine, error) { - // Create a virtual machine config spec with 1 SCSI adapter. - virtualMachineConfigSpec := types.VirtualMachineConfigSpec{ - Name: vmName, - Files: &types.VirtualMachineFileInfo{ - VmPathName: "[" + vmdisk.volumeOptions.Datastore + "]", - }, - NumCPUs: 1, - MemoryMB: 4, - DeviceChange: []types.BaseVirtualDeviceConfigSpec{ - &types.VirtualDeviceConfigSpec{ - Operation: types.VirtualDeviceConfigSpecOperationAdd, - Device: &types.ParaVirtualSCSIController{ - VirtualSCSIController: types.VirtualSCSIController{ - SharedBus: types.VirtualSCSISharingNoSharing, - VirtualController: types.VirtualController{ - BusNumber: 0, - VirtualDevice: types.VirtualDevice{ - Key: 1000, - }, - }, - }, - }, - }, - }, - } - - task, err := vmdisk.vmOptions.VMFolder.CreateVM(ctx, virtualMachineConfigSpec, vmdisk.vmOptions.VMResourcePool, nil) - if err != nil { - klog.Errorf("Failed to create VM. err: %+v", err) - return nil, err - } - - dummyVMTaskInfo, err := task.WaitForResult(ctx, nil) - if err != nil { - klog.Errorf("Error occurred while waiting for create VM task result. err: %+v", err) - return nil, err - } - - vmRef := dummyVMTaskInfo.Result.(object.Reference) - dummyVM := object.NewVirtualMachine(datacenter.Client(), vmRef.Reference()) - return &vclib.VirtualMachine{VirtualMachine: dummyVM, Datacenter: datacenter}, nil -} - -// CleanUpDummyVMs deletes stale dummyVM's -func CleanUpDummyVMs(ctx context.Context, folder *vclib.Folder) error { - vmList, err := folder.GetVirtualMachines(ctx) - if err != nil { - klog.V(4).Infof("Failed to get virtual machines in the kubernetes cluster: %s, err: %+v", folder.InventoryPath, err) - return err - } - if vmList == nil || len(vmList) == 0 { - klog.Errorf("No virtual machines found in the kubernetes cluster: %s", folder.InventoryPath) - return fmt.Errorf("no virtual machines found in the kubernetes cluster: %s", folder.InventoryPath) - } - var dummyVMList []*vclib.VirtualMachine - // Loop through VM's in the Kubernetes cluster to find dummy VM's - for _, vm := range vmList { - vmName, err := vm.ObjectName(ctx) - if err != nil { - klog.V(4).Infof("Unable to get name from VM with err: %+v", err) - continue - } - if strings.HasPrefix(vmName, vclib.DummyVMPrefixName) { - vmObj := vclib.VirtualMachine{VirtualMachine: object.NewVirtualMachine(folder.Client(), vm.Reference())} - dummyVMList = append(dummyVMList, &vmObj) - } - } - for _, vm := range dummyVMList { - err = vm.DeleteVM(ctx) - if err != nil { - klog.V(4).Infof("Unable to delete dummy VM with err: %+v", err) - continue - } - } - return nil -} - -func isAlreadyExists(path string, err error) bool { - errorMessage := fmt.Sprintf("Cannot complete the operation because the file or folder %s already exists", path) - if errorMessage == err.Error() { - return true - } - return false -} diff --git a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/folder.go b/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/folder.go deleted file mode 100644 index f2e6d1a17c8..00000000000 --- a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/folder.go +++ /dev/null @@ -1,47 +0,0 @@ -/* -Copyright 2016 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vclib - -import ( - "context" - - "github.com/vmware/govmomi/object" - "k8s.io/klog/v2" -) - -// Folder extends the govmomi Folder object -type Folder struct { - *object.Folder - Datacenter *Datacenter -} - -// GetVirtualMachines returns list of VirtualMachine inside a folder. -func (folder *Folder) GetVirtualMachines(ctx context.Context) ([]*VirtualMachine, error) { - vmFolders, err := folder.Children(ctx) - if err != nil { - klog.Errorf("Failed to get children from Folder: %s. err: %+v", folder.InventoryPath, err) - return nil, err - } - var vmObjList []*VirtualMachine - for _, vmFolder := range vmFolders { - if vmFolder.Reference().Type == VirtualMachineType { - vmObj := VirtualMachine{object.NewVirtualMachine(folder.Client(), vmFolder.Reference()), folder.Datacenter} - vmObjList = append(vmObjList, &vmObj) - } - } - return vmObjList, nil -} diff --git a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/folder_test.go b/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/folder_test.go deleted file mode 100644 index be570d80dcd..00000000000 --- a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/folder_test.go +++ /dev/null @@ -1,83 +0,0 @@ -/* -Copyright 2016 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vclib - -import ( - "context" - "path" - "testing" - - "github.com/vmware/govmomi" - "github.com/vmware/govmomi/simulator" -) - -func TestFolder(t *testing.T) { - ctx := context.Background() - - model := simulator.VPX() - // Child folder "F0" will be created under the root folder and datacenter folders, - // and all resources are created within the "F0" child folders. - model.Folder = 1 - - defer model.Remove() - err := model.Create() - if err != nil { - t.Fatal(err) - } - - s := model.Service.NewServer() - defer s.Close() - - c, err := govmomi.NewClient(ctx, s.URL, true) - if err != nil { - t.Fatal(err) - } - - vc := &VSphereConnection{Client: c.Client} - - dc, err := GetDatacenter(ctx, vc, TestDefaultDatacenter) - if err != nil { - t.Error(err) - } - - const folderName = "F0" - vmFolder := path.Join("/", folderName, dc.Name(), "vm") - - tests := []struct { - folderPath string - expect int - }{ - {vmFolder, 0}, - {path.Join(vmFolder, folderName), (model.Host + model.Cluster) * model.Machine}, - } - - for i, test := range tests { - folder, cerr := dc.GetFolderByPath(ctx, test.folderPath) - if cerr != nil { - t.Fatal(cerr) - } - - vms, cerr := folder.GetVirtualMachines(ctx) - if cerr != nil { - t.Fatalf("%d: %s", i, cerr) - } - - if len(vms) != test.expect { - t.Errorf("%d: expected %d VMs, got: %d", i, test.expect, len(vms)) - } - } -} diff --git a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/pbm.go b/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/pbm.go deleted file mode 100644 index fc234821d75..00000000000 --- a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/pbm.go +++ /dev/null @@ -1,169 +0,0 @@ -/* -Copyright 2016 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vclib - -import ( - "context" - "fmt" - - "github.com/vmware/govmomi/pbm" - "k8s.io/klog/v2" - - pbmtypes "github.com/vmware/govmomi/pbm/types" - "github.com/vmware/govmomi/vim25" -) - -// PbmClient is extending govmomi pbm, and provides functions to get compatible list of datastore for given policy -type PbmClient struct { - *pbm.Client -} - -// NewPbmClient returns a new PBM Client object -func NewPbmClient(ctx context.Context, client *vim25.Client) (*PbmClient, error) { - pbmClient, err := pbm.NewClient(ctx, client) - if err != nil { - klog.Errorf("Failed to create new Pbm Client. err: %+v", err) - return nil, err - } - return &PbmClient{pbmClient}, nil -} - -// IsDatastoreCompatible check if the datastores is compatible for given storage policy id -// if datastore is not compatible with policy, fault message with the Datastore Name is returned -func (pbmClient *PbmClient) IsDatastoreCompatible(ctx context.Context, storagePolicyID string, datastore *Datastore) (bool, string, error) { - faultMessage := "" - placementHub := pbmtypes.PbmPlacementHub{ - HubType: datastore.Reference().Type, - HubId: datastore.Reference().Value, - } - hubs := []pbmtypes.PbmPlacementHub{placementHub} - req := []pbmtypes.BasePbmPlacementRequirement{ - &pbmtypes.PbmPlacementCapabilityProfileRequirement{ - ProfileId: pbmtypes.PbmProfileId{ - UniqueId: storagePolicyID, - }, - }, - } - compatibilityResult, err := pbmClient.CheckRequirements(ctx, hubs, nil, req) - if err != nil { - klog.Errorf("Error occurred for CheckRequirements call. err %+v", err) - return false, "", err - } - if compatibilityResult != nil && len(compatibilityResult) > 0 { - compatibleHubs := compatibilityResult.CompatibleDatastores() - if compatibleHubs != nil && len(compatibleHubs) > 0 { - return true, "", nil - } - dsName, err := datastore.ObjectName(ctx) - if err != nil { - klog.Errorf("Failed to get datastore ObjectName") - return false, "", err - } - if compatibilityResult[0].Error[0].LocalizedMessage == "" { - faultMessage = "Datastore: " + dsName + " is not compatible with the storage policy." - } else { - faultMessage = "Datastore: " + dsName + " is not compatible with the storage policy. LocalizedMessage: " + compatibilityResult[0].Error[0].LocalizedMessage + "\n" - } - return false, faultMessage, nil - } - return false, "", fmt.Errorf("compatibilityResult is nil or empty") -} - -// GetCompatibleDatastores filters and returns compatible list of datastores for given storage policy id -// For Non Compatible Datastores, fault message with the Datastore Name is also returned -func (pbmClient *PbmClient) GetCompatibleDatastores(ctx context.Context, storagePolicyID string, datastores []*DatastoreInfo) ([]*DatastoreInfo, string, error) { - var ( - dsMorNameMap = getDsMorNameMap(ctx, datastores) - localizedMessagesForNotCompatibleDatastores = "" - ) - compatibilityResult, err := pbmClient.GetPlacementCompatibilityResult(ctx, storagePolicyID, datastores) - if err != nil { - klog.Errorf("Error occurred while retrieving placement compatibility result for datastores: %+v with storagePolicyID: %s. err: %+v", datastores, storagePolicyID, err) - return nil, "", err - } - compatibleHubs := compatibilityResult.CompatibleDatastores() - var compatibleDatastoreList []*DatastoreInfo - for _, hub := range compatibleHubs { - compatibleDatastoreList = append(compatibleDatastoreList, getDatastoreFromPlacementHub(datastores, hub)) - } - for _, res := range compatibilityResult { - for _, err := range res.Error { - dsName := dsMorNameMap[res.Hub.HubId] - localizedMessage := "" - if err.LocalizedMessage != "" { - localizedMessage = "Datastore: " + dsName + " not compatible with the storage policy. LocalizedMessage: " + err.LocalizedMessage + "\n" - } else { - localizedMessage = "Datastore: " + dsName + " not compatible with the storage policy. \n" - } - localizedMessagesForNotCompatibleDatastores += localizedMessage - } - } - // Return an error if there are no compatible datastores. - if len(compatibleHubs) < 1 { - klog.Errorf("No compatible datastores found that satisfy the storage policy requirements: %s", storagePolicyID) - return nil, localizedMessagesForNotCompatibleDatastores, fmt.Errorf("No compatible datastores found that satisfy the storage policy requirements") - } - return compatibleDatastoreList, localizedMessagesForNotCompatibleDatastores, nil -} - -// GetPlacementCompatibilityResult gets placement compatibility result based on storage policy requirements. -func (pbmClient *PbmClient) GetPlacementCompatibilityResult(ctx context.Context, storagePolicyID string, datastore []*DatastoreInfo) (pbm.PlacementCompatibilityResult, error) { - var hubs []pbmtypes.PbmPlacementHub - for _, ds := range datastore { - hubs = append(hubs, pbmtypes.PbmPlacementHub{ - HubType: ds.Reference().Type, - HubId: ds.Reference().Value, - }) - } - req := []pbmtypes.BasePbmPlacementRequirement{ - &pbmtypes.PbmPlacementCapabilityProfileRequirement{ - ProfileId: pbmtypes.PbmProfileId{ - UniqueId: storagePolicyID, - }, - }, - } - res, err := pbmClient.CheckRequirements(ctx, hubs, nil, req) - if err != nil { - klog.Errorf("Error occurred for CheckRequirements call. err: %+v", err) - return nil, err - } - return res, nil -} - -// getDataStoreForPlacementHub returns matching datastore associated with given pbmPlacementHub -func getDatastoreFromPlacementHub(datastore []*DatastoreInfo, pbmPlacementHub pbmtypes.PbmPlacementHub) *DatastoreInfo { - for _, ds := range datastore { - if ds.Reference().Type == pbmPlacementHub.HubType && ds.Reference().Value == pbmPlacementHub.HubId { - return ds - } - } - return nil -} - -// getDsMorNameMap returns map of ds Mor and Datastore Object Name -func getDsMorNameMap(ctx context.Context, datastores []*DatastoreInfo) map[string]string { - dsMorNameMap := make(map[string]string) - for _, ds := range datastores { - dsObjectName, err := ds.ObjectName(ctx) - if err == nil { - dsMorNameMap[ds.Reference().Value] = dsObjectName - } else { - klog.Errorf("Error occurred while getting datastore object name. err: %+v", err) - } - } - return dsMorNameMap -} diff --git a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/testdata/README.md b/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/testdata/README.md deleted file mode 100644 index a78ddfbd05a..00000000000 --- a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/testdata/README.md +++ /dev/null @@ -1 +0,0 @@ -Keys in this directory are generated for testing purposes only. diff --git a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/testdata/ca.key b/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/testdata/ca.key deleted file mode 100644 index 84b4d3266df..00000000000 --- a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/testdata/ca.key +++ /dev/null @@ -1,51 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIJJwIBAAKCAgEA4CKLwCPwMUIVaGhvZxLmXEzDflILVaGCZRRBbfYucfysylT/ -JKPMlKs3ORNVW1cdiW1z/ZUlAlN+eqq40WSVQJqLUeXltsfZwemdFmf3SAWIu9v9 -wI5mhLQJMh2XPKNILCBhrET/ANLVPbObJUFvGavpR9XVXTXsLUvuCR+oSpDvQYyn -WKJ5dAwqKaFx3GCEFAm0dNnSzliQrzKFOE0DUMxFQH5Lt2EYLHrya+K4ZtYbX5nK -X++T9R5pZs0npqmTQS/rIffv2hT89tKdqPz/MCt5xwmjsAO2uri5O+WaLUIkf8Bd -fmVAusE/5v2p3x3MH0rUXaNPg7FqLj1cnbcwHqqt3PmVl9VZINkPbnHHiua21GNq -DAZ/G/vP8/hlXwIeE8d6YPsSPm4NEH0Ku+yk0TEL6QkGFMYYpyCw1BNYGXd+zvf1 -xjZtGrcViHhesxuv71nGdJbNSi7zwkYXydSKCNnjJ+Oqyip5uUC+DmydqcJTQLcZ -W5ObNfeB8PLz6UuVidMffh8evE13L60cS5wZyZWherMqB+I/uREt05gikCtlJVOo -shuLS0QjbK/INYCSFBJjt0xrwTbw13SQsEhktQYdqTHaDBWi6uh+pcY9msF1jZJ+ -GAEPYcLzK3o2/kE6g09TZ3QDeP9bEDTllL+mIs4JGiWGNC/eGjGfyyAnfmECAwEA -AQKCAf88aRNBtm4G2MjsWzmrjmyIdCg84+AqNF3w4ITCHphmILRx1HbwaTW63GsF -9zAKbnCHmfipYImZFugAKAOobHPN9dmXOV+w5CzNFyo/38XGo7c26xR50efP3Lad -y1v3/Ap32kJ5LB+PGURgXQh0Ai7vvGYj9n6LoP0HOG/wBZhWgLn78O0p9qDFpoG2 -tsz5mQoAXJ1G4W7wLu7QSc2eXyOFo4kG2QOPaZwaYQj2CyWokgzOt6TUNr6qUogW -LTWCtjH6X/AAN9Nt9Do6TIoyAf7F/PHVs8NqrZWSvjcu7bOgfzNXO4H3j1LjAzM2 -Dyi5+k4KISEcG+hSln8H94H/AGD3Yea44sDnIZoOtKTB+O7V+jyU7qwtX9QaEu04 -CslnZOun0/PR/C9mI7QaGu1YJcxdIw9Nlj07+iAzI4ZjuO+qHeUM7SNvH/MVbglA -2ZDkp7J3VlJgFObvHdINZMWNO1FIg/pc7TcXNsUkNAwnCwLh6//5/cZF+BtGlc4A -SGkhYKX3dRp8qLjNKxux3VHROoDByJDEUcnn0fEAm9aMbV+PofpghJtQqnKbsMn8 -iF29v+9+JBIHFxAwhCIv9atF82VHt/sGPcsRqohttRWJDaUMBM3N8rvciiigcYzh -c/o4kH0YNoFSs4+evhYQDxk8yIGsgyuGfnW5QaLUIPa2AxblAoIBAQDyfoJr3UFq -LfkTkYHjAo4eua1vzlM3/8aFFnuQhMeoFvw4aA26x1DsUUozIRXTWWbnFH6GY8T3 -B46jgWcO4UaMqbxQxTpHSDQFSVn/budugxGU70WQ9LcjSobk9uCXgk2MmRn9tA/6 -+ergswSEuPxyNzgDF60BTrS5V2Akh6eF/sYZWnMKazZ3kdw1V5Y/IxfNH1yo6GRz -PTPVyyX6kU3+DNQSplgcsKYFhyoT2HPIRaxR1fTIw9E5w1rQWanYz/A0I3SDECsc -qJDy1rzC+0Tye2XLcWzHu5l1ng8GPLQJfjEtMTKXMIHjpLFC1P4hXNrlxTOnALSS -95bwzvDqfxULAoIBAQDsnkUVOvoXrE9xRI2EyWi1K08i5YSwy3rtV+uJP2Zyy4uB -r3TfzxFnYdXWykzHJGqHd6N5M6vCmbcLMS0G9z5QpDhrIF5vk26P9isvZ3k7rkWG -jgwif3kBcPQXlCDgwwnVmGsBf/A+2z3HOfNPK3Iy3VamFvYD52wgL8+N0puZ42aU -aH759JjLGcaVZWzWNdIcpS1OsBucGXCj3IeHmLjhJFbVebIHJ4rCs7gj51H8R8uk -fksxsgfPdRRpYq7NkDOzVDPb/KtTf5C4ZDogRaxj765DMnn6LhBFQVuDWEDJgjlF -Aolt8ynskf3xd19nlX99QAzXnql6LLClwps6G8XDAoIBADzhslDufevwmuZk091w -2MmyCG9Xt+EJYIgtetxv2cjD7JMk3L2WKSULy7tGhTpI6eL+bD3FcsAqr48xf/Rm -btYGD3ef7N/Uqurg3a2Z5JUEZzejUy3vosNDhNabfQvM9TdlgPcHbDOw511+1JWV -9Bug7XkpSpBXeFxIKaVCQbcMniPjZ5qoDEa84jKqSNiVMPaY9ySZJA8iwI7esCxW -quQryFreVKTvXN9qbhAJehhAFeF9/DUjpLYB7Bz/RftfSYltlWUKfCh30dyGOWIi -v865WHdZhNwop4C2LEN+nhz8B9C212LKFPJYeQC0hRFPRM4HUs6NCMkVTFotOqNF -QL0CggEAGXBysPOkS8NEz0K1jF8zGLdNTM0sVO2ri7T2J81fMFxd5VV91Uon7tt/ -6BXb51Us9t+P/cnmX4ezPErPMn6GfpkJT8stHAXXzzaCMhiH2jjEVNEU0Oivk84X -ECnm1wNhHUvDxWeB5uAfZjn+xLZBEuLlG/o//O92modJY1APVp4yOyZ48FqxyrQ8 -u3cqGmWy701674jTjxbVG2jsUVHEHsCPbWgmEcrYilJUK9gE4oC9jjPd1bv0RwOp -bCMl9Afa5x7YbIBf0xxV7N0puqqC/EOakrLslk85hJigRCDK5l9P1PGO4PlRupN/ -n+Rbp4FVMZwfRVdTlUUUwN2JXtf5jQKCAQEAqSMv1mkLS3qnmW1E/qAYrEmMlHZo -253wuwsO0XS7xCxcEumIvjYCvhnHPYIO2rqsscmk42gYe/OUfteMb71BJ+HnlyOo -9oDbZg8W2DSUzTUy0yT/JMcNTwVCPeVj+bZ/LzDP5jKmZ7vXZkLGQCgU6ENVmsCg -b8nKz0xc7o8jERaSGY+h3LthXF0wAZJ3NdbnJjFbL8hYpwTrD6xd/yg3M5grrCLe -iBKfdpCIN6VrqI9VymoPZryb1OVEiClt0LHWTIXQPcH2J/CrMeWoGhRBW3yTAECf -HPhYMZddW2y6uOFjRcUCu2HG35ogEYlDd0kjH1HhPC2xXcFQBmOyPpEeDQ== ------END RSA PRIVATE KEY----- diff --git a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/testdata/ca.pem b/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/testdata/ca.pem deleted file mode 100644 index 9e03ae78762..00000000000 --- a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/testdata/ca.pem +++ /dev/null @@ -1,29 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIE/jCCAuYCCQDRJ2qPhdmG0DANBgkqhkiG9w0BAQsFADBAMQswCQYDVQQGEwJV -UzELMAkGA1UECAwCQ0ExEzARBgNVBAoMCkFjbWUsIEluYy4xDzANBgNVBAMMBnNv -bWVDQTAgFw0xODA2MDgxMzM5MjFaGA8yMjE4MDQyMTEzMzkyMVowQDELMAkGA1UE -BhMCVVMxCzAJBgNVBAgMAkNBMRMwEQYDVQQKDApBY21lLCBJbmMuMQ8wDQYDVQQD -DAZzb21lQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDgIovAI/Ax -QhVoaG9nEuZcTMN+UgtVoYJlFEFt9i5x/KzKVP8ko8yUqzc5E1VbVx2JbXP9lSUC -U356qrjRZJVAmotR5eW2x9nB6Z0WZ/dIBYi72/3AjmaEtAkyHZc8o0gsIGGsRP8A -0tU9s5slQW8Zq+lH1dVdNewtS+4JH6hKkO9BjKdYonl0DCopoXHcYIQUCbR02dLO -WJCvMoU4TQNQzEVAfku3YRgsevJr4rhm1htfmcpf75P1HmlmzSemqZNBL+sh9+/a -FPz20p2o/P8wK3nHCaOwA7a6uLk75ZotQiR/wF1+ZUC6wT/m/anfHcwfStRdo0+D -sWouPVydtzAeqq3c+ZWX1Vkg2Q9ucceK5rbUY2oMBn8b+8/z+GVfAh4Tx3pg+xI+ -bg0QfQq77KTRMQvpCQYUxhinILDUE1gZd37O9/XGNm0atxWIeF6zG6/vWcZ0ls1K -LvPCRhfJ1IoI2eMn46rKKnm5QL4ObJ2pwlNAtxlbk5s194Hw8vPpS5WJ0x9+Hx68 -TXcvrRxLnBnJlaF6syoH4j+5ES3TmCKQK2UlU6iyG4tLRCNsr8g1gJIUEmO3TGvB -NvDXdJCwSGS1Bh2pMdoMFaLq6H6lxj2awXWNkn4YAQ9hwvMrejb+QTqDT1NndAN4 -/1sQNOWUv6YizgkaJYY0L94aMZ/LICd+YQIDAQABMA0GCSqGSIb3DQEBCwUAA4IC -AQBYBRH/q3gB4gEiOAUl9HbnoUb7MznZ0uQTH7fUYqr66ceZkg9w1McbwiAeZAaY -qQWwr3u4A8/Bg8csE2yQTsXeA33FP3Q6obyuYn4q7e++4+9SLkbSSQfbB67pGUK5 -/pal6ULrLGzs69fbL1tOaA/VKQJndg3N9cftyiIUWTzHDop8SLmIobWVRtPQHf00 -oKq8loakyluQdxQxnGdl7vMXwSpSpIH84TOdy2JN90MzVLgOz55sb/wRYfhClNFD -+1sb2V4nL2w1kXaO2UVPzk7qpG5FE54JPvvN67Ec4JjMSnGo8l3dJ9jGEmgBIML3 -l1onrti2HStSs1vR4Ax0xok08okRlrGA4FqQiSx853T5uLa/JLmWfLKg9ixR4ZV+ -dF+2ZrFwDLZUr4VeaDd2v2mQFBNLvdZrqp1OZ4B/1+H5S8ucb+oVhGqzDkEvRCc+ -WYpNxx7kpwZPTLmMYTXXKdTWfpgz9GL0LSkY8d1rxLwHxtV8EzAkV+zIWix4h/IE -0FG4WvhrttMCu8ulZhGGoVqy7gdb4+ViWnUYNuCCjIcRJj7SeZaDawBASa/jZwik -Hxrwn0osGUqEUBmvjDdXJpTaKCr2GFOvhCM2pG6AXa14b5hS2DgbX+NZYcScYtVC -vn2HMDjnIEF4uOfDJU5eLok4jli5+VwzOQ7hOHs3DIm4+g== ------END CERTIFICATE----- diff --git a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/testdata/createCerts.sh b/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/testdata/createCerts.sh deleted file mode 100755 index 913c7f9e400..00000000000 --- a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/testdata/createCerts.sh +++ /dev/null @@ -1,93 +0,0 @@ -#!/usr/bin/env bash - -# Copyright 2018 The Kubernetes Authors. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -set -eu - -readonly VALID_DAYS='73000' -readonly RSA_KEY_SIZE='4096' - -createKey() { - openssl genrsa \ - -out "$1" \ - "$RSA_KEY_SIZE" -} - -createCaCert() { - openssl req \ - -x509 \ - -subj "$( getSubj 'someCA' )" \ - -new \ - -nodes \ - -key "$2" \ - -sha256 \ - -days "$VALID_DAYS" \ - -out "$1" -} - -createCSR() { - openssl req \ - -new \ - -sha256 \ - -key "$2" \ - -subj "$( getSubj 'localhost' )" \ - -reqexts SAN \ - -config <( getSANConfig ) \ - -out "$1" -} - -signCSR() { - openssl x509 \ - -req \ - -in "$2" \ - -CA "$3" \ - -CAkey "$4" \ - -CAcreateserial \ - -days "$VALID_DAYS" \ - -sha256 \ - -extfile <( getSAN ) \ - -out "$1" -} - -getSubj() { - local cn="${1:-someRandomCN}" - echo "/C=US/ST=CA/O=Acme, Inc./CN=${cn}" -} - -getSAN() { - printf "subjectAltName=DNS:localhost,IP:127.0.0.1" -} - -getSANConfig() { - cat /etc/ssl/openssl.cnf - printf '\n[SAN]\n' - getSAN -} - -main() { - local caCertPath="./ca.pem" - local caKeyPath="./ca.key" - local serverCsrPath="./server.csr" - local serverCertPath="./server.pem" - local serverKeyPath="./server.key" - - createKey "$caKeyPath" - createCaCert "$caCertPath" "$caKeyPath" - createKey "$serverKeyPath" - createCSR "$serverCsrPath" "$serverKeyPath" - signCSR "$serverCertPath" "$serverCsrPath" "$caCertPath" "$caKeyPath" -} - -main "$@" diff --git a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/testdata/invalid.pem b/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/testdata/invalid.pem deleted file mode 100644 index 253d11958ad..00000000000 --- a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/testdata/invalid.pem +++ /dev/null @@ -1 +0,0 @@ -this is some invalid content diff --git a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/testdata/server.csr b/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/testdata/server.csr deleted file mode 100644 index fb91630515b..00000000000 --- a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/testdata/server.csr +++ /dev/null @@ -1,28 +0,0 @@ ------BEGIN CERTIFICATE REQUEST----- -MIIEtTCCAp0CAQAwQzELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMRMwEQYDVQQK -DApBY21lLCBJbmMuMRIwEAYDVQQDDAlsb2NhbGhvc3QwggIiMA0GCSqGSIb3DQEB -AQUAA4ICDwAwggIKAoICAQCVkk5HMKNvMXVJoJcUfKK252UT6rdnlsaFLZOlcbp3 -otqiq3A2jhQLeL5Ocyd22s/ak2RX9liK+ynV8fP3YWoUBP5elhwbykubiIvSTRS5 -85Z0s9NfzscImMpnivt+bOy3KOoriy/0jfJ7WMqLRUTUEusXUpW8QT/U9cK6DrwQ -E/9oXTr669yvqjyFsxjOB0pLOFFib0LeQZxrA2h+oAP8qT/Of6kyTgGWjLhSC1cV -eCPZsSeZUT61FbIu/b5M42WYuddoFbf8y9m0oLeYizYob7poE25jw91bNa8y2nfS -v+JuCcfO4wq29cnldGFNpJPhBhc1sbBvVshXXKWdfzN1c8RCS5hNANy1phAJ7RFe -3Uj0WneBVBHHJMz7Qh61uxTST1W8HBDTuaBTxGKTcPFWd9u4lj/BEScRFOSC/qiO -1HCKzOsYhjnHfql5GzfQKpEy/e4m2oL8VTqcJBsfHCyxDIH+6Y3ovttymxAUPJ14 -r3mG9FDLq1va/+8xzDswyjmRIVQeOgvllzgM5vCKqz6nsXtLRYgkwHMk5yOaAIzO -BnsmZztsyaubjcYvM5pUsiO49VWk6ntiAn+WpF/sreFlesx1peQKbTVovwvn137d -V92Oncce+ZikKHxtz4qOz+dH1Fz7Ykor8fXcsfdbkKvwWdz8U/pOBu+83CxBXTWA -bwIDAQABoC0wKwYJKoZIhvcNAQkOMR4wHDAaBgNVHREEEzARgglsb2NhbGhvc3SH -BH8AAAEwDQYJKoZIhvcNAQELBQADggIBADgJfI3xRKlOInZQjg+afz+L477IiFmP -Pf0qwO/EqBkCmbDbmvXpXi/y9Ffh6bMx2naN873nW3k1uVG2W0O4Bl7di9PkmRxY -ktcWY+CaxDT5+Y3LmrqICgrZmELTuV5G8xX2/7bpdEtY4sWpoOeOun+CeGTCeUGx -sGxOWrhydYwrkowupPthYreIIBBPHWl2gEw/m+Y7aJZGtKnDD9eCbF6RxmXRWHDu -0Ly+F3veXbht9LjKPFsgfsogo33Nl8+W1LCActKNY7NMDdGkc+RqaTyxhYEwomui -N1NDOW1qHqSyp2RC13cXokfLL58WGXS6PpNhSln9u4ZG9a+TY+vw1qC//1CyTicY -ylyEn2qfqTSG3W7T/u6ZTL0MpMjFv8VigpffJcFDjq6lVH8LyTniSXdCREy78jAo -8O/2tzJtWrar8bbeN7KCwVcJVaK15a1GWZmo5Ei33U/2Tm+UyRbWL8eISO2Hs3WM -90aFPaHfqKpiPsJrnnOm270lZclgqEtpsyuLsAClqxytCYPw4zTa6WOfDJtmVUrT -1fvMjqwzvs7jbNrgfkwSxXiABwTMQQWeAtuSO+zZH4Ms10qyANoh4FFi/oS3dRKQ -0kdu7AsJqnou9q9HWq1WCTqMcyNE0KPHuo4xhtOlWoGbsugTs7XBml30D7bKJVfG -PazsY1b0/cx7 ------END CERTIFICATE REQUEST----- diff --git a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/testdata/server.key b/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/testdata/server.key deleted file mode 100644 index 643d5463874..00000000000 --- a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/testdata/server.key +++ /dev/null @@ -1,51 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIJKAIBAAKCAgEAlZJORzCjbzF1SaCXFHyitudlE+q3Z5bGhS2TpXG6d6Laoqtw -No4UC3i+TnMndtrP2pNkV/ZYivsp1fHz92FqFAT+XpYcG8pLm4iL0k0UufOWdLPT -X87HCJjKZ4r7fmzstyjqK4sv9I3ye1jKi0VE1BLrF1KVvEE/1PXCug68EBP/aF06 -+uvcr6o8hbMYzgdKSzhRYm9C3kGcawNofqAD/Kk/zn+pMk4Bloy4UgtXFXgj2bEn -mVE+tRWyLv2+TONlmLnXaBW3/MvZtKC3mIs2KG+6aBNuY8PdWzWvMtp30r/ibgnH -zuMKtvXJ5XRhTaST4QYXNbGwb1bIV1ylnX8zdXPEQkuYTQDctaYQCe0RXt1I9Fp3 -gVQRxyTM+0IetbsU0k9VvBwQ07mgU8Rik3DxVnfbuJY/wREnERTkgv6ojtRwiszr -GIY5x36peRs30CqRMv3uJtqC/FU6nCQbHxwssQyB/umN6L7bcpsQFDydeK95hvRQ -y6tb2v/vMcw7MMo5kSFUHjoL5Zc4DObwiqs+p7F7S0WIJMBzJOcjmgCMzgZ7Jmc7 -bMmrm43GLzOaVLIjuPVVpOp7YgJ/lqRf7K3hZXrMdaXkCm01aL8L59d+3Vfdjp3H -HvmYpCh8bc+Kjs/nR9Rc+2JKK/H13LH3W5Cr8Fnc/FP6TgbvvNwsQV01gG8CAwEA -AQKCAgBLBQn8DPo8YDsqxcBhRy45vQ/mkHiTHX3O+JAwkD1tmiI9Ku3qfxKwukwB -fyKRK6jLQdg3gljgxJ80Ltol/xc8mVCYUoQgsDOB/FfdEEpQBkw1lqhzSnxr5G7I -xl3kCHAmYgAp/PL9n2C620sj1YdzM1X06bgupy+D+gxEU/WhvtYBG5nklv6moSUg -DjdnxyJNXh7710Bbx97Tke8Ma+f0B1P4l/FeSN/lCgm9JPD11L9uhbuN28EvBIXN -qfmUCQ5BLx1KmHIi+n/kaCQN/+0XFQsS/oQEyA2znNaWFBu7egDxHji4nQoXwGoW -i2vujJibafmkNc5/2bA8mTx8JXvCLhU2L9j2ZumpKOda0g+pfMauesL+9rvZdqwW -gjdjndOHZlg3qm40hGCDBVmmV3mdnvXrk1BbuB4Y0N7qGo3PyYtJHGwJILaNQVGR -Sj75uTatxJwFXsqSaJaErV3Q90IiyXX4AOFGnWHOs29GEwtnDbCvT/rzqutTYSXD -Yv0XFDznzJelhZTH7FbaW3FW3YGEG1ER/0MtKpsAH4i7H9q3KKK8yrzUsgUkGwXt -xtoLckh91xilPIGbzARdELTEdHrjlFL+qaz3PIqEQScWz3WBu2JcIzGbp6PQfMZ+ -FZXarEb/ADZuX0+WoKFYR5jzwMoQfF/fxe2Ib/37ETNw4BgfSQKCAQEAxOw64XgO -nUVJslzGK/H5fqTVpD1rfRmvVAiSDLAuWpClbpDZXqEPuoPPYsiccuUWu9VkJE1F -6MZEexGx1jFkN08QUHD1Bobzu6ThaBc2PrWHRjFGKM60d0AkhOiL4N04FGwVeCN6 -xzIJFk1E4VOOo1+lzeAWRvi1lwuWTgQi+m25nwBJtmYdBLGeS+DXy80Fi6deECei -ipDzJ4rxJsZ61uqBeYC4CfuHW9m5rCzJWPMMMFrPdl3OxEyZzKng4Co5EYc5i/QH -piXD6IJayKcTPRK3tBJZp2YCIIdtQLcjAwmDEDowQtelHkbTihXMGRarf3VcOEoN -ozMRgcLEEynuKwKCAQEAwnF5ZkkJEL/1MCOZ6PZfSKl35ZMIz/4Umk8hOMAQGhCT -cnxlDUfGSBu4OihdBbIuBSBsYDjgcev8uyiIPDVy0FIkBKRGfgrNCLDh19aHljvE -bUc3akvbft0mro86AvSd/Rpc7sj841bru37RDUm6AJOtIvb6DWUpMOZgMm0WMmSI -kNs/UT+7rqg+AZPP8lumnJIFnRK38xOehQAaS1FHWGP//38py8yo8eXpMsoCWMch -c+kZD2jsAYV+SWjjkZjcrv/52+asd4AotRXIShV8E8xItQeq6vLHKOaIe0tC2Y44 -ONAKiu4dgABt1voy8I5J63MwgeNmgAUS+KsgUclYzQKCAQEAlt/3bPAzIkQH5uQ1 -4U2PvnxEQ4XbaQnYzyWR4K7LlQ/l8ASCxoHYLyr2JdVWKKFk/ZzNERMzUNk3dqNk -AZvuEII/GaKx2MJk04vMN5gxM3KZpinyeymEEynN0RbqtOpJITx+ZoGofB3V4IRr -FciTLJEH0+iwqMe9OXDjQ/rfYcfXw/7QezNZYFNF2RT3wWnfqdQduXrkig3sfotx -oCfJzgf2E0WPu/Y/CxyRqVzXF5N/7zxkX2gYF0YpQCmX5afz+X4FlTju81lT9DyL -mdiIYO6KWSkGD7+UOaAJEOA/rwAGrtQmTdAy7jONt+pjaYV4+DrO4UG7mSJzc1vq -JlSl6QKCAQARqwPv8mT7e6XI2QNMMs7XqGZ3mtOrKpguqVAIexM7exQazAjWmxX+ -SV6FElPZh6Y82wRd/e0PDPVrADTY27ZyDXSuY0rwewTEbGYpGZo6YXXoxBbZ9sic -D3ZLWEJaMGYGsJWPMP4hni1PXSebwH5BPSn3Sl/QRcfnZJeLHXRt4cqy9uka9eKU -7T6tIAQ+LmvGQFJ4QlIqqTa3ORoqi9kiw/tn+OMQXKlhSZXWApsR/A4jHSQkzVDc -loeyHfDHsw8ia6oFfEFhnmiUg8UuTiN3HRHiOS8jqCnGoqP2KBGL+StMpkK++wH9 -NozEgvmL+DHpTg8zTjlrGortw4btR5FlAoIBABVni+EsGA5K/PM1gIct2pDm+6Kq -UCYScTwIjftuwKLk/KqermG9QJLiJouKO3ZSz7iCelu87Dx1cKeXrc2LQ1pnQzCB -JnI6BCT+zRnQFXjLokJXD2hIS2hXhqV6/9FRXLKKMYePcDxWt/etLNGmpLnhDfb3 -sMOH/9pnaGmtk36Ce03Hh7E1C6io/MKfTq+KKUV1UGwO1BdNQCiclkYzAUqn1O+Y -c8BaeGKc2c6as8DKrPTGGQGmzo/ZUxQVfVFl2g7+HXISWBBcui/G5gtnU1afZqbW -mTmDoqs4510vhlkhN9XZ0DyhewDIqNNGEY2vS1x2fJz1XC2Eve4KpSyUsiE= ------END RSA PRIVATE KEY----- diff --git a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/testdata/server.pem b/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/testdata/server.pem deleted file mode 100644 index dbebde6a803..00000000000 --- a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/testdata/server.pem +++ /dev/null @@ -1,30 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIFJjCCAw6gAwIBAgIJAOcEAbv8NslfMA0GCSqGSIb3DQEBCwUAMEAxCzAJBgNV -BAYTAlVTMQswCQYDVQQIDAJDQTETMBEGA1UECgwKQWNtZSwgSW5jLjEPMA0GA1UE -AwwGc29tZUNBMCAXDTE4MDYwODEzMzkyNFoYDzIyMTgwNDIxMTMzOTI0WjBDMQsw -CQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExEzARBgNVBAoMCkFjbWUsIEluYy4xEjAQ -BgNVBAMMCWxvY2FsaG9zdDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB -AJWSTkcwo28xdUmglxR8orbnZRPqt2eWxoUtk6Vxunei2qKrcDaOFAt4vk5zJ3ba -z9qTZFf2WIr7KdXx8/dhahQE/l6WHBvKS5uIi9JNFLnzlnSz01/OxwiYymeK+35s -7Lco6iuLL/SN8ntYyotFRNQS6xdSlbxBP9T1wroOvBAT/2hdOvrr3K+qPIWzGM4H -Sks4UWJvQt5BnGsDaH6gA/ypP85/qTJOAZaMuFILVxV4I9mxJ5lRPrUVsi79vkzj -ZZi512gVt/zL2bSgt5iLNihvumgTbmPD3Vs1rzLad9K/4m4Jx87jCrb1yeV0YU2k -k+EGFzWxsG9WyFdcpZ1/M3VzxEJLmE0A3LWmEAntEV7dSPRad4FUEcckzPtCHrW7 -FNJPVbwcENO5oFPEYpNw8VZ327iWP8ERJxEU5IL+qI7UcIrM6xiGOcd+qXkbN9Aq -kTL97ibagvxVOpwkGx8cLLEMgf7pjei+23KbEBQ8nXiveYb0UMurW9r/7zHMOzDK -OZEhVB46C+WXOAzm8IqrPqexe0tFiCTAcyTnI5oAjM4GeyZnO2zJq5uNxi8zmlSy -I7j1VaTqe2ICf5akX+yt4WV6zHWl5AptNWi/C+fXft1X3Y6dxx75mKQofG3Pio7P -50fUXPtiSivx9dyx91uQq/BZ3PxT+k4G77zcLEFdNYBvAgMBAAGjHjAcMBoGA1Ud -EQQTMBGCCWxvY2FsaG9zdIcEfwAAATANBgkqhkiG9w0BAQsFAAOCAgEABL8kffi7 -48qSD+/l/UwCYdmqta1vAbOkvLnPtfXe1XlDpJipNuPxUBc8nNTemtrbg0erNJnC -jQHodqmdKBJJOdaEKTwAGp5pYvvjlU3WasmhfJy+QwOWgeqjJcTUo3+DEaHRls16 -AZXlsp3hB6z0gzR/qzUuZwpMbL477JpuZtAcwLYeVvLG8bQRyWyEy8JgGDoYSn8s -Z16s+r6AX+cnL/2GHkZ+oc3iuXJbnac4xfWTKDiYnyzK6RWRnoyro7X0jiPz6XX3 -wyoWzB1uMSCXscrW6ZcKyKqz75lySLuwGxOMhX4nGOoYHY0ZtrYn5WK2ZAJxsQnn -8QcjPB0nq37U7ifk1uebmuXe99iqyKnWaLvlcpe+HnO5pVxFkSQEf7Zh+hEnRDkN -IBzLFnqwDS1ug/oQ1aSvc8oBh2ylKDJuGtPNqGKibNJyb2diXO/aEUOKRUKPAxKa -dbKsc4Y1bhZNN3/MICMoyghwAOiuwUQMR5uhxTkQmZUwNrPFa+eW6GvyoYLFUsZs -hZfWLNGD5mLADElxs0HF7F9Zk6pSocTDXba4d4lfxsq88SyZZ7PbjJYFRfLQPzd1 -CfvpRPqolEmZo1Y5Q644PELYiJRKpBxmX5GtC5j5eaUD9XdGKvXsGhb0m0gW75rq -iUnnLkZt2ya1cDJDiCnJjo7r5KxMo0XXFDc= ------END CERTIFICATE----- diff --git a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/utils.go b/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/utils.go deleted file mode 100644 index 24ec9819f08..00000000000 --- a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/utils.go +++ /dev/null @@ -1,284 +0,0 @@ -/* -Copyright 2016 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vclib - -import ( - "fmt" - "path/filepath" - "regexp" - "strconv" - "strings" - - "github.com/vmware/govmomi/find" - "github.com/vmware/govmomi/object" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" - "k8s.io/klog/v2" -) - -// IsNotFound return true if err is NotFoundError or DefaultNotFoundError -func IsNotFound(err error) bool { - _, ok := err.(*find.NotFoundError) - if ok { - return true - } - - _, ok = err.(*find.DefaultNotFoundError) - if ok { - return true - } - - return false -} - -func getFinder(dc *Datacenter) *find.Finder { - finder := find.NewFinder(dc.Client(), false) - finder.SetDatacenter(dc.Datacenter) - return finder -} - -// formatVirtualDiskUUID removes any spaces and hyphens in UUID -// Example UUID input is 42375390-71f9-43a3-a770-56803bcd7baa and output after format is 4237539071f943a3a77056803bcd7baa -func formatVirtualDiskUUID(uuid string) string { - uuidwithNoSpace := strings.Replace(uuid, " ", "", -1) - uuidWithNoHypens := strings.Replace(uuidwithNoSpace, "-", "", -1) - return strings.ToLower(uuidWithNoHypens) -} - -// getSCSIControllersOfType filters specific type of Controller device from given list of Virtual Machine Devices -func getSCSIControllersOfType(vmDevices object.VirtualDeviceList, scsiType string) []*types.VirtualController { - // get virtual scsi controllers of passed argument type - var scsiControllers []*types.VirtualController - for _, device := range vmDevices { - devType := vmDevices.Type(device) - if devType == scsiType { - if c, ok := device.(types.BaseVirtualController); ok { - scsiControllers = append(scsiControllers, c.GetVirtualController()) - } - } - } - return scsiControllers -} - -// getAvailableSCSIController gets available SCSI Controller from list of given controllers, which has less than 15 disk devices. -func getAvailableSCSIController(scsiControllers []*types.VirtualController) *types.VirtualController { - // get SCSI controller which has space for adding more devices - for _, controller := range scsiControllers { - if len(controller.Device) < SCSIControllerDeviceLimit { - return controller - } - } - return nil -} - -// getNextUnitNumber gets the next available SCSI controller unit number from given list of Controller Device List -func getNextUnitNumber(devices object.VirtualDeviceList, c types.BaseVirtualController) (int32, error) { - var takenUnitNumbers [SCSIDeviceSlots]bool - takenUnitNumbers[SCSIReservedSlot] = true - key := c.GetVirtualController().Key - - for _, device := range devices { - d := device.GetVirtualDevice() - if d.ControllerKey == key { - if d.UnitNumber != nil && *d.UnitNumber < SCSIDeviceSlots { - takenUnitNumbers[*d.UnitNumber] = true - } - } - } - for unitNumber, takenUnitNumber := range takenUnitNumbers { - if !takenUnitNumber { - return int32(unitNumber), nil - } - } - return -1, fmt.Errorf("SCSI Controller with key=%d does not have any available slots", key) -} - -// getSCSIControllers filters and return list of Controller Devices from given list of Virtual Machine Devices. -func getSCSIControllers(vmDevices object.VirtualDeviceList) []*types.VirtualController { - // get all virtual scsi controllers - var scsiControllers []*types.VirtualController - for _, device := range vmDevices { - devType := vmDevices.Type(device) - switch devType { - case SCSIControllerType, strings.ToLower(LSILogicControllerType), strings.ToLower(BusLogicControllerType), PVSCSIControllerType, strings.ToLower(LSILogicSASControllerType): - if c, ok := device.(types.BaseVirtualController); ok { - scsiControllers = append(scsiControllers, c.GetVirtualController()) - } - } - } - return scsiControllers -} - -// RemoveStorageClusterORFolderNameFromVDiskPath removes the cluster or folder path from the vDiskPath -// for vDiskPath [DatastoreCluster/sharedVmfs-0] kubevols/e2e-vmdk-1234.vmdk, return value is [sharedVmfs-0] kubevols/e2e-vmdk-1234.vmdk -// for vDiskPath [sharedVmfs-0] kubevols/e2e-vmdk-1234.vmdk, return value remains same [sharedVmfs-0] kubevols/e2e-vmdk-1234.vmdk -func RemoveStorageClusterORFolderNameFromVDiskPath(vDiskPath string) string { - datastore := regexp.MustCompile("\\[(.*?)\\]").FindStringSubmatch(vDiskPath)[1] - if filepath.Base(datastore) != datastore { - vDiskPath = strings.Replace(vDiskPath, datastore, filepath.Base(datastore), 1) - } - return vDiskPath -} - -// GetPathFromVMDiskPath retrieves the path from VM Disk Path. -// Example: For vmDiskPath - [vsanDatastore] kubevols/volume.vmdk, the path is kubevols/volume.vmdk -func GetPathFromVMDiskPath(vmDiskPath string) string { - datastorePathObj := new(object.DatastorePath) - isSuccess := datastorePathObj.FromString(vmDiskPath) - if !isSuccess { - klog.Errorf("Failed to parse vmDiskPath: %s", vmDiskPath) - return "" - } - return datastorePathObj.Path -} - -// GetDatastorePathObjFromVMDiskPath gets the datastorePathObj from VM disk path. -func GetDatastorePathObjFromVMDiskPath(vmDiskPath string) (*object.DatastorePath, error) { - datastorePathObj := new(object.DatastorePath) - isSuccess := datastorePathObj.FromString(vmDiskPath) - if !isSuccess { - klog.Errorf("Failed to parse volPath: %s", vmDiskPath) - return nil, fmt.Errorf("failed to parse volPath: %s", vmDiskPath) - } - return datastorePathObj, nil -} - -// IsValidUUID checks if the string is a valid UUID. -func IsValidUUID(uuid string) bool { - r := regexp.MustCompile("^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$") - return r.MatchString(uuid) -} - -// IsManagedObjectNotFoundError returns true if error is of type ManagedObjectNotFound -func IsManagedObjectNotFoundError(err error) bool { - isManagedObjectNotFoundError := false - if soap.IsSoapFault(err) { - _, isManagedObjectNotFoundError = soap.ToSoapFault(err).VimFault().(types.ManagedObjectNotFound) - } - return isManagedObjectNotFoundError -} - -// IsInvalidCredentialsError returns true if error is of type InvalidLogin -func IsInvalidCredentialsError(err error) bool { - isInvalidCredentialsError := false - if soap.IsSoapFault(err) { - _, isInvalidCredentialsError = soap.ToSoapFault(err).VimFault().(types.InvalidLogin) - } - return isInvalidCredentialsError -} - -// VerifyVolumePathsForVMDevices verifies if the volume paths (volPaths) are attached to VM. -func VerifyVolumePathsForVMDevices(vmDevices object.VirtualDeviceList, volPaths []string, nodeName string, nodeVolumeMap map[string]map[string]bool) { - volPathsMap := make(map[string]bool) - for _, volPath := range volPaths { - volPathsMap[volPath] = true - } - // Verify if the volume paths are present on the VM backing virtual disk devices - for _, device := range vmDevices { - if vmDevices.TypeName(device) == "VirtualDisk" { - virtualDevice := device.GetVirtualDevice() - if backing, ok := virtualDevice.Backing.(*types.VirtualDiskFlatVer2BackingInfo); ok { - if volPathsMap[backing.FileName] { - setNodeVolumeMap(nodeVolumeMap, backing.FileName, nodeName, true) - } - } - } - } - -} - -// isvCenterNotSupported takes vCenter version and vCenter API version as input and return true if vCenter is no longer -// supported by VMware for in-tree vSphere volume plugin -func isvCenterNotSupported(vCenterVersion string, vCenterAPIVersion string) (bool, error) { - var vcversion, vcapiversion, minvcversion vcVersion - var err error - err = vcversion.parse(vCenterVersion) - if err != nil { - return false, fmt.Errorf("failed to parse vCenter version: %s. err: %+v", vCenterVersion, err) - } - err = vcapiversion.parse(vCenterAPIVersion) - if err != nil { - return false, fmt.Errorf("failed to parse vCenter API version: %s. err: %+v", vCenterAPIVersion, err) - } - err = minvcversion.parse(MinvCenterVersion) - if err != nil { - return false, fmt.Errorf("failed to parse minimum vCenter version: %s. err: %+v", MinvCenterVersion, err) - } - if vcversion.isLessThan(minvcversion) && vcapiversion.isLessThan(minvcversion) { - return true, nil - } - return false, nil -} - -// vcVersion represents a VC version -type vcVersion struct { - Major int64 - Minor int64 - Revision int64 - Build int64 -} - -// parse helps parse version string to VCVersion -// returns error when parse fail -func (v *vcVersion) parse(version string) error { - for index, value := range strings.Split(version, ".") { - var err error - if index == 0 { - v.Major, err = strconv.ParseInt(value, 10, 64) - } else if index == 1 { - v.Minor, err = strconv.ParseInt(value, 10, 64) - } else if index == 2 { - v.Revision, err = strconv.ParseInt(value, 10, 64) - } else if index == 3 { - v.Build, err = strconv.ParseInt(value, 10, 64) - } - if err != nil { - return fmt.Errorf("failed to parse version: %q, err: %v", version, err) - } - } - return nil -} - -// isLessThan compares VCVersion v to o and returns -// true if v is less than o -func (v *vcVersion) isLessThan(o vcVersion) bool { - if v.Major != o.Major { - if v.Major > o.Major { - return false - } - return true - } - if v.Minor != o.Minor { - if v.Minor > o.Minor { - return false - } - return true - } - if v.Revision != o.Revision { - if v.Revision > o.Revision { - return false - } - return true - } - if v.Build != o.Build { - if v.Build > o.Build { - return false - } - return true - } - return false -} diff --git a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/utils_test.go b/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/utils_test.go deleted file mode 100644 index 08f6b89bee0..00000000000 --- a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/utils_test.go +++ /dev/null @@ -1,163 +0,0 @@ -/* -Copyright 2018 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vclib - -import ( - "context" - "testing" - - "github.com/vmware/govmomi" - "github.com/vmware/govmomi/object" - "github.com/vmware/govmomi/simulator" - "github.com/vmware/govmomi/vim25/types" -) - -func TestUtils(t *testing.T) { - ctx := context.Background() - - model := simulator.VPX() - // Child folder "F0" will be created under the root folder and datacenter folders, - // and all resources are created within the "F0" child folders. - model.Folder = 1 - - defer model.Remove() - err := model.Create() - if err != nil { - t.Fatal(err) - } - - s := model.Service.NewServer() - defer s.Close() - - c, err := govmomi.NewClient(ctx, s.URL, true) - if err != nil { - t.Fatal(err) - } - - vc := &VSphereConnection{Client: c.Client} - - dc, err := GetDatacenter(ctx, vc, TestDefaultDatacenter) - if err != nil { - t.Error(err) - } - - finder := getFinder(dc) - datastores, err := finder.DatastoreList(ctx, "*") - if err != nil { - t.Fatal(err) - } - - count := model.Count() - if count.Datastore != len(datastores) { - t.Errorf("got %d Datastores, expected: %d", len(datastores), count.Datastore) - } - - _, err = finder.Datastore(ctx, testNameNotFound) - if !IsNotFound(err) { - t.Errorf("unexpected error: %s", err) - } -} - -func TestIsvCenterNotSupported(t *testing.T) { - type testsData struct { - vcVersion string - vcAPIVersion string - isNotSupported bool - } - testdataArray := []testsData{ - {"8.0.0", "8.0.0.0", false}, - {"7.0.3", "7.0.3.0", false}, - {"7.0.2", "7.0.2.0", false}, - {"7.0.1", "7.0.1.1", true}, - {"7.0.0", "7.0.0.0", true}, - {"6.7.0", "6.7.3", true}, - {"6.7.0", "6.7", true}, - {"6.7.0", "6.7.2", true}, - {"6.7.0", "6.7.1", true}, - {"6.5.0", "6.5", true}, - } - - for _, test := range testdataArray { - notsupported, err := isvCenterNotSupported(test.vcVersion, test.vcAPIVersion) - if err != nil { - t.Fatal(err) - } - if notsupported != test.isNotSupported { - t.Fatalf("test failed for vc version: %q and vc API version: %q", - test.vcVersion, test.vcAPIVersion) - } else { - t.Logf("test for vc version: %q and vc API version: %q passed. Is Not Supported : %v", - test.vcAPIVersion, test.vcAPIVersion, notsupported) - } - } -} - -func TestGetNextUnitNumber(t *testing.T) { - type testData struct { - name string - deviceList object.VirtualDeviceList - expectValue int32 - expectError bool - } - tests := []testData{ - { - name: "should return 3 when devices 0-2 taken", - deviceList: generateVirtualDeviceList([]int32{0, 1, 2}), - expectValue: 3, - }, - { - name: "should return 0 when devices 1-3 taken", - deviceList: generateVirtualDeviceList([]int32{1, 2, 3}), - expectValue: 0, - }, - { - name: "should return error when no slots available", - deviceList: generateVirtualDeviceList([]int32{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15}), - expectValue: -1, - expectError: true, - }, - { - name: "should ignore invalid UnitNumber in device list", - deviceList: generateVirtualDeviceList([]int32{0, 1, 16}), - expectValue: 2, - }, - } - - controller := &types.VirtualController{} - for _, test := range tests { - val, err := getNextUnitNumber(test.deviceList, controller) - if err != nil && !test.expectError { - t.Fatalf("%s: unexpected error: %v", test.name, err) - } - if val != test.expectValue { - t.Fatalf("%s: expected value %v but got %v", test.name, test.expectValue, val) - } - } -} - -func generateVirtualDeviceList(unitNumbers []int32) object.VirtualDeviceList { - deviceList := object.VirtualDeviceList{} - for _, val := range unitNumbers { - unitNum := val - dev := &types.VirtualDevice{ - Key: unitNum, - UnitNumber: &unitNum, - } - deviceList = append(deviceList, dev) - } - return deviceList -} diff --git a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/virtualmachine.go b/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/virtualmachine.go deleted file mode 100644 index a5e170438ad..00000000000 --- a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/virtualmachine.go +++ /dev/null @@ -1,472 +0,0 @@ -/* -Copyright 2016 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vclib - -import ( - "context" - "fmt" - "strings" - "time" - - "github.com/vmware/govmomi/object" - "github.com/vmware/govmomi/property" - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/types" - "k8s.io/klog/v2" -) - -// VirtualMachine extends the govmomi VirtualMachine object -type VirtualMachine struct { - *object.VirtualMachine - Datacenter *Datacenter -} - -// IsDiskAttached checks if disk is attached to the VM. -func (vm *VirtualMachine) IsDiskAttached(ctx context.Context, diskPath string) (bool, error) { - device, err := vm.getVirtualDeviceByPath(ctx, diskPath) - if err != nil { - return false, err - } - if device != nil { - return true, nil - } - return false, nil -} - -// DeleteVM deletes the VM. -func (vm *VirtualMachine) DeleteVM(ctx context.Context) error { - destroyTask, err := vm.Destroy(ctx) - if err != nil { - klog.Errorf("Failed to delete the VM: %q. err: %+v", vm.InventoryPath, err) - return err - } - return destroyTask.Wait(ctx) -} - -// AttachDisk attaches the disk at location - vmDiskPath from Datastore - dsObj to the Virtual Machine -// Additionally the disk can be configured with SPBM policy if volumeOptions.StoragePolicyID is non-empty. -func (vm *VirtualMachine) AttachDisk(ctx context.Context, vmDiskPath string, volumeOptions *VolumeOptions) (string, error) { - // Check if the diskControllerType is valid - if !CheckControllerSupported(volumeOptions.SCSIControllerType) { - return "", fmt.Errorf("Not a valid SCSI Controller Type. Valid options are %q", SCSIControllerTypeValidOptions()) - } - vmDiskPathCopy := vmDiskPath - vmDiskPath = RemoveStorageClusterORFolderNameFromVDiskPath(vmDiskPath) - attached, err := vm.IsDiskAttached(ctx, vmDiskPath) - if err != nil { - klog.Errorf("Error occurred while checking if disk is attached on VM: %q. vmDiskPath: %q, err: %+v", vm.InventoryPath, vmDiskPath, err) - return "", err - } - // If disk is already attached, return the disk UUID - if attached { - diskUUID, _ := vm.Datacenter.GetVirtualDiskPage83Data(ctx, vmDiskPath) - return diskUUID, nil - } - - if volumeOptions.StoragePolicyName != "" { - pbmClient, err := NewPbmClient(ctx, vm.Client()) - if err != nil { - klog.Errorf("Error occurred while creating new pbmClient. err: %+v", err) - return "", err - } - - volumeOptions.StoragePolicyID, err = pbmClient.ProfileIDByName(ctx, volumeOptions.StoragePolicyName) - if err != nil { - klog.Errorf("Failed to get Profile ID by name: %s. err: %+v", volumeOptions.StoragePolicyName, err) - return "", err - } - } - - dsObj, err := vm.Datacenter.GetDatastoreByPath(ctx, vmDiskPathCopy) - if err != nil { - klog.Errorf("Failed to get datastore from vmDiskPath: %q. err: %+v", vmDiskPath, err) - return "", err - } - // If disk is not attached, create a disk spec for disk to be attached to the VM. - disk, newSCSIController, err := vm.CreateDiskSpec(ctx, vmDiskPath, dsObj, volumeOptions) - if err != nil { - klog.Errorf("Error occurred while creating disk spec. err: %+v", err) - return "", err - } - vmDevices, err := vm.Device(ctx) - if err != nil { - klog.Errorf("Failed to retrieve VM devices for VM: %q. err: %+v", vm.InventoryPath, err) - return "", err - } - virtualMachineConfigSpec := types.VirtualMachineConfigSpec{} - deviceConfigSpec := &types.VirtualDeviceConfigSpec{ - Device: disk, - Operation: types.VirtualDeviceConfigSpecOperationAdd, - } - // Configure the disk with the SPBM profile only if ProfileID is not empty. - if volumeOptions.StoragePolicyID != "" { - profileSpec := &types.VirtualMachineDefinedProfileSpec{ - ProfileId: volumeOptions.StoragePolicyID, - } - deviceConfigSpec.Profile = append(deviceConfigSpec.Profile, profileSpec) - } - virtualMachineConfigSpec.DeviceChange = append(virtualMachineConfigSpec.DeviceChange, deviceConfigSpec) - requestTime := time.Now() - task, err := vm.Reconfigure(ctx, virtualMachineConfigSpec) - if err != nil { - RecordvSphereMetric(APIAttachVolume, requestTime, err) - klog.Errorf("Failed to attach the disk with storagePolicy: %q on VM: %q. err - %+v", volumeOptions.StoragePolicyID, vm.InventoryPath, err) - if newSCSIController != nil { - nestedErr := vm.deleteController(ctx, newSCSIController, vmDevices) - if nestedErr != nil { - return "", fmt.Errorf("failed to delete SCSI Controller after reconfiguration failed with err=%v: %v", err, nestedErr) - } - } - return "", err - } - err = task.Wait(ctx) - RecordvSphereMetric(APIAttachVolume, requestTime, err) - if err != nil { - klog.Errorf("Failed to attach the disk with storagePolicy: %+q on VM: %q. err - %+v", volumeOptions.StoragePolicyID, vm.InventoryPath, err) - if newSCSIController != nil { - nestedErr := vm.deleteController(ctx, newSCSIController, vmDevices) - if nestedErr != nil { - return "", fmt.Errorf("failed to delete SCSI Controller after waiting for reconfiguration failed with err='%v': %v", err, nestedErr) - } - } - return "", err - } - - // Once disk is attached, get the disk UUID. - diskUUID, err := vm.Datacenter.GetVirtualDiskPage83Data(ctx, vmDiskPath) - if err != nil { - klog.Errorf("Error occurred while getting Disk Info from VM: %q. err: %v", vm.InventoryPath, err) - nestedErr := vm.DetachDisk(ctx, vmDiskPath) - if nestedErr != nil { - return "", fmt.Errorf("failed to detach disk after getting VM UUID failed with err='%v': %v", err, nestedErr) - } - if newSCSIController != nil { - nestedErr = vm.deleteController(ctx, newSCSIController, vmDevices) - if nestedErr != nil { - return "", fmt.Errorf("failed to delete SCSI Controller after getting VM UUID failed with err='%v': %v", err, nestedErr) - } - } - return "", err - } - return diskUUID, nil -} - -// GetHost returns host of the virtual machine -func (vm *VirtualMachine) GetHost(ctx context.Context) (mo.HostSystem, error) { - host, err := vm.HostSystem(ctx) - var hostSystemMo mo.HostSystem - if err != nil { - klog.Errorf("Failed to get host system for VM: %q. err: %+v", vm.InventoryPath, err) - return hostSystemMo, err - } - - s := object.NewSearchIndex(vm.Client()) - err = s.Properties(ctx, host.Reference(), []string{"summary"}, &hostSystemMo) - if err != nil { - klog.Errorf("Failed to retrieve datastores for host: %+v. err: %+v", host, err) - return hostSystemMo, err - } - return hostSystemMo, nil -} - -// DetachDisk detaches the disk specified by vmDiskPath -func (vm *VirtualMachine) DetachDisk(ctx context.Context, vmDiskPath string) error { - device, err := vm.getVirtualDeviceByPath(ctx, vmDiskPath) - if err != nil { - klog.Errorf("Disk ID not found for VM: %q with diskPath: %q", vm.InventoryPath, vmDiskPath) - return err - } - if device == nil { - klog.Errorf("No virtual device found with diskPath: %q on VM: %q", vmDiskPath, vm.InventoryPath) - return fmt.Errorf("No virtual device found with diskPath: %q on VM: %q", vmDiskPath, vm.InventoryPath) - } - // Detach disk from VM - requestTime := time.Now() - err = vm.RemoveDevice(ctx, true, device) - RecordvSphereMetric(APIDetachVolume, requestTime, err) - if err != nil { - klog.Errorf("Error occurred while removing disk device for VM: %q. err: %v", vm.InventoryPath, err) - return err - } - return nil -} - -// GetResourcePool gets the resource pool for VM. -func (vm *VirtualMachine) GetResourcePool(ctx context.Context) (*object.ResourcePool, error) { - vmMoList, err := vm.Datacenter.GetVMMoList(ctx, []*VirtualMachine{vm}, []string{"resourcePool"}) - if err != nil { - klog.Errorf("Failed to get resource pool from VM: %q. err: %+v", vm.InventoryPath, err) - return nil, err - } - return object.NewResourcePool(vm.Client(), vmMoList[0].ResourcePool.Reference()), nil -} - -// IsActive checks if the VM is active. -// Returns true if VM is in poweredOn state. -func (vm *VirtualMachine) IsActive(ctx context.Context) (bool, error) { - vmMoList, err := vm.Datacenter.GetVMMoList(ctx, []*VirtualMachine{vm}, []string{"summary"}) - if err != nil { - klog.Errorf("Failed to get VM Managed object with property summary. err: +%v", err) - return false, err - } - if vmMoList[0].Summary.Runtime.PowerState == ActivePowerState { - return true, nil - } - - return false, nil -} - -// Exists checks if VM exists and is not terminated -func (vm *VirtualMachine) Exists(ctx context.Context) (bool, error) { - vmMoList, err := vm.Datacenter.GetVMMoList(ctx, []*VirtualMachine{vm}, []string{"summary.runtime.powerState"}) - if err != nil { - klog.Errorf("Failed to get VM Managed object with property summary. err: +%v", err) - return false, err - } - // We check for VMs which are still available in vcenter and has not been terminated/removed from - // disk and hence we consider PoweredOn,PoweredOff and Suspended as alive states. - aliveStates := []types.VirtualMachinePowerState{ - types.VirtualMachinePowerStatePoweredOff, - types.VirtualMachinePowerStatePoweredOn, - types.VirtualMachinePowerStateSuspended, - } - currentState := vmMoList[0].Summary.Runtime.PowerState - for _, state := range aliveStates { - if state == currentState { - return true, nil - } - } - return false, nil -} - -// GetAllAccessibleDatastores gets the list of accessible Datastores for the given Virtual Machine -func (vm *VirtualMachine) GetAllAccessibleDatastores(ctx context.Context) ([]*DatastoreInfo, error) { - host, err := vm.HostSystem(ctx) - if err != nil { - klog.Errorf("Failed to get host system for VM: %q. err: %+v", vm.InventoryPath, err) - return nil, err - } - var hostSystemMo mo.HostSystem - s := object.NewSearchIndex(vm.Client()) - err = s.Properties(ctx, host.Reference(), []string{DatastoreProperty}, &hostSystemMo) - if err != nil { - klog.Errorf("Failed to retrieve datastores for host: %+v. err: %+v", host, err) - return nil, err - } - var dsRefList []types.ManagedObjectReference - dsRefList = append(dsRefList, hostSystemMo.Datastore...) - - var dsMoList []mo.Datastore - pc := property.DefaultCollector(vm.Client()) - properties := []string{DatastoreInfoProperty, NameProperty} - err = pc.Retrieve(ctx, dsRefList, properties, &dsMoList) - if err != nil { - klog.Errorf("Failed to get Datastore managed objects from datastore objects."+ - " dsObjList: %+v, properties: %+v, err: %v", dsRefList, properties, err) - return nil, err - } - klog.V(9).Infof("Result dsMoList: %+v", dsMoList) - finder := getFinder(vm.Datacenter) - var dsObjList []*DatastoreInfo - for _, dsMo := range dsMoList { - // use the finder so that InventoryPath is set correctly in ds - ds, err := finder.Datastore(ctx, dsMo.Name) - if err != nil { - klog.Errorf("Failed finding datastore: %s. err: %+v", dsMo.Name, err) - return nil, err - } - datastore := Datastore{ds, vm.Datacenter} - dsObjList = append(dsObjList, - &DatastoreInfo{ - &datastore, - dsMo.Info.GetDatastoreInfo()}) - } - return dsObjList, nil -} - -// CreateDiskSpec creates a disk spec for disk -func (vm *VirtualMachine) CreateDiskSpec(ctx context.Context, diskPath string, dsObj *Datastore, volumeOptions *VolumeOptions) (*types.VirtualDisk, types.BaseVirtualDevice, error) { - var newSCSIController types.BaseVirtualDevice - vmDevices, err := vm.Device(ctx) - if err != nil { - klog.Errorf("Failed to retrieve VM devices. err: %+v", err) - return nil, nil, err - } - // find SCSI controller of particular type from VM devices - scsiControllersOfRequiredType := getSCSIControllersOfType(vmDevices, volumeOptions.SCSIControllerType) - scsiController := getAvailableSCSIController(scsiControllersOfRequiredType) - if scsiController == nil { - newSCSIController, err = vm.createAndAttachSCSIController(ctx, volumeOptions.SCSIControllerType) - if err != nil { - klog.Errorf("Failed to create SCSI controller for VM :%q with err: %+v", vm.InventoryPath, err) - return nil, nil, err - } - // Get VM device list - vmDevices, err := vm.Device(ctx) - if err != nil { - klog.Errorf("Failed to retrieve VM devices. err: %v", err) - return nil, nil, err - } - // verify scsi controller in virtual machine - scsiControllersOfRequiredType := getSCSIControllersOfType(vmDevices, volumeOptions.SCSIControllerType) - scsiController = getAvailableSCSIController(scsiControllersOfRequiredType) - if scsiController == nil { - klog.Errorf("Cannot find SCSI controller of type: %q in VM", volumeOptions.SCSIControllerType) - // attempt clean up of scsi controller - if err := vm.deleteController(ctx, newSCSIController, vmDevices); err != nil { - return nil, nil, fmt.Errorf("failed to delete SCSI controller after failing to find it on VM: %v", err) - } - return nil, nil, fmt.Errorf("cannot find SCSI controller of type: %q in VM", volumeOptions.SCSIControllerType) - } - } - disk := vmDevices.CreateDisk(scsiController, dsObj.Reference(), diskPath) - unitNumber, err := getNextUnitNumber(vmDevices, scsiController) - if err != nil { - klog.Errorf("Cannot attach disk to VM, unitNumber limit reached - %+v.", err) - return nil, nil, err - } - *disk.UnitNumber = unitNumber - backing := disk.Backing.(*types.VirtualDiskFlatVer2BackingInfo) - backing.DiskMode = string(types.VirtualDiskModeIndependent_persistent) - - if volumeOptions.CapacityKB != 0 { - disk.CapacityInKB = int64(volumeOptions.CapacityKB) - } - if volumeOptions.DiskFormat != "" { - var diskFormat string - diskFormat = DiskFormatValidType[volumeOptions.DiskFormat] - switch diskFormat { - case ThinDiskType: - backing.ThinProvisioned = types.NewBool(true) - case EagerZeroedThickDiskType: - backing.EagerlyScrub = types.NewBool(true) - default: - backing.ThinProvisioned = types.NewBool(false) - } - } - return disk, newSCSIController, nil -} - -// GetVirtualDiskPath gets the first available virtual disk devicePath from the VM -func (vm *VirtualMachine) GetVirtualDiskPath(ctx context.Context) (string, error) { - vmDevices, err := vm.Device(ctx) - if err != nil { - klog.Errorf("Failed to get the devices for VM: %q. err: %+v", vm.InventoryPath, err) - return "", err - } - // filter vm devices to retrieve device for the given vmdk file identified by disk path - for _, device := range vmDevices { - if vmDevices.TypeName(device) == "VirtualDisk" { - virtualDevice := device.GetVirtualDevice() - if backing, ok := virtualDevice.Backing.(*types.VirtualDiskFlatVer2BackingInfo); ok { - return backing.FileName, nil - } - } - } - return "", nil -} - -// createAndAttachSCSIController creates and attachs the SCSI controller to the VM. -func (vm *VirtualMachine) createAndAttachSCSIController(ctx context.Context, diskControllerType string) (types.BaseVirtualDevice, error) { - // Get VM device list - vmDevices, err := vm.Device(ctx) - if err != nil { - klog.Errorf("Failed to retrieve VM devices for VM: %q. err: %+v", vm.InventoryPath, err) - return nil, err - } - allSCSIControllers := getSCSIControllers(vmDevices) - if len(allSCSIControllers) >= SCSIControllerLimit { - // we reached the maximum number of controllers we can attach - klog.Errorf("SCSI Controller Limit of %d has been reached, cannot create another SCSI controller", SCSIControllerLimit) - return nil, fmt.Errorf("SCSI Controller Limit of %d has been reached, cannot create another SCSI controller", SCSIControllerLimit) - } - newSCSIController, err := vmDevices.CreateSCSIController(diskControllerType) - if err != nil { - klog.Errorf("Failed to create new SCSI controller on VM: %q. err: %+v", vm.InventoryPath, err) - return nil, err - } - configNewSCSIController := newSCSIController.(types.BaseVirtualSCSIController).GetVirtualSCSIController() - hotAndRemove := true - configNewSCSIController.HotAddRemove = &hotAndRemove - configNewSCSIController.SharedBus = types.VirtualSCSISharing(types.VirtualSCSISharingNoSharing) - - // add the scsi controller to virtual machine - err = vm.AddDevice(context.TODO(), newSCSIController) - if err != nil { - klog.V(LogLevel).Infof("Cannot add SCSI controller to VM: %q. err: %+v", vm.InventoryPath, err) - // attempt clean up of scsi controller - nestedErr := vm.deleteController(ctx, newSCSIController, vmDevices) - if nestedErr != nil { - return nil, fmt.Errorf("failed to delete SCSI controller after failing to add it to vm with err='%v': %v", err, nestedErr) - } - return nil, err - } - return newSCSIController, nil -} - -// getVirtualDeviceByPath gets the virtual device by path -func (vm *VirtualMachine) getVirtualDeviceByPath(ctx context.Context, diskPath string) (types.BaseVirtualDevice, error) { - vmDevices, err := vm.Device(ctx) - if err != nil { - klog.Errorf("Failed to get the devices for VM: %q. err: %+v", vm.InventoryPath, err) - return nil, err - } - - // filter vm devices to retrieve device for the given vmdk file identified by disk path - for _, device := range vmDevices { - if vmDevices.TypeName(device) == "VirtualDisk" { - virtualDevice := device.GetVirtualDevice() - if backing, ok := virtualDevice.Backing.(*types.VirtualDiskFlatVer2BackingInfo); ok { - if matchVirtualDiskAndVolPath(backing.FileName, diskPath) { - klog.V(LogLevel).Infof("Found VirtualDisk backing with filename %q for diskPath %q", backing.FileName, diskPath) - return device, nil - } - } - } - } - return nil, nil -} - -func matchVirtualDiskAndVolPath(diskPath, volPath string) bool { - fileExt := ".vmdk" - diskPath = strings.TrimSuffix(diskPath, fileExt) - volPath = strings.TrimSuffix(volPath, fileExt) - return diskPath == volPath -} - -// deleteController removes latest added SCSI controller from VM. -func (vm *VirtualMachine) deleteController(ctx context.Context, controllerDevice types.BaseVirtualDevice, vmDevices object.VirtualDeviceList) error { - controllerDeviceList := vmDevices.SelectByType(controllerDevice) - if len(controllerDeviceList) < 1 { - return ErrNoDevicesFound - } - device := controllerDeviceList[len(controllerDeviceList)-1] - err := vm.RemoveDevice(ctx, true, device) - if err != nil { - klog.Errorf("Error occurred while removing device on VM: %q. err: %+v", vm.InventoryPath, err) - return err - } - return nil -} - -// RenewVM renews this virtual machine with new client connection. -func (vm *VirtualMachine) RenewVM(client *vim25.Client) VirtualMachine { - dc := Datacenter{Datacenter: object.NewDatacenter(client, vm.Datacenter.Reference())} - newVM := object.NewVirtualMachine(client, vm.VirtualMachine.Reference()) - return VirtualMachine{VirtualMachine: newVM, Datacenter: &dc} -} diff --git a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/virtualmachine_test.go b/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/virtualmachine_test.go deleted file mode 100644 index e92514d8a4c..00000000000 --- a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/virtualmachine_test.go +++ /dev/null @@ -1,170 +0,0 @@ -/* -Copyright 2016 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vclib - -import ( - "context" - "testing" - - "github.com/vmware/govmomi" - "github.com/vmware/govmomi/simulator" -) - -func TestVirtualMachine(t *testing.T) { - ctx := context.Background() - - model := simulator.VPX() - - defer model.Remove() - err := model.Create() - if err != nil { - t.Fatal(err) - } - - s := model.Service.NewServer() - defer s.Close() - - c, err := govmomi.NewClient(ctx, s.URL, true) - if err != nil { - t.Fatal(err) - } - - vc := &VSphereConnection{Client: c.Client} - - dc, err := GetDatacenter(ctx, vc, TestDefaultDatacenter) - if err != nil { - t.Error(err) - } - - folders, err := dc.Folders(ctx) - if err != nil { - t.Fatal(err) - } - - folder, err := dc.GetFolderByPath(ctx, folders.VmFolder.InventoryPath) - if err != nil { - t.Fatal(err) - } - - vms, err := folder.GetVirtualMachines(ctx) - if err != nil { - t.Fatal(err) - } - - if len(vms) == 0 { - t.Fatal("no VMs") - } - - for _, vm := range vms { - all, err := vm.GetAllAccessibleDatastores(ctx) - if err != nil { - t.Error(err) - } - if len(all) == 0 { - t.Error("no accessible datastores") - } - - _, err = vm.GetResourcePool(ctx) - if err != nil { - t.Error(err) - } - - diskPath, err := vm.GetVirtualDiskPath(ctx) - if err != nil { - t.Error(err) - } - - options := &VolumeOptions{SCSIControllerType: PVSCSIControllerType} - - for _, expect := range []bool{true, false} { - attached, err := vm.IsDiskAttached(ctx, diskPath) - if err != nil { - t.Error(err) - } - - if attached != expect { - t.Errorf("attached=%t, expected=%t", attached, expect) - } - - uuid, err := vm.AttachDisk(ctx, diskPath, options) - if err != nil { - t.Error(err) - } - if uuid == "" { - t.Error("missing uuid") - } - - err = vm.DetachDisk(ctx, diskPath) - if err != nil { - t.Error(err) - } - } - - for _, turnOff := range []bool{true, false} { - // Turn off for checking if exist return true - if turnOff { - _, _ = vm.PowerOff(ctx) - } - - exist, err := vm.Exists(ctx) - if err != nil { - t.Error(err) - } - if !exist { - t.Errorf("exist=%t, expected=%t", exist, true) - } - - // Turn back on - if turnOff { - _, _ = vm.PowerOn(ctx) - } - } - - for _, expect := range []bool{true, false} { - active, err := vm.IsActive(ctx) - if err != nil { - t.Error(err) - } - - if active != expect { - t.Errorf("active=%t, expected=%t", active, expect) - } - - if expect { - // Expecting to hit the error path since the VM is still powered on - err = vm.DeleteVM(ctx) - if err == nil { - t.Error("expected error") - } - _, _ = vm.PowerOff(ctx) - continue - } - - // Should be able to delete now that VM power is off - err = vm.DeleteVM(ctx) - if err != nil { - t.Error(err) - } - } - - // Expecting Exists func to throw error if VM deleted - _, err = vm.Exists(ctx) - if err == nil { - t.Error("expected error") - } - } -} diff --git a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/vmoptions.go b/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/vmoptions.go deleted file mode 100644 index 2648d85e22a..00000000000 --- a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/vmoptions.go +++ /dev/null @@ -1,27 +0,0 @@ -/* -Copyright 2016 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vclib - -import ( - "github.com/vmware/govmomi/object" -) - -// VMOptions provides helper objects for provisioning volume with SPBM Policy -type VMOptions struct { - VMFolder *Folder - VMResourcePool *object.ResourcePool -} diff --git a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/volumeoptions.go b/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/volumeoptions.go deleted file mode 100644 index ca9be55bed1..00000000000 --- a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/volumeoptions.go +++ /dev/null @@ -1,111 +0,0 @@ -/* -Copyright 2016 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vclib - -import ( - "fmt" - "strings" - - "k8s.io/api/core/v1" - "k8s.io/klog/v2" -) - -// VolumeOptions specifies various options for a volume. -type VolumeOptions struct { - CapacityKB int - Tags map[string]string - Name string - DiskFormat string - Datastore string - VSANStorageProfileData string - StoragePolicyName string - StoragePolicyID string - SCSIControllerType string - Zone []string - SelectedNode *v1.Node -} - -var ( - // DiskFormatValidType specifies the valid disk formats - DiskFormatValidType = map[string]string{ - ThinDiskType: ThinDiskType, - strings.ToLower(EagerZeroedThickDiskType): EagerZeroedThickDiskType, - strings.ToLower(ZeroedThickDiskType): PreallocatedDiskType, - } - // SCSIControllerValidType specifies the supported SCSI controllers - SCSIControllerValidType = []string{LSILogicControllerType, LSILogicSASControllerType, PVSCSIControllerType} -) - -// DiskformatValidOptions generates Valid Options for Diskformat -func DiskformatValidOptions() string { - validopts := "" - for diskformat := range DiskFormatValidType { - validopts += diskformat + ", " - } - validopts = strings.TrimSuffix(validopts, ", ") - return validopts -} - -// CheckDiskFormatSupported checks if the diskFormat is valid -func CheckDiskFormatSupported(diskFormat string) bool { - if DiskFormatValidType[diskFormat] == "" { - klog.Errorf("Not a valid Disk Format. Valid options are %+q", DiskformatValidOptions()) - return false - } - return true -} - -// SCSIControllerTypeValidOptions generates valid options for SCSIControllerType -func SCSIControllerTypeValidOptions() string { - validopts := "" - for _, controllerType := range SCSIControllerValidType { - validopts += (controllerType + ", ") - } - validopts = strings.TrimSuffix(validopts, ", ") - return validopts -} - -// CheckControllerSupported checks if the given controller type is valid -func CheckControllerSupported(ctrlType string) bool { - for _, c := range SCSIControllerValidType { - if ctrlType == c { - return true - } - } - klog.Errorf("Not a valid SCSI Controller Type. Valid options are %q", SCSIControllerTypeValidOptions()) - return false -} - -// VerifyVolumeOptions checks if volumeOptions.SCIControllerType is valid controller type -func (volumeOptions VolumeOptions) VerifyVolumeOptions() error { - // Validate only if SCSIControllerType is set by user. - // Default value is set later in virtualDiskManager.Create and vmDiskManager.Create - if volumeOptions.SCSIControllerType != "" { - isValid := CheckControllerSupported(volumeOptions.SCSIControllerType) - if !isValid { - return fmt.Errorf("invalid scsiControllerType: %s", volumeOptions.SCSIControllerType) - } - } - // ThinDiskType is the default, so skip the validation. - if volumeOptions.DiskFormat != ThinDiskType { - isValid := CheckDiskFormatSupported(volumeOptions.DiskFormat) - if !isValid { - return fmt.Errorf("invalid diskFormat: %s", volumeOptions.DiskFormat) - } - } - return nil -} diff --git a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/vsphere_metrics.go b/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/vsphere_metrics.go deleted file mode 100644 index b5eafc0038b..00000000000 --- a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vclib/vsphere_metrics.go +++ /dev/null @@ -1,192 +0,0 @@ -/* -Copyright 2017 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vclib - -import ( - "sync" - "time" - - "github.com/vmware/govmomi/vim25/types" - "k8s.io/component-base/metrics" - "k8s.io/component-base/metrics/legacyregistry" -) - -// Cloud Provider API constants -const ( - APICreateVolume = "CreateVolume" - APIDeleteVolume = "DeleteVolume" - APIAttachVolume = "AttachVolume" - APIDetachVolume = "DetachVolume" -) - -// Cloud Provider Operation constants -const ( - OperationDeleteVolume = "DeleteVolumeOperation" - OperationAttachVolume = "AttachVolumeOperation" - OperationDetachVolume = "DetachVolumeOperation" - OperationDiskIsAttached = "DiskIsAttachedOperation" - OperationDisksAreAttached = "DisksAreAttachedOperation" - OperationCreateVolume = "CreateVolumeOperation" - OperationCreateVolumeWithPolicy = "CreateVolumeWithPolicyOperation" - OperationCreateVolumeWithRawVSANPolicy = "CreateVolumeWithRawVSANPolicyOperation" -) - -var vCenterMetric *vcenterMetric - -func init() { - vCenterMetric = &vcenterMetric{ - vCenterInfos: make(map[string]types.AboutInfo), - mux: sync.Mutex{}, - } -} - -// vsphereAPIMetric is for recording latency of Single API Call. -var vsphereAPIMetric = metrics.NewHistogramVec( - &metrics.HistogramOpts{ - Name: "cloudprovider_vsphere_api_request_duration_seconds", - Help: "Latency of vsphere api call", - StabilityLevel: metrics.ALPHA, - }, - []string{"request"}, -) - -var vsphereAPIErrorMetric = metrics.NewCounterVec( - &metrics.CounterOpts{ - Name: "cloudprovider_vsphere_api_request_errors", - Help: "vsphere Api errors", - StabilityLevel: metrics.ALPHA, - }, - []string{"request"}, -) - -// vsphereOperationMetric is for recording latency of vSphere Operation which invokes multiple APIs to get the task done. -var vsphereOperationMetric = metrics.NewHistogramVec( - &metrics.HistogramOpts{ - Name: "cloudprovider_vsphere_operation_duration_seconds", - Help: "Latency of vsphere operation call", - StabilityLevel: metrics.ALPHA, - }, - []string{"operation"}, -) - -var vsphereOperationErrorMetric = metrics.NewCounterVec( - &metrics.CounterOpts{ - Name: "cloudprovider_vsphere_operation_errors", - Help: "vsphere operation errors", - StabilityLevel: metrics.ALPHA, - }, - []string{"operation"}, -) - -var vsphereVersion = metrics.NewDesc( - "cloudprovider_vsphere_vcenter_versions", - "Versions for connected vSphere vCenters", - []string{"hostname", "version", "build"}, nil, - metrics.ALPHA, "") - -// RegisterMetrics registers all the API and Operation metrics -func RegisterMetrics() { - legacyregistry.MustRegister(vsphereAPIMetric) - legacyregistry.MustRegister(vsphereAPIErrorMetric) - legacyregistry.MustRegister(vsphereOperationMetric) - legacyregistry.MustRegister(vsphereOperationErrorMetric) - legacyregistry.CustomMustRegister(vCenterMetric) -} - -type vcenterMetric struct { - metrics.BaseStableCollector - - mux sync.Mutex - vCenterInfos map[string]types.AboutInfo -} - -func (collector *vcenterMetric) DescribeWithStability(ch chan<- *metrics.Desc) { - ch <- vsphereVersion -} - -func (collector *vcenterMetric) CollectWithStability(ch chan<- metrics.Metric) { - collector.mux.Lock() - defer collector.mux.Unlock() - - for vCenter, info := range collector.vCenterInfos { - ch <- metrics.NewLazyMetricWithTimestamp(time.Now(), - metrics.NewLazyConstMetric(vsphereVersion, - metrics.GaugeValue, - float64(1), - vCenter, - info.Version, - info.Build)) - } -} - -func (collector *vcenterMetric) setAbout(server string, info types.AboutInfo) { - collector.mux.Lock() - defer collector.mux.Unlock() - collector.vCenterInfos[server] = info -} - -func setVCenterInfoMetric(connection *VSphereConnection) { - vCenterMetric.setAbout(connection.Hostname, connection.Client.ServiceContent.About) -} - -// RecordvSphereMetric records the vSphere API and Operation metrics -func RecordvSphereMetric(actionName string, requestTime time.Time, err error) { - switch actionName { - case APICreateVolume, APIDeleteVolume, APIAttachVolume, APIDetachVolume: - recordvSphereAPIMetric(actionName, requestTime, err) - default: - recordvSphereOperationMetric(actionName, requestTime, err) - } -} - -func recordvSphereAPIMetric(actionName string, requestTime time.Time, err error) { - if err != nil { - vsphereAPIErrorMetric.With(metrics.Labels{"request": actionName}).Inc() - } else { - vsphereAPIMetric.With(metrics.Labels{"request": actionName}).Observe(calculateTimeTaken(requestTime)) - } -} - -func recordvSphereOperationMetric(actionName string, requestTime time.Time, err error) { - if err != nil { - vsphereOperationErrorMetric.With(metrics.Labels{"operation": actionName}).Inc() - } else { - vsphereOperationMetric.With(metrics.Labels{"operation": actionName}).Observe(calculateTimeTaken(requestTime)) - } -} - -// RecordCreateVolumeMetric records the Create Volume metric -func RecordCreateVolumeMetric(volumeOptions *VolumeOptions, requestTime time.Time, err error) { - var actionName string - if volumeOptions.StoragePolicyName != "" { - actionName = OperationCreateVolumeWithPolicy - } else if volumeOptions.VSANStorageProfileData != "" { - actionName = OperationCreateVolumeWithRawVSANPolicy - } else { - actionName = OperationCreateVolume - } - RecordvSphereMetric(actionName, requestTime, err) -} - -func calculateTimeTaken(requestBeginTime time.Time) (timeTaken float64) { - if !requestBeginTime.IsZero() { - timeTaken = time.Since(requestBeginTime).Seconds() - } else { - timeTaken = 0 - } - return timeTaken -} diff --git a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vsphere.go b/staging/src/k8s.io/legacy-cloud-providers/vsphere/vsphere.go deleted file mode 100644 index 615094db661..00000000000 --- a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vsphere.go +++ /dev/null @@ -1,2105 +0,0 @@ -//go:build !providerless -// +build !providerless - -/* -Copyright 2016 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vsphere - -import ( - "context" - "errors" - "fmt" - "io" - - "net" - "net/url" - "os" - "path" - "path/filepath" - "reflect" - "runtime" - "strings" - "sync" - "time" - - "gopkg.in/gcfg.v1" - - "github.com/vmware/govmomi/object" - "github.com/vmware/govmomi/vapi/rest" - "github.com/vmware/govmomi/vapi/tags" - "github.com/vmware/govmomi/vim25/mo" - vmwaretypes "github.com/vmware/govmomi/vim25/types" - v1 "k8s.io/api/core/v1" - apierrors "k8s.io/apimachinery/pkg/api/errors" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - k8stypes "k8s.io/apimachinery/pkg/types" - "k8s.io/apimachinery/pkg/util/sets" - "k8s.io/client-go/informers" - clientset "k8s.io/client-go/kubernetes" - "k8s.io/client-go/tools/cache" - cloudprovider "k8s.io/cloud-provider" - nodehelpers "k8s.io/cloud-provider/node/helpers" - volerr "k8s.io/cloud-provider/volume/errors" - volumehelpers "k8s.io/cloud-provider/volume/helpers" - "k8s.io/klog/v2" - netutils "k8s.io/utils/net" - - "k8s.io/legacy-cloud-providers/vsphere/vclib" - "k8s.io/legacy-cloud-providers/vsphere/vclib/diskmanagers" -) - -// VSphere Cloud Provider constants -const ( - ProviderName = "vsphere" - providerIDPrefix = "vsphere://" - updateNodeRetryCount = 3 - zoneLabelsResyncPeriod = 5 * time.Minute - VolDir = "kubevols" - RoundTripperDefaultCount = 3 - DummyVMPrefixName = "vsphere-k8s" - CleanUpDummyVMRoutineInterval = 5 -) - -var cleanUpRoutineInitialized = false -var datastoreFolderIDMap = make(map[string]map[string]string) - -var cleanUpRoutineInitLock sync.Mutex -var cleanUpDummyVMLock sync.RWMutex - -// Error Messages -const ( - MissingUsernameErrMsg = "Username is missing" - MissingPasswordErrMsg = "Password is missing" - NoZoneTagInVCErrMsg = "No zone tags found in vCenter" -) - -// Error constants -var ( - ErrUsernameMissing = errors.New(MissingUsernameErrMsg) - ErrPasswordMissing = errors.New(MissingPasswordErrMsg) - ErrNoZoneTagInVC = errors.New(NoZoneTagInVCErrMsg) -) - -var _ cloudprovider.Interface = (*VSphere)(nil) -var _ cloudprovider.Instances = (*VSphere)(nil) -var _ cloudprovider.Zones = (*VSphere)(nil) -var _ cloudprovider.PVLabeler = (*VSphere)(nil) - -// VSphere is an implementation of cloud provider Interface for VSphere. -type VSphere struct { - cfg *VSphereConfig - kubeClient clientset.Interface - hostName string - // Maps the VSphere IP address to VSphereInstance - vsphereInstanceMap map[string]*VSphereInstance - vsphereVolumeMap *VsphereVolumeMap - // Responsible for managing discovery of k8s node, their location etc. - nodeManager *NodeManager - vmUUID string - isSecretInfoProvided bool - isSecretManaged bool -} - -// Represents a vSphere instance where one or more kubernetes nodes are running. -type VSphereInstance struct { - conn *vclib.VSphereConnection - cfg *VirtualCenterConfig -} - -// Structure that represents Virtual Center configuration -type VirtualCenterConfig struct { - // vCenter username. - User string `gcfg:"user"` - // vCenter password in clear text. - Password string `gcfg:"password" datapolicy:"password"` - // vCenter port. - VCenterPort string `gcfg:"port"` - // Datacenter in which VMs are located. - Datacenters string `gcfg:"datacenters"` - // Soap round tripper count (retries = RoundTripper - 1) - RoundTripperCount uint `gcfg:"soap-roundtrip-count"` - // Thumbprint of the VCenter's certificate thumbprint - Thumbprint string `gcfg:"thumbprint"` -} - -// Structure that represents the content of vsphere.conf file. -// Users specify the configuration of one or more Virtual Centers in vsphere.conf where -// the Kubernetes master and worker nodes are running. -// NOTE: Cloud config files should follow the same Kubernetes deprecation policy as -// flags or CLIs. Config fields should not change behavior in incompatible ways and -// should be deprecated for at least 2 release prior to removing. -// See https://kubernetes.io/docs/reference/using-api/deprecation-policy/#deprecating-a-flag-or-cli -// for more details. -type VSphereConfig struct { - Global struct { - // vCenter username. - User string `gcfg:"user"` - // vCenter password in clear text. - Password string `gcfg:"password" datapolicy:"password"` - // Deprecated. Use VirtualCenter to specify multiple vCenter Servers. - // vCenter IP. - VCenterIP string `gcfg:"server"` - // vCenter port. - VCenterPort string `gcfg:"port"` - // True if vCenter uses self-signed cert. - InsecureFlag bool `gcfg:"insecure-flag"` - // Specifies the path to a CA certificate in PEM format. Optional; if not - // configured, the system's CA certificates will be used. - CAFile string `gcfg:"ca-file"` - // Thumbprint of the VCenter's certificate thumbprint - Thumbprint string `gcfg:"thumbprint"` - // Datacenter in which VMs are located. - // Deprecated. Use "datacenters" instead. - Datacenter string `gcfg:"datacenter"` - // Datacenter in which VMs are located. - Datacenters string `gcfg:"datacenters"` - // Datastore in which vmdks are stored. - // Deprecated. See Workspace.DefaultDatastore - DefaultDatastore string `gcfg:"datastore"` - // WorkingDir is path where VMs can be found. Also used to create dummy VMs. - // Deprecated. - WorkingDir string `gcfg:"working-dir"` - // Soap round tripper count (retries = RoundTripper - 1) - RoundTripperCount uint `gcfg:"soap-roundtrip-count"` - // Is required on the controller-manager if it does not run on a VMware machine - // VMUUID is the VM Instance UUID of virtual machine which can be retrieved from instanceUuid - // property in VmConfigInfo, or also set as vc.uuid in VMX file. - // If not set, will be fetched from the machine via sysfs (requires root) - VMUUID string `gcfg:"vm-uuid"` - // Deprecated as virtual machine will be automatically discovered. - // VMName is the VM name of virtual machine - // Combining the WorkingDir and VMName can form a unique InstanceID. - // When vm-name is set, no username/password is required on worker nodes. - VMName string `gcfg:"vm-name"` - // Name of the secret were vCenter credentials are present. - SecretName string `gcfg:"secret-name"` - // Secret Namespace where secret will be present that has vCenter credentials. - SecretNamespace string `gcfg:"secret-namespace"` - // Secret changes being ingnored for cloud resources - SecretNotManaged bool `gcfg:"secret-not-managed"` - } - - VirtualCenter map[string]*VirtualCenterConfig - - Network struct { - // PublicNetwork is name of the network the VMs are joined to. - PublicNetwork string `gcfg:"public-network"` - } - - Disk struct { - // SCSIControllerType defines SCSI controller to be used. - SCSIControllerType string `dcfg:"scsicontrollertype"` - } - - // Endpoint used to create volumes - Workspace struct { - VCenterIP string `gcfg:"server"` - Datacenter string `gcfg:"datacenter"` - Folder string `gcfg:"folder"` - DefaultDatastore string `gcfg:"default-datastore"` - ResourcePoolPath string `gcfg:"resourcepool-path"` - } - - // Tag categories and tags which correspond to "built-in node labels: zones and region" - Labels struct { - Zone string `gcfg:"zone"` - Region string `gcfg:"region"` - } -} - -type Volumes interface { - // AttachDisk attaches given disk to given node. Current node - // is used when nodeName is empty string. - AttachDisk(vmDiskPath string, storagePolicyName string, nodeName k8stypes.NodeName) (diskUUID string, err error) - - // DetachDisk detaches given disk to given node. Current node - // is used when nodeName is empty string. - // Assumption: If node doesn't exist, disk is already detached from node. - DetachDisk(volPath string, nodeName k8stypes.NodeName) error - - // DiskIsAttached checks if a disk is attached to the given node. - // Assumption: If node doesn't exist, disk is not attached to the node. - DiskIsAttached(volPath string, nodeName k8stypes.NodeName) (bool, string, error) - - // DisksAreAttached checks if a list disks are attached to the given node. - // Assumption: If node doesn't exist, disks are not attached to the node. - DisksAreAttached(nodeVolumes map[k8stypes.NodeName][]string) (map[k8stypes.NodeName]map[string]bool, error) - - // CreateVolume creates a new vmdk with specified parameters. - CreateVolume(volumeOptions *vclib.VolumeOptions) (volumePath string, err error) - - // DeleteVolume deletes vmdk. - DeleteVolume(vmDiskPath string) error -} - -// Parses vSphere cloud config file and stores it into VSphereConfig. -func readConfig(config io.Reader) (VSphereConfig, error) { - if config == nil { - err := fmt.Errorf("no vSphere cloud provider config file given") - return VSphereConfig{}, err - } - - var cfg VSphereConfig - err := gcfg.ReadInto(&cfg, config) - return cfg, err -} - -func init() { - vclib.RegisterMetrics() - cloudprovider.RegisterCloudProvider(ProviderName, func(config io.Reader) (cloudprovider.Interface, error) { - // If vSphere.conf file is not present then it is worker node. - if config == nil { - return newWorkerNode() - } - cfg, err := readConfig(config) - if err != nil { - return nil, err - } - return newControllerNode(cfg) - }) -} - -// Initialize passes a Kubernetes clientBuilder interface to the cloud provider -func (vs *VSphere) Initialize(clientBuilder cloudprovider.ControllerClientBuilder, stop <-chan struct{}) { - vs.kubeClient = clientBuilder.ClientOrDie("vsphere-legacy-cloud-provider") - vs.nodeManager.SetNodeGetter(vs.kubeClient.CoreV1()) -} - -// Initialize Node Informers -func (vs *VSphere) SetInformers(informerFactory informers.SharedInformerFactory) { - if vs.cfg == nil { - return - } - - if vs.isSecretInfoProvided { - secretCredentialManager := &SecretCredentialManager{ - SecretName: vs.cfg.Global.SecretName, - SecretNamespace: vs.cfg.Global.SecretNamespace, - SecretLister: informerFactory.Core().V1().Secrets().Lister(), - Cache: &SecretCache{ - VirtualCenter: make(map[string]*Credential), - }, - } - if vs.isSecretManaged { - klog.V(4).Infof("Setting up secret informers for vSphere Cloud Provider") - secretInformer := informerFactory.Core().V1().Secrets().Informer() - secretInformer.AddEventHandler(cache.ResourceEventHandlerFuncs{ - AddFunc: vs.SecretAdded, - UpdateFunc: vs.SecretUpdated, - }) - klog.V(4).Infof("Secret informers in vSphere cloud provider initialized") - } - vs.nodeManager.UpdateCredentialManager(secretCredentialManager) - } - - // Only on controller node it is required to register listeners. - // Register callbacks for node updates - klog.V(4).Infof("Setting up node informers for vSphere Cloud Provider") - nodeInformer := informerFactory.Core().V1().Nodes().Informer() - nodeInformer.AddEventHandler(cache.ResourceEventHandlerFuncs{ - AddFunc: vs.NodeAdded, - DeleteFunc: vs.NodeDeleted, - }) - // Register sync function for node zone/region labels - nodeInformer.AddEventHandlerWithResyncPeriod( - cache.ResourceEventHandlerFuncs{UpdateFunc: vs.syncNodeZoneLabels}, - zoneLabelsResyncPeriod, - ) - - nodeLister := informerFactory.Core().V1().Nodes().Lister() - vs.nodeManager.SetNodeLister(nodeLister) - klog.V(4).Infof("Node informers in vSphere cloud provider initialized") - -} - -// Creates new worker node interface and returns -func newWorkerNode() (*VSphere, error) { - var err error - vs := VSphere{} - vs.hostName, err = os.Hostname() - if err != nil { - klog.Errorf("Failed to get hostname. err: %+v", err) - return nil, err - } - vs.vmUUID, err = GetVMUUID() - if err != nil { - klog.Errorf("Failed to get uuid. err: %+v", err) - return nil, err - } - return &vs, nil -} - -func populateVsphereInstanceMap(cfg *VSphereConfig) (map[string]*VSphereInstance, error) { - vsphereInstanceMap := make(map[string]*VSphereInstance) - isSecretInfoProvided := true - - if cfg.Global.SecretName == "" || cfg.Global.SecretNamespace == "" { - klog.Warningf("SecretName and/or SecretNamespace is not provided. " + - "VCP will use username and password from config file") - isSecretInfoProvided = false - } - - if isSecretInfoProvided { - if cfg.Global.User != "" { - klog.Warning("Global.User and Secret info provided. VCP will use secret to get credentials") - cfg.Global.User = "" - } - if cfg.Global.Password != "" { - klog.Warning("Global.Password and Secret info provided. VCP will use secret to get credentials") - cfg.Global.Password = "" - } - } - - // Check if the vsphere.conf is in old format. In this - // format the cfg.VirtualCenter will be nil or empty. - if cfg.VirtualCenter == nil || len(cfg.VirtualCenter) == 0 { - klog.V(4).Infof("Config is not per virtual center and is in old format.") - if !isSecretInfoProvided { - if cfg.Global.User == "" { - klog.Error("Global.User is empty!") - return nil, ErrUsernameMissing - } - if cfg.Global.Password == "" { - klog.Error("Global.Password is empty!") - return nil, ErrPasswordMissing - } - } - - if cfg.Global.WorkingDir == "" { - klog.Error("Global.WorkingDir is empty!") - return nil, errors.New("Global.WorkingDir is empty!") - } - if cfg.Global.VCenterIP == "" { - klog.Error("Global.VCenterIP is empty!") - return nil, errors.New("Global.VCenterIP is empty!") - } - if cfg.Global.Datacenter == "" { - klog.Error("Global.Datacenter is empty!") - return nil, errors.New("Global.Datacenter is empty!") - } - cfg.Workspace.VCenterIP = cfg.Global.VCenterIP - cfg.Workspace.Datacenter = cfg.Global.Datacenter - cfg.Workspace.Folder = cfg.Global.WorkingDir - cfg.Workspace.DefaultDatastore = cfg.Global.DefaultDatastore - - vcConfig := VirtualCenterConfig{ - User: cfg.Global.User, - Password: cfg.Global.Password, - VCenterPort: cfg.Global.VCenterPort, - Datacenters: cfg.Global.Datacenter, - RoundTripperCount: cfg.Global.RoundTripperCount, - Thumbprint: cfg.Global.Thumbprint, - } - - // Note: If secrets info is provided username and password will be populated - // once secret is created. - vSphereConn := vclib.VSphereConnection{ - Username: vcConfig.User, - Password: vcConfig.Password, - Hostname: cfg.Global.VCenterIP, - Insecure: cfg.Global.InsecureFlag, - RoundTripperCount: vcConfig.RoundTripperCount, - Port: vcConfig.VCenterPort, - CACert: cfg.Global.CAFile, - Thumbprint: cfg.Global.Thumbprint, - } - - vsphereIns := VSphereInstance{ - conn: &vSphereConn, - cfg: &vcConfig, - } - vsphereInstanceMap[cfg.Global.VCenterIP] = &vsphereIns - } else { - if cfg.Workspace.VCenterIP == "" || cfg.Workspace.Folder == "" || cfg.Workspace.Datacenter == "" { - msg := fmt.Sprintf("All fields in workspace are mandatory."+ - " vsphere.conf does not have the workspace specified correctly. cfg.Workspace: %+v", cfg.Workspace) - klog.Error(msg) - return nil, errors.New(msg) - } - if len(cfg.VirtualCenter) > 1 { - klog.Warning("Multi vCenter support is deprecated. vSphere CSI Driver does not support Kubernetes nodes spread across multiple vCenter servers. Please consider moving all Kubernetes nodes to single vCenter server") - } - - for vcServer, vcConfig := range cfg.VirtualCenter { - klog.V(4).Infof("Initializing vc server %s", vcServer) - if vcServer == "" { - klog.Error("vsphere.conf does not have the VirtualCenter IP address specified") - return nil, errors.New("vsphere.conf does not have the VirtualCenter IP address specified") - } - - if !isSecretInfoProvided { - if vcConfig.User == "" { - vcConfig.User = cfg.Global.User - if vcConfig.User == "" { - klog.Errorf("vcConfig.User is empty for vc %s!", vcServer) - return nil, ErrUsernameMissing - } - } - if vcConfig.Password == "" { - vcConfig.Password = cfg.Global.Password - if vcConfig.Password == "" { - klog.Errorf("vcConfig.Password is empty for vc %s!", vcServer) - return nil, ErrPasswordMissing - } - } - } else { - if vcConfig.User != "" { - klog.Warningf("vcConfig.User for server %s and Secret info provided. VCP will use secret to get credentials", vcServer) - vcConfig.User = "" - } - if vcConfig.Password != "" { - klog.Warningf("vcConfig.Password for server %s and Secret info provided. VCP will use secret to get credentials", vcServer) - vcConfig.Password = "" - } - } - - if vcConfig.VCenterPort == "" { - vcConfig.VCenterPort = cfg.Global.VCenterPort - } - - if vcConfig.Datacenters == "" { - if cfg.Global.Datacenters != "" { - vcConfig.Datacenters = cfg.Global.Datacenters - } else { - // cfg.Global.Datacenter is deprecated, so giving it the last preference. - vcConfig.Datacenters = cfg.Global.Datacenter - } - } - if vcConfig.RoundTripperCount == 0 { - vcConfig.RoundTripperCount = cfg.Global.RoundTripperCount - } - - // Note: If secrets info is provided username and password will be populated - // once secret is created. - vSphereConn := vclib.VSphereConnection{ - Username: vcConfig.User, - Password: vcConfig.Password, - Hostname: vcServer, - Insecure: cfg.Global.InsecureFlag, - RoundTripperCount: vcConfig.RoundTripperCount, - Port: vcConfig.VCenterPort, - CACert: cfg.Global.CAFile, - Thumbprint: vcConfig.Thumbprint, - } - vsphereIns := VSphereInstance{ - conn: &vSphereConn, - cfg: vcConfig, - } - vsphereInstanceMap[vcServer] = &vsphereIns - } - } - return vsphereInstanceMap, nil -} - -// getVMUUID allows tests to override GetVMUUID -var getVMUUID = GetVMUUID - -// Creates new Controller node interface and returns -func newControllerNode(cfg VSphereConfig) (*VSphere, error) { - vs, err := buildVSphereFromConfig(cfg) - if err != nil { - return nil, err - } - vs.hostName, err = os.Hostname() - if err != nil { - klog.Errorf("Failed to get hostname. err: %+v", err) - return nil, err - } - if cfg.Global.VMUUID != "" { - vs.vmUUID = cfg.Global.VMUUID - } else { - vs.vmUUID, err = getVMUUID() - if err != nil { - klog.Errorf("Failed to get uuid. err: %+v", err) - return nil, err - } - } - runtime.SetFinalizer(vs, logout) - return vs, nil -} - -// Initializes vSphere from vSphere CloudProvider Configuration -func buildVSphereFromConfig(cfg VSphereConfig) (*VSphere, error) { - isSecretInfoProvided := false - if cfg.Global.SecretName != "" && cfg.Global.SecretNamespace != "" { - isSecretInfoProvided = true - } - - if cfg.Disk.SCSIControllerType == "" { - cfg.Disk.SCSIControllerType = vclib.PVSCSIControllerType - } else if !vclib.CheckControllerSupported(cfg.Disk.SCSIControllerType) { - klog.Errorf("%v is not a supported SCSI Controller type. Please configure 'lsilogic-sas' OR 'pvscsi'", cfg.Disk.SCSIControllerType) - return nil, errors.New("Controller type not supported. Please configure 'lsilogic-sas' OR 'pvscsi'") - } - if cfg.Global.WorkingDir != "" { - cfg.Global.WorkingDir = path.Clean(cfg.Global.WorkingDir) - } - if cfg.Global.RoundTripperCount == 0 { - cfg.Global.RoundTripperCount = RoundTripperDefaultCount - } - if cfg.Global.VCenterPort == "" { - cfg.Global.VCenterPort = "443" - } - - vsphereInstanceMap, err := populateVsphereInstanceMap(&cfg) - if err != nil { - return nil, err - } - - vs := VSphere{ - vsphereInstanceMap: vsphereInstanceMap, - nodeManager: &NodeManager{ - vsphereInstanceMap: vsphereInstanceMap, - nodeInfoMap: make(map[string]*NodeInfo), - registeredNodes: make(map[string]*v1.Node), - }, - vsphereVolumeMap: NewVsphereVolumeMap(), - isSecretInfoProvided: isSecretInfoProvided, - isSecretManaged: !cfg.Global.SecretNotManaged, - cfg: &cfg, - } - return &vs, nil -} - -func logout(vs *VSphere) { - for _, vsphereIns := range vs.vsphereInstanceMap { - vsphereIns.conn.Logout(context.TODO()) - } -} - -// Instances returns an implementation of Instances for vSphere. -func (vs *VSphere) Instances() (cloudprovider.Instances, bool) { - return vs, true -} - -// InstancesV2 returns an implementation of InstancesV2 for vSphere. -// TODO: implement ONLY for external cloud provider -func (vs *VSphere) InstancesV2() (cloudprovider.InstancesV2, bool) { - return nil, false -} - -func getLocalIP() ([]v1.NodeAddress, error) { - // hashtable with VMware-allocated OUIs for MAC filtering - // List of official OUIs: http://standards-oui.ieee.org/oui.txt - vmwareOUI := map[string]bool{ - "00:05:69": true, - "00:0c:29": true, - "00:1c:14": true, - "00:50:56": true, - } - - addrs := []v1.NodeAddress{} - ifaces, err := net.Interfaces() - if err != nil { - klog.Errorf("net.Interfaces() failed for NodeAddresses - %v", err) - return nil, err - } - for _, i := range ifaces { - if i.Flags&net.FlagLoopback != 0 { - continue - } - localAddrs, err := i.Addrs() - if err != nil { - klog.Warningf("Failed to extract addresses for NodeAddresses - %v", err) - } else { - for _, addr := range localAddrs { - if ipnet, ok := addr.(*net.IPNet); ok { - if !ipnet.IP.IsLinkLocalUnicast() { - // Filter external IP by MAC address OUIs from vCenter and from ESX - vmMACAddr := strings.ToLower(i.HardwareAddr.String()) - // Making sure that the MAC address is long enough - if len(vmMACAddr) < 17 { - klog.V(4).Infof("Skipping invalid MAC address: %q", vmMACAddr) - continue - } - if vmwareOUI[vmMACAddr[:8]] { - nodehelpers.AddToNodeAddresses(&addrs, - v1.NodeAddress{ - Type: v1.NodeExternalIP, - Address: ipnet.IP.String(), - }, - v1.NodeAddress{ - Type: v1.NodeInternalIP, - Address: ipnet.IP.String(), - }, - ) - klog.V(4).Infof("Detected local IP address as %q", ipnet.IP.String()) - } else { - klog.V(4).Infof("Failed to patch IP for interface %q as MAC address %q does not belong to a VMware platform", i.Name, vmMACAddr) - } - } - } - } - } - } - return addrs, nil -} - -func (vs *VSphere) getVSphereInstance(nodeName k8stypes.NodeName) (*VSphereInstance, error) { - vsphereIns, err := vs.nodeManager.GetVSphereInstance(nodeName) - if err != nil { - klog.Errorf("Cannot find node %q in cache. Node not found!!!", nodeName) - return nil, err - } - return &vsphereIns, nil -} - -func (vs *VSphere) getVSphereInstanceForServer(vcServer string, ctx context.Context) (*VSphereInstance, error) { - vsphereIns, ok := vs.vsphereInstanceMap[vcServer] - if !ok { - klog.Errorf("cannot find vcServer %q in cache. VC not found!!!", vcServer) - return nil, fmt.Errorf("cannot find node %q in vsphere configuration map", vcServer) - } - // Ensure client is logged in and session is valid - err := vs.nodeManager.vcConnect(ctx, vsphereIns) - if err != nil { - klog.Errorf("failed connecting to vcServer %q with error %+v", vcServer, err) - return nil, err - } - - return vsphereIns, nil -} - -// Get the VM Managed Object instance by from the node -func (vs *VSphere) getVMFromNodeName(ctx context.Context, nodeName k8stypes.NodeName) (*vclib.VirtualMachine, error) { - nodeInfo, err := vs.nodeManager.GetNodeInfo(nodeName) - if err != nil { - return nil, err - } - return nodeInfo.vm, nil -} - -// NodeAddresses is an implementation of Instances.NodeAddresses. -func (vs *VSphere) NodeAddresses(ctx context.Context, nodeName k8stypes.NodeName) ([]v1.NodeAddress, error) { - if vs.hostName == convertToString(nodeName) { - return vs.getNodeAddressesFromLocalIP() - } - return vs.getNodeAddressesFromVM(ctx, nodeName) -} - -// getNodeAddressesFromLocalIP get local IP addresses if node is local node. -func (vs *VSphere) getNodeAddressesFromLocalIP() ([]v1.NodeAddress, error) { - addrs, err := getLocalIP() - if err != nil { - return nil, err - } - // add the hostname address - nodehelpers.AddToNodeAddresses(&addrs, v1.NodeAddress{Type: v1.NodeHostName, Address: vs.hostName}) - return addrs, nil -} - -// getNodeAddressesFromVM get vm IP addresses if node is vm. -func (vs *VSphere) getNodeAddressesFromVM(ctx context.Context, nodeName k8stypes.NodeName) ([]v1.NodeAddress, error) { - if vs.cfg == nil { - return nil, cloudprovider.InstanceNotFound - } - - // Below logic can be executed only on master as VC details are present. - addrs := []v1.NodeAddress{} - // Create context - ctx, cancel := context.WithCancel(ctx) - defer cancel() - vsi, err := vs.getVSphereInstance(nodeName) - if err != nil { - return nil, err - } - // Ensure client is logged in and session is valid - err = vs.nodeManager.vcConnect(ctx, vsi) - if err != nil { - return nil, err - } - - vm, err := vs.getVMFromNodeName(ctx, nodeName) - if err != nil { - klog.Errorf("Failed to get VM object for node: %q. err: +%v", convertToString(nodeName), err) - return nil, err - } - vmMoList, err := vm.Datacenter.GetVMMoList(ctx, []*vclib.VirtualMachine{vm}, []string{"guest.net"}) - if err != nil { - klog.Errorf("Failed to get VM Managed object with property guest.net for node: %q. err: +%v", convertToString(nodeName), err) - return nil, err - } - // retrieve VM's ip(s) - for _, v := range vmMoList[0].Guest.Net { - if vs.cfg.Network.PublicNetwork == v.Network { - for _, ip := range v.IpAddress { - if !netutils.ParseIPSloppy(ip).IsLinkLocalUnicast() { - nodehelpers.AddToNodeAddresses(&addrs, - v1.NodeAddress{ - Type: v1.NodeExternalIP, - Address: ip, - }, v1.NodeAddress{ - Type: v1.NodeInternalIP, - Address: ip, - }, - ) - } - } - } - } - return addrs, nil -} - -// NodeAddressesByProviderID returns the node addresses of an instances with the specified unique providerID -// This method will not be called from the node that is requesting this ID. i.e. metadata service -// and other local methods cannot be used here -func (vs *VSphere) NodeAddressesByProviderID(ctx context.Context, providerID string) ([]v1.NodeAddress, error) { - return vs.NodeAddresses(ctx, convertToK8sType(providerID)) -} - -// AddSSHKeyToAllInstances add SSH key to all instances -func (vs *VSphere) AddSSHKeyToAllInstances(ctx context.Context, user string, keyData []byte) error { - return cloudprovider.NotImplemented -} - -// CurrentNodeName gives the current node name -func (vs *VSphere) CurrentNodeName(ctx context.Context, hostname string) (k8stypes.NodeName, error) { - return convertToK8sType(vs.hostName), nil -} - -func convertToString(nodeName k8stypes.NodeName) string { - return string(nodeName) -} - -func convertToK8sType(vmName string) k8stypes.NodeName { - return k8stypes.NodeName(vmName) -} - -// InstanceExistsByProviderID returns true if the instance with the given provider id still exists and is running. -// If false is returned with no error, the instance will be immediately deleted by the cloud controller manager. -func (vs *VSphere) InstanceExistsByProviderID(ctx context.Context, providerID string) (bool, error) { - nodeName, err := vs.GetNodeNameFromProviderID(providerID) - if err != nil { - klog.Errorf("Error while getting nodename for providerID %s", providerID) - return false, err - } - _, err = vs.InstanceID(ctx, convertToK8sType(nodeName)) - if err != nil { - if err == cloudprovider.InstanceNotFound { - return false, nil - } - return false, err - } - - return true, nil -} - -// InstanceShutdownByProviderID returns true if the instance is in safe state to detach volumes -func (vs *VSphere) InstanceShutdownByProviderID(ctx context.Context, providerID string) (bool, error) { - nodeName, err := vs.GetNodeNameFromProviderID(providerID) - if err != nil { - klog.Errorf("Error while getting nodename for providerID %s", providerID) - return false, err - } - - vsi, err := vs.getVSphereInstance(convertToK8sType(nodeName)) - if err != nil { - return false, err - } - // Ensure client is logged in and session is valid - if err := vs.nodeManager.vcConnect(ctx, vsi); err != nil { - return false, err - } - vm, err := vs.getVMFromNodeName(ctx, convertToK8sType(nodeName)) - if err != nil { - klog.Errorf("Failed to get VM object for node: %q. err: +%v", nodeName, err) - return false, err - } - isActive, err := vm.IsActive(ctx) - if err != nil { - klog.Errorf("Failed to check whether node %q is active. err: %+v.", nodeName, err) - return false, err - } - return !isActive, nil -} - -// InstanceID returns the cloud provider ID of the node with the specified Name. -func (vs *VSphere) InstanceID(ctx context.Context, nodeName k8stypes.NodeName) (string, error) { - - instanceIDInternal := func() (string, error) { - if vs.hostName == convertToString(nodeName) { - return vs.vmUUID, nil - } - - // Below logic can be performed only on master node where VC details are preset. - if vs.cfg == nil { - return "", fmt.Errorf("The current node can't determine InstanceID for %q", convertToString(nodeName)) - } - - // Create context - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - vsi, err := vs.getVSphereInstance(nodeName) - if err != nil { - return "", err - } - // Ensure client is logged in and session is valid - err = vs.nodeManager.vcConnect(ctx, vsi) - if err != nil { - return "", err - } - vm, err := vs.getVMFromNodeName(ctx, nodeName) - if err != nil { - klog.Errorf("Failed to get VM object for node: %q. err: +%v", convertToString(nodeName), err) - return "", err - } - - exists, err := vm.Exists(ctx) - if err != nil { - klog.Errorf("Failed to check whether node %q still exists. err: %+v.", convertToString(nodeName), err) - return "", err - } - if exists { - return vs.vmUUID, nil - } - - klog.Warningf("The VM: %s doesn't exist", convertToString(nodeName)) - return "", cloudprovider.InstanceNotFound - } - - instanceID, err := instanceIDInternal() - if err != nil { - if vclib.IsManagedObjectNotFoundError(err) { - err = vs.nodeManager.RediscoverNode(nodeName) - if err == nil { - klog.V(4).Infof("InstanceID: Found node %q", convertToString(nodeName)) - instanceID, err = instanceIDInternal() - } else if err == vclib.ErrNoVMFound { - return "", cloudprovider.InstanceNotFound - } - } - } - - return instanceID, err -} - -// InstanceTypeByProviderID returns the cloudprovider instance type of the node with the specified unique providerID -// This method will not be called from the node that is requesting this ID. i.e. metadata service -// and other local methods cannot be used here -func (vs *VSphere) InstanceTypeByProviderID(ctx context.Context, providerID string) (string, error) { - return "", nil -} - -func (vs *VSphere) InstanceType(ctx context.Context, name k8stypes.NodeName) (string, error) { - return "", nil -} - -func (vs *VSphere) Clusters() (cloudprovider.Clusters, bool) { - return nil, true -} - -// ProviderName returns the cloud provider ID. -func (vs *VSphere) ProviderName() string { - return ProviderName -} - -// LoadBalancer returns an implementation of LoadBalancer for vSphere. -func (vs *VSphere) LoadBalancer() (cloudprovider.LoadBalancer, bool) { - return nil, false -} - -func (vs *VSphere) isZoneEnabled() bool { - isEnabled := vs.cfg != nil && vs.cfg.Labels.Zone != "" && vs.cfg.Labels.Region != "" - // Return false within kubelet in case of credentials stored in secret. - // Otherwise kubelet will not be able to obtain zone labels from vSphere and create initial node - // due to no credentials at this step. - // See https://github.com/kubernetes/kubernetes/blob/b960f7a0e04687c17e0b0801e17e7cab89f273cc/pkg/kubelet/kubelet_node_status.go#L384-L386 - if isEnabled && vs.isSecretInfoProvided && vs.nodeManager.credentialManager == nil { - klog.V(1).Info("Zones can not be populated now due to credentials in Secret, skip.") - return false - } - return isEnabled -} - -// Zones returns an implementation of Zones for vSphere. -func (vs *VSphere) Zones() (cloudprovider.Zones, bool) { - if vs.isZoneEnabled() { - return vs, true - } - klog.V(1).Info("The vSphere cloud provider does not support zones") - return nil, false -} - -// Routes returns a false since the interface is not supported for vSphere. -func (vs *VSphere) Routes() (cloudprovider.Routes, bool) { - return nil, false -} - -// AttachDisk attaches given virtual disk volume to the compute running kubelet. -func (vs *VSphere) AttachDisk(vmDiskPath string, storagePolicyName string, nodeName k8stypes.NodeName) (diskUUID string, err error) { - attachDiskInternal := func(vmDiskPath string, storagePolicyName string, nodeName k8stypes.NodeName) (diskUUID string, err error) { - if nodeName == "" { - nodeName = convertToK8sType(vs.hostName) - } - // Create context - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - vsi, err := vs.getVSphereInstance(nodeName) - if err != nil { - return "", err - } - // Ensure client is logged in and session is valid - err = vs.nodeManager.vcConnect(ctx, vsi) - if err != nil { - return "", err - } - - vm, err := vs.getVMFromNodeName(ctx, nodeName) - if err != nil { - klog.Errorf("Failed to get VM object for node: %q. err: +%v", convertToString(nodeName), err) - return "", err - } - - // try and get canonical path for disk and if we can't use provided vmDiskPath - canonicalPath, pathFetchErr := getcanonicalVolumePath(ctx, vm.Datacenter, vmDiskPath) - if canonicalPath != "" && pathFetchErr == nil { - vmDiskPath = canonicalPath - } - - diskUUID, err = vm.AttachDisk(ctx, vmDiskPath, &vclib.VolumeOptions{SCSIControllerType: vclib.PVSCSIControllerType, StoragePolicyName: storagePolicyName}) - if err != nil { - klog.Errorf("Failed to attach disk: %s for node: %s. err: +%v", vmDiskPath, convertToString(nodeName), err) - return "", err - } - return diskUUID, nil - } - requestTime := time.Now() - diskUUID, err = attachDiskInternal(vmDiskPath, storagePolicyName, nodeName) - if err != nil { - if vclib.IsManagedObjectNotFoundError(err) { - err = vs.nodeManager.RediscoverNode(nodeName) - if err == nil { - klog.V(4).Infof("AttachDisk: Found node %q", convertToString(nodeName)) - diskUUID, err = attachDiskInternal(vmDiskPath, storagePolicyName, nodeName) - klog.V(4).Infof("AttachDisk: Retry: diskUUID %s, err +%v", diskUUID, err) - } - } - } - klog.V(4).Infof("AttachDisk executed for node %s and volume %s with diskUUID %s. Err: %s", convertToString(nodeName), vmDiskPath, diskUUID, err) - if err != nil { - // if attach failed, we should check if disk is attached somewhere else. This can happen for several reasons - // and throwing a dangling volume error here will allow attach-detach controller to detach disk from a node - // where it is not needed. - existingNode, ok := vs.vsphereVolumeMap.CheckForVolume(vmDiskPath) - if ok { - attached, newVolumePath, diskAttachedError := vs.DiskIsAttached(vmDiskPath, existingNode) - // if disk is attached somewhere else then we can throw a dangling error - if diskAttachedError == nil && attached && (nodeName != existingNode) { - klog.V(3).Infof("found dangling volume %s to node %s", vmDiskPath, existingNode) - return "", volerr.NewDanglingError(err.Error(), existingNode, newVolumePath) - } - } - } - vclib.RecordvSphereMetric(vclib.OperationAttachVolume, requestTime, err) - return diskUUID, err -} - -// DetachDisk detaches given virtual disk volume from the compute running kubelet. -func (vs *VSphere) DetachDisk(volPath string, nodeName k8stypes.NodeName) error { - detachDiskInternal := func(volPath string, nodeName k8stypes.NodeName) error { - if nodeName == "" { - nodeName = convertToK8sType(vs.hostName) - } - // Create context - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - vsi, err := vs.getVSphereInstance(nodeName) - if err != nil { - // If node doesn't exist, disk is already detached from node. - if err == vclib.ErrNoVMFound { - klog.Infof("Node %q does not exist, disk %s is already detached from node.", convertToString(nodeName), volPath) - return nil - } - return err - } - // Ensure client is logged in and session is valid - err = vs.nodeManager.vcConnect(ctx, vsi) - if err != nil { - return err - } - vm, err := vs.getVMFromNodeName(ctx, nodeName) - if err != nil { - // If node doesn't exist, disk is already detached from node. - if err == vclib.ErrNoVMFound { - klog.Infof("Node %q does not exist, disk %s is already detached from node.", convertToString(nodeName), volPath) - return nil - } - - klog.Errorf("Failed to get VM object for node: %q. err: +%v", convertToString(nodeName), err) - return err - } - err = vm.DetachDisk(ctx, volPath) - if err != nil { - klog.Errorf("Failed to detach disk: %s for node: %s. err: +%v", volPath, convertToString(nodeName), err) - return err - } - return nil - } - requestTime := time.Now() - err := detachDiskInternal(volPath, nodeName) - if err != nil { - if vclib.IsManagedObjectNotFoundError(err) { - err = vs.nodeManager.RediscoverNode(nodeName) - if err == nil { - err = detachDiskInternal(volPath, nodeName) - } - } - } - vclib.RecordvSphereMetric(vclib.OperationDetachVolume, requestTime, err) - return err -} - -// DiskIsAttached returns if disk is attached to the VM using controllers supported by the plugin. -func (vs *VSphere) DiskIsAttached(volPath string, nodeName k8stypes.NodeName) (bool, string, error) { - diskIsAttachedInternal := func(volPath string, nodeName k8stypes.NodeName) (bool, string, error) { - var vSphereInstance string - if nodeName == "" { - vSphereInstance = vs.hostName - nodeName = convertToK8sType(vSphereInstance) - } else { - vSphereInstance = convertToString(nodeName) - } - // Create context - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - vsi, err := vs.getVSphereInstance(nodeName) - if err != nil { - return false, volPath, err - } - // Ensure client is logged in and session is valid - err = vs.nodeManager.vcConnect(ctx, vsi) - if err != nil { - return false, volPath, err - } - vm, err := vs.getVMFromNodeName(ctx, nodeName) - if err != nil { - if err == vclib.ErrNoVMFound { - klog.Warningf("Node %q does not exist, vsphere CP will assume disk %v is not attached to it.", nodeName, volPath) - // make the disk as detached and return false without error. - return false, volPath, nil - } - klog.Errorf("Failed to get VM object for node: %q. err: +%v", vSphereInstance, err) - return false, volPath, err - } - - volPath = vclib.RemoveStorageClusterORFolderNameFromVDiskPath(volPath) - canonicalPath, pathFetchErr := getcanonicalVolumePath(ctx, vm.Datacenter, volPath) - // if canonicalPath is not empty string and pathFetchErr is nil then we can use canonical path to perform detach - if canonicalPath != "" && pathFetchErr == nil { - volPath = canonicalPath - } - attached, err := vm.IsDiskAttached(ctx, volPath) - if err != nil { - klog.Errorf("DiskIsAttached failed to determine whether disk %q is still attached on node %q", - volPath, - vSphereInstance) - } - klog.V(4).Infof("DiskIsAttached result: %v and error: %q, for volume: %q", attached, err, volPath) - return attached, volPath, err - } - requestTime := time.Now() - isAttached, newVolumePath, err := diskIsAttachedInternal(volPath, nodeName) - if err != nil { - if vclib.IsManagedObjectNotFoundError(err) { - err = vs.nodeManager.RediscoverNode(nodeName) - if err == vclib.ErrNoVMFound { - isAttached, err = false, nil - } else if err == nil { - isAttached, newVolumePath, err = diskIsAttachedInternal(volPath, nodeName) - } - } - } - vclib.RecordvSphereMetric(vclib.OperationDiskIsAttached, requestTime, err) - return isAttached, newVolumePath, err -} - -// DisksAreAttached returns if disks are attached to the VM using controllers supported by the plugin. -// 1. Converts volPaths into canonical form so that it can be compared with the VM device path. -// 2. Segregates nodes by vCenter and Datacenter they are present in. This reduces calls to VC. -// 3. Creates go routines per VC-DC to find whether disks are attached to the nodes. -// 4. If the some of the VMs are not found or migrated then they are added to a list. -// 5. After successful execution of goroutines, -// 5a. If there are any VMs which needs to be retried, they are rediscovered and the whole operation is initiated again for only rediscovered VMs. -// 5b. If VMs are removed from vSphere inventory they are ignored. -func (vs *VSphere) DisksAreAttached(nodeVolumes map[k8stypes.NodeName][]string) (map[k8stypes.NodeName]map[string]bool, error) { - disksAreAttachedInternal := func(nodeVolumes map[k8stypes.NodeName][]string) (map[k8stypes.NodeName]map[string]bool, error) { - vs.vsphereVolumeMap.StartDiskVerification() - - // disksAreAttach checks whether disks are attached to the nodes. - // Returns nodes that need to be retried if retry is true - // Segregates nodes per VC and DC - // Creates go routines per VC-DC to find whether disks are attached to the nodes. - disksAreAttach := func(ctx context.Context, nodeVolumes map[k8stypes.NodeName][]string, attached map[string]map[string]bool, retry bool) ([]k8stypes.NodeName, error) { - - var wg sync.WaitGroup - var localAttachedMaps []map[string]map[string]bool - var nodesToRetry []k8stypes.NodeName - var globalErr error - globalErr = nil - globalErrMutex := &sync.Mutex{} - nodesToRetryMutex := &sync.Mutex{} - - // Segregate nodes according to VC-DC - dcNodes := make(map[string][]k8stypes.NodeName) - for nodeName := range nodeVolumes { - nodeInfo, err := vs.nodeManager.GetNodeInfo(nodeName) - if err != nil { - klog.Errorf("Failed to get node info: %+v. err: %+v", nodeInfo.vm, err) - return nodesToRetry, err - } - VC_DC := nodeInfo.vcServer + nodeInfo.dataCenter.String() - dcNodes[VC_DC] = append(dcNodes[VC_DC], nodeName) - } - - for _, nodeNames := range dcNodes { - localAttachedMap := make(map[string]map[string]bool) - localAttachedMaps = append(localAttachedMaps, localAttachedMap) - // Start go routines per VC-DC to check disks are attached - go func(nodes []k8stypes.NodeName) { - nodesToRetryLocal, err := vs.checkDiskAttached(ctx, nodes, nodeVolumes, localAttachedMap, retry) - if err != nil { - if !vclib.IsManagedObjectNotFoundError(err) { - globalErrMutex.Lock() - globalErr = err - globalErrMutex.Unlock() - klog.Errorf("Failed to check disk attached for nodes: %+v. err: %+v", nodes, err) - } - } - nodesToRetryMutex.Lock() - nodesToRetry = append(nodesToRetry, nodesToRetryLocal...) - nodesToRetryMutex.Unlock() - wg.Done() - }(nodeNames) - wg.Add(1) - } - wg.Wait() - if globalErr != nil { - return nodesToRetry, globalErr - } - for _, localAttachedMap := range localAttachedMaps { - for key, value := range localAttachedMap { - attached[key] = value - } - } - - return nodesToRetry, nil - } - - klog.V(4).Infof("Starting DisksAreAttached API for vSphere with nodeVolumes: %+v", nodeVolumes) - // Create context - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - - disksAttached := make(map[k8stypes.NodeName]map[string]bool) - if len(nodeVolumes) == 0 { - return disksAttached, nil - } - - // Convert VolPaths into canonical form so that it can be compared with the VM device path. - vmVolumes, err := vs.convertVolPathsToDevicePaths(ctx, nodeVolumes) - if err != nil { - klog.Errorf("Failed to convert volPaths to devicePaths: %+v. err: %+v", nodeVolumes, err) - return nil, err - } - attached := make(map[string]map[string]bool) - nodesToRetry, err := disksAreAttach(ctx, vmVolumes, attached, false) - if err != nil { - return nil, err - } - - if len(nodesToRetry) != 0 { - // Rediscover nodes which are need to be retried - remainingNodesVolumes := make(map[k8stypes.NodeName][]string) - for _, nodeName := range nodesToRetry { - err = vs.nodeManager.RediscoverNode(nodeName) - if err != nil { - if err == vclib.ErrNoVMFound { - klog.V(4).Infof("node %s not found. err: %+v", nodeName, err) - continue - } - klog.Errorf("Failed to rediscover node %s. err: %+v", nodeName, err) - return nil, err - } - remainingNodesVolumes[nodeName] = nodeVolumes[nodeName] - } - - // If some remaining nodes are still registered - if len(remainingNodesVolumes) != 0 { - nodesToRetry, err = disksAreAttach(ctx, remainingNodesVolumes, attached, true) - if err != nil || len(nodesToRetry) != 0 { - klog.Errorf("Failed to retry disksAreAttach for nodes %+v. err: %+v", remainingNodesVolumes, err) - return nil, err - } - } - - for nodeName, volPaths := range attached { - disksAttached[convertToK8sType(nodeName)] = volPaths - } - - } - klog.V(4).Infof("DisksAreAttached successfully executed. result: %+v", attached) - // There could be nodes in cluster which do not have any pods with vsphere volumes running on them - // such nodes won't be part of nodeVolumes map because attach-detach controller does not keep track - // such nodes. But such nodes may still have dangling volumes on them and hence we need to scan all the - // remaining nodes which weren't scanned by code previously. - vs.BuildMissingVolumeNodeMap(ctx) - // any volume which we could not verify will be removed from the map. - vs.vsphereVolumeMap.RemoveUnverified() - klog.V(4).Infof("current node volume map is: %+v", vs.vsphereVolumeMap.volumeNodeMap) - return disksAttached, nil - } - requestTime := time.Now() - attached, err := disksAreAttachedInternal(nodeVolumes) - vclib.RecordvSphereMetric(vclib.OperationDisksAreAttached, requestTime, err) - return attached, err -} - -// CreateVolume creates a volume of given size (in KiB) and return the volume path. -// If the volumeOptions.Datastore is part of datastore cluster for example - [DatastoreCluster/sharedVmfs-0] then -// return value will be [DatastoreCluster/sharedVmfs-0] kubevols/.vmdk -// else return value will be [sharedVmfs-0] kubevols/.vmdk -func (vs *VSphere) CreateVolume(volumeOptions *vclib.VolumeOptions) (canonicalVolumePath string, err error) { - klog.V(1).Infof("Starting to create a vSphere volume with volumeOptions: %+v", volumeOptions) - createVolumeInternal := func(volumeOptions *vclib.VolumeOptions) (canonicalVolumePath string, err error) { - var datastoreInfo *vclib.DatastoreInfo - var dsList []*vclib.DatastoreInfo - - // Create context - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - vsi, err := vs.getVSphereInstanceForServer(vs.cfg.Workspace.VCenterIP, ctx) - if err != nil { - return "", err - } - // If datastore not specified, then use default datastore - datastoreName := strings.TrimSpace(volumeOptions.Datastore) - if datastoreName == "" { - datastoreName = strings.TrimSpace(vs.cfg.Workspace.DefaultDatastore) - } - // The given datastoreName may be present in more than one datacenter - candidateDatastoreInfos, err := vs.FindDatastoreByName(ctx, datastoreName) - if err != nil { - return "", err - } - // Each of the datastores found is a candidate for Volume creation. - // One of these will be selected based on given policy and/or zone. - candidateDatastores := make(map[string]*vclib.DatastoreInfo) - for _, dsInfo := range candidateDatastoreInfos { - candidateDatastores[dsInfo.Info.Url] = dsInfo - } - - var vmOptions *vclib.VMOptions - var zonesToSearch []string - - if volumeOptions.SelectedNode != nil { - if len(volumeOptions.Zone) > 1 { - // In waitForFirstConsumer mode, if more than one allowedTopologies is specified, the volume should satisfy all these. - zonesToSearch = volumeOptions.Zone - } else { - // Pick the selectedNode's zone, if available. - nodeInfo, err := vs.nodeManager.GetNodeInfoWithNodeObject(volumeOptions.SelectedNode) - if err != nil { - klog.Errorf("Unable to get node information for %s. err: %+v", volumeOptions.SelectedNode.Name, err) - return "", err - } - klog.V(4).Infof("selectedNode info : %s", nodeInfo) - if nodeInfo.zone != nil && nodeInfo.zone.FailureDomain != "" { - zonesToSearch = append(zonesToSearch, nodeInfo.zone.FailureDomain) - } - } - } else { - // If no selectedNode, pick allowedTopologies, if provided. - zonesToSearch = volumeOptions.Zone - } - klog.V(1).Infof("Volume topology : %s", zonesToSearch) - - if volumeOptions.VSANStorageProfileData != "" || volumeOptions.StoragePolicyName != "" { - // If datastore and zone are specified, first validate if the datastore is in the provided zone. - if len(zonesToSearch) != 0 && volumeOptions.Datastore != "" { - klog.V(4).Infof("Specified zone : %s, datastore : %s", zonesToSearch, volumeOptions.Datastore) - dsList, err = getDatastoresForZone(ctx, vs.nodeManager, zonesToSearch) - if err != nil { - klog.Errorf("Failed to find a shared datastore matching zone %s. err: %+v", zonesToSearch, err) - return "", err - } - - // Validate if the datastore provided belongs to the zone. If not, fail the operation. - found := false - for _, ds := range dsList { - if datastoreInfo, found = candidateDatastores[ds.Info.Url]; found { - break - } - } - if !found { - err := fmt.Errorf("The specified datastore %s does not match the provided zones : %s", volumeOptions.Datastore, zonesToSearch) - klog.Error(err) - return "", err - } - } - // Acquire a read lock to ensure multiple PVC requests can be processed simultaneously. - cleanUpDummyVMLock.RLock() - defer cleanUpDummyVMLock.RUnlock() - // Create a new background routine that will delete any dummy VM's that are left stale. - // This routine will get executed for every 5 minutes and gets initiated only once in its entire lifetime. - cleanUpRoutineInitLock.Lock() - if !cleanUpRoutineInitialized { - klog.V(1).Infof("Starting a clean up routine to remove stale dummy VM's") - go vs.cleanUpDummyVMs(DummyVMPrefixName) - cleanUpRoutineInitialized = true - } - cleanUpRoutineInitLock.Unlock() - } - if volumeOptions.StoragePolicyName != "" && volumeOptions.Datastore == "" { - if len(zonesToSearch) == 0 { - klog.V(4).Infof("Selecting a shared datastore as per the storage policy %s", volumeOptions.StoragePolicyName) - datastoreInfo, err = getPbmCompatibleDatastore(ctx, vsi.conn.Client, volumeOptions.StoragePolicyName, vs.nodeManager) - } else { - // If zone is specified, first get the datastores in the zone. - dsList, err = getDatastoresForZone(ctx, vs.nodeManager, zonesToSearch) - - if err != nil { - klog.Errorf("Failed to find a shared datastore matching zone %s. err: %+v", zonesToSearch, err) - return "", err - } - - klog.V(4).Infof("Specified zone : %s. Picking a datastore as per the storage policy %s among the zoned datastores : %s", zonesToSearch, - volumeOptions.StoragePolicyName, dsList) - // Among the compatible datastores, select the one based on the maximum free space. - datastoreInfo, err = getPbmCompatibleZonedDatastore(ctx, vsi.conn.Client, volumeOptions.StoragePolicyName, dsList) - } - if err != nil { - klog.Errorf("Failed to get pbm compatible datastore with storagePolicy: %s. err: %+v", volumeOptions.StoragePolicyName, err) - return "", err - } - klog.V(1).Infof("Datastore selected as per policy : %s", datastoreInfo.Info.Name) - } else { - // If zone is specified, pick the datastore in the zone with maximum free space within the zone. - if volumeOptions.Datastore == "" && len(zonesToSearch) != 0 { - klog.V(4).Infof("Specified zone : %s", zonesToSearch) - dsList, err = getDatastoresForZone(ctx, vs.nodeManager, zonesToSearch) - - if err != nil { - klog.Errorf("Failed to find a shared datastore matching zone %s. err: %+v", zonesToSearch, err) - return "", err - } - // If unable to get any datastore, fail the operation - if len(dsList) == 0 { - err := fmt.Errorf("Failed to find a shared datastore matching zone %s", zonesToSearch) - klog.Error(err) - return "", err - } - - datastoreInfo, err = getMostFreeDatastore(ctx, nil, dsList) - if err != nil { - klog.Errorf("Failed to get shared datastore: %+v", err) - return "", err - } - klog.V(1).Infof("Specified zone : %s. Selected datastore : %s", zonesToSearch, datastoreInfo.Info.Name) - } else { - var sharedDsList []*vclib.DatastoreInfo - var err error - if len(zonesToSearch) == 0 { - // If zone is not provided, get the shared datastore across all node VMs. - klog.V(4).Infof("Validating if datastore %s is shared across all node VMs", datastoreName) - sharedDSFinder := &sharedDatastore{ - nodeManager: vs.nodeManager, - candidateDatastores: candidateDatastoreInfos, - } - datastoreInfo, err = sharedDSFinder.getSharedDatastore(ctx) - if err != nil { - klog.Errorf("Failed to get shared datastore: %+v", err) - return "", err - } - if datastoreInfo == nil { - err = fmt.Errorf("The specified datastore %s is not a shared datastore across node VMs", datastoreName) - klog.Error(err) - return "", err - } - } else { - // If zone is provided, get the shared datastores in that zone. - klog.V(4).Infof("Validating if datastore %s is in zone %s ", datastoreName, zonesToSearch) - sharedDsList, err = getDatastoresForZone(ctx, vs.nodeManager, zonesToSearch) - if err != nil { - klog.Errorf("Failed to find a shared datastore matching zone %s. err: %+v", zonesToSearch, err) - return "", err - } - found := false - for _, sharedDs := range sharedDsList { - if datastoreInfo, found = candidateDatastores[sharedDs.Info.Url]; found { - klog.V(4).Infof("Datastore validation succeeded") - found = true - break - } - } - if !found { - err = fmt.Errorf("The specified datastore %s does not match the provided zones : %s", datastoreName, zonesToSearch) - klog.Error(err) - return "", err - } - } - } - } - - // if datastoreInfo is still not determined, it is an error condition - if datastoreInfo == nil { - klog.Errorf("ambiguous datastore name %s, cannot be found among: %v", datastoreName, candidateDatastoreInfos) - return "", fmt.Errorf("ambiguous datastore name %s", datastoreName) - } - ds := datastoreInfo.Datastore - volumeOptions.Datastore = datastoreInfo.Info.Name - vmOptions, err = vs.setVMOptions(ctx, vsi.conn, ds) - if err != nil { - klog.Errorf("failed to set VM options required to create a vsphere volume. err: %+v", err) - return "", err - } - kubeVolsPath := filepath.Clean(ds.Path(VolDir)) + "/" - err = ds.CreateDirectory(ctx, kubeVolsPath, false) - if err != nil && err != vclib.ErrFileAlreadyExist { - klog.Errorf("Cannot create dir %#v. err %s", kubeVolsPath, err) - return "", err - } - volumePath := kubeVolsPath + volumeOptions.Name + ".vmdk" - disk := diskmanagers.VirtualDisk{ - DiskPath: volumePath, - VolumeOptions: volumeOptions, - VMOptions: vmOptions, - } - volumePath, err = disk.Create(ctx, ds) - if err != nil { - klog.Errorf("Failed to create a vsphere volume with volumeOptions: %+v on datastore: %s. err: %+v", volumeOptions, ds, err) - return "", err - } - // Get the canonical path for the volume path. - canonicalVolumePath, err = getcanonicalVolumePath(ctx, datastoreInfo.Datacenter, volumePath) - if err != nil { - klog.Errorf("Failed to get canonical vsphere volume path for volume: %s with volumeOptions: %+v on datastore: %s. err: %+v", volumePath, volumeOptions, ds, err) - return "", err - } - if filepath.Base(datastoreName) != datastoreName { - // If datastore is within cluster, add cluster path to the volumePath - canonicalVolumePath = strings.Replace(canonicalVolumePath, filepath.Base(datastoreName), datastoreName, 1) - } - return canonicalVolumePath, nil - } - requestTime := time.Now() - canonicalVolumePath, err = createVolumeInternal(volumeOptions) - vclib.RecordCreateVolumeMetric(volumeOptions, requestTime, err) - klog.V(4).Infof("The canonical volume path for the newly created vSphere volume is %q", canonicalVolumePath) - return canonicalVolumePath, err -} - -// DeleteVolume deletes a volume given volume name. -func (vs *VSphere) DeleteVolume(vmDiskPath string) error { - klog.V(1).Infof("Starting to delete vSphere volume with vmDiskPath: %s", vmDiskPath) - deleteVolumeInternal := func(vmDiskPath string) error { - // Create context - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - vsi, err := vs.getVSphereInstanceForServer(vs.cfg.Workspace.VCenterIP, ctx) - if err != nil { - return err - } - dc, err := vclib.GetDatacenter(ctx, vsi.conn, vs.cfg.Workspace.Datacenter) - if err != nil { - return err - } - disk := diskmanagers.VirtualDisk{ - DiskPath: vmDiskPath, - VolumeOptions: &vclib.VolumeOptions{}, - VMOptions: &vclib.VMOptions{}, - } - err = disk.Delete(ctx, dc) - if err != nil { - klog.Errorf("Failed to delete vsphere volume with vmDiskPath: %s. err: %+v", vmDiskPath, err) - } - return err - } - requestTime := time.Now() - err := deleteVolumeInternal(vmDiskPath) - vclib.RecordvSphereMetric(vclib.OperationDeleteVolume, requestTime, err) - return err -} - -// HasClusterID returns true if the cluster has a clusterID -func (vs *VSphere) HasClusterID() bool { - return true -} - -// Notification handler when node is added into k8s cluster. -func (vs *VSphere) NodeAdded(obj interface{}) { - node, ok := obj.(*v1.Node) - if node == nil || !ok { - klog.Warningf("NodeAdded: unrecognized object %+v", obj) - return - } - - klog.V(4).Infof("Node added: %+v", node) - if err := vs.nodeManager.RegisterNode(node); err != nil { - klog.Errorf("failed to add node %+v: %v", node, err) - } - vs.setNodeZoneLabels(node) -} - -// Node zone labels sync function, intended to be called periodically within kube-controller-manager. -func (vs *VSphere) syncNodeZoneLabels(_ interface{}, newObj interface{}) { - node, ok := newObj.(*v1.Node) - if node == nil || !ok { - klog.Warningf("NodeUpdated: unrecognized object %+v", newObj) - return - } - - // Populate zone and region labels if needed. - // This logic engages only if credentials provided via secret. - // Returns early if topology labels are already presented. - // https://github.com/kubernetes/kubernetes/issues/75175 - if vs.isSecretInfoProvided && vs.isZoneEnabled() { - labels := node.GetLabels() - _, zoneOk := labels[v1.LabelTopologyZone] - _, regionOk := labels[v1.LabelTopologyRegion] - if zoneOk && regionOk { - klog.V(6).Infof("Node topology labels are already populated") - return - } - klog.V(4).Infof("Topology labels was not found, trying to populate for node %s", node.Name) - vs.setNodeZoneLabels(node) - } -} - -func (vs *VSphere) setNodeZoneLabels(node *v1.Node) { - nodeZone := node.ObjectMeta.Labels[v1.LabelTopologyZone] - nodeRegion := node.ObjectMeta.Labels[v1.LabelTopologyRegion] - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - if vs.isSecretInfoProvided && vs.isZoneEnabled() { - zone, err := vs.GetZoneByProviderID(ctx, node.Spec.ProviderID) - if err != nil { - klog.Warningf("Can not get Zones from vCenter: %v", err) - } - - if zone.FailureDomain != nodeZone || zone.Region != nodeRegion { - updatedNode := node.DeepCopy() - labels := updatedNode.ObjectMeta.Labels - if labels == nil { - labels = make(map[string]string) - } - labels[v1.LabelTopologyZone] = zone.FailureDomain - labels[v1.LabelTopologyRegion] = zone.Region - - err = tryUpdateNode(ctx, vs.kubeClient, updatedNode) - if err != nil { - klog.Errorf("vSphere cloud provider can not update node with zones info: %v", err) - } else { - klog.V(4).Infof("Node %s updated with zone and region labels", updatedNode.Name) - } - } - } -} - -func tryUpdateNode(ctx context.Context, client clientset.Interface, updatedNode *v1.Node) error { - for i := 0; i < updateNodeRetryCount; i++ { - _, err := client.CoreV1().Nodes().Update(ctx, updatedNode, metav1.UpdateOptions{}) - if err != nil { - if !apierrors.IsConflict(err) { - return fmt.Errorf("vSphere cloud provider can not update node with zones info: %v", err) - } - } else { - return nil - } - } - return fmt.Errorf("update node exceeds retry count") -} - -// Notification handler when node is removed from k8s cluster. -func (vs *VSphere) NodeDeleted(obj interface{}) { - node, ok := obj.(*v1.Node) - if node == nil || !ok { - klog.Warningf("NodeDeleted: unrecognized object %+v", obj) - return - } - - klog.V(4).Infof("Node deleted: %+v", node) - if err := vs.nodeManager.UnRegisterNode(node); err != nil { - klog.Errorf("failed to delete node %s: %v", node.Name, err) - } -} - -// Notification handler when credentials secret is added. -func (vs *VSphere) SecretAdded(obj interface{}) { - secret, ok := obj.(*v1.Secret) - if secret == nil || !ok { - klog.Warningf("Unrecognized secret object %T", obj) - return - } - - if secret.Name != vs.cfg.Global.SecretName || - secret.Namespace != vs.cfg.Global.SecretNamespace { - return - } - - klog.V(4).Infof("refreshing node cache for secret: %s/%s", secret.Namespace, secret.Name) - vs.refreshNodesForSecretChange() -} - -// Notification handler when credentials secret is updated. -func (vs *VSphere) SecretUpdated(obj interface{}, newObj interface{}) { - oldSecret, ok := obj.(*v1.Secret) - if oldSecret == nil || !ok { - klog.Warningf("Unrecognized secret object %T", obj) - return - } - - secret, ok := newObj.(*v1.Secret) - if secret == nil || !ok { - klog.Warningf("Unrecognized secret object %T", newObj) - return - } - - if secret.Name != vs.cfg.Global.SecretName || - secret.Namespace != vs.cfg.Global.SecretNamespace || - reflect.DeepEqual(secret.Data, oldSecret.Data) { - return - } - - klog.V(4).Infof("refreshing node cache for secret: %s/%s", secret.Namespace, secret.Name) - vs.refreshNodesForSecretChange() -} - -func (vs *VSphere) refreshNodesForSecretChange() { - err := vs.nodeManager.refreshNodes() - if err != nil { - klog.Errorf("failed to rediscover nodes: %v", err) - } -} - -func (vs *VSphere) NodeManager() (nodeManager *NodeManager) { - if vs == nil { - return nil - } - return vs.nodeManager -} - -func withTagsClient(ctx context.Context, connection *vclib.VSphereConnection, f func(c *rest.Client) error) error { - c := rest.NewClient(connection.Client) - signer, err := connection.Signer(ctx, connection.Client) - if err != nil { - return err - } - if signer == nil { - user := url.UserPassword(connection.Username, connection.Password) - err = c.Login(ctx, user) - } else { - err = c.LoginByToken(c.WithSigner(ctx, signer)) - } - if err != nil { - return err - } - - defer func() { - if err := c.Logout(ctx); err != nil { - klog.Errorf("failed to logout: %v", err) - } - }() - return f(c) -} - -func (vs *VSphere) getZoneByVmUUIDAndNodeName(ctx context.Context, vmUUID string, nodeName k8stypes.NodeName) (cloudprovider.Zone, error) { - zone := cloudprovider.Zone{} - - vsi, err := vs.getVSphereInstanceForServer(vs.cfg.Workspace.VCenterIP, ctx) - if err != nil { - klog.Errorf("Cannot connect to vsphere. Get zone for node %s error", nodeName) - return cloudprovider.Zone{}, err - } - dc, err := vclib.GetDatacenter(ctx, vsi.conn, vs.cfg.Workspace.Datacenter) - if err != nil { - klog.Errorf("Cannot connect to datacenter. Get zone for node %s error", nodeName) - return cloudprovider.Zone{}, err - } - vmHost, err := dc.GetHostByVMUUID(ctx, vmUUID) - if err != nil { - klog.Errorf("Cannot find VM runtime host. Get zone for node %s error", nodeName) - return cloudprovider.Zone{}, err - } - - pc := vsi.conn.Client.ServiceContent.PropertyCollector - err = withTagsClient(ctx, vsi.conn, func(c *rest.Client) error { - client := tags.NewManager(c) - // example result: ["Folder", "Datacenter", "Cluster", "Host"] - objects, err := mo.Ancestors(ctx, vsi.conn.Client, pc, *vmHost) - if err != nil { - return err - } - - // search the hierarchy, example order: ["Host", "Cluster", "Datacenter", "Folder"] - for i := range objects { - obj := objects[len(objects)-1-i] - attachedTags, err := client.ListAttachedTags(ctx, obj) - if err != nil { - klog.Errorf("Cannot list attached tags. Get zone for node %s: %s", nodeName, err) - return err - } - for _, value := range attachedTags { - tag, err := client.GetTag(ctx, value) - if err != nil { - klog.Errorf("Get tag %s: %s", value, err) - return err - } - category, err := client.GetCategory(ctx, tag.CategoryID) - if err != nil { - klog.Errorf("Get category %s error", value) - return err - } - - found := func() { - klog.Errorf("Found %q tag (%s) for %s attached to %s", category.Name, tag.Name, vmUUID, obj.Reference()) - } - switch { - case category.Name == vs.cfg.Labels.Zone: - zone.FailureDomain = tag.Name - found() - case category.Name == vs.cfg.Labels.Region: - zone.Region = tag.Name - found() - } - - if zone.FailureDomain != "" && zone.Region != "" { - return nil - } - } - } - - if zone.Region == "" { - return fmt.Errorf("vSphere region category %q does not match any tags for node %s [%s]", vs.cfg.Labels.Region, nodeName, vmUUID) - } - if zone.FailureDomain == "" { - return fmt.Errorf("vSphere zone category %q does not match any tags for node %s [%s]", vs.cfg.Labels.Zone, nodeName, vmUUID) - } - - return nil - }) - if err != nil { - klog.Errorf("Get zone for node %s: %s", nodeName, err) - return cloudprovider.Zone{}, err - } - return zone, nil -} - -// GetZone implements Zones.GetZone -func (vs *VSphere) GetZone(ctx context.Context) (cloudprovider.Zone, error) { - nodeName, err := vs.CurrentNodeName(ctx, vs.hostName) - if err != nil { - klog.Errorf("Cannot get node name.") - return cloudprovider.Zone{}, err - } - return vs.getZoneByVmUUIDAndNodeName(ctx, vs.vmUUID, nodeName) -} - -func (vs *VSphere) GetZoneByNodeName(ctx context.Context, nodeName k8stypes.NodeName) (cloudprovider.Zone, error) { - return cloudprovider.Zone{}, cloudprovider.NotImplemented -} - -func (vs *VSphere) GetZoneByProviderID(ctx context.Context, providerID string) (cloudprovider.Zone, error) { - var nodeName k8stypes.NodeName - vmUUID := strings.Replace(providerID, providerIDPrefix, "", 1) - - for nName, nInfo := range vs.nodeManager.nodeInfoMap { - if nInfo.vmUUID == vmUUID { - nodeName = convertToK8sType(nName) - break - } - } - - return vs.getZoneByVmUUIDAndNodeName(ctx, vmUUID, nodeName) -} - -// GetLabelsForVolume implements the PVLabeler interface for VSphere -// since this interface is used by the PV label admission controller. -func (vs *VSphere) GetLabelsForVolume(ctx context.Context, pv *v1.PersistentVolume) (map[string]string, error) { - // ignore if zones not enabled - if !vs.isZoneEnabled() { - klog.V(4).Infof("Zone labels for volume is not enabled in vsphere.conf") - return nil, nil - } - // ignore if not vSphere volume - if pv.Spec.VsphereVolume == nil { - return nil, nil - } - return vs.GetVolumeLabels(pv.Spec.VsphereVolume.VolumePath) -} - -// GetVolumeLabels returns the well known zone and region labels for given volume -func (vs *VSphere) GetVolumeLabels(volumePath string) (map[string]string, error) { - // Create context - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - - // if zones is not enabled return no labels - if !vs.isZoneEnabled() { - klog.V(4).Infof("Volume zone labels is not enabled in vsphere.conf") - return nil, nil - } - - // Find the datastore on which this volume resides - datastorePathObj, err := vclib.GetDatastorePathObjFromVMDiskPath(volumePath) - if err != nil { - klog.Errorf("Failed to get datastore for volume: %v: %+v", volumePath, err) - return nil, err - } - dsInfos, err := vs.FindDatastoreByName(ctx, datastorePathObj.Datastore) - if err != nil { - klog.Errorf("Failed to get datastore by name: %v: %+v", datastorePathObj.Datastore, err) - return nil, err - } - var datastore *vclib.Datastore - for _, dsInfo := range dsInfos { - if dsInfo.Datastore.Exists(ctx, datastorePathObj.Path) { - datastore = dsInfo.Datastore - } - } - if datastore == nil { - klog.Errorf("Could not find %s among %v", volumePath, dsInfos) - return nil, fmt.Errorf("could not find the datastore for volume: %s", volumePath) - } - - dsZones, err := vs.GetZonesForDatastore(ctx, datastore) - if err != nil { - klog.Errorf("Failed to get zones for datastore %v: %+v", datastorePathObj.Datastore, err) - return nil, err - } - dsZones, err = vs.collapseZonesInRegion(ctx, dsZones) - if err != nil { - klog.Errorf("Failed to collapse zones. %v", err) - return nil, err - } - // FIXME: For now, pick the first zone of datastore as the zone of volume - labels := make(map[string]string) - if len(dsZones) > 0 { - labels[v1.LabelTopologyRegion] = dsZones[0].Region - labels[v1.LabelTopologyZone] = dsZones[0].FailureDomain - } - return labels, nil -} - -// collapse all zones in same region. Join FailureDomain with well known separator -func (vs *VSphere) collapseZonesInRegion(ctx context.Context, zones []cloudprovider.Zone) ([]cloudprovider.Zone, error) { - // first create a map of region -> list of zones in that region - regionToZones := make(map[string][]string) - for _, zone := range zones { - fds, exists := regionToZones[zone.Region] - if !exists { - fds = make([]string, 0) - } - regionToZones[zone.Region] = append(fds, zone.FailureDomain) - } - - // Join all fds in same region and return Zone instances - collapsedZones := make([]cloudprovider.Zone, 0) - for region, fds := range regionToZones { - fdSet := sets.NewString(fds...) - appendedZone := volumehelpers.ZonesSetToLabelValue(fdSet) - collapsedZones = append(collapsedZones, cloudprovider.Zone{FailureDomain: appendedZone, Region: region}) - } - return collapsedZones, nil -} - -// GetZonesForDatastore returns all the zones from which this datastore is visible -func (vs *VSphere) GetZonesForDatastore(ctx context.Context, datastore *vclib.Datastore) ([]cloudprovider.Zone, error) { - vsi, err := vs.getVSphereInstanceForServer(vs.cfg.Workspace.VCenterIP, ctx) - if err != nil { - klog.Errorf("Failed to get vSphere instance: %+v", err) - return nil, err - } - - // get the hosts mounted on this datastore - // datastore -> ["host-1", "host-2", "host-3", ...] - dsHosts, err := datastore.GetDatastoreHostMounts(ctx) - if err != nil { - klog.Errorf("Failed to get datastore host mounts for %v: %+v", datastore, err) - return nil, err - } - klog.V(4).Infof("Got host mounts for datastore: %v: %v", datastore, dsHosts) - - // compute map of zone to list of hosts in that zone across all hosts in vsphere - // zone -> ["host-i", "host-j", "host-k", ...] - zoneToHosts, err := vs.GetZoneToHosts(ctx, vsi) - if err != nil { - klog.Errorf("Failed to get zones for hosts: %+v", err) - return nil, err - } - klog.V(4).Infof("Got zone to hosts: %v", zoneToHosts) - - // datastore belongs to a zone if all hosts in that zone mount that datastore - dsZones := make([]cloudprovider.Zone, 0) - for zone, zoneHosts := range zoneToHosts { - // if zone is valid and zoneHosts is a subset of dsHosts, then add zone - if zone.Region != "" && containsAll(dsHosts, zoneHosts) { - dsZones = append(dsZones, zone) - } - } - klog.V(4).Infof("Datastore %s belongs to zones: %v", datastore, dsZones) - return dsZones, nil -} - -// GetZoneToHosts returns a map of 'zone' -> 'list of hosts in that zone' in given VC -func (vs *VSphere) GetZoneToHosts(ctx context.Context, vsi *VSphereInstance) (map[cloudprovider.Zone][]vmwaretypes.ManagedObjectReference, error) { - // Approach is to find tags with the category of 'vs.cfg.Labels.Zone' - zoneToHosts := make(map[cloudprovider.Zone][]vmwaretypes.ManagedObjectReference) - - getHostsInTagCategory := func(ctx context.Context, tagCategoryName string) (map[vmwaretypes.ManagedObjectReference]string, error) { - - hostToTag := make(map[vmwaretypes.ManagedObjectReference]string) - err := withTagsClient(ctx, vsi.conn, func(c *rest.Client) error { - // Look whether the zone/region tag is defined in VC - tagManager := tags.NewManager(c) - tagsForCat, err := tagManager.GetTagsForCategory(ctx, tagCategoryName) - if err != nil { - klog.V(4).Infof("No tags with category %s exists in VC. So ignoring.", tagCategoryName) - // return a special error so that tag unavailability can be ignored - return ErrNoZoneTagInVC - } - klog.V(4).Infof("List of tags under category %s: %v", tagCategoryName, tagsForCat) - - // Each such tag is a different 'zone' marked in vCenter. - // Query for objects associated with each tag. Consider Host, Cluster and Datacenter kind of objects. - tagToObjects := make(map[string][]mo.Reference) - for _, tag := range tagsForCat { - klog.V(4).Infof("Getting objects associated with tag %s", tag.Name) - objects, err := tagManager.ListAttachedObjects(ctx, tag.Name) - if err != nil { - klog.Errorf("Error fetching objects associated with zone tag %s: %+v", tag.Name, err) - return err - } - tagToObjects[tag.Name] = objects - } - klog.V(4).Infof("Map of tag to objects: %v", tagToObjects) - - // Infer zone for hosts within Datacenter, hosts within clusters and hosts - in this order of increasing priority - // The below nested for-loops goes over all the objects in tagToObjects three times over. - for _, moType := range []string{vclib.DatacenterType, vclib.ClusterComputeResourceType, vclib.HostSystemType} { - for tagName, objects := range tagToObjects { - for _, obj := range objects { - if obj.Reference().Type == moType { - klog.V(4).Infof("Found zone tag %s associated with %s of type %T: %s", tagName, obj, obj, obj.Reference().Value) - switch moType { - case "Datacenter": - // mark that all hosts in this datacenter has tag applied - dcObjRef := object.NewReference(vsi.conn.Client, obj.Reference()) - klog.V(4).Infof("Converted mo obj %v to govmomi object ref %v", obj, dcObjRef) - dcObj, ok := dcObjRef.(*object.Datacenter) - if !ok { - errMsg := fmt.Sprintf("Not able to convert object to Datacenter %v", obj) - klog.Errorf(errMsg) - return errors.New(errMsg) - } - klog.V(4).Infof("Converted to object Datacenter %v", dcObj) - dc := vclib.Datacenter{Datacenter: dcObj} - hosts, err := dc.GetAllHosts(ctx) - if err != nil { - klog.Errorf("Could not get hosts from datacenter %v: %+v", dc, err) - return err - } - for _, host := range hosts { - hostToTag[host] = tagName - } - case "ClusterComputeResource": - // mark that all hosts in this cluster has tag applied - clusterObjRef := object.NewReference(vsi.conn.Client, obj.Reference()) - clusterObj, ok := clusterObjRef.(*object.ClusterComputeResource) - if !ok { - errMsg := fmt.Sprintf("Not able to convert object ClusterComputeResource %v", obj) - klog.Errorf(errMsg) - return errors.New(errMsg) - } - hostSystemList, err := clusterObj.Hosts(ctx) - if err != nil { - klog.Errorf("Not able to get hosts in cluster %v: %+v", clusterObj, err) - return err - } - for _, host := range hostSystemList { - hostToTag[host.Reference()] = tagName - } - case "HostSystem": - // mark that this host has tag applied - hostToTag[obj.Reference()] = tagName - } - } - } - } - } - return nil // no error - }) - if err != nil { - klog.Errorf("Error processing tag category %s: %+v", tagCategoryName, err) - return nil, err - } - klog.V(6).Infof("Computed hostToTag: %v", hostToTag) - return hostToTag, nil - } - - hostToZone, err := getHostsInTagCategory(ctx, vs.cfg.Labels.Zone) - if err != nil { - if err == ErrNoZoneTagInVC { - return zoneToHosts, nil - } - klog.Errorf("Get hosts in tag category %s failed: %+v", vs.cfg.Labels.Zone, err) - return nil, err - } - - hostToRegion, err := getHostsInTagCategory(ctx, vs.cfg.Labels.Region) - if err != nil { - if err == ErrNoZoneTagInVC { - return zoneToHosts, nil - } - klog.Errorf("Get hosts in tag category %s failed: %+v", vs.cfg.Labels.Region, err) - return nil, err - } - - // populate zoneToHosts based on hostToZone and hostToRegion - klog.V(6).Infof("hostToZone: %v", hostToZone) - klog.V(6).Infof("hostToRegion: %v", hostToRegion) - for host, zone := range hostToZone { - region, regionExists := hostToRegion[host] - if !regionExists { - klog.Errorf("Host %s has a zone, but no region. So ignoring.", host) - continue - } - cpZone := cloudprovider.Zone{FailureDomain: zone, Region: region} - hosts, exists := zoneToHosts[cpZone] - if !exists { - hosts = make([]vmwaretypes.ManagedObjectReference, 0) - } - zoneToHosts[cpZone] = append(hosts, host) - } - klog.V(4).Infof("Final zoneToHosts: %v", zoneToHosts) - return zoneToHosts, nil -} - -// returns true if s1 contains all elements from s2; false otherwise -func containsAll(s1 []vmwaretypes.ManagedObjectReference, s2 []vmwaretypes.ManagedObjectReference) bool { - // put all elements of s1 into a map - s1Map := make(map[vmwaretypes.ManagedObjectReference]bool) - for _, mor := range s1 { - s1Map[mor] = true - } - // verify if all elements of s2 are present in s1Map - for _, mor := range s2 { - if _, found := s1Map[mor]; !found { - return false - } - } - return true -} diff --git a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vsphere_test.go b/staging/src/k8s.io/legacy-cloud-providers/vsphere/vsphere_test.go deleted file mode 100644 index 128a52c6a9d..00000000000 --- a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vsphere_test.go +++ /dev/null @@ -1,1340 +0,0 @@ -//go:build !providerless -// +build !providerless - -/* -Copyright 2016 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vsphere - -import ( - "bytes" - "context" - "crypto/tls" - "crypto/x509" - "flag" - "io/ioutil" - "log" - "net/url" - "os" - "reflect" - "sort" - "strconv" - "strings" - "sync" - "testing" - - "github.com/vmware/govmomi/find" - lookup "github.com/vmware/govmomi/lookup/simulator" - "github.com/vmware/govmomi/property" - "github.com/vmware/govmomi/simulator" - "github.com/vmware/govmomi/simulator/vpx" - sts "github.com/vmware/govmomi/sts/simulator" - "github.com/vmware/govmomi/vapi/rest" - vapi "github.com/vmware/govmomi/vapi/simulator" - "github.com/vmware/govmomi/vapi/tags" - "github.com/vmware/govmomi/vim25/mo" - vmwaretypes "github.com/vmware/govmomi/vim25/types" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/types" - "k8s.io/apimachinery/pkg/util/rand" - "k8s.io/klog/v2" - - cloudprovider "k8s.io/cloud-provider" - "k8s.io/legacy-cloud-providers/vsphere/vclib" -) - -// localhostCert was generated from crypto/tls/generate_cert.go with the following command: -// -// go run generate_cert.go --rsa-bits 2048 --host 127.0.0.1,::1,example.com --ca --start-date "Jan 1 00:00:00 1970" --duration=1000000h -var localhostCert = `-----BEGIN CERTIFICATE----- -MIIDGDCCAgCgAwIBAgIQTKCKn99d5HhQVCLln2Q+eTANBgkqhkiG9w0BAQsFADAS -MRAwDgYDVQQKEwdBY21lIENvMCAXDTcwMDEwMTAwMDAwMFoYDzIwODQwMTI5MTYw -MDAwWjASMRAwDgYDVQQKEwdBY21lIENvMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A -MIIBCgKCAQEA1Z5/aTwqY706M34tn60l8ZHkanWDl8mM1pYf4Q7qg3zA9XqWLX6S -4rTYDYCb4stEasC72lQnbEWHbthiQE76zubP8WOFHdvGR3mjAvHWz4FxvLOTheZ+ -3iDUrl6Aj9UIsYqzmpBJAoY4+vGGf+xHvuukHrVcFqR9ZuBdZuJ/HbbjUyuNr3X9 -erNIr5Ha17gVzf17SNbYgNrX9gbCeEB8Z9Ox7dVuJhLDkpF0T/B5Zld3BjyUVY/T -cukU4dTVp6isbWPvCMRCZCCOpb+qIhxEjJ0n6tnPt8nf9lvDl4SWMl6X1bH+2EFa -a8R06G0QI+XhwPyjXUyCR8QEOZPCR5wyqQIDAQABo2gwZjAOBgNVHQ8BAf8EBAMC -AqQwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB/zAuBgNVHREE -JzAlggtleGFtcGxlLmNvbYcEfwAAAYcQAAAAAAAAAAAAAAAAAAAAATANBgkqhkiG -9w0BAQsFAAOCAQEAThqgJ/AFqaANsOp48lojDZfZBFxJQ3A4zfR/MgggUoQ9cP3V -rxuKAFWQjze1EZc7J9iO1WvH98lOGVNRY/t2VIrVoSsBiALP86Eew9WucP60tbv2 -8/zsBDSfEo9Wl+Q/gwdEh8dgciUKROvCm76EgAwPGicMAgRsxXgwXHhS5e8nnbIE -Ewaqvb5dY++6kh0Oz+adtNT5OqOwXTIRI67WuEe6/B3Z4LNVPQDIj7ZUJGNw8e6L -F4nkUthwlKx4yEJHZBRuFPnO7Z81jNKuwL276+mczRH7piI6z9uyMV/JbEsOIxyL -W6CzB7pZ9Nj1YLpgzc1r6oONHLokMJJIz/IvkQ== ------END CERTIFICATE-----` - -// localhostKey is the private key for localhostCert. -// Fake value for testing. -var localhostKey = `-----BEGIN RSA PRIVATE KEY----- -MIIEowIBAAKCAQEA1Z5/aTwqY706M34tn60l8ZHkanWDl8mM1pYf4Q7qg3zA9XqW -LX6S4rTYDYCb4stEasC72lQnbEWHbthiQE76zubP8WOFHdvGR3mjAvHWz4FxvLOT -heZ+3iDUrl6Aj9UIsYqzmpBJAoY4+vGGf+xHvuukHrVcFqR9ZuBdZuJ/HbbjUyuN -r3X9erNIr5Ha17gVzf17SNbYgNrX9gbCeEB8Z9Ox7dVuJhLDkpF0T/B5Zld3BjyU -VY/TcukU4dTVp6isbWPvCMRCZCCOpb+qIhxEjJ0n6tnPt8nf9lvDl4SWMl6X1bH+ -2EFaa8R06G0QI+XhwPyjXUyCR8QEOZPCR5wyqQIDAQABAoIBAFAJmb1pMIy8OpFO -hnOcYWoYepe0vgBiIOXJy9n8R7vKQ1X2f0w+b3SHw6eTd1TLSjAhVIEiJL85cdwD -MRTdQrXA30qXOioMzUa8eWpCCHUpD99e/TgfO4uoi2dluw+pBx/WUyLnSqOqfLDx -S66kbeFH0u86jm1hZibki7pfxLbxvu7KQgPe0meO5/13Retztz7/xa/pWIY71Zqd -YC8UckuQdWUTxfuQf0470lAK34GZlDy9tvdVOG/PmNkG4j6OQjy0Kmz4Uk7rewKo -ZbdphaLPJ2A4Rdqfn4WCoyDnxlfV861T922/dEDZEbNWiQpB81G8OfLL+FLHxyIT -LKEu4R0CgYEA4RDj9jatJ/wGkMZBt+UF05mcJlRVMEijqdKgFwR2PP8b924Ka1mj -9zqWsfbxQbdPdwsCeVBZrSlTEmuFSQLeWtqBxBKBTps/tUP0qZf7HjfSmcVI89WE -3ab8LFjfh4PtK/LOq2D1GRZZkFliqi0gKwYdDoK6gxXWwrumXq4c2l8CgYEA8vrX -dMuGCNDjNQkGXx3sr8pyHCDrSNR4Z4FrSlVUkgAW1L7FrCM911BuGh86FcOu9O/1 -Ggo0E8ge7qhQiXhB5vOo7hiVzSp0FxxCtGSlpdp4W6wx6ZWK8+Pc+6Moos03XdG7 -MKsdPGDciUn9VMOP3r8huX/btFTh90C/L50sH/cCgYAd02wyW8qUqux/0RYydZJR -GWE9Hx3u+SFfRv9aLYgxyyj8oEOXOFjnUYdY7D3KlK1ePEJGq2RG81wD6+XM6Clp -Zt2di0pBjYdi0S+iLfbkaUdqg1+ImLoz2YY/pkNxJQWQNmw2//FbMsAJxh6yKKrD -qNq+6oonBwTf55hDodVHBwKBgEHgEBnyM9ygBXmTgM645jqiwF0v75pHQH2PcO8u -Q0dyDr6PGjiZNWLyw2cBoFXWP9DYXbM5oPTcBMbfizY6DGP5G4uxzqtZHzBE0TDn -OKHGoWr5PG7/xDRrSrZOfe3lhWVCP2XqfnqoKCJwlOYuPws89n+8UmyJttm6DBt0 -mUnxAoGBAIvbR87ZFXkvqstLs4KrdqTz4TQIcpzB3wENukHODPA6C1gzWTqp+OEe -GMNltPfGCLO+YmoMQuTpb0kECYV3k4jR3gXO6YvlL9KbY+UOA6P0dDX4ROi2Rklj -yh+lxFLYa1vlzzi9r8B7nkR9hrOGMvkfXF42X89g7lx4uMtu2I4q ------END RSA PRIVATE KEY-----` - -func configFromEnv() (cfg VSphereConfig, ok bool) { - var InsecureFlag bool - var err error - cfg.Global.VCenterIP = os.Getenv("VSPHERE_VCENTER") - cfg.Global.VCenterPort = os.Getenv("VSPHERE_VCENTER_PORT") - cfg.Global.User = os.Getenv("VSPHERE_USER") - cfg.Global.Password = os.Getenv("VSPHERE_PASSWORD") - cfg.Global.Datacenter = os.Getenv("VSPHERE_DATACENTER") - cfg.Network.PublicNetwork = os.Getenv("VSPHERE_PUBLIC_NETWORK") - cfg.Global.DefaultDatastore = os.Getenv("VSPHERE_DATASTORE") - cfg.Disk.SCSIControllerType = os.Getenv("VSPHERE_SCSICONTROLLER_TYPE") - cfg.Global.WorkingDir = os.Getenv("VSPHERE_WORKING_DIR") - cfg.Global.VMName = os.Getenv("VSPHERE_VM_NAME") - if os.Getenv("VSPHERE_INSECURE") != "" { - InsecureFlag, err = strconv.ParseBool(os.Getenv("VSPHERE_INSECURE")) - } else { - InsecureFlag = false - } - if err != nil { - log.Fatal(err) - } - cfg.Global.InsecureFlag = InsecureFlag - - ok = (cfg.Global.VCenterIP != "" && - cfg.Global.User != "") - - return -} - -// configFromSim starts a vcsim instance and returns config for use against the vcsim instance. -// The vcsim instance is configured with an empty tls.Config. -func configFromSim() (VSphereConfig, func()) { - return configFromSimWithTLS(new(tls.Config), true) -} - -// configFromSimWithTLS starts a vcsim instance and returns config for use against the vcsim instance. -// The vcsim instance is configured with a tls.Config. The returned client -// config can be configured to allow/decline insecure connections. -func configFromSimWithTLS(tlsConfig *tls.Config, insecureAllowed bool) (VSphereConfig, func()) { - var cfg VSphereConfig - model := simulator.VPX() - - err := model.Create() - if err != nil { - log.Fatal(err) - } - - model.Service.TLS = tlsConfig - s := model.Service.NewServer() - - // STS simulator - path, handler := sts.New(s.URL, vpx.Setting) - model.Service.ServeMux.Handle(path, handler) - - // vAPI simulator - paths, handler := vapi.New(s.URL, simulator.Map) - path = paths[0] - model.Service.ServeMux.Handle(path, handler) - - // Lookup Service simulator - model.Service.RegisterSDK(lookup.New()) - - cfg.Global.InsecureFlag = insecureAllowed - - cfg.Global.VCenterIP = s.URL.Hostname() - cfg.Global.VCenterPort = s.URL.Port() - cfg.Global.User = s.URL.User.Username() - cfg.Global.Password, _ = s.URL.User.Password() - cfg.Global.Datacenter = vclib.TestDefaultDatacenter - cfg.Network.PublicNetwork = vclib.TestDefaultNetwork - cfg.Global.DefaultDatastore = vclib.TestDefaultDatastore - cfg.Disk.SCSIControllerType = os.Getenv("VSPHERE_SCSICONTROLLER_TYPE") - cfg.Global.WorkingDir = os.Getenv("VSPHERE_WORKING_DIR") - cfg.Global.VMName = os.Getenv("VSPHERE_VM_NAME") - - if cfg.Global.WorkingDir == "" { - cfg.Global.WorkingDir = "vm" // top-level Datacenter.VmFolder - } - - uuid := simulator.Map.Any("VirtualMachine").(*simulator.VirtualMachine).Config.Uuid - getVMUUID = func() (string, error) { return uuid, nil } - - return cfg, func() { - getVMUUID = GetVMUUID - s.Close() - model.Remove() - } -} - -// configFromEnvOrSim returns config from configFromEnv if set, otherwise returns configFromSim. -func configFromEnvOrSim() (VSphereConfig, func()) { - cfg, ok := configFromEnv() - if ok { - return cfg, func() {} - } - return configFromSim() -} - -func init() { - klog.InitFlags(nil) -} - -func TestSecretUpdated(t *testing.T) { - datacenter := "0.0.0.0" - secretName := "vccreds" - secretNamespace := "kube-system" - username := "test-username" - password := "test-password" - basicSecret := fakeSecret(secretName, secretNamespace, datacenter, username, password) - - cfg, cleanup := configFromSim() - defer cleanup() - - cfg.Global.User = username - cfg.Global.Password = password - cfg.Global.Datacenter = datacenter - cfg.Global.SecretName = secretName - cfg.Global.SecretNamespace = secretNamespace - - vsphere, err := buildVSphereFromConfig(cfg) - if err != nil { - t.Fatalf("Should succeed when a valid config is provided: %s", err) - } - - flag.Set("logtostderr", "false") - flag.Set("alsologtostderr", "false") - flag.Set("v", "9") - flag.Parse() - - testcases := []struct { - name string - oldSecret *v1.Secret - secret *v1.Secret - expectOutput bool - expectErrOutput bool - }{ - { - name: "Secrets are equal", - oldSecret: basicSecret.DeepCopy(), - secret: basicSecret.DeepCopy(), - expectOutput: false, - }, - { - name: "Secret with a different name", - oldSecret: basicSecret.DeepCopy(), - secret: fakeSecret("different", secretNamespace, datacenter, username, password), - expectOutput: false, - }, - { - name: "Secret with a different data", - oldSecret: basicSecret.DeepCopy(), - secret: fakeSecret(secretName, secretNamespace, datacenter, "...", "..."), - expectOutput: true, - }, - { - name: "Secret being nil", - oldSecret: basicSecret.DeepCopy(), - secret: nil, - expectOutput: true, - expectErrOutput: true, - }, - } - - for _, testcase := range testcases { - t.Run(testcase.name, func(t *testing.T) { - buf := new(buffer) - errBuf := new(buffer) - - klog.SetOutputBySeverity("INFO", buf) - klog.SetOutputBySeverity("WARNING", errBuf) - - vsphere.SecretUpdated(testcase.oldSecret, testcase.secret) - - klog.Flush() - if testcase.expectOutput && len(buf.String()) == 0 { - t.Fatalf("Expected log secret update for secrets:\nOld:\n\t%+v\nNew\n\t%+v", testcase.oldSecret, testcase.secret) - } else if !testcase.expectOutput && len(buf.String()) > 0 { - t.Fatalf("Unexpected log messages for secrets:\nOld:\n\t%+v\n\nNew:\n\t%+v\nMessage:%s", testcase.oldSecret, testcase.secret, buf.String()) - } - - if testcase.expectErrOutput && len(errBuf.String()) == 0 { - t.Fatalf("Expected log error output on secret update for secrets:\nOld:\n\t%+v\nNew\n\t%+v", testcase.oldSecret, testcase.secret) - } else if !testcase.expectErrOutput && len(errBuf.String()) > 0 { - t.Fatalf("Unexpected log error messages for secrets:\nOld:\n\t%+v\n\nNew:\n\t%+v\nMessage:%s", testcase.oldSecret, testcase.secret, errBuf.String()) - } - }) - } -} - -func TestReadConfig(t *testing.T) { - _, err := readConfig(nil) - if err == nil { - t.Errorf("Should fail when no config is provided: %s", err) - } - - // Fake values for testing. - cfg, err := readConfig(strings.NewReader(` -[Global] -server = 0.0.0.0 -port = 443 -user = user -password = password -insecure-flag = true -datacenter = us-west -vm-uuid = 1234 -vm-name = vmname -ca-file = /some/path/to/a/ca.pem -`)) - if err != nil { - t.Fatalf("Should succeed when a valid config is provided: %s", err) - } - - if cfg.Global.VCenterIP != "0.0.0.0" { - t.Errorf("incorrect vcenter ip: %s", cfg.Global.VCenterIP) - } - - if cfg.Global.Datacenter != "us-west" { - t.Errorf("incorrect datacenter: %s", cfg.Global.Datacenter) - } - - if cfg.Global.VMUUID != "1234" { - t.Errorf("incorrect vm-uuid: %s", cfg.Global.VMUUID) - } - - if cfg.Global.VMName != "vmname" { - t.Errorf("incorrect vm-name: %s", cfg.Global.VMName) - } - - if cfg.Global.CAFile != "/some/path/to/a/ca.pem" { - t.Errorf("incorrect ca-file: %s", cfg.Global.CAFile) - } -} - -func TestNewVSphere(t *testing.T) { - cfg, ok := configFromEnv() - if !ok { - t.Skipf("No config found in environment") - } - - _, err := newControllerNode(cfg) - if err != nil { - t.Fatalf("Failed to construct/authenticate vSphere: %s", err) - } -} - -func TestVSphereLogin(t *testing.T) { - cfg, cleanup := configFromEnvOrSim() - defer cleanup() - - // Create vSphere configuration object - vs, err := newControllerNode(cfg) - if err != nil { - t.Fatalf("Failed to construct/authenticate vSphere: %s", err) - } - - // Create context - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - - // Create vSphere client - vcInstance, ok := vs.vsphereInstanceMap[cfg.Global.VCenterIP] - if !ok { - t.Fatalf("Couldn't get vSphere instance: %s", cfg.Global.VCenterIP) - } - - err = vcInstance.conn.Connect(ctx) - if err != nil { - t.Errorf("Failed to connect to vSphere: %s", err) - } - vcInstance.conn.Logout(ctx) -} - -func TestVSphereLoginByToken(t *testing.T) { - cfg, cleanup := configFromSim() - defer cleanup() - - // Configure for SAML token auth - cfg.Global.User = localhostCert - cfg.Global.Password = localhostKey - - // Create vSphere configuration object - vs, err := newControllerNode(cfg) - if err != nil { - t.Fatalf("Failed to construct/authenticate vSphere: %s", err) - } - - ctx := context.Background() - - // Create vSphere client - vcInstance, ok := vs.vsphereInstanceMap[cfg.Global.VCenterIP] - if !ok { - t.Fatalf("Couldn't get vSphere instance: %s", cfg.Global.VCenterIP) - } - - err = vcInstance.conn.Connect(ctx) - if err != nil { - t.Errorf("Failed to connect to vSphere: %s", err) - } - vcInstance.conn.Logout(ctx) -} - -func TestVSphereLoginWithCaCert(t *testing.T) { - caCertPEM, err := ioutil.ReadFile("./vclib/testdata/ca.pem") - if err != nil { - t.Fatalf("Could not read ca cert from file") - } - - serverCert, err := tls.LoadX509KeyPair("./vclib/testdata/server.pem", "./vclib/testdata/server.key") - if err != nil { - t.Fatalf("Could not load server cert and server key from files: %#v", err) - } - - certPool := x509.NewCertPool() - if ok := certPool.AppendCertsFromPEM(caCertPEM); !ok { - t.Fatalf("Cannot add CA to CAPool") - } - - tlsConfig := tls.Config{ - Certificates: []tls.Certificate{serverCert}, - RootCAs: certPool, - } - - cfg, cleanup := configFromSimWithTLS(&tlsConfig, false) - defer cleanup() - - cfg.Global.CAFile = "./vclib/testdata/ca.pem" - - // Create vSphere configuration object - vs, err := newControllerNode(cfg) - if err != nil { - t.Fatalf("Failed to construct/authenticate vSphere: %s", err) - } - - ctx := context.Background() - - // Create vSphere client - vcInstance, ok := vs.vsphereInstanceMap[cfg.Global.VCenterIP] - if !ok { - t.Fatalf("Couldn't get vSphere instance: %s", cfg.Global.VCenterIP) - } - - err = vcInstance.conn.Connect(ctx) - if err != nil { - t.Errorf("Failed to connect to vSphere: %s", err) - } - vcInstance.conn.Logout(ctx) -} - -func TestZonesNoConfig(t *testing.T) { - _, ok := new(VSphere).Zones() - if ok { - t.Fatalf("Zones() should return false without VCP configured") - } -} - -func TestZonesWithCredsInSecret(t *testing.T) { - noSecretCfg, err := readConfig(strings.NewReader(` -[Global] -user = "vsphere-creds" -password = "kube-system" -insecure-flag = "1" -[Workspace] -server = "vcenter.example.com" -datacenter = "LAB" -default-datastore = "datastore" -folder = "/LAB/vm/lab-gxjfk" -[VirtualCenter "vcenter.example.com"] -datacenters = "LAB" -[Labels] -region = "kube-region" -zone = "kube-zone" -`)) - if err != nil { - t.Fatalf("Should succeed when a valid config is provided: %s", err) - } - vsphere, err := buildVSphereFromConfig(noSecretCfg) - if err != nil { - t.Fatalf("Should succeed when a valid config is provided: %s", err) - } - _, ok := vsphere.Zones() - if !ok { - t.Fatalf("Zones should return true with plain text credentials") - } - - // Return false in case if secret provided but no informers (no NodeManager.credentialManager basically) set up. - // Such situation happens during kubelet startup process, when InitialNode creates. - // See https://github.com/kubernetes/kubernetes/issues/75175 - // and https://github.com/kubernetes/kubernetes/blob/master/pkg/kubelet/kubelet_node_status.go#L418 - withSecretCfg, err := readConfig(strings.NewReader(` -[Global] -secret-name = "vsphere-creds" -secret-namespace = "kube-system" -insecure-flag = "1" -[Workspace] -server = "vcenter.example.com" -datacenter = "LAB" -default-datastore = "datastore_big" -folder = "/LAB/vm/lab-gxjfk" -[VirtualCenter "vcenter.example.com"] -datacenters = "LAB" -[Labels] -region = "kube-region" -zone = "kube-zone" -`)) - if err != nil { - t.Fatalf("Should succeed when a valid config is provided: %s", err) - } - vsphere, err = buildVSphereFromConfig(withSecretCfg) - if err != nil { - t.Fatalf("Should succeed when a valid config is provided: %s", err) - } - _, ok = vsphere.Zones() - if ok { - t.Fatalf("Zones should return false with plain credentials in secret") - } -} - -func TestZones(t *testing.T) { - // Any context will do - ctx := context.Background() - - // Create a vcsim instance - cfg, cleanup := configFromSim() - defer cleanup() - - // Configure for SAML token auth - cfg.Global.User = localhostCert - cfg.Global.Password = localhostKey - - // Create vSphere configuration object - vs, err := newControllerNode(cfg) - if err != nil { - t.Fatalf("Failed to construct/authenticate vSphere: %s", err) - } - - // Configure region and zone categories - vs.cfg.Labels.Region = "k8s-region" - vs.cfg.Labels.Zone = "k8s-zone" - - // Create vSphere client - vsi, ok := vs.vsphereInstanceMap[cfg.Global.VCenterIP] - if !ok { - t.Fatalf("Couldn't get vSphere instance: %s", cfg.Global.VCenterIP) - } - - err = vsi.conn.Connect(ctx) - if err != nil { - t.Errorf("Failed to connect to vSphere: %s", err) - } - - // Lookup Datacenter for this test's Workspace - dc, err := vclib.GetDatacenter(ctx, vsi.conn, vs.cfg.Workspace.Datacenter) - if err != nil { - t.Fatal(err) - } - - // Lookup VM's host where we'll attach tags - host, err := dc.GetHostByVMUUID(ctx, vs.vmUUID) - if err != nil { - t.Fatal(err) - } - - // Property Collector instance - pc := property.DefaultCollector(vsi.conn.Client) - - // Tag manager instance - m := tags.NewManager(rest.NewClient(vsi.conn.Client)) - signer, err := vsi.conn.Signer(ctx, vsi.conn.Client) - if err != nil { - t.Fatal(err) - } - if err = m.LoginByToken(m.WithSigner(ctx, signer)); err != nil { - t.Fatal(err) - } - - // Create a region category - regionID, err := m.CreateCategory(ctx, &tags.Category{Name: vs.cfg.Labels.Region}) - if err != nil { - t.Fatal(err) - } - - // Create a region tag - regionID, err = m.CreateTag(ctx, &tags.Tag{CategoryID: regionID, Name: "k8s-region-US"}) - if err != nil { - t.Fatal(err) - } - - // Create a zone category - zoneID, err := m.CreateCategory(ctx, &tags.Category{Name: vs.cfg.Labels.Zone}) - if err != nil { - t.Fatal(err) - } - - // Create a zone tag - zoneID, err = m.CreateTag(ctx, &tags.Tag{CategoryID: zoneID, Name: "k8s-zone-US-CA1"}) - if err != nil { - t.Fatal(err) - } - - // Create a random category - randomID, err := m.CreateCategory(ctx, &tags.Category{Name: "random-cat"}) - if err != nil { - t.Fatal(err) - } - - // Create a random tag - randomID, err = m.CreateTag(ctx, &tags.Tag{CategoryID: randomID, Name: "random-tag"}) - if err != nil { - t.Fatal(err) - } - - // Attach a random tag to VM's host - if err = m.AttachTag(ctx, randomID, host); err != nil { - t.Fatal(err) - } - - // Expecting Zones() to return true, indicating VCP supports the Zones interface - zones, ok := vs.Zones() - if !ok { - t.Fatalf("zones=%t", ok) - } - - // GetZone() tests, covering error and success paths - tests := []struct { - name string // name of the test for logging - fail bool // expect GetZone() to return error if true - prep func() // prepare vCenter state for the test - }{ - {"no tags", true, func() { - // no prep - }}, - {"no zone tag", true, func() { - if err = m.AttachTag(ctx, regionID, host); err != nil { - t.Fatal(err) - } - }}, - {"host tags set", false, func() { - if err = m.AttachTag(ctx, zoneID, host); err != nil { - t.Fatal(err) - } - }}, - {"host tags removed", true, func() { - if err = m.DetachTag(ctx, zoneID, host); err != nil { - t.Fatal(err) - } - if err = m.DetachTag(ctx, regionID, host); err != nil { - t.Fatal(err) - } - }}, - {"dc region, cluster zone", false, func() { - var h mo.HostSystem - if err = pc.RetrieveOne(ctx, host.Reference(), []string{"parent"}, &h); err != nil { - t.Fatal(err) - } - // Attach region tag to Datacenter - if err = m.AttachTag(ctx, regionID, dc); err != nil { - t.Fatal(err) - } - // Attach zone tag to Cluster - if err = m.AttachTag(ctx, zoneID, h.Parent); err != nil { - t.Fatal(err) - } - }}, - } - - for _, test := range tests { - test.prep() - - zone, err := zones.GetZone(ctx) - if test.fail { - if err == nil { - t.Errorf("%s: expected error", test.name) - } else { - t.Logf("%s: expected error=%s", test.name, err) - } - } else { - if err != nil { - t.Errorf("%s: %s", test.name, err) - } - t.Logf("zone=%#v", zone) - } - } -} - -func TestGetZoneToHosts(t *testing.T) { - // Common setup for all testcases in this test - ctx := context.TODO() - - // Create a vcsim instance - cfg, cleanup := configFromSim() - defer cleanup() - - // Create vSphere configuration object - vs, err := newControllerNode(cfg) - if err != nil { - t.Fatalf("Failed to construct/authenticate vSphere: %s", err) - } - - // Configure region and zone categories - vs.cfg.Labels.Region = "k8s-region" - vs.cfg.Labels.Zone = "k8s-zone" - - // Create vSphere client - vsi, ok := vs.vsphereInstanceMap[cfg.Global.VCenterIP] - if !ok { - t.Fatalf("Couldn't get vSphere instance: %s", cfg.Global.VCenterIP) - } - - err = vsi.conn.Connect(ctx) - if err != nil { - t.Errorf("Failed to connect to vSphere: %s", err) - } - - // Lookup Datacenter for this test's Workspace - dc, err := vclib.GetDatacenter(ctx, vsi.conn, vs.cfg.Workspace.Datacenter) - if err != nil { - t.Fatal(err) - } - - // Property Collector instance - pc := property.DefaultCollector(vsi.conn.Client) - - // find all hosts in VC - finder := find.NewFinder(vsi.conn.Client, true) - finder.SetDatacenter(dc.Datacenter) - allVcHostsList, err := finder.HostSystemList(ctx, "*") - if err != nil { - t.Fatal(err) - } - var allVcHosts []vmwaretypes.ManagedObjectReference - for _, h := range allVcHostsList { - allVcHosts = append(allVcHosts, h.Reference()) - } - - // choose a cluster to apply zone/region tags - cluster := simulator.Map.Any("ClusterComputeResource") - var c mo.ClusterComputeResource - if err := pc.RetrieveOne(ctx, cluster.Reference(), []string{"host"}, &c); err != nil { - t.Fatal(err) - } - - // choose one of the host inside this cluster to apply zone/region tags - if c.Host == nil || len(c.Host) == 0 { - t.Fatalf("This test needs a host inside a cluster.") - } - clusterHosts := c.Host - sortHosts(clusterHosts) - // pick the first host in the cluster to apply tags - host := clusterHosts[0] - remainingHostsInCluster := clusterHosts[1:] - - // Tag manager instance - m := tags.NewManager(rest.NewClient(vsi.conn.Client)) - user := url.UserPassword(vsi.conn.Username, vsi.conn.Password) - if err = m.Login(ctx, user); err != nil { - t.Fatal(err) - } - - // Create a region category - regionCat, err := m.CreateCategory(ctx, &tags.Category{Name: vs.cfg.Labels.Region}) - if err != nil { - t.Fatal(err) - } - - // Create a region tag - regionName := "k8s-region-US" - regionTag, err := m.CreateTag(ctx, &tags.Tag{CategoryID: regionCat, Name: regionName}) - if err != nil { - t.Fatal(err) - } - - // Create a zone category - zoneCat, err := m.CreateCategory(ctx, &tags.Category{Name: vs.cfg.Labels.Zone}) - if err != nil { - t.Fatal(err) - } - - // Create a zone tag - zone1Name := "k8s-zone-US-CA1" - zone1Tag, err := m.CreateTag(ctx, &tags.Tag{CategoryID: zoneCat, Name: zone1Name}) - if err != nil { - t.Fatal(err) - } - zone1 := cloudprovider.Zone{FailureDomain: zone1Name, Region: regionName} - - // Create a second zone tag - zone2Name := "k8s-zone-US-CA2" - zone2Tag, err := m.CreateTag(ctx, &tags.Tag{CategoryID: zoneCat, Name: zone2Name}) - if err != nil { - t.Fatal(err) - } - zone2 := cloudprovider.Zone{FailureDomain: zone2Name, Region: regionName} - - testcases := []struct { - name string - tags map[string][]mo.Reference - zoneToHosts map[cloudprovider.Zone][]vmwaretypes.ManagedObjectReference - }{ - { - name: "Zone and Region tags on host", - tags: map[string][]mo.Reference{zone1Tag: {host}, regionTag: {host}}, - zoneToHosts: map[cloudprovider.Zone][]vmwaretypes.ManagedObjectReference{zone1: {host}}, - }, - { - name: "Zone on host Region on datacenter", - tags: map[string][]mo.Reference{zone1Tag: {host}, regionTag: {dc}}, - zoneToHosts: map[cloudprovider.Zone][]vmwaretypes.ManagedObjectReference{zone1: {host}}, - }, - { - name: "Zone on cluster Region on datacenter", - tags: map[string][]mo.Reference{zone1Tag: {cluster}, regionTag: {dc}}, - zoneToHosts: map[cloudprovider.Zone][]vmwaretypes.ManagedObjectReference{zone1: clusterHosts}, - }, - { - name: "Zone on cluster and override on host", - tags: map[string][]mo.Reference{zone2Tag: {cluster}, zone1Tag: {host}, regionTag: {dc}}, - zoneToHosts: map[cloudprovider.Zone][]vmwaretypes.ManagedObjectReference{zone1: {host}, zone2: remainingHostsInCluster}, - }, - { - name: "Zone and Region on datacenter", - tags: map[string][]mo.Reference{zone1Tag: {dc}, regionTag: {dc}}, - zoneToHosts: map[cloudprovider.Zone][]vmwaretypes.ManagedObjectReference{zone1: allVcHosts}, - }, - } - - for _, testcase := range testcases { - t.Run(testcase.name, func(t *testing.T) { - // apply tags to datacenter/cluster/host as per this testcase - for tagId, objects := range testcase.tags { - for _, object := range objects { - if err := m.AttachTag(ctx, tagId, object); err != nil { - t.Fatal(err) - } - } - } - - // run the test - zoneToHosts, err := vs.GetZoneToHosts(ctx, vsi) - if err != nil { - t.Errorf("unexpected error when calling GetZoneToHosts: %q", err) - } - - // do not depend on the sort order of hosts in result - sortHostsMap(zoneToHosts) - if !reflect.DeepEqual(zoneToHosts, testcase.zoneToHosts) { - t.Logf("expected result: %+v", testcase.zoneToHosts) - t.Logf("actual result: %+v", zoneToHosts) - t.Error("unexpected result from GetZoneToHosts") - } - - // clean up tags applied on datacenter/cluster/host for this testcase - for tagId, objects := range testcase.tags { - for _, object := range objects { - if err = m.DetachTag(ctx, tagId, object); err != nil { - t.Fatal(err) - } - } - } - }) - } -} - -func sortHostsMap(zoneToHosts map[cloudprovider.Zone][]vmwaretypes.ManagedObjectReference) { - for _, hosts := range zoneToHosts { - sortHosts(hosts) - } -} - -func sortHosts(hosts []vmwaretypes.ManagedObjectReference) { - sort.Slice(hosts, func(i, j int) bool { - return hosts[i].Value < hosts[j].Value - }) -} - -func TestInstances(t *testing.T) { - cfg, ok := configFromEnv() - if !ok { - t.Skipf("No config found in environment") - } - - vs, err := newControllerNode(cfg) - if err != nil { - t.Fatalf("Failed to construct/authenticate vSphere: %s", err) - } - - i, ok := vs.Instances() - if !ok { - t.Fatalf("Instances() returned false") - } - - nodeName, err := vs.CurrentNodeName(context.TODO(), "") - if err != nil { - t.Fatalf("CurrentNodeName() failed: %s", err) - } - - nonExistingVM := types.NodeName(rand.String(15)) - instanceID, err := i.InstanceID(context.TODO(), nodeName) - if err != nil { - t.Fatalf("Instances.InstanceID(%s) failed: %s", nodeName, err) - } - t.Logf("Found InstanceID(%s) = %s\n", nodeName, instanceID) - - _, err = i.InstanceID(context.TODO(), nonExistingVM) - if err == cloudprovider.InstanceNotFound { - t.Logf("VM %s was not found as expected\n", nonExistingVM) - } else if err == nil { - t.Fatalf("Instances.InstanceID did not fail as expected, VM %s was found", nonExistingVM) - } else { - t.Fatalf("Instances.InstanceID did not fail as expected, err: %v", err) - } - - addrs, err := i.NodeAddresses(context.TODO(), nodeName) - if err != nil { - t.Fatalf("Instances.NodeAddresses(%s) failed: %s", nodeName, err) - } - found := false - for _, addr := range addrs { - if addr.Type == v1.NodeHostName { - found = true - } - } - if found == false { - t.Fatalf("NodeAddresses does not report hostname, %s %s", nodeName, addrs) - } - t.Logf("Found NodeAddresses(%s) = %s\n", nodeName, addrs) -} - -func TestVolumes(t *testing.T) { - cfg, ok := configFromEnv() - if !ok { - t.Skipf("No config found in environment") - } - - vs, err := newControllerNode(cfg) - if err != nil { - t.Fatalf("Failed to construct/authenticate vSphere: %s", err) - } - - nodeName, err := vs.CurrentNodeName(context.TODO(), "") - if err != nil { - t.Fatalf("CurrentNodeName() failed: %s", err) - } - - volumeOptions := &vclib.VolumeOptions{ - CapacityKB: 1 * 1024 * 1024, - Tags: nil, - Name: "kubernetes-test-volume-" + rand.String(10), - DiskFormat: "thin"} - - volPath, err := vs.CreateVolume(volumeOptions) - if err != nil { - t.Fatalf("Cannot create a new VMDK volume: %v", err) - } - - _, err = vs.AttachDisk(volPath, "", "") - if err != nil { - t.Fatalf("Cannot attach volume(%s) to VM(%s): %v", volPath, nodeName, err) - } - - err = vs.DetachDisk(volPath, "") - if err != nil { - t.Fatalf("Cannot detach disk(%s) from VM(%s): %v", volPath, nodeName, err) - } - - // todo: Deleting a volume after detach currently not working through API or UI (vSphere) - // err = vs.DeleteVolume(volPath) - // if err != nil { - // t.Fatalf("Cannot delete VMDK volume %s: %v", volPath, err) - // } -} - -func TestSecretVSphereConfig(t *testing.T) { - var vs *VSphere - var ( - username = "user" - password = "password" // Fake value for testing. - ) - var testcases = []struct { - testName string - conf string - expectedIsSecretProvided bool - expectedSecretNotManaged bool - expectedUsername string - expectedPassword string - expectedError error - expectedThumbprints map[string]string - }{ - { - testName: "Username and password with old configuration", - conf: `[Global] - server = 0.0.0.0 - user = user - password = password - datacenter = us-west - working-dir = kubernetes - `, - expectedUsername: username, - expectedPassword: password, - expectedError: nil, - }, - { - testName: "SecretName and SecretNamespace in old configuration", - conf: `[Global] - server = 0.0.0.0 - datacenter = us-west - secret-name = "vccreds" - secret-namespace = "kube-system" - working-dir = kubernetes - `, - expectedIsSecretProvided: true, - expectedError: nil, - }, - { - testName: "SecretName and SecretNamespace with Username and Password in old configuration", - conf: `[Global] - server = 0.0.0.0 - user = user - password = password - datacenter = us-west - secret-name = "vccreds" - secret-namespace = "kube-system" - working-dir = kubernetes - `, - expectedIsSecretProvided: true, - expectedError: nil, - }, - { - testName: "SecretName and SecretNamespace with Username missing in old configuration", - conf: `[Global] - server = 0.0.0.0 - password = password - datacenter = us-west - secret-name = "vccreds" - secret-namespace = "kube-system" - working-dir = kubernetes - `, - expectedIsSecretProvided: true, - expectedError: nil, - }, - { - testName: "SecretNamespace missing with Username and Password in old configuration", - conf: `[Global] - server = 0.0.0.0 - user = user - password = password - datacenter = us-west - secret-name = "vccreds" - working-dir = kubernetes - `, - expectedUsername: username, - expectedPassword: password, - expectedError: nil, - }, - { - testName: "SecretNamespace and Username missing in old configuration", - conf: `[Global] - server = 0.0.0.0 - password = password - datacenter = us-west - secret-name = "vccreds" - working-dir = kubernetes - `, - expectedError: ErrUsernameMissing, - }, - { - testName: "SecretNamespace and Password missing in old configuration", - conf: `[Global] - server = 0.0.0.0 - user = user - datacenter = us-west - secret-name = "vccreds" - working-dir = kubernetes - `, - expectedError: ErrPasswordMissing, - }, - { - testName: "SecretNamespace, Username and Password missing in old configuration", - conf: `[Global] - server = 0.0.0.0 - datacenter = us-west - secret-name = "vccreds" - working-dir = kubernetes - `, - expectedError: ErrUsernameMissing, - }, - { - testName: "Username and password with new configuration but username and password in global section", - conf: `[Global] - user = user - password = password - datacenter = us-west - [VirtualCenter "0.0.0.0"] - [Workspace] - server = 0.0.0.0 - datacenter = us-west - folder = kubernetes - `, - expectedUsername: username, - expectedPassword: password, - expectedError: nil, - }, - { - testName: "Username and password with new configuration, username and password in virtualcenter section", - conf: `[Global] - server = 0.0.0.0 - port = 443 - insecure-flag = true - datacenter = us-west - [VirtualCenter "0.0.0.0"] - user = user - password = password - [Workspace] - server = 0.0.0.0 - datacenter = us-west - folder = kubernetes - `, - expectedUsername: username, - expectedPassword: password, - expectedError: nil, - }, - { - testName: "SecretName and SecretNamespace with new configuration", - conf: `[Global] - server = 0.0.0.0 - secret-name = "vccreds" - secret-namespace = "kube-system" - datacenter = us-west - [VirtualCenter "0.0.0.0"] - [Workspace] - server = 0.0.0.0 - datacenter = us-west - folder = kubernetes - `, - expectedIsSecretProvided: true, - expectedError: nil, - }, - { - testName: "SecretName and SecretNamespace with new configuration, but non-managed", - conf: `[Global] - server = 0.0.0.0 - secret-name = "vccreds" - secret-namespace = "kube-system" - secret-not-managed = true - datacenter = us-west - [VirtualCenter "0.0.0.0"] - [Workspace] - server = 0.0.0.0 - datacenter = us-west - folder = kubernetes - `, - expectedSecretNotManaged: true, - expectedIsSecretProvided: true, - expectedError: nil, - }, - { - testName: "SecretName and SecretNamespace with Username missing in new configuration", - conf: `[Global] - server = 0.0.0.0 - port = 443 - insecure-flag = true - datacenter = us-west - secret-name = "vccreds" - secret-namespace = "kube-system" - [VirtualCenter "0.0.0.0"] - password = password - [Workspace] - server = 0.0.0.0 - datacenter = us-west - folder = kubernetes - `, - expectedIsSecretProvided: true, - expectedError: nil, - }, - { - testName: "virtual centers with a thumbprint", - conf: `[Global] - server = global - user = user - password = password - datacenter = us-west - thumbprint = "thumbprint:global" - working-dir = kubernetes - `, - expectedUsername: username, - expectedPassword: password, - expectedError: nil, - expectedThumbprints: map[string]string{ - "global": "thumbprint:global", - }, - }, - { - testName: "Multiple virtual centers with different thumbprints", - conf: `[Global] - user = user - password = password - datacenter = us-west - [VirtualCenter "0.0.0.0"] - thumbprint = thumbprint:0 - [VirtualCenter "no_thumbprint"] - [VirtualCenter "1.1.1.1"] - thumbprint = thumbprint:1 - [Workspace] - server = 0.0.0.0 - datacenter = us-west - folder = kubernetes - `, - expectedUsername: username, - expectedPassword: password, - expectedError: nil, - expectedThumbprints: map[string]string{ - "0.0.0.0": "thumbprint:0", - "1.1.1.1": "thumbprint:1", - }, - }, - { - testName: "Multiple virtual centers use the global CA cert", - conf: `[Global] - user = user - password = password - datacenter = us-west - ca-file = /some/path/to/my/trusted/ca.pem - [VirtualCenter "0.0.0.0"] - user = user - password = password - [VirtualCenter "1.1.1.1"] - user = user - password = password - [Workspace] - server = 0.0.0.0 - datacenter = us-west - folder = kubernetes - `, - expectedUsername: username, - expectedPassword: password, - expectedError: nil, - }, - } - - for _, testcase := range testcases { - t.Logf("Executing Testcase: %s", testcase.testName) - cfg, err := readConfig(strings.NewReader(testcase.conf)) - if err != nil { - t.Fatalf("Should succeed when a valid config is provided: %s", err) - } - vs, err = buildVSphereFromConfig(cfg) - if err != testcase.expectedError { - t.Fatalf("Should succeed when a valid config is provided: %s", err) - } - if err != nil { - continue - } - if vs.isSecretInfoProvided != testcase.expectedIsSecretProvided { - t.Fatalf("SecretName and SecretNamespace was expected in config %s. error: %s", - testcase.conf, err) - } - if !testcase.expectedIsSecretProvided { - for _, vsInstance := range vs.vsphereInstanceMap { - if vsInstance.conn.Username != testcase.expectedUsername { - t.Fatalf("Expected username %s doesn't match actual username %s in config %s. error: %s", - testcase.expectedUsername, vsInstance.conn.Username, testcase.conf, err) - } - if vsInstance.conn.Password != testcase.expectedPassword { - t.Fatalf("Expected password %s doesn't match actual password %s in config %s. error: %s", - testcase.expectedPassword, vsInstance.conn.Password, testcase.conf, err) - } - } - } - if testcase.expectedSecretNotManaged && vs.isSecretManaged { - t.Fatalf("Expected secret being non-managed but vs.isSecretManaged: %v", vs.isSecretManaged) - } else if !testcase.expectedSecretNotManaged && !vs.isSecretManaged { - t.Fatalf("Expected secret being managed but vs.isSecretManaged: %v", vs.isSecretManaged) - } - // Check, if all the expected thumbprints are configured - for instanceName, expectedThumbprint := range testcase.expectedThumbprints { - instanceConfig, ok := vs.vsphereInstanceMap[instanceName] - if !ok { - t.Fatalf("Could not find configuration for instance %s", instanceName) - } - if actualThumbprint := instanceConfig.conn.Thumbprint; actualThumbprint != expectedThumbprint { - t.Fatalf( - "Expected thumbprint for instance '%s' to be '%s', got '%s'", - instanceName, expectedThumbprint, actualThumbprint, - ) - } - } - // Check, if all connections are configured with the global CA certificate - if expectedCaPath := cfg.Global.CAFile; expectedCaPath != "" { - for name, instance := range vs.vsphereInstanceMap { - if actualCaPath := instance.conn.CACert; actualCaPath != expectedCaPath { - t.Fatalf( - "Expected CA certificate path for instance '%s' to be the globally configured one ('%s'), got '%s'", - name, expectedCaPath, actualCaPath, - ) - } - } - } - } -} - -func fakeSecret(name, namespace, datacenter, user, password string) *v1.Secret { - return &v1.Secret{ - ObjectMeta: metav1.ObjectMeta{ - Name: name, - Namespace: namespace, - }, - Data: map[string][]byte{ - "vcenter." + datacenter + ".password": []byte(user), - "vcenter." + datacenter + ".username": []byte(password), - }, - } -} - -type buffer struct { - b bytes.Buffer - rw sync.RWMutex -} - -func (b *buffer) String() string { - b.rw.RLock() - defer b.rw.RUnlock() - return b.b.String() -} - -func (b *buffer) Write(p []byte) (n int, err error) { - b.rw.Lock() - defer b.rw.Unlock() - return b.b.Write(p) -} diff --git a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vsphere_util.go b/staging/src/k8s.io/legacy-cloud-providers/vsphere/vsphere_util.go deleted file mode 100644 index db4f361f024..00000000000 --- a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vsphere_util.go +++ /dev/null @@ -1,880 +0,0 @@ -//go:build !providerless -// +build !providerless - -/* -Copyright 2017 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vsphere - -import ( - "context" - "errors" - "fmt" - "math/rand" - "os" - "path/filepath" - "strconv" - "strings" - "sync" - "time" - - "github.com/vmware/govmomi/find" - "github.com/vmware/govmomi/object" - "github.com/vmware/govmomi/property" - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" - v1 "k8s.io/api/core/v1" - "k8s.io/klog/v2" - - k8stypes "k8s.io/apimachinery/pkg/types" - "k8s.io/apimachinery/pkg/util/version" - "k8s.io/legacy-cloud-providers/vsphere/vclib" - "k8s.io/legacy-cloud-providers/vsphere/vclib/diskmanagers" -) - -const ( - DatastoreProperty = "datastore" - DatastoreInfoProperty = "info" - DatastoreNameProperty = "name" - Folder = "Folder" - VirtualMachine = "VirtualMachine" - DummyDiskName = "kube-dummyDisk.vmdk" - ProviderPrefix = "vsphere://" - vSphereConfFileEnvVar = "VSPHERE_CONF_FILE" - UUIDPrefix = "VMware-" -) - -// GetVSphere reads vSphere configuration from system environment and construct vSphere object -func GetVSphere() (*VSphere, error) { - cfg, err := getVSphereConfig() - if err != nil { - return nil, err - } - vs, err := newControllerNode(*cfg) - if err != nil { - return nil, err - } - return vs, nil -} - -func getVSphereConfig() (*VSphereConfig, error) { - confFileLocation := os.Getenv(vSphereConfFileEnvVar) - if confFileLocation == "" { - return nil, fmt.Errorf("Env variable 'VSPHERE_CONF_FILE' is not set.") - } - confFile, err := os.Open(confFileLocation) - if err != nil { - return nil, err - } - defer func() { - if err := confFile.Close(); err != nil { - klog.Errorf("failed to close config file: %v", err) - } - }() - - cfg, err := readConfig(confFile) - if err != nil { - return nil, err - } - return &cfg, nil -} - -// Returns the accessible datastores for the given node VM. -func getAccessibleDatastores(ctx context.Context, nodeVmDetail *NodeDetails, nodeManager *NodeManager) ([]*vclib.DatastoreInfo, error) { - accessibleDatastores, err := nodeVmDetail.vm.GetAllAccessibleDatastores(ctx) - if err != nil { - // Check if the node VM is not found which indicates that the node info in the node manager is stale. - // If so, rediscover the node and retry. - if vclib.IsManagedObjectNotFoundError(err) { - klog.V(4).Infof("error %q ManagedObjectNotFound for node %q. Rediscovering...", err, nodeVmDetail.NodeName) - err = nodeManager.RediscoverNode(convertToK8sType(nodeVmDetail.NodeName)) - if err == nil { - klog.V(4).Infof("Discovered node %s successfully", nodeVmDetail.NodeName) - nodeInfo, err := nodeManager.GetNodeInfo(convertToK8sType(nodeVmDetail.NodeName)) - if err != nil { - klog.V(4).Infof("error %q getting node info for node %+v", err, nodeVmDetail) - return nil, err - } - - accessibleDatastores, err = nodeInfo.vm.GetAllAccessibleDatastores(ctx) - if err != nil { - klog.V(4).Infof("error %q getting accessible datastores for node %+v", err, nodeVmDetail) - return nil, err - } - } else { - klog.V(4).Infof("error %q rediscovering node %+v", err, nodeVmDetail) - return nil, err - } - } else { - klog.V(4).Infof("error %q getting accessible datastores for node %+v", err, nodeVmDetail) - return nil, err - } - } - return accessibleDatastores, nil -} - -// Get all datastores accessible for the virtual machine object. -func getSharedDatastoresInK8SCluster(ctx context.Context, nodeManager *NodeManager) ([]*vclib.DatastoreInfo, error) { - nodeVmDetails, err := nodeManager.GetNodeDetails() - if err != nil { - klog.Errorf("Error while obtaining Kubernetes node nodeVmDetail details. error : %+v", err) - return nil, err - } - - if len(nodeVmDetails) == 0 { - msg := fmt.Sprintf("Kubernetes node nodeVmDetail details is empty. nodeVmDetails : %+v", nodeVmDetails) - klog.Error(msg) - return nil, fmt.Errorf(msg) - } - var sharedDatastores []*vclib.DatastoreInfo - for _, nodeVmDetail := range nodeVmDetails { - klog.V(9).Infof("Getting accessible datastores for node %s", nodeVmDetail.NodeName) - accessibleDatastores, err := getAccessibleDatastores(ctx, &nodeVmDetail, nodeManager) - if err != nil { - if err == vclib.ErrNoVMFound { - klog.V(9).Infof("Got NoVMFound error for node %s", nodeVmDetail.NodeName) - continue - } - return nil, err - } - - if len(sharedDatastores) == 0 { - sharedDatastores = accessibleDatastores - } else { - sharedDatastores = intersect(sharedDatastores, accessibleDatastores) - if len(sharedDatastores) == 0 { - return nil, fmt.Errorf("No shared datastores found in the Kubernetes cluster for nodeVmDetails: %+v", nodeVmDetails) - } - } - } - klog.V(9).Infof("sharedDatastores : %+v", sharedDatastores) - return sharedDatastores, nil -} - -func intersect(list1 []*vclib.DatastoreInfo, list2 []*vclib.DatastoreInfo) []*vclib.DatastoreInfo { - klog.V(9).Infof("list1: %+v", list1) - klog.V(9).Infof("list2: %+v", list2) - var sharedDs []*vclib.DatastoreInfo - for _, val1 := range list1 { - // Check if val1 is found in list2 - for _, val2 := range list2 { - // Intersection is performed based on the datastoreUrl as this uniquely identifies the datastore. - if val1.Info.Url == val2.Info.Url { - sharedDs = append(sharedDs, val1) - break - } - } - } - return sharedDs -} - -// getMostFreeDatastore gets the best fit compatible datastore by free space. -func getMostFreeDatastore(ctx context.Context, client *vim25.Client, dsInfoList []*vclib.DatastoreInfo) (*vclib.DatastoreInfo, error) { - var curMax int64 - curMax = -1 - var index int - for i, dsInfo := range dsInfoList { - dsFreeSpace := dsInfo.Info.GetDatastoreInfo().FreeSpace - if dsFreeSpace > curMax { - curMax = dsFreeSpace - index = i - } - } - return dsInfoList[index], nil -} - -func getPbmCompatibleDatastore(ctx context.Context, vcClient *vim25.Client, storagePolicyName string, nodeManager *NodeManager) (*vclib.DatastoreInfo, error) { - pbmClient, err := vclib.NewPbmClient(ctx, vcClient) - if err != nil { - return nil, err - } - storagePolicyID, err := pbmClient.ProfileIDByName(ctx, storagePolicyName) - if err != nil { - klog.Errorf("Failed to get Profile ID by name: %s. err: %+v", storagePolicyName, err) - return nil, err - } - sharedDs, err := getSharedDatastoresInK8SCluster(ctx, nodeManager) - if err != nil { - klog.Errorf("Failed to get shared datastores. err: %+v", err) - return nil, err - } - if len(sharedDs) == 0 { - msg := "No shared datastores found in the endpoint virtual center" - klog.Errorf(msg) - return nil, errors.New(msg) - } - compatibleDatastores, _, err := pbmClient.GetCompatibleDatastores(ctx, storagePolicyID, sharedDs) - if err != nil { - klog.Errorf("Failed to get compatible datastores from datastores : %+v with storagePolicy: %s. err: %+v", - sharedDs, storagePolicyID, err) - return nil, err - } - klog.V(9).Infof("compatibleDatastores : %+v", compatibleDatastores) - datastore, err := getMostFreeDatastore(ctx, vcClient, compatibleDatastores) - if err != nil { - klog.Errorf("Failed to get most free datastore from compatible datastores: %+v. err: %+v", compatibleDatastores, err) - return nil, err - } - klog.V(4).Infof("Most free datastore : %+s", datastore.Info.Name) - return datastore, err -} - -func getDatastoresForZone(ctx context.Context, nodeManager *NodeManager, selectedZones []string) ([]*vclib.DatastoreInfo, error) { - - var sharedDatastores []*vclib.DatastoreInfo - - for _, zone := range selectedZones { - var sharedDatastoresPerZone []*vclib.DatastoreInfo - hosts, err := nodeManager.GetHostsInZone(ctx, zone) - if err != nil { - return nil, err - } - klog.V(4).Infof("Hosts in zone %s : %s", zone, hosts) - - for _, host := range hosts { - var hostSystemMo mo.HostSystem - err = host.Properties(ctx, host.Reference(), []string{"datastore"}, &hostSystemMo) - if err != nil { - klog.Errorf("Failed to get datastore property for host %s. err : %+v", host, err) - return nil, err - } - - klog.V(4).Infof("Datastores mounted on host %s : %s", host, hostSystemMo.Datastore) - var dsRefList []types.ManagedObjectReference - for _, dsRef := range hostSystemMo.Datastore { - dsRefList = append(dsRefList, dsRef) - } - - var dsMoList []mo.Datastore - pc := property.DefaultCollector(host.Client()) - properties := []string{DatastoreInfoProperty, DatastoreNameProperty} - err = pc.Retrieve(ctx, dsRefList, properties, &dsMoList) - if err != nil { - klog.Errorf("Failed to get Datastore managed objects from datastore objects."+ - " dsObjList: %+v, properties: %+v, err: %+v", dsRefList, properties, err) - return nil, err - } - klog.V(9).Infof("Datastore mo details: %+v", dsMoList) - - // find the Datacenter parent for this host - mes, err := mo.Ancestors(ctx, host.Client(), pc.Reference(), host.Reference()) - if err != nil { - return nil, err - } - var dcMoref *types.ManagedObjectReference - for i := len(mes) - 1; i > 0; i-- { - if mes[i].Self.Type == "Datacenter" { - dcMoref = &mes[i].Self - break - } - } - if dcMoref == nil { - return nil, fmt.Errorf("failed to find the Datacenter of host %s", host) - } - - dc := object.NewDatacenter(host.Client(), *dcMoref) - finder := find.NewFinder(host.Client(), false) - finder.SetDatacenter(dc) - var dsObjList []*vclib.DatastoreInfo - for _, dsMo := range dsMoList { - // use the finder so that InventoryPath is set correctly in dsObj - dsObj, err := finder.Datastore(ctx, dsMo.Name) - if err != nil { - klog.Errorf("Failed to find datastore named %s in datacenter %s", dsMo.Name, dc) - return nil, err - } - dsObjList = append(dsObjList, - &vclib.DatastoreInfo{ - Datastore: &vclib.Datastore{Datastore: dsObj, - Datacenter: &vclib.Datacenter{Datacenter: dc}}, - Info: dsMo.Info.GetDatastoreInfo()}) - } - - klog.V(9).Infof("DatastoreInfo details : %s", dsObjList) - - if len(sharedDatastoresPerZone) == 0 { - sharedDatastoresPerZone = dsObjList - } else { - sharedDatastoresPerZone = intersect(sharedDatastoresPerZone, dsObjList) - if len(sharedDatastoresPerZone) == 0 { - klog.V(4).Infof("No shared datastores found among hosts %s", hosts) - return nil, fmt.Errorf("No matching datastores found in the kubernetes cluster for zone %s", zone) - } - } - klog.V(9).Infof("Shared datastore list after processing host %s : %s", host, sharedDatastoresPerZone) - } - klog.V(4).Infof("Shared datastore per zone %s is %s", zone, sharedDatastoresPerZone) - if len(sharedDatastores) == 0 { - sharedDatastores = sharedDatastoresPerZone - } else { - sharedDatastores = intersect(sharedDatastores, sharedDatastoresPerZone) - if len(sharedDatastores) == 0 { - return nil, fmt.Errorf("No matching datastores found in the kubernetes cluster across zones %s", selectedZones) - } - } - } - klog.V(1).Infof("Returning selected datastores : %s", sharedDatastores) - return sharedDatastores, nil -} - -func getPbmCompatibleZonedDatastore(ctx context.Context, vcClient *vim25.Client, storagePolicyName string, zonedDatastores []*vclib.DatastoreInfo) (*vclib.DatastoreInfo, error) { - pbmClient, err := vclib.NewPbmClient(ctx, vcClient) - if err != nil { - return nil, err - } - storagePolicyID, err := pbmClient.ProfileIDByName(ctx, storagePolicyName) - if err != nil { - klog.Errorf("Failed to get Profile ID by name: %s. err: %+v", storagePolicyName, err) - return nil, err - } - compatibleDatastores, _, err := pbmClient.GetCompatibleDatastores(ctx, storagePolicyID, zonedDatastores) - if err != nil { - klog.Errorf("Failed to get compatible datastores from datastores : %+v with storagePolicy: %s. err: %+v", - zonedDatastores, storagePolicyID, err) - return nil, err - } - klog.V(9).Infof("compatibleDatastores : %+v", compatibleDatastores) - datastore, err := getMostFreeDatastore(ctx, vcClient, compatibleDatastores) - if err != nil { - klog.Errorf("Failed to get most free datastore from compatible datastores: %+v. err: %+v", compatibleDatastores, err) - return nil, err - } - klog.V(4).Infof("Most free datastore : %+s", datastore.Info.Name) - return datastore, err -} - -func (vs *VSphere) setVMOptions(ctx context.Context, connection *vclib.VSphereConnection, ds *vclib.Datastore) (*vclib.VMOptions, error) { - var vmOptions vclib.VMOptions - dsHosts, err := ds.GetDatastoreHostMounts(ctx) - if err != nil { - klog.Errorf("Failed to get datastore host mounts for %v: %+v", ds, err) - return nil, err - } - // pick a host at random to use for Volume creation - dsHostMoref := dsHosts[rand.New(rand.NewSource(time.Now().UnixNano())).Intn(len(dsHosts))] - dummyVMHost := object.NewHostSystem(connection.Client, dsHostMoref) - resourcePool, err := dummyVMHost.ResourcePool(ctx) - if err != nil { - klog.Errorf("Failed to get resource pool from host %v", dummyVMHost) - return nil, err - } - folder, err := ds.Datacenter.GetFolderByPath(ctx, vs.cfg.Workspace.Folder) - if err != nil { - return nil, err - } - vmOptions.VMFolder = folder - vmOptions.VMResourcePool = resourcePool - return &vmOptions, nil -} - -// A background routine which will be responsible for deleting stale dummy VM's. -func (vs *VSphere) cleanUpDummyVMs(dummyVMPrefix string) { - // Create context - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - for { - time.Sleep(CleanUpDummyVMRoutineInterval * time.Minute) - datacenters, err := vs.GetWorkspaceDatacenters(ctx) - if err != nil { - klog.V(4).Infof("Failed to get datacenters from VC. err: %+v", err) - continue - } - // Clean up dummy VMs in each datacenter - for _, dc := range datacenters { - // Get the folder reference for global working directory where the dummy VM needs to be created. - vmFolder, err := dc.GetFolderByPath(ctx, vs.cfg.Workspace.Folder) - if err != nil { - klog.V(4).Infof("Unable to get the kubernetes folder: %q reference. err: %+v", vs.cfg.Workspace.Folder, err) - continue - } - // A write lock is acquired to make sure the cleanUp routine doesn't delete any VM's created by ongoing PVC requests. - cleanUpDummyVMs := func() { - cleanUpDummyVMLock.Lock() - defer cleanUpDummyVMLock.Unlock() - err = diskmanagers.CleanUpDummyVMs(ctx, vmFolder) - if err != nil { - klog.V(4).Infof("Unable to clean up dummy VM's in the kubernetes cluster: %q. err: %+v", vs.cfg.Workspace.Folder, err) - } - } - cleanUpDummyVMs() - } - } -} - -// Get canonical volume path for volume Path. -// Example1: The canonical path for volume path - [vsanDatastore] kubevols/volume.vmdk will be [vsanDatastore] 25d8b159-948c-4b73-e499-02001ad1b044/volume.vmdk -// Example2: The canonical path for volume path - [vsanDatastore] 25d8b159-948c-4b73-e499-02001ad1b044/volume.vmdk will be same as volume Path. -func getcanonicalVolumePath(ctx context.Context, dc *vclib.Datacenter, volumePath string) (string, error) { - var folderID string - var folderExists bool - canonicalVolumePath := volumePath - dsPathObj, err := vclib.GetDatastorePathObjFromVMDiskPath(volumePath) - if err != nil { - return "", err - } - dsPath := strings.Split(strings.TrimSpace(dsPathObj.Path), "/") - if len(dsPath) <= 1 { - return canonicalVolumePath, nil - } - datastore := dsPathObj.Datastore - dsFolder := dsPath[0] - folderNameIDMap, datastoreExists := datastoreFolderIDMap[datastore] - if datastoreExists { - folderID, folderExists = folderNameIDMap[dsFolder] - } - // Get the datastore folder ID if datastore or folder doesn't exist in datastoreFolderIDMap - if !datastoreExists || !folderExists { - if !vclib.IsValidUUID(dsFolder) { - dummyDiskVolPath := "[" + datastore + "] " + dsFolder + "/" + DummyDiskName - // Querying a non-existent dummy disk on the datastore folder. - // It would fail and return an folder ID in the error message. - _, err := dc.GetVirtualDiskPage83Data(ctx, dummyDiskVolPath) - canonicalVolumePath, err = getPathFromFileNotFound(err) - if err != nil { - return "", fmt.Errorf("failed to get path from dummy request: %v", err) - } - } - diskPath := vclib.GetPathFromVMDiskPath(canonicalVolumePath) - if diskPath == "" { - return "", fmt.Errorf("Failed to parse canonicalVolumePath: %s in getcanonicalVolumePath method", canonicalVolumePath) - } - folderID = strings.Split(strings.TrimSpace(diskPath), "/")[0] - setdatastoreFolderIDMap(datastoreFolderIDMap, datastore, dsFolder, folderID) - } - canonicalVolumePath = strings.Replace(volumePath, dsFolder, folderID, 1) - return canonicalVolumePath, nil -} - -// getPathFromFileNotFound returns the path from a fileNotFound error -func getPathFromFileNotFound(err error) (string, error) { - if soap.IsSoapFault(err) { - fault := soap.ToSoapFault(err) - f, ok := fault.VimFault().(types.FileNotFound) - if !ok { - return "", fmt.Errorf("%v is not a FileNotFound error", err) - } - return f.File, nil - } - return "", fmt.Errorf("%v is not a soap fault", err) -} - -func setdatastoreFolderIDMap( - datastoreFolderIDMap map[string]map[string]string, - datastore string, - folderName string, - folderID string) { - folderNameIDMap := datastoreFolderIDMap[datastore] - if folderNameIDMap == nil { - folderNameIDMap = make(map[string]string) - datastoreFolderIDMap[datastore] = folderNameIDMap - } - folderNameIDMap[folderName] = folderID -} - -func convertVolPathToDevicePath(ctx context.Context, dc *vclib.Datacenter, volPath string) (string, error) { - volPath = vclib.RemoveStorageClusterORFolderNameFromVDiskPath(volPath) - // Get the canonical volume path for volPath. - canonicalVolumePath, err := getcanonicalVolumePath(ctx, dc, volPath) - if err != nil { - klog.Errorf("Failed to get canonical vsphere volume path for volume: %s. err: %+v", volPath, err) - return "", err - } - // Check if the volume path contains .vmdk extension. If not, add the extension and update the nodeVolumes Map - if len(canonicalVolumePath) > 0 && filepath.Ext(canonicalVolumePath) != ".vmdk" { - canonicalVolumePath += ".vmdk" - } - return canonicalVolumePath, nil -} - -// convertVolPathsToDevicePaths removes cluster or folder path from volPaths and convert to canonicalPath -func (vs *VSphere) convertVolPathsToDevicePaths(ctx context.Context, nodeVolumes map[k8stypes.NodeName][]string) (map[k8stypes.NodeName][]string, error) { - vmVolumes := make(map[k8stypes.NodeName][]string) - for nodeName, volPaths := range nodeVolumes { - nodeInfo, err := vs.nodeManager.GetNodeInfo(nodeName) - if err != nil { - return nil, err - } - - _, err = vs.getVSphereInstanceForServer(nodeInfo.vcServer, ctx) - if err != nil { - return nil, err - } - - for i, volPath := range volPaths { - deviceVolPath, err := convertVolPathToDevicePath(ctx, nodeInfo.dataCenter, volPath) - if err != nil { - klog.Errorf("Failed to convert vsphere volume path %s to device path for volume %s. err: %+v", volPath, deviceVolPath, err) - return nil, err - } - volPaths[i] = deviceVolPath - } - vmVolumes[nodeName] = volPaths - } - return vmVolumes, nil -} - -// checkDiskAttached verifies volumes are attached to the VMs which are in same vCenter and Datacenter -// Returns nodes if exist any for which VM is not found in that vCenter and Datacenter -func (vs *VSphere) checkDiskAttached(ctx context.Context, nodes []k8stypes.NodeName, nodeVolumes map[k8stypes.NodeName][]string, attached map[string]map[string]bool, retry bool) ([]k8stypes.NodeName, error) { - var nodesToRetry []k8stypes.NodeName - var vmList []*vclib.VirtualMachine - var nodeInfo NodeInfo - var err error - - for _, nodeName := range nodes { - nodeInfo, err = vs.nodeManager.GetNodeInfo(nodeName) - if err != nil { - return nodesToRetry, err - } - vmList = append(vmList, nodeInfo.vm) - } - - // Making sure session is valid - _, err = vs.getVSphereInstanceForServer(nodeInfo.vcServer, ctx) - if err != nil { - return nodesToRetry, err - } - - // If any of the nodes are not present property collector query will fail for entire operation - vmMoList, err := nodeInfo.dataCenter.GetVMMoList(ctx, vmList, []string{"config.hardware.device", "name", "config.uuid"}) - if err != nil { - if vclib.IsManagedObjectNotFoundError(err) && !retry { - klog.V(4).Infof("checkDiskAttached: ManagedObjectNotFound for property collector query for nodes: %+v vms: %+v", nodes, vmList) - // Property Collector Query failed - // VerifyVolumePaths per VM - for _, nodeName := range nodes { - nodeInfo, err := vs.nodeManager.GetNodeInfo(nodeName) - if err != nil { - return nodesToRetry, err - } - devices, err := nodeInfo.vm.VirtualMachine.Device(ctx) - if err != nil { - if vclib.IsManagedObjectNotFoundError(err) { - klog.V(4).Infof("checkDiskAttached: ManagedObjectNotFound for Kubernetes node: %s with vSphere Virtual Machine reference: %v", nodeName, nodeInfo.vm) - nodesToRetry = append(nodesToRetry, nodeName) - continue - } - return nodesToRetry, err - } - klog.V(4).Infof("Verifying Volume Paths by devices for node %s and VM %s", nodeName, nodeInfo.vm) - vs.vsphereVolumeMap.Add(nodeName, devices) - vclib.VerifyVolumePathsForVMDevices(devices, nodeVolumes[nodeName], convertToString(nodeName), attached) - } - } - return nodesToRetry, err - } - - vmMoMap := make(map[string]mo.VirtualMachine) - for _, vmMo := range vmMoList { - if vmMo.Config == nil { - klog.Errorf("Config is not available for VM: %q", vmMo.Name) - continue - } - klog.V(9).Infof("vmMoMap vmname: %q vmuuid: %s", vmMo.Name, strings.ToLower(vmMo.Config.Uuid)) - vmMoMap[strings.ToLower(vmMo.Config.Uuid)] = vmMo - } - - klog.V(9).Infof("vmMoMap: +%v", vmMoMap) - - for _, nodeName := range nodes { - node, err := vs.nodeManager.GetNode(nodeName) - if err != nil { - return nodesToRetry, err - } - nodeUUID, err := GetNodeUUID(&node) - if err != nil { - klog.Errorf("Node Discovery failed to get node uuid for node %s with error: %v", node.Name, err) - return nodesToRetry, err - } - nodeUUID = strings.ToLower(nodeUUID) - klog.V(9).Infof("Verifying volume for node %s with nodeuuid %q: %v", nodeName, nodeUUID, vmMoMap) - vmMo := vmMoMap[nodeUUID] - vmDevices := object.VirtualDeviceList(vmMo.Config.Hardware.Device) - vs.vsphereVolumeMap.Add(nodeName, vmDevices) - vclib.VerifyVolumePathsForVMDevices(vmDevices, nodeVolumes[nodeName], convertToString(nodeName), attached) - } - return nodesToRetry, nil -} - -// BuildMissingVolumeNodeMap builds a map of volumes and nodes which are not known to attach detach controller. -// There could be nodes in cluster which do not have any pods with vsphere volumes running on them -// such nodes won't be part of disk verification check because attach-detach controller does not keep track -// such nodes. But such nodes may still have dangling volumes on them and hence we need to scan all the -// remaining nodes which weren't scanned by code previously. -func (vs *VSphere) BuildMissingVolumeNodeMap(ctx context.Context) { - nodeNames := vs.nodeManager.GetNodeNames() - // Segregate nodes according to VC-DC - dcNodes := make(map[string][]k8stypes.NodeName) - - for _, nodeName := range nodeNames { - // if given node is not in node volume map - if !vs.vsphereVolumeMap.CheckForNode(nodeName) { - nodeInfo, err := vs.nodeManager.GetNodeInfo(nodeName) - if err != nil { - klog.V(4).Infof("Failed to get node info: %+v. err: %+v", nodeInfo.vm, err) - continue - } - vcDC := nodeInfo.vcServer + nodeInfo.dataCenter.String() - dcNodes[vcDC] = append(dcNodes[vcDC], nodeName) - } - } - - var wg sync.WaitGroup - - for _, nodeNames := range dcNodes { - // Start go routines per VC-DC to check disks are attached - wg.Add(1) - go func(nodes []k8stypes.NodeName) { - err := vs.checkNodeDisks(ctx, nodes) - if err != nil { - klog.Errorf("Failed to check disk attached for nodes: %+v. err: %+v", nodes, err) - } - wg.Done() - }(nodeNames) - } - wg.Wait() -} - -func (vs *VSphere) checkNodeDisks(ctx context.Context, nodeNames []k8stypes.NodeName) error { - var vmList []*vclib.VirtualMachine - var nodeInfo NodeInfo - var err error - - for _, nodeName := range nodeNames { - nodeInfo, err = vs.nodeManager.GetNodeInfo(nodeName) - if err != nil { - return err - } - vmList = append(vmList, nodeInfo.vm) - } - - // Making sure session is valid - _, err = vs.getVSphereInstanceForServer(nodeInfo.vcServer, ctx) - if err != nil { - return err - } - - // If any of the nodes are not present property collector query will fail for entire operation - vmMoList, err := nodeInfo.dataCenter.GetVMMoList(ctx, vmList, []string{"config.hardware.device", "name", "config.uuid"}) - if err != nil { - if vclib.IsManagedObjectNotFoundError(err) { - klog.V(4).Infof("checkNodeDisks: ManagedObjectNotFound for property collector query for nodes: %+v vms: %+v", nodeNames, vmList) - // Property Collector Query failed - // VerifyVolumePaths per VM - for _, nodeName := range nodeNames { - nodeInfo, err := vs.nodeManager.GetNodeInfo(nodeName) - if err != nil { - return err - } - devices, err := nodeInfo.vm.VirtualMachine.Device(ctx) - if err != nil { - if vclib.IsManagedObjectNotFoundError(err) { - klog.V(4).Infof("checkNodeDisks: ManagedObjectNotFound for Kubernetes node: %s with vSphere Virtual Machine reference: %v", nodeName, nodeInfo.vm) - continue - } - return err - } - klog.V(4).Infof("Verifying Volume Paths by devices for node %s and VM %s", nodeName, nodeInfo.vm) - vs.vsphereVolumeMap.Add(nodeName, devices) - } - return nil - } - return err - } - - vmMoMap := make(map[string]mo.VirtualMachine) - for _, vmMo := range vmMoList { - if vmMo.Config == nil { - klog.Errorf("Config is not available for VM: %q", vmMo.Name) - continue - } - klog.V(9).Infof("vmMoMap vmname: %q vmuuid: %s", vmMo.Name, strings.ToLower(vmMo.Config.Uuid)) - vmMoMap[strings.ToLower(vmMo.Config.Uuid)] = vmMo - } - - klog.V(9).Infof("vmMoMap: +%v", vmMoMap) - - for _, nodeName := range nodeNames { - node, err := vs.nodeManager.GetNode(nodeName) - if err != nil { - return err - } - nodeUUID, err := GetNodeUUID(&node) - if err != nil { - klog.Errorf("Node Discovery failed to get node uuid for node %s with error: %v", node.Name, err) - return err - } - nodeUUID = strings.ToLower(nodeUUID) - klog.V(9).Infof("Verifying volume for node %s with nodeuuid %q: %v", nodeName, nodeUUID, vmMoMap) - vmMo := vmMoMap[nodeUUID] - vmDevices := object.VirtualDeviceList(vmMo.Config.Hardware.Device) - vs.vsphereVolumeMap.Add(nodeName, vmDevices) - } - return nil -} - -func (vs *VSphere) GetNodeNameFromProviderID(providerID string) (string, error) { - var nodeName string - nodes, err := vs.nodeManager.GetNodeDetails() - if err != nil { - klog.Errorf("Error while obtaining Kubernetes node nodeVmDetail details. error : %+v", err) - return "", err - } - for _, node := range nodes { - // ProviderID is UUID for nodes v1.9.3+ - if node.VMUUID == GetUUIDFromProviderID(providerID) || node.NodeName == providerID { - nodeName = node.NodeName - break - } - } - if nodeName == "" { - msg := fmt.Sprintf("Error while obtaining Kubernetes nodename for providerID %s.", providerID) - return "", errors.New(msg) - } - return nodeName, nil -} - -func GetUUIDFromProviderID(providerID string) string { - return strings.TrimPrefix(providerID, ProviderPrefix) -} - -func IsUUIDSupportedNode(node *v1.Node) (bool, error) { - newVersion, err := version.ParseSemantic("v1.9.4") - if err != nil { - klog.Errorf("Failed to determine whether node %+v is old with error %v", node, err) - return false, err - } - nodeVersion, err := version.ParseSemantic(node.Status.NodeInfo.KubeletVersion) - if err != nil { - klog.Errorf("Failed to determine whether node %+v is old with error %v", node, err) - return false, err - } - if nodeVersion.LessThan(newVersion) { - return true, nil - } - return false, nil -} - -func isGuestHardwareVersionDeprecated(vmHardwareversion string) (bool, error) { - vmHardwareDeprecated := false - // vmconfig.Version returns vm hardware version as vmx-11, vmx-13, vmx-14, vmx-15 etc. - version := strings.Trim(vmHardwareversion, "vmx-") - value, err := strconv.ParseInt(version, 0, 64) - if err != nil { - return false, fmt.Errorf("failed to parse vm hardware version: %v Err: %v", version, err) - } else { - if value < 15 { - vmHardwareDeprecated = true - } - } - return vmHardwareDeprecated, nil -} - -func GetNodeUUID(node *v1.Node) (string, error) { - oldNode, err := IsUUIDSupportedNode(node) - if err != nil { - klog.Errorf("Failed to get node UUID for node %+v with error %v", node, err) - return "", err - } - if oldNode { - return node.Status.NodeInfo.SystemUUID, nil - } - return GetUUIDFromProviderID(node.Spec.ProviderID), nil -} - -func GetVMUUID() (string, error) { - uuidFromFile, err := getRawUUID() - if err != nil { - return "", fmt.Errorf("error retrieving vm uuid: %s", err) - } - //strip leading and trailing white space and new line char - uuid := strings.TrimSpace(uuidFromFile) - // check the uuid starts with "VMware-" - if !strings.HasPrefix(uuid, UUIDPrefix) { - return "", fmt.Errorf("failed to match Prefix, UUID read from the file is %v", uuidFromFile) - } - // Strip the prefix and white spaces and - - uuid = strings.Replace(uuid[len(UUIDPrefix):(len(uuid))], " ", "", -1) - uuid = strings.Replace(uuid, "-", "", -1) - if len(uuid) != 32 { - return "", fmt.Errorf("length check failed, UUID read from the file is %v", uuidFromFile) - } - // need to add dashes, e.g. "564d395e-d807-e18a-cb25-b79f65eb2b9f" - uuid = fmt.Sprintf("%s-%s-%s-%s-%s", uuid[0:8], uuid[8:12], uuid[12:16], uuid[16:20], uuid[20:32]) - return uuid, nil -} - -// GetWorkspaceDatacenters returns the Datacenter objects that VCP has access to. -// User can configure the list of datacenters in vsphere.conf. Otherwise all the -// Datacenters in the configured list of VCs are returned. -func (vs *VSphere) GetWorkspaceDatacenters(ctx context.Context) ([]*vclib.Datacenter, error) { - var datacenterObjs []*vclib.Datacenter - for vc, vsi := range vs.vsphereInstanceMap { - // ensure connection to VC - err := vs.nodeManager.vcConnect(ctx, vsi) - if err != nil { - return nil, err - } - if vsi.cfg.Datacenters == "" { - vcDatacenterObjs, err := vclib.GetAllDatacenter(ctx, vsi.conn) - if err != nil { - klog.Errorf("Error fetching list of datacenters from VC %s: %+v", vc, err) - return nil, err - } - datacenterObjs = append(datacenterObjs, vcDatacenterObjs...) - } else { - datacenters := strings.Split(vsi.cfg.Datacenters, ",") - for _, dc := range datacenters { - dc = strings.TrimSpace(dc) - if dc == "" { - continue - } - datacenterObj, err := vclib.GetDatacenter(ctx, vsi.conn, dc) - if err != nil { - klog.Errorf("Error fetching datacenter %s from VC %s: %+v", dc, vc, err) - return nil, err - } - datacenterObjs = append(datacenterObjs, datacenterObj) - } - } - } - return datacenterObjs, nil -} - -// FindDatastoreByName looks for the given datastore by name across all available datacenters. -// If more than one Datacenter has a Datastore with the given name, then returns reference to all of them. -func (vs *VSphere) FindDatastoreByName(ctx context.Context, datastoreName string) ([]*vclib.DatastoreInfo, error) { - datacenters, err := vs.GetWorkspaceDatacenters(ctx) - if err != nil { - return nil, err - } - var datastoreInfos []*vclib.DatastoreInfo - for _, dc := range datacenters { - datastoreInfo, err := dc.GetDatastoreInfoByName(ctx, datastoreName) - if err != nil { - klog.V(9).Infof("Did not find datastore %s in datacenter %s, still looking.", datastoreName, dc.Name()) - continue - } - datastoreInfos = append(datastoreInfos, datastoreInfo) - } - if len(datastoreInfos) == 0 { - return nil, fmt.Errorf("Datastore '%s' not found", datastoreName) - } - klog.V(4).Infof("Found datastore infos %v for datastore %s", datastoreInfos, datastoreName) - return datastoreInfos, nil -} diff --git a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vsphere_util_linux.go b/staging/src/k8s.io/legacy-cloud-providers/vsphere/vsphere_util_linux.go deleted file mode 100644 index e749f54060f..00000000000 --- a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vsphere_util_linux.go +++ /dev/null @@ -1,34 +0,0 @@ -//go:build !providerless && linux -// +build !providerless,linux - -/* -Copyright 2018 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vsphere - -import ( - "io/ioutil" -) - -const UUIDPath = "/sys/class/dmi/id/product_serial" - -func getRawUUID() (string, error) { - id, err := ioutil.ReadFile(UUIDPath) - if err != nil { - return "", err - } - return string(id), nil -} diff --git a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vsphere_util_test.go b/staging/src/k8s.io/legacy-cloud-providers/vsphere/vsphere_util_test.go deleted file mode 100644 index eb28b4941bb..00000000000 --- a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vsphere_util_test.go +++ /dev/null @@ -1,135 +0,0 @@ -//go:build !providerless -// +build !providerless - -/* -Copyright 2019 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vsphere - -import ( - "context" - "fmt" - "testing" - - "k8s.io/legacy-cloud-providers/vsphere/vclib" - - "github.com/vmware/govmomi" - "github.com/vmware/govmomi/simulator" -) - -func TestGetPathFromFileNotFound(t *testing.T) { - ctx := context.Background() - - // vCenter model + initial set of objects (cluster, hosts, VMs, network, datastore, etc) - model := simulator.VPX() - - defer model.Remove() - err := model.Create() - if err != nil { - t.Fatal(err) - } - - s := model.Service.NewServer() - defer s.Close() - - c, err := govmomi.NewClient(ctx, s.URL, true) - if err != nil { - t.Fatal(err) - } - - vc := &vclib.VSphereConnection{Client: c.Client} - - dc, err := vclib.GetDatacenter(ctx, vc, vclib.TestDefaultDatacenter) - if err != nil { - t.Errorf("failed to get datacenter: %v", err) - } - - requestDiskPath := fmt.Sprintf("[%s] %s", vclib.TestDefaultDatastore, DummyDiskName) - _, err = dc.GetVirtualDiskPage83Data(ctx, requestDiskPath) - if err == nil { - t.Error("expected error when calling GetVirtualDiskPage83Data") - } - - _, err = getPathFromFileNotFound(err) - if err != nil { - t.Errorf("expected err to be nil but was %v", err) - } - - _, err = getPathFromFileNotFound(nil) - if err == nil { - t.Errorf("expected err when calling getPathFromFileNotFound with nil err") - } -} - -func TestVMX15Deprecated(t *testing.T) { - vmhardwaredeprecated, err := isGuestHardwareVersionDeprecated("vmx-15") - if err != nil { - t.Fatal(err) - } - if vmhardwaredeprecated { - t.Fatal("vmx-15 should not be deprecated") - } -} - -func TestVMX14Deprecated(t *testing.T) { - vmhardwaredeprecated, err := isGuestHardwareVersionDeprecated("vmx-14") - if err != nil { - t.Fatal(err) - } - if !vmhardwaredeprecated { - t.Fatal("vmx-14 should be deprecated") - } -} - -func TestVMX13Deprecated(t *testing.T) { - vmhardwaredeprecated, err := isGuestHardwareVersionDeprecated("vmx-13") - if err != nil { - t.Fatal(err) - } - if !vmhardwaredeprecated { - t.Fatal("vmx-13 should be deprecated") - } -} - -func TestVMX11Deprecated(t *testing.T) { - vmhardwaredeprecated, err := isGuestHardwareVersionDeprecated("vmx-11") - if err != nil { - t.Fatal(err) - } - if !vmhardwaredeprecated { - t.Fatal("vmx-11 should be deprecated") - } -} - -func TestVMX17Deprecated(t *testing.T) { - vmhardwaredeprecated, err := isGuestHardwareVersionDeprecated("vmx-17") - if err != nil { - t.Fatal(err) - } - if vmhardwaredeprecated { - t.Fatal("vmx-17 should not be deprecated") - } -} - -func TestVMX18Deprecated(t *testing.T) { - vmhardwaredeprecated, err := isGuestHardwareVersionDeprecated("vmx-18") - if err != nil { - t.Fatal(err) - } - if vmhardwaredeprecated { - t.Fatal("vmx-18 should not be deprecated") - } -} diff --git a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vsphere_util_unsupported.go b/staging/src/k8s.io/legacy-cloud-providers/vsphere/vsphere_util_unsupported.go deleted file mode 100644 index defcc74c236..00000000000 --- a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vsphere_util_unsupported.go +++ /dev/null @@ -1,26 +0,0 @@ -//go:build !providerless && !windows && !linux -// +build !providerless,!windows,!linux - -/* -Copyright 2018 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vsphere - -import "fmt" - -func getRawUUID() (string, error) { - return "", fmt.Errorf("Retrieving VM UUID on this build is not implemented.") -} diff --git a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vsphere_util_windows.go b/staging/src/k8s.io/legacy-cloud-providers/vsphere/vsphere_util_windows.go deleted file mode 100644 index fab8c3d3031..00000000000 --- a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vsphere_util_windows.go +++ /dev/null @@ -1,45 +0,0 @@ -//go:build !providerless && windows -// +build !providerless,windows - -/* -Copyright 2018 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vsphere - -import ( - "fmt" - "os/exec" - "strings" -) - -func getRawUUID() (string, error) { - result, err := exec.Command("wmic", "bios", "get", "serialnumber").Output() - if err != nil { - return "", err - } - lines := strings.FieldsFunc(string(result), func(r rune) bool { - switch r { - case '\n', '\r': - return true - default: - return false - } - }) - if len(lines) != 2 { - return "", fmt.Errorf("received unexpected value retrieving vm uuid: %q", string(result)) - } - return lines[1], nil -} diff --git a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vsphere_volume_map.go b/staging/src/k8s.io/legacy-cloud-providers/vsphere/vsphere_volume_map.go deleted file mode 100644 index 111f5fc43a9..00000000000 --- a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vsphere_volume_map.go +++ /dev/null @@ -1,114 +0,0 @@ -//go:build !providerless -// +build !providerless - -/* -Copyright 2020 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vsphere - -import ( - "sync" - - "github.com/vmware/govmomi/object" - "github.com/vmware/govmomi/vim25/types" - k8stypes "k8s.io/apimachinery/pkg/types" -) - -type volumePath string - -type nodeVolumeStatus struct { - nodeName k8stypes.NodeName - verified bool -} - -// VsphereVolumeMap stores last known state of node and volume mapping -type VsphereVolumeMap struct { - volumeNodeMap map[volumePath]nodeVolumeStatus - nodeMap map[k8stypes.NodeName]bool - lock sync.RWMutex -} - -func NewVsphereVolumeMap() *VsphereVolumeMap { - return &VsphereVolumeMap{ - volumeNodeMap: map[volumePath]nodeVolumeStatus{}, - nodeMap: map[k8stypes.NodeName]bool{}, - } -} - -// StartDiskVerification marks all known volumes as unverified so as -// disks which aren't verified can be removed at the end of verification process -func (vsphereVolume *VsphereVolumeMap) StartDiskVerification() { - vsphereVolume.lock.Lock() - defer vsphereVolume.lock.Unlock() - for k, v := range vsphereVolume.volumeNodeMap { - v.verified = false - vsphereVolume.volumeNodeMap[k] = v - } - // reset nodeMap to empty so that any node we could not verify via usual verification process - // can still be verified. - vsphereVolume.nodeMap = map[k8stypes.NodeName]bool{} -} - -// CheckForVolume verifies if disk is attached to some node in the cluster. -// This check is not definitive and should be followed up by separate verification. -func (vsphereVolume *VsphereVolumeMap) CheckForVolume(path string) (k8stypes.NodeName, bool) { - vsphereVolume.lock.RLock() - defer vsphereVolume.lock.RUnlock() - vPath := volumePath(path) - ns, ok := vsphereVolume.volumeNodeMap[vPath] - if ok { - return ns.nodeName, true - } - return "", false -} - -// CheckForNode returns true if given node has already been processed by volume -// verification mechanism. This is used to skip verifying attached disks on nodes -// which were previously verified. -func (vsphereVolume *VsphereVolumeMap) CheckForNode(nodeName k8stypes.NodeName) bool { - vsphereVolume.lock.RLock() - defer vsphereVolume.lock.RUnlock() - _, ok := vsphereVolume.nodeMap[nodeName] - return ok -} - -// Add all devices found on a node to the device map -func (vsphereVolume *VsphereVolumeMap) Add(node k8stypes.NodeName, vmDevices object.VirtualDeviceList) { - vsphereVolume.lock.Lock() - defer vsphereVolume.lock.Unlock() - for _, device := range vmDevices { - if vmDevices.TypeName(device) == "VirtualDisk" { - virtualDevice := device.GetVirtualDevice() - if backing, ok := virtualDevice.Backing.(*types.VirtualDiskFlatVer2BackingInfo); ok { - filename := volumePath(backing.FileName) - vsphereVolume.volumeNodeMap[filename] = nodeVolumeStatus{node, true} - vsphereVolume.nodeMap[node] = true - } - } - } -} - -// RemoveUnverified will remove any device which we could not verify to be attached to a node. -func (vsphereVolume *VsphereVolumeMap) RemoveUnverified() { - vsphereVolume.lock.Lock() - defer vsphereVolume.lock.Unlock() - for k, v := range vsphereVolume.volumeNodeMap { - if !v.verified { - delete(vsphereVolume.volumeNodeMap, k) - delete(vsphereVolume.nodeMap, v.nodeName) - } - } -} diff --git a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vsphere_volume_map_test.go b/staging/src/k8s.io/legacy-cloud-providers/vsphere/vsphere_volume_map_test.go deleted file mode 100644 index c28807e4560..00000000000 --- a/staging/src/k8s.io/legacy-cloud-providers/vsphere/vsphere_volume_map_test.go +++ /dev/null @@ -1,117 +0,0 @@ -//go:build !providerless -// +build !providerless - -/* -Copyright 2020 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vsphere - -import ( - "testing" - - "github.com/vmware/govmomi/object" - "github.com/vmware/govmomi/vim25/types" - k8stypes "k8s.io/apimachinery/pkg/types" -) - -func TestVsphereVolumeMap(t *testing.T) { - tests := []struct { - name string - deviceToAdd object.VirtualDeviceList - nodeToAdd k8stypes.NodeName - checkRunner func(volumeMap *VsphereVolumeMap) - }{ - { - name: "adding new volume", - deviceToAdd: getVirtualDeviceList("[foobar] kubevols/foo.vmdk"), - nodeToAdd: convertToK8sType("node1.lan"), - checkRunner: func(volumeMap *VsphereVolumeMap) { - volumeToCheck := "[foobar] kubevols/foo.vmdk" - _, ok := volumeMap.CheckForVolume(volumeToCheck) - if !ok { - t.Errorf("error checking volume %s, expected true got %v", volumeToCheck, ok) - } - }, - }, - { - name: "mismatching volume", - deviceToAdd: getVirtualDeviceList("[foobar] kubevols/foo.vmdk"), - nodeToAdd: convertToK8sType("node1.lan"), - checkRunner: func(volumeMap *VsphereVolumeMap) { - volumeToCheck := "[foobar] kubevols/bar.vmdk" - _, ok := volumeMap.CheckForVolume(volumeToCheck) - if ok { - t.Errorf("error checking volume %s, expected false got %v", volumeToCheck, ok) - } - }, - }, - { - name: "should remove unverified devices", - deviceToAdd: getVirtualDeviceList("[foobar] kubevols/foo.vmdk"), - nodeToAdd: convertToK8sType("node1.lan"), - checkRunner: func(volumeMap *VsphereVolumeMap) { - volumeMap.StartDiskVerification() - volumeMap.RemoveUnverified() - volumeToCheck := "[foobar] kubevols/foo.vmdk" - _, ok := volumeMap.CheckForVolume(volumeToCheck) - if ok { - t.Errorf("error checking volume %s, expected false got %v", volumeToCheck, ok) - } - node := k8stypes.NodeName("node1.lan") - ok = volumeMap.CheckForNode(node) - if ok { - t.Errorf("unexpected node %s in node map", node) - } - }, - }, - { - name: "node check should return false for previously added node", - deviceToAdd: getVirtualDeviceList("[foobar] kubevols/foo.vmdk"), - nodeToAdd: convertToK8sType("node1.lan"), - checkRunner: func(volumeMap *VsphereVolumeMap) { - volumeMap.StartDiskVerification() - node := k8stypes.NodeName("node1.lan") - ok := volumeMap.CheckForNode(node) - if ok { - t.Errorf("unexpected node %s in node map", node) - } - }, - }, - } - - for _, tc := range tests { - t.Run(tc.name, func(t *testing.T) { - vMap := NewVsphereVolumeMap() - vMap.Add(tc.nodeToAdd, tc.deviceToAdd) - tc.checkRunner(vMap) - }) - } -} - -func getVirtualDeviceList(vPath string) object.VirtualDeviceList { - return object.VirtualDeviceList{ - &types.VirtualDisk{ - VirtualDevice: types.VirtualDevice{ - Key: 1000, - Backing: &types.VirtualDiskFlatVer2BackingInfo{ - VirtualDeviceFileBackingInfo: types.VirtualDeviceFileBackingInfo{ - FileName: vPath, - }, - }, - }, - }, - } -} diff --git a/test/e2e/storage/drivers/in_tree.go b/test/e2e/storage/drivers/in_tree.go index 7c68fd63667..493789b0204 100644 --- a/test/e2e/storage/drivers/in_tree.go +++ b/test/e2e/storage/drivers/in_tree.go @@ -61,7 +61,6 @@ import ( e2evolume "k8s.io/kubernetes/test/e2e/framework/volume" storageframework "k8s.io/kubernetes/test/e2e/storage/framework" "k8s.io/kubernetes/test/e2e/storage/utils" - vspheretest "k8s.io/kubernetes/test/e2e/storage/vsphere" imageutils "k8s.io/kubernetes/test/utils/image" ) @@ -1185,7 +1184,6 @@ type vSphereDriver struct { type vSphereVolume struct { volumePath string - nodeInfo *vspheretest.NodeInfo } var _ storageframework.TestDriver = &vSphereDriver{} @@ -1286,17 +1284,6 @@ func (v *vSphereDriver) GetDynamicProvisionStorageClass(ctx context.Context, con } func (v *vSphereDriver) PrepareTest(ctx context.Context, f *framework.Framework) *storageframework.PerTestConfig { - vspheretest.Bootstrap(f) - ginkgo.DeferCleanup(func(ctx context.Context) { - // Driver Cleanup function - // Logout each vSphere client connection to prevent session leakage - nodes := vspheretest.GetReadySchedulableNodeInfos(ctx, f.ClientSet) - for _, node := range nodes { - if node.VSphere.Client != nil { - _ = node.VSphere.Client.Logout(ctx) - } - } - }) return &storageframework.PerTestConfig{ Driver: v, Prefix: "vsphere", @@ -1305,18 +1292,10 @@ func (v *vSphereDriver) PrepareTest(ctx context.Context, f *framework.Framework) } func (v *vSphereDriver) CreateVolume(ctx context.Context, config *storageframework.PerTestConfig, volType storageframework.TestVolType) storageframework.TestVolume { - f := config.Framework - nodeInfo := vspheretest.GetReadySchedulableRandomNodeInfo(ctx, f.ClientSet) - volumePath, err := nodeInfo.VSphere.CreateVolume(&vspheretest.VolumeOptions{}, nodeInfo.DataCenterRef) - framework.ExpectNoError(err) - return &vSphereVolume{ - volumePath: volumePath, - nodeInfo: nodeInfo, - } + return &vSphereVolume{} } func (v *vSphereVolume) DeleteVolume(ctx context.Context) { - v.nodeInfo.VSphere.DeleteVolume(v.volumePath, v.nodeInfo.DataCenterRef) } // Azure Disk diff --git a/test/e2e/storage/vsphere/bootstrap.go b/test/e2e/storage/vsphere/bootstrap.go deleted file mode 100644 index 6650fb839b9..00000000000 --- a/test/e2e/storage/vsphere/bootstrap.go +++ /dev/null @@ -1,66 +0,0 @@ -/* -Copyright 2018 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vsphere - -import ( - "context" - "sync" - - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/kubernetes/test/e2e/framework" -) - -var once sync.Once -var waiting = make(chan bool) - -// Bootstrap takes care of initializing necessary test context for vSphere tests -func Bootstrap(fw *framework.Framework) { - done := make(chan bool) - go func() { - once.Do(func() { - bootstrapOnce(fw) - }) - <-waiting - done <- true - }() - <-done -} - -func bootstrapOnce(f *framework.Framework) { - // 1. Read vSphere conf and get VSphere instances - vsphereInstances, err := GetVSphereInstances() - if err != nil { - framework.Failf("Failed to bootstrap vSphere with error: %v", err) - } - // 2. Get all nodes - nodeList, err := f.ClientSet.CoreV1().Nodes().List(context.TODO(), metav1.ListOptions{}) - if err != nil { - framework.Failf("Failed to get nodes: %v", err) - } - TestContext = Context{NodeMapper: NewNodeMapper(), VSphereInstances: vsphereInstances} - // 3. Get Node to VSphere mapping - err = TestContext.NodeMapper.GenerateNodeMap(vsphereInstances, *nodeList) - if err != nil { - framework.Failf("Failed to bootstrap vSphere with error: %v", err) - } - // 4. Generate Zone to Datastore mapping - err = TestContext.NodeMapper.GenerateZoneToDatastoreMap() - if err != nil { - framework.Failf("Failed to generate zone to datastore mapping with error: %v", err) - } - close(waiting) -} diff --git a/test/e2e/storage/vsphere/config.go b/test/e2e/storage/vsphere/config.go deleted file mode 100644 index 2c0921022d5..00000000000 --- a/test/e2e/storage/vsphere/config.go +++ /dev/null @@ -1,189 +0,0 @@ -/* -Copyright 2018 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vsphere - -import ( - "errors" - "fmt" - "io" - "os" - - "gopkg.in/gcfg.v1" - "k8s.io/kubernetes/test/e2e/framework" -) - -const ( - vSphereConfFileEnvVar = "VSPHERE_CONF_FILE" -) - -var ( - confFileLocation = os.Getenv(vSphereConfFileEnvVar) -) - -// Config represents vSphere configuration -type Config struct { - Username string - Password string - Hostname string - Port string - Datacenters string - RoundTripperCount uint - DefaultDatastore string - Folder string -} - -// ConfigFile represents the content of vsphere.conf file. -// Users specify the configuration of one or more vSphere instances in vsphere.conf where -// the Kubernetes master and worker nodes are running. -type ConfigFile struct { - Global struct { - // vCenter username. - User string `gcfg:"user"` - // vCenter password in clear text. - Password string `gcfg:"password"` - // vCenter port. - VCenterPort string `gcfg:"port"` - // True if vCenter uses self-signed cert. - InsecureFlag bool `gcfg:"insecure-flag"` - // Datacenter in which VMs are located. - Datacenters string `gcfg:"datacenters"` - // Soap round tripper count (retries = RoundTripper - 1) - RoundTripperCount uint `gcfg:"soap-roundtrip-count"` - } - - VirtualCenter map[string]*Config - - Network struct { - // PublicNetwork is name of the network the VMs are joined to. - PublicNetwork string `gcfg:"public-network"` - } - - Disk struct { - // SCSIControllerType defines SCSI controller to be used. - SCSIControllerType string `dcfg:"scsicontrollertype"` - } - - // Endpoint used to create volumes - Workspace struct { - VCenterIP string `gcfg:"server"` - Datacenter string `gcfg:"datacenter"` - Folder string `gcfg:"folder"` - DefaultDatastore string `gcfg:"default-datastore"` - ResourcePoolPath string `gcfg:"resourcepool-path"` - } - // Tag categories and tags which correspond to "built-in node labels: zones and region" - Labels struct { - Zone string `gcfg:"zone"` - Region string `gcfg:"region"` - } -} - -// GetVSphereInstances parses vsphere.conf and returns VSphere instances -func GetVSphereInstances() (map[string]*VSphere, error) { - cfg, err := getConfig() - if err != nil { - return nil, err - } - return populateInstanceMap(cfg) -} - -func getConfig() (*ConfigFile, error) { - if confFileLocation == "" { - if framework.TestContext.CloudConfig.ConfigFile == "" { - return nil, fmt.Errorf("env variable 'VSPHERE_CONF_FILE' is not set, and no config-file specified") - } - confFileLocation = framework.TestContext.CloudConfig.ConfigFile - } - confFile, err := os.Open(confFileLocation) - if err != nil { - return nil, err - } - defer confFile.Close() - cfg, err := readConfig(confFile) - if err != nil { - return nil, err - } - return &cfg, nil -} - -// readConfig parses vSphere cloud config file into ConfigFile. -func readConfig(config io.Reader) (ConfigFile, error) { - if config == nil { - err := fmt.Errorf("no vSphere cloud provider config file given") - return ConfigFile{}, err - } - - var cfg ConfigFile - err := gcfg.ReadInto(&cfg, config) - return cfg, err -} - -func populateInstanceMap(cfg *ConfigFile) (map[string]*VSphere, error) { - vsphereInstances := make(map[string]*VSphere) - - if cfg.Workspace.VCenterIP == "" || cfg.Workspace.DefaultDatastore == "" || cfg.Workspace.Folder == "" || cfg.Workspace.Datacenter == "" { - msg := fmt.Sprintf("All fields in workspace are mandatory."+ - " vsphere.conf does not have the workspace specified correctly. cfg.Workspace: %+v", cfg.Workspace) - framework.Logf(msg) - return nil, errors.New(msg) - } - for vcServer, vcConfig := range cfg.VirtualCenter { - framework.Logf("Initializing vc server %s", vcServer) - if vcServer == "" { - framework.Logf("vsphere.conf does not have the VirtualCenter IP address specified") - return nil, errors.New("vsphere.conf does not have the VirtualCenter IP address specified") - } - vcConfig.Hostname = vcServer - - if vcConfig.Username == "" { - vcConfig.Username = cfg.Global.User - } - if vcConfig.Password == "" { - vcConfig.Password = cfg.Global.Password - } - if vcConfig.Username == "" { - msg := fmt.Sprintf("vcConfig.Username is empty for vc %s!", vcServer) - framework.Logf(msg) - return nil, errors.New(msg) - } - if vcConfig.Password == "" { - msg := fmt.Sprintf("vcConfig.Password is empty for vc %s!", vcServer) - framework.Logf(msg) - return nil, errors.New(msg) - } - if vcConfig.Port == "" { - vcConfig.Port = cfg.Global.VCenterPort - } - if vcConfig.Datacenters == "" && cfg.Global.Datacenters != "" { - vcConfig.Datacenters = cfg.Global.Datacenters - } - if vcConfig.RoundTripperCount == 0 { - vcConfig.RoundTripperCount = cfg.Global.RoundTripperCount - } - - vcConfig.DefaultDatastore = cfg.Workspace.DefaultDatastore - vcConfig.Folder = cfg.Workspace.Folder - - vsphereIns := VSphere{ - Config: vcConfig, - } - vsphereInstances[vcServer] = &vsphereIns - } - - framework.Logf("vSphere instances: %v", vsphereInstances) - return vsphereInstances, nil -} diff --git a/test/e2e/storage/vsphere/connection.go b/test/e2e/storage/vsphere/connection.go deleted file mode 100644 index cbcf32188d6..00000000000 --- a/test/e2e/storage/vsphere/connection.go +++ /dev/null @@ -1,92 +0,0 @@ -/* -Copyright 2018 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vsphere - -import ( - "context" - "fmt" - "net" - neturl "net/url" - "sync" - - "github.com/vmware/govmomi" - "github.com/vmware/govmomi/session" - "github.com/vmware/govmomi/vim25" - "k8s.io/klog/v2" -) - -const ( - roundTripperDefaultCount = 3 -) - -var ( - clientLock sync.Mutex -) - -// Connect makes connection to vSphere -// No actions are taken if a connection exists and alive. Otherwise, a new client will be created. -func Connect(ctx context.Context, vs *VSphere) error { - var err error - clientLock.Lock() - defer clientLock.Unlock() - - if vs.Client == nil { - vs.Client, err = NewClient(ctx, vs) - if err != nil { - klog.Errorf("Failed to create govmomi client. err: %+v", err) - return err - } - return nil - } - manager := session.NewManager(vs.Client.Client) - userSession, err := manager.UserSession(ctx) - if err != nil { - klog.Errorf("Error while obtaining user session. err: %+v", err) - return err - } - if userSession != nil { - return nil - } - klog.Warningf("Creating new client session since the existing session is not valid or not authenticated") - vs.Client.Logout(ctx) - vs.Client, err = NewClient(ctx, vs) - if err != nil { - klog.Errorf("Failed to create govmomi client. err: %+v", err) - return err - } - return nil -} - -// NewClient creates a new client for vSphere connection -func NewClient(ctx context.Context, vs *VSphere) (*govmomi.Client, error) { - url, err := neturl.Parse(fmt.Sprintf("https://%s/sdk", net.JoinHostPort(vs.Config.Hostname, vs.Config.Port))) - if err != nil { - klog.Errorf("Failed to parse URL: %s. err: %+v", url, err) - return nil, err - } - url.User = neturl.UserPassword(vs.Config.Username, vs.Config.Password) - client, err := govmomi.NewClient(ctx, url, true) - if err != nil { - klog.Errorf("Failed to create new client. err: %+v", err) - return nil, err - } - if vs.Config.RoundTripperCount == 0 { - vs.Config.RoundTripperCount = roundTripperDefaultCount - } - client.RoundTripper = vim25.Retry(client.RoundTripper, vim25.TemporaryNetworkError(int(vs.Config.RoundTripperCount))) - return client, nil -} diff --git a/test/e2e/storage/vsphere/context.go b/test/e2e/storage/vsphere/context.go deleted file mode 100644 index 4e002d7c8ce..00000000000 --- a/test/e2e/storage/vsphere/context.go +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright 2018 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vsphere - -// Context holds common information for vSphere tests -type Context struct { - NodeMapper *NodeMapper - VSphereInstances map[string]*VSphere -} - -// TestContext should be used by all tests to access common context data. It should be initialized only once, during bootstrapping the tests. -var TestContext Context diff --git a/test/e2e/storage/vsphere/nodemapper.go b/test/e2e/storage/vsphere/nodemapper.go deleted file mode 100644 index ee6529f887f..00000000000 --- a/test/e2e/storage/vsphere/nodemapper.go +++ /dev/null @@ -1,304 +0,0 @@ -/* -Copyright 2018 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vsphere - -import ( - "context" - "errors" - "strings" - "sync" - - "github.com/onsi/ginkgo/v2" - "github.com/vmware/govmomi/object" - "github.com/vmware/govmomi/vapi/rest" - "github.com/vmware/govmomi/vapi/tags" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/types" - v1 "k8s.io/api/core/v1" - "k8s.io/kubernetes/test/e2e/framework" - - neturl "net/url" -) - -// NodeMapper contains information to generate nameToNodeInfo and vcToZoneDatastore maps -type NodeMapper struct { - nodeInfoRWLock *sync.RWMutex - nameToNodeInfo map[string]*NodeInfo - vcToZoneDatastoresMap map[string](map[string][]string) -} - -// NodeInfo contains information about vcenter nodes -type NodeInfo struct { - Name string - DataCenterRef types.ManagedObjectReference - VirtualMachineRef types.ManagedObjectReference - HostSystemRef types.ManagedObjectReference - VSphere *VSphere - Zones []string -} - -const ( - datacenterType = "Datacenter" - clusterComputeResourceType = "ClusterComputeResource" - hostSystemType = "HostSystem" -) - -// NewNodeMapper returns a new NodeMapper -func NewNodeMapper() *NodeMapper { - return &NodeMapper{ - nodeInfoRWLock: &sync.RWMutex{}, - nameToNodeInfo: make(map[string]*NodeInfo), - vcToZoneDatastoresMap: make(map[string](map[string][]string)), - } -} - -// GenerateNodeMap populates node name to node info map -func (nm *NodeMapper) GenerateNodeMap(vSphereInstances map[string]*VSphere, nodeList v1.NodeList) error { - type VMSearch struct { - vs *VSphere - datacenter *object.Datacenter - } - - var wg sync.WaitGroup - var queueChannel []*VMSearch - - var datacenters []*object.Datacenter - var err error - for _, vs := range vSphereInstances { - - // Create context - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - - if vs.Config.Datacenters == "" { - datacenters, err = vs.GetAllDatacenter(ctx) - if err != nil { - framework.Logf("NodeMapper error: %v", err) - continue - } - } else { - dcName := strings.Split(vs.Config.Datacenters, ",") - for _, dc := range dcName { - dc = strings.TrimSpace(dc) - if dc == "" { - continue - } - datacenter, err := vs.GetDatacenter(ctx, dc) - if err != nil { - framework.Logf("NodeMapper error dc: %s \n err: %v", dc, err) - - continue - } - datacenters = append(datacenters, datacenter) - } - } - - for _, dc := range datacenters { - framework.Logf("Search candidates vc=%s and datacenter=%s", vs.Config.Hostname, dc.Name()) - queueChannel = append(queueChannel, &VMSearch{vs: vs, datacenter: dc}) - } - } - - for _, node := range nodeList.Items { - n := node - wg.Add(1) - go func() { - nodeUUID := getUUIDFromProviderID(n.Spec.ProviderID) - framework.Logf("Searching for node with UUID: %s", nodeUUID) - for _, res := range queueChannel { - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - vm, err := res.vs.GetVMByUUID(ctx, nodeUUID, res.datacenter) - if err != nil { - framework.Logf("Error %v while looking for node=%s in vc=%s and datacenter=%s", - err, n.Name, res.vs.Config.Hostname, res.datacenter.Name()) - continue - } - if vm != nil { - hostSystemRef := res.vs.GetHostFromVMReference(ctx, vm.Reference()) - zones := retrieveZoneInformationForNode(n.Name, res.vs, hostSystemRef) - framework.Logf("Found node %s as vm=%+v placed on host=%+v under zones %s in vc=%s and datacenter=%s", - n.Name, vm, hostSystemRef, zones, res.vs.Config.Hostname, res.datacenter.Name()) - nodeInfo := &NodeInfo{Name: n.Name, DataCenterRef: res.datacenter.Reference(), VirtualMachineRef: vm.Reference(), HostSystemRef: hostSystemRef, VSphere: res.vs, Zones: zones} - nm.SetNodeInfo(n.Name, nodeInfo) - break - } - } - wg.Done() - }() - } - wg.Wait() - - if len(nm.nameToNodeInfo) != len(nodeList.Items) { - return errors.New("all nodes not mapped to respective vSphere") - } - return nil -} - -// Establish rest connection to retrieve tag manager stub -func withTagsClient(ctx context.Context, connection *VSphere, f func(c *rest.Client) error) error { - c := rest.NewClient(connection.Client.Client) - user := neturl.UserPassword(connection.Config.Username, connection.Config.Password) - if err := c.Login(ctx, user); err != nil { - return err - } - ginkgo.DeferCleanup(c.Logout) - return f(c) -} - -// Iterates over each node and retrieves the zones in which they are placed -func retrieveZoneInformationForNode(nodeName string, connection *VSphere, hostSystemRef types.ManagedObjectReference) []string { - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - var zones []string - pc := connection.Client.ServiceContent.PropertyCollector - withTagsClient(ctx, connection, func(c *rest.Client) error { - client := tags.NewManager(c) - // Example result: ["Host", "Cluster", "Datacenter"] - ancestors, err := mo.Ancestors(ctx, connection.Client, pc, hostSystemRef) - if err != nil { - return err - } - - var validAncestors []mo.ManagedEntity - // Filter out only Datacenter, ClusterComputeResource and HostSystem type objects. These objects will be - // in the following order ["Datacenter" < "ClusterComputeResource" < "HostSystem"] so that the highest - // zone precedence will be received by the HostSystem type. - for _, ancestor := range ancestors { - moType := ancestor.ExtensibleManagedObject.Self.Type - if moType == datacenterType || moType == clusterComputeResourceType || moType == hostSystemType { - validAncestors = append(validAncestors, ancestor) - } - } - - for _, ancestor := range validAncestors { - var zonesAttachedToObject []string - tags, err := client.ListAttachedTags(ctx, ancestor) - if err != nil { - return err - } - for _, value := range tags { - tag, err := client.GetTag(ctx, value) - if err != nil { - return err - } - category, err := client.GetCategory(ctx, tag.CategoryID) - if err != nil { - return err - } - switch { - case category.Name == "k8s-zone": - framework.Logf("Found %s associated with %s for %s", tag.Name, ancestor.Name, nodeName) - zonesAttachedToObject = append(zonesAttachedToObject, tag.Name) - case category.Name == "k8s-region": - framework.Logf("Found %s associated with %s for %s", tag.Name, ancestor.Name, nodeName) - } - } - // Overwrite zone information if it exists for this object - if len(zonesAttachedToObject) != 0 { - zones = zonesAttachedToObject - } - } - return nil - }) - return zones -} - -// GenerateZoneToDatastoreMap generates a mapping of zone to datastore for easily verifying volume placement -func (nm *NodeMapper) GenerateZoneToDatastoreMap() error { - // 1. Create zone to hosts map for each VC - var vcToZoneHostsMap = make(map[string](map[string][]string)) - // 2. Create host to datastores map for each VC - var vcToHostDatastoresMap = make(map[string](map[string][]string)) - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - // 3. Populate vcToZoneHostsMap and vcToHostDatastoresMap - for _, nodeInfo := range nm.nameToNodeInfo { - vc := nodeInfo.VSphere.Config.Hostname - host := nodeInfo.HostSystemRef.Value - for _, zone := range nodeInfo.Zones { - if vcToZoneHostsMap[vc] == nil { - vcToZoneHostsMap[vc] = make(map[string][]string) - } - // Populating vcToZoneHostsMap using the HostSystemRef and Zone fields from each NodeInfo - hosts := vcToZoneHostsMap[vc][zone] - hosts = append(hosts, host) - vcToZoneHostsMap[vc][zone] = hosts - } - if vcToHostDatastoresMap[vc] == nil { - vcToHostDatastoresMap[vc] = make(map[string][]string) - } - datastores := vcToHostDatastoresMap[vc][host] - // Populating vcToHostDatastoresMap by finding out the datastores mounted on node's host - datastoreRefs := nodeInfo.VSphere.GetDatastoresMountedOnHost(ctx, nodeInfo.HostSystemRef) - for _, datastore := range datastoreRefs { - datastores = append(datastores, datastore.Value) - } - vcToHostDatastoresMap[vc][host] = datastores - } - // 4, Populate vcToZoneDatastoresMap from vcToZoneHostsMap and vcToHostDatastoresMap - for vc, zoneToHostsMap := range vcToZoneHostsMap { - for zone, hosts := range zoneToHostsMap { - commonDatastores := retrieveCommonDatastoresAmongHosts(hosts, vcToHostDatastoresMap[vc]) - if nm.vcToZoneDatastoresMap[vc] == nil { - nm.vcToZoneDatastoresMap[vc] = make(map[string][]string) - } - nm.vcToZoneDatastoresMap[vc][zone] = commonDatastores - } - } - framework.Logf("Zone to datastores map : %+v", nm.vcToZoneDatastoresMap) - return nil -} - -// retrieveCommonDatastoresAmongHosts retrieves the common datastores from the specified hosts -func retrieveCommonDatastoresAmongHosts(hosts []string, hostToDatastoresMap map[string][]string) []string { - var datastoreCountMap = make(map[string]int) - for _, host := range hosts { - for _, datastore := range hostToDatastoresMap[host] { - datastoreCountMap[datastore] = datastoreCountMap[datastore] + 1 - } - } - var commonDatastores []string - numHosts := len(hosts) - for datastore, count := range datastoreCountMap { - if count == numHosts { - commonDatastores = append(commonDatastores, datastore) - } - } - return commonDatastores -} - -// GetDatastoresInZone returns all the datastores in the specified zone -func (nm *NodeMapper) GetDatastoresInZone(vc string, zone string) []string { - nm.nodeInfoRWLock.RLock() - defer nm.nodeInfoRWLock.RUnlock() - return nm.vcToZoneDatastoresMap[vc][zone] -} - -// GetNodeInfo returns NodeInfo for given nodeName -func (nm *NodeMapper) GetNodeInfo(nodeName string) *NodeInfo { - nm.nodeInfoRWLock.RLock() - defer nm.nodeInfoRWLock.RUnlock() - return nm.nameToNodeInfo[nodeName] -} - -// SetNodeInfo sets NodeInfo for given nodeName. This function is not thread safe. Users need to handle concurrency. -func (nm *NodeMapper) SetNodeInfo(nodeName string, nodeInfo *NodeInfo) { - nm.nodeInfoRWLock.Lock() - defer nm.nodeInfoRWLock.Unlock() - nm.nameToNodeInfo[nodeName] = nodeInfo -} diff --git a/test/e2e/storage/vsphere/persistent_volumes-vsphere.go b/test/e2e/storage/vsphere/persistent_volumes-vsphere.go deleted file mode 100644 index 81d8e1c5c92..00000000000 --- a/test/e2e/storage/vsphere/persistent_volumes-vsphere.go +++ /dev/null @@ -1,202 +0,0 @@ -/* -Copyright 2017 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vsphere - -import ( - "context" - "time" - - "github.com/onsi/ginkgo/v2" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/labels" - clientset "k8s.io/client-go/kubernetes" - "k8s.io/kubernetes/test/e2e/feature" - "k8s.io/kubernetes/test/e2e/framework" - e2epod "k8s.io/kubernetes/test/e2e/framework/pod" - e2epv "k8s.io/kubernetes/test/e2e/framework/pv" - e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" - "k8s.io/kubernetes/test/e2e/storage/utils" - admissionapi "k8s.io/pod-security-admission/api" -) - -// Testing configurations of single a PV/PVC pair attached to a vSphere Disk -var _ = utils.SIGDescribe("PersistentVolumes:vsphere", feature.Vsphere, func() { - var ( - c clientset.Interface - ns string - volumePath string - pv *v1.PersistentVolume - pvc *v1.PersistentVolumeClaim - clientPod *v1.Pod - pvConfig e2epv.PersistentVolumeConfig - pvcConfig e2epv.PersistentVolumeClaimConfig - err error - node string - volLabel labels.Set - selector *metav1.LabelSelector - nodeInfo *NodeInfo - ) - - f := framework.NewDefaultFramework("pv") - f.NamespacePodSecurityLevel = admissionapi.LevelPrivileged - /* - Test Setup - - 1. Create volume (vmdk) - 2. Create PV with volume path for the vmdk. - 3. Create PVC to bind with PV. - 4. Create a POD using the PVC. - 5. Verify Disk and Attached to the node. - */ - ginkgo.BeforeEach(func(ctx context.Context) { - e2eskipper.SkipUnlessProviderIs("vsphere") - Bootstrap(f) - c = f.ClientSet - ns = f.Namespace.Name - clientPod = nil - pvc = nil - pv = nil - nodeInfo = GetReadySchedulableRandomNodeInfo(ctx, c) - - volLabel = labels.Set{e2epv.VolumeSelectorKey: ns} - selector = metav1.SetAsLabelSelector(volLabel) - - volumePath, err = nodeInfo.VSphere.CreateVolume(&VolumeOptions{}, nodeInfo.DataCenterRef) - framework.ExpectNoError(err) - ginkgo.DeferCleanup(func() { - nodeInfo.VSphere.DeleteVolume(volumePath, nodeInfo.DataCenterRef) - }) - pvConfig = e2epv.PersistentVolumeConfig{ - NamePrefix: "vspherepv-", - Labels: volLabel, - PVSource: v1.PersistentVolumeSource{ - VsphereVolume: &v1.VsphereVirtualDiskVolumeSource{ - VolumePath: volumePath, - FSType: "ext4", - }, - }, - Prebind: nil, - } - emptyStorageClass := "" - pvcConfig = e2epv.PersistentVolumeClaimConfig{ - Selector: selector, - StorageClassName: &emptyStorageClass, - } - ginkgo.By("Creating the PV and PVC") - pv, pvc, err = e2epv.CreatePVPVC(ctx, c, f.Timeouts, pvConfig, pvcConfig, ns, false) - framework.ExpectNoError(err) - ginkgo.DeferCleanup(func() { - framework.ExpectNoError(e2epv.DeletePersistentVolume(ctx, c, pv.Name), "AfterEach: failed to delete PV ", pv.Name) - }) - ginkgo.DeferCleanup(func() { - framework.ExpectNoError(e2epv.DeletePersistentVolumeClaim(ctx, c, pvc.Name, ns), "AfterEach: failed to delete PVC ", pvc.Name) - }) - framework.ExpectNoError(e2epv.WaitOnPVandPVC(ctx, c, f.Timeouts, ns, pv, pvc)) - - ginkgo.By("Creating the Client Pod") - clientPod, err = e2epod.CreateClientPod(ctx, c, ns, pvc) - framework.ExpectNoError(err) - node = clientPod.Spec.NodeName - ginkgo.DeferCleanup(func() { - framework.ExpectNoError(e2epod.DeletePodWithWait(ctx, c, clientPod), "AfterEach: failed to delete pod ", clientPod.Name) - }) - ginkgo.DeferCleanup(func() { - framework.ExpectNoError(waitForVSphereDiskToDetach(ctx, volumePath, node), "wait for vsphere disk to detach") - }) - - ginkgo.By("Verify disk should be attached to the node") - isAttached, err := diskIsAttached(ctx, volumePath, node) - framework.ExpectNoError(err) - if !isAttached { - framework.Failf("Disk %s is not attached with the node", volumePath) - } - }) - - ginkgo.It("should test that deleting a PVC before the pod does not cause pod deletion to fail on vsphere volume detach", func(ctx context.Context) { - ginkgo.By("Deleting the Claim") - framework.ExpectNoError(e2epv.DeletePersistentVolumeClaim(ctx, c, pvc.Name, ns), "Failed to delete PVC ", pvc.Name) - pvc = nil - - ginkgo.By("Deleting the Pod") - framework.ExpectNoError(e2epod.DeletePodWithWait(ctx, c, clientPod), "Failed to delete pod ", clientPod.Name) - }) - - /* - Delete the PV and then the pod. Expect the pod to succeed in unmounting and detaching PD on delete. - - Test Steps: - 1. Delete PV. - 2. Delete POD, POD deletion should succeed. - */ - ginkgo.It("should test that deleting the PV before the pod does not cause pod deletion to fail on vsphere volume detach", func(ctx context.Context) { - ginkgo.By("Deleting the Persistent Volume") - framework.ExpectNoError(e2epv.DeletePersistentVolume(ctx, c, pv.Name), "Failed to delete PV ", pv.Name) - pv = nil - - ginkgo.By("Deleting the pod") - framework.ExpectNoError(e2epod.DeletePodWithWait(ctx, c, clientPod), "Failed to delete pod ", clientPod.Name) - }) - /* - This test verifies that a volume mounted to a pod remains mounted after a kubelet restarts. - Steps: - 1. Write to the volume - 2. Restart kubelet - 3. Verify that written file is accessible after kubelet restart - */ - f.It("should test that a file written to the vsphere volume mount before kubelet restart can be read after restart", f.WithDisruptive(), func(ctx context.Context) { - e2eskipper.SkipUnlessSSHKeyPresent() - utils.TestKubeletRestartsAndRestoresMount(ctx, c, f, clientPod, e2epod.VolumeMountPath1) - }) - - /* - This test verifies that a volume mounted to a pod that is deleted while the kubelet is down - unmounts volume when the kubelet returns. - - Steps: - 1. Verify volume is mounted on the node. - 2. Stop kubelet. - 3. Delete pod. - 4. Start kubelet. - 5. Verify that volume mount not to be found. - */ - f.It("should test that a vsphere volume mounted to a pod that is deleted while the kubelet is down unmounts when the kubelet returns", f.WithDisruptive(), func(ctx context.Context) { - e2eskipper.SkipUnlessSSHKeyPresent() - utils.TestVolumeUnmountsFromDeletedPod(ctx, c, f, clientPod, e2epod.VolumeMountPath1) - }) - - /* - This test verifies that deleting the Namespace of a PVC and Pod causes the successful detach of Persistent Disk - - Steps: - 1. Delete Namespace. - 2. Wait for namespace to get deleted. (Namespace deletion should trigger deletion of belonging pods) - 3. Verify volume should be detached from the node. - */ - ginkgo.It("should test that deleting the Namespace of a PVC and Pod causes the successful detach of vsphere volume", func(ctx context.Context) { - ginkgo.By("Deleting the Namespace") - err := c.CoreV1().Namespaces().Delete(ctx, ns, metav1.DeleteOptions{}) - framework.ExpectNoError(err) - - err = framework.WaitForNamespacesDeleted(ctx, c, []string{ns}, 3*time.Minute) - framework.ExpectNoError(err) - - ginkgo.By("Verifying Persistent Disk detaches") - err = waitForVSphereDiskToDetach(ctx, volumePath, node) - framework.ExpectNoError(err) - }) -}) diff --git a/test/e2e/storage/vsphere/pv_reclaimpolicy.go b/test/e2e/storage/vsphere/pv_reclaimpolicy.go deleted file mode 100644 index 5342cf29ccc..00000000000 --- a/test/e2e/storage/vsphere/pv_reclaimpolicy.go +++ /dev/null @@ -1,257 +0,0 @@ -/* -Copyright 2017 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vsphere - -import ( - "context" - "strconv" - "time" - - "github.com/onsi/ginkgo/v2" - v1 "k8s.io/api/core/v1" - apierrors "k8s.io/apimachinery/pkg/api/errors" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - clientset "k8s.io/client-go/kubernetes" - "k8s.io/kubernetes/test/e2e/feature" - "k8s.io/kubernetes/test/e2e/framework" - e2enode "k8s.io/kubernetes/test/e2e/framework/node" - e2epod "k8s.io/kubernetes/test/e2e/framework/pod" - e2epv "k8s.io/kubernetes/test/e2e/framework/pv" - e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" - "k8s.io/kubernetes/test/e2e/storage/utils" - admissionapi "k8s.io/pod-security-admission/api" -) - -var _ = utils.SIGDescribe("PersistentVolumes", feature.Vsphere, feature.ReclaimPolicy, func() { - f := framework.NewDefaultFramework("persistentvolumereclaim") - f.NamespacePodSecurityLevel = admissionapi.LevelPrivileged - var ( - c clientset.Interface - ns string - volumePath string - pv *v1.PersistentVolume - pvc *v1.PersistentVolumeClaim - nodeInfo *NodeInfo - ) - - ginkgo.BeforeEach(func(ctx context.Context) { - c = f.ClientSet - ns = f.Namespace.Name - framework.ExpectNoError(e2enode.WaitForAllNodesSchedulable(ctx, c, f.Timeouts.NodeSchedulable)) - }) - - f.Describe("persistentvolumereclaim:vsphere", feature.Vsphere, func() { - ginkgo.BeforeEach(func(ctx context.Context) { - e2eskipper.SkipUnlessProviderIs("vsphere") - ginkgo.DeferCleanup(testCleanupVSpherePersistentVolumeReclaim, c, nodeInfo, ns, volumePath, pv, pvc) - Bootstrap(f) - nodeInfo = GetReadySchedulableRandomNodeInfo(ctx, c) - pv = nil - pvc = nil - volumePath = "" - }) - - /* - This test verifies persistent volume should be deleted when reclaimPolicy on the PV is set to delete and - associated claim is deleted - - Test Steps: - 1. Create vmdk - 2. Create PV Spec with volume path set to VMDK file created in Step-1, and PersistentVolumeReclaimPolicy is set to Delete - 3. Create PVC with the storage request set to PV's storage capacity. - 4. Wait for PV and PVC to bound. - 5. Delete PVC - 6. Verify PV is deleted automatically. - */ - ginkgo.It("should delete persistent volume when reclaimPolicy set to delete and associated claim is deleted", func(ctx context.Context) { - var err error - volumePath, pv, pvc, err = testSetupVSpherePersistentVolumeReclaim(ctx, c, nodeInfo, ns, v1.PersistentVolumeReclaimDelete) - framework.ExpectNoError(err) - - deletePVCAfterBind(ctx, c, ns, pvc, pv, f.Timeouts) - pvc = nil - - ginkgo.By("verify pv is deleted") - err = e2epv.WaitForPersistentVolumeDeleted(ctx, c, pv.Name, 3*time.Second, 300*time.Second) - framework.ExpectNoError(err) - - pv = nil - volumePath = "" - }) - - /* - Test Steps: - 1. Create vmdk - 2. Create PV Spec with volume path set to VMDK file created in Step-1, and PersistentVolumeReclaimPolicy is set to Delete - 3. Create PVC with the storage request set to PV's storage capacity. - 4. Wait for PV and PVC to bound. - 5. Delete PVC. - 6. Verify volume is attached to the node and volume is accessible in the pod. - 7. Verify PV status should be failed. - 8. Delete the pod. - 9. Verify PV should be detached from the node and automatically deleted. - */ - ginkgo.It("should not detach and unmount PV when associated pvc with delete as reclaimPolicy is deleted when it is in use by the pod", func(ctx context.Context) { - var err error - - volumePath, pv, pvc, err = testSetupVSpherePersistentVolumeReclaim(ctx, c, nodeInfo, ns, v1.PersistentVolumeReclaimDelete) - framework.ExpectNoError(err) - // Wait for PV and PVC to Bind - framework.ExpectNoError(e2epv.WaitOnPVandPVC(ctx, c, f.Timeouts, ns, pv, pvc)) - - ginkgo.By("Creating the Pod") - pod, err := e2epod.CreateClientPod(ctx, c, ns, pvc) - framework.ExpectNoError(err) - - ginkgo.By("Deleting the Claim") - framework.ExpectNoError(e2epv.DeletePersistentVolumeClaim(ctx, c, pvc.Name, ns), "Failed to delete PVC ", pvc.Name) - pvc = nil - - // Verify PV is Present, after PVC is deleted and PV status should be Failed. - pv, err := c.CoreV1().PersistentVolumes().Get(ctx, pv.Name, metav1.GetOptions{}) - framework.ExpectNoError(err) - err = e2epv.WaitForPersistentVolumePhase(ctx, v1.VolumeFailed, c, pv.Name, 1*time.Second, 60*time.Second) - framework.ExpectNoError(err) - - ginkgo.By("Verify the volume is attached to the node") - isVolumeAttached, verifyDiskAttachedError := diskIsAttached(ctx, pv.Spec.VsphereVolume.VolumePath, pod.Spec.NodeName) - framework.ExpectNoError(verifyDiskAttachedError) - if !isVolumeAttached { - framework.Failf("Disk %s is not attached with the node %s", pv.Spec.VsphereVolume.VolumePath, pod.Spec.NodeName) - } - - ginkgo.By("Verify the volume is accessible and available in the pod") - verifyVSphereVolumesAccessible(ctx, c, pod, []*v1.PersistentVolume{pv}) - framework.Logf("Verified that Volume is accessible in the POD after deleting PV claim") - - ginkgo.By("Deleting the Pod") - framework.ExpectNoError(e2epod.DeletePodWithWait(ctx, c, pod), "Failed to delete pod ", pod.Name) - - ginkgo.By("Verify PV is detached from the node after Pod is deleted") - err = waitForVSphereDiskToDetach(ctx, pv.Spec.VsphereVolume.VolumePath, pod.Spec.NodeName) - framework.ExpectNoError(err) - - ginkgo.By("Verify PV should be deleted automatically") - framework.ExpectNoError(e2epv.WaitForPersistentVolumeDeleted(ctx, c, pv.Name, 1*time.Second, 30*time.Second)) - pv = nil - volumePath = "" - }) - - /* - This test Verify persistent volume should be retained when reclaimPolicy on the PV is set to retain - and associated claim is deleted - - Test Steps: - 1. Create vmdk - 2. Create PV Spec with volume path set to VMDK file created in Step-1, and PersistentVolumeReclaimPolicy is set to Retain - 3. Create PVC with the storage request set to PV's storage capacity. - 4. Wait for PV and PVC to bound. - 5. Write some content in the volume. - 6. Delete PVC - 7. Verify PV is retained. - 8. Delete retained PV. - 9. Create PV Spec with the same volume path used in step 2. - 10. Create PVC with the storage request set to PV's storage capacity. - 11. Created POD using PVC created in Step 10 and verify volume content is matching. - */ - - ginkgo.It("should retain persistent volume when reclaimPolicy set to retain when associated claim is deleted", func(ctx context.Context) { - var err error - var volumeFileContent = "hello from vsphere cloud provider, Random Content is :" + strconv.FormatInt(time.Now().UnixNano(), 10) - - volumePath, pv, pvc, err = testSetupVSpherePersistentVolumeReclaim(ctx, c, nodeInfo, ns, v1.PersistentVolumeReclaimRetain) - framework.ExpectNoError(err) - - writeContentToVSpherePV(ctx, c, f.Timeouts, pvc, volumeFileContent) - - ginkgo.By("Delete PVC") - framework.ExpectNoError(e2epv.DeletePersistentVolumeClaim(ctx, c, pvc.Name, ns), "Failed to delete PVC ", pvc.Name) - pvc = nil - - ginkgo.By("Verify PV is retained") - framework.Logf("Waiting for PV %v to become Released", pv.Name) - err = e2epv.WaitForPersistentVolumePhase(ctx, v1.VolumeReleased, c, pv.Name, 3*time.Second, 300*time.Second) - framework.ExpectNoError(err) - framework.ExpectNoError(e2epv.DeletePersistentVolume(ctx, c, pv.Name), "Failed to delete PV ", pv.Name) - - ginkgo.By("Creating the PV for same volume path") - pv = getVSpherePersistentVolumeSpec(volumePath, v1.PersistentVolumeReclaimRetain, nil) - pv, err = c.CoreV1().PersistentVolumes().Create(ctx, pv, metav1.CreateOptions{}) - framework.ExpectNoError(err) - - ginkgo.By("creating the pvc") - pvc = getVSpherePersistentVolumeClaimSpec(ns, nil) - pvc, err = c.CoreV1().PersistentVolumeClaims(ns).Create(ctx, pvc, metav1.CreateOptions{}) - framework.ExpectNoError(err) - - ginkgo.By("wait for the pv and pvc to bind") - framework.ExpectNoError(e2epv.WaitOnPVandPVC(ctx, c, f.Timeouts, ns, pv, pvc)) - verifyContentOfVSpherePV(ctx, c, f.Timeouts, pvc, volumeFileContent) - - }) - }) -}) - -// Test Setup for persistentvolumereclaim tests for vSphere Provider -func testSetupVSpherePersistentVolumeReclaim(ctx context.Context, c clientset.Interface, nodeInfo *NodeInfo, ns string, persistentVolumeReclaimPolicy v1.PersistentVolumeReclaimPolicy) (volumePath string, pv *v1.PersistentVolume, pvc *v1.PersistentVolumeClaim, err error) { - ginkgo.By("running testSetupVSpherePersistentVolumeReclaim") - ginkgo.By("creating vmdk") - volumePath, err = nodeInfo.VSphere.CreateVolume(&VolumeOptions{}, nodeInfo.DataCenterRef) - if err != nil { - return - } - ginkgo.By("creating the pv") - pv = getVSpherePersistentVolumeSpec(volumePath, persistentVolumeReclaimPolicy, nil) - pv, err = c.CoreV1().PersistentVolumes().Create(ctx, pv, metav1.CreateOptions{}) - if err != nil { - return - } - ginkgo.By("creating the pvc") - pvc = getVSpherePersistentVolumeClaimSpec(ns, nil) - pvc, err = c.CoreV1().PersistentVolumeClaims(ns).Create(ctx, pvc, metav1.CreateOptions{}) - return -} - -// Test Cleanup for persistentvolumereclaim tests for vSphere Provider -func testCleanupVSpherePersistentVolumeReclaim(ctx context.Context, c clientset.Interface, nodeInfo *NodeInfo, ns string, volumePath string, pv *v1.PersistentVolume, pvc *v1.PersistentVolumeClaim) { - ginkgo.By("running testCleanupVSpherePersistentVolumeReclaim") - if len(volumePath) > 0 { - err := nodeInfo.VSphere.DeleteVolume(volumePath, nodeInfo.DataCenterRef) - framework.ExpectNoError(err) - } - if pv != nil { - framework.ExpectNoError(e2epv.DeletePersistentVolume(ctx, c, pv.Name), "Failed to delete PV ", pv.Name) - } - if pvc != nil { - framework.ExpectNoError(e2epv.DeletePersistentVolumeClaim(ctx, c, pvc.Name, ns), "Failed to delete PVC ", pvc.Name) - } -} - -// func to wait until PV and PVC bind and once bind completes, delete the PVC -func deletePVCAfterBind(ctx context.Context, c clientset.Interface, ns string, pvc *v1.PersistentVolumeClaim, pv *v1.PersistentVolume, timeouts *framework.TimeoutContext) { - var err error - - ginkgo.By("wait for the pv and pvc to bind") - framework.ExpectNoError(e2epv.WaitOnPVandPVC(ctx, c, timeouts, ns, pv, pvc)) - - ginkgo.By("delete pvc") - framework.ExpectNoError(e2epv.DeletePersistentVolumeClaim(ctx, c, pvc.Name, ns), "Failed to delete PVC ", pvc.Name) - _, err = c.CoreV1().PersistentVolumeClaims(ns).Get(ctx, pvc.Name, metav1.GetOptions{}) - if !apierrors.IsNotFound(err) { - framework.ExpectNoError(err) - } -} diff --git a/test/e2e/storage/vsphere/pvc_label_selector.go b/test/e2e/storage/vsphere/pvc_label_selector.go deleted file mode 100644 index 2444c575953..00000000000 --- a/test/e2e/storage/vsphere/pvc_label_selector.go +++ /dev/null @@ -1,154 +0,0 @@ -/* -Copyright 2017 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vsphere - -import ( - "context" - "time" - - "github.com/onsi/ginkgo/v2" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - clientset "k8s.io/client-go/kubernetes" - "k8s.io/kubernetes/test/e2e/feature" - "k8s.io/kubernetes/test/e2e/framework" - e2enode "k8s.io/kubernetes/test/e2e/framework/node" - e2epv "k8s.io/kubernetes/test/e2e/framework/pv" - e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" - "k8s.io/kubernetes/test/e2e/storage/utils" - admissionapi "k8s.io/pod-security-admission/api" -) - -/* -This is a function test for Selector-Label Volume Binding Feature -Test verifies volume with the matching label is bounded with the PVC. - -Test Steps ----------- -1. Create VMDK. -2. Create pv with label volume-type:ssd, volume path set to vmdk created in previous step, and PersistentVolumeReclaimPolicy is set to Delete. -3. Create PVC (pvcVvol) with label selector to match with volume-type:vvol -4. Create PVC (pvcSsd) with label selector to match with volume-type:ssd -5. Wait and verify pvSsd is bound with PV. -6. Verify Status of pvcVvol is still pending. -7. Delete pvcSsd. -8. verify associated pv is also deleted. -9. delete pvcVvol -*/ -var _ = utils.SIGDescribe("PersistentVolumes", feature.Vsphere, feature.LabelSelector, func() { - f := framework.NewDefaultFramework("pvclabelselector") - f.NamespacePodSecurityLevel = admissionapi.LevelPrivileged - var ( - c clientset.Interface - ns string - pvSsd *v1.PersistentVolume - pvcSsd *v1.PersistentVolumeClaim - pvcVvol *v1.PersistentVolumeClaim - volumePath string - ssdlabels map[string]string - vvollabels map[string]string - err error - nodeInfo *NodeInfo - ) - ginkgo.BeforeEach(func(ctx context.Context) { - e2eskipper.SkipUnlessProviderIs("vsphere") - c = f.ClientSet - ns = f.Namespace.Name - Bootstrap(f) - nodeInfo = GetReadySchedulableRandomNodeInfo(ctx, c) - framework.ExpectNoError(e2enode.WaitForAllNodesSchedulable(ctx, c, f.Timeouts.NodeSchedulable)) - ssdlabels = make(map[string]string) - ssdlabels["volume-type"] = "ssd" - vvollabels = make(map[string]string) - vvollabels["volume-type"] = "vvol" - - }) - - f.Describe("Selector-Label Volume Binding:vsphere", feature.Vsphere, func() { - ginkgo.AfterEach(func(ctx context.Context) { - ginkgo.By("Running clean up actions") - if framework.ProviderIs("vsphere") { - testCleanupVSpherePVClabelselector(ctx, c, ns, nodeInfo, volumePath, pvSsd, pvcSsd, pvcVvol) - } - }) - ginkgo.It("should bind volume with claim for given label", func(ctx context.Context) { - volumePath, pvSsd, pvcSsd, pvcVvol, err = testSetupVSpherePVClabelselector(ctx, c, nodeInfo, ns, ssdlabels, vvollabels) - framework.ExpectNoError(err) - - ginkgo.By("wait for the pvcSsd to bind with pvSsd") - framework.ExpectNoError(e2epv.WaitOnPVandPVC(ctx, c, f.Timeouts, ns, pvSsd, pvcSsd)) - - ginkgo.By("Verify status of pvcVvol is pending") - err = e2epv.WaitForPersistentVolumeClaimPhase(ctx, v1.ClaimPending, c, ns, pvcVvol.Name, 3*time.Second, 300*time.Second) - framework.ExpectNoError(err) - - ginkgo.By("delete pvcSsd") - framework.ExpectNoError(e2epv.DeletePersistentVolumeClaim(ctx, c, pvcSsd.Name, ns), "Failed to delete PVC ", pvcSsd.Name) - - ginkgo.By("verify pvSsd is deleted") - err = e2epv.WaitForPersistentVolumeDeleted(ctx, c, pvSsd.Name, 3*time.Second, 300*time.Second) - framework.ExpectNoError(err) - volumePath = "" - - ginkgo.By("delete pvcVvol") - framework.ExpectNoError(e2epv.DeletePersistentVolumeClaim(ctx, c, pvcVvol.Name, ns), "Failed to delete PVC ", pvcVvol.Name) - }) - }) -}) - -func testSetupVSpherePVClabelselector(ctx context.Context, c clientset.Interface, nodeInfo *NodeInfo, ns string, ssdlabels map[string]string, vvollabels map[string]string) (volumePath string, pvSsd *v1.PersistentVolume, pvcSsd *v1.PersistentVolumeClaim, pvcVvol *v1.PersistentVolumeClaim, err error) { - ginkgo.By("creating vmdk") - volumePath, err = nodeInfo.VSphere.CreateVolume(&VolumeOptions{}, nodeInfo.DataCenterRef) - if err != nil { - return - } - - ginkgo.By("creating the pv with label volume-type:ssd") - pvSsd = getVSpherePersistentVolumeSpec(volumePath, v1.PersistentVolumeReclaimDelete, ssdlabels) - pvSsd, err = c.CoreV1().PersistentVolumes().Create(ctx, pvSsd, metav1.CreateOptions{}) - if err != nil { - return - } - - ginkgo.By("creating pvc with label selector to match with volume-type:vvol") - pvcVvol = getVSpherePersistentVolumeClaimSpec(ns, vvollabels) - pvcVvol, err = c.CoreV1().PersistentVolumeClaims(ns).Create(ctx, pvcVvol, metav1.CreateOptions{}) - if err != nil { - return - } - - ginkgo.By("creating pvc with label selector to match with volume-type:ssd") - pvcSsd = getVSpherePersistentVolumeClaimSpec(ns, ssdlabels) - pvcSsd, err = c.CoreV1().PersistentVolumeClaims(ns).Create(ctx, pvcSsd, metav1.CreateOptions{}) - return -} - -func testCleanupVSpherePVClabelselector(ctx context.Context, c clientset.Interface, ns string, nodeInfo *NodeInfo, volumePath string, pvSsd *v1.PersistentVolume, pvcSsd *v1.PersistentVolumeClaim, pvcVvol *v1.PersistentVolumeClaim) { - ginkgo.By("running testCleanupVSpherePVClabelselector") - if len(volumePath) > 0 { - nodeInfo.VSphere.DeleteVolume(volumePath, nodeInfo.DataCenterRef) - } - if pvcSsd != nil { - framework.ExpectNoError(e2epv.DeletePersistentVolumeClaim(ctx, c, pvcSsd.Name, ns), "Failed to delete PVC ", pvcSsd.Name) - } - if pvcVvol != nil { - framework.ExpectNoError(e2epv.DeletePersistentVolumeClaim(ctx, c, pvcVvol.Name, ns), "Failed to delete PVC ", pvcVvol.Name) - } - if pvSsd != nil { - framework.ExpectNoError(e2epv.DeletePersistentVolume(ctx, c, pvSsd.Name), "Failed to delete PV ", pvSsd.Name) - } -} diff --git a/test/e2e/storage/vsphere/vsphere.go b/test/e2e/storage/vsphere/vsphere.go deleted file mode 100644 index 39dff7e50b1..00000000000 --- a/test/e2e/storage/vsphere/vsphere.go +++ /dev/null @@ -1,269 +0,0 @@ -/* -Copyright 2018 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vsphere - -import ( - "context" - "fmt" - "path/filepath" - "strconv" - "strings" - "time" - - "github.com/vmware/govmomi" - "github.com/vmware/govmomi/find" - "github.com/vmware/govmomi/object" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" - "k8s.io/kubernetes/test/e2e/framework" -) - -const ( - volDir = "kubevols" - defaultDiskCapacityKB = 2097152 - defaultDiskFormat = "thin" - defaultSCSIControllerType = "lsiLogic" - virtualMachineType = "VirtualMachine" -) - -// VSphere represents a vSphere instance where one or more kubernetes nodes are running. -type VSphere struct { - Config *Config - Client *govmomi.Client -} - -// VolumeOptions specifies various options for a volume. -type VolumeOptions struct { - Name string - CapacityKB int - DiskFormat string - SCSIControllerType string - Datastore string -} - -// GetDatacenter returns the DataCenter Object for the given datacenterPath -func (vs *VSphere) GetDatacenter(ctx context.Context, datacenterPath string) (*object.Datacenter, error) { - Connect(ctx, vs) - finder := find.NewFinder(vs.Client.Client, false) - return finder.Datacenter(ctx, datacenterPath) -} - -// GetDatacenterFromObjectReference returns the DataCenter Object for the given datacenter reference -func (vs *VSphere) GetDatacenterFromObjectReference(ctx context.Context, dc object.Reference) *object.Datacenter { - Connect(ctx, vs) - return object.NewDatacenter(vs.Client.Client, dc.Reference()) -} - -// GetAllDatacenter returns all the DataCenter Objects -func (vs *VSphere) GetAllDatacenter(ctx context.Context) ([]*object.Datacenter, error) { - Connect(ctx, vs) - finder := find.NewFinder(vs.Client.Client, false) - return finder.DatacenterList(ctx, "*") -} - -// GetVMByUUID returns the VM object Reference from the given vmUUID -func (vs *VSphere) GetVMByUUID(ctx context.Context, vmUUID string, dc object.Reference) (object.Reference, error) { - Connect(ctx, vs) - datacenter := vs.GetDatacenterFromObjectReference(ctx, dc) - s := object.NewSearchIndex(vs.Client.Client) - vmUUID = strings.ToLower(strings.TrimSpace(vmUUID)) - return s.FindByUuid(ctx, datacenter, vmUUID, true, nil) -} - -// GetHostFromVMReference returns host object reference of the host on which the specified VM resides -func (vs *VSphere) GetHostFromVMReference(ctx context.Context, vm types.ManagedObjectReference) types.ManagedObjectReference { - Connect(ctx, vs) - var vmMo mo.VirtualMachine - vs.Client.RetrieveOne(ctx, vm, []string{"summary.runtime.host"}, &vmMo) - host := *vmMo.Summary.Runtime.Host - return host -} - -// GetDatastoresMountedOnHost returns the datastore references of all the datastores mounted on the specified host -func (vs *VSphere) GetDatastoresMountedOnHost(ctx context.Context, host types.ManagedObjectReference) []types.ManagedObjectReference { - Connect(ctx, vs) - var hostMo mo.HostSystem - vs.Client.RetrieveOne(ctx, host, []string{"datastore"}, &hostMo) - return hostMo.Datastore -} - -// GetDatastoreRefFromName returns the datastore reference of the specified datastore -func (vs *VSphere) GetDatastoreRefFromName(ctx context.Context, dc object.Reference, datastoreName string) (types.ManagedObjectReference, error) { - Connect(ctx, vs) - datacenter := object.NewDatacenter(vs.Client.Client, dc.Reference()) - finder := find.NewFinder(vs.Client.Client, false) - finder.SetDatacenter(datacenter) - datastore, err := finder.Datastore(ctx, datastoreName) - return datastore.Reference(), err -} - -// GetFolderByPath gets the Folder Object Reference from the given folder path -// folderPath should be the full path to folder -func (vs *VSphere) GetFolderByPath(ctx context.Context, dc object.Reference, folderPath string) (vmFolderMor types.ManagedObjectReference, err error) { - Connect(ctx, vs) - datacenter := object.NewDatacenter(vs.Client.Client, dc.Reference()) - finder := find.NewFinder(datacenter.Client(), false) - finder.SetDatacenter(datacenter) - vmFolder, err := finder.Folder(ctx, folderPath) - if err != nil { - framework.Logf("Failed to get the folder reference for %s. err: %+v", folderPath, err) - return vmFolderMor, err - } - return vmFolder.Reference(), nil -} - -// CreateVolume creates a vsphere volume using given volume parameters specified in VolumeOptions. -// If volume is created successfully the canonical disk path is returned else error is returned. -func (vs *VSphere) CreateVolume(volumeOptions *VolumeOptions, dataCenterRef types.ManagedObjectReference) (string, error) { - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - Connect(ctx, vs) - datacenter := object.NewDatacenter(vs.Client.Client, dataCenterRef) - var ( - err error - directoryAlreadyPresent = false - ) - if datacenter == nil { - return "", fmt.Errorf("datacenter is nil") - } - vs.initVolumeOptions(volumeOptions) - finder := find.NewFinder(datacenter.Client(), false) - finder.SetDatacenter(datacenter) - ds, err := finder.Datastore(ctx, volumeOptions.Datastore) - if err != nil { - return "", fmt.Errorf("Failed while searching for datastore: %s. err: %+v", volumeOptions.Datastore, err) - } - directoryPath := filepath.Clean(ds.Path(volDir)) + "/" - fileManager := object.NewFileManager(ds.Client()) - err = fileManager.MakeDirectory(ctx, directoryPath, datacenter, false) - if err != nil { - if soap.IsSoapFault(err) { - soapFault := soap.ToSoapFault(err) - if _, ok := soapFault.VimFault().(types.FileAlreadyExists); ok { - directoryAlreadyPresent = true - framework.Logf("Directory with the path %+q is already present", directoryPath) - } - } - if !directoryAlreadyPresent { - framework.Logf("Cannot create dir %#v. err %s", directoryPath, err) - return "", err - } - } - framework.Logf("Created dir with path as %+q", directoryPath) - vmdkPath := directoryPath + volumeOptions.Name + ".vmdk" - - // Create a virtual disk manager - vdm := object.NewVirtualDiskManager(ds.Client()) - // Create specification for new virtual disk - vmDiskSpec := &types.FileBackedVirtualDiskSpec{ - VirtualDiskSpec: types.VirtualDiskSpec{ - AdapterType: volumeOptions.SCSIControllerType, - DiskType: volumeOptions.DiskFormat, - }, - CapacityKb: int64(volumeOptions.CapacityKB), - } - // Create virtual disk - task, err := vdm.CreateVirtualDisk(ctx, vmdkPath, datacenter, vmDiskSpec) - if err != nil { - framework.Logf("Failed to create virtual disk: %s. err: %+v", vmdkPath, err) - return "", err - } - taskInfo, err := task.WaitForResult(ctx, nil) - if err != nil { - framework.Logf("Failed to complete virtual disk creation: %s. err: %+v", vmdkPath, err) - return "", err - } - volumePath := taskInfo.Result.(string) - canonicalDiskPath, err := getCanonicalVolumePath(ctx, datacenter, volumePath) - if err != nil { - return "", err - } - return canonicalDiskPath, nil -} - -// DeleteVolume deletes the vmdk file specified in the volumePath. -// if an error is encountered while deleting volume, error is returned. -func (vs *VSphere) DeleteVolume(volumePath string, dataCenterRef types.ManagedObjectReference) error { - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - Connect(ctx, vs) - - datacenter := object.NewDatacenter(vs.Client.Client, dataCenterRef) - virtualDiskManager := object.NewVirtualDiskManager(datacenter.Client()) - diskPath := removeStorageClusterORFolderNameFromVDiskPath(volumePath) - // Delete virtual disk - task, err := virtualDiskManager.DeleteVirtualDisk(ctx, diskPath, datacenter) - if err != nil { - framework.Logf("Failed to delete virtual disk. err: %v", err) - return err - } - err = task.Wait(ctx) - if err != nil { - framework.Logf("Failed to delete virtual disk. err: %v", err) - return err - } - return nil -} - -// IsVMPresent checks if VM with the name specified in the vmName argument, is present in the vCenter inventory. -// if VM is present, function returns true else false. -func (vs *VSphere) IsVMPresent(vmName string, dataCenterRef types.ManagedObjectReference) (isVMPresent bool, err error) { - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - Connect(ctx, vs) - folderMor, err := vs.GetFolderByPath(ctx, dataCenterRef, vs.Config.Folder) - if err != nil { - return - } - vmFolder := object.NewFolder(vs.Client.Client, folderMor) - vmFoldersChildren, err := vmFolder.Children(ctx) - if err != nil { - framework.Logf("Failed to get children from Folder: %s. err: %+v", vmFolder.InventoryPath, err) - return - } - for _, vmFoldersChild := range vmFoldersChildren { - if vmFoldersChild.Reference().Type == virtualMachineType { - if object.NewVirtualMachine(vs.Client.Client, vmFoldersChild.Reference()).Name() == vmName { - return true, nil - } - } - } - return -} - -// initVolumeOptions function sets default values for volumeOptions parameters if not set -func (vs *VSphere) initVolumeOptions(volumeOptions *VolumeOptions) { - if volumeOptions == nil { - volumeOptions = &VolumeOptions{} - } - if volumeOptions.Datastore == "" { - volumeOptions.Datastore = vs.Config.DefaultDatastore - } - if volumeOptions.CapacityKB == 0 { - volumeOptions.CapacityKB = defaultDiskCapacityKB - } - if volumeOptions.Name == "" { - volumeOptions.Name = "e2e-vmdk-" + strconv.FormatInt(time.Now().UnixNano(), 10) - } - if volumeOptions.DiskFormat == "" { - volumeOptions.DiskFormat = defaultDiskFormat - } - if volumeOptions.SCSIControllerType == "" { - volumeOptions.SCSIControllerType = defaultSCSIControllerType - } -} diff --git a/test/e2e/storage/vsphere/vsphere_common.go b/test/e2e/storage/vsphere/vsphere_common.go deleted file mode 100644 index bce83bee1ed..00000000000 --- a/test/e2e/storage/vsphere/vsphere_common.go +++ /dev/null @@ -1,129 +0,0 @@ -/* -Copyright 2017 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vsphere - -import ( - "os" - "strconv" - - "github.com/onsi/gomega" - "k8s.io/kubernetes/test/e2e/framework" -) - -// VSphereCSIMigrationEnabled is the environment variables to help -// determine test verification flow. -const VSphereCSIMigrationEnabled = "VSPHERE_CSI_MIGRATION_ENABLED" - -// environment variables related to datastore parameters -const ( - SPBMPolicyName = "VSPHERE_SPBM_POLICY_NAME" - StorageClassDatastoreName = "VSPHERE_DATASTORE" - SecondSharedDatastore = "VSPHERE_SECOND_SHARED_DATASTORE" - KubernetesClusterName = "VSPHERE_KUBERNETES_CLUSTER" - SPBMTagPolicy = "VSPHERE_SPBM_TAG_POLICY" - VCPClusterDatastore = "CLUSTER_DATASTORE" - SPBMPolicyDataStoreCluster = "VSPHERE_SPBM_POLICY_DS_CLUSTER" -) - -// environment variables used for scaling tests -const ( - VCPScaleVolumeCount = "VCP_SCALE_VOLUME_COUNT" - VCPScaleVolumesPerPod = "VCP_SCALE_VOLUME_PER_POD" - VCPScaleInstances = "VCP_SCALE_INSTANCES" -) - -// environment variables used for stress tests -const ( - VCPStressInstances = "VCP_STRESS_INSTANCES" - VCPStressIterations = "VCP_STRESS_ITERATIONS" -) - -// environment variables used for performance tests -const ( - VCPPerfVolumeCount = "VCP_PERF_VOLUME_COUNT" - VCPPerfVolumesPerPod = "VCP_PERF_VOLUME_PER_POD" - VCPPerfIterations = "VCP_PERF_ITERATIONS" -) - -// environment variables used for zone tests -const ( - VCPZoneVsanDatastore1 = "VCP_ZONE_VSANDATASTORE1" - VCPZoneVsanDatastore2 = "VCP_ZONE_VSANDATASTORE2" - VCPZoneLocalDatastore = "VCP_ZONE_LOCALDATASTORE" - VCPZoneCompatPolicyName = "VCP_ZONE_COMPATPOLICY_NAME" - VCPZoneNonCompatPolicyName = "VCP_ZONE_NONCOMPATPOLICY_NAME" - VCPZoneA = "VCP_ZONE_A" - VCPZoneB = "VCP_ZONE_B" - VCPZoneC = "VCP_ZONE_C" - VCPZoneD = "VCP_ZONE_D" - VCPInvalidZone = "VCP_INVALID_ZONE" -) - -// storage class parameters -const ( - Datastore = "datastore" - PolicyDiskStripes = "diskStripes" - PolicyHostFailuresToTolerate = "hostFailuresToTolerate" - PolicyCacheReservation = "cacheReservation" - PolicyObjectSpaceReservation = "objectSpaceReservation" - PolicyIopsLimit = "iopsLimit" - DiskFormat = "diskformat" - SpbmStoragePolicy = "storagepolicyname" -) - -// test values for storage class parameters -const ( - ThinDisk = "thin" - BronzeStoragePolicy = "bronze" - HostFailuresToTolerateCapabilityVal = "0" - CacheReservationCapabilityVal = "20" - DiskStripesCapabilityVal = "1" - ObjectSpaceReservationCapabilityVal = "30" - IopsLimitCapabilityVal = "100" - StripeWidthCapabilityVal = "2" - DiskStripesCapabilityInvalidVal = "14" - HostFailuresToTolerateCapabilityInvalidVal = "4" -) - -// GetAndExpectStringEnvVar returns the string value of an environment variable or fails if -// the variable is not set -func GetAndExpectStringEnvVar(varName string) string { - varValue := os.Getenv(varName) - gomega.Expect(varValue).NotTo(gomega.BeEmpty(), "ENV "+varName+" is not set") - return varValue -} - -// GetAndExpectIntEnvVar returns the integer value of an environment variable or fails if -// the variable is not set -func GetAndExpectIntEnvVar(varName string) int { - varValue := GetAndExpectStringEnvVar(varName) - varIntValue, err := strconv.Atoi(varValue) - framework.ExpectNoError(err, "Error Parsing "+varName) - return varIntValue -} - -// GetAndExpectBoolEnvVar returns the bool value of an environment variable -// if environment variable is not set return false -func GetAndExpectBoolEnvVar(varName string) bool { - varValue := os.Getenv(varName) - if varValue == "" { - return false - } - varBoolValue, err := strconv.ParseBool(varValue) - framework.ExpectNoError(err, "Error Parsing "+varName) - return varBoolValue -} diff --git a/test/e2e/storage/vsphere/vsphere_scale.go b/test/e2e/storage/vsphere/vsphere_scale.go deleted file mode 100644 index f21fda1ebf1..00000000000 --- a/test/e2e/storage/vsphere/vsphere_scale.go +++ /dev/null @@ -1,243 +0,0 @@ -/* -Copyright 2017 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vsphere - -import ( - "context" - "fmt" - "strconv" - - "github.com/onsi/ginkgo/v2" - "github.com/onsi/gomega" - v1 "k8s.io/api/core/v1" - storagev1 "k8s.io/api/storage/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - clientset "k8s.io/client-go/kubernetes" - "k8s.io/kubernetes/test/e2e/feature" - "k8s.io/kubernetes/test/e2e/framework" - e2enode "k8s.io/kubernetes/test/e2e/framework/node" - e2epod "k8s.io/kubernetes/test/e2e/framework/pod" - e2epv "k8s.io/kubernetes/test/e2e/framework/pv" - e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" - "k8s.io/kubernetes/test/e2e/storage/utils" - admissionapi "k8s.io/pod-security-admission/api" -) - -/* -Perform vsphere volume life cycle management at scale based on user configurable value for number of volumes. -The following actions will be performed as part of this test. - -1. Create Storage Classes of 4 Categories (Default, SC with Non Default Datastore, SC with SPBM Policy, SC with VSAN Storage Capabilities.) -2. Read VCP_SCALE_VOLUME_COUNT, VCP_SCALE_INSTANCES, VCP_SCALE_VOLUMES_PER_POD, VSPHERE_SPBM_POLICY_NAME, VSPHERE_DATASTORE from System Environment. -3. Launch VCP_SCALE_INSTANCES goroutine for creating VCP_SCALE_VOLUME_COUNT volumes. Each goroutine is responsible for create/attach of VCP_SCALE_VOLUME_COUNT/VCP_SCALE_INSTANCES volumes. -4. Read VCP_SCALE_VOLUMES_PER_POD from System Environment. Each pod will be have VCP_SCALE_VOLUMES_PER_POD attached to it. -5. Once all the go routines are completed, we delete all the pods and volumes. -*/ -const ( - NodeLabelKey = "vsphere_e2e_label" -) - -// NodeSelector holds -type NodeSelector struct { - labelKey string - labelValue string -} - -var _ = utils.SIGDescribe("vcp at scale", feature.Vsphere, func() { - f := framework.NewDefaultFramework("vcp-at-scale") - f.NamespacePodSecurityLevel = admissionapi.LevelPrivileged - - var ( - client clientset.Interface - namespace string - nodeSelectorList []*NodeSelector - volumeCount int - numberOfInstances int - volumesPerPod int - policyName string - datastoreName string - nodeVolumeMapChan chan map[string][]string - nodes *v1.NodeList - scNames = []string{storageclass1, storageclass2, storageclass3, storageclass4} - ) - - ginkgo.BeforeEach(func(ctx context.Context) { - e2eskipper.SkipUnlessProviderIs("vsphere") - Bootstrap(f) - client = f.ClientSet - namespace = f.Namespace.Name - nodeVolumeMapChan = make(chan map[string][]string) - - // Read the environment variables - volumeCount = GetAndExpectIntEnvVar(VCPScaleVolumeCount) - volumesPerPod = GetAndExpectIntEnvVar(VCPScaleVolumesPerPod) - - numberOfInstances = GetAndExpectIntEnvVar(VCPScaleInstances) - if numberOfInstances > 5 { - framework.Failf("Maximum 5 instances allowed, got instead: %v", numberOfInstances) - } - if numberOfInstances > volumeCount { - framework.Failf("Number of instances: %v cannot be greater than volume count: %v", numberOfInstances, volumeCount) - } - - policyName = GetAndExpectStringEnvVar(SPBMPolicyName) - datastoreName = GetAndExpectStringEnvVar(StorageClassDatastoreName) - - var err error - nodes, err = e2enode.GetReadySchedulableNodes(ctx, client) - framework.ExpectNoError(err) - if len(nodes.Items) < 2 { - e2eskipper.Skipf("Requires at least %d nodes (not %d)", 2, len(nodes.Items)) - } - // Verify volume count specified by the user can be satisfied - if volumeCount > volumesPerNode*len(nodes.Items) { - e2eskipper.Skipf("Cannot attach %d volumes to %d nodes. Maximum volumes that can be attached on %d nodes is %d", volumeCount, len(nodes.Items), len(nodes.Items), volumesPerNode*len(nodes.Items)) - } - nodeSelectorList = createNodeLabels(client, namespace, nodes) - ginkgo.DeferCleanup(func() { - for _, node := range nodes.Items { - e2enode.RemoveLabelOffNode(client, node.Name, NodeLabelKey) - } - }) - }) - - ginkgo.It("vsphere scale tests", func(ctx context.Context) { - var pvcClaimList []string - nodeVolumeMap := make(map[string][]string) - // Volumes will be provisioned with each different types of Storage Class - scArrays := make([]*storagev1.StorageClass, len(scNames)) - for index, scname := range scNames { - // Create vSphere Storage Class - ginkgo.By(fmt.Sprintf("Creating Storage Class : %q", scname)) - var sc *storagev1.StorageClass - scParams := make(map[string]string) - var err error - switch scname { - case storageclass1: - scParams = nil - case storageclass2: - scParams[PolicyHostFailuresToTolerate] = "1" - case storageclass3: - scParams[SpbmStoragePolicy] = policyName - case storageclass4: - scParams[Datastore] = datastoreName - } - sc, err = client.StorageV1().StorageClasses().Create(ctx, getVSphereStorageClassSpec(scname, scParams, nil, ""), metav1.CreateOptions{}) - gomega.Expect(sc).NotTo(gomega.BeNil(), "Storage class is empty") - framework.ExpectNoError(err, "Failed to create storage class") - ginkgo.DeferCleanup(client.StorageV1().StorageClasses().Delete, scname, metav1.DeleteOptions{}) - scArrays[index] = sc - } - - volumeCountPerInstance := volumeCount / numberOfInstances - for instanceCount := 0; instanceCount < numberOfInstances; instanceCount++ { - if instanceCount == numberOfInstances-1 { - volumeCountPerInstance = volumeCount - } - volumeCount = volumeCount - volumeCountPerInstance - go VolumeCreateAndAttach(ctx, f, scArrays, volumeCountPerInstance, volumesPerPod, nodeSelectorList, nodeVolumeMapChan) - } - - // Get the list of all volumes attached to each node from the go routines by reading the data from the channel - for instanceCount := 0; instanceCount < numberOfInstances; instanceCount++ { - for node, volumeList := range <-nodeVolumeMapChan { - nodeVolumeMap[node] = append(nodeVolumeMap[node], volumeList...) - } - } - podList, err := client.CoreV1().Pods(namespace).List(ctx, metav1.ListOptions{}) - framework.ExpectNoError(err, "Failed to list pods") - for _, pod := range podList.Items { - pvcClaimList = append(pvcClaimList, getClaimsForPod(&pod, volumesPerPod)...) - ginkgo.By("Deleting pod") - err = e2epod.DeletePodWithWait(ctx, client, &pod) - framework.ExpectNoError(err) - } - ginkgo.By("Waiting for volumes to be detached from the node") - err = waitForVSphereDisksToDetach(ctx, nodeVolumeMap) - framework.ExpectNoError(err) - - for _, pvcClaim := range pvcClaimList { - err = e2epv.DeletePersistentVolumeClaim(ctx, client, pvcClaim, namespace) - framework.ExpectNoError(err) - } - }) -}) - -// Get PVC claims for the pod -func getClaimsForPod(pod *v1.Pod, volumesPerPod int) []string { - pvcClaimList := make([]string, volumesPerPod) - for i, volumespec := range pod.Spec.Volumes { - if volumespec.PersistentVolumeClaim != nil { - pvcClaimList[i] = volumespec.PersistentVolumeClaim.ClaimName - } - } - return pvcClaimList -} - -// VolumeCreateAndAttach peforms create and attach operations of vSphere persistent volumes at scale -func VolumeCreateAndAttach(ctx context.Context, f *framework.Framework, sc []*storagev1.StorageClass, volumeCountPerInstance int, volumesPerPod int, nodeSelectorList []*NodeSelector, nodeVolumeMapChan chan map[string][]string) { - defer ginkgo.GinkgoRecover() - client := f.ClientSet - namespace := f.Namespace.Name - nodeVolumeMap := make(map[string][]string) - nodeSelectorIndex := 0 - for index := 0; index < volumeCountPerInstance; index = index + volumesPerPod { - if (volumeCountPerInstance - index) < volumesPerPod { - volumesPerPod = volumeCountPerInstance - index - } - pvclaims := make([]*v1.PersistentVolumeClaim, volumesPerPod) - for i := 0; i < volumesPerPod; i++ { - ginkgo.By("Creating PVC using the Storage Class") - pvclaim, err := e2epv.CreatePVC(ctx, client, namespace, getVSphereClaimSpecWithStorageClass(namespace, "2Gi", sc[index%len(sc)])) - framework.ExpectNoError(err) - pvclaims[i] = pvclaim - } - - ginkgo.By("Waiting for claim to be in bound phase") - persistentvolumes, err := e2epv.WaitForPVClaimBoundPhase(ctx, client, pvclaims, f.Timeouts.ClaimProvision) - framework.ExpectNoError(err) - - ginkgo.By("Creating pod to attach PV to the node") - nodeSelector := nodeSelectorList[nodeSelectorIndex%len(nodeSelectorList)] - // Create pod to attach Volume to Node - pod, err := e2epod.CreatePod(ctx, client, namespace, map[string]string{nodeSelector.labelKey: nodeSelector.labelValue}, pvclaims, f.NamespacePodSecurityLevel, "") - framework.ExpectNoError(err) - - for _, pv := range persistentvolumes { - nodeVolumeMap[pod.Spec.NodeName] = append(nodeVolumeMap[pod.Spec.NodeName], pv.Spec.VsphereVolume.VolumePath) - } - ginkgo.By("Verify the volume is accessible and available in the pod") - verifyVSphereVolumesAccessible(ctx, client, pod, persistentvolumes) - nodeSelectorIndex++ - } - nodeVolumeMapChan <- nodeVolumeMap - close(nodeVolumeMapChan) -} - -func createNodeLabels(client clientset.Interface, namespace string, nodes *v1.NodeList) []*NodeSelector { - var nodeSelectorList []*NodeSelector - for i, node := range nodes.Items { - labelVal := "vsphere_e2e_" + strconv.Itoa(i) - nodeSelector := &NodeSelector{ - labelKey: NodeLabelKey, - labelValue: labelVal, - } - nodeSelectorList = append(nodeSelectorList, nodeSelector) - e2enode.AddOrUpdateLabelOnNode(client, node.Name, NodeLabelKey, labelVal) - } - return nodeSelectorList -} diff --git a/test/e2e/storage/vsphere/vsphere_statefulsets.go b/test/e2e/storage/vsphere/vsphere_statefulsets.go deleted file mode 100644 index 9929315f3e5..00000000000 --- a/test/e2e/storage/vsphere/vsphere_statefulsets.go +++ /dev/null @@ -1,164 +0,0 @@ -/* -Copyright 2017 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vsphere - -import ( - "context" - "fmt" - - "github.com/onsi/ginkgo/v2" - "github.com/onsi/gomega" - apierrors "k8s.io/apimachinery/pkg/api/errors" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - clientset "k8s.io/client-go/kubernetes" - "k8s.io/kubernetes/test/e2e/feature" - "k8s.io/kubernetes/test/e2e/framework" - e2epod "k8s.io/kubernetes/test/e2e/framework/pod" - e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" - e2estatefulset "k8s.io/kubernetes/test/e2e/framework/statefulset" - "k8s.io/kubernetes/test/e2e/storage/utils" - admissionapi "k8s.io/pod-security-admission/api" -) - -/* - Test performs following operations - - Steps - 1. Create a storage class with thin diskformat. - 2. Create nginx service. - 3. Create nginx statefulsets with 3 replicas. - 4. Wait until all Pods are ready and PVCs are bounded with PV. - 5. Verify volumes are accessible in all statefulsets pods with creating empty file. - 6. Scale down statefulsets to 2 replicas. - 7. Scale up statefulsets to 4 replicas. - 8. Scale down statefulsets to 0 replicas and delete all pods. - 9. Delete all PVCs from the test namespace. - 10. Delete the storage class. -*/ - -const ( - manifestPath = "test/e2e/testing-manifests/statefulset/nginx" - mountPath = "/usr/share/nginx/html" - storageclassname = "nginx-sc" -) - -var _ = utils.SIGDescribe("vsphere statefulset", feature.Vsphere, func() { - f := framework.NewDefaultFramework("vsphere-statefulset") - f.NamespacePodSecurityLevel = admissionapi.LevelPrivileged - var ( - namespace string - client clientset.Interface - ) - ginkgo.BeforeEach(func() { - e2eskipper.SkipUnlessProviderIs("vsphere") - namespace = f.Namespace.Name - client = f.ClientSet - Bootstrap(f) - }) - - ginkgo.It("vsphere statefulset testing", func(ctx context.Context) { - ginkgo.By("Creating StorageClass for Statefulset") - scParameters := make(map[string]string) - scParameters["diskformat"] = "thin" - scSpec := getVSphereStorageClassSpec(storageclassname, scParameters, nil, "") - sc, err := client.StorageV1().StorageClasses().Create(ctx, scSpec, metav1.CreateOptions{}) - framework.ExpectNoError(err) - ginkgo.DeferCleanup(framework.IgnoreNotFound(client.StorageV1().StorageClasses().Delete), sc.Name, metav1.DeleteOptions{}) - - ginkgo.By("Creating statefulset") - - statefulset := e2estatefulset.CreateStatefulSet(ctx, client, manifestPath, namespace) - ginkgo.DeferCleanup(e2estatefulset.DeleteAllStatefulSets, client, namespace) - replicas := *(statefulset.Spec.Replicas) - // Waiting for pods status to be Ready - e2estatefulset.WaitForStatusReadyReplicas(ctx, client, statefulset, replicas) - framework.ExpectNoError(e2estatefulset.CheckMount(ctx, client, statefulset, mountPath)) - ssPodsBeforeScaleDown := e2estatefulset.GetPodList(ctx, client, statefulset) - gomega.Expect(ssPodsBeforeScaleDown.Items).NotTo(gomega.BeEmpty(), fmt.Sprintf("Unable to get list of Pods from the Statefulset: %v", statefulset.Name)) - gomega.Expect(ssPodsBeforeScaleDown.Items).To(gomega.HaveLen(int(replicas)), "Number of Pods in the statefulset should match with number of replicas") - - // Get the list of Volumes attached to Pods before scale down - volumesBeforeScaleDown := make(map[string]string) - for _, sspod := range ssPodsBeforeScaleDown.Items { - _, err := client.CoreV1().Pods(namespace).Get(ctx, sspod.Name, metav1.GetOptions{}) - framework.ExpectNoError(err) - for _, volumespec := range sspod.Spec.Volumes { - if volumespec.PersistentVolumeClaim != nil { - volumePath := getvSphereVolumePathFromClaim(ctx, client, statefulset.Namespace, volumespec.PersistentVolumeClaim.ClaimName) - volumesBeforeScaleDown[volumePath] = volumespec.PersistentVolumeClaim.ClaimName - } - } - } - - ginkgo.By(fmt.Sprintf("Scaling down statefulsets to number of Replica: %v", replicas-1)) - _, scaledownErr := e2estatefulset.Scale(ctx, client, statefulset, replicas-1) - framework.ExpectNoError(scaledownErr) - e2estatefulset.WaitForStatusReadyReplicas(ctx, client, statefulset, replicas-1) - - // After scale down, verify vsphere volumes are detached from deleted pods - ginkgo.By("Verify Volumes are detached from Nodes after Statefulsets is scaled down") - for _, sspod := range ssPodsBeforeScaleDown.Items { - _, err := client.CoreV1().Pods(namespace).Get(ctx, sspod.Name, metav1.GetOptions{}) - if err != nil { - if !apierrors.IsNotFound(err) { - framework.Failf("Error in getting Pod %s: %v", sspod.Name, err) - } - for _, volumespec := range sspod.Spec.Volumes { - if volumespec.PersistentVolumeClaim != nil { - vSpherediskPath := getvSphereVolumePathFromClaim(ctx, client, statefulset.Namespace, volumespec.PersistentVolumeClaim.ClaimName) - framework.Logf("Waiting for Volume: %q to detach from Node: %q", vSpherediskPath, sspod.Spec.NodeName) - framework.ExpectNoError(waitForVSphereDiskToDetach(ctx, vSpherediskPath, sspod.Spec.NodeName)) - } - } - } - } - - ginkgo.By(fmt.Sprintf("Scaling up statefulsets to number of Replica: %v", replicas)) - _, scaleupErr := e2estatefulset.Scale(ctx, client, statefulset, replicas) - framework.ExpectNoError(scaleupErr) - e2estatefulset.WaitForStatusReplicas(ctx, client, statefulset, replicas) - e2estatefulset.WaitForStatusReadyReplicas(ctx, client, statefulset, replicas) - - ssPodsAfterScaleUp := e2estatefulset.GetPodList(ctx, client, statefulset) - gomega.Expect(ssPodsAfterScaleUp.Items).NotTo(gomega.BeEmpty(), fmt.Sprintf("Unable to get list of Pods from the Statefulset: %v", statefulset.Name)) - gomega.Expect(ssPodsAfterScaleUp.Items).To(gomega.HaveLen(int(replicas)), "Number of Pods in the statefulset should match with number of replicas") - - // After scale up, verify all vsphere volumes are attached to node VMs. - ginkgo.By("Verify all volumes are attached to Nodes after Statefulsets is scaled up") - for _, sspod := range ssPodsAfterScaleUp.Items { - err := e2epod.WaitTimeoutForPodReadyInNamespace(ctx, client, sspod.Name, statefulset.Namespace, framework.PodStartTimeout) - framework.ExpectNoError(err) - pod, err := client.CoreV1().Pods(namespace).Get(ctx, sspod.Name, metav1.GetOptions{}) - framework.ExpectNoError(err) - for _, volumespec := range pod.Spec.Volumes { - if volumespec.PersistentVolumeClaim != nil { - vSpherediskPath := getvSphereVolumePathFromClaim(ctx, client, statefulset.Namespace, volumespec.PersistentVolumeClaim.ClaimName) - framework.Logf("Verify Volume: %q is attached to the Node: %q", vSpherediskPath, sspod.Spec.NodeName) - // Verify scale up has re-attached the same volumes and not introduced new volume - if volumesBeforeScaleDown[vSpherediskPath] == "" { - framework.Failf("Volume: %q was not attached to the Node: %q before scale down", vSpherediskPath, sspod.Spec.NodeName) - } - isVolumeAttached, verifyDiskAttachedError := diskIsAttached(ctx, vSpherediskPath, sspod.Spec.NodeName) - if !isVolumeAttached { - framework.Failf("Volume: %q is not attached to the Node: %q", vSpherediskPath, sspod.Spec.NodeName) - } - framework.ExpectNoError(verifyDiskAttachedError) - } - } - } - }) -}) diff --git a/test/e2e/storage/vsphere/vsphere_stress.go b/test/e2e/storage/vsphere/vsphere_stress.go deleted file mode 100644 index 2083a290eb1..00000000000 --- a/test/e2e/storage/vsphere/vsphere_stress.go +++ /dev/null @@ -1,190 +0,0 @@ -/* -Copyright 2017 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vsphere - -import ( - "context" - "fmt" - "sync" - - "github.com/onsi/ginkgo/v2" - "github.com/onsi/gomega" - v1 "k8s.io/api/core/v1" - storagev1 "k8s.io/api/storage/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - clientset "k8s.io/client-go/kubernetes" - "k8s.io/kubernetes/test/e2e/feature" - "k8s.io/kubernetes/test/e2e/framework" - e2enode "k8s.io/kubernetes/test/e2e/framework/node" - e2epod "k8s.io/kubernetes/test/e2e/framework/pod" - e2epv "k8s.io/kubernetes/test/e2e/framework/pv" - e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" - "k8s.io/kubernetes/test/e2e/storage/utils" - admissionapi "k8s.io/pod-security-admission/api" -) - -/* -Induce stress to create volumes in parallel with multiple threads based on user configurable values for number of threads and iterations per thread. -The following actions will be performed as part of this test. - -1. Create Storage Classes of 4 Categories (Default, SC with Non Default Datastore, SC with SPBM Policy, SC with VSAN Storage Capabilities.) -2. READ VCP_STRESS_INSTANCES, VCP_STRESS_ITERATIONS, VSPHERE_SPBM_POLICY_NAME and VSPHERE_DATASTORE from System Environment. -3. Launch goroutine for volume lifecycle operations. -4. Each instance of routine iterates for n times, where n is read from system env - VCP_STRESS_ITERATIONS -5. Each iteration creates 1 PVC, 1 POD using the provisioned PV, Verify disk is attached to the node, Verify pod can access the volume, delete the pod and finally delete the PVC. -*/ -var _ = utils.SIGDescribe("vsphere cloud provider stress", feature.Vsphere, func() { - f := framework.NewDefaultFramework("vcp-stress") - f.NamespacePodSecurityLevel = admissionapi.LevelPrivileged - var ( - client clientset.Interface - namespace string - instances int - iterations int - policyName string - datastoreName string - scNames = []string{storageclass1, storageclass2, storageclass3, storageclass4} - ) - - ginkgo.BeforeEach(func(ctx context.Context) { - e2eskipper.SkipUnlessProviderIs("vsphere") - Bootstrap(f) - client = f.ClientSet - namespace = f.Namespace.Name - - nodeList, err := e2enode.GetReadySchedulableNodes(ctx, f.ClientSet) - framework.ExpectNoError(err) - - // if VCP_STRESS_INSTANCES = 12 and VCP_STRESS_ITERATIONS is 10. 12 threads will run in parallel for 10 times. - // Resulting 120 Volumes and POD Creation. Volumes will be provisioned with each different types of Storage Class, - // Each iteration creates PVC, verify PV is provisioned, then creates a pod, verify volume is attached to the node, and then delete the pod and delete pvc. - instances = GetAndExpectIntEnvVar(VCPStressInstances) - if instances > volumesPerNode*len(nodeList.Items) { - framework.Failf("Number of Instances should be less or equal: %v, got instead %v", volumesPerNode*len(nodeList.Items), instances) - } - if instances <= len(scNames) { - framework.Failf("VCP_STRESS_INSTANCES should be greater than 3 to utilize all 4 types of storage classes, got instead %v", instances) - } - - iterations = GetAndExpectIntEnvVar(VCPStressIterations) - if iterations <= 0 { - framework.Failf("VCP_STRESS_ITERATIONS should be greater than 0, got instead %v", iterations) - } - - policyName = GetAndExpectStringEnvVar(SPBMPolicyName) - datastoreName = GetAndExpectStringEnvVar(StorageClassDatastoreName) - }) - - ginkgo.It("vsphere stress tests", func(ctx context.Context) { - scArrays := make([]*storagev1.StorageClass, len(scNames)) - for index, scname := range scNames { - // Create vSphere Storage Class - ginkgo.By(fmt.Sprintf("Creating Storage Class : %v", scname)) - var sc *storagev1.StorageClass - var err error - switch scname { - case storageclass1: - sc, err = client.StorageV1().StorageClasses().Create(ctx, getVSphereStorageClassSpec(storageclass1, nil, nil, ""), metav1.CreateOptions{}) - case storageclass2: - var scVSanParameters map[string]string - scVSanParameters = make(map[string]string) - scVSanParameters[PolicyHostFailuresToTolerate] = "1" - sc, err = client.StorageV1().StorageClasses().Create(ctx, getVSphereStorageClassSpec(storageclass2, scVSanParameters, nil, ""), metav1.CreateOptions{}) - case storageclass3: - var scSPBMPolicyParameters map[string]string - scSPBMPolicyParameters = make(map[string]string) - scSPBMPolicyParameters[SpbmStoragePolicy] = policyName - sc, err = client.StorageV1().StorageClasses().Create(ctx, getVSphereStorageClassSpec(storageclass3, scSPBMPolicyParameters, nil, ""), metav1.CreateOptions{}) - case storageclass4: - var scWithDSParameters map[string]string - scWithDSParameters = make(map[string]string) - scWithDSParameters[Datastore] = datastoreName - scWithDatastoreSpec := getVSphereStorageClassSpec(storageclass4, scWithDSParameters, nil, "") - sc, err = client.StorageV1().StorageClasses().Create(ctx, scWithDatastoreSpec, metav1.CreateOptions{}) - } - gomega.Expect(sc).NotTo(gomega.BeNil()) - framework.ExpectNoError(err) - ginkgo.DeferCleanup(framework.IgnoreNotFound(client.StorageV1().StorageClasses().Delete), scname, metav1.DeleteOptions{}) - scArrays[index] = sc - } - - var wg sync.WaitGroup - wg.Add(instances) - for instanceCount := 0; instanceCount < instances; instanceCount++ { - instanceID := fmt.Sprintf("Thread:%v", instanceCount+1) - go PerformVolumeLifeCycleInParallel(ctx, f, client, namespace, instanceID, scArrays[instanceCount%len(scArrays)], iterations, &wg) - } - wg.Wait() - }) - -}) - -// PerformVolumeLifeCycleInParallel performs volume lifecycle operations -// Called as a go routine to perform operations in parallel -func PerformVolumeLifeCycleInParallel(ctx context.Context, f *framework.Framework, client clientset.Interface, namespace string, instanceID string, sc *storagev1.StorageClass, iterations int, wg *sync.WaitGroup) { - defer wg.Done() - defer ginkgo.GinkgoRecover() - - for iterationCount := 0; iterationCount < iterations; iterationCount++ { - logPrefix := fmt.Sprintf("Instance: [%v], Iteration: [%v] :", instanceID, iterationCount+1) - ginkgo.By(fmt.Sprintf("%v Creating PVC using the Storage Class: %v", logPrefix, sc.Name)) - pvclaim, err := e2epv.CreatePVC(ctx, client, namespace, getVSphereClaimSpecWithStorageClass(namespace, "1Gi", sc)) - framework.ExpectNoError(err) - ginkgo.DeferCleanup(e2epv.DeletePersistentVolumeClaim, client, pvclaim.Name, namespace) - - var pvclaims []*v1.PersistentVolumeClaim - pvclaims = append(pvclaims, pvclaim) - ginkgo.By(fmt.Sprintf("%v Waiting for claim: %v to be in bound phase", logPrefix, pvclaim.Name)) - persistentvolumes, err := e2epv.WaitForPVClaimBoundPhase(ctx, client, pvclaims, f.Timeouts.ClaimProvision) - framework.ExpectNoError(err) - - ginkgo.By(fmt.Sprintf("%v Creating Pod using the claim: %v", logPrefix, pvclaim.Name)) - // Create pod to attach Volume to Node - pod, err := e2epod.CreatePod(ctx, client, namespace, nil, pvclaims, f.NamespacePodSecurityLevel, "") - framework.ExpectNoError(err) - - ginkgo.By(fmt.Sprintf("%v Waiting for the Pod: %v to be in the running state", logPrefix, pod.Name)) - err = e2epod.WaitTimeoutForPodRunningInNamespace(ctx, f.ClientSet, pod.Name, f.Namespace.Name, f.Timeouts.PodStartSlow) - framework.ExpectNoError(err) - - // Get the copy of the Pod to know the assigned node name. - pod, err = client.CoreV1().Pods(namespace).Get(ctx, pod.Name, metav1.GetOptions{}) - framework.ExpectNoError(err) - - ginkgo.By(fmt.Sprintf("%v Verifying the volume: %v is attached to the node VM: %v", logPrefix, persistentvolumes[0].Spec.VsphereVolume.VolumePath, pod.Spec.NodeName)) - isVolumeAttached, verifyDiskAttachedError := diskIsAttached(ctx, persistentvolumes[0].Spec.VsphereVolume.VolumePath, pod.Spec.NodeName) - if !isVolumeAttached { - framework.Failf("Volume: %s is not attached to the node: %v", persistentvolumes[0].Spec.VsphereVolume.VolumePath, pod.Spec.NodeName) - } - framework.ExpectNoError(verifyDiskAttachedError) - - ginkgo.By(fmt.Sprintf("%v Verifying the volume: %v is accessible in the pod: %v", logPrefix, persistentvolumes[0].Spec.VsphereVolume.VolumePath, pod.Name)) - verifyVSphereVolumesAccessible(ctx, client, pod, persistentvolumes) - - ginkgo.By(fmt.Sprintf("%v Deleting pod: %v", logPrefix, pod.Name)) - err = e2epod.DeletePodWithWait(ctx, client, pod) - framework.ExpectNoError(err) - - ginkgo.By(fmt.Sprintf("%v Waiting for volume: %v to be detached from the node: %v", logPrefix, persistentvolumes[0].Spec.VsphereVolume.VolumePath, pod.Spec.NodeName)) - err = waitForVSphereDiskToDetach(ctx, persistentvolumes[0].Spec.VsphereVolume.VolumePath, pod.Spec.NodeName) - framework.ExpectNoError(err) - - ginkgo.By(fmt.Sprintf("%v Deleting the Claim: %v", logPrefix, pvclaim.Name)) - err = e2epv.DeletePersistentVolumeClaim(ctx, client, pvclaim.Name, namespace) - framework.ExpectNoError(err) - } -} diff --git a/test/e2e/storage/vsphere/vsphere_utils.go b/test/e2e/storage/vsphere/vsphere_utils.go deleted file mode 100644 index 3752f1eba24..00000000000 --- a/test/e2e/storage/vsphere/vsphere_utils.go +++ /dev/null @@ -1,848 +0,0 @@ -/* -Copyright 2017 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vsphere - -import ( - "context" - "fmt" - "path/filepath" - "regexp" - "strings" - "time" - - "github.com/onsi/ginkgo/v2" - "github.com/onsi/gomega" - "github.com/vmware/govmomi/find" - "github.com/vmware/govmomi/object" - "github.com/vmware/govmomi/vim25/mo" - vim25types "github.com/vmware/govmomi/vim25/types" - "k8s.io/klog/v2" - - v1 "k8s.io/api/core/v1" - storagev1 "k8s.io/api/storage/v1" - "k8s.io/apimachinery/pkg/api/resource" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/util/rand" - "k8s.io/apimachinery/pkg/util/uuid" - "k8s.io/apimachinery/pkg/util/wait" - clientset "k8s.io/client-go/kubernetes" - "k8s.io/kubernetes/test/e2e/framework" - e2ekubectl "k8s.io/kubernetes/test/e2e/framework/kubectl" - e2enode "k8s.io/kubernetes/test/e2e/framework/node" - e2eoutput "k8s.io/kubernetes/test/e2e/framework/pod/output" - e2epv "k8s.io/kubernetes/test/e2e/framework/pv" - e2essh "k8s.io/kubernetes/test/e2e/framework/ssh" - "k8s.io/kubernetes/test/e2e/storage/utils" - imageutils "k8s.io/kubernetes/test/utils/image" -) - -const ( - volumesPerNode = 55 - storageclass1 = "sc-default" - storageclass2 = "sc-vsan" - storageclass3 = "sc-spbm" - storageclass4 = "sc-user-specified-ds" - dummyDiskName = "kube-dummyDisk.vmdk" - providerPrefix = "vsphere://" -) - -// volumeState represents the state of a volume. -type volumeState int32 - -const ( - volumeStateDetached volumeState = 1 - volumeStateAttached volumeState = 2 -) - -// Wait until vsphere volumes are detached from the list of nodes or time out after 5 minutes -func waitForVSphereDisksToDetach(ctx context.Context, nodeVolumes map[string][]string) error { - var ( - detachTimeout = 5 * time.Minute - detachPollTime = 10 * time.Second - ) - waitErr := wait.PollWithContext(ctx, detachPollTime, detachTimeout, func(ctx context.Context) (bool, error) { - attachedResult, err := disksAreAttached(ctx, nodeVolumes) - if err != nil { - return false, err - } - for nodeName, nodeVolumes := range attachedResult { - for volumePath, attached := range nodeVolumes { - if attached { - framework.Logf("Volume %q is still attached to %q.", volumePath, string(nodeName)) - return false, nil - } - } - } - framework.Logf("Volume are successfully detached from all the nodes: %+v", nodeVolumes) - return true, nil - }) - if waitErr != nil { - if wait.Interrupted(waitErr) { - return fmt.Errorf("volumes have not detached after %v: %v", detachTimeout, waitErr) - } - return fmt.Errorf("error waiting for volumes to detach: %v", waitErr) - } - return nil -} - -// Wait until vsphere vmdk moves to expected state on the given node, or time out after 6 minutes -func waitForVSphereDiskStatus(ctx context.Context, volumePath string, nodeName string, expectedState volumeState) error { - var ( - currentState volumeState - timeout = 6 * time.Minute - pollTime = 10 * time.Second - ) - - var attachedState = map[bool]volumeState{ - true: volumeStateAttached, - false: volumeStateDetached, - } - - var attachedStateMsg = map[volumeState]string{ - volumeStateAttached: "attached to", - volumeStateDetached: "detached from", - } - - waitErr := wait.PollWithContext(ctx, pollTime, timeout, func(ctx context.Context) (bool, error) { - diskAttached, err := diskIsAttached(ctx, volumePath, nodeName) - if err != nil { - return true, err - } - - currentState = attachedState[diskAttached] - if currentState == expectedState { - framework.Logf("Volume %q has successfully %s %q", volumePath, attachedStateMsg[currentState], nodeName) - return true, nil - } - framework.Logf("Waiting for Volume %q to be %s %q.", volumePath, attachedStateMsg[expectedState], nodeName) - return false, nil - }) - if waitErr != nil { - if wait.Interrupted(waitErr) { - return fmt.Errorf("volume %q is not %s %q after %v: %v", volumePath, attachedStateMsg[expectedState], nodeName, timeout, waitErr) - } - return fmt.Errorf("error waiting for volume %q to be %s %q: %v", volumePath, attachedStateMsg[expectedState], nodeName, waitErr) - } - return nil -} - -// Wait until vsphere vmdk is attached from the given node or time out after 6 minutes -func waitForVSphereDiskToAttach(ctx context.Context, volumePath string, nodeName string) error { - return waitForVSphereDiskStatus(ctx, volumePath, nodeName, volumeStateAttached) -} - -// Wait until vsphere vmdk is detached from the given node or time out after 6 minutes -func waitForVSphereDiskToDetach(ctx context.Context, volumePath string, nodeName string) error { - return waitForVSphereDiskStatus(ctx, volumePath, nodeName, volumeStateDetached) -} - -// function to create vsphere volume spec with given VMDK volume path, Reclaim Policy and labels -func getVSpherePersistentVolumeSpec(volumePath string, persistentVolumeReclaimPolicy v1.PersistentVolumeReclaimPolicy, labels map[string]string) *v1.PersistentVolume { - return e2epv.MakePersistentVolume(e2epv.PersistentVolumeConfig{ - NamePrefix: "vspherepv-", - PVSource: v1.PersistentVolumeSource{ - VsphereVolume: &v1.VsphereVirtualDiskVolumeSource{ - VolumePath: volumePath, - FSType: "ext4", - }, - }, - ReclaimPolicy: persistentVolumeReclaimPolicy, - Capacity: "2Gi", - AccessModes: []v1.PersistentVolumeAccessMode{ - v1.ReadWriteOnce, - }, - Labels: labels, - }) -} - -// function to get vsphere persistent volume spec with given selector labels. -func getVSpherePersistentVolumeClaimSpec(namespace string, labels map[string]string) *v1.PersistentVolumeClaim { - var ( - pvc *v1.PersistentVolumeClaim - ) - pvc = &v1.PersistentVolumeClaim{ - ObjectMeta: metav1.ObjectMeta{ - GenerateName: "pvc-", - Namespace: namespace, - }, - Spec: v1.PersistentVolumeClaimSpec{ - AccessModes: []v1.PersistentVolumeAccessMode{ - v1.ReadWriteOnce, - }, - Resources: v1.VolumeResourceRequirements{ - Requests: v1.ResourceList{ - v1.ResourceName(v1.ResourceStorage): resource.MustParse("2Gi"), - }, - }, - }, - } - if labels != nil { - pvc.Spec.Selector = &metav1.LabelSelector{MatchLabels: labels} - } - - return pvc -} - -// function to write content to the volume backed by given PVC -func writeContentToVSpherePV(ctx context.Context, client clientset.Interface, timeouts *framework.TimeoutContext, pvc *v1.PersistentVolumeClaim, expectedContent string) { - utils.RunInPodWithVolume(ctx, client, timeouts, pvc.Namespace, pvc.Name, "echo "+expectedContent+" > /mnt/test/data") - framework.Logf("Done with writing content to volume") -} - -// function to verify content is matching on the volume backed for given PVC -func verifyContentOfVSpherePV(ctx context.Context, client clientset.Interface, timeouts *framework.TimeoutContext, pvc *v1.PersistentVolumeClaim, expectedContent string) { - utils.RunInPodWithVolume(ctx, client, timeouts, pvc.Namespace, pvc.Name, "grep '"+expectedContent+"' /mnt/test/data") - framework.Logf("Successfully verified content of the volume") -} - -func getVSphereStorageClassSpec(name string, scParameters map[string]string, zones []string, volumeBindingMode storagev1.VolumeBindingMode) *storagev1.StorageClass { - var sc *storagev1.StorageClass - - sc = &storagev1.StorageClass{ - TypeMeta: metav1.TypeMeta{ - Kind: "StorageClass", - }, - ObjectMeta: metav1.ObjectMeta{ - Name: name, - }, - Provisioner: "kubernetes.io/vsphere-volume", - } - if scParameters != nil { - sc.Parameters = scParameters - } - if zones != nil { - term := v1.TopologySelectorTerm{ - MatchLabelExpressions: []v1.TopologySelectorLabelRequirement{ - { - Key: v1.LabelTopologyZone, - Values: zones, - }, - }, - } - sc.AllowedTopologies = append(sc.AllowedTopologies, term) - } - if volumeBindingMode != "" { - mode := storagev1.VolumeBindingMode(string(volumeBindingMode)) - sc.VolumeBindingMode = &mode - } - return sc -} - -func getVSphereClaimSpecWithStorageClass(ns string, diskSize string, storageclass *storagev1.StorageClass) *v1.PersistentVolumeClaim { - claim := &v1.PersistentVolumeClaim{ - ObjectMeta: metav1.ObjectMeta{ - GenerateName: "pvc-", - Namespace: ns, - }, - Spec: v1.PersistentVolumeClaimSpec{ - AccessModes: []v1.PersistentVolumeAccessMode{ - v1.ReadWriteOnce, - }, - Resources: v1.VolumeResourceRequirements{ - Requests: v1.ResourceList{ - v1.ResourceName(v1.ResourceStorage): resource.MustParse(diskSize), - }, - }, - StorageClassName: &(storageclass.Name), - }, - } - return claim -} - -// func to get pod spec with given volume claim, node selector labels and command -func getVSpherePodSpecWithClaim(claimName string, nodeSelectorKV map[string]string, command string) *v1.Pod { - pod := &v1.Pod{ - TypeMeta: metav1.TypeMeta{ - Kind: "Pod", - APIVersion: "v1", - }, - ObjectMeta: metav1.ObjectMeta{ - GenerateName: "pod-pvc-", - }, - Spec: v1.PodSpec{ - Containers: []v1.Container{ - { - Name: "volume-tester", - Image: imageutils.GetE2EImage(imageutils.BusyBox), - Command: []string{"/bin/sh"}, - Args: []string{"-c", command}, - VolumeMounts: []v1.VolumeMount{ - { - Name: "my-volume", - MountPath: "/mnt/test", - }, - }, - }, - }, - RestartPolicy: v1.RestartPolicyNever, - Volumes: []v1.Volume{ - { - Name: "my-volume", - VolumeSource: v1.VolumeSource{ - PersistentVolumeClaim: &v1.PersistentVolumeClaimVolumeSource{ - ClaimName: claimName, - ReadOnly: false, - }, - }, - }, - }, - }, - } - if nodeSelectorKV != nil { - pod.Spec.NodeSelector = nodeSelectorKV - } - return pod -} - -// func to get pod spec with given volume paths, node selector labels and container commands -func getVSpherePodSpecWithVolumePaths(volumePaths []string, keyValuelabel map[string]string, commands []string) *v1.Pod { - var volumeMounts []v1.VolumeMount - var volumes []v1.Volume - - for index, volumePath := range volumePaths { - name := fmt.Sprintf("volume%v", index+1) - volumeMounts = append(volumeMounts, v1.VolumeMount{Name: name, MountPath: "/mnt/" + name}) - vsphereVolume := new(v1.VsphereVirtualDiskVolumeSource) - vsphereVolume.VolumePath = volumePath - vsphereVolume.FSType = "ext4" - volumes = append(volumes, v1.Volume{Name: name}) - volumes[index].VolumeSource.VsphereVolume = vsphereVolume - } - - if commands == nil || len(commands) == 0 { - commands = []string{ - "/bin/sh", - "-c", - "while true; do sleep 2; done", - } - } - pod := &v1.Pod{ - TypeMeta: metav1.TypeMeta{ - Kind: "Pod", - APIVersion: "v1", - }, - ObjectMeta: metav1.ObjectMeta{ - GenerateName: "vsphere-e2e-", - }, - Spec: v1.PodSpec{ - Containers: []v1.Container{ - { - Name: "vsphere-e2e-container-" + string(uuid.NewUUID()), - Image: imageutils.GetE2EImage(imageutils.BusyBox), - Command: commands, - VolumeMounts: volumeMounts, - }, - }, - RestartPolicy: v1.RestartPolicyNever, - Volumes: volumes, - }, - } - - if keyValuelabel != nil { - pod.Spec.NodeSelector = keyValuelabel - } - return pod -} - -func verifyFilesExistOnVSphereVolume(namespace string, podName string, filePaths ...string) { - for _, filePath := range filePaths { - _, err := e2ekubectl.RunKubectl(namespace, "exec", podName, "--", "/bin/ls", filePath) - framework.ExpectNoError(err, fmt.Sprintf("failed to verify file: %q on the pod: %q", filePath, podName)) - } -} - -func createEmptyFilesOnVSphereVolume(namespace string, podName string, filePaths []string) { - for _, filePath := range filePaths { - err := e2eoutput.CreateEmptyFileOnPod(namespace, podName, filePath) - framework.ExpectNoError(err) - } -} - -// verify volumes are attached to the node and are accessible in pod -func verifyVSphereVolumesAccessible(ctx context.Context, c clientset.Interface, pod *v1.Pod, persistentvolumes []*v1.PersistentVolume) { - nodeName := pod.Spec.NodeName - namespace := pod.Namespace - for index, pv := range persistentvolumes { - // Verify disks are attached to the node - isAttached, err := diskIsAttached(ctx, pv.Spec.VsphereVolume.VolumePath, nodeName) - framework.ExpectNoError(err) - if !isAttached { - framework.Failf("disk %v is not attached to the node: %v", pv.Spec.VsphereVolume.VolumePath, nodeName) - } - // Verify Volumes are accessible - filepath := filepath.Join("/mnt/", fmt.Sprintf("volume%v", index+1), "/emptyFile.txt") - _, err = e2eoutput.LookForStringInPodExec(namespace, pod.Name, []string{"/bin/touch", filepath}, "", time.Minute) - framework.ExpectNoError(err) - } -} - -// verify volumes are created on one of the specified zones -func verifyVolumeCreationOnRightZone(ctx context.Context, persistentvolumes []*v1.PersistentVolume, nodeName string, zones []string) { - for _, pv := range persistentvolumes { - volumePath := pv.Spec.VsphereVolume.VolumePath - // Extract datastoreName from the volume path in the pv spec - // For example : "vsanDatastore" is extracted from "[vsanDatastore] 25d8b159-948c-4b73-e499-02001ad1b044/volume.vmdk" - datastorePathObj, _ := getDatastorePathObjFromVMDiskPath(volumePath) - datastoreName := datastorePathObj.Datastore - nodeInfo := TestContext.NodeMapper.GetNodeInfo(nodeName) - ctx, cancel := context.WithCancel(ctx) - defer cancel() - // Get the datastore object reference from the datastore name - datastoreRef, err := nodeInfo.VSphere.GetDatastoreRefFromName(ctx, nodeInfo.DataCenterRef, datastoreName) - if err != nil { - framework.ExpectNoError(err) - } - // Find common datastores among the specified zones - var datastoreCountMap = make(map[string]int) - numZones := len(zones) - var commonDatastores []string - for _, zone := range zones { - datastoreInZone := TestContext.NodeMapper.GetDatastoresInZone(nodeInfo.VSphere.Config.Hostname, zone) - for _, datastore := range datastoreInZone { - datastoreCountMap[datastore] = datastoreCountMap[datastore] + 1 - if datastoreCountMap[datastore] == numZones { - commonDatastores = append(commonDatastores, datastore) - } - } - } - gomega.Expect(commonDatastores).To(gomega.ContainElement(datastoreRef.Value), "PV was created in an unsupported zone.") - } -} - -// Get vSphere Volume Path from PVC -func getvSphereVolumePathFromClaim(ctx context.Context, client clientset.Interface, namespace string, claimName string) string { - pvclaim, err := client.CoreV1().PersistentVolumeClaims(namespace).Get(ctx, claimName, metav1.GetOptions{}) - framework.ExpectNoError(err) - pv, err := client.CoreV1().PersistentVolumes().Get(ctx, pvclaim.Spec.VolumeName, metav1.GetOptions{}) - framework.ExpectNoError(err) - return pv.Spec.VsphereVolume.VolumePath -} - -// Get canonical volume path for volume Path. -// Example1: The canonical path for volume path - [vsanDatastore] kubevols/volume.vmdk will be [vsanDatastore] 25d8b159-948c-4b73-e499-02001ad1b044/volume.vmdk -// Example2: The canonical path for volume path - [vsanDatastore] 25d8b159-948c-4b73-e499-02001ad1b044/volume.vmdk will be same as volume Path. -func getCanonicalVolumePath(ctx context.Context, dc *object.Datacenter, volumePath string) (string, error) { - var folderID string - canonicalVolumePath := volumePath - dsPathObj, err := getDatastorePathObjFromVMDiskPath(volumePath) - if err != nil { - return "", err - } - dsPath := strings.Split(strings.TrimSpace(dsPathObj.Path), "/") - if len(dsPath) <= 1 { - return canonicalVolumePath, nil - } - datastore := dsPathObj.Datastore - dsFolder := dsPath[0] - // Get the datastore folder ID if datastore or folder doesn't exist in datastoreFolderIDMap - if !isValidUUID(dsFolder) { - dummyDiskVolPath := "[" + datastore + "] " + dsFolder + "/" + dummyDiskName - // Querying a non-existent dummy disk on the datastore folder. - // It would fail and return an folder ID in the error message. - _, err := getVirtualDiskPage83Data(ctx, dc, dummyDiskVolPath) - if err != nil { - re := regexp.MustCompile("File (.*?) was not found") - match := re.FindStringSubmatch(err.Error()) - canonicalVolumePath = match[1] - } - } - diskPath := getPathFromVMDiskPath(canonicalVolumePath) - if diskPath == "" { - return "", fmt.Errorf("Failed to parse canonicalVolumePath: %s in getcanonicalVolumePath method", canonicalVolumePath) - } - folderID = strings.Split(strings.TrimSpace(diskPath), "/")[0] - canonicalVolumePath = strings.Replace(volumePath, dsFolder, folderID, 1) - return canonicalVolumePath, nil -} - -// getPathFromVMDiskPath retrieves the path from VM Disk Path. -// Example: For vmDiskPath - [vsanDatastore] kubevols/volume.vmdk, the path is kubevols/volume.vmdk -func getPathFromVMDiskPath(vmDiskPath string) string { - datastorePathObj := new(object.DatastorePath) - isSuccess := datastorePathObj.FromString(vmDiskPath) - if !isSuccess { - framework.Logf("Failed to parse vmDiskPath: %s", vmDiskPath) - return "" - } - return datastorePathObj.Path -} - -// getDatastorePathObjFromVMDiskPath gets the datastorePathObj from VM disk path. -func getDatastorePathObjFromVMDiskPath(vmDiskPath string) (*object.DatastorePath, error) { - datastorePathObj := new(object.DatastorePath) - isSuccess := datastorePathObj.FromString(vmDiskPath) - if !isSuccess { - framework.Logf("Failed to parse volPath: %s", vmDiskPath) - return nil, fmt.Errorf("Failed to parse volPath: %s", vmDiskPath) - } - return datastorePathObj, nil -} - -// getVirtualDiskPage83Data gets the virtual disk UUID by diskPath -func getVirtualDiskPage83Data(ctx context.Context, dc *object.Datacenter, diskPath string) (string, error) { - if len(diskPath) > 0 && filepath.Ext(diskPath) != ".vmdk" { - diskPath += ".vmdk" - } - vdm := object.NewVirtualDiskManager(dc.Client()) - // Returns uuid of vmdk virtual disk - diskUUID, err := vdm.QueryVirtualDiskUuid(ctx, diskPath, dc) - - if err != nil { - klog.Warningf("QueryVirtualDiskUuid failed for diskPath: %q. err: %+v", diskPath, err) - return "", err - } - diskUUID = formatVirtualDiskUUID(diskUUID) - return diskUUID, nil -} - -// formatVirtualDiskUUID removes any spaces and hyphens in UUID -// Example UUID input is 42375390-71f9-43a3-a770-56803bcd7baa and output after format is 4237539071f943a3a77056803bcd7baa -func formatVirtualDiskUUID(uuid string) string { - uuidwithNoSpace := strings.Replace(uuid, " ", "", -1) - uuidWithNoHypens := strings.Replace(uuidwithNoSpace, "-", "", -1) - return strings.ToLower(uuidWithNoHypens) -} - -// isValidUUID checks if the string is a valid UUID. -func isValidUUID(uuid string) bool { - r := regexp.MustCompile("^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$") - return r.MatchString(uuid) -} - -// removeStorageClusterORFolderNameFromVDiskPath removes the cluster or folder path from the vDiskPath -// for vDiskPath [DatastoreCluster/sharedVmfs-0] kubevols/e2e-vmdk-1234.vmdk, return value is [sharedVmfs-0] kubevols/e2e-vmdk-1234.vmdk -// for vDiskPath [sharedVmfs-0] kubevols/e2e-vmdk-1234.vmdk, return value remains same [sharedVmfs-0] kubevols/e2e-vmdk-1234.vmdk -func removeStorageClusterORFolderNameFromVDiskPath(vDiskPath string) string { - datastore := regexp.MustCompile("\\[(.*?)\\]").FindStringSubmatch(vDiskPath)[1] - if filepath.Base(datastore) != datastore { - vDiskPath = strings.Replace(vDiskPath, datastore, filepath.Base(datastore), 1) - } - return vDiskPath -} - -// getVirtualDeviceByPath gets the virtual device by path -func getVirtualDeviceByPath(ctx context.Context, vm *object.VirtualMachine, diskPath string) (vim25types.BaseVirtualDevice, error) { - vmDevices, err := vm.Device(ctx) - if err != nil { - framework.Logf("Failed to get the devices for VM: %q. err: %+v", vm.InventoryPath, err) - return nil, err - } - - // filter vm devices to retrieve device for the given vmdk file identified by disk path - for _, device := range vmDevices { - if vmDevices.TypeName(device) == "VirtualDisk" { - virtualDevice := device.GetVirtualDevice() - if backing, ok := virtualDevice.Backing.(*vim25types.VirtualDiskFlatVer2BackingInfo); ok { - if matchVirtualDiskAndVolPath(backing.FileName, diskPath) { - framework.Logf("Found VirtualDisk backing with filename %q for diskPath %q", backing.FileName, diskPath) - return device, nil - } - framework.Logf("VirtualDisk backing filename %q does not match with diskPath %q", backing.FileName, diskPath) - } - } - } - return nil, nil -} - -func matchVirtualDiskAndVolPath(diskPath, volPath string) bool { - fileExt := ".vmdk" - diskPath = strings.TrimSuffix(diskPath, fileExt) - volPath = strings.TrimSuffix(volPath, fileExt) - return diskPath == volPath -} - -// convertVolPathsToDevicePaths removes cluster or folder path from volPaths and convert to canonicalPath -func convertVolPathsToDevicePaths(ctx context.Context, nodeVolumes map[string][]string) (map[string][]string, error) { - vmVolumes := make(map[string][]string) - for nodeName, volPaths := range nodeVolumes { - nodeInfo := TestContext.NodeMapper.GetNodeInfo(nodeName) - datacenter := nodeInfo.VSphere.GetDatacenterFromObjectReference(ctx, nodeInfo.DataCenterRef) - for i, volPath := range volPaths { - deviceVolPath, err := convertVolPathToDevicePath(ctx, datacenter, volPath) - if err != nil { - framework.Logf("Failed to convert vsphere volume path %s to device path for volume %s. err: %+v", volPath, deviceVolPath, err) - return nil, err - } - volPaths[i] = deviceVolPath - } - vmVolumes[nodeName] = volPaths - } - return vmVolumes, nil -} - -// convertVolPathToDevicePath takes volPath and returns canonical volume path -func convertVolPathToDevicePath(ctx context.Context, dc *object.Datacenter, volPath string) (string, error) { - volPath = removeStorageClusterORFolderNameFromVDiskPath(volPath) - // Get the canonical volume path for volPath. - canonicalVolumePath, err := getCanonicalVolumePath(ctx, dc, volPath) - if err != nil { - framework.Logf("Failed to get canonical vsphere volume path for volume: %s. err: %+v", volPath, err) - return "", err - } - // Check if the volume path contains .vmdk extension. If not, add the extension and update the nodeVolumes Map - if len(canonicalVolumePath) > 0 && filepath.Ext(canonicalVolumePath) != ".vmdk" { - canonicalVolumePath += ".vmdk" - } - return canonicalVolumePath, nil -} - -// get .vmx file path for a virtual machine -func getVMXFilePath(ctx context.Context, vmObject *object.VirtualMachine) (vmxPath string) { - ctx, cancel := context.WithCancel(ctx) - defer cancel() - - var nodeVM mo.VirtualMachine - err := vmObject.Properties(ctx, vmObject.Reference(), []string{"config.files"}, &nodeVM) - framework.ExpectNoError(err) - gomega.Expect(nodeVM.Config).NotTo(gomega.BeNil()) - - vmxPath = nodeVM.Config.Files.VmPathName - framework.Logf("vmx file path is %s", vmxPath) - return vmxPath -} - -// verify ready node count. Try up to 3 minutes. Return true if count is expected count -func verifyReadyNodeCount(ctx context.Context, client clientset.Interface, expectedNodes int) bool { - numNodes := 0 - for i := 0; i < 36; i++ { - nodeList, err := e2enode.GetReadySchedulableNodes(ctx, client) - framework.ExpectNoError(err) - - numNodes = len(nodeList.Items) - if numNodes == expectedNodes { - break - } - time.Sleep(5 * time.Second) - } - return (numNodes == expectedNodes) -} - -// poweroff nodeVM and confirm the poweroff state -func poweroffNodeVM(ctx context.Context, nodeName string, vm *object.VirtualMachine) { - ctx, cancel := context.WithCancel(ctx) - defer cancel() - - framework.Logf("Powering off node VM %s", nodeName) - - _, err := vm.PowerOff(ctx) - framework.ExpectNoError(err) - err = vm.WaitForPowerState(ctx, vim25types.VirtualMachinePowerStatePoweredOff) - framework.ExpectNoError(err, "Unable to power off the node") -} - -// poweron nodeVM and confirm the poweron state -func poweronNodeVM(ctx context.Context, nodeName string, vm *object.VirtualMachine) { - ctx, cancel := context.WithCancel(ctx) - defer cancel() - - framework.Logf("Powering on node VM %s", nodeName) - - vm.PowerOn(ctx) - err := vm.WaitForPowerState(ctx, vim25types.VirtualMachinePowerStatePoweredOn) - framework.ExpectNoError(err, "Unable to power on the node") -} - -// unregister a nodeVM from VC -func unregisterNodeVM(ctx context.Context, nodeName string, vm *object.VirtualMachine) { - ctx, cancel := context.WithCancel(ctx) - defer cancel() - - poweroffNodeVM(ctx, nodeName, vm) - - framework.Logf("Unregistering node VM %s", nodeName) - err := vm.Unregister(ctx) - framework.ExpectNoError(err, "Unable to unregister the node") -} - -// register a nodeVM into a VC -func registerNodeVM(ctx context.Context, nodeName, workingDir, vmxFilePath string, rpool *object.ResourcePool, host *object.HostSystem) { - ctx, cancel := context.WithCancel(ctx) - defer cancel() - - framework.Logf("Registering node VM %s with vmx file path %s", nodeName, vmxFilePath) - - nodeInfo := TestContext.NodeMapper.GetNodeInfo(nodeName) - finder := find.NewFinder(nodeInfo.VSphere.Client.Client, false) - - vmFolder, err := finder.FolderOrDefault(ctx, workingDir) - framework.ExpectNoError(err) - - registerTask, err := vmFolder.RegisterVM(ctx, vmxFilePath, nodeName, false, rpool, host) - framework.ExpectNoError(err) - err = registerTask.Wait(ctx) - framework.ExpectNoError(err) - - vmPath := filepath.Join(workingDir, nodeName) - vm, err := finder.VirtualMachine(ctx, vmPath) - framework.ExpectNoError(err) - - poweronNodeVM(ctx, nodeName, vm) -} - -// disksAreAttached takes map of node and it's volumes and returns map of node, its volumes and attachment state -func disksAreAttached(ctx context.Context, nodeVolumes map[string][]string) (map[string]map[string]bool, error) { - ctx, cancel := context.WithCancel(ctx) - defer cancel() - - disksAttached := make(map[string]map[string]bool) - if len(nodeVolumes) == 0 { - return disksAttached, nil - } - // Convert VolPaths into canonical form so that it can be compared with the VM device path. - vmVolumes, err := convertVolPathsToDevicePaths(ctx, nodeVolumes) - if err != nil { - framework.Logf("Failed to convert volPaths to devicePaths: %+v. err: %+v", nodeVolumes, err) - return nil, err - } - for vm, volumes := range vmVolumes { - volumeAttachedMap := make(map[string]bool) - for _, volume := range volumes { - attached, err := diskIsAttached(ctx, volume, vm) - if err != nil { - return nil, err - } - volumeAttachedMap[volume] = attached - } - disksAttached[vm] = volumeAttachedMap - } - return disksAttached, nil -} - -// diskIsAttached returns if disk is attached to the VM using controllers supported by the plugin. -func diskIsAttached(ctx context.Context, volPath string, nodeName string) (bool, error) { - // Create context - ctx, cancel := context.WithCancel(ctx) - defer cancel() - nodeInfo := TestContext.NodeMapper.GetNodeInfo(nodeName) - Connect(ctx, nodeInfo.VSphere) - vm := object.NewVirtualMachine(nodeInfo.VSphere.Client.Client, nodeInfo.VirtualMachineRef) - volPath = removeStorageClusterORFolderNameFromVDiskPath(volPath) - device, err := getVirtualDeviceByPath(ctx, vm, volPath) - if err != nil { - framework.Logf("diskIsAttached failed to determine whether disk %q is still attached on node %q", - volPath, - nodeName) - return false, err - } - if device == nil { - return false, nil - } - framework.Logf("diskIsAttached found the disk %q attached on node %q", volPath, nodeName) - return true, nil -} - -// getUUIDFromProviderID strips ProviderPrefix - "vsphere://" from the providerID -// this gives the VM UUID which can be used to find Node VM from vCenter -func getUUIDFromProviderID(providerID string) string { - return strings.TrimPrefix(providerID, providerPrefix) -} - -// GetReadySchedulableNodeInfos returns NodeInfo objects for all nodes with Ready and schedulable state -func GetReadySchedulableNodeInfos(ctx context.Context, c clientset.Interface) []*NodeInfo { - var nodesInfo []*NodeInfo - if TestContext.NodeMapper != nil { - nodeList, err := e2enode.GetReadySchedulableNodes(ctx, c) - framework.ExpectNoError(err) - for _, node := range nodeList.Items { - nodeInfo := TestContext.NodeMapper.GetNodeInfo(node.Name) - if nodeInfo != nil { - nodesInfo = append(nodesInfo, nodeInfo) - } - } - } - return nodesInfo -} - -// GetReadySchedulableRandomNodeInfo returns NodeInfo object for one of the Ready and Schedulable Node. -// if multiple nodes are present with Ready and Schedulable state then one of the Node is selected randomly -// and it's associated NodeInfo object is returned. -func GetReadySchedulableRandomNodeInfo(ctx context.Context, c clientset.Interface) *NodeInfo { - nodesInfo := GetReadySchedulableNodeInfos(ctx, c) - gomega.Expect(nodesInfo).NotTo(gomega.BeEmpty()) - return nodesInfo[rand.Int()%len(nodesInfo)] -} - -// invokeVCenterServiceControl invokes the given command for the given service -// via service-control on the given vCenter host over SSH. -func invokeVCenterServiceControl(ctx context.Context, command, service, host string) error { - sshCmd := fmt.Sprintf("service-control --%s %s", command, service) - framework.Logf("Invoking command %v on vCenter host %v", sshCmd, host) - result, err := e2essh.SSH(ctx, sshCmd, host, framework.TestContext.Provider) - if err != nil || result.Code != 0 { - e2essh.LogResult(result) - return fmt.Errorf("couldn't execute command: %s on vCenter host: %w", sshCmd, err) - } - return nil -} - -// expectVolumeToBeAttached checks if the given Volume is attached to the given -// Node, else fails. -func expectVolumeToBeAttached(ctx context.Context, nodeName, volumePath string) { - isAttached, err := diskIsAttached(ctx, volumePath, nodeName) - framework.ExpectNoError(err) - if !isAttached { - framework.Failf("Volume: %s is not attached to the node: %v", volumePath, nodeName) - } -} - -// expectVolumesToBeAttached checks if the given Volumes are attached to the -// corresponding set of Nodes, else fails. -func expectVolumesToBeAttached(ctx context.Context, pods []*v1.Pod, volumePaths []string) { - for i, pod := range pods { - nodeName := pod.Spec.NodeName - volumePath := volumePaths[i] - ginkgo.By(fmt.Sprintf("Verifying that volume %v is attached to node %v", volumePath, nodeName)) - expectVolumeToBeAttached(ctx, nodeName, volumePath) - } -} - -// expectFilesToBeAccessible checks if the given files are accessible on the -// corresponding set of Nodes, else fails. -func expectFilesToBeAccessible(namespace string, pods []*v1.Pod, filePaths []string) { - for i, pod := range pods { - podName := pod.Name - filePath := filePaths[i] - ginkgo.By(fmt.Sprintf("Verifying that file %v is accessible on pod %v", filePath, podName)) - verifyFilesExistOnVSphereVolume(namespace, podName, filePath) - } -} - -// writeContentToPodFile writes the given content to the specified file. -func writeContentToPodFile(namespace, podName, filePath, content string) error { - _, err := e2ekubectl.RunKubectl(namespace, "exec", podName, - "--", "/bin/sh", "-c", fmt.Sprintf("echo '%s' > %s", content, filePath)) - return err -} - -// expectFileContentToMatch checks if a given file contains the specified -// content, else fails. -func expectFileContentToMatch(namespace, podName, filePath, content string) { - _, err := e2ekubectl.RunKubectl(namespace, "exec", podName, - "--", "/bin/sh", "-c", fmt.Sprintf("grep '%s' %s", content, filePath)) - framework.ExpectNoError(err, fmt.Sprintf("failed to match content of file: %q on the pod: %q", filePath, podName)) -} - -// expectFileContentsToMatch checks if the given contents match the ones present -// in corresponding files on respective Pods, else fails. -func expectFileContentsToMatch(namespace string, pods []*v1.Pod, filePaths []string, contents []string) { - for i, pod := range pods { - podName := pod.Name - filePath := filePaths[i] - ginkgo.By(fmt.Sprintf("Matching file content for %v on pod %v", filePath, podName)) - expectFileContentToMatch(namespace, podName, filePath, contents[i]) - } -} diff --git a/test/e2e/storage/vsphere/vsphere_volume_cluster_ds.go b/test/e2e/storage/vsphere/vsphere_volume_cluster_ds.go deleted file mode 100644 index cc4ab2fda79..00000000000 --- a/test/e2e/storage/vsphere/vsphere_volume_cluster_ds.go +++ /dev/null @@ -1,138 +0,0 @@ -/* -Copyright 2017 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vsphere - -import ( - "context" - - "github.com/onsi/ginkgo/v2" - "github.com/onsi/gomega" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - clientset "k8s.io/client-go/kubernetes" - "k8s.io/kubernetes/test/e2e/feature" - "k8s.io/kubernetes/test/e2e/framework" - e2epod "k8s.io/kubernetes/test/e2e/framework/pod" - e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" - "k8s.io/kubernetes/test/e2e/storage/utils" - admissionapi "k8s.io/pod-security-admission/api" -) - -/* -Tests to verify volume provisioning on a clustered datastore -1. Static provisioning -2. Dynamic provisioning -3. Dynamic provisioning with spbm policy - -This test reads env -1. CLUSTER_DATASTORE which should be set to clustered datastore -2. VSPHERE_SPBM_POLICY_DS_CLUSTER which should be set to a tag based spbm policy tagged to a clustered datastore -*/ -var _ = utils.SIGDescribe("Volume Provisioning On Clustered Datastore", feature.Vsphere, func() { - f := framework.NewDefaultFramework("volume-provision") - f.NamespacePodSecurityLevel = admissionapi.LevelPrivileged - - var ( - client clientset.Interface - namespace string - scParameters map[string]string - clusterDatastore string - nodeInfo *NodeInfo - ) - - ginkgo.BeforeEach(func(ctx context.Context) { - e2eskipper.SkipUnlessProviderIs("vsphere") - Bootstrap(f) - client = f.ClientSet - namespace = f.Namespace.Name - nodeInfo = GetReadySchedulableRandomNodeInfo(ctx, client) - scParameters = make(map[string]string) - clusterDatastore = GetAndExpectStringEnvVar(VCPClusterDatastore) - }) - - /* - Steps: - 1. Create volume options with datastore to be a clustered datastore - 2. Create a vsphere volume - 3. Create podspec with volume path. Create a corresponding pod - 4. Verify disk is attached - 5. Delete the pod and wait for the disk to be detached - 6. Delete the volume - */ - - ginkgo.It("verify static provisioning on clustered datastore", func(ctx context.Context) { - var volumePath string - - ginkgo.By("creating a test vsphere volume") - volumeOptions := new(VolumeOptions) - volumeOptions.CapacityKB = 2097152 - volumeOptions.Name = "e2e-vmdk-" + namespace - volumeOptions.Datastore = clusterDatastore - - volumePath, err := nodeInfo.VSphere.CreateVolume(volumeOptions, nodeInfo.DataCenterRef) - framework.ExpectNoError(err) - - defer func() { - ginkgo.By("Deleting the vsphere volume") - nodeInfo.VSphere.DeleteVolume(volumePath, nodeInfo.DataCenterRef) - }() - - podspec := getVSpherePodSpecWithVolumePaths([]string{volumePath}, nil, nil) - - ginkgo.By("Creating pod") - pod, err := client.CoreV1().Pods(namespace).Create(ctx, podspec, metav1.CreateOptions{}) - framework.ExpectNoError(err) - ginkgo.By("Waiting for pod to be ready") - gomega.Expect(e2epod.WaitForPodNameRunningInNamespace(ctx, client, pod.Name, namespace)).To(gomega.Succeed()) - - // get fresh pod info - pod, err = client.CoreV1().Pods(namespace).Get(ctx, pod.Name, metav1.GetOptions{}) - framework.ExpectNoError(err) - nodeName := pod.Spec.NodeName - - ginkgo.By("Verifying volume is attached") - expectVolumeToBeAttached(ctx, nodeName, volumePath) - - ginkgo.By("Deleting pod") - err = e2epod.DeletePodWithWait(ctx, client, pod) - framework.ExpectNoError(err) - - ginkgo.By("Waiting for volumes to be detached from the node") - err = waitForVSphereDiskToDetach(ctx, volumePath, nodeName) - framework.ExpectNoError(err) - }) - - /* - Steps: - 1. Create storage class parameter and specify datastore to be a clustered datastore name - 2. invokeValidPolicyTest - util to do e2e dynamic provision test - */ - ginkgo.It("verify dynamic provision with default parameter on clustered datastore", func(ctx context.Context) { - scParameters[Datastore] = clusterDatastore - invokeValidPolicyTest(ctx, f, client, namespace, scParameters) - }) - - /* - Steps: - 1. Create storage class parameter and specify storage policy to be a tag based spbm policy - 2. invokeValidPolicyTest - util to do e2e dynamic provision test - */ - ginkgo.It("verify dynamic provision with spbm policy on clustered datastore", func(ctx context.Context) { - policyDatastoreCluster := GetAndExpectStringEnvVar(SPBMPolicyDataStoreCluster) - scParameters[SpbmStoragePolicy] = policyDatastoreCluster - invokeValidPolicyTest(ctx, f, client, namespace, scParameters) - }) -}) diff --git a/test/e2e/storage/vsphere/vsphere_volume_datastore.go b/test/e2e/storage/vsphere/vsphere_volume_datastore.go deleted file mode 100644 index 9e82cdc6431..00000000000 --- a/test/e2e/storage/vsphere/vsphere_volume_datastore.go +++ /dev/null @@ -1,117 +0,0 @@ -/* -Copyright 2017 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vsphere - -import ( - "context" - "fmt" - "strings" - "time" - - "github.com/onsi/ginkgo/v2" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - clientset "k8s.io/client-go/kubernetes" - admissionapi "k8s.io/pod-security-admission/api" - - "k8s.io/kubernetes/test/e2e/feature" - "k8s.io/kubernetes/test/e2e/framework" - e2enode "k8s.io/kubernetes/test/e2e/framework/node" - e2epv "k8s.io/kubernetes/test/e2e/framework/pv" - e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" - "k8s.io/kubernetes/test/e2e/storage/utils" -) - -const ( - invalidDatastore = "invalidDatastore" - datastoreSCName = "datastoresc" -) - -/* - Test to verify datastore specified in storage-class is being honored while volume creation. - - Steps - 1. Create StorageClass with invalid datastore. - 2. Create PVC which uses the StorageClass created in step 1. - 3. Expect the PVC to fail. - 4. Verify the error returned on PVC failure is the correct. -*/ - -var _ = utils.SIGDescribe("Volume Provisioning on Datastore", feature.Vsphere, func() { - f := framework.NewDefaultFramework("volume-datastore") - f.NamespacePodSecurityLevel = admissionapi.LevelPrivileged - var ( - client clientset.Interface - namespace string - scParameters map[string]string - vSphereCSIMigrationEnabled bool - ) - ginkgo.BeforeEach(func(ctx context.Context) { - e2eskipper.SkipUnlessProviderIs("vsphere") - Bootstrap(f) - client = f.ClientSet - namespace = f.Namespace.Name - scParameters = make(map[string]string) - _, err := e2enode.GetRandomReadySchedulableNode(ctx, f.ClientSet) - framework.ExpectNoError(err) - vSphereCSIMigrationEnabled = GetAndExpectBoolEnvVar(VSphereCSIMigrationEnabled) - }) - - ginkgo.It("verify dynamically provisioned pv using storageclass fails on an invalid datastore", func(ctx context.Context) { - ginkgo.By("Invoking Test for invalid datastore") - scParameters[Datastore] = invalidDatastore - scParameters[DiskFormat] = ThinDisk - err := invokeInvalidDatastoreTestNeg(ctx, client, namespace, scParameters) - framework.ExpectError(err) - var errorMsg string - if !vSphereCSIMigrationEnabled { - errorMsg = `Failed to provision volume with StorageClass \"` + datastoreSCName + `\": Datastore '` + invalidDatastore + `' not found` - } else { - errorMsg = `failed to find datastoreURL for datastore name: \"` + invalidDatastore + `\"` - } - if !strings.Contains(err.Error(), errorMsg) { - framework.ExpectNoError(err, errorMsg) - } - }) -}) - -func invokeInvalidDatastoreTestNeg(ctx context.Context, client clientset.Interface, namespace string, scParameters map[string]string) error { - ginkgo.By("Creating Storage Class With Invalid Datastore") - storageclass, err := client.StorageV1().StorageClasses().Create(ctx, getVSphereStorageClassSpec(datastoreSCName, scParameters, nil, ""), metav1.CreateOptions{}) - framework.ExpectNoError(err, fmt.Sprintf("Failed to create storage class with err: %v", err)) - ginkgo.DeferCleanup(framework.IgnoreNotFound(client.StorageV1().StorageClasses().Delete), storageclass.Name, metav1.DeleteOptions{}) - - ginkgo.By("Creating PVC using the Storage Class") - pvclaim, err := e2epv.CreatePVC(ctx, client, namespace, getVSphereClaimSpecWithStorageClass(namespace, "2Gi", storageclass)) - framework.ExpectNoError(err) - ginkgo.DeferCleanup(e2epv.DeletePersistentVolumeClaim, client, pvclaim.Name, namespace) - - ginkgo.By("Expect claim to fail provisioning volume") - err = e2epv.WaitForPersistentVolumeClaimPhase(ctx, v1.ClaimBound, client, pvclaim.Namespace, pvclaim.Name, framework.Poll, 2*time.Minute) - framework.ExpectError(err) - - eventList, err := client.CoreV1().Events(pvclaim.Namespace).List(ctx, metav1.ListOptions{}) - framework.ExpectNoError(err) - - var eventErrorMessages string - for _, event := range eventList.Items { - if event.Type != v1.EventTypeNormal { - eventErrorMessages = eventErrorMessages + event.Message + ";" - } - } - return fmt.Errorf("event messages: %+q", eventErrorMessages) -} diff --git a/test/e2e/storage/vsphere/vsphere_volume_diskformat.go b/test/e2e/storage/vsphere/vsphere_volume_diskformat.go deleted file mode 100644 index 4c50b285a85..00000000000 --- a/test/e2e/storage/vsphere/vsphere_volume_diskformat.go +++ /dev/null @@ -1,213 +0,0 @@ -/* -Copyright 2017 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vsphere - -import ( - "context" - "path/filepath" - - "github.com/onsi/ginkgo/v2" - "github.com/onsi/gomega" - "github.com/vmware/govmomi/object" - "github.com/vmware/govmomi/vim25/types" - - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/util/uuid" - clientset "k8s.io/client-go/kubernetes" - "k8s.io/kubernetes/test/e2e/feature" - "k8s.io/kubernetes/test/e2e/framework" - e2enode "k8s.io/kubernetes/test/e2e/framework/node" - e2epod "k8s.io/kubernetes/test/e2e/framework/pod" - e2epv "k8s.io/kubernetes/test/e2e/framework/pv" - e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" - "k8s.io/kubernetes/test/e2e/storage/utils" - admissionapi "k8s.io/pod-security-admission/api" -) - -/* - Test to verify diskformat specified in storage-class is being honored while volume creation. - Valid and supported options are eagerzeroedthick, zeroedthick and thin - - Steps - 1. Create StorageClass with diskformat set to valid type - 2. Create PVC which uses the StorageClass created in step 1. - 3. Wait for PV to be provisioned. - 4. Wait for PVC's status to become Bound - 5. Create pod using PVC on specific node. - 6. Wait for Disk to be attached to the node. - 7. Get node VM's devices and find PV's Volume Disk. - 8. Get Backing Info of the Volume Disk and obtain EagerlyScrub and ThinProvisioned - 9. Based on the value of EagerlyScrub and ThinProvisioned, verify diskformat is correct. - 10. Delete pod and Wait for Volume Disk to be detached from the Node. - 11. Delete PVC, PV and Storage Class -*/ - -var _ = utils.SIGDescribe("Volume Disk Format", feature.Vsphere, func() { - f := framework.NewDefaultFramework("volume-disk-format") - f.NamespacePodSecurityLevel = admissionapi.LevelPrivileged - const ( - NodeLabelKey = "vsphere_e2e_label_volume_diskformat" - ) - var ( - client clientset.Interface - namespace string - nodeName string - nodeKeyValueLabel map[string]string - nodeLabelValue string - ) - ginkgo.BeforeEach(func(ctx context.Context) { - e2eskipper.SkipUnlessProviderIs("vsphere") - Bootstrap(f) - client = f.ClientSet - namespace = f.Namespace.Name - nodeName = GetReadySchedulableRandomNodeInfo(ctx, client).Name - nodeLabelValue = "vsphere_e2e_" + string(uuid.NewUUID()) - nodeKeyValueLabel = map[string]string{NodeLabelKey: nodeLabelValue} - e2enode.AddOrUpdateLabelOnNode(client, nodeName, NodeLabelKey, nodeLabelValue) - ginkgo.DeferCleanup(e2enode.RemoveLabelOffNode, client, nodeName, NodeLabelKey) - }) - - ginkgo.It("verify disk format type - eagerzeroedthick is honored for dynamically provisioned pv using storageclass", func(ctx context.Context) { - ginkgo.By("Invoking Test for diskformat: eagerzeroedthick") - invokeTest(ctx, f, client, namespace, nodeName, nodeKeyValueLabel, "eagerzeroedthick") - }) - ginkgo.It("verify disk format type - zeroedthick is honored for dynamically provisioned pv using storageclass", func(ctx context.Context) { - ginkgo.By("Invoking Test for diskformat: zeroedthick") - invokeTest(ctx, f, client, namespace, nodeName, nodeKeyValueLabel, "zeroedthick") - }) - ginkgo.It("verify disk format type - thin is honored for dynamically provisioned pv using storageclass", func(ctx context.Context) { - ginkgo.By("Invoking Test for diskformat: thin") - invokeTest(ctx, f, client, namespace, nodeName, nodeKeyValueLabel, "thin") - }) -}) - -func invokeTest(ctx context.Context, f *framework.Framework, client clientset.Interface, namespace string, nodeName string, nodeKeyValueLabel map[string]string, diskFormat string) { - - framework.Logf("Invoking Test for DiskFomat: %s", diskFormat) - scParameters := make(map[string]string) - scParameters["diskformat"] = diskFormat - - ginkgo.By("Creating Storage Class With DiskFormat") - storageClassSpec := getVSphereStorageClassSpec("thinsc", scParameters, nil, "") - storageclass, err := client.StorageV1().StorageClasses().Create(ctx, storageClassSpec, metav1.CreateOptions{}) - framework.ExpectNoError(err) - - ginkgo.DeferCleanup(framework.IgnoreNotFound(client.StorageV1().StorageClasses().Delete), storageclass.Name, metav1.DeleteOptions{}) - - ginkgo.By("Creating PVC using the Storage Class") - pvclaimSpec := getVSphereClaimSpecWithStorageClass(namespace, "2Gi", storageclass) - pvclaim, err := client.CoreV1().PersistentVolumeClaims(namespace).Create(ctx, pvclaimSpec, metav1.CreateOptions{}) - framework.ExpectNoError(err) - - ginkgo.DeferCleanup(framework.IgnoreNotFound(client.CoreV1().PersistentVolumeClaims(namespace).Delete), pvclaimSpec.Name, metav1.DeleteOptions{}) - - ginkgo.By("Waiting for claim to be in bound phase") - err = e2epv.WaitForPersistentVolumeClaimPhase(ctx, v1.ClaimBound, client, pvclaim.Namespace, pvclaim.Name, framework.Poll, f.Timeouts.ClaimProvision) - framework.ExpectNoError(err) - - // Get new copy of the claim - pvclaim, err = client.CoreV1().PersistentVolumeClaims(pvclaim.Namespace).Get(ctx, pvclaim.Name, metav1.GetOptions{}) - framework.ExpectNoError(err) - - // Get the bound PV - pv, err := client.CoreV1().PersistentVolumes().Get(ctx, pvclaim.Spec.VolumeName, metav1.GetOptions{}) - framework.ExpectNoError(err) - - /* - PV is required to be attached to the Node. so that using govmomi API we can grab Disk's Backing Info - to check EagerlyScrub and ThinProvisioned property - */ - ginkgo.By("Creating pod to attach PV to the node") - // Create pod to attach Volume to Node - podSpec := getVSpherePodSpecWithClaim(pvclaim.Name, nodeKeyValueLabel, "while true ; do sleep 2 ; done") - pod, err := client.CoreV1().Pods(namespace).Create(ctx, podSpec, metav1.CreateOptions{}) - framework.ExpectNoError(err) - - ginkgo.By("Waiting for pod to be running") - gomega.Expect(e2epod.WaitForPodNameRunningInNamespace(ctx, client, pod.Name, namespace)).To(gomega.Succeed()) - - isAttached, err := diskIsAttached(ctx, pv.Spec.VsphereVolume.VolumePath, nodeName) - if !isAttached { - framework.Failf("Volume: %s is not attached to the node: %v", pv.Spec.VsphereVolume.VolumePath, nodeName) - } - framework.ExpectNoError(err) - - ginkgo.By("Verify Disk Format") - if !verifyDiskFormat(ctx, client, nodeName, pv.Spec.VsphereVolume.VolumePath, diskFormat) { - framework.Failf("DiskFormat Verification Failed. Node: %s, VolumePath: %s, Expected Format: %s", nodeName, pv.Spec.VsphereVolume.VolumePath, diskFormat) - } - - var volumePaths []string - volumePaths = append(volumePaths, pv.Spec.VsphereVolume.VolumePath) - - ginkgo.By("Delete pod and wait for volume to be detached from node") - deletePodAndWaitForVolumeToDetach(ctx, f, client, pod, nodeName, volumePaths) - -} - -func verifyDiskFormat(ctx context.Context, client clientset.Interface, nodeName string, pvVolumePath string, diskFormat string) bool { - ginkgo.By("Verifying disk format") - eagerlyScrub := false - thinProvisioned := false - diskFound := false - pvvmdkfileName := filepath.Base(pvVolumePath) + filepath.Ext(pvVolumePath) - - ctx, cancel := context.WithCancel(ctx) - defer cancel() - - nodeInfo := TestContext.NodeMapper.GetNodeInfo(nodeName) - vm := object.NewVirtualMachine(nodeInfo.VSphere.Client.Client, nodeInfo.VirtualMachineRef) - vmDevices, err := vm.Device(ctx) - framework.ExpectNoError(err) - - disks := vmDevices.SelectByType((*types.VirtualDisk)(nil)) - - for _, disk := range disks { - backing := disk.GetVirtualDevice().Backing.(*types.VirtualDiskFlatVer2BackingInfo) - backingFileName := filepath.Base(backing.FileName) + filepath.Ext(backing.FileName) - if backingFileName == pvvmdkfileName { - diskFound = true - if backing.EagerlyScrub != nil { - eagerlyScrub = *backing.EagerlyScrub - } - if backing.ThinProvisioned != nil { - thinProvisioned = *backing.ThinProvisioned - } - break - } - } - - if !diskFound { - framework.Failf("Failed to find disk: %s", pvVolumePath) - } - isDiskFormatCorrect := false - if diskFormat == "eagerzeroedthick" { - if eagerlyScrub && !thinProvisioned { - isDiskFormatCorrect = true - } - } else if diskFormat == "zeroedthick" { - if !eagerlyScrub && !thinProvisioned { - isDiskFormatCorrect = true - } - } else if diskFormat == "thin" { - if !eagerlyScrub && thinProvisioned { - isDiskFormatCorrect = true - } - } - return isDiskFormatCorrect -} diff --git a/test/e2e/storage/vsphere/vsphere_volume_disksize.go b/test/e2e/storage/vsphere/vsphere_volume_disksize.go deleted file mode 100644 index ab6e3015950..00000000000 --- a/test/e2e/storage/vsphere/vsphere_volume_disksize.go +++ /dev/null @@ -1,103 +0,0 @@ -/* -Copyright 2017 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vsphere - -import ( - "context" - "time" - - "github.com/onsi/ginkgo/v2" - "github.com/onsi/gomega" - - v1 "k8s.io/api/core/v1" - "k8s.io/apimachinery/pkg/api/resource" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - clientset "k8s.io/client-go/kubernetes" - "k8s.io/kubernetes/test/e2e/feature" - "k8s.io/kubernetes/test/e2e/framework" - e2epv "k8s.io/kubernetes/test/e2e/framework/pv" - e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" - "k8s.io/kubernetes/test/e2e/storage/utils" - admissionapi "k8s.io/pod-security-admission/api" -) - -const ( - diskSizeSCName = "disksizesc" -) - -/* - Test to verify disk size specified in PVC is being rounded up correctly. - - Steps - 1. Create StorageClass. - 2. Create PVC with invalid disk size which uses the StorageClass created in step 1. - 3. Verify the provisioned PV size is correct. -*/ - -var _ = utils.SIGDescribe("Volume Disk Size", feature.Vsphere, func() { - f := framework.NewDefaultFramework("volume-disksize") - f.NamespacePodSecurityLevel = admissionapi.LevelPrivileged - var ( - client clientset.Interface - namespace string - scParameters map[string]string - datastore string - ) - ginkgo.BeforeEach(func() { - e2eskipper.SkipUnlessProviderIs("vsphere") - Bootstrap(f) - client = f.ClientSet - namespace = f.Namespace.Name - scParameters = make(map[string]string) - datastore = GetAndExpectStringEnvVar(StorageClassDatastoreName) - }) - - ginkgo.It("verify dynamically provisioned pv has size rounded up correctly", func(ctx context.Context) { - ginkgo.By("Invoking Test disk size") - scParameters[Datastore] = datastore - scParameters[DiskFormat] = ThinDisk - diskSize := "1" - expectedDiskSize := "1Mi" - - ginkgo.By("Creating Storage Class") - storageclass, err := client.StorageV1().StorageClasses().Create(ctx, getVSphereStorageClassSpec(diskSizeSCName, scParameters, nil, ""), metav1.CreateOptions{}) - framework.ExpectNoError(err) - ginkgo.DeferCleanup(framework.IgnoreNotFound(client.StorageV1().StorageClasses().Delete), storageclass.Name, metav1.DeleteOptions{}) - - ginkgo.By("Creating PVC using the Storage Class") - pvclaim, err := e2epv.CreatePVC(ctx, client, namespace, getVSphereClaimSpecWithStorageClass(namespace, diskSize, storageclass)) - framework.ExpectNoError(err) - ginkgo.DeferCleanup(e2epv.DeletePersistentVolumeClaim, client, pvclaim.Name, namespace) - - ginkgo.By("Waiting for claim to be in bound phase") - err = e2epv.WaitForPersistentVolumeClaimPhase(ctx, v1.ClaimBound, client, pvclaim.Namespace, pvclaim.Name, framework.Poll, 2*time.Minute) - framework.ExpectNoError(err) - - ginkgo.By("Getting new copy of PVC") - pvclaim, err = client.CoreV1().PersistentVolumeClaims(pvclaim.Namespace).Get(ctx, pvclaim.Name, metav1.GetOptions{}) - framework.ExpectNoError(err) - - ginkgo.By("Getting PV created") - pv, err := client.CoreV1().PersistentVolumes().Get(ctx, pvclaim.Spec.VolumeName, metav1.GetOptions{}) - framework.ExpectNoError(err) - - ginkgo.By("Verifying if provisioned PV has the correct size") - expectedCapacity := resource.MustParse(expectedDiskSize) - pvCapacity := pv.Spec.Capacity[v1.ResourceName(v1.ResourceStorage)] - gomega.Expect(pvCapacity.Value()).To(gomega.Equal(expectedCapacity.Value())) - }) -}) diff --git a/test/e2e/storage/vsphere/vsphere_volume_fstype.go b/test/e2e/storage/vsphere/vsphere_volume_fstype.go deleted file mode 100644 index 20c4ce43c07..00000000000 --- a/test/e2e/storage/vsphere/vsphere_volume_fstype.go +++ /dev/null @@ -1,201 +0,0 @@ -/* -Copyright 2017 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vsphere - -import ( - "context" - "strings" - "time" - - "github.com/onsi/ginkgo/v2" - "github.com/onsi/gomega" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - clientset "k8s.io/client-go/kubernetes" - "k8s.io/kubernetes/test/e2e/feature" - "k8s.io/kubernetes/test/e2e/framework" - e2epod "k8s.io/kubernetes/test/e2e/framework/pod" - e2eoutput "k8s.io/kubernetes/test/e2e/framework/pod/output" - e2epv "k8s.io/kubernetes/test/e2e/framework/pv" - e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" - "k8s.io/kubernetes/test/e2e/storage/utils" - admissionapi "k8s.io/pod-security-admission/api" -) - -const ( - ext4FSType = "ext4" - ext3FSType = "ext3" - invalidFSType = "ext10" - execCommand = "/bin/df -T /mnt/volume1 | /bin/awk 'FNR == 2 {print $2}' > /mnt/volume1/fstype && while true ; do sleep 2 ; done" -) - -/* - Test to verify fstype specified in storage-class is being honored after volume creation. - - Steps - 1. Create StorageClass with fstype set to valid type (default case included). - 2. Create PVC which uses the StorageClass created in step 1. - 3. Wait for PV to be provisioned. - 4. Wait for PVC's status to become Bound. - 5. Create pod using PVC on specific node. - 6. Wait for Disk to be attached to the node. - 7. Execute command in the pod to get fstype. - 8. Delete pod and Wait for Volume Disk to be detached from the Node. - 9. Delete PVC, PV and Storage Class. - - Test to verify if an invalid fstype specified in storage class fails pod creation. - - Steps - 1. Create StorageClass with invalid. - 2. Create PVC which uses the StorageClass created in step 1. - 3. Wait for PV to be provisioned. - 4. Wait for PVC's status to become Bound. - 5. Create pod using PVC. - 6. Verify if the pod creation fails. - 7. Verify if the MountVolume.MountDevice fails because it is unable to find the file system executable file on the node. -*/ - -var _ = utils.SIGDescribe("Volume FStype", feature.Vsphere, func() { - f := framework.NewDefaultFramework("volume-fstype") - f.NamespacePodSecurityLevel = admissionapi.LevelPrivileged - var ( - client clientset.Interface - ) - ginkgo.BeforeEach(func(ctx context.Context) { - e2eskipper.SkipUnlessProviderIs("vsphere") - Bootstrap(f) - client = f.ClientSet - gomega.Expect(GetReadySchedulableNodeInfos(ctx, client)).NotTo(gomega.BeEmpty()) - }) - - ginkgo.It("verify fstype - ext3 formatted volume", func(ctx context.Context) { - ginkgo.By("Invoking Test for fstype: ext3") - invokeTestForFstype(ctx, f, ext3FSType, ext3FSType) - }) - - ginkgo.It("verify fstype - default value should be ext4", func(ctx context.Context) { - ginkgo.By("Invoking Test for fstype: Default Value - ext4") - invokeTestForFstype(ctx, f, "", ext4FSType) - }) - - ginkgo.It("verify invalid fstype", func(ctx context.Context) { - ginkgo.By("Invoking Test for fstype: invalid Value") - invokeTestForInvalidFstype(ctx, f, client, invalidFSType) - }) -}) - -func invokeTestForFstype(ctx context.Context, f *framework.Framework, fstype string, expectedContent string) { - framework.Logf("Invoking Test for fstype: %s", fstype) - namespace := f.Namespace.Name - scParameters := make(map[string]string) - scParameters["fstype"] = fstype - - // Create Persistent Volume - ginkgo.By("Creating Storage Class With Fstype") - pvclaim, persistentvolumes := createVolume(ctx, f.ClientSet, f.Timeouts, f.Namespace.Name, scParameters) - - // Create Pod and verify the persistent volume is accessible - pod := createPodAndVerifyVolumeAccessible(ctx, f, pvclaim, persistentvolumes) - _, err := e2eoutput.LookForStringInPodExec(namespace, pod.Name, []string{"/bin/cat", "/mnt/volume1/fstype"}, expectedContent, time.Minute) - framework.ExpectNoError(err) - - // Detach and delete volume - detachVolume(ctx, f, pod, persistentvolumes[0].Spec.VsphereVolume.VolumePath) - err = e2epv.DeletePersistentVolumeClaim(ctx, f.ClientSet, pvclaim.Name, namespace) - framework.ExpectNoError(err) -} - -func invokeTestForInvalidFstype(ctx context.Context, f *framework.Framework, client clientset.Interface, fstype string) { - namespace := f.Namespace.Name - scParameters := make(map[string]string) - scParameters["fstype"] = fstype - - // Create Persistent Volume - ginkgo.By("Creating Storage Class With Invalid Fstype") - pvclaim, persistentvolumes := createVolume(ctx, client, f.Timeouts, namespace, scParameters) - - ginkgo.By("Creating pod to attach PV to the node") - var pvclaims []*v1.PersistentVolumeClaim - pvclaims = append(pvclaims, pvclaim) - // Create pod to attach Volume to Node - pod, err := e2epod.CreatePod(ctx, client, namespace, nil, pvclaims, f.NamespacePodSecurityLevel, execCommand) - framework.ExpectError(err) - - eventList, err := client.CoreV1().Events(namespace).List(ctx, metav1.ListOptions{}) - framework.ExpectNoError(err) - - // Detach and delete volume - detachVolume(ctx, f, pod, persistentvolumes[0].Spec.VsphereVolume.VolumePath) - err = e2epv.DeletePersistentVolumeClaim(ctx, client, pvclaim.Name, namespace) - framework.ExpectNoError(err) - - gomega.Expect(eventList.Items).NotTo(gomega.BeEmpty()) - errorMsg := `MountVolume.MountDevice failed for volume "` + persistentvolumes[0].Name + `" : executable file not found` - isFound := false - for _, item := range eventList.Items { - if strings.Contains(item.Message, errorMsg) { - isFound = true - } - } - if !isFound { - framework.Failf("Unable to verify MountVolume.MountDevice failure for volume %s", persistentvolumes[0].Name) - } -} - -func createVolume(ctx context.Context, client clientset.Interface, timeouts *framework.TimeoutContext, namespace string, scParameters map[string]string) (*v1.PersistentVolumeClaim, []*v1.PersistentVolume) { - storageclass, err := client.StorageV1().StorageClasses().Create(ctx, getVSphereStorageClassSpec("fstype", scParameters, nil, ""), metav1.CreateOptions{}) - framework.ExpectNoError(err) - ginkgo.DeferCleanup(framework.IgnoreNotFound(client.StorageV1().StorageClasses().Delete), storageclass.Name, metav1.DeleteOptions{}) - - ginkgo.By("Creating PVC using the Storage Class") - pvclaim, err := client.CoreV1().PersistentVolumeClaims(namespace).Create(ctx, getVSphereClaimSpecWithStorageClass(namespace, "2Gi", storageclass), metav1.CreateOptions{}) - framework.ExpectNoError(err) - - var pvclaims []*v1.PersistentVolumeClaim - pvclaims = append(pvclaims, pvclaim) - ginkgo.By("Waiting for claim to be in bound phase") - persistentvolumes, err := e2epv.WaitForPVClaimBoundPhase(ctx, client, pvclaims, timeouts.ClaimProvision) - framework.ExpectNoError(err) - return pvclaim, persistentvolumes -} - -func createPodAndVerifyVolumeAccessible(ctx context.Context, f *framework.Framework, pvclaim *v1.PersistentVolumeClaim, persistentvolumes []*v1.PersistentVolume) *v1.Pod { - var pvclaims []*v1.PersistentVolumeClaim - pvclaims = append(pvclaims, pvclaim) - ginkgo.By("Creating pod to attach PV to the node") - // Create pod to attach Volume to Node - pod, err := e2epod.CreatePod(ctx, f.ClientSet, f.Namespace.Name, nil, pvclaims, f.NamespacePodSecurityLevel, execCommand) - framework.ExpectNoError(err) - - // Asserts: Right disk is attached to the pod - ginkgo.By("Verify the volume is accessible and available in the pod") - verifyVSphereVolumesAccessible(ctx, f.ClientSet, pod, persistentvolumes) - return pod -} - -// detachVolume delete the volume passed in the argument and wait until volume is detached from the node, -func detachVolume(ctx context.Context, f *framework.Framework, pod *v1.Pod, volPath string) { - pod, err := f.ClientSet.CoreV1().Pods(pod.Namespace).Get(ctx, pod.Name, metav1.GetOptions{}) - framework.ExpectNoError(err) - nodeName := pod.Spec.NodeName - ginkgo.By("Deleting pod") - err = e2epod.DeletePodWithWait(ctx, f.ClientSet, pod) - framework.ExpectNoError(err) - - ginkgo.By("Waiting for volumes to be detached from the node") - framework.ExpectNoError(waitForVSphereDiskToDetach(ctx, volPath, nodeName)) -} diff --git a/test/e2e/storage/vsphere/vsphere_volume_master_restart.go b/test/e2e/storage/vsphere/vsphere_volume_master_restart.go deleted file mode 100644 index 2bfebd09ba9..00000000000 --- a/test/e2e/storage/vsphere/vsphere_volume_master_restart.go +++ /dev/null @@ -1,202 +0,0 @@ -/* -Copyright 2017 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vsphere - -import ( - "context" - "fmt" - "strconv" - "strings" - "time" - - "github.com/onsi/ginkgo/v2" - "github.com/onsi/gomega" - - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/util/uuid" - clientset "k8s.io/client-go/kubernetes" - "k8s.io/kubernetes/pkg/cluster/ports" - "k8s.io/kubernetes/test/e2e/feature" - "k8s.io/kubernetes/test/e2e/framework" - e2enode "k8s.io/kubernetes/test/e2e/framework/node" - e2epod "k8s.io/kubernetes/test/e2e/framework/pod" - e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" - e2essh "k8s.io/kubernetes/test/e2e/framework/ssh" - "k8s.io/kubernetes/test/e2e/storage/utils" - admissionapi "k8s.io/pod-security-admission/api" -) - -// waitForKubeletUp waits for the kubelet on the given host to be up. -func waitForKubeletUp(ctx context.Context, host string) error { - cmd := "curl http://localhost:" + strconv.Itoa(ports.KubeletReadOnlyPort) + "/healthz" - for start := time.Now(); time.Since(start) < time.Minute; time.Sleep(5 * time.Second) { - result, err := e2essh.SSH(ctx, cmd, host, framework.TestContext.Provider) - if err != nil || result.Code != 0 { - e2essh.LogResult(result) - } - if result.Stdout == "ok" { - return nil - } - } - return fmt.Errorf("waiting for kubelet timed out") -} - -// restartKubelet restarts kubelet on the given host. -func restartKubelet(ctx context.Context, host string) error { - var cmd string - - var sudoPresent bool - sshResult, err := e2essh.SSH(ctx, "sudo --version", host, framework.TestContext.Provider) - if err != nil { - return fmt.Errorf("Unable to ssh to host %s with error %v", host, err) - } - if !strings.Contains(sshResult.Stderr, "command not found") { - sudoPresent = true - } - sshResult, err = e2essh.SSH(ctx, "systemctl --version", host, framework.TestContext.Provider) - if err != nil { - return fmt.Errorf("Failed to execute command 'systemctl' on host %s with error %v", host, err) - } - if !strings.Contains(sshResult.Stderr, "command not found") { - cmd = "systemctl restart kubelet" - } else { - cmd = "service kubelet restart" - } - if sudoPresent { - cmd = fmt.Sprintf("sudo %s", cmd) - } - - framework.Logf("Restarting kubelet via ssh on host %s with command %s", host, cmd) - result, err := e2essh.SSH(ctx, cmd, host, framework.TestContext.Provider) - if err != nil || result.Code != 0 { - e2essh.LogResult(result) - return fmt.Errorf("couldn't restart kubelet: %w", err) - } - return nil -} - -/* -Test to verify volume remains attached after kubelet restart on master node -For the number of schedulable nodes, -1. Create a volume with default volume options -2. Create a Pod -3. Verify the volume is attached -4. Restart the kubelet on master node -5. Verify again that the volume is attached -6. Delete the pod and wait for the volume to be detached -7. Delete the volume -*/ -var _ = utils.SIGDescribe("Volume Attach Verify", feature.Vsphere, framework.WithSerial(), framework.WithDisruptive(), func() { - f := framework.NewDefaultFramework("restart-master") - f.NamespacePodSecurityLevel = admissionapi.LevelPrivileged - - const labelKey = "vsphere_e2e_label" - var ( - client clientset.Interface - namespace string - volumePaths []string - pods []*v1.Pod - numNodes int - nodeKeyValueLabelList []map[string]string - nodeNameList []string - nodeInfo *NodeInfo - ) - ginkgo.BeforeEach(func(ctx context.Context) { - e2eskipper.SkipUnlessProviderIs("vsphere") - Bootstrap(f) - client = f.ClientSet - namespace = f.Namespace.Name - framework.ExpectNoError(e2enode.WaitForAllNodesSchedulable(ctx, client, f.Timeouts.NodeSchedulable)) - - nodes, err := e2enode.GetReadySchedulableNodes(ctx, client) - framework.ExpectNoError(err) - numNodes = len(nodes.Items) - if numNodes < 2 { - e2eskipper.Skipf("Requires at least %d nodes (not %d)", 2, len(nodes.Items)) - } - nodeInfo = TestContext.NodeMapper.GetNodeInfo(nodes.Items[0].Name) - for i := 0; i < numNodes; i++ { - nodeName := nodes.Items[i].Name - nodeNameList = append(nodeNameList, nodeName) - nodeLabelValue := "vsphere_e2e_" + string(uuid.NewUUID()) - nodeKeyValueLabel := make(map[string]string) - nodeKeyValueLabel[labelKey] = nodeLabelValue - nodeKeyValueLabelList = append(nodeKeyValueLabelList, nodeKeyValueLabel) - e2enode.AddOrUpdateLabelOnNode(client, nodeName, labelKey, nodeLabelValue) - } - }) - - ginkgo.It("verify volume remains attached after master kubelet restart", func(ctx context.Context) { - e2eskipper.SkipUnlessSSHKeyPresent() - - // Create pod on each node - for i := 0; i < numNodes; i++ { - ginkgo.By(fmt.Sprintf("%d: Creating a test vsphere volume", i)) - volumePath, err := nodeInfo.VSphere.CreateVolume(&VolumeOptions{}, nodeInfo.DataCenterRef) - framework.ExpectNoError(err) - volumePaths = append(volumePaths, volumePath) - - ginkgo.By(fmt.Sprintf("Creating pod %d on node %v", i, nodeNameList[i])) - podspec := getVSpherePodSpecWithVolumePaths([]string{volumePath}, nodeKeyValueLabelList[i], nil) - pod, err := client.CoreV1().Pods(namespace).Create(ctx, podspec, metav1.CreateOptions{}) - framework.ExpectNoError(err) - ginkgo.DeferCleanup(e2epod.DeletePodWithWait, client, pod) - - ginkgo.By("Waiting for pod to be ready") - gomega.Expect(e2epod.WaitForPodNameRunningInNamespace(ctx, client, pod.Name, namespace)).To(gomega.Succeed()) - - pod, err = client.CoreV1().Pods(namespace).Get(ctx, pod.Name, metav1.GetOptions{}) - framework.ExpectNoError(err) - - pods = append(pods, pod) - - nodeName := pod.Spec.NodeName - ginkgo.By(fmt.Sprintf("Verify volume %s is attached to the node %s", volumePath, nodeName)) - expectVolumeToBeAttached(ctx, nodeName, volumePath) - } - - ginkgo.By("Restarting kubelet on instance node") - instanceAddress := framework.APIAddress() + ":22" - err := restartKubelet(ctx, instanceAddress) - framework.ExpectNoError(err, "Unable to restart kubelet on instance node") - - ginkgo.By("Verifying the kubelet on instance node is up") - err = waitForKubeletUp(ctx, instanceAddress) - framework.ExpectNoError(err) - - for i, pod := range pods { - volumePath := volumePaths[i] - nodeName := pod.Spec.NodeName - - ginkgo.By(fmt.Sprintf("After master restart, verify volume %v is attached to the node %v", volumePath, nodeName)) - expectVolumeToBeAttached(ctx, nodeName, volumePath) - - ginkgo.By(fmt.Sprintf("Deleting pod on node %s", nodeName)) - err = e2epod.DeletePodWithWait(ctx, client, pod) - framework.ExpectNoError(err) - - ginkgo.By(fmt.Sprintf("Waiting for volume %s to be detached from the node %s", volumePath, nodeName)) - err = waitForVSphereDiskToDetach(ctx, volumePath, nodeName) - framework.ExpectNoError(err) - - ginkgo.By(fmt.Sprintf("Deleting volume %s", volumePath)) - err = nodeInfo.VSphere.DeleteVolume(volumePath, nodeInfo.DataCenterRef) - framework.ExpectNoError(err) - } - }) -}) diff --git a/test/e2e/storage/vsphere/vsphere_volume_node_delete.go b/test/e2e/storage/vsphere/vsphere_volume_node_delete.go deleted file mode 100644 index e601b3afd0b..00000000000 --- a/test/e2e/storage/vsphere/vsphere_volume_node_delete.go +++ /dev/null @@ -1,124 +0,0 @@ -/* -Copyright 2017 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vsphere - -import ( - "context" - - "github.com/onsi/ginkgo/v2" - "github.com/onsi/gomega" - "github.com/vmware/govmomi/object" - - clientset "k8s.io/client-go/kubernetes" - "k8s.io/kubernetes/test/e2e/feature" - "k8s.io/kubernetes/test/e2e/framework" - e2enode "k8s.io/kubernetes/test/e2e/framework/node" - e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" - "k8s.io/kubernetes/test/e2e/storage/utils" - admissionapi "k8s.io/pod-security-admission/api" -) - -var _ = utils.SIGDescribe("Node Unregister", feature.Vsphere, framework.WithSlow(), framework.WithDisruptive(), func() { - f := framework.NewDefaultFramework("node-unregister") - f.NamespacePodSecurityLevel = admissionapi.LevelPrivileged - var ( - client clientset.Interface - namespace string - workingDir string - err error - ) - - ginkgo.BeforeEach(func(ctx context.Context) { - e2eskipper.SkipUnlessProviderIs("vsphere") - Bootstrap(f) - client = f.ClientSet - namespace = f.Namespace.Name - framework.ExpectNoError(e2enode.WaitForAllNodesSchedulable(ctx, client, f.Timeouts.NodeSchedulable)) - framework.ExpectNoError(err) - workingDir = GetAndExpectStringEnvVar("VSPHERE_WORKING_DIR") - }) - - ginkgo.It("node unregister", func(ctx context.Context) { - ginkgo.By("Get total Ready nodes") - nodeList, err := e2enode.GetReadySchedulableNodes(ctx, f.ClientSet) - framework.ExpectNoError(err) - if len(nodeList.Items) < 2 { - framework.Failf("At least 2 nodes are required for this test, got instead: %v", len(nodeList.Items)) - } - - totalNodesCount := len(nodeList.Items) - nodeVM := nodeList.Items[0] - - nodeInfo := TestContext.NodeMapper.GetNodeInfo(nodeVM.ObjectMeta.Name) - vmObject := object.NewVirtualMachine(nodeInfo.VSphere.Client.Client, nodeInfo.VirtualMachineRef) - - // Find VM .vmx file path, host, resource pool. - // They are required to register a node VM to VC - vmxFilePath := getVMXFilePath(ctx, vmObject) - - vmHost, err := vmObject.HostSystem(ctx) - framework.ExpectNoError(err) - - vmPool, err := vmObject.ResourcePool(ctx) - framework.ExpectNoError(err) - - // Unregister Node VM - ginkgo.By("Unregister a node VM") - unregisterNodeVM(ctx, nodeVM.ObjectMeta.Name, vmObject) - - // Ready nodes should be 1 less - ginkgo.By("Verifying the ready node counts") - if !verifyReadyNodeCount(ctx, f.ClientSet, totalNodesCount-1) { - framework.Failf("Unable to verify expected ready node count. Total Nodes: %d, Expected Ready Nodes: %d", totalNodesCount, totalNodesCount-1) - } - - nodeList, err = e2enode.GetReadySchedulableNodes(ctx, client) - framework.ExpectNoError(err) - - var nodeNameList []string - for _, node := range nodeList.Items { - nodeNameList = append(nodeNameList, node.ObjectMeta.Name) - } - gomega.Expect(nodeNameList).NotTo(gomega.ContainElement(nodeVM.ObjectMeta.Name)) - - // Register Node VM - ginkgo.By("Register back the node VM") - registerNodeVM(ctx, nodeVM.ObjectMeta.Name, workingDir, vmxFilePath, vmPool, vmHost) - - // Ready nodes should be equal to earlier count - ginkgo.By("Verifying the ready node counts") - if !verifyReadyNodeCount(ctx, f.ClientSet, totalNodesCount) { - framework.Failf("Unable to verify expected ready node count. Total Nodes: %d, Expected Ready Nodes: %d", totalNodesCount, totalNodesCount) - } - - nodeList, err = e2enode.GetReadySchedulableNodes(ctx, client) - framework.ExpectNoError(err) - - nodeNameList = nodeNameList[:0] - for _, node := range nodeList.Items { - nodeNameList = append(nodeNameList, node.ObjectMeta.Name) - } - gomega.Expect(nodeNameList).To(gomega.ContainElement(nodeVM.ObjectMeta.Name)) - - // Sanity test that pod provisioning works - ginkgo.By("Sanity check for volume lifecycle") - scParameters := make(map[string]string) - storagePolicy := GetAndExpectStringEnvVar("VSPHERE_SPBM_GOLD_POLICY") - scParameters[SpbmStoragePolicy] = storagePolicy - invokeValidPolicyTest(ctx, f, client, namespace, scParameters) - }) -}) diff --git a/test/e2e/storage/vsphere/vsphere_volume_node_poweroff.go b/test/e2e/storage/vsphere/vsphere_volume_node_poweroff.go deleted file mode 100644 index 295b5d77875..00000000000 --- a/test/e2e/storage/vsphere/vsphere_volume_node_poweroff.go +++ /dev/null @@ -1,192 +0,0 @@ -/* -Copyright 2017 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vsphere - -import ( - "context" - "fmt" - "time" - - "github.com/onsi/ginkgo/v2" - "github.com/onsi/gomega" - "github.com/vmware/govmomi/object" - vimtypes "github.com/vmware/govmomi/vim25/types" - - appsv1 "k8s.io/api/apps/v1" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/util/wait" - clientset "k8s.io/client-go/kubernetes" - "k8s.io/kubernetes/test/e2e/feature" - "k8s.io/kubernetes/test/e2e/framework" - e2edeployment "k8s.io/kubernetes/test/e2e/framework/deployment" - e2enode "k8s.io/kubernetes/test/e2e/framework/node" - e2epv "k8s.io/kubernetes/test/e2e/framework/pv" - e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" - "k8s.io/kubernetes/test/e2e/storage/utils" - admissionapi "k8s.io/pod-security-admission/api" -) - -/* -Test to verify volume status after node power off: -1. Verify the pod got provisioned on a different node with volume attached to it -2. Verify the volume is detached from the powered off node -*/ -var _ = utils.SIGDescribe("Node Poweroff", feature.Vsphere, framework.WithSlow(), framework.WithDisruptive(), func() { - f := framework.NewDefaultFramework("node-poweroff") - f.NamespacePodSecurityLevel = admissionapi.LevelPrivileged - var ( - client clientset.Interface - namespace string - ) - - ginkgo.BeforeEach(func(ctx context.Context) { - e2eskipper.SkipUnlessProviderIs("vsphere") - Bootstrap(f) - client = f.ClientSet - namespace = f.Namespace.Name - framework.ExpectNoError(e2enode.WaitForAllNodesSchedulable(ctx, client, f.Timeouts.NodeSchedulable)) - nodeList, err := e2enode.GetReadySchedulableNodes(ctx, f.ClientSet) - framework.ExpectNoError(err) - if len(nodeList.Items) < 2 { - framework.Failf("At least 2 nodes are required for this test, got instead: %v", len(nodeList.Items)) - } - }) - - /* - Steps: - 1. Create a StorageClass - 2. Create a PVC with the StorageClass - 3. Create a Deployment with 1 replica, using the PVC - 4. Verify the pod got provisioned on a node - 5. Verify the volume is attached to the node - 6. Power off the node where pod got provisioned - 7. Verify the pod got provisioned on a different node - 8. Verify the volume is attached to the new node - 9. Verify the volume is detached from the old node - 10. Delete the Deployment and wait for the volume to be detached - 11. Delete the PVC - 12. Delete the StorageClass - */ - ginkgo.It("verify volume status after node power off", func(ctx context.Context) { - ginkgo.By("Creating a Storage Class") - storageClassSpec := getVSphereStorageClassSpec("test-sc", nil, nil, "") - storageclass, err := client.StorageV1().StorageClasses().Create(ctx, storageClassSpec, metav1.CreateOptions{}) - framework.ExpectNoError(err, fmt.Sprintf("Failed to create storage class with err: %v", err)) - ginkgo.DeferCleanup(framework.IgnoreNotFound(client.StorageV1().StorageClasses().Delete), storageclass.Name, metav1.DeleteOptions{}) - - ginkgo.By("Creating PVC using the Storage Class") - pvclaimSpec := getVSphereClaimSpecWithStorageClass(namespace, "1Gi", storageclass) - pvclaim, err := e2epv.CreatePVC(ctx, client, namespace, pvclaimSpec) - framework.ExpectNoError(err, fmt.Sprintf("Failed to create PVC with err: %v", err)) - ginkgo.DeferCleanup(e2epv.DeletePersistentVolumeClaim, client, pvclaim.Name, namespace) - - ginkgo.By("Waiting for PVC to be in bound phase") - pvclaims := []*v1.PersistentVolumeClaim{pvclaim} - pvs, err := e2epv.WaitForPVClaimBoundPhase(ctx, client, pvclaims, f.Timeouts.ClaimProvision) - framework.ExpectNoError(err, fmt.Sprintf("Failed to wait until PVC phase set to bound: %v", err)) - volumePath := pvs[0].Spec.VsphereVolume.VolumePath - - ginkgo.By("Creating a Deployment") - deployment, err := e2edeployment.CreateDeployment(ctx, client, int32(1), map[string]string{"test": "app"}, nil, namespace, pvclaims, admissionapi.LevelRestricted, "") - framework.ExpectNoError(err, fmt.Sprintf("Failed to create Deployment with err: %v", err)) - ginkgo.DeferCleanup(framework.IgnoreNotFound(client.AppsV1().Deployments(namespace).Delete), deployment.Name, metav1.DeleteOptions{}) - - ginkgo.By("Get pod from the deployment") - podList, err := e2edeployment.GetPodsForDeployment(ctx, client, deployment) - framework.ExpectNoError(err, fmt.Sprintf("Failed to get pod from the deployment with err: %v", err)) - gomega.Expect(podList.Items).NotTo(gomega.BeEmpty()) - pod := podList.Items[0] - node1 := pod.Spec.NodeName - - ginkgo.By(fmt.Sprintf("Verify disk is attached to the node: %v", node1)) - isAttached, err := diskIsAttached(ctx, volumePath, node1) - framework.ExpectNoError(err) - if !isAttached { - framework.Failf("Volume: %s is not attached to the node: %v", volumePath, node1) - } - - ginkgo.By(fmt.Sprintf("Power off the node: %v", node1)) - - nodeInfo := TestContext.NodeMapper.GetNodeInfo(node1) - vm := object.NewVirtualMachine(nodeInfo.VSphere.Client.Client, nodeInfo.VirtualMachineRef) - _, err = vm.PowerOff(ctx) - framework.ExpectNoError(err) - ginkgo.DeferCleanup(vm.PowerOn) - - err = vm.WaitForPowerState(ctx, vimtypes.VirtualMachinePowerStatePoweredOff) - framework.ExpectNoError(err, "Unable to power off the node") - - // Waiting for the pod to be failed over to a different node - node2, err := waitForPodToFailover(ctx, client, deployment, node1) - framework.ExpectNoError(err, "Pod did not fail over to a different node") - - ginkgo.By(fmt.Sprintf("Waiting for disk to be attached to the new node: %v", node2)) - err = waitForVSphereDiskToAttach(ctx, volumePath, node2) - framework.ExpectNoError(err, "Disk is not attached to the node") - - ginkgo.By(fmt.Sprintf("Waiting for disk to be detached from the previous node: %v", node1)) - err = waitForVSphereDiskToDetach(ctx, volumePath, node1) - framework.ExpectNoError(err, "Disk is not detached from the node") - - ginkgo.By(fmt.Sprintf("Power on the previous node: %v", node1)) - vm.PowerOn(ctx) - err = vm.WaitForPowerState(ctx, vimtypes.VirtualMachinePowerStatePoweredOn) - framework.ExpectNoError(err, "Unable to power on the node") - }) -}) - -// Wait until the pod failed over to a different node, or time out after 3 minutes -func waitForPodToFailover(ctx context.Context, client clientset.Interface, deployment *appsv1.Deployment, oldNode string) (string, error) { - var ( - timeout = 3 * time.Minute - pollTime = 10 * time.Second - ) - - waitErr := wait.PollWithContext(ctx, pollTime, timeout, func(ctx context.Context) (bool, error) { - currentNode, err := getNodeForDeployment(ctx, client, deployment) - if err != nil { - return true, err - } - - if currentNode != oldNode { - framework.Logf("The pod has been failed over from %q to %q", oldNode, currentNode) - return true, nil - } - - framework.Logf("Waiting for pod to be failed over from %q", oldNode) - return false, nil - }) - - if waitErr != nil { - if wait.Interrupted(waitErr) { - return "", fmt.Errorf("pod has not failed over after %v: %v", timeout, waitErr) - } - return "", fmt.Errorf("pod did not fail over from %q: %v", oldNode, waitErr) - } - - return getNodeForDeployment(ctx, client, deployment) -} - -// getNodeForDeployment returns node name for the Deployment -func getNodeForDeployment(ctx context.Context, client clientset.Interface, deployment *appsv1.Deployment) (string, error) { - podList, err := e2edeployment.GetPodsForDeployment(ctx, client, deployment) - if err != nil { - return "", err - } - return podList.Items[0].Spec.NodeName, nil -} diff --git a/test/e2e/storage/vsphere/vsphere_volume_ops_storm.go b/test/e2e/storage/vsphere/vsphere_volume_ops_storm.go deleted file mode 100644 index 637c5801431..00000000000 --- a/test/e2e/storage/vsphere/vsphere_volume_ops_storm.go +++ /dev/null @@ -1,128 +0,0 @@ -/* -Copyright 2017 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vsphere - -import ( - "context" - "fmt" - "os" - "strconv" - - "github.com/onsi/ginkgo/v2" - "github.com/onsi/gomega" - v1 "k8s.io/api/core/v1" - storagev1 "k8s.io/api/storage/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - clientset "k8s.io/client-go/kubernetes" - "k8s.io/kubernetes/test/e2e/feature" - "k8s.io/kubernetes/test/e2e/framework" - e2epod "k8s.io/kubernetes/test/e2e/framework/pod" - e2epv "k8s.io/kubernetes/test/e2e/framework/pv" - e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" - "k8s.io/kubernetes/test/e2e/storage/utils" - admissionapi "k8s.io/pod-security-admission/api" -) - -/* - Test to perform Disk Ops storm. - - Steps - 1. Create storage class for thin Provisioning. - 2. Create 30 PVCs using above storage class in annotation, requesting 2 GB files. - 3. Wait until all disks are ready and all PVs and PVCs get bind. (CreateVolume storm) - 4. Create pod to mount volumes using PVCs created in step 2. (AttachDisk storm) - 5. Wait for pod status to be running. - 6. Verify all volumes accessible and available in the pod. - 7. Delete pod. - 8. wait until volumes gets detached. (DetachDisk storm) - 9. Delete all PVCs. This should delete all Disks. (DeleteVolume storm) - 10. Delete storage class. -*/ - -var _ = utils.SIGDescribe("Volume Operations Storm", feature.Vsphere, func() { - f := framework.NewDefaultFramework("volume-ops-storm") - f.NamespacePodSecurityLevel = admissionapi.LevelPrivileged - const defaultVolumeOpsScale = 30 - var ( - client clientset.Interface - namespace string - storageclass *storagev1.StorageClass - pvclaims []*v1.PersistentVolumeClaim - persistentvolumes []*v1.PersistentVolume - err error - volumeOpsScale int - ) - ginkgo.BeforeEach(func(ctx context.Context) { - e2eskipper.SkipUnlessProviderIs("vsphere") - Bootstrap(f) - client = f.ClientSet - namespace = f.Namespace.Name - gomega.Expect(GetReadySchedulableNodeInfos(ctx, client)).NotTo(gomega.BeEmpty()) - if scale := os.Getenv("VOLUME_OPS_SCALE"); scale != "" { - volumeOpsScale, err = strconv.Atoi(scale) - framework.ExpectNoError(err) - } else { - volumeOpsScale = defaultVolumeOpsScale - } - pvclaims = make([]*v1.PersistentVolumeClaim, volumeOpsScale) - }) - ginkgo.AfterEach(func(ctx context.Context) { - ginkgo.By("Deleting PVCs") - for _, claim := range pvclaims { - _ = e2epv.DeletePersistentVolumeClaim(ctx, client, claim.Name, namespace) - } - ginkgo.By("Deleting StorageClass") - err = client.StorageV1().StorageClasses().Delete(ctx, storageclass.Name, metav1.DeleteOptions{}) - framework.ExpectNoError(err) - }) - - ginkgo.It("should create pod with many volumes and verify no attach call fails", func(ctx context.Context) { - ginkgo.By(fmt.Sprintf("Running test with VOLUME_OPS_SCALE: %v", volumeOpsScale)) - ginkgo.By("Creating Storage Class") - scParameters := make(map[string]string) - scParameters["diskformat"] = "thin" - storageclass, err = client.StorageV1().StorageClasses().Create(ctx, getVSphereStorageClassSpec("thinsc", scParameters, nil, ""), metav1.CreateOptions{}) - framework.ExpectNoError(err) - - ginkgo.By("Creating PVCs using the Storage Class") - count := 0 - for count < volumeOpsScale { - pvclaims[count], err = e2epv.CreatePVC(ctx, client, namespace, getVSphereClaimSpecWithStorageClass(namespace, "2Gi", storageclass)) - framework.ExpectNoError(err) - count++ - } - - ginkgo.By("Waiting for all claims to be in bound phase") - persistentvolumes, err = e2epv.WaitForPVClaimBoundPhase(ctx, client, pvclaims, f.Timeouts.ClaimProvision) - framework.ExpectNoError(err) - - ginkgo.By("Creating pod to attach PVs to the node") - pod, err := e2epod.CreatePod(ctx, client, namespace, nil, pvclaims, f.NamespacePodSecurityLevel, "") - framework.ExpectNoError(err) - - ginkgo.By("Verify all volumes are accessible and available in the pod") - verifyVSphereVolumesAccessible(ctx, client, pod, persistentvolumes) - - ginkgo.By("Deleting pod") - framework.ExpectNoError(e2epod.DeletePodWithWait(ctx, client, pod)) - - ginkgo.By("Waiting for volumes to be detached from the node") - for _, pv := range persistentvolumes { - framework.ExpectNoError(waitForVSphereDiskToDetach(ctx, pv.Spec.VsphereVolume.VolumePath, pod.Spec.NodeName)) - } - }) -}) diff --git a/test/e2e/storage/vsphere/vsphere_volume_perf.go b/test/e2e/storage/vsphere/vsphere_volume_perf.go deleted file mode 100644 index 0d71117edd0..00000000000 --- a/test/e2e/storage/vsphere/vsphere_volume_perf.go +++ /dev/null @@ -1,244 +0,0 @@ -/* -Copyright 2017 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vsphere - -import ( - "context" - "fmt" - "time" - - "github.com/onsi/ginkgo/v2" - "github.com/onsi/gomega" - v1 "k8s.io/api/core/v1" - storagev1 "k8s.io/api/storage/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - clientset "k8s.io/client-go/kubernetes" - "k8s.io/kubernetes/test/e2e/feature" - "k8s.io/kubernetes/test/e2e/framework" - e2enode "k8s.io/kubernetes/test/e2e/framework/node" - e2epod "k8s.io/kubernetes/test/e2e/framework/pod" - e2epv "k8s.io/kubernetes/test/e2e/framework/pv" - e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" - "k8s.io/kubernetes/test/e2e/storage/utils" - admissionapi "k8s.io/pod-security-admission/api" -) - -/* - This test calculates latency numbers for volume lifecycle operations - -1. Create 4 type of storage classes -2. Read the total number of volumes to be created and volumes per pod -3. Create total PVCs (number of volumes) -4. Create Pods with attached volumes per pod -5. Verify access to the volumes -6. Delete pods and wait for volumes to detach -7. Delete the PVCs -*/ -const ( - SCSIUnitsAvailablePerNode = 55 - CreateOp = "CreateOp" - AttachOp = "AttachOp" - DetachOp = "DetachOp" - DeleteOp = "DeleteOp" -) - -var _ = utils.SIGDescribe("vcp-performance", feature.Vsphere, func() { - f := framework.NewDefaultFramework("vcp-performance") - f.NamespacePodSecurityLevel = admissionapi.LevelPrivileged - - var ( - client clientset.Interface - namespace string - nodeSelectorList []*NodeSelector - policyName string - datastoreName string - volumeCount int - volumesPerPod int - iterations int - ) - - ginkgo.BeforeEach(func(ctx context.Context) { - e2eskipper.SkipUnlessProviderIs("vsphere") - Bootstrap(f) - client = f.ClientSet - namespace = f.Namespace.Name - - // Read the environment variables - volumeCount = GetAndExpectIntEnvVar(VCPPerfVolumeCount) - volumesPerPod = GetAndExpectIntEnvVar(VCPPerfVolumesPerPod) - iterations = GetAndExpectIntEnvVar(VCPPerfIterations) - - policyName = GetAndExpectStringEnvVar(SPBMPolicyName) - datastoreName = GetAndExpectStringEnvVar(StorageClassDatastoreName) - - nodes, err := e2enode.GetReadySchedulableNodes(ctx, client) - framework.ExpectNoError(err) - gomega.Expect(nodes.Items).ToNot(gomega.BeEmpty(), "Requires at least one ready node") - - msg := fmt.Sprintf("Cannot attach %d volumes to %d nodes. Maximum volumes that can be attached on %d nodes is %d", volumeCount, len(nodes.Items), len(nodes.Items), SCSIUnitsAvailablePerNode*len(nodes.Items)) - gomega.Expect(volumeCount).To(gomega.BeNumerically("<=", SCSIUnitsAvailablePerNode*len(nodes.Items)), msg) - - msg = fmt.Sprintf("Cannot attach %d volumes per pod. Maximum volumes that can be attached per pod is %d", volumesPerPod, SCSIUnitsAvailablePerNode) - gomega.Expect(volumesPerPod).To(gomega.BeNumerically("<=", SCSIUnitsAvailablePerNode), msg) - - nodeSelectorList = createNodeLabels(client, namespace, nodes) - }) - - ginkgo.It("vcp performance tests", func(ctx context.Context) { - scList := getTestStorageClasses(ctx, client, policyName, datastoreName) - for _, sc := range scList { - ginkgo.DeferCleanup(framework.IgnoreNotFound(client.StorageV1().StorageClasses().Delete), sc.Name, metav1.DeleteOptions{}) - } - - sumLatency := make(map[string]float64) - for i := 0; i < iterations; i++ { - latency := invokeVolumeLifeCyclePerformance(ctx, f, client, namespace, scList, volumesPerPod, volumeCount, nodeSelectorList) - for key, val := range latency { - sumLatency[key] += val - } - } - - iterations64 := float64(iterations) - framework.Logf("Average latency for below operations") - framework.Logf("Creating %d PVCs and waiting for bound phase: %v seconds", volumeCount, sumLatency[CreateOp]/iterations64) - framework.Logf("Creating %v Pod: %v seconds", volumeCount/volumesPerPod, sumLatency[AttachOp]/iterations64) - framework.Logf("Deleting %v Pod and waiting for disk to be detached: %v seconds", volumeCount/volumesPerPod, sumLatency[DetachOp]/iterations64) - framework.Logf("Deleting %v PVCs: %v seconds", volumeCount, sumLatency[DeleteOp]/iterations64) - - }) -}) - -func getTestStorageClasses(ctx context.Context, client clientset.Interface, policyName, datastoreName string) []*storagev1.StorageClass { - const ( - storageclass1 = "sc-default" - storageclass2 = "sc-vsan" - storageclass3 = "sc-spbm" - storageclass4 = "sc-user-specified-ds" - ) - scNames := []string{storageclass1, storageclass2, storageclass3, storageclass4} - scArrays := make([]*storagev1.StorageClass, len(scNames)) - for index, scname := range scNames { - // Create vSphere Storage Class - ginkgo.By(fmt.Sprintf("Creating Storage Class : %v", scname)) - var sc *storagev1.StorageClass - var err error - switch scname { - case storageclass1: - sc, err = client.StorageV1().StorageClasses().Create(ctx, getVSphereStorageClassSpec(storageclass1, nil, nil, ""), metav1.CreateOptions{}) - case storageclass2: - var scVSanParameters map[string]string - scVSanParameters = make(map[string]string) - scVSanParameters[PolicyHostFailuresToTolerate] = "1" - sc, err = client.StorageV1().StorageClasses().Create(ctx, getVSphereStorageClassSpec(storageclass2, scVSanParameters, nil, ""), metav1.CreateOptions{}) - case storageclass3: - var scSPBMPolicyParameters map[string]string - scSPBMPolicyParameters = make(map[string]string) - scSPBMPolicyParameters[SpbmStoragePolicy] = policyName - sc, err = client.StorageV1().StorageClasses().Create(ctx, getVSphereStorageClassSpec(storageclass3, scSPBMPolicyParameters, nil, ""), metav1.CreateOptions{}) - case storageclass4: - var scWithDSParameters map[string]string - scWithDSParameters = make(map[string]string) - scWithDSParameters[Datastore] = datastoreName - scWithDatastoreSpec := getVSphereStorageClassSpec(storageclass4, scWithDSParameters, nil, "") - sc, err = client.StorageV1().StorageClasses().Create(ctx, scWithDatastoreSpec, metav1.CreateOptions{}) - } - gomega.Expect(sc).NotTo(gomega.BeNil()) - framework.ExpectNoError(err) - scArrays[index] = sc - } - return scArrays -} - -// invokeVolumeLifeCyclePerformance peforms full volume life cycle management and records latency for each operation -func invokeVolumeLifeCyclePerformance(ctx context.Context, f *framework.Framework, client clientset.Interface, namespace string, sc []*storagev1.StorageClass, volumesPerPod int, volumeCount int, nodeSelectorList []*NodeSelector) (latency map[string]float64) { - var ( - totalpvclaims [][]*v1.PersistentVolumeClaim - totalpvs [][]*v1.PersistentVolume - totalpods []*v1.Pod - ) - nodeVolumeMap := make(map[string][]string) - latency = make(map[string]float64) - numPods := volumeCount / volumesPerPod - - ginkgo.By(fmt.Sprintf("Creating %d PVCs", volumeCount)) - start := time.Now() - for i := 0; i < numPods; i++ { - var pvclaims []*v1.PersistentVolumeClaim - for j := 0; j < volumesPerPod; j++ { - currsc := sc[((i*numPods)+j)%len(sc)] - pvclaim, err := e2epv.CreatePVC(ctx, client, namespace, getVSphereClaimSpecWithStorageClass(namespace, "2Gi", currsc)) - framework.ExpectNoError(err) - pvclaims = append(pvclaims, pvclaim) - } - totalpvclaims = append(totalpvclaims, pvclaims) - } - for _, pvclaims := range totalpvclaims { - persistentvolumes, err := e2epv.WaitForPVClaimBoundPhase(ctx, client, pvclaims, f.Timeouts.ClaimProvision) - framework.ExpectNoError(err) - totalpvs = append(totalpvs, persistentvolumes) - } - elapsed := time.Since(start) - latency[CreateOp] = elapsed.Seconds() - - ginkgo.By("Creating pod to attach PVs to the node") - start = time.Now() - for i, pvclaims := range totalpvclaims { - nodeSelector := nodeSelectorList[i%len(nodeSelectorList)] - pod, err := e2epod.CreatePod(ctx, client, namespace, map[string]string{nodeSelector.labelKey: nodeSelector.labelValue}, pvclaims, f.NamespacePodSecurityLevel, "") - framework.ExpectNoError(err) - totalpods = append(totalpods, pod) - - ginkgo.DeferCleanup(e2epod.DeletePodWithWait, client, pod) - } - elapsed = time.Since(start) - latency[AttachOp] = elapsed.Seconds() - - for i, pod := range totalpods { - verifyVSphereVolumesAccessible(ctx, client, pod, totalpvs[i]) - } - - ginkgo.By("Deleting pods") - start = time.Now() - for _, pod := range totalpods { - err := e2epod.DeletePodWithWait(ctx, client, pod) - framework.ExpectNoError(err) - } - elapsed = time.Since(start) - latency[DetachOp] = elapsed.Seconds() - - for i, pod := range totalpods { - for _, pv := range totalpvs[i] { - nodeVolumeMap[pod.Spec.NodeName] = append(nodeVolumeMap[pod.Spec.NodeName], pv.Spec.VsphereVolume.VolumePath) - } - } - - err := waitForVSphereDisksToDetach(ctx, nodeVolumeMap) - framework.ExpectNoError(err) - - ginkgo.By("Deleting the PVCs") - start = time.Now() - for _, pvclaims := range totalpvclaims { - for _, pvc := range pvclaims { - err = e2epv.DeletePersistentVolumeClaim(ctx, client, pvc.Name, namespace) - framework.ExpectNoError(err) - } - } - elapsed = time.Since(start) - latency[DeleteOp] = elapsed.Seconds() - - return latency -} diff --git a/test/e2e/storage/vsphere/vsphere_volume_placement.go b/test/e2e/storage/vsphere/vsphere_volume_placement.go deleted file mode 100644 index 1729b50701e..00000000000 --- a/test/e2e/storage/vsphere/vsphere_volume_placement.go +++ /dev/null @@ -1,391 +0,0 @@ -/* -Copyright 2017 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vsphere - -import ( - "context" - "fmt" - "strconv" - "time" - - "github.com/onsi/ginkgo/v2" - "github.com/onsi/gomega" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/util/uuid" - clientset "k8s.io/client-go/kubernetes" - "k8s.io/kubernetes/test/e2e/feature" - "k8s.io/kubernetes/test/e2e/framework" - e2enode "k8s.io/kubernetes/test/e2e/framework/node" - e2epod "k8s.io/kubernetes/test/e2e/framework/pod" - e2eoutput "k8s.io/kubernetes/test/e2e/framework/pod/output" - e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" - "k8s.io/kubernetes/test/e2e/storage/utils" - admissionapi "k8s.io/pod-security-admission/api" -) - -var _ = utils.SIGDescribe("Volume Placement", feature.Vsphere, func() { - f := framework.NewDefaultFramework("volume-placement") - f.NamespacePodSecurityLevel = admissionapi.LevelPrivileged - const ( - NodeLabelKey = "vsphere_e2e_label_volume_placement" - ) - var ( - c clientset.Interface - ns string - volumePaths []string - node1Name string - node1KeyValueLabel map[string]string - node2Name string - node2KeyValueLabel map[string]string - nodeInfo *NodeInfo - vsp *VSphere - ) - ginkgo.BeforeEach(func(ctx context.Context) { - e2eskipper.SkipUnlessProviderIs("vsphere") - Bootstrap(f) - c = f.ClientSet - ns = f.Namespace.Name - framework.ExpectNoError(e2enode.WaitForAllNodesSchedulable(ctx, c, f.Timeouts.NodeSchedulable)) - node1Name, node1KeyValueLabel, node2Name, node2KeyValueLabel = testSetupVolumePlacement(ctx, c, ns) - ginkgo.DeferCleanup(func() { - if len(node1KeyValueLabel) > 0 { - e2enode.RemoveLabelOffNode(c, node1Name, NodeLabelKey) - } - if len(node2KeyValueLabel) > 0 { - e2enode.RemoveLabelOffNode(c, node2Name, NodeLabelKey) - } - }) - nodeInfo = TestContext.NodeMapper.GetNodeInfo(node1Name) - vsp = nodeInfo.VSphere - ginkgo.By("creating vmdk") - volumePath, err := vsp.CreateVolume(&VolumeOptions{}, nodeInfo.DataCenterRef) - framework.ExpectNoError(err) - volumePaths = append(volumePaths, volumePath) - ginkgo.DeferCleanup(func() { - for _, volumePath := range volumePaths { - vsp.DeleteVolume(volumePath, nodeInfo.DataCenterRef) - } - volumePaths = nil - }) - }) - - /* - Steps - - 1. Create pod Spec with volume path of the vmdk and NodeSelector set to label assigned to node1. - 2. Create pod and wait for pod to become ready. - 3. Verify volume is attached to the node1. - 4. Create empty file on the volume to verify volume is writable. - 5. Verify newly created file and previously created files exist on the volume. - 6. Delete pod. - 7. Wait for volume to be detached from the node1. - 8. Repeat Step 1 to 7 and make sure back to back pod creation on same worker node with the same volume is working as expected. - - */ - - ginkgo.It("should create and delete pod with the same volume source on the same worker node", func(ctx context.Context) { - var volumeFiles []string - pod := createPodWithVolumeAndNodeSelector(ctx, c, ns, node1Name, node1KeyValueLabel, volumePaths) - - // Create empty files on the mounted volumes on the pod to verify volume is writable - // Verify newly and previously created files present on the volume mounted on the pod - newEmptyFileName := fmt.Sprintf("/mnt/volume1/%v_1.txt", ns) - volumeFiles = append(volumeFiles, newEmptyFileName) - createAndVerifyFilesOnVolume(ns, pod.Name, []string{newEmptyFileName}, volumeFiles) - deletePodAndWaitForVolumeToDetach(ctx, f, c, pod, node1Name, volumePaths) - - ginkgo.By(fmt.Sprintf("Creating pod on the same node: %v", node1Name)) - pod = createPodWithVolumeAndNodeSelector(ctx, c, ns, node1Name, node1KeyValueLabel, volumePaths) - - // Create empty files on the mounted volumes on the pod to verify volume is writable - // Verify newly and previously created files present on the volume mounted on the pod - newEmptyFileName = fmt.Sprintf("/mnt/volume1/%v_2.txt", ns) - volumeFiles = append(volumeFiles, newEmptyFileName) - createAndVerifyFilesOnVolume(ns, pod.Name, []string{newEmptyFileName}, volumeFiles) - deletePodAndWaitForVolumeToDetach(ctx, f, c, pod, node1Name, volumePaths) - }) - - /* - Steps - - 1. Create pod Spec with volume path of the vmdk1 and NodeSelector set to node1's label. - 2. Create pod and wait for POD to become ready. - 3. Verify volume is attached to the node1. - 4. Create empty file on the volume to verify volume is writable. - 5. Verify newly created file and previously created files exist on the volume. - 6. Delete pod. - 7. Wait for volume to be detached from the node1. - 8. Create pod Spec with volume path of the vmdk1 and NodeSelector set to node2's label. - 9. Create pod and wait for pod to become ready. - 10. Verify volume is attached to the node2. - 11. Create empty file on the volume to verify volume is writable. - 12. Verify newly created file and previously created files exist on the volume. - 13. Delete pod. - */ - - ginkgo.It("should create and delete pod with the same volume source attach/detach to different worker nodes", func(ctx context.Context) { - var volumeFiles []string - pod := createPodWithVolumeAndNodeSelector(ctx, c, ns, node1Name, node1KeyValueLabel, volumePaths) - // Create empty files on the mounted volumes on the pod to verify volume is writable - // Verify newly and previously created files present on the volume mounted on the pod - newEmptyFileName := fmt.Sprintf("/mnt/volume1/%v_1.txt", ns) - volumeFiles = append(volumeFiles, newEmptyFileName) - createAndVerifyFilesOnVolume(ns, pod.Name, []string{newEmptyFileName}, volumeFiles) - deletePodAndWaitForVolumeToDetach(ctx, f, c, pod, node1Name, volumePaths) - - ginkgo.By(fmt.Sprintf("Creating pod on the another node: %v", node2Name)) - pod = createPodWithVolumeAndNodeSelector(ctx, c, ns, node2Name, node2KeyValueLabel, volumePaths) - - newEmptyFileName = fmt.Sprintf("/mnt/volume1/%v_2.txt", ns) - volumeFiles = append(volumeFiles, newEmptyFileName) - // Create empty files on the mounted volumes on the pod to verify volume is writable - // Verify newly and previously created files present on the volume mounted on the pod - createAndVerifyFilesOnVolume(ns, pod.Name, []string{newEmptyFileName}, volumeFiles) - deletePodAndWaitForVolumeToDetach(ctx, f, c, pod, node2Name, volumePaths) - }) - - /* - Test multiple volumes from same datastore within the same pod - 1. Create volumes - vmdk2 - 2. Create pod Spec with volume path of vmdk1 (vmdk1 is created in test setup) and vmdk2. - 3. Create pod using spec created in step-2 and wait for pod to become ready. - 4. Verify both volumes are attached to the node on which pod are created. Write some data to make sure volume are accessible. - 5. Delete pod. - 6. Wait for vmdk1 and vmdk2 to be detached from node. - 7. Create pod using spec created in step-2 and wait for pod to become ready. - 8. Verify both volumes are attached to the node on which PODs are created. Verify volume contents are matching with the content written in step 4. - 9. Delete POD. - 10. Wait for vmdk1 and vmdk2 to be detached from node. - */ - - ginkgo.It("should create and delete pod with multiple volumes from same datastore", func(ctx context.Context) { - ginkgo.By("creating another vmdk") - volumePath, err := vsp.CreateVolume(&VolumeOptions{}, nodeInfo.DataCenterRef) - framework.ExpectNoError(err) - volumePaths = append(volumePaths, volumePath) - - ginkgo.By(fmt.Sprintf("Creating pod on the node: %v with volume: %v and volume: %v", node1Name, volumePaths[0], volumePaths[1])) - pod := createPodWithVolumeAndNodeSelector(ctx, c, ns, node1Name, node1KeyValueLabel, volumePaths) - // Create empty files on the mounted volumes on the pod to verify volume is writable - // Verify newly and previously created files present on the volume mounted on the pod - volumeFiles := []string{ - fmt.Sprintf("/mnt/volume1/%v_1.txt", ns), - fmt.Sprintf("/mnt/volume2/%v_1.txt", ns), - } - createAndVerifyFilesOnVolume(ns, pod.Name, volumeFiles, volumeFiles) - deletePodAndWaitForVolumeToDetach(ctx, f, c, pod, node1Name, volumePaths) - ginkgo.By(fmt.Sprintf("Creating pod on the node: %v with volume :%v and volume: %v", node1Name, volumePaths[0], volumePaths[1])) - pod = createPodWithVolumeAndNodeSelector(ctx, c, ns, node1Name, node1KeyValueLabel, volumePaths) - // Create empty files on the mounted volumes on the pod to verify volume is writable - // Verify newly and previously created files present on the volume mounted on the pod - newEmptyFilesNames := []string{ - fmt.Sprintf("/mnt/volume1/%v_2.txt", ns), - fmt.Sprintf("/mnt/volume2/%v_2.txt", ns), - } - volumeFiles = append(volumeFiles, newEmptyFilesNames[0]) - volumeFiles = append(volumeFiles, newEmptyFilesNames[1]) - createAndVerifyFilesOnVolume(ns, pod.Name, newEmptyFilesNames, volumeFiles) - }) - - /* - Test multiple volumes from different datastore within the same pod - 1. Create volumes - vmdk2 on non default shared datastore. - 2. Create pod Spec with volume path of vmdk1 (vmdk1 is created in test setup on default datastore) and vmdk2. - 3. Create pod using spec created in step-2 and wait for pod to become ready. - 4. Verify both volumes are attached to the node on which pod are created. Write some data to make sure volume are accessible. - 5. Delete pod. - 6. Wait for vmdk1 and vmdk2 to be detached from node. - 7. Create pod using spec created in step-2 and wait for pod to become ready. - 8. Verify both volumes are attached to the node on which PODs are created. Verify volume contents are matching with the content written in step 4. - 9. Delete POD. - 10. Wait for vmdk1 and vmdk2 to be detached from node. - */ - ginkgo.It("should create and delete pod with multiple volumes from different datastore", func(ctx context.Context) { - ginkgo.By("creating another vmdk on non default shared datastore") - var volumeOptions *VolumeOptions - volumeOptions = new(VolumeOptions) - volumeOptions.CapacityKB = 2097152 - volumeOptions.Name = "e2e-vmdk-" + strconv.FormatInt(time.Now().UnixNano(), 10) - volumeOptions.Datastore = GetAndExpectStringEnvVar(SecondSharedDatastore) - volumePath, err := vsp.CreateVolume(volumeOptions, nodeInfo.DataCenterRef) - - framework.ExpectNoError(err) - volumePaths = append(volumePaths, volumePath) - - ginkgo.By(fmt.Sprintf("Creating pod on the node: %v with volume :%v and volume: %v", node1Name, volumePaths[0], volumePaths[1])) - pod := createPodWithVolumeAndNodeSelector(ctx, c, ns, node1Name, node1KeyValueLabel, volumePaths) - - // Create empty files on the mounted volumes on the pod to verify volume is writable - // Verify newly and previously created files present on the volume mounted on the pod - volumeFiles := []string{ - fmt.Sprintf("/mnt/volume1/%v_1.txt", ns), - fmt.Sprintf("/mnt/volume2/%v_1.txt", ns), - } - createAndVerifyFilesOnVolume(ns, pod.Name, volumeFiles, volumeFiles) - deletePodAndWaitForVolumeToDetach(ctx, f, c, pod, node1Name, volumePaths) - - ginkgo.By(fmt.Sprintf("Creating pod on the node: %v with volume :%v and volume: %v", node1Name, volumePaths[0], volumePaths[1])) - pod = createPodWithVolumeAndNodeSelector(ctx, c, ns, node1Name, node1KeyValueLabel, volumePaths) - // Create empty files on the mounted volumes on the pod to verify volume is writable - // Verify newly and previously created files present on the volume mounted on the pod - newEmptyFileNames := []string{ - fmt.Sprintf("/mnt/volume1/%v_2.txt", ns), - fmt.Sprintf("/mnt/volume2/%v_2.txt", ns), - } - volumeFiles = append(volumeFiles, newEmptyFileNames[0]) - volumeFiles = append(volumeFiles, newEmptyFileNames[1]) - createAndVerifyFilesOnVolume(ns, pod.Name, newEmptyFileNames, volumeFiles) - deletePodAndWaitForVolumeToDetach(ctx, f, c, pod, node1Name, volumePaths) - }) - - /* - Test Back-to-back pod creation/deletion with different volume sources on the same worker node - 1. Create volumes - vmdk2 - 2. Create pod Spec - pod-SpecA with volume path of vmdk1 and NodeSelector set to label assigned to node1. - 3. Create pod Spec - pod-SpecB with volume path of vmdk2 and NodeSelector set to label assigned to node1. - 4. Create pod-A using pod-SpecA and wait for pod to become ready. - 5. Create pod-B using pod-SpecB and wait for POD to become ready. - 6. Verify volumes are attached to the node. - 7. Create empty file on the volume to make sure volume is accessible. (Perform this step on pod-A and pod-B) - 8. Verify file created in step 5 is present on the volume. (perform this step on pod-A and pod-B) - 9. Delete pod-A and pod-B - 10. Repeatedly (5 times) perform step 4 to 9 and verify associated volume's content is matching. - 11. Wait for vmdk1 and vmdk2 to be detached from node. - */ - ginkgo.It("test back to back pod creation and deletion with different volume sources on the same worker node", func(ctx context.Context) { - var ( - podA *v1.Pod - podB *v1.Pod - testvolumePathsPodA []string - testvolumePathsPodB []string - podAFiles []string - podBFiles []string - ) - - defer func() { - ginkgo.By("clean up undeleted pods") - framework.ExpectNoError(e2epod.DeletePodWithWait(ctx, c, podA), "defer: Failed to delete pod ", podA.Name) - framework.ExpectNoError(e2epod.DeletePodWithWait(ctx, c, podB), "defer: Failed to delete pod ", podB.Name) - ginkgo.By(fmt.Sprintf("wait for volumes to be detached from the node: %v", node1Name)) - for _, volumePath := range volumePaths { - framework.ExpectNoError(waitForVSphereDiskToDetach(ctx, volumePath, node1Name)) - } - }() - - testvolumePathsPodA = append(testvolumePathsPodA, volumePaths[0]) - // Create another VMDK Volume - ginkgo.By("creating another vmdk") - volumePath, err := vsp.CreateVolume(&VolumeOptions{}, nodeInfo.DataCenterRef) - framework.ExpectNoError(err) - volumePaths = append(volumePaths, volumePath) - testvolumePathsPodB = append(testvolumePathsPodA, volumePath) - - for index := 0; index < 5; index++ { - ginkgo.By(fmt.Sprintf("Creating pod-A on the node: %v with volume: %v", node1Name, testvolumePathsPodA[0])) - podA = createPodWithVolumeAndNodeSelector(ctx, c, ns, node1Name, node1KeyValueLabel, testvolumePathsPodA) - - ginkgo.By(fmt.Sprintf("Creating pod-B on the node: %v with volume: %v", node1Name, testvolumePathsPodB[0])) - podB = createPodWithVolumeAndNodeSelector(ctx, c, ns, node1Name, node1KeyValueLabel, testvolumePathsPodB) - - podAFileName := fmt.Sprintf("/mnt/volume1/podA_%v_%v.txt", ns, index+1) - podBFileName := fmt.Sprintf("/mnt/volume1/podB_%v_%v.txt", ns, index+1) - podAFiles = append(podAFiles, podAFileName) - podBFiles = append(podBFiles, podBFileName) - - // Create empty files on the mounted volumes on the pod to verify volume is writable - ginkgo.By("Creating empty file on volume mounted on pod-A") - e2eoutput.CreateEmptyFileOnPod(ns, podA.Name, podAFileName) - - ginkgo.By("Creating empty file volume mounted on pod-B") - e2eoutput.CreateEmptyFileOnPod(ns, podB.Name, podBFileName) - - // Verify newly and previously created files present on the volume mounted on the pod - ginkgo.By("Verify newly Created file and previously created files present on volume mounted on pod-A") - verifyFilesExistOnVSphereVolume(ns, podA.Name, podAFiles...) - ginkgo.By("Verify newly Created file and previously created files present on volume mounted on pod-B") - verifyFilesExistOnVSphereVolume(ns, podB.Name, podBFiles...) - - ginkgo.By("Deleting pod-A") - framework.ExpectNoError(e2epod.DeletePodWithWait(ctx, c, podA), "Failed to delete pod ", podA.Name) - ginkgo.By("Deleting pod-B") - framework.ExpectNoError(e2epod.DeletePodWithWait(ctx, c, podB), "Failed to delete pod ", podB.Name) - } - }) -}) - -func testSetupVolumePlacement(ctx context.Context, client clientset.Interface, namespace string) (node1Name string, node1KeyValueLabel map[string]string, node2Name string, node2KeyValueLabel map[string]string) { - nodes, err := e2enode.GetBoundedReadySchedulableNodes(ctx, client, 2) - framework.ExpectNoError(err) - if len(nodes.Items) < 2 { - e2eskipper.Skipf("Requires at least %d nodes (not %d)", 2, len(nodes.Items)) - } - node1Name = nodes.Items[0].Name - node2Name = nodes.Items[1].Name - node1LabelValue := "vsphere_e2e_" + string(uuid.NewUUID()) - node1KeyValueLabel = make(map[string]string) - node1KeyValueLabel[NodeLabelKey] = node1LabelValue - e2enode.AddOrUpdateLabelOnNode(client, node1Name, NodeLabelKey, node1LabelValue) - - node2LabelValue := "vsphere_e2e_" + string(uuid.NewUUID()) - node2KeyValueLabel = make(map[string]string) - node2KeyValueLabel[NodeLabelKey] = node2LabelValue - e2enode.AddOrUpdateLabelOnNode(client, node2Name, NodeLabelKey, node2LabelValue) - return node1Name, node1KeyValueLabel, node2Name, node2KeyValueLabel -} - -func createPodWithVolumeAndNodeSelector(ctx context.Context, client clientset.Interface, namespace string, nodeName string, nodeKeyValueLabel map[string]string, volumePaths []string) *v1.Pod { - var pod *v1.Pod - var err error - ginkgo.By(fmt.Sprintf("Creating pod on the node: %v", nodeName)) - podspec := getVSpherePodSpecWithVolumePaths(volumePaths, nodeKeyValueLabel, nil) - - pod, err = client.CoreV1().Pods(namespace).Create(ctx, podspec, metav1.CreateOptions{}) - framework.ExpectNoError(err) - ginkgo.By("Waiting for pod to be ready") - gomega.Expect(e2epod.WaitForPodNameRunningInNamespace(ctx, client, pod.Name, namespace)).To(gomega.Succeed()) - - ginkgo.By(fmt.Sprintf("Verify volume is attached to the node:%v", nodeName)) - for _, volumePath := range volumePaths { - isAttached, err := diskIsAttached(ctx, volumePath, nodeName) - framework.ExpectNoError(err) - if !isAttached { - framework.Failf("Volume: %s is not attached to the node: %v", volumePath, nodeName) - } - } - return pod -} - -func createAndVerifyFilesOnVolume(namespace string, podname string, newEmptyfilesToCreate []string, filesToCheck []string) { - // Create empty files on the mounted volumes on the pod to verify volume is writable - ginkgo.By(fmt.Sprintf("Creating empty file on volume mounted on: %v", podname)) - createEmptyFilesOnVSphereVolume(namespace, podname, newEmptyfilesToCreate) - - // Verify newly and previously created files present on the volume mounted on the pod - ginkgo.By(fmt.Sprintf("Verify newly Created file and previously created files present on volume mounted on: %v", podname)) - verifyFilesExistOnVSphereVolume(namespace, podname, filesToCheck...) -} - -func deletePodAndWaitForVolumeToDetach(ctx context.Context, f *framework.Framework, c clientset.Interface, pod *v1.Pod, nodeName string, volumePaths []string) { - ginkgo.By("Deleting pod") - framework.ExpectNoError(e2epod.DeletePodWithWait(ctx, c, pod), "Failed to delete pod ", pod.Name) - - ginkgo.By("Waiting for volume to be detached from the node") - for _, volumePath := range volumePaths { - framework.ExpectNoError(waitForVSphereDiskToDetach(ctx, volumePath, nodeName)) - } -} diff --git a/test/e2e/storage/vsphere/vsphere_volume_vpxd_restart.go b/test/e2e/storage/vsphere/vsphere_volume_vpxd_restart.go deleted file mode 100644 index 5b0737e8cff..00000000000 --- a/test/e2e/storage/vsphere/vsphere_volume_vpxd_restart.go +++ /dev/null @@ -1,185 +0,0 @@ -/* -Copyright 2018 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vsphere - -import ( - "context" - "fmt" - "strconv" - "time" - - "github.com/onsi/ginkgo/v2" - "github.com/onsi/gomega" - - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/util/uuid" - clientset "k8s.io/client-go/kubernetes" - "k8s.io/kubernetes/test/e2e/feature" - "k8s.io/kubernetes/test/e2e/framework" - e2enode "k8s.io/kubernetes/test/e2e/framework/node" - e2epod "k8s.io/kubernetes/test/e2e/framework/pod" - e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" - "k8s.io/kubernetes/test/e2e/storage/utils" - admissionapi "k8s.io/pod-security-admission/api" -) - -/* -Test to verify that a volume remains attached through vpxd restart. - -For the number of schedulable nodes: -1. Create a Volume with default options. -2. Create a Pod with the created Volume. -3. Verify that the Volume is attached. -4. Create a file with random contents under the Volume's mount point on the Pod. -5. Stop the vpxd service on the vCenter host. -6. Verify that the file is accessible on the Pod and that it's contents match. -7. Start the vpxd service on the vCenter host. -8. Verify that the Volume remains attached, the file is accessible on the Pod, and that it's contents match. -9. Delete the Pod and wait for the Volume to be detached. -10. Delete the Volume. -*/ -var _ = utils.SIGDescribe("Verify Volume Attach Through vpxd Restart", feature.Vsphere, framework.WithSerial(), framework.WithDisruptive(), func() { - f := framework.NewDefaultFramework("restart-vpxd") - f.NamespacePodSecurityLevel = admissionapi.LevelPrivileged - - type node struct { - name string - kvLabels map[string]string - nodeInfo *NodeInfo - } - - const ( - labelKey = "vsphere_e2e_label_vpxd_restart" - vpxdServiceName = "vmware-vpxd" - ) - - var ( - client clientset.Interface - namespace string - vcNodesMap map[string][]node - ) - - ginkgo.BeforeEach(func(ctx context.Context) { - // Requires SSH access to vCenter. - e2eskipper.SkipUnlessProviderIs("vsphere") - - Bootstrap(f) - client = f.ClientSet - namespace = f.Namespace.Name - framework.ExpectNoError(e2enode.WaitForAllNodesSchedulable(ctx, client, f.Timeouts.NodeSchedulable)) - - nodes, err := e2enode.GetReadySchedulableNodes(ctx, client) - framework.ExpectNoError(err) - numNodes := len(nodes.Items) - - vcNodesMap = make(map[string][]node) - for i := 0; i < numNodes; i++ { - nodeInfo := TestContext.NodeMapper.GetNodeInfo(nodes.Items[i].Name) - nodeName := nodes.Items[i].Name - nodeLabel := "vsphere_e2e_" + string(uuid.NewUUID()) - e2enode.AddOrUpdateLabelOnNode(client, nodeName, labelKey, nodeLabel) - - vcHost := nodeInfo.VSphere.Config.Hostname - vcNodesMap[vcHost] = append(vcNodesMap[vcHost], node{ - name: nodeName, - kvLabels: map[string]string{labelKey: nodeLabel}, - nodeInfo: nodeInfo, - }) - } - }) - - ginkgo.It("verify volume remains attached through vpxd restart", func(ctx context.Context) { - e2eskipper.SkipUnlessSSHKeyPresent() - - for vcHost, nodes := range vcNodesMap { - var ( - volumePaths []string - filePaths []string - fileContents []string - pods []*v1.Pod - ) - - framework.Logf("Testing for nodes on vCenter host: %s", vcHost) - - for i, node := range nodes { - ginkgo.By(fmt.Sprintf("Creating test vsphere volume %d", i)) - volumePath, err := node.nodeInfo.VSphere.CreateVolume(&VolumeOptions{}, node.nodeInfo.DataCenterRef) - framework.ExpectNoError(err) - volumePaths = append(volumePaths, volumePath) - - ginkgo.By(fmt.Sprintf("Creating pod %d on node %v", i, node.name)) - podspec := getVSpherePodSpecWithVolumePaths([]string{volumePath}, node.kvLabels, nil) - pod, err := client.CoreV1().Pods(namespace).Create(ctx, podspec, metav1.CreateOptions{}) - framework.ExpectNoError(err) - - ginkgo.By(fmt.Sprintf("Waiting for pod %d to be ready", i)) - gomega.Expect(e2epod.WaitForPodNameRunningInNamespace(ctx, client, pod.Name, namespace)).To(gomega.Succeed()) - - pod, err = client.CoreV1().Pods(namespace).Get(ctx, pod.Name, metav1.GetOptions{}) - framework.ExpectNoError(err) - pods = append(pods, pod) - - nodeName := pod.Spec.NodeName - ginkgo.By(fmt.Sprintf("Verifying that volume %v is attached to node %v", volumePath, nodeName)) - expectVolumeToBeAttached(ctx, nodeName, volumePath) - - ginkgo.By(fmt.Sprintf("Creating a file with random content on the volume mounted on pod %d", i)) - filePath := fmt.Sprintf("/mnt/volume1/%v_vpxd_restart_test_%v.txt", namespace, strconv.FormatInt(time.Now().UnixNano(), 10)) - randomContent := fmt.Sprintf("Random Content -- %v", strconv.FormatInt(time.Now().UnixNano(), 10)) - err = writeContentToPodFile(namespace, pod.Name, filePath, randomContent) - framework.ExpectNoError(err) - filePaths = append(filePaths, filePath) - fileContents = append(fileContents, randomContent) - } - - ginkgo.By("Stopping vpxd on the vCenter host") - vcAddress := vcHost + ":22" - err := invokeVCenterServiceControl(ctx, "stop", vpxdServiceName, vcAddress) - framework.ExpectNoError(err, "Unable to stop vpxd on the vCenter host") - - expectFilesToBeAccessible(namespace, pods, filePaths) - expectFileContentsToMatch(namespace, pods, filePaths, fileContents) - - ginkgo.By("Starting vpxd on the vCenter host") - err = invokeVCenterServiceControl(ctx, "start", vpxdServiceName, vcAddress) - framework.ExpectNoError(err, "Unable to start vpxd on the vCenter host") - - expectVolumesToBeAttached(ctx, pods, volumePaths) - expectFilesToBeAccessible(namespace, pods, filePaths) - expectFileContentsToMatch(namespace, pods, filePaths, fileContents) - - for i, node := range nodes { - pod := pods[i] - nodeName := pod.Spec.NodeName - volumePath := volumePaths[i] - - ginkgo.By(fmt.Sprintf("Deleting pod on node %s", nodeName)) - err = e2epod.DeletePodWithWait(ctx, client, pod) - framework.ExpectNoError(err) - - ginkgo.By(fmt.Sprintf("Waiting for volume %s to be detached from node %s", volumePath, nodeName)) - err = waitForVSphereDiskToDetach(ctx, volumePath, nodeName) - framework.ExpectNoError(err) - - ginkgo.By(fmt.Sprintf("Deleting volume %s", volumePath)) - err = node.nodeInfo.VSphere.DeleteVolume(volumePath, node.nodeInfo.DataCenterRef) - framework.ExpectNoError(err) - } - } - }) -}) diff --git a/test/e2e/storage/vsphere/vsphere_volume_vsan_policy.go b/test/e2e/storage/vsphere/vsphere_volume_vsan_policy.go deleted file mode 100644 index b2ad094861d..00000000000 --- a/test/e2e/storage/vsphere/vsphere_volume_vsan_policy.go +++ /dev/null @@ -1,367 +0,0 @@ -/* -Copyright 2017 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vsphere - -import ( - "context" - "fmt" - "hash/fnv" - "regexp" - "time" - - "strings" - - "github.com/onsi/ginkgo/v2" - "github.com/onsi/gomega" - v1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - clientset "k8s.io/client-go/kubernetes" - "k8s.io/kubernetes/test/e2e/feature" - "k8s.io/kubernetes/test/e2e/framework" - e2enode "k8s.io/kubernetes/test/e2e/framework/node" - e2epod "k8s.io/kubernetes/test/e2e/framework/pod" - e2epv "k8s.io/kubernetes/test/e2e/framework/pv" - e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" - "k8s.io/kubernetes/test/e2e/storage/utils" - admissionapi "k8s.io/pod-security-admission/api" -) - -const ( - vmfsDatastore = "sharedVmfs-0" - vsanDatastore = "vsanDatastore" - dummyVMPrefixName = "vsphere-k8s" - diskStripesCapabilityMaxVal = "11" -) - -/* - Test to verify the storage policy based management for dynamic volume provisioning inside kubernetes. - There are 2 ways to achieve it: - 1. Specify VSAN storage capabilities in the storage-class. - 2. Use existing vCenter SPBM storage policies. - - Valid VSAN storage capabilities are mentioned below: - 1. hostFailuresToTolerate - 2. forceProvisioning - 3. cacheReservation - 4. diskStripes - 5. objectSpaceReservation - 6. iopsLimit - - Steps - 1. Create StorageClass with. - a. VSAN storage capabilities set to valid/invalid values (or) - b. Use existing vCenter SPBM storage policies. - 2. Create PVC which uses the StorageClass created in step 1. - 3. Wait for PV to be provisioned. - 4. Wait for PVC's status to become Bound - 5. Create pod using PVC on specific node. - 6. Wait for Disk to be attached to the node. - 7. Delete pod and Wait for Volume Disk to be detached from the Node. - 8. Delete PVC, PV and Storage Class - - -*/ - -var _ = utils.SIGDescribe("Storage Policy Based Volume Provisioning", feature.Vsphere, func() { - f := framework.NewDefaultFramework("volume-vsan-policy") - f.NamespacePodSecurityLevel = admissionapi.LevelPrivileged - var ( - client clientset.Interface - namespace string - scParameters map[string]string - policyName string - tagPolicy string - ) - ginkgo.BeforeEach(func(ctx context.Context) { - e2eskipper.SkipUnlessProviderIs("vsphere") - Bootstrap(f) - client = f.ClientSet - namespace = f.Namespace.Name - policyName = GetAndExpectStringEnvVar(SPBMPolicyName) - tagPolicy = GetAndExpectStringEnvVar(SPBMTagPolicy) - framework.Logf("framework: %+v", f) - scParameters = make(map[string]string) - _, err := e2enode.GetRandomReadySchedulableNode(ctx, f.ClientSet) - framework.ExpectNoError(err) - }) - - // Valid policy. - ginkgo.It("verify VSAN storage capability with valid hostFailuresToTolerate and cacheReservation values is honored for dynamically provisioned pvc using storageclass", func(ctx context.Context) { - ginkgo.By(fmt.Sprintf("Invoking test for VSAN policy hostFailuresToTolerate: %s, cacheReservation: %s", HostFailuresToTolerateCapabilityVal, CacheReservationCapabilityVal)) - scParameters[PolicyHostFailuresToTolerate] = HostFailuresToTolerateCapabilityVal - scParameters[PolicyCacheReservation] = CacheReservationCapabilityVal - framework.Logf("Invoking test for VSAN storage capabilities: %+v", scParameters) - invokeValidPolicyTest(ctx, f, client, namespace, scParameters) - }) - - // Valid policy. - ginkgo.It("verify VSAN storage capability with valid diskStripes and objectSpaceReservation values is honored for dynamically provisioned pvc using storageclass", func(ctx context.Context) { - ginkgo.By(fmt.Sprintf("Invoking test for VSAN policy diskStripes: %s, objectSpaceReservation: %s", DiskStripesCapabilityVal, ObjectSpaceReservationCapabilityVal)) - scParameters[PolicyDiskStripes] = "1" - scParameters[PolicyObjectSpaceReservation] = "30" - framework.Logf("Invoking test for VSAN storage capabilities: %+v", scParameters) - invokeValidPolicyTest(ctx, f, client, namespace, scParameters) - }) - - // Valid policy. - ginkgo.It("verify VSAN storage capability with valid diskStripes and objectSpaceReservation values and a VSAN datastore is honored for dynamically provisioned pvc using storageclass", func(ctx context.Context) { - ginkgo.By(fmt.Sprintf("Invoking test for VSAN policy diskStripes: %s, objectSpaceReservation: %s", DiskStripesCapabilityVal, ObjectSpaceReservationCapabilityVal)) - scParameters[PolicyDiskStripes] = DiskStripesCapabilityVal - scParameters[PolicyObjectSpaceReservation] = ObjectSpaceReservationCapabilityVal - scParameters[Datastore] = vsanDatastore - framework.Logf("Invoking test for VSAN storage capabilities: %+v", scParameters) - invokeValidPolicyTest(ctx, f, client, namespace, scParameters) - }) - - // Valid policy. - ginkgo.It("verify VSAN storage capability with valid objectSpaceReservation and iopsLimit values is honored for dynamically provisioned pvc using storageclass", func(ctx context.Context) { - ginkgo.By(fmt.Sprintf("Invoking test for VSAN policy objectSpaceReservation: %s, iopsLimit: %s", ObjectSpaceReservationCapabilityVal, IopsLimitCapabilityVal)) - scParameters[PolicyObjectSpaceReservation] = ObjectSpaceReservationCapabilityVal - scParameters[PolicyIopsLimit] = IopsLimitCapabilityVal - framework.Logf("Invoking test for VSAN storage capabilities: %+v", scParameters) - invokeValidPolicyTest(ctx, f, client, namespace, scParameters) - }) - - // Invalid VSAN storage capabilities parameters. - ginkgo.It("verify VSAN storage capability with invalid capability name objectSpaceReserve is not honored for dynamically provisioned pvc using storageclass", func(ctx context.Context) { - ginkgo.By(fmt.Sprintf("Invoking test for VSAN policy objectSpaceReserve: %s, stripeWidth: %s", ObjectSpaceReservationCapabilityVal, StripeWidthCapabilityVal)) - scParameters["objectSpaceReserve"] = ObjectSpaceReservationCapabilityVal - scParameters[PolicyDiskStripes] = StripeWidthCapabilityVal - framework.Logf("Invoking test for VSAN storage capabilities: %+v", scParameters) - err := invokeInvalidPolicyTestNeg(ctx, client, namespace, scParameters) - framework.ExpectError(err) - errorMsg := "invalid option \\\"objectSpaceReserve\\\" for volume plugin kubernetes.io/vsphere-volume" - if !strings.Contains(err.Error(), errorMsg) { - framework.ExpectNoError(err, errorMsg) - } - }) - - // Invalid policy on a VSAN test bed. - // diskStripes value has to be between 1 and 12. - ginkgo.It("verify VSAN storage capability with invalid diskStripes value is not honored for dynamically provisioned pvc using storageclass", func(ctx context.Context) { - ginkgo.By(fmt.Sprintf("Invoking test for VSAN policy diskStripes: %s, cacheReservation: %s", DiskStripesCapabilityInvalidVal, CacheReservationCapabilityVal)) - scParameters[PolicyDiskStripes] = DiskStripesCapabilityInvalidVal - scParameters[PolicyCacheReservation] = CacheReservationCapabilityVal - framework.Logf("Invoking test for VSAN storage capabilities: %+v", scParameters) - err := invokeInvalidPolicyTestNeg(ctx, client, namespace, scParameters) - framework.ExpectError(err) - errorMsg := "Invalid value for " + PolicyDiskStripes + "." - if !strings.Contains(err.Error(), errorMsg) { - framework.ExpectNoError(err, errorMsg) - } - }) - - // Invalid policy on a VSAN test bed. - // hostFailuresToTolerate value has to be between 0 and 3 including. - ginkgo.It("verify VSAN storage capability with invalid hostFailuresToTolerate value is not honored for dynamically provisioned pvc using storageclass", func(ctx context.Context) { - ginkgo.By(fmt.Sprintf("Invoking test for VSAN policy hostFailuresToTolerate: %s", HostFailuresToTolerateCapabilityInvalidVal)) - scParameters[PolicyHostFailuresToTolerate] = HostFailuresToTolerateCapabilityInvalidVal - framework.Logf("Invoking test for VSAN storage capabilities: %+v", scParameters) - err := invokeInvalidPolicyTestNeg(ctx, client, namespace, scParameters) - framework.ExpectError(err) - errorMsg := "Invalid value for " + PolicyHostFailuresToTolerate + "." - if !strings.Contains(err.Error(), errorMsg) { - framework.ExpectNoError(err, errorMsg) - } - }) - - // Specify a valid VSAN policy on a non-VSAN test bed. - // The test should fail. - ginkgo.It("verify VSAN storage capability with non-vsan datastore is not honored for dynamically provisioned pvc using storageclass", func(ctx context.Context) { - ginkgo.By(fmt.Sprintf("Invoking test for VSAN policy diskStripes: %s, objectSpaceReservation: %s and a non-VSAN datastore: %s", DiskStripesCapabilityVal, ObjectSpaceReservationCapabilityVal, vmfsDatastore)) - scParameters[PolicyDiskStripes] = DiskStripesCapabilityVal - scParameters[PolicyObjectSpaceReservation] = ObjectSpaceReservationCapabilityVal - scParameters[Datastore] = vmfsDatastore - framework.Logf("Invoking test for VSAN storage capabilities: %+v", scParameters) - err := invokeInvalidPolicyTestNeg(ctx, client, namespace, scParameters) - framework.ExpectError(err) - errorMsg := "The specified datastore: \\\"" + vmfsDatastore + "\\\" is not a VSAN datastore. " + - "The policy parameters will work only with VSAN Datastore." - if !strings.Contains(err.Error(), errorMsg) { - framework.ExpectNoError(err, errorMsg) - } - }) - - ginkgo.It("verify an existing and compatible SPBM policy is honored for dynamically provisioned pvc using storageclass", func(ctx context.Context) { - ginkgo.By(fmt.Sprintf("Invoking test for SPBM policy: %s", policyName)) - scParameters[SpbmStoragePolicy] = policyName - scParameters[DiskFormat] = ThinDisk - framework.Logf("Invoking test for SPBM storage policy: %+v", scParameters) - invokeValidPolicyTest(ctx, f, client, namespace, scParameters) - }) - - ginkgo.It("verify clean up of stale dummy VM for dynamically provisioned pvc using SPBM policy", func(ctx context.Context) { - scParameters[PolicyDiskStripes] = diskStripesCapabilityMaxVal - scParameters[PolicyObjectSpaceReservation] = ObjectSpaceReservationCapabilityVal - scParameters[Datastore] = vsanDatastore - framework.Logf("Invoking test for SPBM storage policy: %+v", scParameters) - kubernetesClusterName := GetAndExpectStringEnvVar(KubernetesClusterName) - controlPlaneNode, err := getControlPlaneNode(ctx, client) - framework.ExpectNoError(err) - invokeStaleDummyVMTestWithStoragePolicy(ctx, client, controlPlaneNode, namespace, kubernetesClusterName, scParameters) - }) - - ginkgo.It("verify if a SPBM policy is not honored on a non-compatible datastore for dynamically provisioned pvc using storageclass", func(ctx context.Context) { - ginkgo.By(fmt.Sprintf("Invoking test for SPBM policy: %s and datastore: %s", tagPolicy, vsanDatastore)) - scParameters[SpbmStoragePolicy] = tagPolicy - scParameters[Datastore] = vsanDatastore - scParameters[DiskFormat] = ThinDisk - framework.Logf("Invoking test for SPBM storage policy on a non-compatible datastore: %+v", scParameters) - err := invokeInvalidPolicyTestNeg(ctx, client, namespace, scParameters) - framework.ExpectError(err) - errorMsg := "User specified datastore is not compatible with the storagePolicy: \\\"" + tagPolicy + "\\\"" - if !strings.Contains(err.Error(), errorMsg) { - framework.ExpectNoError(err, errorMsg) - } - }) - - ginkgo.It("verify if a non-existing SPBM policy is not honored for dynamically provisioned pvc using storageclass", func(ctx context.Context) { - ginkgo.By(fmt.Sprintf("Invoking test for SPBM policy: %s", BronzeStoragePolicy)) - scParameters[SpbmStoragePolicy] = BronzeStoragePolicy - scParameters[DiskFormat] = ThinDisk - framework.Logf("Invoking test for non-existing SPBM storage policy: %+v", scParameters) - err := invokeInvalidPolicyTestNeg(ctx, client, namespace, scParameters) - framework.ExpectError(err) - errorMsg := "no pbm profile found with name: \\\"" + BronzeStoragePolicy + "\\" - if !strings.Contains(err.Error(), errorMsg) { - framework.ExpectNoError(err, errorMsg) - } - }) - - ginkgo.It("verify an if a SPBM policy and VSAN capabilities cannot be honored for dynamically provisioned pvc using storageclass", func(ctx context.Context) { - ginkgo.By(fmt.Sprintf("Invoking test for SPBM policy: %s with VSAN storage capabilities", policyName)) - scParameters[SpbmStoragePolicy] = policyName - gomega.Expect(scParameters[SpbmStoragePolicy]).NotTo(gomega.BeEmpty()) - scParameters[PolicyDiskStripes] = DiskStripesCapabilityVal - scParameters[DiskFormat] = ThinDisk - framework.Logf("Invoking test for SPBM storage policy and VSAN capabilities together: %+v", scParameters) - err := invokeInvalidPolicyTestNeg(ctx, client, namespace, scParameters) - framework.ExpectError(err) - errorMsg := "Cannot specify storage policy capabilities along with storage policy name. Please specify only one" - if !strings.Contains(err.Error(), errorMsg) { - framework.ExpectNoError(err, errorMsg) - } - }) -}) - -func invokeValidPolicyTest(ctx context.Context, f *framework.Framework, client clientset.Interface, namespace string, scParameters map[string]string) { - ginkgo.By("Creating Storage Class With storage policy params") - storageclass, err := client.StorageV1().StorageClasses().Create(ctx, getVSphereStorageClassSpec("storagepolicysc", scParameters, nil, ""), metav1.CreateOptions{}) - framework.ExpectNoError(err, fmt.Sprintf("Failed to create storage class with err: %v", err)) - ginkgo.DeferCleanup(framework.IgnoreNotFound(client.StorageV1().StorageClasses().Delete), storageclass.Name, metav1.DeleteOptions{}) - - ginkgo.By("Creating PVC using the Storage Class") - pvclaim, err := e2epv.CreatePVC(ctx, client, namespace, getVSphereClaimSpecWithStorageClass(namespace, "2Gi", storageclass)) - framework.ExpectNoError(err) - ginkgo.DeferCleanup(e2epv.DeletePersistentVolumeClaim, client, pvclaim.Name, namespace) - - var pvclaims []*v1.PersistentVolumeClaim - pvclaims = append(pvclaims, pvclaim) - ginkgo.By("Waiting for claim to be in bound phase") - persistentvolumes, err := e2epv.WaitForPVClaimBoundPhase(ctx, client, pvclaims, f.Timeouts.ClaimProvision) - framework.ExpectNoError(err) - - ginkgo.By("Creating pod to attach PV to the node") - // Create pod to attach Volume to Node - pod, err := e2epod.CreatePod(ctx, client, namespace, nil, pvclaims, f.NamespacePodSecurityLevel, "") - framework.ExpectNoError(err) - - ginkgo.By("Verify the volume is accessible and available in the pod") - verifyVSphereVolumesAccessible(ctx, client, pod, persistentvolumes) - - ginkgo.By("Deleting pod") - framework.ExpectNoError(e2epod.DeletePodWithWait(ctx, client, pod)) - - ginkgo.By("Waiting for volumes to be detached from the node") - framework.ExpectNoError(waitForVSphereDiskToDetach(ctx, persistentvolumes[0].Spec.VsphereVolume.VolumePath, pod.Spec.NodeName)) -} - -func invokeInvalidPolicyTestNeg(ctx context.Context, client clientset.Interface, namespace string, scParameters map[string]string) error { - ginkgo.By("Creating Storage Class With storage policy params") - storageclass, err := client.StorageV1().StorageClasses().Create(ctx, getVSphereStorageClassSpec("storagepolicysc", scParameters, nil, ""), metav1.CreateOptions{}) - framework.ExpectNoError(err, fmt.Sprintf("Failed to create storage class with err: %v", err)) - ginkgo.DeferCleanup(framework.IgnoreNotFound(client.StorageV1().StorageClasses().Delete), storageclass.Name, metav1.DeleteOptions{}) - - ginkgo.By("Creating PVC using the Storage Class") - pvclaim, err := e2epv.CreatePVC(ctx, client, namespace, getVSphereClaimSpecWithStorageClass(namespace, "2Gi", storageclass)) - framework.ExpectNoError(err) - ginkgo.DeferCleanup(e2epv.DeletePersistentVolumeClaim, client, pvclaim.Name, namespace) - - ginkgo.By("Waiting for claim to be in bound phase") - err = e2epv.WaitForPersistentVolumeClaimPhase(ctx, v1.ClaimBound, client, pvclaim.Namespace, pvclaim.Name, framework.Poll, 2*time.Minute) - framework.ExpectError(err) - - eventList, err := client.CoreV1().Events(pvclaim.Namespace).List(ctx, metav1.ListOptions{}) - framework.ExpectNoError(err) - return fmt.Errorf("Failure message: %+q", eventList.Items[0].Message) -} - -// invokeStaleDummyVMTestWithStoragePolicy assumes control plane node is present on the datacenter specified in the workspace section of vsphere.conf file. -// With in-tree VCP, when the volume is created using storage policy, shadow (dummy) VM is getting created and deleted to apply SPBM policy on the volume. -func invokeStaleDummyVMTestWithStoragePolicy(ctx context.Context, client clientset.Interface, controlPlaneNode string, namespace string, clusterName string, scParameters map[string]string) { - ginkgo.By("Creating Storage Class With storage policy params") - storageclass, err := client.StorageV1().StorageClasses().Create(ctx, getVSphereStorageClassSpec("storagepolicysc", scParameters, nil, ""), metav1.CreateOptions{}) - framework.ExpectNoError(err, fmt.Sprintf("Failed to create storage class with err: %v", err)) - ginkgo.DeferCleanup(framework.IgnoreNotFound(client.StorageV1().StorageClasses().Delete), storageclass.Name, metav1.DeleteOptions{}) - - ginkgo.By("Creating PVC using the Storage Class") - pvclaim, err := e2epv.CreatePVC(ctx, client, namespace, getVSphereClaimSpecWithStorageClass(namespace, "2Gi", storageclass)) - framework.ExpectNoError(err) - - var pvclaims []*v1.PersistentVolumeClaim - pvclaims = append(pvclaims, pvclaim) - ginkgo.By("Expect claim to fail provisioning volume") - _, err = e2epv.WaitForPVClaimBoundPhase(ctx, client, pvclaims, 2*time.Minute) - framework.ExpectError(err) - - updatedClaim, err := client.CoreV1().PersistentVolumeClaims(namespace).Get(ctx, pvclaim.Name, metav1.GetOptions{}) - framework.ExpectNoError(err) - vmName := clusterName + "-dynamic-pvc-" + string(updatedClaim.UID) - ginkgo.DeferCleanup(e2epv.DeletePersistentVolumeClaim, client, pvclaim.Name, namespace) - // Wait for 6 minutes to let the vSphere Cloud Provider clean up routine delete the dummy VM - time.Sleep(6 * time.Minute) - - fnvHash := fnv.New32a() - fnvHash.Write([]byte(vmName)) - dummyVMFullName := dummyVMPrefixName + "-" + fmt.Sprint(fnvHash.Sum32()) - errorMsg := "Dummy VM - " + vmName + " is still present. Failing the test.." - nodeInfo := TestContext.NodeMapper.GetNodeInfo(controlPlaneNode) - isVMPresentFlag, err := nodeInfo.VSphere.IsVMPresent(dummyVMFullName, nodeInfo.DataCenterRef) - framework.ExpectNoError(err) - if isVMPresentFlag { - framework.Failf("VM with name %s is present, %s", dummyVMFullName, errorMsg) - } -} - -func getControlPlaneNode(ctx context.Context, client clientset.Interface) (string, error) { - regKubeScheduler := regexp.MustCompile("kube-scheduler-.*") - regKubeControllerManager := regexp.MustCompile("kube-controller-manager-.*") - - podList, err := client.CoreV1().Pods(metav1.NamespaceSystem).List(ctx, metav1.ListOptions{}) - if err != nil { - return "", err - } - if len(podList.Items) < 1 { - return "", fmt.Errorf("could not find any pods in namespace %s to grab metrics from", metav1.NamespaceSystem) - } - for _, pod := range podList.Items { - if regKubeScheduler.MatchString(pod.Name) || regKubeControllerManager.MatchString(pod.Name) { - return pod.Spec.NodeName, nil - } - } - return "", fmt.Errorf("could not find any nodes where control plane pods are running") -} diff --git a/test/e2e/storage/vsphere/vsphere_zone_support.go b/test/e2e/storage/vsphere/vsphere_zone_support.go deleted file mode 100644 index f990baa5455..00000000000 --- a/test/e2e/storage/vsphere/vsphere_zone_support.go +++ /dev/null @@ -1,537 +0,0 @@ -/* -Copyright 2019 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vsphere - -import ( - "context" - "fmt" - "strings" - "time" - - "github.com/onsi/ginkgo/v2" - "github.com/onsi/gomega" - - v1 "k8s.io/api/core/v1" - storagev1 "k8s.io/api/storage/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - clientset "k8s.io/client-go/kubernetes" - volumeevents "k8s.io/kubernetes/pkg/controller/volume/events" - "k8s.io/kubernetes/test/e2e/feature" - "k8s.io/kubernetes/test/e2e/framework" - e2enode "k8s.io/kubernetes/test/e2e/framework/node" - e2epod "k8s.io/kubernetes/test/e2e/framework/pod" - e2epv "k8s.io/kubernetes/test/e2e/framework/pv" - e2eskipper "k8s.io/kubernetes/test/e2e/framework/skipper" - "k8s.io/kubernetes/test/e2e/storage/utils" - admissionapi "k8s.io/pod-security-admission/api" -) - -/* - Test to verify multi-zone support for dynamic volume provisioning in kubernetes. - The test environment is illustrated below: - - datacenter-1 - --->cluster-vsan-1 (zone-a) ____________________ _________________ - --->host-1 : master | | | | - --->host-2 : node1 ___________________ | | | | - --->host-3 (zone-c): node2 | || vsanDatastore | | | - | localDatastore || | | | - |___________________||____________________| | sharedVmfs-0 | - --->cluster-vsan-2 (zone-b) ____________________ | | - --->host-4 : node3 | | | | - --->host-5 : node4 | vsanDatastore (1) | | | - --->host-6 | | | | - |____________________| |_________________| - --->cluster-3 (zone-c) ___________________ - --->host-7 : node5 | | - | localDatastore (1)| - |___________________| - datacenter-2 - --->cluster-1 (zone-d) ___________________ - --->host-8 : node6 | | - | localDatastore | - |___________________| - - Testbed description : - 1. cluster-vsan-1 is tagged with zone-a. So, vsanDatastore inherits zone-a since all the hosts under zone-a have vsanDatastore mounted on them. - 2. cluster-vsan-2 is tagged with zone-b. So, vsanDatastore (1) inherits zone-b since all the hosts under zone-b have vsanDatastore (1) mounted on them. - 3. sharedVmfs-0 inherits both zone-a and zone-b since all the hosts in both zone-a and zone-b have this datastore mounted on them. - 4. cluster-3 is tagged with zone-c. cluster-3 only contains host-7. - 5. host-3 under cluster-vsan-1 is tagged with zone-c. - 6. Since there are no shared datastores between host-7 under cluster-3 and host-3 under cluster-vsan-1, no datastores in the environment inherit zone-c. - 7. host-8 under datacenter-2 and cluster-1 is tagged with zone-d. So, localDatastore attached to host-8 inherits zone-d. - 8. The six worker nodes are distributed among the hosts as shown in the above illustration. - 9. Two storage policies are created on VC. One is a VSAN storage policy named as compatpolicy with hostFailuresToTolerate capability set to 1. - - Testsuite description : - 1. Tests to verify that zone labels are set correctly on a dynamically created PV. - 2. Tests to verify dynamic pv creation fails if availability zones are not specified or if there are no shared datastores under the specified zones. - 3. Tests to verify dynamic pv creation using availability zones works in combination with other storage class parameters such as storage policy, - datastore and VSAN capabilities. - 4. Tests to verify dynamic pv creation using availability zones fails in combination with other storage class parameters such as storage policy, - datastore and VSAN capabilities specifications when any of the former mentioned parameters are incompatible with the rest. - 5. Tests to verify dynamic pv creation using availability zones work across different datacenters in the same VC. -*/ - -var _ = utils.SIGDescribe("Zone Support", feature.Vsphere, func() { - f := framework.NewDefaultFramework("zone-support") - f.NamespacePodSecurityLevel = admissionapi.LevelPrivileged - var ( - scParameters map[string]string - zones []string - vsanDatastore1 string - vsanDatastore2 string - localDatastore string - compatPolicy string - nonCompatPolicy string - zoneA string - zoneB string - zoneC string - zoneD string - invalidZone string - ) - ginkgo.BeforeEach(func(ctx context.Context) { - e2eskipper.SkipUnlessProviderIs("vsphere") - Bootstrap(f) - e2eskipper.SkipUnlessMultizone(ctx, f.ClientSet) - vsanDatastore1 = GetAndExpectStringEnvVar(VCPZoneVsanDatastore1) - vsanDatastore2 = GetAndExpectStringEnvVar(VCPZoneVsanDatastore2) - localDatastore = GetAndExpectStringEnvVar(VCPZoneLocalDatastore) - compatPolicy = GetAndExpectStringEnvVar(VCPZoneCompatPolicyName) - nonCompatPolicy = GetAndExpectStringEnvVar(VCPZoneNonCompatPolicyName) - zoneA = GetAndExpectStringEnvVar(VCPZoneA) - zoneB = GetAndExpectStringEnvVar(VCPZoneB) - zoneC = GetAndExpectStringEnvVar(VCPZoneC) - zoneD = GetAndExpectStringEnvVar(VCPZoneD) - invalidZone = GetAndExpectStringEnvVar(VCPInvalidZone) - scParameters = make(map[string]string) - zones = make([]string, 0) - _, err := e2enode.GetRandomReadySchedulableNode(ctx, f.ClientSet) - framework.ExpectNoError(err) - }) - - ginkgo.It("Verify dynamically created pv with allowed zones specified in storage class, shows the right zone information on its labels", func(ctx context.Context) { - ginkgo.By(fmt.Sprintf("Creating storage class with the following zones : %s", zoneA)) - zones = append(zones, zoneA) - verifyPVZoneLabels(ctx, f, nil, zones) - }) - - ginkgo.It("Verify dynamically created pv with multiple zones specified in the storage class, shows both the zones on its labels", func(ctx context.Context) { - ginkgo.By(fmt.Sprintf("Creating storage class with the following zones : %s, %s", zoneA, zoneB)) - zones = append(zones, zoneA) - zones = append(zones, zoneB) - verifyPVZoneLabels(ctx, f, nil, zones) - }) - - ginkgo.It("Verify PVC creation with invalid zone specified in storage class fails", func(ctx context.Context) { - ginkgo.By(fmt.Sprintf("Creating storage class with unknown zone : %s", invalidZone)) - zones = append(zones, invalidZone) - err := verifyPVCCreationFails(ctx, f, nil, zones, "") - framework.ExpectError(err) - errorMsg := "Failed to find a shared datastore matching zone [" + invalidZone + "]" - if !strings.Contains(err.Error(), errorMsg) { - framework.ExpectNoError(err, errorMsg) - } - }) - - ginkgo.It("Verify a pod is created and attached to a dynamically created PV, based on allowed zones specified in storage class ", func(ctx context.Context) { - ginkgo.By(fmt.Sprintf("Creating storage class with zones :%s", zoneA)) - zones = append(zones, zoneA) - verifyPVCAndPodCreationSucceeds(ctx, f, nil, zones, "") - }) - - ginkgo.It("Verify a pod is created and attached to a dynamically created PV, based on multiple zones specified in storage class ", func(ctx context.Context) { - ginkgo.By(fmt.Sprintf("Creating storage class with zones :%s, %s", zoneA, zoneB)) - zones = append(zones, zoneA) - zones = append(zones, zoneB) - verifyPVCAndPodCreationSucceeds(ctx, f, nil, zones, "") - }) - - ginkgo.It("Verify a pod is created and attached to a dynamically created PV, based on the allowed zones and datastore specified in storage class", func(ctx context.Context) { - ginkgo.By(fmt.Sprintf("Creating storage class with zone :%s and datastore :%s", zoneA, vsanDatastore1)) - scParameters[Datastore] = vsanDatastore1 - zones = append(zones, zoneA) - verifyPVCAndPodCreationSucceeds(ctx, f, scParameters, zones, "") - }) - - ginkgo.It("Verify PVC creation with incompatible datastore and zone combination specified in storage class fails", func(ctx context.Context) { - ginkgo.By(fmt.Sprintf("Creating storage class with zone :%s and datastore :%s", zoneC, vsanDatastore1)) - scParameters[Datastore] = vsanDatastore1 - zones = append(zones, zoneC) - err := verifyPVCCreationFails(ctx, f, scParameters, zones, "") - errorMsg := "No matching datastores found in the kubernetes cluster for zone " + zoneC - if !strings.Contains(err.Error(), errorMsg) { - framework.ExpectNoError(err, errorMsg) - } - }) - - ginkgo.It("Verify a pod is created and attached to a dynamically created PV, based on the allowed zones and storage policy specified in storage class", func(ctx context.Context) { - ginkgo.By(fmt.Sprintf("Creating storage class with zone :%s and storage policy :%s", zoneA, compatPolicy)) - scParameters[SpbmStoragePolicy] = compatPolicy - zones = append(zones, zoneA) - verifyPVCAndPodCreationSucceeds(ctx, f, scParameters, zones, "") - }) - - ginkgo.It("Verify a pod is created on a non-Workspace zone and attached to a dynamically created PV, based on the allowed zones and storage policy specified in storage class", func(ctx context.Context) { - ginkgo.By(fmt.Sprintf("Creating storage class with zone :%s and storage policy :%s", zoneB, compatPolicy)) - scParameters[SpbmStoragePolicy] = compatPolicy - zones = append(zones, zoneB) - verifyPVCAndPodCreationSucceeds(ctx, f, scParameters, zones, "") - }) - - ginkgo.It("Verify PVC creation with incompatible storagePolicy and zone combination specified in storage class fails", func(ctx context.Context) { - ginkgo.By(fmt.Sprintf("Creating storage class with zone :%s and storage policy :%s", zoneA, nonCompatPolicy)) - scParameters[SpbmStoragePolicy] = nonCompatPolicy - zones = append(zones, zoneA) - err := verifyPVCCreationFails(ctx, f, scParameters, zones, "") - errorMsg := "No compatible datastores found that satisfy the storage policy requirements" - if !strings.Contains(err.Error(), errorMsg) { - framework.ExpectNoError(err, errorMsg) - } - }) - - ginkgo.It("Verify a pod is created and attached to a dynamically created PV, based on the allowed zones, datastore and storage policy specified in storage class", func(ctx context.Context) { - ginkgo.By(fmt.Sprintf("Creating storage class with zone :%s datastore :%s and storagePolicy :%s", zoneA, vsanDatastore1, compatPolicy)) - scParameters[SpbmStoragePolicy] = compatPolicy - scParameters[Datastore] = vsanDatastore1 - zones = append(zones, zoneA) - verifyPVCAndPodCreationSucceeds(ctx, f, scParameters, zones, "") - }) - - ginkgo.It("Verify PVC creation with incompatible storage policy along with compatible zone and datastore combination specified in storage class fails", func(ctx context.Context) { - ginkgo.By(fmt.Sprintf("Creating storage class with zone :%s datastore :%s and storagePolicy :%s", zoneA, vsanDatastore1, nonCompatPolicy)) - scParameters[SpbmStoragePolicy] = nonCompatPolicy - scParameters[Datastore] = vsanDatastore1 - zones = append(zones, zoneA) - err := verifyPVCCreationFails(ctx, f, scParameters, zones, "") - errorMsg := "User specified datastore is not compatible with the storagePolicy: \\\"" + nonCompatPolicy + "\\\"." - if !strings.Contains(err.Error(), errorMsg) { - framework.ExpectNoError(err, errorMsg) - } - }) - - ginkgo.It("Verify PVC creation with incompatible zone along with compatible storagePolicy and datastore combination specified in storage class fails", func(ctx context.Context) { - ginkgo.By(fmt.Sprintf("Creating storage class with zone :%s datastore :%s and storagePolicy :%s", zoneC, vsanDatastore2, compatPolicy)) - scParameters[SpbmStoragePolicy] = compatPolicy - scParameters[Datastore] = vsanDatastore2 - zones = append(zones, zoneC) - err := verifyPVCCreationFails(ctx, f, scParameters, zones, "") - errorMsg := "No matching datastores found in the kubernetes cluster for zone " + zoneC - if !strings.Contains(err.Error(), errorMsg) { - framework.ExpectNoError(err, errorMsg) - } - }) - - ginkgo.It("Verify PVC creation fails if no zones are specified in the storage class (No shared datastores exist among all the nodes)", func(ctx context.Context) { - ginkgo.By(fmt.Sprintf("Creating storage class with no zones")) - err := verifyPVCCreationFails(ctx, f, nil, nil, "") - errorMsg := "No shared datastores found in the Kubernetes cluster" - if !strings.Contains(err.Error(), errorMsg) { - framework.ExpectNoError(err, errorMsg) - } - }) - - ginkgo.It("Verify PVC creation fails if only datastore is specified in the storage class (No shared datastores exist among all the nodes)", func(ctx context.Context) { - ginkgo.By(fmt.Sprintf("Creating storage class with datastore :%s", vsanDatastore1)) - scParameters[Datastore] = vsanDatastore1 - err := verifyPVCCreationFails(ctx, f, scParameters, nil, "") - errorMsg := "No shared datastores found in the Kubernetes cluster" - if !strings.Contains(err.Error(), errorMsg) { - framework.ExpectNoError(err, errorMsg) - } - }) - - ginkgo.It("Verify PVC creation fails if only storage policy is specified in the storage class (No shared datastores exist among all the nodes)", func(ctx context.Context) { - ginkgo.By(fmt.Sprintf("Creating storage class with storage policy :%s", compatPolicy)) - scParameters[SpbmStoragePolicy] = compatPolicy - err := verifyPVCCreationFails(ctx, f, scParameters, nil, "") - errorMsg := "No shared datastores found in the Kubernetes cluster" - if !strings.Contains(err.Error(), errorMsg) { - framework.ExpectNoError(err, errorMsg) - } - }) - - ginkgo.It("Verify PVC creation with compatible policy and datastore without any zones specified in the storage class fails (No shared datastores exist among all the nodes)", func(ctx context.Context) { - ginkgo.By(fmt.Sprintf("Creating storage class with storage policy :%s and datastore :%s", compatPolicy, vsanDatastore1)) - scParameters[SpbmStoragePolicy] = compatPolicy - scParameters[Datastore] = vsanDatastore1 - err := verifyPVCCreationFails(ctx, f, scParameters, nil, "") - errorMsg := "No shared datastores found in the Kubernetes cluster" - if !strings.Contains(err.Error(), errorMsg) { - framework.ExpectNoError(err, errorMsg) - } - }) - - ginkgo.It("Verify PVC creation fails if the availability zone specified in the storage class have no shared datastores under it.", func(ctx context.Context) { - ginkgo.By(fmt.Sprintf("Creating storage class with zone :%s", zoneC)) - zones = append(zones, zoneC) - err := verifyPVCCreationFails(ctx, f, nil, zones, "") - errorMsg := "No matching datastores found in the kubernetes cluster for zone " + zoneC - if !strings.Contains(err.Error(), errorMsg) { - framework.ExpectNoError(err, errorMsg) - } - }) - - ginkgo.It("Verify a pod is created and attached to a dynamically created PV, based on multiple zones specified in the storage class. (No shared datastores exist among both zones)", func(ctx context.Context) { - ginkgo.By(fmt.Sprintf("Creating storage class with the following zones :%s and %s", zoneA, zoneC)) - zones = append(zones, zoneA) - zones = append(zones, zoneC) - err := verifyPVCCreationFails(ctx, f, nil, zones, "") - errorMsg := "No matching datastores found in the kubernetes cluster for zone " + zoneC - if !strings.Contains(err.Error(), errorMsg) { - framework.ExpectNoError(err, errorMsg) - } - }) - - ginkgo.It("Verify PVC creation with an invalid VSAN capability along with a compatible zone combination specified in storage class fails", func(ctx context.Context) { - ginkgo.By(fmt.Sprintf("Creating storage class with %s :%s and zone :%s", PolicyHostFailuresToTolerate, HostFailuresToTolerateCapabilityInvalidVal, zoneA)) - scParameters[PolicyHostFailuresToTolerate] = HostFailuresToTolerateCapabilityInvalidVal - zones = append(zones, zoneA) - err := verifyPVCCreationFails(ctx, f, scParameters, zones, "") - errorMsg := "Invalid value for " + PolicyHostFailuresToTolerate + "." - if !strings.Contains(err.Error(), errorMsg) { - framework.ExpectNoError(err, errorMsg) - } - }) - - ginkgo.It("Verify a pod is created and attached to a dynamically created PV, based on a VSAN capability, datastore and compatible zone specified in storage class", func(ctx context.Context) { - ginkgo.By(fmt.Sprintf("Creating storage class with %s :%s, %s :%s, datastore :%s and zone :%s", PolicyObjectSpaceReservation, ObjectSpaceReservationCapabilityVal, PolicyIopsLimit, IopsLimitCapabilityVal, vsanDatastore1, zoneA)) - scParameters[PolicyObjectSpaceReservation] = ObjectSpaceReservationCapabilityVal - scParameters[PolicyIopsLimit] = IopsLimitCapabilityVal - scParameters[Datastore] = vsanDatastore1 - zones = append(zones, zoneA) - verifyPVCAndPodCreationSucceeds(ctx, f, scParameters, zones, "") - }) - - ginkgo.It("Verify a pod is created and attached to a dynamically created PV, based on the allowed zones specified in storage class when the datastore under the zone is present in another datacenter", func(ctx context.Context) { - ginkgo.By(fmt.Sprintf("Creating storage class with zone :%s", zoneD)) - zones = append(zones, zoneD) - verifyPVCAndPodCreationSucceeds(ctx, f, scParameters, zones, "") - }) - - ginkgo.It("Verify a pod is created and attached to a dynamically created PV, based on the allowed zones and datastore specified in storage class when there are multiple datastores with the same name under different zones across datacenters", func(ctx context.Context) { - ginkgo.By(fmt.Sprintf("Creating storage class with zone :%s and datastore name :%s", zoneD, localDatastore)) - scParameters[Datastore] = localDatastore - zones = append(zones, zoneD) - verifyPVCAndPodCreationSucceeds(ctx, f, scParameters, zones, "") - }) - - ginkgo.It("Verify a pod is created and attached to a dynamically created PV with storage policy specified in storage class in waitForFirstConsumer binding mode", func(ctx context.Context) { - ginkgo.By(fmt.Sprintf("Creating storage class with waitForFirstConsumer mode and storage policy :%s", compatPolicy)) - scParameters[SpbmStoragePolicy] = compatPolicy - verifyPVCAndPodCreationSucceeds(ctx, f, scParameters, nil, storagev1.VolumeBindingWaitForFirstConsumer) - }) - - ginkgo.It("Verify a pod is created and attached to a dynamically created PV with storage policy specified in storage class in waitForFirstConsumer binding mode with allowedTopologies", func(ctx context.Context) { - ginkgo.By(fmt.Sprintf("Creating storage class with waitForFirstConsumer mode, storage policy :%s and zone :%s", compatPolicy, zoneA)) - scParameters[SpbmStoragePolicy] = compatPolicy - zones = append(zones, zoneA) - verifyPVCAndPodCreationSucceeds(ctx, f, scParameters, zones, storagev1.VolumeBindingWaitForFirstConsumer) - }) - - ginkgo.It("Verify a pod is created and attached to a dynamically created PV with storage policy specified in storage class in waitForFirstConsumer binding mode with multiple allowedTopologies", func(ctx context.Context) { - ginkgo.By(fmt.Sprintf("Creating storage class with waitForFirstConsumer mode and zones : %s, %s", zoneA, zoneB)) - zones = append(zones, zoneA) - zones = append(zones, zoneB) - verifyPVCAndPodCreationSucceeds(ctx, f, nil, zones, storagev1.VolumeBindingWaitForFirstConsumer) - }) - - ginkgo.It("Verify a PVC creation fails when multiple zones are specified in the storage class without shared datastores among the zones in waitForFirstConsumer binding mode", func(ctx context.Context) { - ginkgo.By(fmt.Sprintf("Creating storage class with waitForFirstConsumer mode and following zones :%s and %s", zoneA, zoneC)) - zones = append(zones, zoneA) - zones = append(zones, zoneC) - err := verifyPodAndPvcCreationFailureOnWaitForFirstConsumerMode(ctx, f, nil, zones) - framework.ExpectError(err) - errorMsg := "No matching datastores found in the kubernetes cluster for zone " + zoneC - if !strings.Contains(err.Error(), errorMsg) { - framework.ExpectNoError(err, errorMsg) - } - }) - - ginkgo.It("Verify a pod fails to get scheduled when conflicting volume topology (allowedTopologies) and pod scheduling constraints(nodeSelector) are specified", func(ctx context.Context) { - ginkgo.By(fmt.Sprintf("Creating storage class with waitForFirstConsumerMode, storage policy :%s and zone :%s", compatPolicy, zoneA)) - scParameters[SpbmStoragePolicy] = compatPolicy - // allowedTopologies set as zoneA - zones = append(zones, zoneA) - nodeSelectorMap := map[string]string{ - // nodeSelector set as zoneB - v1.LabelTopologyZone: zoneB, - } - verifyPodSchedulingFails(ctx, f, nodeSelectorMap, scParameters, zones, storagev1.VolumeBindingWaitForFirstConsumer) - }) -}) - -func verifyPVCAndPodCreationSucceeds(ctx context.Context, f *framework.Framework, scParameters map[string]string, zones []string, volumeBindingMode storagev1.VolumeBindingMode) { - client := f.ClientSet - namespace := f.Namespace.Name - timeouts := f.Timeouts - storageclass, err := client.StorageV1().StorageClasses().Create(ctx, getVSphereStorageClassSpec("zone-sc", scParameters, zones, volumeBindingMode), metav1.CreateOptions{}) - framework.ExpectNoError(err, fmt.Sprintf("Failed to create storage class with err: %v", err)) - ginkgo.DeferCleanup(client.StorageV1().StorageClasses().Delete, storageclass.Name, metav1.DeleteOptions{}) - - ginkgo.By("Creating PVC using the Storage Class") - pvclaim, err := e2epv.CreatePVC(ctx, client, namespace, getVSphereClaimSpecWithStorageClass(namespace, "2Gi", storageclass)) - framework.ExpectNoError(err) - ginkgo.DeferCleanup(e2epv.DeletePersistentVolumeClaim, client, pvclaim.Name, namespace) - - var pvclaims []*v1.PersistentVolumeClaim - pvclaims = append(pvclaims, pvclaim) - - var persistentvolumes []*v1.PersistentVolume - // If WaitForFirstConsumer mode, verify pvc binding status after pod creation. For immediate mode, do now. - if volumeBindingMode != storagev1.VolumeBindingWaitForFirstConsumer { - persistentvolumes = waitForPVClaimBoundPhase(ctx, client, pvclaims, timeouts.ClaimProvision) - } - - ginkgo.By("Creating pod to attach PV to the node") - pod, err := e2epod.CreatePod(ctx, client, namespace, nil, pvclaims, f.NamespacePodSecurityLevel, "") - framework.ExpectNoError(err) - - if volumeBindingMode == storagev1.VolumeBindingWaitForFirstConsumer { - persistentvolumes = waitForPVClaimBoundPhase(ctx, client, pvclaims, timeouts.ClaimProvision) - } - - if zones != nil { - ginkgo.By("Verify persistent volume was created on the right zone") - verifyVolumeCreationOnRightZone(ctx, persistentvolumes, pod.Spec.NodeName, zones) - } - - ginkgo.By("Verify the volume is accessible and available in the pod") - verifyVSphereVolumesAccessible(ctx, client, pod, persistentvolumes) - - ginkgo.By("Deleting pod") - framework.ExpectNoError(e2epod.DeletePodWithWait(ctx, client, pod)) - - ginkgo.By("Waiting for volumes to be detached from the node") - framework.ExpectNoError(waitForVSphereDiskToDetach(ctx, persistentvolumes[0].Spec.VsphereVolume.VolumePath, pod.Spec.NodeName)) -} - -func verifyPodAndPvcCreationFailureOnWaitForFirstConsumerMode(ctx context.Context, f *framework.Framework, scParameters map[string]string, zones []string) error { - client := f.ClientSet - namespace := f.Namespace.Name - storageclass, err := client.StorageV1().StorageClasses().Create(ctx, getVSphereStorageClassSpec("zone-sc", scParameters, zones, storagev1.VolumeBindingWaitForFirstConsumer), metav1.CreateOptions{}) - framework.ExpectNoError(err, fmt.Sprintf("Failed to create storage class with err: %v", err)) - ginkgo.DeferCleanup(client.StorageV1().StorageClasses().Delete, storageclass.Name, metav1.DeleteOptions{}) - - ginkgo.By("Creating PVC using the Storage Class") - pvclaim, err := e2epv.CreatePVC(ctx, client, namespace, getVSphereClaimSpecWithStorageClass(namespace, "2Gi", storageclass)) - framework.ExpectNoError(err) - ginkgo.DeferCleanup(e2epv.DeletePersistentVolumeClaim, client, pvclaim.Name, namespace) - - var pvclaims []*v1.PersistentVolumeClaim - pvclaims = append(pvclaims, pvclaim) - - ginkgo.By("Creating a pod") - pod := e2epod.MakePod(namespace, nil, pvclaims, f.NamespacePodSecurityLevel, "") - pod, err = client.CoreV1().Pods(namespace).Create(ctx, pod, metav1.CreateOptions{}) - framework.ExpectNoError(err) - ginkgo.DeferCleanup(e2epod.DeletePodWithWait, client, pod) - - ginkgo.By("Waiting for claim to be in bound phase") - err = e2epv.WaitForPersistentVolumeClaimPhase(ctx, v1.ClaimBound, client, pvclaim.Namespace, pvclaim.Name, framework.Poll, 2*time.Minute) - framework.ExpectError(err) - - eventList, err := client.CoreV1().Events(pvclaim.Namespace).List(ctx, metav1.ListOptions{}) - framework.ExpectNoError(err) - - // Look for PVC ProvisioningFailed event and return the message. - for _, event := range eventList.Items { - if event.Source.Component == "persistentvolume-controller" && event.Reason == volumeevents.ProvisioningFailed { - return fmt.Errorf("Failure message: %s", event.Message) - } - } - return nil -} - -func waitForPVClaimBoundPhase(ctx context.Context, client clientset.Interface, pvclaims []*v1.PersistentVolumeClaim, timeout time.Duration) []*v1.PersistentVolume { - ginkgo.By("Waiting for claim to be in bound phase") - persistentvolumes, err := e2epv.WaitForPVClaimBoundPhase(ctx, client, pvclaims, timeout) - framework.ExpectNoError(err) - return persistentvolumes -} - -func verifyPodSchedulingFails(ctx context.Context, f *framework.Framework, nodeSelector map[string]string, scParameters map[string]string, zones []string, volumeBindingMode storagev1.VolumeBindingMode) { - client := f.ClientSet - namespace := f.Namespace.Name - storageclass, err := client.StorageV1().StorageClasses().Create(ctx, getVSphereStorageClassSpec("zone-sc", scParameters, zones, volumeBindingMode), metav1.CreateOptions{}) - framework.ExpectNoError(err, fmt.Sprintf("Failed to create storage class with err: %v", err)) - ginkgo.DeferCleanup(client.StorageV1().StorageClasses().Delete, storageclass.Name, metav1.DeleteOptions{}) - - ginkgo.By("Creating PVC using the Storage Class") - pvclaim, err := e2epv.CreatePVC(ctx, client, namespace, getVSphereClaimSpecWithStorageClass(namespace, "2Gi", storageclass)) - framework.ExpectNoError(err) - ginkgo.DeferCleanup(e2epv.DeletePersistentVolumeClaim, client, pvclaim.Name, namespace) - - var pvclaims []*v1.PersistentVolumeClaim - pvclaims = append(pvclaims, pvclaim) - - ginkgo.By("Creating a pod") - pod, err := e2epod.CreateUnschedulablePod(ctx, client, namespace, nodeSelector, pvclaims, f.NamespacePodSecurityLevel, "") - framework.ExpectNoError(err) - ginkgo.DeferCleanup(e2epod.DeletePodWithWait, client, pod) -} - -func verifyPVCCreationFails(ctx context.Context, f *framework.Framework, scParameters map[string]string, zones []string, volumeBindingMode storagev1.VolumeBindingMode) error { - client := f.ClientSet - namespace := f.Namespace.Name - storageclass, err := client.StorageV1().StorageClasses().Create(ctx, getVSphereStorageClassSpec("zone-sc", scParameters, zones, volumeBindingMode), metav1.CreateOptions{}) - framework.ExpectNoError(err, fmt.Sprintf("Failed to create storage class with err: %v", err)) - ginkgo.DeferCleanup(client.StorageV1().StorageClasses().Delete, storageclass.Name, metav1.DeleteOptions{}) - - ginkgo.By("Creating PVC using the Storage Class") - pvclaim, err := e2epv.CreatePVC(ctx, client, namespace, getVSphereClaimSpecWithStorageClass(namespace, "2Gi", storageclass)) - framework.ExpectNoError(err) - ginkgo.DeferCleanup(e2epv.DeletePersistentVolumeClaim, client, pvclaim.Name, namespace) - - ginkgo.By("Waiting for claim to be in bound phase") - err = e2epv.WaitForPersistentVolumeClaimPhase(ctx, v1.ClaimBound, client, pvclaim.Namespace, pvclaim.Name, framework.Poll, 2*time.Minute) - framework.ExpectError(err) - - eventList, err := client.CoreV1().Events(pvclaim.Namespace).List(ctx, metav1.ListOptions{}) - framework.ExpectNoError(err) - - framework.Logf("Failure message : %+q", eventList.Items[0].Message) - return fmt.Errorf("Failure message: %+q", eventList.Items[0].Message) -} - -func verifyPVZoneLabels(ctx context.Context, f *framework.Framework, scParameters map[string]string, zones []string) { - client := f.ClientSet - namespace := f.Namespace.Name - storageclass, err := client.StorageV1().StorageClasses().Create(ctx, getVSphereStorageClassSpec("zone-sc", nil, zones, ""), metav1.CreateOptions{}) - framework.ExpectNoError(err, fmt.Sprintf("Failed to create storage class with err: %v", err)) - ginkgo.DeferCleanup(client.StorageV1().StorageClasses().Delete, storageclass.Name, metav1.DeleteOptions{}) - - ginkgo.By("Creating PVC using the storage class") - pvclaim, err := e2epv.CreatePVC(ctx, client, namespace, getVSphereClaimSpecWithStorageClass(namespace, "2Gi", storageclass)) - framework.ExpectNoError(err) - ginkgo.DeferCleanup(e2epv.DeletePersistentVolumeClaim, client, pvclaim.Name, namespace) - - var pvclaims []*v1.PersistentVolumeClaim - pvclaims = append(pvclaims, pvclaim) - ginkgo.By("Waiting for claim to be in bound phase") - persistentvolumes, err := e2epv.WaitForPVClaimBoundPhase(ctx, client, pvclaims, f.Timeouts.ClaimProvision) - framework.ExpectNoError(err) - - ginkgo.By("Verify zone information is present in the volume labels") - for _, pv := range persistentvolumes { - // Multiple zones are separated with "__" - pvZoneLabels := strings.Split(pv.ObjectMeta.Labels[v1.LabelTopologyZone], "__") - for _, zone := range zones { - gomega.Expect(pvZoneLabels).Should(gomega.ContainElement(zone), "Incorrect or missing zone labels in pv.") - } - } -} diff --git a/vendor/github.com/vmware/govmomi/.dockerignore b/vendor/github.com/vmware/govmomi/.dockerignore deleted file mode 100644 index 9f5fdc6b9e6..00000000000 --- a/vendor/github.com/vmware/govmomi/.dockerignore +++ /dev/null @@ -1,2 +0,0 @@ -Dockerfile* -.*ignore \ No newline at end of file diff --git a/vendor/github.com/vmware/govmomi/.gitignore b/vendor/github.com/vmware/govmomi/.gitignore deleted file mode 100644 index 675d86a0ade..00000000000 --- a/vendor/github.com/vmware/govmomi/.gitignore +++ /dev/null @@ -1,13 +0,0 @@ -secrets.yml -dist/ -.idea/ - -# ignore tools binaries -/git-chglog - -# ignore RELEASE-specific CHANGELOG -/RELEASE_CHANGELOG.md - -# Ignore editor temp files -*~ -.vscode/ diff --git a/vendor/github.com/vmware/govmomi/.golangci.yml b/vendor/github.com/vmware/govmomi/.golangci.yml deleted file mode 100644 index d6392fb9489..00000000000 --- a/vendor/github.com/vmware/govmomi/.golangci.yml +++ /dev/null @@ -1,18 +0,0 @@ -linters: - disable-all: true - enable: - - goimports - - govet - # Run with --fast=false for more extensive checks - fast: true -# override defaults -linters-settings: - goimports: - # put imports beginning with prefix after 3rd-party packages; - # it's a comma-separated list of prefixes - local-prefixes: github.com/vmware/govmomi -run: - timeout: 6m - skip-dirs: - - vim25/xml - - cns/types diff --git a/vendor/github.com/vmware/govmomi/.goreleaser.yml b/vendor/github.com/vmware/govmomi/.goreleaser.yml deleted file mode 100644 index 76da5f3a359..00000000000 --- a/vendor/github.com/vmware/govmomi/.goreleaser.yml +++ /dev/null @@ -1,151 +0,0 @@ ---- -project_name: govmomi - -builds: - - id: govc - goos: &goos-defs - - linux - - darwin - - windows - - freebsd - goarch: &goarch-defs - - amd64 - - arm - - arm64 - - mips64le - env: - - CGO_ENABLED=0 - - PKGPATH=github.com/vmware/govmomi/govc/flags - main: ./govc/main.go - binary: govc - ldflags: - - "-X {{.Env.PKGPATH}}.BuildVersion={{.Version}} -X {{.Env.PKGPATH}}.BuildCommit={{.ShortCommit}} -X {{.Env.PKGPATH}}.BuildDate={{.Date}}" - - id: vcsim - goos: *goos-defs - goarch: *goarch-defs - env: - - CGO_ENABLED=0 - main: ./vcsim/main.go - binary: vcsim - ldflags: - - "-X main.buildVersion={{.Version}} -X main.buildCommit={{.ShortCommit}} -X main.buildDate={{.Date}}" - -archives: - - id: govcbuild - builds: - - govc - name_template: >- - govc_ - {{- title .Os }}_ - {{- if eq .Arch "amd64" }}x86_64 - {{- else if eq .Arch "386" }}i386 - {{- else }}{{ .Arch }}{{ end }} - format_overrides: &overrides - - goos: windows - format: zip - files: &extrafiles - - CHANGELOG.md - - LICENSE.txt - - README.md - - - id: vcsimbuild - builds: - - vcsim - name_template: >- - vcsim_ - {{- title .Os }}_ - {{- if eq .Arch "amd64" }}x86_64 - {{- else if eq .Arch "386" }}i386 - {{- else }}{{ .Arch }}{{ end }} - format_overrides: *overrides - files: *extrafiles - -snapshot: - name_template: "{{ .Tag }}-next" - -checksum: - name_template: "checksums.txt" - -changelog: - sort: asc - filters: - exclude: - - "^docs:" - - "^test:" - - Merge pull request - - Merge branch - -# upload disabled since it is maintained in homebrew-core -brews: - - name: govc - ids: - - govcbuild - tap: - owner: govmomi - name: homebrew-tap - # TODO: create token in specified tap repo, add as secret to govmomi repo and reference in release workflow - # token: "{{ .Env.HOMEBREW_TAP_GITHUB_TOKEN }}" - # enable once we do fully automated releases - skip_upload: true - commit_author: - name: Alfred the Narwhal - email: cna-alfred@vmware.com - folder: Formula - homepage: "https://github.com/vmware/govmomi/blob/master/govc/README.md" - description: "govc is a vSphere CLI built on top of govmomi." - test: | - system "#{bin}/govc version" - install: | - bin.install "govc" - - name: vcsim - ids: - - vcsimbuild - tap: - owner: govmomi - name: homebrew-tap - # TODO: create token in specified tap repo, add as secret to govmomi repo and reference in release workflow - # token: "{{ .Env.HOMEBREW_TAP_GITHUB_TOKEN }}" - # enable once we do fully automated releases - skip_upload: true - commit_author: - name: Alfred the Narwhal - email: cna-alfred@vmware.com - folder: Formula - homepage: "https://github.com/vmware/govmomi/blob/master/vcsim/README.md" - description: "vcsim is a vSphere API simulator built on top of govmomi." - test: | - system "#{bin}/vcsim -h" - install: | - bin.install "vcsim" - -dockers: - - image_templates: - - "vmware/govc:{{ .Tag }}" - - "vmware/govc:{{ .ShortCommit }}" - - "vmware/govc:latest" - dockerfile: Dockerfile.govc - ids: - - govc - build_flag_templates: - - "--pull" - - "--label=org.opencontainers.image.created={{.Date}}" - - "--label=org.opencontainers.image.title={{.ProjectName}}" - - "--label=org.opencontainers.image.revision={{.FullCommit}}" - - "--label=org.opencontainers.image.version={{.Version}}" - - "--label=org.opencontainers.image.url=https://github.com/vmware/govmomi" - - "--platform=linux/amd64" - - image_templates: - - "vmware/vcsim:{{ .Tag }}" - - "vmware/vcsim:{{ .ShortCommit }}" - - "vmware/vcsim:latest" - dockerfile: Dockerfile.vcsim - ids: - - vcsim - build_flag_templates: - - "--pull" - - "--label=org.opencontainers.image.created={{.Date}}" - - "--label=org.opencontainers.image.title={{.ProjectName}}" - - "--label=org.opencontainers.image.revision={{.FullCommit}}" - - "--label=org.opencontainers.image.version={{.Version}}" - - "--label=org.opencontainers.image.url=https://github.com/vmware/govmomi" - - "--platform=linux/amd64" diff --git a/vendor/github.com/vmware/govmomi/.mailmap b/vendor/github.com/vmware/govmomi/.mailmap deleted file mode 100644 index 23392c16100..00000000000 --- a/vendor/github.com/vmware/govmomi/.mailmap +++ /dev/null @@ -1,45 +0,0 @@ -amanpaha amanpaha <84718160+amanpaha@users.noreply.github.com> -Amanda H. L. de Andrade Amanda Hager Lopes de Andrade Katz -Amanda H. L. de Andrade amandahla -Amit Bathla -Andrew Kutz -Andrew Kutz akutz -Andrew Kutz Andrew Kutz <101085+akutz@users.noreply.github.com> -Anfernee Yongkun Gui -Anfernee Yongkun Gui Yongkun Anfernee Gui -Anna Carrigan Anna -Balu Dontu BaluDontu -Bruce Downs -Bruce Downs -Bruce Downs -Clint Greenwood -Cédric Blomart -Cédric Blomart cedric -David Stark -Doug MacEachern dougm -Eric Gray -Eric Yutao eric -Fabio Rapposelli -Faiyaz Ahmed Faiyaz Ahmed -Faiyaz Ahmed Faiyaz Ahmed -Faiyaz Ahmed Faiyaz Ahmed -Henrik Hodne -Ian Eyberg -Jeremy Canady -Jiatong Wang jiatongw -Lintong Jiang lintongj <55512168+lintongj@users.noreply.github.com> -Michael Gasch Michael Gasch -Mincho Tonev matonev <31008054+matonev@users.noreply.github.com> -Parveen Chahal -Pieter Noordhuis -Saad Malik -Takaaki Furukawa takaaki.furukawa -Takaaki Furukawa tkak -Uwe Bessle Uwe Bessle -Uwe Bessle Uwe Bessle -Vadim Egorov -William Lam -Yun Zhou <41678287+gh05tn0va@users.noreply.github.com> -Zach G zach96guan -Zach Tucker -Zee Yang diff --git a/vendor/github.com/vmware/govmomi/CHANGELOG.md b/vendor/github.com/vmware/govmomi/CHANGELOG.md deleted file mode 100644 index 974881f9892..00000000000 --- a/vendor/github.com/vmware/govmomi/CHANGELOG.md +++ /dev/null @@ -1,3515 +0,0 @@ - - -## [Release v0.29.0](https://github.com/vmware/govmomi/compare/v0.28.0...v0.29.0) - -> Release Date: 2022-07-06 - -### 🐞 Fix - -- [d6dd8fb3] Typos in vim25/soap/client CA tests -- [e086dfe4] generate negative device key in AssignController -- [371a24a4] Interface conversion panic in pkg simulator -- [a982c033] use correct controlflag for vslm SetControlFlags API test -- [37b3b24c] avoid possible panic in govc metric commands -- [310516e2] govc: disambiguate vm/host search flags in vm.migrate -- [6af2cdc3] govc-tests in Go v1.18 -- [142cdca4] Security update golangci-lint -- [971079ba] use correct vcenter.DeploymentSpec.VmConfigSpec json tag - -### 💫 API Changes - -- [e6b5974a] Add versioned user-agent header -- [ca7ee510] add VmConfigSpec field to content library DeploymentSpec - -### 💫 `govc` (CLI) - -- [515ca29f] Use unique searchFlagKey when calling NewSearchFlag -- [9d4ca658] add library.deploy '-config' flag -- [fc17df08] add 'device.clock.add' command -- [11f2d453] Edit disk storage IO - -### 💫 `vcsim` (Simulator) - -- [a1a36c9a] Fix disk capacity fields in ReconfigVM_Task -- [361c90ca] Remove VM Guest.Net entry when removing Ethernet card -- [578b95e5] Fix createVM to encode VM name -- [3325da0c] add content library VmConfigSpec support -- [8928a489] Update Dockerfile - -### 📃 Documentation - -- [5f5fb51e] Fix broken link in PR template - -### 🧹 Chore - -- [69ac8494] Update version.go for v0.29.0 -- [80489cb5] Update release automation -- [e1f76e37] Add missing copyright header -- [6ed812fe] Add Go boilerplate check - -### ⚠️ BREAKING - -### 📖 Commits - -- [69ac8494] chore: Update version.go for v0.29.0 -- [7d3b2b39] Update generated types -- [a1a36c9a] vcsim: Fix disk capacity fields in ReconfigVM_Task -- [5f5fb51e] docs: Fix broken link in PR template -- [d6dd8fb3] fix: Typos in vim25/soap/client CA tests -- [e086dfe4] fix: generate negative device key in AssignController -- [361c90ca] vcsim: Remove VM Guest.Net entry when removing Ethernet card -- [80489cb5] chore: Update release automation -- [e6b5974a] api: Add versioned user-agent header -- [578b95e5] vcsim: Fix createVM to encode VM name -- [371a24a4] fix: Interface conversion panic in pkg simulator -- [a982c033] fix: use correct controlflag for vslm SetControlFlags API test -- [37b3b24c] fix: avoid possible panic in govc metric commands -- [310516e2] fix: govc: disambiguate vm/host search flags in vm.migrate -- [5929abfb] correct SetControlFlags and ClearControlFlags APIs -- [6af2cdc3] fix: govc-tests in Go v1.18 -- [e1f76e37] chore: Add missing copyright header -- [6ed812fe] chore: Add Go boilerplate check -- [142cdca4] fix: Security update golangci-lint -- [3f4993d4] build(deps): bump chuhlomin/render-template from 1.4 to 1.5 -- [971079ba] fix: use correct vcenter.DeploymentSpec.VmConfigSpec json tag -- [892dcfcc] build(deps): bump nokogiri from 1.13.5 to 1.13.6 in /gen -- [303f0d95] build(deps): bump goreleaser/goreleaser-action from 2 to 3 -- [7eef76c3] build(deps): bump nokogiri from 1.13.4 to 1.13.5 in /gen -- [515ca29f] govc: Use unique searchFlagKey when calling NewSearchFlag -- [9d4ca658] govc: add library.deploy '-config' flag -- [c5ebd552] fix:fail to add ssd disk into allflash disk group Closes: [#2846](https://github.com/vmware/govmomi/issues/2846) -- [88f48e02] Updated USAGE.md -- [3325da0c] vcsim: add content library VmConfigSpec support -- [ca7ee510] api: add VmConfigSpec field to content library DeploymentSpec -- [8928a489] vcsim: Update Dockerfile -- [bf5d054d] Fixed docs for govc library.info w/-json -- [2f9fab55] emacs: fix json mode -- [fc17df08] govc: add 'device.clock.add' command -- [11f2d453] govc: Edit disk storage IO - - -## [Release v0.28.0](https://github.com/vmware/govmomi/compare/v0.27.5...v0.28.0) - -> Release Date: 2022-04-27 - -### 🐞 Fix - -- [5ef4aaaf] DiskFileOperation must consider both capacity fields -- [3566a35d] govc guest validate username/password -- [bbbfd7bc] govc test workflow cp error -- [a587742b] avoid debug trace if http.Request.Body is nil -- [7e2ce135] Ignore concurrent deletes in GetCategories -- [a7c6f15b] Allow go 1.17 to go install -- [0f0201ad] vapi - special param encoding for edge cluster lookup -- [e5209e34] rest.Client.LoginByToken invalid signature -- [ad66761e] support govc import.spec for remote ova -- [ebeaa71b] Add IPv6 support for signing HTTP request -- [512c168e] govc vm.destroy only destroys the 1st argument -- [d25aba08] govc vcsa.net.proxy.info doesnt give output in json format -- [ac7c9bf9] avoid possible panic in HostSystem.ManagementIPs -- [10fec668] CHANGELOG sorting and generation - -### 💡 Examples - -- [c5826b8f] Add Alarm Manager Example -- [9617bded] add HostConfigManager_OptionManager -- [a1a9d848] add VirtualDeviceList_SelectByBackingInfo - -### 💫 API Changes - -- [61c40001] add GPU support to VirtualDeviceList.SelectByBackingInfo - -### 💫 `govc` (CLI) - -- [d8dd7f2b] Add CLI command cluster.module -- [49a83e71] Fix arguments validation in datastore.disk.inflate/shrink -- [01d31b53] Add Feature dvs.create '-num-uplinks' flag -- [40e6cbc8] Add Appliance access API -- [949ef572] Add Appliance shutdown API's -- [d5ed6855] Add support for VM hardware upgrade scheduling -- [742f2893] add support for supervisor services deploy -- [3ba25d70] Require full or absolute paths -- [a4ae62e7] Add library info command -- [8fde8bce] validate library.deploy arguments - -### 💫 `vcsim` (Simulator) - -- [3d8ddf16] Fix device connectivity when vm is powered off -- [111ad9fc] Use new action type in simulator PlaceVmsXCluster response -- [e92db045] Fix NFS datastore moid collision -- [16e6bace] set summary.guest.{hostName,ipAddress} in CustomizeVM -- [46a85642] add ssoadmin simulator -- [811b829c] Fix port filtering by criteria in FetchDVPorts -- [e8425be5] revert vapi.Status() method -- [451ec35a] Fix keys in DistributedVirtualPorts -- [6542ccb5] Fix CreateFolder to encode folder name -- [8629c499] Allow updating custom fields -- [93c2afd1] copy device list when cloning a VM -- [3214d97a] add support for cloning HostSystems -- [9b3d6353] Fix distribute VMs across resource pools -- [93d39917] Add TenantManager support in simulator -- [6de12ab7] allow VM PowerOff when Host is in maintenance mode -- [48f7a881] emit VmMigratedEvent in RelocateVM method - -### 📃 Documentation - -- [9ea287c2] Update documentation -- [b4a2d3b3] Add git blog post to CONTRIBUTING -- [c7e103e7] Clarify squash in CONTRIBUTING -- [9317bdaf] Update CONTIRBUTING.md file - -### 🧹 Chore - -- [d60b21d5] Optimize Go CI workflows -- [2d72f576] Add dependabot configuration -- [5c301091] Use powerclicore on ghcr.io -- [7d8af1e7] Update CI to Go 1.18 -- [205c0e0d] Add api: commit prefix -- [b6cd7c1b] Add link to Discussions in New Issue -- [15efe49f] Replace /rest with /api in vcsa.shutdown API's -- [db7edbf4] Update workflow Go versions -- [05c28f4a] upgrade go directive in go.mod to 1.17 -- [ebff29b7] Add notes to PR RELEASE workflow - -### ⚠️ BREAKING - -Fix distribute VMs across resource pools [9b3d6353]: -The name of virtual machines deployed in `vcsim` in a cluster (and -optionally child resource pools) has changed to include the -corresponding resource pool name. VM names deployed to standalone hosts -in `vcsim` are not changed. - -### 📖 Commits - -- [9ea287c2] docs: Update documentation -- [89ae0933] build(deps): bump actions/stale from 3 to 5 -- [d60b21d5] chore: Optimize Go CI workflows -- [0d1b4189] build(deps): bump peter-evans/create-or-update-comment from 1 to 2 -- [e85b164d] build(deps): bump github/codeql-action from 1 to 2 -- [5ef4aaaf] fix: DiskFileOperation must consider both capacity fields -- [3566a35d] fix: govc guest validate username/password -- [1f0f8cc8] build(deps): bump chuhlomin/render-template from 1.2 to 1.4 -- [7324f647] build(deps): bump actions/upload-artifact from 2 to 3 -- [808a439a] build(deps): bump peter-evans/create-pull-request from 3 to 4 -- [bdee9992] build(deps): bump github.com/google/uuid from 1.2.0 to 1.3.0 -- [2d72f576] chore: Add dependabot configuration -- [bbbfd7bc] fix: govc test workflow cp error -- [d8dd7f2b] govc: Add CLI command cluster.module -- [90c90a0a] build(deps): bump nokogiri from 1.13.2 to 1.13.4 in /gen -- [3cb3eff1] ConfigInfo2ConfigSpec -- [3d8ddf16] vcsim: Fix device connectivity when vm is powered off -- [b4a2d3b3] docs: Add git blog post to CONTRIBUTING -- [49a83e71] govc: Fix arguments validation in datastore.disk.inflate/shrink -- [5c301091] chore: Use powerclicore on ghcr.io -- [7d8af1e7] chore: Update CI to Go 1.18 -- [111ad9fc] vcsim: Use new action type in simulator PlaceVmsXCluster response -- [c5826b8f] examples: Add Alarm Manager Example -- [46583051] Move the ClusterClusterInitialPlacementAction to unreleased types + fix linter error -- [9b1de9c8] Fix a linter error -- [cb2b8f5c] Add a new type of cluster action used for placing a VM. This action inherits from InitialPlacement action because it conveys the resource pool and host for placing the VM. In addition, it also has the VM's ConfigSpecwhich is used for indicating the recommended datastore for each virtual disk in VM's ConfigSpec -- [9617bded] examples: add HostConfigManager_OptionManager -- [8e4054fa] adding a check that number of uplinks otherwise do default -- [aada9aa1] Reconfigure LACP API for DVS -- [a1a9d848] examples: add VirtualDeviceList_SelectByBackingInfo -- [61c40001] api: add GPU support to VirtualDeviceList.SelectByBackingInfo -- [e92db045] vcsim: Fix NFS datastore moid collision -- [01d31b53] govc: Add Feature dvs.create '-num-uplinks' flag -- [11e469a4] build(deps): bump nokogiri from 1.12.5 to 1.13.2 in /gen -- [547c63fd] Added Support for vrdma NIC Type Signed-off-by: C S P Nanda -- [205c0e0d] chore: Add api: commit prefix -- [b6cd7c1b] chore: Add link to Discussions in New Issue -- [15efe49f] chore: Replace /rest with /api in vcsa.shutdown API's -- [40e6cbc8] govc: Add Appliance access API -- [16e6bace] vcsim: set summary.guest.{hostName,ipAddress} in CustomizeVM -- [a587742b] fix: avoid debug trace if http.Request.Body is nil -- [7e2ce135] fix: Ignore concurrent deletes in GetCategories -- [1875bac1] Add PlaceVmsXCluster bindings and simulator -- [a7c6f15b] fix: Allow go 1.17 to go install -- [a5498b89] Add BackingDiskObjectId go bindings to CNS API -- [0f0201ad] fix: vapi - special param encoding for edge cluster lookup -- [46a85642] vcsim: add ssoadmin simulator -- [297a3cae] ssoadmin: add IdentitySources API bindings -- [811b829c] vcsim: Fix port filtering by criteria in FetchDVPorts -- [e5209e34] fix: rest.Client.LoginByToken invalid signature -- [c7e103e7] docs: Clarify squash in CONTRIBUTING -- [e8425be5] vcsim: revert vapi.Status() method -- [ad66761e] fix: support govc import.spec for remote ova -- [803b6362] sts: support issuing HoK token using HoK token -- [451ec35a] vcsim: Fix keys in DistributedVirtualPorts -- [949ef572] govc: Add Appliance shutdown API's -- [6542ccb5] vcsim: Fix CreateFolder to encode folder name -- [d5ed6855] govc: Add support for VM hardware upgrade scheduling -- [9317bdaf] docs: Update CONTIRBUTING.md file -- [8629c499] vcsim: Allow updating custom fields -- [93c2afd1] vcsim: copy device list when cloning a VM -- [ebeaa71b] fix: Add IPv6 support for signing HTTP request -- [b729a862] Fix typo in (simulator.Context).WithLock() comment -- [cd577f46] Fixed doc -- [ca1f45ae] Added command flag documentation -- [512240a0] Fixed goimports issues -- [ce88635f] Added vm::ExportSnapshot and snapshot flag to export.ovf -- [742f2893] govc: add support for supervisor services deploy -- [3214d97a] vcsim: add support for cloning HostSystems -- [3ba25d70] govc: Require full or absolute paths -- [db7edbf4] chore: Update workflow Go versions -- [512c168e] fix: govc vm.destroy only destroys the 1st argument -- [b51418e3] Add IsAlreadyExists error helper -- [05c28f4a] chore: upgrade go directive in go.mod to 1.17 -- [a4ae62e7] govc: Add library info command -- [d25aba08] fix: govc vcsa.net.proxy.info doesnt give output in json format -- [ac7c9bf9] fix: avoid possible panic in HostSystem.ManagementIPs -- [9b3d6353] vcsim: Fix distribute VMs across resource pools -- [1da8c5e8] Fix: Deep compare error types in simulator VM tests -- [d3eaa9b9] Support Creating/Reconfiguring a simulator VM with VApp properties -- [10fec668] fix: CHANGELOG sorting and generation -- [b05ed4e0] Independent simulator.Context per-subtask in PowerOnMultiVM. -- [a0224d91] Fix eam/simulator tests -- [e2498fb8] Change references from global Map to ctx.Map. -- [ab446838] Set the Context.Map's when global Map is set -- [3b86fd0c] Re-work TenantManager addition to ServiceContent for older clients -- [93d39917] vcsim: Add TenantManager support in simulator -- [9f737e00] fix updating stale url from Makefile -- [8fde8bce] govc: validate library.deploy arguments -- [6de12ab7] vcsim: allow VM PowerOff when Host is in maintenance mode -- [ebff29b7] chore: Add notes to PR RELEASE workflow -- [48f7a881] vcsim: emit VmMigratedEvent in RelocateVM method -- [bb4f739b] Support finding Portgroups by ID in Finder.Network - - -## [Release v0.27.5](https://github.com/vmware/govmomi/compare/v0.27.4...v0.27.5) - -> Release Date: 2022-06-02 - -### 🐞 Fix - -- [e97c9708] use correct controlflag for vslm SetControlFlags API test - -### ⚠️ BREAKING - -### 📖 Commits - -- [e97c9708] fix: use correct controlflag for vslm SetControlFlags API test -- [f8cf9ef7] correct SetControlFlags and ClearControlFlags APIs - - -## [Release v0.27.4](https://github.com/vmware/govmomi/compare/v0.27.3...v0.27.4) - -> Release Date: 2022-02-10 - -### 🐞 Fix - -- [285e80cd] avoid debug trace if http.Request.Body is nil -- [dde50904] Ignore concurrent deletes in GetCategories -- [cbc68fc0] rest.Client.LoginByToken invalid signature - -### 💫 `vcsim` (Simulator) - -- [df595d82] add ssoadmin simulator - -### ⚠️ BREAKING - -### 📖 Commits - -- [285e80cd] fix: avoid debug trace if http.Request.Body is nil -- [dde50904] fix: Ignore concurrent deletes in GetCategories -- [fc1fce62] Add PlaceVmsXCluster bindings and simulator -- [df595d82] vcsim: add ssoadmin simulator -- [9ca477aa] ssoadmin: add IdentitySources API bindings -- [24fe60f1] Add BackingDiskObjectId go bindings to CNS API -- [cbc68fc0] fix: rest.Client.LoginByToken invalid signature - - -## [Release v0.27.3](https://github.com/vmware/govmomi/compare/v0.27.2...v0.27.3) - -> Release Date: 2022-02-01 - -### 🐞 Fix - -- [2d7cd133] Add IPv6 support for signing HTTP request - -### ⚠️ BREAKING - -### 📖 Commits - -- [6b4e2391] sts: support issuing HoK token using HoK token -- [2d7cd133] fix: Add IPv6 support for signing HTTP request - - -## [Release v0.27.2](https://github.com/vmware/govmomi/compare/v0.27.1...v0.27.2) - -> Release Date: 2021-11-23 - -### 🐞 Fix - -- [f04d77d6] avoid possible panic in HostSystem.ManagementIPs - -### ⚠️ BREAKING - -### 📖 Commits - -- [f04d77d6] fix: avoid possible panic in HostSystem.ManagementIPs - - -## [Release v0.27.1](https://github.com/vmware/govmomi/compare/v0.27.0...v0.27.1) - -> Release Date: 2021-10-20 - -### ⚠️ BREAKING - -### 📖 Commits - -- [6209be5b] Support finding Portgroups by ID in Finder.Network - - -## [Release v0.27.0](https://github.com/vmware/govmomi/compare/v0.26.2...v0.27.0) - -> Release Date: 2021-10-14 - -### 🐞 Fix - -- [57c4be58] multi-value query params for vAPI methods -- [815e2d8f] avoid vNIC mapping in guest.TransferURL if URL.Host is an IP -- [81a7dbe9] avoid use of vNIC IP in guest.TransferURL if there are multiple -- [61afce31] Update CnsQueryAsync API request parameters to handle nil for QuerySelection -- [a601a8a8] generate negative device key - -### 💫 `govc` (CLI) - -- [b5426eba] Add feature to read file contents for ExtraConfig -- [85956c77] fix tasks to activate option dump/json/xml -- [f4ef4d93] Fix incorrect MoRef parsing -- [d695f4cf] Handle powered on VMs in vm.destroy -- [94f63681] add library.clone '-e' and '-m' options -- [2fcae372] add vsan info and change commands - -### 💫 `vcsim` (Simulator) - -- [fa457940] Fix PowerOnMultiVMTask() to return per-VM tasks -- [e67b1b11] check if VM host InMaintenanceMode - -### 📃 Documentation - -- [82e447d9] Update govc USAGE - -### 🧹 Chore - -- [05adcc97] Remove -i parameter in go install -- [18ea9cc5] Update PR and release docs - -### ⚠️ BREAKING - -Add task manager and collector [397c8aad]: -`event.Manager` does not embed `object.Common` anymore. Only the methods -`Client()` and `Reference()` are implemented. -`event.NewHistoryCollector()` is now unexported (to -`newHistoryCollector()`) as it was merely a helper and to comply with -the task manager implementation. - -### 📖 Commits - -- [78f30265] update contributors -- [68b54585] Refactor EAM code to use BaseAgencyConfigInfo interface instead of impl -- [d5ded1f0] Implement mo.Reference interface in task+event managers -- [038bc3d8] Update vslm types to vCenter 7.0U3 (build 18700403) -- [ae8161df] Update pbm types to vCenter 7.0U3 (build 18700403) -- [f2d167de] Update eam types to vCenter 7.0U3 (build 18700403) -- [f1c7b54d] Update vim25 types to vCenter 7.0U3 (build 18700403) -- [445fd552] Update gen.sh to vCenter 7.0U3 (build 18700403) -- [961f0ae6] example: find VirtualMachine's Cluster -- [57c4be58] fix: multi-value query params for vAPI methods -- [f7e8ed73] Set custom HTTP headers for VAPI calls -- [05adcc97] chore: Remove -i parameter in go install -- [82e447d9] docs: Update govc USAGE -- [b5426eba] govc: Add feature to read file contents for ExtraConfig -- [815e2d8f] fix: avoid vNIC mapping in guest.TransferURL if URL.Host is an IP -- [81a7dbe9] fix: avoid use of vNIC IP in guest.TransferURL if there are multiple -- [18ea9cc5] chore: Update PR and release docs -- [a66d23ed] build(deps): bump nokogiri from 1.11.4 to 1.12.5 in /gen -- [a853b300] Fix: Nil-Pointer Exception in ResourceAllocation -- [fa457940] vcsim: Fix PowerOnMultiVMTask() to return per-VM tasks -- [85956c77] govc: fix tasks to activate option dump/json/xml -- [61afce31] fix: Update CnsQueryAsync API request parameters to handle nil for QuerySelection -- [397c8aad] feat: Add task manager and collector -- [a601a8a8] fix: generate negative device key -- [f4ef4d93] govc: Fix incorrect MoRef parsing -- [e67b1b11] vcsim: check if VM host InMaintenanceMode -- [d695f4cf] govc: Handle powered on VMs in vm.destroy -- [a55fa7dc] feat: Add optional WaitOptions to WaitForUpdates -- [94f63681] govc: add library.clone '-e' and '-m' options -- [2fcae372] govc: add vsan info and change commands - - -## [Release v0.26.2](https://github.com/vmware/govmomi/compare/v0.26.1...v0.26.2) - -> Release Date: 2022-03-21 - -### 🐞 Fix - -- [76a22af3] avoid possible panic in HostSystem.ManagementIPs -- [566d2ac1] avoid use of vNIC IP in guest.TransferURL if there are multiple - -### ⚠️ BREAKING - -### 📖 Commits - -- [76a22af3] fix: avoid possible panic in HostSystem.ManagementIPs -- [566d2ac1] fix: avoid use of vNIC IP in guest.TransferURL if there are multiple - - -## [Release v0.26.1](https://github.com/vmware/govmomi/compare/v0.26.0...v0.26.1) - -> Release Date: 2021-08-16 - -### 🐞 Fix - -- [a366e352] Regenerated interface and type to include BaseAgencyConfigInfo. Closes: [#2545](https://github.com/vmware/govmomi/issues/2545). -- [d66ef551] explicitly import eam/simulator in test - -### 💡 Examples - -- [0c045a63] Add Property Wait example - -### 💫 `govc` (CLI) - -- [012f5348] support updating items in library.update command -- [5743d5b6] Allow cluster.change to set ClusterDrsConfigInfo.vmotionRate -- [03210c91] Add object.collect type flag alias help - -### 💫 `vcsim` (Simulator) - -- [ce6ed634] avoid race when fetching object Locker -- [31821de3] use 'domain-c' prefix for cluster moids -- [3625e6dd] propagate CustomizeVM MacAddress to Virtual NIC -- [389c0382] Take the host parameter into account while cloning a VM on a cluster -- [6fba1da7] Implement VSLM ExtendDisk_Task - -### 🧹 Chore - -- [ddc2b47a] Include commit details in BREAKING section - -### ⚠️ BREAKING - -### 📖 Commits - -- [a366e352] fix: Regenerated interface and type to include BaseAgencyConfigInfo. Closes: [#2545](https://github.com/vmware/govmomi/issues/2545). -- [655f8e5c] testing for lab -- [ce6ed634] vcsim: avoid race when fetching object Locker -- [31821de3] vcsim: use 'domain-c' prefix for cluster moids -- [0aa1de31] make processing of mac addresses case insensitive ([#2510](https://github.com/vmware/govmomi/issues/2510)) -- [012f5348] govc: support updating items in library.update command -- [0c045a63] examples: Add Property Wait example -- [f30cefc3] Add Reauth flag to skip loading cached sessions -- [3625e6dd] vcsim: propagate CustomizeVM MacAddress to Virtual NIC -- [5743d5b6] govc: Allow cluster.change to set ClusterDrsConfigInfo.vmotionRate -- [389c0382] vcsim: Take the host parameter into account while cloning a VM on a cluster -- [7bf48333] Added CNS querySnapshots binding, simulator testcases and client testcases -- [017ab414] Added CreateSnapshots and DeleteSnapshots methods in cns simulator as well as their test cases -- [03210c91] govc: Add object.collect type flag alias help -- [d66ef551] fix: explicitly import eam/simulator in test -- [ddc2b47a] chore: Include commit details in BREAKING section -- [6fba1da7] vcsim: Implement VSLM ExtendDisk_Task - - -## [Release v0.26.0](https://github.com/vmware/govmomi/compare/v0.25.0...v0.26.0) - -> Release Date: 2021-06-03 - -### 🐞 Fix - -- [70b92d6d] Isolate SSO govc tests - -### 💡 Examples - -- [81b1de17] add toolbox Client.Run - -### 💫 `govc` (CLI) - -- [e37e515b] fix default guest.run path for unsupported Windows guests -- [0e7012d0] Add support for getting the VC proxy and no-proxy configuration ([#2435](https://github.com/vmware/govmomi/issues/2435)) -- [6afb8ff9] Change 'Maintenance Mode' printing in host.info - -### 💫 `vcsim` (Simulator) - -- [dff7f6bb] fix panic in QueryPerfCounter method -- [df9dfde1] set VirtualMachine ChangeTrackingSupported property ([#2468](https://github.com/vmware/govmomi/issues/2468)) -- [0c0ed98a] fix race in CloneVM_Task -- [d01d0fa7] add simulator.RunContainer method -- [8ab0c99a] untie datastore capacity from local fs -- [d31941c8] Modify Usage of README. (based on v0.25.0) -- [4fea687c] include all namespaces in /about info -- [bd3467d4] avoid edit device panic when DeviceInfo is nil -- [35a42af5] add guest operations process support - -### 📃 Documentation - -- [75eee8e4] update govc/USAGE and CONTRIBUTORS -- [1f795d21] Add blog to vcsim README -- [2719c229] Document linker and GOFLAGS for build vars - -### 🧹 Chore - -- [b4e1f965] Fix CONTRIB link in greeting -- [6f2597be] Update CHANGELOG implementation -- [d3944e17] Add and reorder commits in CHANGELOG -- [a796d3fc] Add make help target -- [8bc8fd28] Add issue and PR templates -- [60e33916] Document commit prefixes -- [cac1d8d7] Add issue greeting -- [0f1c3f89] Add WIP Action -- [921ad37a] Remove dep files -- [1d4ce94a] Clean up documentation -- [991278b9] Remove unused release script -- [16d8add5] Automate CHANGELOG - -### ⚠️ BREAKING - -### 📖 Commits - -- [75eee8e4] docs: update govc/USAGE and CONTRIBUTORS -- [dff7f6bb] vcsim: fix panic in QueryPerfCounter method -- [b4e1f965] chore: Fix CONTRIB link in greeting -- [df9dfde1] vcsim: set VirtualMachine ChangeTrackingSupported property ([#2468](https://github.com/vmware/govmomi/issues/2468)) -- [8cbe64c5] Fix: Protect FileProvider.files to avoid concurrent modification -- [6f2597be] chore: Update CHANGELOG implementation -- [0c0ed98a] vcsim: fix race in CloneVM_Task -- [81b1de17] examples: add toolbox Client.Run -- [d01d0fa7] vcsim: add simulator.RunContainer method -- [9223b5ae] Add toolbox.NewClient method -- [8ab0c99a] vcsim: untie datastore capacity from local fs -- [e37e515b] govc: fix default guest.run path for unsupported Windows guests -- [d3944e17] chore: Add and reorder commits in CHANGELOG -- [83e29c69] Update GitHub Test Action to use Makefile -- [a7f2c47e] Update vslm types vC build 17986435 (7.0U2HP4) -- [067374fd] Update sms types vC build 17986435 (7.0U2HP4) -- [d9f507f0] Update pbm types vC build 17986435 (7.0U2HP4) -- [c89f8dd5] Update eam types vC build 17986435 (7.0U2HP4) -- [b72432ef] Update vim25 types vC build 17986435 (7.0U2HP4) -- [e53716dd] Update gen.sh to vC build 17986435 (7.0U2HP4) -- [1f795d21] docs: Add blog to vcsim README -- [338f5529] Ran "make fix" to correct lint issues -- [23d77ba4] Add support for golangci-lint -- [d31941c8] vcsim: Modify Usage of README. (based on v0.25.0) -- [7046a0d3] Support pre-auth handlers in vC Sim -- [2e8860d1] Add CNS Snapshot APIs in govmomi -- [13d4d376] Remove vendor -- [a796d3fc] chore: Add make help target -- [ef824a20] Fix QueryAsyncVolume API test to be invoked only for vSphere 7.0.3 -- [c1900234] Fix data race in simulator.container.id -- [3212351e] install bin doc: permalink to latest version -- [7d779833] Setup CodeQL Analysis -- [566250ff] build(deps): bump nokogiri from 1.11.1 to 1.11.4 in /gen -- [f814a9ca] ESX Agent Manager (EAM) Client and Simulator -- [0e7012d0] govc: Add support for getting the VC proxy and no-proxy configuration ([#2435](https://github.com/vmware/govmomi/issues/2435)) -- [8bc8fd28] chore: Add issue and PR templates -- [4fea687c] vcsim: include all namespaces in /about info -- [bd3467d4] vcsim: avoid edit device panic when DeviceInfo is nil -- [70b92d6d] fix: Isolate SSO govc tests -- [80c9053e] Correcting broken Kubernetes vSphere Cloud Provider links -- [60e33916] chore: Document commit prefixes -- [57a141f3] Update govc test docs with act -- [ff578914] Use "vcsim uuidgen" for bats tests -- [61e12ddb] Only greet unassociated users -- [e39dfdc8] Add chore section to CHANGELOG -- [6afb8ff9] govc: Change 'Maintenance Mode' printing in host.info -- [cac1d8d7] chore: Add issue greeting -- [0f1c3f89] chore: Add WIP Action -- [921ad37a] chore: Remove dep files -- [2719c229] docs: Document linker and GOFLAGS for build vars -- [f3645a96] Clarify SetRootCAs behavior -- [c368e57f] toolbox: add hgfs freebsd stub -- [35a42af5] vcsim: add guest operations process support -- [64e55d81] Set RoundTripper in ssoadmin.NewClient -- [1d4ce94a] chore: Clean up documentation -- [991278b9] chore: Remove unused release script -- [16d8add5] chore: Automate CHANGELOG -- [e8805c92] Add NotFoundFault in cns types -- [8576fe27] Add queryAsyncVolume in simulator -- [4b9e0813] Simplify binary download instructions -- [3062dda9] Remove Travis CI -- [0be5632f] adding rancher to projects and reorganizing in alpha order -- [4a63a28c] Add bindings for CnsQueryAsyncVolume API -- [a8c80b93] Update READMEs with artifacts and Docker images -- [26c9690c] Fix VM Guest test and vet warnings -- [a32cd0b3] Add RELEASE documentation -- [cc660b0e] Increase govc tests timeout -- [d7bfaf4f] toolbox: move process management to its own package -- [e86da96e] Exclude go files in release tarball - - -## [Release v0.25.0](https://github.com/vmware/govmomi/compare/v0.24.2...v0.25.0) - -> Release Date: 2021-04-16 - -### 💡 Examples - -- [38da87ff] add NetworkReference.EthernetCardBackingInfo - -### 💫 `govc` (CLI) - -- [1ac314c3] add vm.customize -dns-suffix flag -- [60e0e895] update test images URL -- [cdf3ace6] log invalid NetworkMapping.Name with import.ova command -- [f8b3d8a8] revert pretty print pruning optimization -- [35481467] add library.update command -- [749c2239] add session.ls -S flag -- [93245c1e] add tree command -- [790f9ce6] include sub task fault messages on failure -- [d2a353ba] remove device.boot -firmware default -- [de6032e0] add '-trace' and '-verbose' flags -- [63bb5c1e] metric command enhancements and fixes -- [7844a8c2] fix vm.migrate search index flags -- [5dacf627] fix cluster.usage Free field -- [f71bcf25] fix session curl when given a URL query -- [c954c2a5] validate license.remove -- [3b25c3f1] validate required library.clone NAME arg -- [344b7a30] note 'disk.ls -R' in volume.rm help -- [8942055a] add device.info examples to get disk UUID and vmdk -- [1b0af949] fix vm.markasvm examples -- [add8be5a] fix incorrect DeviceID value in device.pci.add -- [1f4f5640] add IPv6 support to vm.customize - -### 💫 `vcsim` (Simulator) - -- [27d8d2e4] put verbose logging behind '-trace' flag -- [0ef4ae22] add moid value mapping mappings -- [082f9927] add vsan simulator -- [25970530] fix Task.Info.Entity in RevertToSnapshot_Task -- [f0a045ac] set VirtualMachine.Config.CreateDate property -- [e51eb2b9] support EventFilterSpec.Time -- [8e45fa4a] emit CustomizationSucceeded event from CustomizeVM -- [c000bd6e] add DistributedVirtualSwitchManager -- [bcd5fa87] set VirtualDisk backing UUID -- [ccdcbe89] move product suffix in ServiceContent.About -- [393e7330] use linked list for EventHistoryCollector -- [9c4dc1a1] escape datastore name -- [9c2fe70f] record/replay EnvironmentBrowser.QueryConfigOption -- [5fd7e264] fix EventHistoryCollector fixes -- [0b755a59] switch bats tests from esx to vcsim env -- [3f1caf82] fixes for PowerCLI Get-VirtualNetwork - -### 📃 Documentation - -- [e18b601f] update for 0.25 release - -### ⚠️ BREAKING - -### 📖 Commits - -- [6fe8d60a] Fix folder write for govc container -- [e18b601f] docs: update for 0.25 release -- [1ac314c3] govc: add vm.customize -dns-suffix flag -- [22d911f6] Add Cron Docker Login Action -- [60e0e895] govc: update test images URL -- [3385b3e0] Add action to automate release -- [cdf3ace6] govc: log invalid NetworkMapping.Name with import.ova command -- [27d8d2e4] vcsim: put verbose logging behind '-trace' flag -- [f8b3d8a8] govc: revert pretty print pruning optimization -- [0ef4ae22] vcsim: add moid value mapping mappings -- [df08d4b2] First step towards release automation -- [f9b79a4f] export simulator.task.Wait() -- [917c4ec8] Ensure lock hand-off to simulator.Task goroutine -- [b45b228f] Simulator Task Delay -- [4b59b652] Make Simulator Tasks Async -- [bc52c793] Associate every registry lock with a Context. -- [054971ee] Wait until VM creation completes before adding to folder -- [35481467] govc: add library.update command -- [7403b470] Fix race in simulator's PropertyCollector -- [aadb2082] Add action to block WIP PRs -- [749c2239] govc: add session.ls -S flag -- [bc297330] [3ad0f415] Update Dockerfiles and .goreleaser.yml -- [082f9927] vcsim: add vsan simulator -- [8c38d56d] Add a stretched cluster conversion command. -- [408c531a] gofmt -- [e8a6b126] Update govc/flags/output.go -- [bf54a7c4] Add more badges -- [93245c1e] govc: add tree command -- [790f9ce6] govc: include sub task fault messages on failure -- [07e6e923] Use Github Actions Status Badges -- [d2a353ba] govc: remove device.boot -firmware default -- [4ed615f6] Add chainable RoundTripper support to endpoint clients -- [bab95d26] Add the vSAN stretched cluster reference. -- [6ff33db7] Fix events example -- [de6032e0] govc: add '-trace' and '-verbose' flags -- [7aae8dfb] Add support for calling vCenter for VLSM ExtendDisk and InflateDisk -- [7a276bf6] Add client test file for vslm package to validate register disk and cns create volume -- [dc29aa29] Fix performance.Manager.SampleByName truncation -- [18b53fd2] Added UpdateServiceMessage to Session Manager -- [63bb5c1e] govc: metric command enhancements and fixes -- [7844a8c2] govc: fix vm.migrate search index flags -- [7ab111bd] Drop clusterDistribution from vSAN 7.0 update and create spec elements -- [2c57a8a3] Use Github Actions -- [52631496] Marshal soapFaultError as JSON -- [f9e323a6] fix tab indentation -- [ae129ba0] add tests and implement HA Ready Condition -- [f34b3fa2] implement vSphere HA additional delay to VM HA overrides in govc -- [25970530] vcsim: fix Task.Info.Entity in RevertToSnapshot_Task -- [5dacf627] govc: fix cluster.usage Free field -- [0d155a61] Handling invalid reader size -- [b70542a5] Using progress reader in WriteFile -- [b7f9e034] use correct enum for vm restart priority -- [d3d49a36] Add support for snapshot size calculations -- [61bfa072] Use a dash to indicate empty address -- [f0a045ac] vcsim: set VirtualMachine.Config.CreateDate property -- [4d9a9000] vim25: fix race in TemporaryNetworkError retry func -- [2f14e4b2] ovf: add Config and ExtraConfig to VirtualHardwareSection -- [50328780] Add vSAN 7.0U1 release constant -- [886573de] Update .goreleaser.yml -- [1cdb3164] Change the address type to automatic -- [667a3791] Remove duplicate cns bindings from vsan directory -- [f71bcf25] govc: fix session curl when given a URL query -- [d92f41de] Update volume ACL spec to add delete field -- [c954c2a5] govc: validate license.remove -- [2a4f8c8a] Update ConfigureVolumeACLs bindings in cns types -- [3b25c3f1] govc: validate required library.clone NAME arg -- [344b7a30] govc: note 'disk.ls -R' in volume.rm help -- [8942055a] govc: add device.info examples to get disk UUID and vmdk -- [1b0af949] govc: fix vm.markasvm examples -- [543e52ea] govc-env --save default -- [0a5f2a99] Little fix for "govc-env --save without config name" -- [4a7a0b45] gen: require nokogiri 1.11.0 or higher -- [add8be5a] govc: fix incorrect DeviceID value in device.pci.add -- [e51eb2b9] vcsim: support EventFilterSpec.Time -- [1f4f5640] govc: add IPv6 support to vm.customize -- [8e45fa4a] vcsim: emit CustomizationSucceeded event from CustomizeVM -- [c000bd6e] vcsim: add DistributedVirtualSwitchManager -- [bcd5fa87] vcsim: set VirtualDisk backing UUID -- [ccdcbe89] vcsim: move product suffix in ServiceContent.About -- [393e7330] vcsim: use linked list for EventHistoryCollector -- [9c4dc1a1] vcsim: escape datastore name -- [9c2fe70f] vcsim: record/replay EnvironmentBrowser.QueryConfigOption -- [5fd7e264] vcsim: fix EventHistoryCollector fixes -- [40a2cf0b] Skip tests that require docker on TravisCI -- [00ee2911] toolbox: skip tests that require Linux -- [0b755a59] vcsim: switch bats tests from esx to vcsim env -- [c6d5264a] Updated projects to include VMware Event Broker Appliance -- [ae44a547] ExampleCollector_Retrieve: Add missing err return -- [38da87ff] examples: add NetworkReference.EthernetCardBackingInfo -- [3f1caf82] vcsim: fixes for PowerCLI Get-VirtualNetwork -- [041a98b8] Fix DvsNetworkRuleQualifier interface -- [44e05fe4] SHA-1 deprecated in 2011, sha256sum for releases - - -## [Release v0.24.2](https://github.com/vmware/govmomi/compare/v0.24.1...v0.24.2) - -> Release Date: 2021-10-14 - -### 🐞 Fix - -- [b18f06b5] avoid vNIC mapping in guest.TransferURL if URL.Host is an IP -- [5a2a8aba] avoid use of vNIC IP in guest.TransferURL if there are multiple - -### ⚠️ BREAKING - -### 📖 Commits - -- [b18f06b5] fix: avoid vNIC mapping in guest.TransferURL if URL.Host is an IP -- [5a2a8aba] fix: avoid use of vNIC IP in guest.TransferURL if there are multiple - - -## [Release v0.24.1](https://github.com/vmware/govmomi/compare/v0.24.0...v0.24.1) - -> Release Date: 2021-03-17 - -### 💡 Examples - -- [38da87ff] add NetworkReference.EthernetCardBackingInfo - -### 💫 `govc` (CLI) - -- [63bb5c1e] metric command enhancements and fixes -- [7844a8c2] fix vm.migrate search index flags -- [5dacf627] fix cluster.usage Free field -- [f71bcf25] fix session curl when given a URL query -- [c954c2a5] validate license.remove -- [3b25c3f1] validate required library.clone NAME arg -- [344b7a30] note 'disk.ls -R' in volume.rm help -- [8942055a] add device.info examples to get disk UUID and vmdk -- [1b0af949] fix vm.markasvm examples -- [add8be5a] fix incorrect DeviceID value in device.pci.add -- [1f4f5640] add IPv6 support to vm.customize - -### 💫 `vcsim` (Simulator) - -- [25970530] fix Task.Info.Entity in RevertToSnapshot_Task -- [f0a045ac] set VirtualMachine.Config.CreateDate property -- [e51eb2b9] support EventFilterSpec.Time -- [8e45fa4a] emit CustomizationSucceeded event from CustomizeVM -- [c000bd6e] add DistributedVirtualSwitchManager -- [bcd5fa87] set VirtualDisk backing UUID -- [ccdcbe89] move product suffix in ServiceContent.About -- [393e7330] use linked list for EventHistoryCollector -- [9c4dc1a1] escape datastore name -- [9c2fe70f] record/replay EnvironmentBrowser.QueryConfigOption -- [5fd7e264] fix EventHistoryCollector fixes -- [0b755a59] switch bats tests from esx to vcsim env -- [3f1caf82] fixes for PowerCLI Get-VirtualNetwork - -### ⚠️ BREAKING - -### 📖 Commits - -- [7a276bf6] Add client test file for vslm package to validate register disk and cns create volume -- [dc29aa29] Fix performance.Manager.SampleByName truncation -- [18b53fd2] Added UpdateServiceMessage to Session Manager -- [63bb5c1e] govc: metric command enhancements and fixes -- [7844a8c2] govc: fix vm.migrate search index flags -- [7ab111bd] Drop clusterDistribution from vSAN 7.0 update and create spec elements -- [52631496] Marshal soapFaultError as JSON -- [f9e323a6] fix tab indentation -- [ae129ba0] add tests and implement HA Ready Condition -- [f34b3fa2] implement vSphere HA additional delay to VM HA overrides in govc -- [25970530] vcsim: fix Task.Info.Entity in RevertToSnapshot_Task -- [5dacf627] govc: fix cluster.usage Free field -- [b7f9e034] use correct enum for vm restart priority -- [d3d49a36] Add support for snapshot size calculations -- [61bfa072] Use a dash to indicate empty address -- [f0a045ac] vcsim: set VirtualMachine.Config.CreateDate property -- [4d9a9000] vim25: fix race in TemporaryNetworkError retry func -- [2f14e4b2] ovf: add Config and ExtraConfig to VirtualHardwareSection -- [50328780] Add vSAN 7.0U1 release constant -- [886573de] Update .goreleaser.yml -- [1cdb3164] Change the address type to automatic -- [667a3791] Remove duplicate cns bindings from vsan directory -- [f71bcf25] govc: fix session curl when given a URL query -- [d92f41de] Update volume ACL spec to add delete field -- [c954c2a5] govc: validate license.remove -- [2a4f8c8a] Update ConfigureVolumeACLs bindings in cns types -- [3b25c3f1] govc: validate required library.clone NAME arg -- [344b7a30] govc: note 'disk.ls -R' in volume.rm help -- [8942055a] govc: add device.info examples to get disk UUID and vmdk -- [1b0af949] govc: fix vm.markasvm examples -- [543e52ea] govc-env --save default -- [0a5f2a99] Little fix for "govc-env --save without config name" -- [4a7a0b45] gen: require nokogiri 1.11.0 or higher -- [add8be5a] govc: fix incorrect DeviceID value in device.pci.add -- [e51eb2b9] vcsim: support EventFilterSpec.Time -- [1f4f5640] govc: add IPv6 support to vm.customize -- [8e45fa4a] vcsim: emit CustomizationSucceeded event from CustomizeVM -- [c000bd6e] vcsim: add DistributedVirtualSwitchManager -- [bcd5fa87] vcsim: set VirtualDisk backing UUID -- [ccdcbe89] vcsim: move product suffix in ServiceContent.About -- [393e7330] vcsim: use linked list for EventHistoryCollector -- [9c4dc1a1] vcsim: escape datastore name -- [9c2fe70f] vcsim: record/replay EnvironmentBrowser.QueryConfigOption -- [5fd7e264] vcsim: fix EventHistoryCollector fixes -- [40a2cf0b] Skip tests that require docker on TravisCI -- [00ee2911] toolbox: skip tests that require Linux -- [0b755a59] vcsim: switch bats tests from esx to vcsim env -- [c6d5264a] Updated projects to include VMware Event Broker Appliance -- [ae44a547] ExampleCollector_Retrieve: Add missing err return -- [38da87ff] examples: add NetworkReference.EthernetCardBackingInfo -- [3f1caf82] vcsim: fixes for PowerCLI Get-VirtualNetwork -- [041a98b8] Fix DvsNetworkRuleQualifier interface -- [44e05fe4] SHA-1 deprecated in 2011, sha256sum for releases - - -## [Release v0.24.0](https://github.com/vmware/govmomi/compare/v0.23.1...v0.24.0) - -> Release Date: 2020-12-21 - -### 💡 Examples - -- [7178588c] add Folder.CreateVM -- [b4f7243b] add ContainerView retrieve clusters -- [1d21fff9] use session.Cache -- [8af8cef6] add events -- [e153061f] fix simulator.RunContainer on MacOSX - -### 💫 `govc` (CLI) - -- [1ec59a7c] fix build.sh git tag injection -- [31c0836e] add cluster.usage command -- [79514c81] add volume.ls -ds option -- [5e57b3f6] add device.boot -firmware option -- [4d82f0ff] add dvs.portgroup.{add,change} '-auto-expand' flag -- [4a1d05ac] fix object.collect ContainerView updates -- [e84d0d18] document vm.disk.attach -link behavior -- [70a9ced4] fix vm.clone panic when target VM already exists -- [a97e6168] support sparse backing in vm.disk.change -- [3380cd30] add CNS volume ls and rm commands -- [f7170fd2] add find -p flag -- [b40cdd8a] add storage.policy commands -- [d0111d28] add vm.console -wss flag -- [86374ea2] support multi value flags in host.esxcli command -- [ebcfa3d4] add namespace.cluster.ls command - -### 💫 `vcsim` (Simulator) - -- [bf80efab] include stderr in log message when volume import fails -- [1f3fb17c] include stderr in log message when container fails to start -- [e1c4b06e] rewrite vmfs path from saved model -- [bcdfb298] QueryConfigOptionEx Spec is optional -- [73e1af55] support inventory updates in ContainerView -- [a76123b2] set VirtualDevice.Connectable default for removable devices -- [b195dd57] add AuthorizationManager methods -- [a71f6c77] set VirtualDisk backing option defaults -- [fbde3866] add CloneVApp_Task support -- [aae78223] fix ListView.Modify -- [9cca13ab] avoid ViewManager.ModifyListView race -- [156b1cb0] add ListView to race test -- [55f6f952] add mechanism for modeling methods -- [69942fe2] fix save/load property collection for VmwareDistributedVirtualSwitch -- [33121b87] Honoring the instance uuid provided in spec by caller ([#2052](https://github.com/vmware/govmomi/issues/2052)) - -### ⚠️ BREAKING - -### 📖 Commits - -- [1ec59a7c] govc: fix build.sh git tag injection -- [164b9217] Update docs for 0.24 release -- [bf80efab] vcsim: include stderr in log message when volume import fails -- [4080e177] Add batch APIs for multiple tags to object -- [31c0836e] govc: add cluster.usage command -- [7178588c] examples: add Folder.CreateVM -- [2b962f3f] Add test for vsan host config -- [165d7cb4] Add function to get vsan host config -- [79514c81] govc: add volume.ls -ds option -- [f7ff79df] Add Configure ACL go bindings -- [1f3fb17c] vcsim: include stderr in log message when container fails to start -- [3b83040a] Add wrappers for retrieving vsan properties -- [12e8969c] Use gofmt -- [6454dbd4] Add vSAN 7.0 API bindings -- [6a216a52] Add vSAN 7.0 API bindings -- [be15ad6c] Regenerate against vSphere 7.0U1 release -- [5e57b3f6] govc: add device.boot -firmware option -- [e1c4b06e] vcsim: rewrite vmfs path from saved model -- [26635452] Change CnsCreateVolume to return PlacementResult for static volume provisioning. Also add unit test for this case. -- [4d82f0ff] govc: add dvs.portgroup.{add,change} '-auto-expand' flag -- [bcdfb298] vcsim: QueryConfigOptionEx Spec is optional -- [8b194c23] Add Placement object in CNS CreateVolume response. Add corresponding test. -- [b085fc33] Use available ctx in enable cluster network lookup -- [f6f336ab] Cleanup some redundant code for cluster namespace enabling -- [d04f2b49] change negative one to rand neg int32 -- [f819befd] go binding for CNS RelocateVolume API -- [ed93ea7d] fix the goimports validation error -- [f402c0e1] support trunk mode port group -- [ff575977] change key default from -1 to rand neg int32 vsphere 7 introduced a key collision detection error when adding devices com.vmware.vim.vpxd.vmprov.duplicateDeviceKey which causes -1 keys to return an error of duplicate if you try and add two devices in the same AddDevice call -- [39acef43] Add option to disable secure cookies with non-TLS endpoints -- [ae19e30f] simulator: fix container vm example -- [73e1af55] vcsim: support inventory updates in ContainerView -- [593cd20d] Add namespace.cluster.disable cmd + formatting fixes -- [782ed95c] Add namespace.cluster.enable cmd to govc -- [e7403032] Make ListStorageProfiles public -> for enabling clusters in govc -- [53965796] Adds support for enabling cluster namespaces via API -- [4a1d05ac] govc: fix object.collect ContainerView updates -- [e84d0d18] govc: document vm.disk.attach -link behavior -- [a76123b2] vcsim: set VirtualDevice.Connectable default for removable devices -- [b4f7243b] examples: add ContainerView retrieve clusters -- [b195dd57] vcsim: add AuthorizationManager methods -- [a71f6c77] vcsim: set VirtualDisk backing option defaults -- [1d21fff9] examples: use session.Cache -- [8af8cef6] examples: add events -- [3e2a8071] Add ClusterDistribution field for CNS telemetry and Drop optional fields not known to the prior releases -- [4acfb726] Fix for fatal error: concurrent map iteration and map write -- [01610887] Adding VsanQueryObjectIdentities and QueryVsanObjects -- [fbde3866] vcsim: add CloneVApp_Task support -- [70a9ced4] govc: fix vm.clone panic when target VM already exists -- [a97e6168] govc: support sparse backing in vm.disk.change -- [3380cd30] govc: add CNS volume ls and rm commands -- [f9d7bfdf] sts: fix SignRequest bodyhash for non-empty request body -- [7b4e997b] vapi: add WCP support bundle bindings -- [aae78223] vcsim: fix ListView.Modify -- [0e4bce43] Add AuthorizationManager.HasUserPrivilegeOnEntities wrapper -- [81207eab] vim25/xml: sync with Go 1.15 encoding/xml -- [f7170fd2] govc: add find -p flag -- [d49123c9] Add internal.InventoryPath helper -- [b40cdd8a] govc: add storage.policy commands -- [0c5cdd5d] add / remove pci passthrough device for one VM -- [d0111d28] govc: add vm.console -wss flag -- [94bc8497] Add sms generated types and methods -- [e153061f] examples: fix simulator.RunContainer on MacOSX -- [99fe9954] finder: simplify direct use of InventoryPath func -- [3760bd6c] Added Instant Clone feature Resolves: [#1392](https://github.com/vmware/govmomi/issues/1392) -- [86374ea2] govc: support multi value flags in host.esxcli command -- [9cca13ab] vcsim: avoid ViewManager.ModifyListView race -- [156b1cb0] vcsim: add ListView to race test -- [f903d5da] Add ExtendDisk and InflateDisk wrappers to vlsm/object_manager -- [073cc310] Add AttachDisk and DetachDisk wrappers for the virtualMachine object. -- [a0c7e829] vapi: add tags.Manager.GetAttachedTagsOnObjects example -- [378a24c4] Vsan Performance Data Collection API ([#2021](https://github.com/vmware/govmomi/issues/2021)) -- [55f6f952] vcsim: add mechanism for modeling methods -- [69942fe2] vcsim: fix save/load property collection for VmwareDistributedVirtualSwitch -- [fe3becfa] bats: test fixes for running on MacOSX -- [0422a070] Merge branch 'master' into pc/HardwareInfoNotReplicatingInCloning -- [9f12aae4] vapi: add Content Library example -- [33121b87] vcsim: Honoring the instance uuid provided in spec by caller ([#2052](https://github.com/vmware/govmomi/issues/2052)) -- [9a07942b] Setting hardware properties in clone VM spec from template VM -- [ebcfa3d4] govc: add namespace.cluster.ls command -- [11d45e54] vapi: add namespace management client and vcsim support -- [cdc44d5e] vapi: add helper support "/api" endpoint - - -## [Release v0.23.1](https://github.com/vmware/govmomi/compare/v0.23.0...v0.23.1) - -> Release Date: 2020-07-02 - -### 💡 Examples - -- [0bbb6a7d] add property.Collector.Retrieve example - -### 💫 `vcsim` (Simulator) - -- [0697d33f] add HostNetworkSystem.QueryNetworkHint -- [d7f4bba6] use HostNetworkSystem wrapper with -load flag -- [916b12e6] set HostSystem IP in cluster AddHost_Task -- [e63ec002] add PbmQueryAssociatedProfile method - -### ⚠️ BREAKING - -### 📖 Commits - -- [b7add48c] check if config isn't nil before returning an uuid -- [12955a6c] added support for returning array of BaseCnsVolumeOperationResult for QueryVolumeInfo API -- [0697d33f] vcsim: add HostNetworkSystem.QueryNetworkHint -- [a5c9e1f0] Merge branch 'master' into master -- [c14e3bc5] adding in link to OPS -- [d7f4bba6] vcsim: use HostNetworkSystem wrapper with -load flag -- [916b12e6] vcsim: set HostSystem IP in cluster AddHost_Task -- [e63ec002] vcsim: add PbmQueryAssociatedProfile method -- [0bbb6a7d] examples: add property.Collector.Retrieve example - - -## [Release v0.23.0](https://github.com/vmware/govmomi/compare/v0.22.2...v0.23.0) - -> Release Date: 2020-06-11 - -### 💡 Examples - -- [0e4b487e] Fixed error is not logging in example.go -- [c17eb769] add ContainerView.Find - -### 💫 `govc` (CLI) - -- [10c22fd1] support raw object references in import.ova NetworkMapping -- [4f19eb6d] ipath search flag does not require a Datacenter -- [414c548d] support find with -customValue filter -- [0bf0e761] support VirtualApp with -pool flag -- [f1ae45f5] add -version flag to datastore.create command -- [43e4f8c2] add session.login -X flag -- [70b7e1b4] vm.clone ResourcePool is optional when -cluster is specified -- [2c5ff385] add REST support for session.login -cookie flag -- [7d66cf9a] fix host.info CPU usage -- [244a8369] add session.ls -r flag -- [6c68ccf2] add a VM template clone example -- [bb6ae4ab] ignore ManagedObjectNotFound errors in 'find' command -- [210541fe] remove ClientFlag.WithRestClient -- [75e9e80d] do not try to start a VM template -- [667e6fbe] add guest directory upload/download examples -- [167f5d83] add vm.change -uuid flag -- [bcd06cee] enable library.checkout and library.checkin by default -- [6f087ded] avoid truncation in object.collect -- [e9bb4772] add import.spec support for remote URLs -- [692c1008] support optional compute.policy.ls argument -- [814e4e5c] add vm.change '-memory-pin' flag -- [56e878a5] support nested groups in sso.group.update -- [84346733] add content library helpers -- [0ccfd912] add cluster.group.ls -l flag -- [ae84c494] use OutputFlag for import.spec -- [2dda4daa] add library.clone -ovf flag -- [519d302d] fix doc for -g flag (guest id) choices -- [e582cbd1] add object.collect -o flag -- [d2e6b7df] output formatting enhancements -- [e64c2423] add find -l flag -- [4db4430c] save sessions using sha256 ID - -### 💫 `vcsim` (Simulator) - -- [c3fe4f84] CreateSnapshotTask now returns moref in result -- [b0af443c] add lookup ServiceRegistration example -- [34734712] add AuthorizationManager.HasPrivilegeOnEntities -- [228e0a8f] traverse configManager.datastoreSystem in object.save -- [8acac02a] traverse configManager.virtualNicManager in object.save -- [8a4ab564] traverse configManager.networkSystem in object.save -- [4b8a5988] add extraConfigAlias table -- [a0fe825a] add EventHistoryCollector.ResetCollector implementation -- [558747b3] fixes for PowerCLI -- [9ae04495] apply ExtraConfig after devices -- [4286d7cd] add another test/example for DVS host member validation -- [7e24bfcb] validate DVS membership -- [853656fd] fix flaky library subscriber test -- [7426e2fd] avoid panic if ovf:capacityAllocationUnits is not present -- [55599668] support QueryConfigOptionEx GuestId param -- [67d593cc] VM templates do not have a ResourcePool -- [469e11b9] validate session key in TerminateSession method -- [88d298ff] unique MAC address for VM NICs -- [c4f820dd] create vmdk directory if needed -- [488205f0] support VMs with the same name -- [68349a27] support Folder in RelocateVM spec -- [ab1298d5] add guest operations support -- [7ffb9255] add HostStorageSystem support -- [77b31b84] avoid possible panic in UnregisterVM_Task -- [617c18e7] support tags with the same name -- [dfcf9437] add docs on generated inventory names -- [4cfc2905] add support for NSX backed networks - -### ⚠️ BREAKING - -### 📖 Commits - -- [b639ab4c] Update docs for 0.23 release -- [be7742f2] vapi: use header authentication in file Upload/Download -- [50846878] provided examples for vm.clone and host.esxcli -- [aa97c4d3] Add appliance log forwarding config handler and govc verb ([#1994](https://github.com/vmware/govmomi/issues/1994)) -- [7cdad997] Finder: support DistributedVirtualSwitch traversal -- [10c22fd1] govc: support raw object references in import.ova NetworkMapping -- [c3fe4f84] vcsim: CreateSnapshotTask now returns moref in result -- [4f19eb6d] govc: ipath search flag does not require a Datacenter -- [b0af443c] vcsim: add lookup ServiceRegistration example -- [84f1b733] simulator: fix handling of nil Reference in container walk -- [b5b434b0] Adding sunProfileName in pbm.CapabilityProfileCreateSpec -- [2111324a] providing examples for govc guest.run -- [0eef3b29] Bump to vSphere version 7 -- [b277903e] go binding for CNS QueryVolumeInfo API -- [a048ea52] Move simulator lookupservice registration into ServiceInstance -- [30f1a71a] modify markdown link at simulator.Model -- [7881f541] Add REST session keep alive support -- [3aa9aaba] vapi: sync access to rest.Client.SessionID -- [0a53ac4b] simulator: refactor folder children operations -- [b9152f85] simulator: relax ResourcePool constraint for createVM operation -- [70e9d821] simulator: relax typing condition on RP parent -- [502b7efa] simulator: relax ViewManager typing constraints -- [634fdde1] simulator: remove data race in VM creation flow -- [6eda0169] simulator: protect datastore freespace updates against data races -- [414c548d] govc: support find with -customValue filter -- [487ca0d6] Add logic to return default HealthStatus in CnsCreateVolume. -- [0bf0e761] govc: support VirtualApp with -pool flag -- [f1ae45f5] govc: add -version flag to datastore.create command -- [d0751307] Add support for attach-tag-to-multiple-objects -- [5682b1f2] simulator: relax excessive type assertions in SearchIndex -- [39a4da90] Modify parenthesis for markdown link -- [34734712] vcsim: add AuthorizationManager.HasPrivilegeOnEntities -- [92d464b9] 1. Add retry for CNS Create API with backing disk url 2. Fix binding for CnsAlreadyRegisteredFault -- [235582fe] Add sample test for Create CNS API using backing disk Url path -- [b187863a] 1. Add BackingDiskUrlPath and CnsAlreadyFault go bindings to CNS APIs 2. Update CreateVolume CNS Util to include BackingDiskUrlPath -- [409279fa] Add GetProfileNameByID functionality to PBM -- [228e0a8f] vcsim: traverse configManager.datastoreSystem in object.save -- [8acac02a] vcsim: traverse configManager.virtualNicManager in object.save -- [8a4ab564] vcsim: traverse configManager.networkSystem in object.save -- [43e4f8c2] govc: add session.login -X flag -- [70b7e1b4] govc: vm.clone ResourcePool is optional when -cluster is specified -- [2c5ff385] govc: add REST support for session.login -cookie flag -- [6ccaf303] Add guest.FileManager.TransferURL test -- [03c7611e] Avoid possible nil pointer dereference in guest TransferURL -- [44a78f96] Fix delegated Holder-of-Key token signature -- [11b2aa1a] Update to vSphere 7 APIs -- [4b8a5988] vcsim: add extraConfigAlias table -- [a0fe825a] vcsim: add EventHistoryCollector.ResetCollector implementation -- [558747b3] vcsim: fixes for PowerCLI -- [9ae04495] vcsim: apply ExtraConfig after devices -- [7d66cf9a] govc: fix host.info CPU usage -- [4286d7cd] vcsim: add another test/example for DVS host member validation -- [515621d1] Revert to using sha1 for session cache file names -- [f103a87a] Default to separate session cache directories -- [7e24bfcb] vcsim: validate DVS membership -- [244a8369] govc: add session.ls -r flag -- [6c68ccf2] govc: add a VM template clone example -- [bb6ae4ab] govc: ignore ManagedObjectNotFound errors in 'find' command -- [853656fd] vcsim: fix flaky library subscriber test -- [571f64e7] Fix existing goimport issue -- [7426e2fd] vcsim: avoid panic if ovf:capacityAllocationUnits is not present -- [9e57f983] Add non-null HostLicensableResourceInfo to HostSystem -- [210541fe] govc: remove ClientFlag.WithRestClient -- [75e9e80d] govc: do not try to start a VM template -- [d9220e5d] simulator: add interface for VirtualDiskManager -- [55599668] vcsim: support QueryConfigOptionEx GuestId param -- [67d593cc] vcsim: VM templates do not have a ResourcePool -- [667e6fbe] govc: add guest directory upload/download examples -- [167f5d83] govc: add vm.change -uuid flag -- [bcd06cee] govc: enable library.checkout and library.checkin by default -- [9d4faa6d] Refactor govc session persistence into session/cache package -- [6f087ded] govc: avoid truncation in object.collect -- [7a1fef65] Remove Task from function names in Task struct receiver methods -- [dd839655] Add SetTaskState SetTaskDescription UpdateProgress to object package -- [469e11b9] vcsim: validate session key in TerminateSession method -- [af41ae09] Revert compute policy support -- [ad612b3e] Fix the types of errors returned from VSLM tasks to be their originl vim faults rather than just wrappers of localized error msg -- [9e82230f] Remove extra err check -- [e9bb4772] govc: add import.spec support for remote URLs -- [273aaf71] skip tests when env is not set -- [159c423c] removing usage of spew package -- [76caec95] vapi: prefer header authn to cookie authn -- [6c04cfa0] Dropping fields in entity metadata for 6.7u3 -- [8d15081f] using right version and namespace from sdk/vsanServiceVersions.xml for cns client. making cns/client.go backward compatible to vsan67u3 by dropping unknown elements -- [8dfb29f5] Add nil check for taskInfo result before typecasting CnsVolumeOperationBatchResult -- [d68bbf9b] fixing CnsFault go binding -- [5482bd07] syncing vmodl changes -- [3bcace84] fixing go binding for CnsVolumeOperationResult and CnsFault -- [3c756cbd] Fixing govmomi binding for CNS as per latest VMODL for CnsVsanFileShareBackingDetails. Also fixed cns/client_test.go accordingly. -- [4254df70] Adding new API to get cluster configuration -- [0eacb4ed] removing space before omitempty tag -- [59ce7e4a] Resolve bug in Simulator regarding BackingObjectDetails -- [6ad7e87d] Change the backingObjectDetails attribute to point to interface BaseCnsBackingObjectDetails -- [601f1ded] Add resize support -- [56049aa4] Updating go binding for vsan fileshare vmodl updates -- [af798c01] Add CnsQuerySelectionNameType and CnsKubernetesEntityType back -- [af2723fd] Add bindings for vSANFS and extend CNS bindings to support file volume -- [4e7b9b00] update taskClientVersion for vsphere 7.0 -- [692c1008] govc: support optional compute.policy.ls argument -- [a7d4a77d] Modified return type for Get policy -- [4007484e] Compute Policy support -- [88d298ff] vcsim: unique MAC address for VM NICs -- [814e4e5c] govc: add vm.change '-memory-pin' flag -- [de8bcf25] reset all for recursive calls fix format error -- [57efe91f] Fixed ContainerView.RetrieveWithFilter fetch all specs if empty list of properties given -- [5af5ac8d] Avoid possible panic in Filter.MatchProperty -- [85889777] Add vAPI create binding for compute policy -- [56e878a5] govc: support nested groups in sso.group.update -- [6f46ef8a] Added prefix toggle parameter to govc export.ovf -- [6d3196e4] Disk mode should override default value in vm.disk.attach -- [4be7a425] Replaced ClassOvfParams with ClassDeploymentOptionParams -- [c4f820dd] vcsim: create vmdk directory if needed -- [1ab6fe09] Add Content Library subscriptions support -- [488205f0] vcsim: support VMs with the same name -- [68349a27] vcsim: support Folder in RelocateVM spec -- [6a6a7875] Update CONTRIBUTING to have more info about running CI tests, checks. -- [a73c0d4f] Expose Soap client default transport (a.k.a. its http client default transport) -- [84346733] govc: add content library helpers -- [a225a002] build(deps): bump nokogiri from 1.10.4 to 1.10.8 in /gen -- [b4395d65] Avoid ServiceContent requirement in lookup.NewClient -- [c1e828cb] fix blog links -- [863430ba] toolbox: bump test VM memory for current CoreOS release -- [0ccfd912] govc: add cluster.group.ls -l flag -- [1af6ec1d] Add Namespace support to UseServiceVersion -- [ab1298d5] vcsim: add guest operations support -- [0e4b487e] examples: Fixed error is not logging in example.go -- [f36e13fc] Add Content Library item copy support -- [7ffb9255] vcsim: add HostStorageSystem support -- [ae84c494] govc: use OutputFlag for import.spec -- [2dda4daa] govc: add library.clone -ovf flag -- [77b31b84] vcsim: avoid possible panic in UnregisterVM_Task -- [519d302d] govc: fix doc for -g flag (guest id) choices -- [617c18e7] vcsim: support tags with the same name -- [e582cbd1] govc: add object.collect -o flag -- [0c6eafc1] Apply gomvomi vim25/xml changes -- [4da54375] Simplify ObjectName method -- [d2e6b7df] govc: output formatting enhancements -- [dfcf9437] vcsim: add docs on generated inventory names -- [e64c2423] govc: add find -l flag -- [4db4430c] govc: save sessions using sha256 ID -- [4cfc2905] vcsim: add support for NSX backed networks -- [c17eb769] examples: add ContainerView.Find -- [36056ae6] Import golang/go/src/encoding/xml v1.13.6 -- [346cf59a] Avoid encoding/xml import -- [9cbe57db] fix simulator disk manager fault message. -- [7f685c23] Add permissions for NoCryptoAdmin - - -## [Release v0.22.2](https://github.com/vmware/govmomi/compare/v0.22.1...v0.22.2) - -> Release Date: 2020-02-13 - -### ⚠️ BREAKING - -### 📖 Commits - -- [e7df0c11] Avoid ServiceContent requirement in lookup.NewClient - - -## [Release v0.22.1](https://github.com/vmware/govmomi/compare/v0.22.0...v0.22.1) - -> Release Date: 2020-01-13 - -### ⚠️ BREAKING - -### 📖 Commits - -- [da368950] Release version 0.22.1 -- [a62b12cf] Fix AttributeValue.C14N for 6.7u3 -- [c3d102b1] Add finder example for MultipleFoundError -- [802e5899] vapi: add CreateTag example -- [15630b90] vapi: Add cluster modules client and simulator - - -## [Release v0.22.0](https://github.com/vmware/govmomi/compare/v0.21.0...v0.22.0) - -> Release Date: 2020-01-10 - -### 💡 Examples - -- [72b1cd92] output VM names in performance example -- [f4b3cda7] add Common.Rename -- [dab4ab0d] add VirtualMachine.Customize -- [1828eee9] add VirtualMachine.CreateSnapshot -- [6ff7040e] fix flag parsing -- [cad9a8e2] add ExampleVirtualMachine_Reconfigure - -### 💫 `govc` (CLI) - -- [aed39212] guest -i flag only applies to ProcessManager -- [704b335f] add 5.0 to vm.create hardware version map -- [965109ae] guest.run improvements -- [ee28fcfd] add vm.customize multiple IP support -- [68b3ea9f] fix library.info output formatting -- [5bb7f391] add optional library.info details -- [d8ac7e51] handle xsd:string responses -- [31d3e357] add library.info details -- [182c84a3] fixup tasks formatting -- [08fb2b02] remove guest.run toolbox dependency -- [a727283f] default to simple esxcli format when hints fields is empty -- [204af3c5] add datacenter create/delete examples -- [f6c57ee7] fix vm.create doc regarding -on flag -- [8debfcc3] add device.boot -secure flag -- [2bb2a6ed] add doc on vm.info -r flag -- [e50368c6] avoid env for -cluster placement flag -- [f16eb276] add default library.create thumbprint -- [d8325f34] add thumbprint flag to library.create -- [0bad2bc2] add vm.power doc -- [45d322ea] support vm.customize without a managed spec -- [0a058e0f] fixup usage suggestions -- [3185f7bc] add vm.customize command -- [1b159e27] fix datacenter.info against nested folders -- [149ba7ad] add vm.change -latency flag -- [c35a532d] validate moref argument -- [3fb02b52] add guest.df command - -### 💫 `vcsim` (Simulator) - -- [198b97ca] propagate VirtualMachineCloneSpec.Template -- [168a6a04] add -trace-file option -- [32eeeb24] Get IP address on non-default container network -- [1427d581] avoid possible panic in VirtualMachine.Destroy_Task -- [067d58be] automatically set Context.Caller -- [9e8e9a5a] remove container volumes -- [6cc814b8] bind mount BIOS UUID DMI files -- [9aec1386] validate VirtualDisk UnitNumber -- [d7e43b4e] add Floppy Drive support to OVF manager -- [8646dace] properly initialize portgroup portKeys field -- [286bd5e9] add vim25 client helper to vapi simulator -- [c3163247] use VMX_ prefix for guestinfo env vars -- [a3a09c04] don't allow duplicate names for Folder/StoragePod -- [a0a2296e] pass guestinfo vars as env vars to container vms -- [903fe182] add CustomizationSpecManager support -- [eda6bf3b] simplify container vm arguments input -- [0ce9b0a1] update docs -- [7755fbda] add record/playback functionality -- [fe000674] add VirtualMachine.Rename_Task support -- [d87cd5ac] add feature examples -- [2cc33fa8] Ensure that extraConfig from clone spec is added to VM being cloned -- [70ad060e] use exported response helpers in vapi/simulator -- [1e7aa6c2] avoid ViewManager.ViewList -- [9b0db1c2] avoid race in ViewManager -- [28b5fc6c] use TLS in simulator.Run -- [f962095f] rename Example to Run -- [43d69860] add endpoint registration mechanism -- [c183577b] add PlaceVm support ([#1589](https://github.com/vmware/govmomi/issues/1589)) -- [b17f3a51] DefaultDatastoreID is optional in library deploy - -### ⏮ Reverts - -- [7914609d] gen: retain omitempty field tag with int pointer types - -### ⚠️ BREAKING - -### 📖 Commits - -- [317707be] Update docs for 0.22 release -- [aed39212] govc: guest -i flag only applies to ProcessManager -- [22308123] Clarify DVS EthernetCardBackingInfo error message -- [a1c98f14] Add Content Library synchronization support -- [704b335f] govc: add 5.0 to vm.create hardware version map -- [4e907d99] Clarify System.Read privilege requirement for PortGroup backing -- [554d9284] Fix guest.FileManager.TransferURL cache -- [9b8da88a] Remove toolbox specific guest run implementation -- [965109ae] govc: guest.run improvements -- [ee28fcfd] govc: add vm.customize multiple IP support -- [40001828] Add OVF properties to library deploy ([#1755](https://github.com/vmware/govmomi/issues/1755)) -- [68b3ea9f] govc: fix library.info output formatting -- [198b97ca] vcsim: propagate VirtualMachineCloneSpec.Template -- [5bb7f391] govc: add optional library.info details -- [2509e907] Added the missing RetrieveSnapshotDetails API in VSLM ([#1763](https://github.com/vmware/govmomi/issues/1763)) -- [d8ac7e51] govc: handle xsd:string responses -- [45b3685d] Add library ItemType constants -- [f3e2c3ce] Add retry support for HTTP status codes -- [31d3e357] govc: add library.info details -- [182c84a3] govc: fixup tasks formatting -- [08fb2b02] govc: remove guest.run toolbox dependency -- [b10bcbf3] VSLM: fixed the missing param in the QueryChangedDiskArea API impl -- [168a6a04] vcsim: add -trace-file option -- [72b1cd92] examples: output VM names in performance example -- [32eeeb24] vcsim: Get IP address on non-default container network -- [f9f69237] Move to cs.identity service type for sso admin endpoint -- [1427d581] vcsim: avoid possible panic in VirtualMachine.Destroy_Task -- [067d58be] vcsim: automatically set Context.Caller -- [a727283f] govc: default to simple esxcli format when hints fields is empty -- [08adb5d6] Move to cs.identity service type for sts endpoint -- [9e8e9a5a] vcsim: remove container volumes -- [6cc814b8] vcsim: bind mount BIOS UUID DMI files -- [e793289c] Content Library: add CheckOuts support -- [66c9b10c] Content Library: VM Template support -- [f4b3cda7] examples: add Common.Rename -- [19a726f7] Pass vm.Config.Uuid into the "VM" container via an env var -- [204af3c5] govc: add datacenter create/delete examples -- [dab4ab0d] examples: add VirtualMachine.Customize -- [f6c57ee7] govc: fix vm.create doc regarding -on flag -- [8debfcc3] govc: add device.boot -secure flag -- [9aec1386] vcsim: validate VirtualDisk UnitNumber -- [7914609d] Revert "gen: retain omitempty field tag with int pointer types" -- [9b2c5cc6] Add CustomizationSpecManager.Info method and example -- [d7e43b4e] vcsim: add Floppy Drive support to OVF manager -- [0bf21ec2] Implement some missing methods ("*All*" variants) on SearchIndex MOB -- [2bb2a6ed] govc: add doc on vm.info -r flag -- [8646dace] vcsim: properly initialize portgroup portKeys field -- [e50368c6] govc: avoid env for -cluster placement flag -- [91b1e0a7] Add ability to set DVS discovery protocol on create and change -- [1e130141] Move to Go 1.13 -- [f16eb276] govc: add default library.create thumbprint -- [d8325f34] govc: add thumbprint flag to library.create -- [62c20113] Fix hostsystem ManagementIPs call -- [c4a3908f] Update DVS change to use finder.Network for a single object -- [ee6fe09d] Fix usage instructions -- [5e6f5e3f] gen: retain omitempty field tag with int pointer types -- [286bd5e9] vcsim: add vim25 client helper to vapi simulator -- [841386f1] Add ability to change a vnic on a host -- [391dd80b] Add ability to change the MTU on a DVS that has already been created -- [26a45d61] Change MTU param to use flags.NewInt32 as the type -- [dbcfc3a8] Add MTU flag for DVS creation -- [0399353f] Generate pointer type for ResourceReductionToToleratePercent -- [3f6b8ef5] Add nil checks for all HostConfigManager references -- [c3163247] vcsim: use VMX_ prefix for guestinfo env vars -- [5381f171] Add option to follow all struct fields in mo.References -- [04e4835c] Refactor session KeepAlive tests to use vcsim -- [7391c241] Avoid possible deadlock in KeepAliveHandler -- [41422ea4] build(deps): bump nokogiri from 1.6.3.1 to 1.10.4 in /gen -- [a3a09c04] vcsim: don't allow duplicate names for Folder/StoragePod -- [4c72d2e9] Add a method to update ports on a distributed virtual switch -- [0bad2bc2] govc: add vm.power doc -- [45d322ea] govc: support vm.customize without a managed spec -- [0a058e0f] govc: fixup usage suggestions -- [a0a2296e] vcsim: pass guestinfo vars as env vars to container vms -- [903fe182] vcsim: add CustomizationSpecManager support -- [eda6bf3b] vcsim: simplify container vm arguments input -- [0ce9b0a1] vcsim: update docs -- [c538d867] adding managed obj type to table -- [3185f7bc] govc: add vm.customize command -- [b2a7b47e] Include object.save directory in output -- [e8281f87] Initial support for hybrid Model.Load -- [7755fbda] vcsim: add record/playback functionality -- [8a3fa4f2] set stable vsan client version -- [9eaac5cb] Avoid empty principal in HoK token request -- [4a8da68d] Allow sending multiple characters through -c and name the keys -- [3e3d3515] add simple command list filter -- [fe000674] vcsim: add VirtualMachine.Rename_Task support -- [9166bbdb] support two tags with the same name -- [344653c1] added log type and password scrubber -- [d87cd5ac] vcsim: add feature examples -- [30fc2225] Report errors when cdrom.insert fails -- [a94f2d3a] vslm: fix to throw errors on tasks that are completed with error state -- [37054f03] added IsTemplate vm helper -- [d7aeb628] Fix object.collect with moref argument -- [0765aa63] add GetInventoryPath to NetworkReference interface -- [9fb975b0] Fix description of vm.keystrokes -- [234aaf53] vapi: support DeleteLibrary with subscribed libraries -- [2cc33fa8] vcsim: Ensure that extraConfig from clone spec is added to VM being cloned -- [70ad060e] vcsim: use exported response helpers in vapi/simulator -- [b069efc0] vapi: refactor for external API implementations -- [1e7aa6c2] vcsim: avoid ViewManager.ViewList -- [9b0db1c2] vcsim: avoid race in ViewManager -- [bd298f43] a failing testcase that triggers with -race test -- [03422dd2] vapi: expand internal path constants -- [d296a5f8] Support HoK tokens with Interactive Users -- [c6226542] Fix error check in session.Secret -- [28b5fc6c] vcsim: use TLS in simulator.Run -- [f9b4bb05] Replace LoadRetrievePropertiesResponse with LoadObjectContent -- [d84679eb] Add VirtualHardwareSection.StorageItem -- [a23a5cb1] Check whether there's a NIC before updating guest.ipAddress -- [8a069c27] Add interactiveSession flag -- [25526b21] vm.keystrokes -s (Allow spaces) -- [1828eee9] examples: add VirtualMachine.CreateSnapshot -- [ca3763e7] vapi: return info with current session query -- [f962095f] vcsim: rename Example to Run -- [43d69860] vcsim: add endpoint registration mechanism -- [1b159e27] govc: fix datacenter.info against nested folders -- [c183577b] vcsim: add PlaceVm support ([#1589](https://github.com/vmware/govmomi/issues/1589)) -- [3e71d6be] Add ResourcePool.Owner method -- [b17f3a51] vcsim: DefaultDatastoreID is optional in library deploy -- [68980704] Update generated code to vSphere 6.7u3 -- [7416741c] Add VirtualMachine.QueryChangedDiskAreas(). -- [8ef87890] Content library: support library ID in Finder -- [e373feb8] Add option to propagate MissingSet faults in property.WaitForUpdates -- [6ff7040e] examples: fix flag parsing -- [149ba7ad] govc: add vm.change -latency flag -- [c35a532d] govc: validate moref argument -- [54df157b] Add content library subscription support -- [b86466b7] Fix deadlock for keep alive handlers that attempt log in -- [9ad64557] CNS go bindings -- [9de3b854] Add simulator.Model.Run example -- [4285b614] Include url in Client.Download error -- [caf0b6b3] vcsa: update to 6.7 U3 -- [7ac56b64] Update vcsim Readme.md -- [48ef35df] Update README.md -- [a40837d8] Use gnu xargs in bats tests on Darwin -- [51ad97e1] Add FetchCapabilityMetadata method to Pbm client -- [d124bece] Add v4 option to VirtualMachine.WaitForIP -- [a5a429c0] Add support for the cis session get method -- [4513735f] Don't limit library.Finder to local libraries -- [cad9a8e2] examples: add ExampleVirtualMachine_Reconfigure -- [3fb02b52] govc: add guest.df command - - -## [Release v0.21.0](https://github.com/vmware/govmomi/compare/v0.20.3...v0.21.0) - -> Release Date: 2019-07-24 - -### 💡 Examples - -- [9495f0d8] add CustomFieldManager.Set - -### 💫 `govc` (CLI) - -- [fa755779] support library paths in tags.attach commands -- [2ddfb86b] add datastore.info -H flag -- [b3adfff2] add sso.group commands -- [b5372b0c] host.vnic.info -json support -- [4c41c167] add context to LoadX509KeyPair error -- [910dac72] add vm.change hot-add options -- [746c314e] change logs.download -default=false -- [05f946d4] increase guest.ps -X poll interval -- [cc10a075] add -options support to library.deploy -- [fe372923] rename vcenter.deploy to library.deploy -- [436d7a04] move library.item.update commands to library.session -- [e6514757] consolidate library commands -- [f8249ded] export Archive Path field -- [d2ab2782] add vm.change vpmc-enabled flag -- [e7b801c6] fix vm.change against templates -- [8a856429] fix option.set for int32 type values -- [81391309] add datastore.maintenance.{enter,exit} commands -- [18cb9142] FCD workarounds -- [665affe5] add datastore.cluster.info Description -- [7b7f2013] add permission.remove -f flag - -### 💫 `vcsim` (Simulator) - -- [774f3800] add support to override credentials -- [ecd7312b] fix host uuid -- [c25c41c1] use stable UUIDs for inventory objects -- [1345eeb8] Press any key to exit -- [ee14bd3d] Update NetworkInfo.Portgroup in simulator -- [5b5eaa70] remove httptest.serve flag -- [20c1873e] add library.deploy support -- [0b1ad552] add ovf manager -- [6684016f] fork httptest server package -- [48c1e0a5] add content library support -- [8543ea4f] set guest.toolsRunningStatus property - -### ⚠️ BREAKING - -### 📖 Commits - -- [a0fef816] Update docs for 0.21 release -- [a38f6e87] Content library related cleanups -- [e4024e9c] Fix library AddLibraryItemFileFromURI fingerprint -- [fa755779] govc: support library paths in tags.attach commands -- [5e8cb495] Fixed type bug in global_object_manager Task.QueryResult -- [4a67dc73] govcsim: Support Default UplinkTeamingPolicy in DVSPG -- [9da2362d] Added missing field in VslmExtendDisk_Task in ExtendDisk method -- [91377d77] Add Juju to projects using govmomi -- [f9026a84] VSLM FCD Global Object Manager client for 6.7U2+ -- [9495f0d8] examples: add CustomFieldManager.Set -- [bb170705] govcsim: Create datastore as accessible -- [35d0b7d3] Set the InventoryPath of the folder object in DefaultFolder ([#1515](https://github.com/vmware/govmomi/issues/1515)) -- [2d13a357] Add govmomi performance example -- [2ddfb86b] govc: add datastore.info -H flag -- [55da29e5] govcsim: Set datastore status as normal -- [600e9f7c] Add various govmomi client examples -- [5cccd732] Add http source support to library.import -- [99dd5947] Goreleaser update for multiple archives -- [b3adfff2] govc: add sso.group commands -- [5889d091] tags API: add methods for association of multiple tags/objects -- [b5372b0c] govc: host.vnic.info -json support -- [9b7688e0] Add method that sets vim version to the endpoint service version -- [fe3488f5] Fix tls config in soap.NewServiceClient -- [4c41c167] govc: add context to LoadX509KeyPair error -- [d7430825] Support external PSC lookup service -- [774f3800] vcsim: add support to override credentials -- [47c9c070] Fix HostNetworkSystem.QueryNetworkHint return value -- [910dac72] govc: add vm.change hot-add options -- [4606125e] Fix json request tracing -- [746c314e] govc: change logs.download -default=false -- [05f946d4] govc: increase guest.ps -X poll interval -- [77cb9df5] Add library export support -- [cc10a075] govc: add -options support to library.deploy -- [ecd7312b] vcsim: fix host uuid -- [c25c41c1] vcsim: use stable UUIDs for inventory objects -- [322d9629] Fix pbm field type lookup -- [1345eeb8] vcsim: Press any key to exit -- [a4f58ac6] Update examples to use examples.Run method -- [a31db862] Add permanager example -- [384b1b95] Fix port signature in REST endpoint token auth -- [c222666f] Default to running against vcsim in examples -- [199e737b] Add generated vslm types and methods -- [ee14bd3d] vcsim: Update NetworkInfo.Portgroup in simulator -- [dc631a2d] Format import statement -- [f133c9e9] Fix paths in vsan/methods -- [d8e7cc75] Update copy rights -- [62412641] Add vsan bindings -- [fc3f0e9d] Support resignature of vmfs snapshots ([#1442](https://github.com/vmware/govmomi/issues/1442)) -- [fe372923] govc: rename vcenter.deploy to library.deploy -- [436d7a04] govc: move library.item.update commands to library.session -- [e6514757] govc: consolidate library commands -- [f8249ded] govc: export Archive Path field -- [8a823c52] vcsa: bump to 6.7u2 -- [5b5eaa70] vcsim: remove httptest.serve flag -- [466dc5b2] Update to vSphere 6.7u2 API -- [e9f80882] Add error check to VirtualMachine.WaitForNetIP -- [5611aaa2] Add ovftool support -- [20c1873e] vcsim: add library.deploy support -- [0b1ad552] vcsim: add ovf manager -- [d2ab2782] govc: add vm.change vpmc-enabled flag -- [e7b801c6] govc: fix vm.change against templates -- [8a856429] govc: fix option.set for int32 type values -- [9155093e] Typo and->an -- [81391309] govc: add datastore.maintenance.{enter,exit} commands -- [1a857b94] Add support to reconcile FCD datastore inventory -- [18cb9142] govc: FCD workarounds -- [499a8828] Fix staticcheck issues value of `XXX` is never used -- [665affe5] govc: add datastore.cluster.info Description -- [546e8897] Add error check for deferred functions -- [367c8743] Fix bug with multiple tags in category -- [7b7f2013] govc: add permission.remove -f flag -- [87bc0c85] Makefile: Fix govet target using go1.12 -- [791e5434] travis.yml: Update from golang 1.11 to 1.12 -- [a86a42a2] travis.yml: Update from Ubuntu Trusty to Xenial -- [d92ee75e] Report local Datastore back as type OTHER -- [6684016f] vcsim: fork httptest server package -- [48c1e0a5] vcsim: add content library support -- [69faa2de] Make PostEvent TaskInfo param optional -- [608ad29f] Omit namespace tag in generated method body response types -- [a7c03228] Fix codespell issues -- [728e77db] Fix a race in NewServer(). -- [8543ea4f] vcsim: set guest.toolsRunningStatus property -- [e3143407] Fix elseif gocritic issues -- [89b53312] Fix gocritic emptyStringTest issues -- [63ba9232] Fix some trivial gocritic issues -- [0b8d0ee7] simulator/host_datastore_browser.go: remove commented out code -- [6c17d66c] Fix some staticcheck issues -- [d45b5f34] Fix some gosimple issues -- [90e501a6] Correct the year in the govc changelog -- [8082a261] Update XDR to use fork -- [e94ec246] govc/USAGE.md: Update documentation -- [3fde3319] snapshot.tree: Show snapshots description -- [1d6f743b] Fix year in changelog -- [39b2c871] support customize vm folder in ovf deploy -- [3ad203d3] Use rest.Client for library uploads -- [5d24c38c] lib/finder: Support filenames with "/" -- [087f09f9] govc library: use govc/flags for Datastore and ResourcePool -- [d1a7f491] Remove nested progress.Tee usage -- [7312711e] govc/vm/*: Fix some gosec Errors unhandled issues -- [88601bb7] vcsim/*: Fix Errors unhandled issues -- [61d04b46] session/*: Fix Errors unhandled issues -- [f9a22349] vmdk/*: Fix gosec Errors unhandled issues -- [ca9b71a9] Fix gosec Expect directory permissions to be 0750 or less issues -- [6083e891] Fix gosec potential file inclusion via variable issues -- [38091bf8] Build changes needed for content library -- [885d4b44] Content library additions/finder -- [3fb72d1a] Add support for content library -- [64f2a5ea] Fix API Version check. -- [718331e3] govc/*: Fix some staticcheck issues -- [ba7923ae] Fix all staticcheck "error strings should not be capitalized" issues -- [ed32a917] simulator/*: Fix some staticcheck issues -- [f71d4efb] govc/vm/*: Fix staticcheck issues -- [3d77e2b1] vim25/*: Fix staticcheck issues -- [d711005a] .gitignore: add editor files *~ -- [43ff04f1] Fix [#1173](https://github.com/vmware/govmomi/issues/1173) -- [562aa0db] Go Mod Support - - -## [Release v0.20.3](https://github.com/vmware/govmomi/compare/v0.20.2...v0.20.3) - -> Release Date: 2019-10-08 - -### ⚠️ BREAKING - -### 📖 Commits - -- [fdd27786] Fix tls config in soap.NewServiceClient - - -## [Release v0.20.2](https://github.com/vmware/govmomi/compare/v0.20.1...v0.20.2) - -> Release Date: 2019-07-03 - -### ⚠️ BREAKING - -### 📖 Commits - -- [bd9cfd18] Set the InventoryPath of the folder object in DefaultFolder ([#1515](https://github.com/vmware/govmomi/issues/1515)) - - -## [Release v0.20.1](https://github.com/vmware/govmomi/compare/v0.20.0...v0.20.1) - -> Release Date: 2019-05-20 - -### ⚠️ BREAKING - -### 📖 Commits - -- [4514987f] Fix port signature in REST endpoint token auth - - -## [Release v0.20.0](https://github.com/vmware/govmomi/compare/v0.19.0...v0.20.0) - -> Release Date: 2019-02-06 - -### 💫 `govc` (CLI) - -- [308dbf99] fix object.collect error for multiple objects with same path -- [4635c1cc] add device name match support to device.ls and device.remove -- [c36eb50f] add vm.disk.attach -mode flag -- [b234cdbc] add category option to relevant tags commands -- [afe5f42d] add vm.create -version option -- [b733db99] fields.set can now add missing fields -- [cad627a6] add fields.info command - -### 💫 `vcsim` (Simulator) - -- [957ef0f7] require authentication in vapi simulator -- [32148187] Resolve issue making device changes on clone (resolves [#1355](https://github.com/vmware/govmomi/issues/1355)) -- [cbb4abc9] fix SearchDatastore task info entity -- [2682c021] add EnvironmentBrowser support -- [3b9a4c9f] avoid zero IP address in GOVC_URL output -- [1921f73a] avoid panic when event template is not defined -- [d79013aa] implement RefreshStorageInfo method for virtual machine -- [69dfdd77] configure HostSystem port -- [bba50b40] datastore.upload now creates missing directories in destination path. -- [d2506759] add option to run container as vm -- [47284860] add SessionIsActive support -- [c5ee00bf] fix fault detail encoding -- [1284300c] support base types in property filter -- [25ae5c67] PropertyCollector should not require PathSet -- [4f1c89e5] allow '.' in vm name -- [b8c04142] populate VM guest.net field -- [223b2a2a] add SearchIndex FindByDnsName support -- [b26e10f0] correct property update in RemoveSnapshotTask -- [693f3fb6] update VM snapshot methods to change VM properties with UpdateObject -- [06e13bbe] support setting vm fields via extraConfig -- [a4330365] update VM configureDevices method to change VM properties with UpdateObject -- [5f8acb7a] update VM device add operation - stricter key generation, new InvalidDeviceSpec condition -- [846ae27a] add PBM support -- [d41d18aa] put VM into registry earlier during CreateVM -- [89b4c2ce] add datastore access check for vm host placement -- [f9f9938e] add task_manager description property templates -- [9bb5bde2] fix defaults when generating vmdk paths -- [0b650fd3] fix custom_fields_manager test -- [588bc224] replace HostSystem template IP with vcsim listen address -- [7066f8dc] Change CustomFieldsManager SetField to use ctx.WithLock and add InvalidArgument fault check. -- [fe070811] update DVS methods to use UpdateObject instead of setting fields directly -- [03939cce] add vslm support -- [c02efc3d] add setCustomValue support -- [94804159] add fault message to PropertyCollector RetrieveProperties -- [36035f5b] add HistoryCollector scrollable view support - -### ⚠️ BREAKING - -### 📖 Commits - -- [da7af247] Fix for govc/build.sh wrong dir -- [90a863be] Update docs for 0.20 release -- [957ef0f7] vcsim: require authentication in vapi simulator -- [32148187] vcsim: Resolve issue making device changes on clone (resolves [#1355](https://github.com/vmware/govmomi/issues/1355)) -- [a7563c4d] Use path id for tag-association requests -- [cbb4abc9] vcsim: fix SearchDatastore task info entity -- [2682c021] vcsim: add EnvironmentBrowser support -- [3b9a4c9f] vcsim: avoid zero IP address in GOVC_URL output -- [b261f25d] Add 2x blog posts about vcsim -- [1921f73a] vcsim: avoid panic when event template is not defined -- [308dbf99] govc: fix object.collect error for multiple objects with same path -- [d79013aa] vcsim: implement RefreshStorageInfo method for virtual machine -- [69dfdd77] vcsim: configure HostSystem port -- [4f50681f] Fix of the missing http body close under soap client upload -- [bba50b40] vcsim: datastore.upload now creates missing directories in destination path. -- [8ac7c5a8] Fixed 64-bit aligment issues with atomic counters -- [7ca12ea2] fix device.info Write output -- [3a82237c] device.ls -json doesn't work for now -- [86f4ba29] ssoadmin:create local group and add users to group ([#1327](https://github.com/vmware/govmomi/issues/1327)) -- [2d8ef2c6] Format with latest version of goimports -- [4635c1cc] govc: add device name match support to device.ls and device.remove -- [d7857a13] Updated the examples for the correct format -- [71e19136] Updated to reflect PR feedback -- [d2506759] vcsim: add option to run container as vm -- [61b7fe3e] Added string support -- [a72a4c42] Initial Support for PutUsbScanCodes -- [47284860] vcsim: add SessionIsActive support -- [c5ee00bf] vcsim: fix fault detail encoding -- [aaf83275] Summary of changes: 1. Changing the pbm client's path as java client is expecting /pbm. 2. Added PbmRetrieveServiceContent method in the unauthorized list. -- [c36eb50f] govc: add vm.disk.attach -mode flag -- [1284300c] vcsim: support base types in property filter -- [25ae5c67] vcsim: PropertyCollector should not require PathSet -- [b234cdbc] govc: add category option to relevant tags commands -- [138f30f8] Makefiles for govc/vcsim; updates govc/build.sh -- [4f1c89e5] vcsim: allow '.' in vm name -- [afe5f42d] govc: add vm.create -version option -- [b8c04142] vcsim: populate VM guest.net field -- [223b2a2a] vcsim: add SearchIndex FindByDnsName support -- [b26e10f0] vcsim: correct property update in RemoveSnapshotTask -- [693f3fb6] vcsim: update VM snapshot methods to change VM properties with UpdateObject -- [e5948f44] build: Refactored Travis-CI to use containers -- [06e13bbe] vcsim: support setting vm fields via extraConfig -- [651d4881] Allow pointer values in mo.ApplyPropertyChange -- [546a7df6] Tags support for First Class Disks -- [a4330365] vcsim: update VM configureDevices method to change VM properties with UpdateObject -- [5f8acb7a] vcsim: update VM device add operation - stricter key generation, new InvalidDeviceSpec condition -- [86375ceb] Merge branch 'master' into fields-info -- [bf962f18] Update govc/fields/add.go -- [98575e0c] Update govc/fields/add.go -- [b733db99] govc: fields.set can now add missing fields -- [cad627a6] govc: add fields.info command -- [ed2a4cff] vm.power: Make waiting for op completion optional -- [846ae27a] vcsim: add PBM support -- [d41d18aa] vcsim: put VM into registry earlier during CreateVM -- [1926071e] Datastore Cluster placement support for First Class Disks -- [89b4c2ce] vcsim: add datastore access check for vm host placement -- [f9f9938e] vcsim: add task_manager description property templates -- [9bb5bde2] vcsim: fix defaults when generating vmdk paths -- [0b650fd3] vcsim: fix custom_fields_manager test -- [588bc224] vcsim: replace HostSystem template IP with vcsim listen address -- [7066f8dc] vcsim: Change CustomFieldsManager SetField to use ctx.WithLock and add InvalidArgument fault check. -- [ef517cae] Display category name instead of ID in govc tags.info -- [d69c9787] goimports updates -- [fe070811] vcsim: update DVS methods to use UpdateObject instead of setting fields directly -- [03939cce] vcsim: add vslm support -- [accb2863] Add vslm package and govc disk commands -- [478ebae6] [doc] add an example for cpu and memory hotplug -- [c02efc3d] vcsim: add setCustomValue support -- [c3c79d16] goimports updates -- [ce71b6c2] vcsa: bump to 6.7.0 U1 -- [94804159] vcsim: add fault message to PropertyCollector RetrieveProperties -- [1ad0d87d] Removed NewWithDelay (not needed anymore) -- [5900feef] Updated documentation -- [5a87902b] Added delay functionality -- [c0518fd2] Add LoginByToken to session KeepAliveHandler -- [e0736431] Update Ansible link in README -- [36035f5b] vcsim: add HistoryCollector scrollable view support -- [bc2636fe] Move govc tags rest.Client helper to ClientFlag -- [54a181af] Add SSO support for vAPI -- [8817c27b] replace * by client's host+port -- [ac898b50] change hostname only if set to * and still set thumbprint -- [7a5cc6b7] replace hostname only if unset - - -## [Release v0.19.0](https://github.com/vmware/govmomi/compare/v0.18.0...v0.19.0) - -> Release Date: 2018-09-30 - -### 💫 `govc` (CLI) - -- [6b4a62b1] fix test case for new cluster.rule.info command -- [1350eea6] add new command cluster.rule.info - -### 💫 `vcsim` (Simulator) - -- [f3260968] add dvpg networks to HostSystem.Parent -- [17352fce] add support for tags API -- [c29d4b12] Logout should not unregister PropertyCollector singleton -- [11fb0d58] add ResetVM and SuspendVM support -- [39e6592d] add support for PropertyCollector incremental updates -- [619fbe28] do not include DVS in HostSystem.Network - -### ⚠️ BREAKING - -### 📖 Commits - -- [3617f28d] Update docs for 0.19 release -- [4316838a] vcsa: bump to 6.7.0d -- [64d875b9] Added PerformanceManager simulator -- [f3260968] vcsim: add dvpg networks to HostSystem.Parent -- [862da065] Allowing the use of STS for exchanging tokens -- [83ce863a] Handle empty file name in import.spec -- [a99f702d] Bump travis golang version from 1.10 to 1.11 -- [e4e8e2d6] Clean up unit test messaging -- [8e04e3c7] Run goimports on go source files -- [2431ae00] Add mailmap for bruceadowns -- [e805b4ea] Updates per dep ensure integration -- [70589fb6] Add ignore of intellij project settings directory -- [d114fa69] Print action for dvs security groups -- [d458266a] fix double err check -- [3f0e0aa7] remove providerSummary cache -- [cf9c16c4] Avoid use of Finder all param in govc -- [c4face4f] Print DVS rules for dvportgroup -- [91a33dd4] Finalize tags API -- [7d54bf9f] README: Fix path to LICENSE.txt file -- [17352fce] vcsim: add support for tags API -- [c29d4b12] vcsim: Logout should not unregister PropertyCollector singleton -- [8bda0ee1] Fix format in test -- [8be5207c] Add test for WaitOption.MaxWaitSeconds == 0 behaviour in simulator -- [900e1a35] Fix the WaitOption.MaxWaitSeconds == 0 behaviour in simulator -- [056ad0d4] vcsa: bump to 6.7.0c release -- [6b4a62b1] govc: fix test case for new cluster.rule.info command -- [1350eea6] govc: add new command cluster.rule.info -- [a05cd4b0] add output in cluster.rule.ls -name for ClusterVmHostRuleInfo and ClusterDependencyRuleInfo rules, add -l Option to cluster.rule.ls -- [11fb0d58] vcsim: add ResetVM and SuspendVM support -- [3e6b2d6e] Add ability to move multiple hosts into a cluster -- [e9f9920f] Add method to move host into cluster -- [39e6592d] vcsim: add support for PropertyCollector incremental updates -- [b7c270c6] Add testing support for govc tags commands -- [619fbe28] vcsim: do not include DVS in HostSystem.Network -- [6b6060dc] show rule details for ClusterVmHostRuleInfo rules in cluster.rule.ls -- [0c28a25d] Use govc find instead of ls to assign licenses -- [c1377063] Only test with Go 1.10 on Travis CI -- [4cfadda5] Avoid panic if fault detail is nil -- [d06874e1] Upgrade for govc tags commands -- [fdfaec9c] Better documentation for VirtualMachine.UUID -- [e1285a03] Add UUID helper for VirtualMachine -- [919b728c] Complete tags management APIs ([#1162](https://github.com/vmware/govmomi/issues/1162)) -- [b3251638] vcsa: bump to 6.7.0a release -- [a1fbb6ef] Optionally check root CAs for validity ([#1154](https://github.com/vmware/govmomi/issues/1154)) -- [add38bed] Fixed govc host.info logical CPU count -- [1ddfb011] Tags Categories cmd available ([#1150](https://github.com/vmware/govmomi/issues/1150)) -- [83ae35fb] default MarkAsTemplate to false in import spec -- [49f0dea7] add option to mark VM as template on OVX import -- [1f9e19f4] example: uniform unit for host memory -- [4cfd1376] fix example output. - - -## [Release v0.18.0](https://github.com/vmware/govmomi/compare/v0.17.1...v0.18.0) - -> Release Date: 2018-05-24 - -### 💫 `govc` (CLI) - -- [b841ae01] import.ovf pool flag should be optional if host is specified -- [f5c84b98] avoid Login() attempt if username is not set -- [d91fcbf4] add json support to find command -- [ba2d2323] fix host.esxcli error handling - -### 💫 `vcsim` (Simulator) - -- [8a5438b0] add STS simulator -- [c0337740] use VirtualDisk CapacityInKB for device summary -- [3d7fbac2] add property collector field type mapping for integer arrays - -### ⚠️ BREAKING - -### 📖 Commits - -- [e4b69fab] Update docs for 0.18 release -- [1dbfb317] Bump versions -- [b841ae01] govc: import.ovf pool flag should be optional if host is specified -- [96a905c1] Add -sharing option to vm.disk.create and vm.disk.attach -- [4b4e2aaa] Add VirtualDiskManager wrapper to set UUID -- [40a565b3] adjust datastore size when vm is added or updated or deleted -- [7f6479ba] update datastore capacity and free space when it is started -- [76dfefd3] Avoid recursive root path search in govc find command -- [623c7fa9] Change key name according to Datacenter object -- [24d0cf1b] added check for `InstanceUuid` when `VmSearch` is true in `FindByUuid` -- [25fc474c] Issue token if needed for govc sso commands -- [822fd1c0] Fixed leading "/" requirement in FindByInventoryPath -- [59d9f6a0] Add devbox scripts -- [fd45d81c] Add -U option to sso.service.ls -- [f5c84b98] govc: avoid Login() attempt if username is not set -- [8a5438b0] vcsim: add STS simulator -- [93f7fbbd] Fix govc vm.clone -annotation flag -- [bcff5383] save CapacityInKB in thousand delimited format -- [db12d4cb] Avoid possible panic in portgroup EthernetCardBackingInfo -- [d120efcb] Add STS support for token renewal -- [76b1ceaf] Add vmxnet2, pcnet32 and sriov to VirtualDeviceList.EthernetCardTypes -- [c0337740] vcsim: use VirtualDisk CapacityInKB for device summary -- [3d7fbac2] vcsim: add property collector field type mapping for integer arrays -- [42b30bb6] Finder.DefaultHostSystem should find hosts in nested folders -- [b8323d6b] Avoid property.Filter matching against unset properties -- [64788667] Update to vSphere 6.7 API -- [d3ae3004] Bump vCenter and ESXi builds to the latest release -- [098fc449] Add ssoadmin client and commands -- [80a9c20e] vm.Snapshot should be 'nil' instead of an empty 'vim.vm.SnapshotInfo' when there are no snapshots -- [1b1b428e] added failing tests for when vm.Snapshot should / shouldn't be 'nil' -- [a34ab4ba] Refactor LoginExtensionByCertificate tunnel usage -- [5b36033f] Lookup Service support -- [3f07eb74] add empty fields, but don't return them in the case of 'RetrievePropertiesEx' -- [05bdabe0] added failing test case for issue 1061 -- [903e8644] SAML token authentication support -- [d91fcbf4] govc: add json support to find command -- [ba2d2323] govc: fix host.esxcli error handling -- [ff687746] Dep Support -- [5f701460] Add -firmware parameter to 'govc vm.create' with values bios|efi - - -## [Release v0.17.1](https://github.com/vmware/govmomi/compare/v0.17.0...v0.17.1) - -> Release Date: 2018-03-19 - -### 💫 `vcsim` (Simulator) - -- [0502ee9b] add Destroy method for Folder and Datacenter types -- [0636dc8c] add EventManager.QueryEvents - -### ⚠️ BREAKING - -### 📖 Commits - -- [123ed177] govc release 0.17.1 -- [24d88451] Avoid possible panic in QueryVirtualDiskInfo -- [82129fb7] Add goreleaser to automate release process -- [ce88b296] Fix dvs.portgroup.info filtering -- [0502ee9b] vcsim: add Destroy method for Folder and Datacenter types -- [1620160d] In progress.Reader emit final report on EOF. -- [0636dc8c] vcsim: add EventManager.QueryEvents - - -## [Release v0.17.0](https://github.com/vmware/govmomi/compare/v0.16.0...v0.17.0) - -> Release Date: 2018-02-28 - -### 💫 `govc` (CLI) - -- [29498644] fix vm.clone to use -net flag when source does not have a NIC -- [d12b8f25] object.collect support for raw filters -- [6cb9fef8] fix host.info CPU usage -- [5786e7d2] add -cluster flag to license.assign command -- [d4ee331c] allow columns in guest login password ([#972](https://github.com/vmware/govmomi/issues/972)) - -### 💫 `vcsim` (Simulator) - -- [d2ba47d6] add simulator.Datastore type -- [937998a1] set VirtualMachine summary.config.instanceUuid -- [1c76c63d] update HostSystem.Summary.Host reference -- [274f3d63] add EventManager support -- [cc21a5ab] stats related fixes -- [fa2bee10] avoid data races -- [ca6f5d1d] respect VirtualDeviceConfigSpec FileOperation -- [7811dfce] avoid keeping the VM log file open -- [828ce5ec] add UpdateOptions support -- [d03f38fa] add session support -- [a3c9ed2b] Add VM.MarkAsTemplate support -- [50735461] more input spec honored in ReConfig VM -- [638d972b] Initialize VM fields properly -- [aa0382c1] Honor the input spec in ReConfig VM -- [42f9a133] Add HostLocalAccountManager -- [76f376a3] workaround xml ns issue with pyvsphere ([#958](https://github.com/vmware/govmomi/issues/958)) -- [45c5269b] add MakeDirectoryResponse ([#938](https://github.com/vmware/govmomi/issues/938)) -- [b4e77bd2] copy RoleList for AuthorizationManager ([#932](https://github.com/vmware/govmomi/issues/932)) -- [2a8a5168] apply vm spec NumCoresPerSocket ([#930](https://github.com/vmware/govmomi/issues/930)) -- [3a61d85f] Configure dvs with the dvs config spec -- [5f0f4004] Add VirtualMachine guest ID validation ([#921](https://github.com/vmware/govmomi/issues/921)) -- [ef571547] add QueryVirtualDiskUuid ([#920](https://github.com/vmware/govmomi/issues/920)) -- [27229ab7] update ServiceContent to 6.5 ([#917](https://github.com/vmware/govmomi/issues/917)) - -### ⚠️ BREAKING - -### 📖 Commits - -- [1d63da8d] govc release 0.17 -- [3017acf8] Print Table of Contents in usage.md Found good example of toc using markdown here: https://stackoverflow.com/a/448929/1572363 -- [ce54fe2c] Fix typo -- [201fc601] Implement Destroy task for HostSystem -- [92ce4244] Init PortKeys in DistributedVirtualPortgroup -- [795f2cc7] Avoid json encoding error in Go 1.10 -- [e805389e] Add 'Type' field to device.info -json output -- [d622f149] Use VirtualDiskManager in datastore cp and mv commands -- [f219bf3b] object: Return correct helper object for OpaqueNetwork -- [29498644] govc: fix vm.clone to use -net flag when source does not have a NIC -- [43c95b21] Fix build on Windows -- [38124002] Fix session persistence in session.login command -- [144bb1cf] Add support for Datacenter.PowerOnMultiVM -- [d2ba47d6] vcsim: add simulator.Datastore type -- [937998a1] vcsim: set VirtualMachine summary.config.instanceUuid -- [1c76c63d] vcsim: update HostSystem.Summary.Host reference -- [d12b8f25] govc: object.collect support for raw filters -- [274f3d63] vcsim: add EventManager support -- [cc21a5ab] vcsim: stats related fixes -- [2d30cde3] Fix broken datastore link in VM -- [54b160b2] Several context changes: -- [f643f0ae] Leverage contexts in http uploads -- [fa2bee10] vcsim: avoid data races -- [29bd00ec] Remove omitempty tag from AffinitySet field -- [ca6f5d1d] vcsim: respect VirtualDeviceConfigSpec FileOperation -- [7811dfce] vcsim: avoid keeping the VM log file open -- [6cb9fef8] govc: fix host.info CPU usage -- [5786e7d2] govc: add -cluster flag to license.assign command -- [63c86f29] Add datastore.disk.cp command -- [828ce5ec] vcsim: add UpdateOptions support -- [a13ad164] Bump vcsa scripts to use 6.5U1 EP5 -- [c447244d] Add CloneSession support to govc and vcsim -- [d03f38fa] vcsim: add session support -- [44e8d85e] Added AttachScsiLun function ([#987](https://github.com/vmware/govmomi/issues/987)) -- [a3c9ed2b] vcsim: Add VM.MarkAsTemplate support -- [3f8349f3] Add cluster vm override commands ([#977](https://github.com/vmware/govmomi/issues/977)) -- [91fbd1f7] Add option to filter events by type ([#976](https://github.com/vmware/govmomi/issues/976)) -- [1d8b92d9] User server clock in session.ls ([#973](https://github.com/vmware/govmomi/issues/973)) -- [50735461] vcsim: more input spec honored in ReConfig VM -- [638d972b] vcsim: Initialize VM fields properly -- [2892ed50] Add '-rescan-vmfs' option to host.storage.info ([#966](https://github.com/vmware/govmomi/issues/966)) -- [d4ee331c] govc: allow columns in guest login password ([#972](https://github.com/vmware/govmomi/issues/972)) -- [e15ff586] Use IsFileNotFound helper in Datastore.Stat ([#969](https://github.com/vmware/govmomi/issues/969)) -- [aa0382c1] vcsim: Honor the input spec in ReConfig VM -- [465bd948] Hook AccountManager to UserDirectory -- [aef2d795] Destroy event history collectors ([#962](https://github.com/vmware/govmomi/issues/962)) -- [42f9a133] vcsim: Add HostLocalAccountManager -- [76f376a3] vcsim: workaround xml ns issue with pyvsphere ([#958](https://github.com/vmware/govmomi/issues/958)) -- [a1c49292] Ignore AcquireLocalTicket errors ([#955](https://github.com/vmware/govmomi/issues/955)) -- [bb150d50] Add missing dependency in gen script -- [0eacf959] toolbox: validate request offset in ListFiles ([#946](https://github.com/vmware/govmomi/issues/946)) -- [1d6aed22] Corrects datastore.disk usage which had not been generated ([#951](https://github.com/vmware/govmomi/issues/951)) -- [de717389] Corrects vm.info usage with required args ([#950](https://github.com/vmware/govmomi/issues/950)) -- [c5ea3fb2] Add datastore.disk inflate and shrink commands ([#943](https://github.com/vmware/govmomi/issues/943)) -- [adf4530b] Corrects host.shutdown ([#939](https://github.com/vmware/govmomi/issues/939)) -- [45c5269b] vcsim: add MakeDirectoryResponse ([#938](https://github.com/vmware/govmomi/issues/938)) -- [b4e77bd2] vcsim: copy RoleList for AuthorizationManager ([#932](https://github.com/vmware/govmomi/issues/932)) -- [426a675a] Fix [#933](https://github.com/vmware/govmomi/issues/933) ([#936](https://github.com/vmware/govmomi/issues/936)) -- [3be5f1d9] Add cluster.group and cluster.rule commands ([#928](https://github.com/vmware/govmomi/issues/928)) -- [2a8a5168] vcsim: apply vm spec NumCoresPerSocket ([#930](https://github.com/vmware/govmomi/issues/930)) -- [3a61d85f] vcsim: Configure dvs with the dvs config spec -- [3b25c720] CreateChildDisk 6.7 support ([#926](https://github.com/vmware/govmomi/issues/926)) -- [933ee3b2] Add VirtualDiskManager.CreateChildDisk ([#925](https://github.com/vmware/govmomi/issues/925)) -- [5f0f4004] vcsim: Add VirtualMachine guest ID validation ([#921](https://github.com/vmware/govmomi/issues/921)) -- [ef571547] vcsim: add QueryVirtualDiskUuid ([#920](https://github.com/vmware/govmomi/issues/920)) -- [0ea3b9bd] Implemened vm.upgrade operation. ([#918](https://github.com/vmware/govmomi/issues/918)) -- [27229ab7] vcsim: update ServiceContent to 6.5 ([#917](https://github.com/vmware/govmomi/issues/917)) -- [46c79c93] Add support for cpu + mem allocation to vm.change command ([#916](https://github.com/vmware/govmomi/issues/916)) - - -## [Release v0.16.0](https://github.com/vmware/govmomi/compare/v0.15.0...v0.16.0) - -> Release Date: 2017-11-08 - -### 💫 `govc` (CLI) - -- [0295f1b0] Fix VM clone when source doesn't have vNics -- [4fea6863] add tasks and task.cancel commands -- [ddd32366] add reboot option to host.shutdown - -### 💫 `vcsim` (Simulator) - -- [4543f4b6] preserve order in QueryIpPools ([#914](https://github.com/vmware/govmomi/issues/914)) -- [b385183e] return moref from Task.Run ([#913](https://github.com/vmware/govmomi/issues/913)) -- [e29ab54a] Implement IpPoolManager lifecycle -- [b227a258] add autostart option to power on VMs ([#906](https://github.com/vmware/govmomi/issues/906)) -- [ecde4a89] use soapenv namespace for Fault types -- [b1318195] various property additions -- [c19ec714] Generate similar ref value like VC -- [f3046058] Add moref to vm's summary -- [5f3fba94] validate authz privilege ids -- [c2caa6d7] AuthorizationManager additions -- [2cb741f2] Add IpPoolManager -- [a46ab163] VirtualDisk file backing datastore is optional -- [d347175f] add PerformanceManager -- [df3763d5] Implement add/update/remove roles -- [ed18165d] Generate device filename in CreateVM -- [e8741bf0] add AuthorizationManager -- [8961efc1] populate vm snapshot fields -- [add0245e] Add UpdateNetworkConfig to HostNetworkSystem -- [2aa746c6] Implement virtual machine snapshot -- [104ddfb7] set VirtualDisk backing datastore -- [505b5c65] Implement enter/exit maintenance mode -- [a1f8a328] Implement add/remove license -- [585cf5e1] add portgroup related operations -- [a7e79a7e] add fields support -- [895573a5] remove use of df program for datastore info -- [defe810c] add FileQuery support to datastore search -- [5fcca79e] add HostConfigInfo template -- [920a70c1] add HostSystem hardware property -- [0833484e] Fix merging of default devices -- [f6a734f5] Add cdrom and scsi controller to Model VMs - -### ⚠️ BREAKING - -### 📖 Commits - -- [7d879bac] Doc updates ([#915](https://github.com/vmware/govmomi/issues/915)) -- [4543f4b6] vcsim: preserve order in QueryIpPools ([#914](https://github.com/vmware/govmomi/issues/914)) -- [b385183e] vcsim: return moref from Task.Run ([#913](https://github.com/vmware/govmomi/issues/913)) -- [c8738903] Remove tls-handshake-timeout flag ([#911](https://github.com/vmware/govmomi/issues/911)) -- [e29ab54a] vcsim: Implement IpPoolManager lifecycle -- [3619c1d9] Use ProgressLogger for vm.clone command ([#909](https://github.com/vmware/govmomi/issues/909)) -- [13f2aba4] readme: fix formatting of listing ([#908](https://github.com/vmware/govmomi/issues/908)) -- [b227a258] vcsim: add autostart option to power on VMs ([#906](https://github.com/vmware/govmomi/issues/906)) -- [79934451] Add installation procedure in README.md ([#902](https://github.com/vmware/govmomi/issues/902)) -- [ecde4a89] vcsim: use soapenv namespace for Fault types -- [b1318195] vcsim: various property additions -- [4d8737c9] Switch to kr/pretty package for the -dump flag -- [e050b1b6] Couple of fixes for import.spec result -- [017138ca] import.spec not to assign deploymentOption -- [c19ec714] vcsim: Generate similar ref value like VC -- [0295f1b0] govc: Fix VM clone when source doesn't have vNics -- [f3046058] vcsim: Add moref to vm's summary -- [bfed5eea] [govc] Introduce TLSHandshakeTimeout parameter ([#890](https://github.com/vmware/govmomi/issues/890)) -- [1c1291ca] Support import ova/ovf by URL -- [3cb5cc96] Remove BaseResourceAllocationInfo -- [5f3fba94] vcsim: validate authz privilege ids -- [c91b9605] Add clone methods to session manager -- [c2caa6d7] vcsim: AuthorizationManager additions -- [2cb741f2] vcsim: Add IpPoolManager -- [644c1859] Updates to vm.clone link + snapshot flags -- [cf624f1a] Add linked clone and snapshot support to vm.clone -- [024c09fe] Fix govc events output -- [d4d94f44] govc/events: read -json flag and output events as json -- [24e71ea4] Fix vm.register command template flag -- [5209daf2] Fix object name suffix matching in Finder -- [a46ab163] vcsim: VirtualDisk file backing datastore is optional -- [d347175f] vcsim: add PerformanceManager -- [df3763d5] vcsim: Implement add/update/remove roles -- [8d5c1558] Support clearing vm boot order -- [ed18165d] vcsim: Generate device filename in CreateVM -- [df93050a] Fix CustomFieldsManager.FindKey method signature -- [e8741bf0] vcsim: add AuthorizationManager -- [8961efc1] vcsim: populate vm snapshot fields -- [17fb12a5] Add method to find a CustomFieldDef by Key -- [bc395ef0] vscim: Implement UserDirectory -- [add0245e] vcsim: Add UpdateNetworkConfig to HostNetworkSystem -- [2aa746c6] vcsim: Implement virtual machine snapshot -- [104ddfb7] vcsim: set VirtualDisk backing datastore -- [f3f51c58] Add support for VM export -- [505b5c65] vcsim: Implement enter/exit maintenance mode -- [a1f8a328] vcsim: Implement add/remove license -- [585cf5e1] vcsim: add portgroup related operations -- [a7e79a7e] vcsim: add fields support -- [e2944227] vim25: Move internal stuff to internal package -- [c4cab690] Add support for SOAP request operation ID header -- [895573a5] vcsim: remove use of df program for datastore info -- [4dd9a518] Skip version check when using 6.7-dev API -- [cc2ed7db] Change optional ResourceAllocationInfo fields to pointers -- [3f145230] Use base type for DVS backing info -- [df1c3132] Add vm.console command -- [829b3f99] Fixup recent tasks output -- [c4e473af] Add '-refresh' option to host.storage.info -- [3df440c8] toolbox: avoid race when closing channels on stop -- [badad9a1] toolbox: reset session when invalidated by the vmx -- [a1a96c8f] Include "Name" in device.info -json -- [defe810c] vcsim: add FileQuery support to datastore search -- [93f62ef7] Default vm.migrate pool to the host pool -- [5fcca79e] vcsim: add HostConfigInfo template -- [4fea6863] govc: add tasks and task.cancel commands -- [596e51a0] Use ovf to import vmdk -- [920a70c1] vcsim: add HostSystem hardware property -- [9e2f8a78] Add info about maintenance mode in host.info -- [78f3fc19] Avoid panic if ova import task is canceled -- [11827c7a] toolbox: default to tar format for directory archives -- [8811f9bf] toolbox: make gzip optional for directory archive transfer -- [9703fe19] toolbox: avoid blocking the RPC channel when transferring process IO -- [d6f60304] Add view and filter support to object.collect command -- [3527a5f8] Tolerate repeated Close for file follower -- [ddd32366] govc: add reboot option to host.shutdown -- [4d9061ac] toolbox: use host management IP for guest file transfer -- [7d956b6b] toolbox: add Client Upload and Download methods -- [c7111c63] toolbox: support single file download via archive handler -- [ebb77d7c] Use vcsim in bats tests -- [4bb89668] vCenter cluster testbed automation -- [ad960e95] toolbox: SendGuestInfo before the vmx asks us to -- [bdea7ff3] toolbox: update vmw-guestinfo -- [51d12609] toolbox: remove receiver from DefaultStartCommand -- [114329fc] Add host thumbprint for use with guest file transfer -- [5083a277] Add FindByUuid method for Virtual Machine -- [e1ab84af] toolbox: map exec.ErrNotFound to vix.FileNotFound -- [d1091087] toolbox: pass URL to ArchiveHandler Read/Write methods -- [cddc353c] toolbox: make directory archive read/write customizable -- [ba6720ce] toolbox: add http and exec round trippers -- [b35abbc8] Handle object names containing a '/' -- [ac4891fb] toolbox: fix ListFiles when given a symlink -- [60a6510f] Minor correction in README.md -- [0c583dbc] toolbox: support transferring /proc files from guest -- [0833484e] vcsim: Fix merging of default devices -- [c9aaa3fa] Move toolbox from vmware/vic to govmomi -- [f6a734f5] vcsim: Add cdrom and scsi controller to Model VMs -- [9d47dd13] Move vcsim from vmware/vic to govmomi - - -## [Release v0.15.0](https://github.com/vmware/govmomi/compare/v0.14.0...v0.15.0) - -> Release Date: 2017-06-19 - -### ⚠️ BREAKING - -### 📖 Commits - -- [b63044e5] Release 0.15.0 -- [3d357ef2] Add dvs.portgroup.info usage -- [72977afb] Add support for guest.FileManager directory download -- [94837bf7] Update examples -- [e1bbcf52] Update wsdl generator -- [b16a3d81] fix the WaitOptions struct, MaxWaitSeconds is optional, but we can set the value 0 -- [9ca7a2b5] Support removal of ExtraConfig entries -- [86cc210c] Guest command updates -- [9c5f63e9] Doc updates -- [6d714f9e] New examples: datastores, hosts and virtualmachines using view package -- [f48e1151] update spew to be inline with testify -- [6f5c037c] Adjust message slice passed to include -- [48509bc3] Fix package name -- [6f635b73] Add host.shutdown command -- [67b13b52] Add doc on metric.sample instance flag ([#726](https://github.com/vmware/govmomi/issues/726)) -- [8bff8355] Fix tail n=0 case ([#725](https://github.com/vmware/govmomi/issues/725)) -- [10e6ced9] Update copyright ([#723](https://github.com/vmware/govmomi/issues/723)) -- [6f8ebd89] Allow caller to supply custom tail behavior ([#722](https://github.com/vmware/govmomi/issues/722)) -- [35caa01b] Add options to host.autostart.add ([#719](https://github.com/vmware/govmomi/issues/719)) -- [2030458d] Add VC options command ([#717](https://github.com/vmware/govmomi/issues/717)) -- [0ccad10c] Exported FindSnapshot() Method ([#715](https://github.com/vmware/govmomi/issues/715)) -- [34202aca] Additional wrapper functions for SPBM -- [c7f718b1] Add AuthorizationManager {Enable,Disable}Methods -- [d5e08cd2] Add PBM client and wrapper methods -- [58019ca9] Add generated types and methods for PBM -- [58960380] Regenerate against current vmodl.db -- [f736458f] Support non-Go clients in xml decoder - - -## [Release v0.14.0](https://github.com/vmware/govmomi/compare/v0.13.0...v0.14.0) - -> Release Date: 2017-04-08 - -### ⚠️ BREAKING - -### 📖 Commits - -- [9bfdc5ce] Release 0.14.0 -- [3ba0eba5] Release 0.13.0 -- [86063832] Add object.find command -- [0391e8eb] Adds FindManagedObject method. -- [796e87c8] Include embedded fields in object.collect output -- [2536e792] Use Duration flag for vm.ip -wait flag -- [3aa64170] Merge commit 'b0b51b50f40da2752c35266b7535b5bbbc8659e3' into marema31/govc-vm-ip-wait -- [59466881] Implement EthernetCardBackingInfo for OpaqueNetwork -- [0d2e1b22] Finder: support changing object root in find mode -- [9ded9d10] Add Bash completion script -- [3bd4ab46] Add QueryVirtualDiskInfo -- [16f6aa4f] Emacs: add metric select -- [3763321e] Add unit conversion to metric CSV -- [b0b51b50] Add -wait option to govc vm.ip to allow non-blocking query -- [f0d4774a] Add json support to metric ls and sample commands -- [c9de0310] Add performance manager and govc metric commands -- [d758f694] Add check for nil envelope -- [ab595fb3] Remove deferred Close() call in follower's Read() - - -## [Release v0.13.0](https://github.com/vmware/govmomi/compare/v0.12.1...v0.13.0) - -> Release Date: 2017-03-02 - -### 💫 `vcsim` (Simulator) - -- [5f7efaf1] esxcli FirewallInfo fixes ([#661](https://github.com/vmware/govmomi/issues/661)) - -### ⚠️ BREAKING - -### 📖 Commits - -- [b4a3f7a1] Release 0.13.0 -- [5bf03cb4] Add vm.guest.tools command -- [b4ef3b73] Host is optional for MarkAsVirtualMachine ([#675](https://github.com/vmware/govmomi/issues/675)) -- [f4a3ffe5] Add vsan and disk commands / helpers ([#672](https://github.com/vmware/govmomi/issues/672)) -- [1f82c282] Handle the case where e.VirtualSystem is nil ([#671](https://github.com/vmware/govmomi/issues/671)) -- [dd346974] Remove object.ListView ([#669](https://github.com/vmware/govmomi/issues/669)) -- [4994038a] Wraps the ContainerView managed object. ([#667](https://github.com/vmware/govmomi/issues/667)) -- [93064c06] Handle nil TaskInfo in task.Wait callback [#2](https://github.com/vmware/govmomi/issues/2) ([#666](https://github.com/vmware/govmomi/issues/666)) -- [f1f5b6cb] Handle nil TaskInfo in task.Wait callback ([#665](https://github.com/vmware/govmomi/issues/665)) -- [f3cf126d] Support alternative './...' syntax for finder ([#664](https://github.com/vmware/govmomi/issues/664)) -- [9bda6c3e] Finder: support automatic Folder recursion ([#663](https://github.com/vmware/govmomi/issues/663)) -- [0a28e595] Add a command line option to change an existing disk attached to a VM ([#658](https://github.com/vmware/govmomi/issues/658)) -- [3e95cb11] Attach and list RDM/LUN ([#656](https://github.com/vmware/govmomi/issues/656)) -- [5f7efaf1] vcsim: esxcli FirewallInfo fixes ([#661](https://github.com/vmware/govmomi/issues/661)) -- [17e6545f] Add device option to WaitForNetIP ([#660](https://github.com/vmware/govmomi/issues/660)) -- [ba9e3f44] Fix vm.change test -- [e66c8344] Add the option to describe a VM using the annotation option in ConfigSpec ([#657](https://github.com/vmware/govmomi/issues/657)) -- [505fcf9c] Update doc -- [913c0eb4] Add support for reading and changing SyncTimeWithHost option ([#539](https://github.com/vmware/govmomi/issues/539)) -- [682494e1] Remove _Task suffix from vapp methods -- [733acc9e] Emacs: add govc-command-history -- [ea52d587] Add object.collect command ([#652](https://github.com/vmware/govmomi/issues/652)) -- [f49782a8] Update email address for contributor Bruce Downs - - -## [Release v0.12.1](https://github.com/vmware/govmomi/compare/v0.12.0...v0.12.1) - -> Release Date: 2016-12-19 - -### ⚠️ BREAKING - -### 📖 Commits - -- [6103db21] Release 0.12.1 -- [45a53517] Note 6.5 support -- [fec40b21] Add '-f' flag to logs command ([#643](https://github.com/vmware/govmomi/issues/643)) -- [40cf9f80] govc.el: auth-source integration ([#648](https://github.com/vmware/govmomi/issues/648)) -- [ca99f8de] Add govc-command customization option ([#645](https://github.com/vmware/govmomi/issues/645)) -- [ad6e5634] Avoid Finder panic when SetDatacenter is not called ([#640](https://github.com/vmware/govmomi/issues/640)) -- [b5c807e3] Add storage support to vm.migrate ([#641](https://github.com/vmware/govmomi/issues/641)) -- [1a7dc61e] govc/version: skip first char in git version mismatch error ([#642](https://github.com/vmware/govmomi/issues/642)) -- [6bc730e1] Add Slack links -- [e152c355] Add DatastorePath helper ([#638](https://github.com/vmware/govmomi/issues/638)) -- [5b4d5215] Add support for file backed serialport devices ([#637](https://github.com/vmware/govmomi/issues/637)) -- [f49bd564] Add vm.ip docs ([#636](https://github.com/vmware/govmomi/issues/636)) - - -## [Release v0.12.0](https://github.com/vmware/govmomi/compare/v0.11.4...v0.12.0) - -> Release Date: 2016-12-01 - -### ⚠️ BREAKING - -### 📖 Commits - -- [ab40ac73] Release 0.12.0 -- [e702e188] Disable use of service ticket for datastore HTTP access by default ([#635](https://github.com/vmware/govmomi/issues/635)) -- [1fba1af7] Attach context to HTTP requests for cancellations -- [79cb3d93] Support InjectOvfEnv without PowerOn when importing -- [117118a2] Support stdin as import options source -- [b10f20f4] Don't ignore version/manifest for existing sessions -- [82929d3f] Add basic VirtualNVMEController support -- [757a2d6d] re-generate vim25 using 6.5.0 - - -## [Release v0.11.4](https://github.com/vmware/govmomi/compare/v0.11.3...v0.11.4) - -> Release Date: 2016-11-15 - -### ⚠️ BREAKING - -### 📖 Commits - -- [b9bcc6f4] Release 0.11.4 -- [dbbf84e8] Add authz role helpers and commands -- [765b34dc] Add folder/pod examples -- [79cb52fd] Add host.account examples -- [2a2cab2a] Add host.portgroup.change examples - - -## [Release v0.11.3](https://github.com/vmware/govmomi/compare/v0.11.2...v0.11.3) - -> Release Date: 2016-11-08 - -### ⚠️ BREAKING - -### 📖 Commits - -- [e16673dd] Release 0.11.3 -- [629a573f] Add -product-version flag to dvs.create -- [83028634] Allow DatastoreFile follower to drain current body - - -## [Release v0.11.2](https://github.com/vmware/govmomi/compare/v0.11.1...v0.11.2) - -> Release Date: 2016-11-01 - -### ⚠️ BREAKING - -### 📖 Commits - -- [cd80b8e8] Release 0.11.2 -- [f15dcbdc] Avoid possible NPE in VirtualMachine.Device method -- [128b352e] Add support for OpaqueNetwork type -- [c5b9a266] Add host account manager support for 5.5 - - -## [Release v0.11.1](https://github.com/vmware/govmomi/compare/v0.11.0...v0.11.1) - -> Release Date: 2016-10-27 - -### ⚠️ BREAKING - -### 📖 Commits - -- [1a7df5e3] Release 0.11.1 -- [1ae858d1] Add support for VirtualApp in pool.change command -- [91b2ad48] Release script tweaks - - -## [Release v0.11.0](https://github.com/vmware/govmomi/compare/v0.10.0...v0.11.0) - -> Release Date: 2016-10-25 - -### ⚠️ BREAKING - -### 📖 Commits - -- [a16901d7] Release 0.11.0 -- [4fc9deb4] Add object destroy and rename commands -- [82634835] Add dvs.portgroup.change command - - -## [Release v0.10.0](https://github.com/vmware/govmomi/compare/v0.9.0...v0.10.0) - -> Release Date: 2016-10-20 - -### ⚠️ BREAKING - -### 📖 Commits - -- [bb498f73] Release 0.10.0 -- [468a15af] Release script updates -- [1c3499c4] Documentation updates -- [1e52d88a] Update contributors -- [e3d59fd9] Fix snapshot.tree on vm with no snapshots -- [711fdd9c] Add host.date info and change commands -- [16d7514a] Add govc session ls and rm commands -- [73c471a9] Add HostConfigManager field checks -- [d7f94557] Improve cluster/host add thumbprint support -- [fea8955b] Add session.Locale var to change default locale -- [eefe6cc1] Add service ticket thumbprint validation -- [3a0a61a6] Set default locale to en_US -- [aa1a9a84] TLS enhancements -- [9f0e9654] Treat DatastoreFile follower Close as "stop" -- [838b2efa] Support typeattr for enum string types -- [dcbc9d56] Make vm.ip esxcli test optional -- [9e20e0ae] Remove vca references -- [7c708b2e] Adding vSPC proxyURI to govc - - -## [Release v0.9.0](https://github.com/vmware/govmomi/compare/v0.8.0...v0.9.0) - -> Release Date: 2016-09-09 - -### ⚠️ BREAKING - -### 📖 Commits - -- [f9184c1d] Release 0.9.0 -- [e050cb6d] Add govc -h flag -- [a4343ea8] Set default ScsiCtlrUnitNumber -- [a920d73d] Add -R option to datastore.ls -- [f517decc] Fix SCSI device unit number selection -- [abaf7597] Add DatastoreFile helpers -- [7cfa7491] Make Datastore ServiceTicket optional -- [9ad57862] Add vm.migrate command -- [c66458f9] Add govc vm.{un}register commands -- [54c0c6e5] Checking result of reflect.TypeOf is not nil before continuing -- [ea0189ea] Fix flags.NewOptionalBool panic -- [a9cdf437] Add govc guest command tests -- [38dee111] Add VirtualMachine.Unregister func -- [98b50d49] make curl follow HTTP redirects -- [8a27691f] make goreportcard happy -- [bf66f750] Add govc vm snapshot commands -- [eb02131a] Validate vm.clone -vm flag value -- [62159d11] Add device.usb.add command -- [27e02431] Remove a bunch of context.TODO() calls. -- [a9cee43a] Fixing tailing for events command -- [4fa7b32a] Bump to 1.7 and start using new context pkg -- [4b7c59bf] Fix missing datastore name with vm.clone -force=false -- [e3642fce] Fix deletion of powered off vApp -- [63d60025] Support stdin/stdout in datastore upload/download -- [e149909e] Emacs: add govc-session-network -- [0ccc1788] Emacs: add govc json diff -- [f1d6e127] Add host.portgroup.change command -- [6f441a84] Add host.portgroup.info command -- [aaf40729] Add HostNetworkPolicy to host.vswitch.info -- [5ccb0572] Add json support to host.vswitch.info command -- [9d19d1f7] Support instance uuid in SearchFlag -- [2d3bfc9f] Add json support to esxcli command -- [bac04959] Support multiple NICs with vm.ip -esxcli -- [b3177d23] Add -unclaimed flag to host.storage.info command -- [b1234a90] govc - popualte 'Path' fiels in xxx.info output -- [7cab0ab6] Implemented additional ListView methods -- [498cb97d] Add 'Annotation' attribute to importx options. -- [223168f0] Add NetworkMapping section to importx options. -- [5c708f6b] Remove vendor target from the Makefile -- [f8199eb8] Handle errors in QueryVirtualDiskUUid function ([#548](https://github.com/vmware/govmomi/issues/548)) -- [73dcde2c] vendor github.com/davecgh/go-spew/spew -- [e1e407f7] vendor golang.org/x/net/context -- [e3c3cd0a] Populate network mapping from ovf envelope ([#546](https://github.com/vmware/govmomi/issues/546)) -- [fa6668dc] Add QueryVirtualDiskUuid function ([#545](https://github.com/vmware/govmomi/issues/545)) -- [17682d5b] Fixes panic in govc events - - -## [Release v0.8.0](https://github.com/vmware/govmomi/compare/v0.7.1...v0.8.0) - -> Release Date: 2016-06-30 - -### ⚠️ BREAKING - -### 📖 Commits - -- [c0c7ce63] Release 0.8.0 -- [ce4b0be6] Disable datastore service ticket hostname usage -- [3e44fe88] Add support for login via local ticket -- [acf37905] Add StoragePod support to govc folder.create -- [94d4e2c9] Include StoragePod in Finder.FolderList -- [473f3885] Avoid use of eval with govc env -- [4fb7ad2e] Add datacenter.create folder option -- [77ea6f88] Avoid vm.info panic against vcsim -- [95b2bc4d] Session persistence improvements -- [720bbd10] Add type attribute to soap.Fault Detail -- [ff7b5b0d] Add filtering for use of datastore service ticket -- [fe9d7b52] Add support for Finder lookup via moref -- [c26c7976] Use ticket HostName for Datastore http access -- [bea2a43c] Add govc/vm.markasvm command -- [9101528d] Add govc/vm.markastemplate command -- [982e64b8] Add vm.markastemplate - - -## [Release v0.7.1](https://github.com/vmware/govmomi/compare/v0.7.0...v0.7.1) - -> Release Date: 2016-06-03 - -### ⚠️ BREAKING - -### 📖 Commits - -- [2cad28d0] Fix Datastore upload/download against VC - - -## [Release v0.7.0](https://github.com/vmware/govmomi/compare/v0.6.2...v0.7.0) - -> Release Date: 2016-06-02 - -### ⚠️ BREAKING - -### 📖 Commits - -- [6906d301] Release 0.7.0 -- [558321df] Move InventoryPath field to object.Common -- [4147a6ae] Add -require flag to govc version command -- [d9fd9a4b] Add support for local type in datastore.create -- [650b5800] Fix vm.create disk scsi controller lookup -- [9463b5e5] Update changelog for govc to add datastore -namespace flag -- [4aab41b8] Update changelog with DatastoreNamespaceManager methods -- [4d6ea358] Support mkdir/rm of namespace on vsan -- [bb7e2fd7] InjectOvfEnv() should work with VSphere -- [91ca6bd5] Add host.service command -- [2f369a29] Add host.storage.mark command -- [b001e05b] Add -rescan option to host.storage.info command - - -## [Release v0.6.2](https://github.com/vmware/govmomi/compare/v0.6.1...v0.6.2) - -> Release Date: 2016-05-13 - -### ⚠️ BREAKING - -### 📖 Commits - -- [9051bd6b] Release 0.6.2 -- [3ab0d9b2] Get complete file details in Datastore.Stat -- [0c21607e] Convert types when possible -- [648d945a] Avoid xsi:type overwriting type attribute -- [4e0680c1] adding remove all snapshots to vm objects - - -## [Release v0.6.1](https://github.com/vmware/govmomi/compare/v0.6.0...v0.6.1) - -> Release Date: 2016-04-30 - -### ⚠️ BREAKING - -### 📖 Commits - -- [18154e51] Release 0.6.1 -- [47098806] Fix mo.Entity interface - - -## [Release v0.6.0](https://github.com/vmware/govmomi/compare/v0.5.0...v0.6.0) - -> Release Date: 2016-04-29 - -### ⚠️ BREAKING - -### 📖 Commits - -- [2c1d977a] Release 0.6.0 -- [cc686c51] Add folder.moveinto command -- [8e85a8d2] Add folder.{create,destroy,rename} methods -- [0ba22d24] Add Common.Rename method -- [61792ed3] Fix Finder.FolderList check -- [b6be92a1] Restore optional DatacenterFlag -- [53903a3a] Add OutputFlag support to govc about command -- [e66f7793] Add OptionManager and host.option commands -- [9d69fe4b] Add debug xmlformat script -- [f1786bec] Add option to use the same path for debug runs -- [99c8c5eb] Add folder.info command -- [eca4105a] Add datacenter.info command -- [71484c40] Add mo.Entity interface -- [388df2f1] Add helper to wait for multiple VM IPs -- [fc9f58d0] Add RevertToSnapshot -- [a4aca111] Add govc env command -- [ef17f4bd] Update CI config -- [fa91a600] Add host.account commands -- [44bb6d06] Update release install instructions -- [08ba4835] Leave AddressType empty in EthernetCardTypes -- [f9704e39] Add vm clone -- [e6969120] Add datastore.Download method -- [1aca660c] device.remove: add keep option - - -## [Release v0.5.0](https://github.com/vmware/govmomi/compare/v0.4.0...v0.5.0) - -> Release Date: 2016-03-30 - -### ⚠️ BREAKING - -### 📖 Commits - -- [c1b29993] Release 0.5.0 -- [b8549681] Use VirtualDeviceList for import.vmdk -- [cf96f70d] Remove debug flags from pool tests -- [f74a896d] Switch to int32 type for xsd int fields -- [074494df] Regenerate against 6.0u2 wsdl -- [ce9314c4] Include license header in generated files -- [957c8827] Add pointer field white list to generator -- [2c1d1950] Change pool recusive destroy to children destroy -- [5d34409f] Add dvs.portgroup.info command -- [216031c3] Update docs -- [f7dfcc98] Remove govc-test pools in teardown hook -- [556a9b17] Simplify pool destroy test -- [4e47b140] Add folder management to vm.create -- [7c33bcb3] Update test ESX IP in Drone secrets file -- [1b6ec477] Regenerate Drone secrets file -- [f64ea833] Implemented the ablitiy to tail the vSphere event stream - govc tail and force flag added to events command -- [fd7d320f] Including github.com/davecgh/go-spew/spew in go get -- [1d4efec0] Including github.com/davecgh/go-spew/spew in go get -- [424d3611] The -dump option now requests a recursive traversal as -json does -- [b45747f3] Added new -dump output flag for pretty printing underlying objects using davecgh/go-spew -- [a243716c] Run govc tests against ESX using Drone -- [fb75c63e] Double quotes network name to prevent space in name from failing the tests -- [564944ba] test_helper.bash updated to conditionally set env variables -- [c9c6e38f] Added new govc vm.disk.create -mode option for selecting one the VirtualDiskMode types -- [6922c88b] Add -net flag to device.info command -- [dff2c197] Fix VirtualDeviceList.CreateFloppy -- [c7d8cd3e] Ran gofmt on create.go -- [e077bcf5] Fix issue with optional UnitNumber (v2) -- [539ad504] Added arguments to govc vm.disk.create for thick provisioning and eager scrubbing, as requested in issue [#254](https://github.com/vmware/govmomi/issues/254) -- [e66c6df9] Handle import statement for types too -- [265d8bdb] Remove hardcoded urn:vim25 value from vim_wsdl.rb - - -## [Release v0.4.0](https://github.com/vmware/govmomi/compare/v0.3.0...v0.4.0) - -> Release Date: 2016-02-26 - -### ⚠️ BREAKING - -### 📖 Commits - -- [b3d202ab] Release 0.4.0 -- [749da321] Fix vm.change's ExtraConfig values being truncated at equal signs -- [13fbc59d] Add switch to specify protocol version in SOAPAction header -- [07013a97] Update CHANGELOG -- [bfe414fe] Allow vm.create to take datastore cluster argument -- [dda71761] Include reference to datastore in CreateDisk -- [855abdb3] Make NewKey function public -- [d0031106] Use custom datastore flags in vm.create -- [306b613d] Modify govc's vm.create to create VM in one shot -- [e96130b4] Add extra datastore arguments to vm.create -- [0a2da16d] Add datastore cluster methods to finder -- [c69e9bc1] Allow StoragePod type to be traversed -- [4d2ea3f4] added explicit path during clone -- [3d8eb102] Update missing property whitelist -- [779ae0a1] re-generate vim25 using 6.0 Update 1b (vimbase [#3024326](https://github.com/vmware/govmomi/issues/3024326)) -- [53c29f6a] Handle import statements same as include -- [a738f89d] Update govc.el URL -- [da2a249e] Doc updates -- [47e46425] govc.el: minor fixes for distribution as a package -- [8459ceb9] handle GOVC_TEST_URL=user:pass[@IP](https://github.com/IP) pattern -- [3b669760] Add Emacs interface to govc -- [7ec8028d] Update README to include Drone build status and local build instructions -- [2ec65fbe] Add config for Drone CI build -- [5437c466] introduce Datastore.Type() -- [983571af] introduce IsVC method and start using it -- [0732f137] Introduce AttachedClusterHosts -- [18945281] start using new helper functions for govc/flags -- [044d904a] Add some common functions to find/finder.go -- [534dabbd] Support vapp in pool.info command -- [4d9c6c72] Fix bats tests -- [5e04d5ca] Add -p and -a options to govc datastore.ls command -- [33963263] Added check for missing ovf deployment section - - -## [Release v0.3.0](https://github.com/vmware/govmomi/compare/v0.2.0...v0.3.0) - -> Release Date: 2016-01-15 - -### ⚠️ BREAKING - -### 📖 Commits - -- [501f6106] Mark 0.3.0 in change log -- [83a26512] Update contributors -- [995d970f] Print os.Args[0] in error messages -- [0a4c9782] Move stat function to object.Datastore -- [8a0d4217] Support VirtualApp in the lister -- [82734ef3] Support empty folder in SearchFlag.VirtualMachines -- [f64f878f] Add support for custom session keep alive handler -- [2d498658] Use OptionalBool for ExpandableReservation -- [ac9a39b0] Script to capture vpxd traffic on VCSA -- [3f473628] Script to capture and decrypt hostd SOAP traffic -- [eccc3e21] Move govc url.Parse wrapper to soap.ParseURL -- [e1031f44] Don't assume sshClient firewall rule is disabled -- [cd5d8baa] Let the lister recurse into a ComputeHost -- [b601a586] Specify the new entity's name upon import -- [a5e26981] Explicitly instantiate and register flags -- [aca77c67] Parameterize datastore in VM tests -- [37324472] Pass context to command and flag functions -- [6f955173] Minor optimization to encoding usage -- [0f4aee8b] Create VMFS datastore with datastore.create -- [ec724783] Add host storage commands -- [debdd854] Run license script -- [64022512] Fix license script to work for uncommitted files -- [5cb0c344] Remove host reference from HostFirewallSystem -- [4fb4052a] Change the comment that mentions ha-datacenter -- [b76ad0eb] Let the ESXi to figure out datastore name -- [918188dc] Add helper method to get VM power state -- [29a2f027] Add permissions.{ls,set,remove} commands -- [f27787a1] Add DatacenterFlag.ManagedObjects helper -- [0e629647] Option to disable API version check -- [42d899d0] Add commands to add and remove datastores -- [369e0e7f] Check host state in Datastore.AttachedHosts -- [7adf8375] Test that vm.info -r prints mo names -- [3198242e] Change ComputeResource.Hosts to return HostSystem -- [b34f346e] Support property collection for embedded types -- [8035c180] Fix vm nested hv option -- [b1d9d3c2] Update copyright years in code headers -- [c99e7bac] Add dvs commands -- [c30b7f17] Support DVS lookup in finder -- [094fbdfe] Embed Reference interface in NetworkReference -- [0657cf76] Add DVS helpers -- [6e96a1db] Add host.vnic.{service,info} commands -- [ae6b0b77] Add VsanSystem and VirtualNicManager wrappers -- [24297494] Add vsan flags to cluster.change command -- [4088502d] Add license.assigned.list id flag -- [d089489e] Add cluster.add license flag -- [31ee6e03] Add vm.change options to set hv/mmu -- [a414852e] Refactor host.add command to use HostConnectFlag -- [51543392] Add cluster.{create,change,add} commands -- [8262e1da] Add cluster related host commands -- [2443b364] Add HostConnectFlag -- [8ae7da82] Add object.HostSystem methods -- [0f630dd9] Add finder.Folder method -- [7cd5fbb5] Add bash function to save/load GOVC environments -- [12f26c21] Add object.Common.Destroy method -- [2ab8aa59] Add ComputeResource.Reconfigure method -- [5f47f155] Add flags.NewOptionalBool -- [25fe42b2] Add -feature flag to license list commands -- [2e6c0476] Add license.InfoList list wrapper -- [ef7371af] Add license assignment commands -- [5005e6e4] Add license.AssignmentManager -- [69a23bd4] Use object.Common in license.Manager -- [dbce3faf] Rename receiver variable for consistency -- [80705c11] Pass pointer to bps uint64 in last progress report -- [26e77c8e] VirtualMachine: Add Customize function on object.VirtualMachine -- [c2a78973] Add license.decode command -- [b3a7e07e] Add DistributedVirtualPortgroup support to vm.info -- [1b11ad02] Fix KeepAlive -- [3ecfd0db] Add HostFirewallSystem wrapper -- [9ded9c1a] KeepAlive support with certificate based login -- [cf2a879b] Add DiagnosticManager and logs commands -- [7b14760a] Update README.md -- [ad694500] Export Datastore.ServiceTicket method -- [76690239] Added a method to create snapshot of a virtual machine -- [6d4932af] Use service ticket for datastore file access -- [5fcc29f6] Fix vcsa ssh config -- [ac390ec8] Retry on empty result from property collector -- [f3041b2c] Add methods for client certificate based auth -- [b9edc663] Add extension manager and govc commands -- [9057659c] Fix key composition in building OVF spec -- [f56f6e80] Move OVF environment related code to env{,test}.go -- [b33c9aef] Add minimal doc to ovf package -- [3d40aefb] Added verbose option to the import.spec feature -- [1df0a81d] change for looking up a VM using instanceUUID -- [5f4d36cd] Introduce govc vapp.{info|destroy|power} -- [88795252] Handle the import.spec case where no spec file is provided -- [bcdc53fb] Add inventory path to govc info commands -- [305371a8] Collect govc host and pool info in one call -- [bfd47026] Relax the convention around importing an ova -- [3742a8aa] don't start goroutine while context is nil - - -## [Release v0.2.0](https://github.com/vmware/govmomi/compare/v0.1.0...v0.2.0) - -> Release Date: 2015-09-15 - -### ⏮ Reverts - -- [2900f2ff] Add Host information to vm.info -- [8bec13f7] Fix git dirty status error in build script - -### ⚠️ BREAKING - -### 📖 Commits - -- [b3315079] Mark 0.2.0 in change log -- [cc3bcbee] Add mode argument to release script -- [ae4a6e53] Build govc with new cross compilation facilities -- [4708d165] Derive CONTRIBUTORS from commit history -- [00909f48] Move contrib/ -> scripts/ -- [a0f4f799] Capitalization -- [13baa0e4] Split import functionality into independent flags -- [6363d0e2] Added ovf.Property output to import.spec -- [7af121df] Update change log -- [f9deb385] Fix event.Manager category cache -- [7f0a892d] Avoid tabwriter in events command -- [29601b46] Use vm.power force flag for hard shutdown/reboot -- [ea833cf5] Add VirtualDiskManager CreateVirtualDisk wrapper -- [bfabd01d] Interative clean up of bats testing -- [7cba62d9] Clean up of vcsa creation script -- [631d6228] Add serial port URI info to device.info output -- [0b31dcff] Add -json support to device.info command -- [54e324d1] Add govc vm.info resources option -- [9cc5d8f5] Add helper method to wait for virtual machine power state. -- [9ddd6337] Remove superfluous math.Pow calculations -- [5272b1e9] Added common method of humanizing byte strings -- [3145d146] Add helper method to check if VMware Tools is running in the guest OS. -- [e4f4c737] Misc clean up -- [01f2aed0] Add host name to vm.info -- [f24ec75a] Use property.Collector.Retrieve() in vm.info -- [a779c3b7] Renamed vm.info VmInfos back to VirtualMachines -- [2900f2ff] Revert "Add Host information to vm.info" -- [2a567478] Add -hints option to host.esxcli command -- [1f0708e2] Add options to importing an ovf or and ova file -- [debde780] Only retrieve "currentSession" property -- [b5187c16] Update CONTRIBUTORS -- [3e4ced8c] Added the ability to specify ovf properties during deployment -- [688a6b18] Introduce more VirtualApp methods -- [b1f0cb0c] Add flag to specify destination folder for import.ovf and import.ova -- [c9fcf1ce] Add check for error reading ova file -- [edb0a2cf] clone vmware/rbvmomi repo if it's missing -- [40c26fc6] use e.Object.Reference().Type as suggested by Doug -- [c1442f95] introduce CreateVApp and CreateChildVM_Task -- [25405362] add VirtualAppList and VirtualApp methods to Finder -- [121f075c] Add CustomFieldsManager wrapper and cli commands -- [dd016de3] include VirtualApp in ls -l output -- [b5db4d6d] Provide ability to override url username and password -- [11d5ae9c] Add OVF unmarshalling -- [135569e7] Update travis.yml for new infra -- [822432eb] Make govet stop complaining -- [baf9149e] Add datastore.info cli command -- [2b93c199] Add serial port matcher to SelectByBackingInfo -- [26ba22de] Merge branch 'gavrie-master' -- [62591576] Add Host information to vm.info -- [a90019ab] Add methods for useful properties to VirtualMachine -- [502963c4] Add Relocate method to VirtualMachine -- [7f4b6d38] Add String method to objects for pretty printing -- [99f57f16] Add events helpers and cli command -- [4c989ac3] Update CONTRIBUTORS -- [ad7d1917] Update to vim25/6.0 API -- [ad39adb9] Add net.address flag -- [e01555f9] Add command to add host to datacenter -- [efbd3293] Stop returning children from `ManagedObjectList` -- [d16670f5] Update CONTRIBUTORS -- [97fbf898] Mention GOVC_USERNAME and GOVC_PASSWORD in CHANGELOG -- [8766bda0] Add test to check for flag name collisions -- [791b3365] Remove flags for overriding username and password -- [85957949] include GOVC_USERNAME and GOVC_PASSWORD in govc README -- [8584259a] Export variables in release script -- [14889008] Add test for GOVC_USERNAME and GOVC_PASSWORD -- [c0a984cd] Only run license tests against evaluation license -- [293ac813] Allow override of username and password -- [e053bdf2] Add extraConfig option to vm.change and vm.info -- [1dec0695] Update CONTRIBUTORS -- [1acf418c] Add Usage for host.esxcli -- [2e00fdb1] Modify archive.go bug -- [985291d5] Add missing types to list.ToElement -- [871f5d4f] Add script to create a draft prerelease -- [8bec13f7] Revert "Fix git dirty status error in build script" -- [c825a3c7] Only use annotated tags to describe a version -- [66320cb0] Retry twice on temporary network errors in govc -- [67be5f1d] Add retry functionality to vim25 package -- [fba0548b] Add method to destroy a compute resource -- [2add2f7a] Add methods to add standalone or clustered hosts -- [de297fcb] Add ability to create, read and modify clusters -- [f10480af] Change finder functions to no longer take varargs -- [4bc93a66] Fix resource pool creation/modification -- [b434a9a8] Rename persist flag to persist-session -- [d85ad215] Ignore ManagedObjectNotFound in list results -- [4c497373] Add example that lists datastores -- [5d153787] Update govc CHANGELOG -- [0165e2de] Add flag to toggle persisting session to disk -- [8acb2f28] Add Mevan to CONTRIBUTORS -- [add15217] Ignore missing environmentBrowser field -- [447d18cd] Fix error when using SDRS datastores -- [e85f6d59] Find ComputeResource objects with find package -- [55f984e8] Test package only depends on vim25 -- [dbe47230] Drop omitempty tag from optional pointer fields -- [749f0bfa] Interpret negative values for unsigned fields -- [49a34992] Update CHANGELOG -- [263780f3] Update code to work with bool pointer fields -- [93aad8da] Make optional bool fields pointers -- [b7c51f61] Return errors for unexpected HTTP statuses -- [62ca329a] Abort client tests on errors -- [ae345e7f] Rename LICENSE file -- [a783a8c6] Add govc CHANGELOG -- [ba707586] Add commands to configure the autostart manager -- [af6a188e] Re-enable search index test -- [ceea450c] Update govc README -- [ea5c9a52] Fix git dirty status error in build script - - -## v0.1.0 - -> Release Date: 2015-03-17 - -### ⚠️ BREAKING - -### 📖 Commits - -- [477dcaf9] Cross-compile govc using gox -- [8593d9c7] Add version variable that can be set by the linker -- [fb38ca45] Add CHANGELOG -- [76f8f1a1] Add package docs to client.go -- [27bf35df] Use context.Context in client in root package -- [f3b8162f] Comment out broken test -- [a1d9d1e7] Drop the _gen filename suffix -- [91650a1f] Add context.Context argument to object package -- [1814113a] Use vim25.Client throughout codebase -- [b977114e] Move property retrieval functions to property package -- [8c3243d8] Add lightweight client structure to vim25 package -- [ec4b5b85] Add context.Context argument to find/list packages -- [7eecfbc7] Make Wait function in property package standalone -- [6c1982c8] Add keep alive for soap.RoundTripper -- [1324d1f0] Return nil UserSession when not authenticated -- [ae7ea3dd] Comments for task.Wait -- [a53a6b2c] Add context parameter to object.Task functions -- [f6f44097] Move functionality to wait for task to new package -- [ad2303cf] Move Ancestors function to vim25/mo -- [fb9e1439] Move PropertyCollector to new property package -- [a6618591] Move Reference to vim25/mo -- [bfdb90f1] Bind virtual machine to guest operation wrappers -- [ec0c16a7] Move HasFault to vim25/types -- [683ca537] Move wrappers for managed objects to object package -- [223a07f8] Add GetServiceContent function to vim25/soap -- [25b07674] Decouple factory functions from client -- [b96cf609] Move SessionManager to new session package -- [ea8d5d11] Return on error in SessionManager -- [7d58a49e] Mutate copy of parameter instead of parameter itself -- [e158fd95] Marshal soap.Client instead of govmomi.Client -- [1336ad45] Embed soap.Client in govmomi.Client -- [15cfd514] Work with pointer to url.URL -- [be2936f8] Move guest related wrappers to new guest package -- [b772ba28] Move LicenseManager to new license package -- [7ac1477f] Move EventManager to new event package -- [2053e065] Retrieve dependencies before running test -- [2d14321e] Add context.Context argument to RoundTripper -- [64f716b2] Include type of request in summarized debug log -- [40249c87] Store reference to http.Transport -- [ac77f0c5] Move debugging code in soap.Client to own struct -- [c8fab31b] Loosen .ovf match in ova.import -- [9f685e92] And further fixing the merge... go fmt. -- [8dbb438b] Merge remote-tracking branch 'upstream/master' into event_manager -- [e57a557c] created session manager wrapper -- [5525d5c6] Change return pattern in CreateDatacenter -- [8acd5512] Update contributors -- [7138d375] Coding style consistency -- [951e9194] added SessionIsActive to Client -- [2211e73d] Add CreateFolder method -- [eef40cc0] Add Login/Logout functions to client struct -- [3c7dea04] Update contributors -- [9c4a9202] Fixed error when attempting to access datastore -- [05ee0e62] Add PropertiesN function on client struct -- [01ee2fd5] Adding EventManager so that events can be queried for -- [8d10cfc7] Restrict permissions on session file -- [88b5d03c] Key session file off of entire URL -- [9354d314] Error types for getter functions on finder -- [a30287dc] Add description for pool.create -- [77466af0] Prefix option list in help output -- [cbb8d0b2] Create multiple resource pools through pool.create -- [8d4699d8] Add usage and description for pool.destroy -- [2e195a92] Change pool.change to take multiple arguments -- [38e4a2b2] Add usage and description for pool.info -- [2f286768] Add usage and description for pool.create -- [413fa901] Set insert_key = false -- [d6c2b33e] Update travis.yml -- [b878c20a] Adding CustomizationSpecManager -- [7c8f3e56] Add vm mark as vm and mark as template features -- [033d02e9] Update contributors -- [18919172] Add cpu and memory usage to host.info -- [b29f93c1] Adding the RegisterVM task. -- [e6bf8bb5] Add error types for Finder -- [852578b9] Support multiple hosts in host.info command -- [f1899c63] Set InventoryPath field -- [3a5c1cf3] Add InventoryPath field -- [624f21a4] Add resource pool cli commands -- [4c7cd61f] Add ResourcePool wrapper methods -- [761d43e5] Include ResourcePool in ls -l output -- [d2daf706] Support nested resource pools in lister -- [4d9d9a72] Add vm.change cli command -- [e6ebcd7f] bats fixup: destroy datacenter -- [65838131] Disable vcsa box password expiration -- [7a6e737b] Add CONTRIBUTORS file -- [1cbe968d] Issue [#192](https://github.com/vmware/govmomi/issues/192): HostSystem doesn't seem to be returning the correct host. -- [116a4044] fix a problem of ignored https_proxy environment variable with https scheme -- [df423c32] Add create and destroy datacenter to govc. -- [035bd12c] Usage for devices.{cdrom,floppy}.* -- [68e50dd3] make storage resource manager -- [b28d6f42] Specify default network in test helper -- [4b388e67] Fix boot order test -- [4414a07e] Expand vm.vnc command -- [e329e6e7] rename the session file for windows naming check -- [706520fa] use filepath for filesystem related path operations -- [ceb35f13] Add -f flag to datastore.rm -- [6498890f] Default VM memory to 1GiB -- [591b74f4] Include description for device.cdrom commands -- [815f0286] Add usage to device.cdrom.insert -- [f2209c2b] Flag description casing -- [5e52668c] Add usage to import commands -- [23cf4d35] Expand datastore.ls -- [bca8ef73] Expose underlying VimFault through Fault() function -- [90edb2bc] Add Usage() function to subset of commands -- [afdc145a] Implement subset of license manager -- [14765d07] Add net.adapter option to network flag -- [18c2cce0] Add CreateEthernetCard method -- [9b2730f0] Don't run vm.destroy if there is no input -- [611ced85] Add new ops to vm.power command -- [6cd9f466] Add VM power ops -- [7918063c] Work on README -- [db17cddd] Check minimum API version from client flag -- [df075430] Don't run datastore.rm if there is no input -- [e49a6d57] Move environment variables names into constants -- [2cfe267f] Add device.scsi command -- [6df44c1a] Support scsi disk.controller type in vm.create -- [39a60bbf] Add CreateSCSIController method -- [136fabe5] Rename vm.create disk.adapter to disk.controller -- [9c51314c] Change disk related commands to use new helpers -- [b0c895e5] Add VirtualDisk support to device helpers -- [a00f4545] Add helpers for creating disks -- [16283936] Add FindDiskController helper -- [dda056dc] Add VirtualDeviceList.FindSCSIController method -- [5402017a] FindByBackingInfo -> SelectByBackingInfo -- [0ff5759c] Add vm disk related bats tests -- [8f1e183a] Output disk file backing in device.info -- [e7cfba4b] Remove datastore test files -- [6b883be5] Use DeviceAdd helper in vm.network.add command -- [eb5881ae] Use device name in vm.network.change command -- [b7503468] Remove vm.network.remove command -- [0b81619a] Add vm.network.change cli command -- [0af5c4cf] Use VirtualDeviceList helpers in vm.network.remove -- [94c62da0] Add VirtualDeviceList FindByBackingInfo method -- [c247b80c] Move govc resource finders to govmomi/find package -- [5f0c8dd4] Add vm.info bats test -- [5d99454d] mv govc/flags/list -> govmomi/list -- [028bd3ff] Fix HostSystem.ResourcePool with cluster parent -- [48e25166] Add ls bats test -- [c5f24bce] Add host bats test -- [f965c9ad] Add default GOVC_HOST to vcsim_env -- [77fc8ade] Add network flag required test -- [b1236bf8] Add wrapper to manually run govc against vcsim -- [68831a1f] Fix network device.remove test -- [4649bf1f] Default vcsim box to 4G memory -- [b3f71333] Simplify vcsim_env helper -- [2ca11cde] Answer pending VM questions from govc -- [b6c3ff31] Move govc/test Vagrant boxes -- [b1b5b26e] Change network flag to use NetworkReference -- [83f49af7] Add network bats test -- [a8ffa576] Add NetworkReference interface -- [6fe62e29] Add vcsim_env helper -- [a616817d] Fix collapse_ws helper -- [0614961e] Add DistributedVirtualPortgroup constructor -- [1ddf6801] Cache esxcli command info -- [c713b974] Add table formatter to esxcli command -- [fd19a011] Include esxcli method info in response -- [3c9a436f] Explicit exit status check in assert_failure -- [5a63bc06] Collapse whitespace in assert_line helper -- [c9bd4312] Change vm.ip -esxcli to wait for ip -- [e97e5604] boot order test fixups -- [0e128e0d] 32M is plenty of memory for ttylinux -- [85ded933] Add test cleanup script -- [2bc707e7] Add device.serial cli commands -- [17fb283a] Add serial port device related helpers -- [d9b846d1] Add device.boot tests -- [b5a21e4e] Add device.floppy cli commands -- [d1d39fc3] Add floppy device related helpers -- [1e2c54c0] Refactor disk logic into disk.go -- [9dff8e74] Fix attach disk error checks -- [0f352ec3] Add vm.disk.attach -- [bdd7b37b] Refactor vm.disk.add to vm.disk.create -- [ae2e990e] Add govc functional tests -- [a707fae6] Fix alignment for 32-bit go -- [13274292] Default cli client url.User field -- [17df67ad] Add device.boot cli command -- [3c345ad7] Add device.ls -boot option -- [3b25234c] Add boot order related VirtualDeviceList helpers -- [f996c7d0] Add VirtualMachine BootOptions wrappers -- [4f3b935b] Add some DeviceType constants -- [86f90c52] Add VirtualDeviceList.Type method -- [5f3b95d7] Output MAC Address in device.info -- [58c3c64e] Add VirtualMachineList.PrimaryMacAddress helper -- [67fea291] Fix import.ovf with relative ovf source path -- [22602029] Support non-disk files in import.ovf -- [92175548] Add Upload.Headers field -- [f095536d] Fix import.ova command -- [5093303a] Add device related govc commands -- [18644254] Add device list related helpers -- [6803033e] Add device list helpers -- [4f8cd87c] Switch to BaseOptionValue for vm extra config -- [76662657] Regenerate types -- [46ec389f] Generate interface types for all base types -- [f78df469] Remove Client param from ResourcePool methods -- [ca3cd417] Add Client reference to ResourcePool -- [ffc306cc] Add Client reference to Network -- [c1138fc4] Remove Client param from HttpNfcLease methods -- [6f983a49] Add Client reference to HttpNfcLease -- [d2d566d0] Remove Client param from HostSystem methods -- [60bf1770] Add Client reference to HostSystem -- [e32542c1] Remove Client param from HostDatastoreBrowser methods -- [8956959a] Add Client reference to HostDatastoreBrowser -- [79e7da1d] Remove Client param from Folder methods -- [68b3e6dc] Add Client reference to Folder -- [da5b8ec0] Remove Client param from Datastore methods -- [f89dd25a] Add Client reference to Datastore -- [1b372efa] Remove Client param from Datacenter methods -- [ce320403] Add Client reference to Datacenter -- [b99a9529] Remove Client param from VirtualMachine methods -- [eb700d65] Add Client reference to VirtualMachine -- [673485e4] Remove config check from esxcli.GuestInfo.IpAddress -- [667df16a] Add VCSA Vagrant box -- [66b7daab] Use single consistent pattern to populate FlagSet -- [8fa06b5a] Export NewReference function -- [a4e11a3a] Check if info is nil before using it -- [8bbe7361] Add ManagedObject wrappers -- [9d5df71d] Add vm.ip -esxcli option -- [1818a2a6] Add esxcli helper for guest related info -- [ac6efdc9] Use vim.CLIInfo for esxcli command flags and help -- [5b9b34bc] Remove Cdrom function from disk flag -- [01d201ee] Use new esxcli command parser -- [7531d60e] New esxcli command parser -- [a27c9bd5] Refactor esxcli to esxcli.Executor -- [fdb2d2d0] Refactor unmarshal -- [2dd9910d] Add esxcli related types and methods -- [aad819e8] Add IsoFlag -- [df11fc04] Handle empty values in esxcli -- [6ceff6a4] Fix default network in NetworkFlag -- [bc39649d] Add DistributedVirtualPortgroup wrapper -- [a7eb1d1e] Add DVS support to NetworkFlag -- [71898a73] Support DistributedVirtualPortgroup in lister -- [1cf31f03] Regenerate mo types -- [1e7c1957] Generate mo types regardless of props -- [549a2712] tasks are no longer generated -- [fcf2cd94] Remove unused DiskFlag.Copy method -- [e494c312] Add DiskFlag adpater option -- [71e5eea2] Add host.esxcli command -- [5d0fe65c] Replace panic by error in host system flag -- [a2a7c8ff] Remove newOvf() -- [d8e94d8f] Use default host system where possible -- [67835263] Move HostNetworkSystem getter to HostSystemFlag -- [348258b5] Move resource pool getter to host system object -- [03f94f4b] Default URL scheme and path if not specified -- [73b11f40] Move progress reader to vim25/progress -- [34f73f0a] Refactored progress reporting infrastructure -- [79f15899] Include environment variable names in help -- [1de37e80] Don't skip certificate verification by default -- [4a533b21] Support ClusterComputeResource in list flag -- [817df9d1] Include remote path in importable -- [a0944d82] Import vm.network commands -- [2fd2f026] Add vm.network.remove command -- [e3307b6f] Add vm.network.add command -- [2ac39a1e] Import host.portgroup commands -- [27686532] Add host.portgroup.remove command -- [46545dd9] Add host.portgroup.add command -- [29d8ed38] Add host.vswitch.remove command -- [c2bfbccf] Add host.vswitch.info command -- [f05e3e0a] Include host/vswitch commands -- [17094882] Add host.vswitch.add cli command -- [febf70cb] Add SearchFlag HostNetworkSystem helper -- [cb41663b] Add HostSystem ConfigManager getter -- [6f482eb1] Add HostConfigManager wrapper -- [851cb8d3] Add HostNetworkSystem wrapper -- [8bb8b613] Implement flag.Value interface in NetworkFlag -- [41ebd843] Change destination path for import.vmdk command -- [a6e0f1d4] Don't create VM if vmx already exists -- [b48f0080] Check that DiskFlag.Disk exists -- [8fcafba3] Use DatastoreFlag.Stat method in vmdk.PrepareDestination -- [29daec38] Add DatastoreFlag Stat method -- [29ca9c4a] Use aggregate progess in lease updater -- [de422b52] Enable debug logging with environment variable -- [48690f77] Add script that summarizes debug trace information -- [c515f6e1] Add guest.rm cli command -- [ade53d1e] Remove recursive arg from DeleteFileInGuest -- [63ec87fd] Add guest.start cli command -- [a5dccc14] Add guest.kill cli command -- [8e1abdd4] Add guest.mktemp cli command -- [8d287c3d] Add guest.ls cli command -- [79a67b2d] Fix a few tabwriter outputs Stderr -> Stdout -- [6dc9803f] Remove TODO -- [48a55bbd] Add guest.ps cli command -- [bed7c508] vm arg is required for guest ops -- [fc387eb6] Add example/project links -- [6e75fbf6] Add example: Create and configure a vCenter VM -- [068cc973] Add vm.disk.add command -- [ae42925a] ImportVApp host argument is optional -- [a959e782] Use OutputFlag.Log for ovf warnings -- [db30f1d4] Stream uploads directly from the .ova file -- [b0809106] Add import.Archive interface -- [1faa4e8b] Add Client.Upload method -- [47fe7028] Split datastore.import into multiple commands -- [66a468e2] Rename datastore.delete -> datastore.rm -- [3afcdf5d] Register commands with explicit name -- [07a12472] Load fewer properties where possible -- [3f2d9e5e] Cache rich type info for managed objects -- [be3b5ab1] Install go vet for travis -- [bcf792a0] Add go vet to travis script -- [6be65b35] Rename OutputWrite.WriteTo method to Write -- [b2c603f2] go vet: format related warnings -- [7403b749] go vet: composite literal uses unkeyed fields -- [98ac1aaf] Add NewFolder func -- [eea431c8] Change NewDatastore signature -- [7dbc2b25] Add NewResourcePool func -- [8467fbfd] Support importing VMDKs into ESXi machines -- [8a501f08] Be specific about channel direction -- [abeb8e83] Add DeleteVirtualDisk function -- [11d67d27] Add datastore.import support for .ova files -- [c29ff5c0] Improve about command output -- [bdeb77fd] Add progress for ovf datastore.import -- [4810135c] Ignore PowerOff error in vm.destroy command -- [48c2bbd3] Stop Ticker in ProgressLogger -- [8dfa7db3] Include Client.URL's port in ParseURL -- [c2330cf6] Add progress aggregator for govc -- [d7274985] Use virtual machine flag for vnc command -- [85649cd8] Remove vim25/tasks pkg -- [8f1a2803] Return task objects for every task function -- [df9af568] Add test for progress reader -- [1ddaf841] progessReader passthrough is progress channel is nil -- [9544be13] Add travis ci config -- [bad48a77] Use time.Equal when comparing time.Time -- [e4aeadc2] Upload progress for datastore.import -- [295b4597] Move computation of progress percentage and detail -- [c72543ac] Remove trailing _ from command name -- [2d96f8a5] Add progress report to datastore.{upload,download} -- [ae8509c1] Add functions to about command -- [583a4aca] Merge branch 'readme' -- [2b03454b] Add ovf support to datastore.import -- [fcdfafd6] Add options param to Client.UploadFile -- [0f218092] Move ParseURL helper to Client -- [9f9996e2] Published -> available -- [378e32b9] Fix -- [dae1e4e5] Use WaitForProperties in VirtualMachine.WaitForIP -- [a0335bac] Initial govc readme -- [65050902] Initial govmomi readme -- [231996ff] Add custom HttpNfcLease helpers -- [3293be25] Add Client.WaitForProperties method -- [a28b4fc0] Add generated HttpNfcLease wrapper -- [b610aa5c] Add ResourcePool.ImportVApp wrapper -- [6f9f316f] Add OvfManager getter -- [4ab1b230] Add generated OvfManager wrapper -- [a3e28532] Use virtual machine flag for guest ops -- [8044501f] Configure parent disk on create -- [1786687d] Generate mapping for interface type names -- [f3fa15c1] Use interface type name if type attr is missing -- [27cda4d6] Ignore EEXIST on mkdir in guest -- [c4517301] Use search flag from host system flag -- [9f9b0c9d] Initialize SearchFlag from Register hook -- [02108dd4] Call user function before recursing (govc/cli) -- [73b14a66] Don't overwrite fields (govc/cli) -- [0a5da729] Prefix search flags with entity name -- [cc6aa166] Isset -> IsSet -- [af8adde5] Consistently name pointer receiver 'flag' -- [5cd9a61e] Rename environment variables GOVMOMI -> GOVC -- [45eca426] Use list flag to find host system -- [15fe3728] Use list flag to find resource pool -- [1938ff93] List resource pool in compute resource -- [051ba306] Use list flag to find network -- [4015bec1] Create a VM with a read only parent disk -- [9e98ef07] Upload disk to import to directory -- [72fa245c] Split import into upload and import steps -- [d46b4e51] Add datastore.import command -- [2ba133de] Move datastore path helper to datastore struct -- [ba92fed2] Capture request and response bodies in debug mode -- [2660649a] Add datastore.ls cli command -- [2c8b9fd5] Add Datastore.Browser method -- [8e6805f5] Add HostDatastoreBrowser wrapper -- [6aef2e27] Change generated Base interfaces to a Get method -- [cb0c5763] Add datastore.cp cli command -- [d7cc920a] Add datastore.mv cli command -- [3601ab3b] Add Copy, Move FileManager methods -- [8c62e27e] Datastore commands take paths as regular arguments -- [a740c827] Use list flag to find datastore -- [b7d4b208] Add guest.getenv command -- [e72b79f9] Add guest.chmod command -- [5bd30d15] Use FileAttr flag in guest.upload -- [8c889f03] Add guest FileAttr flag -- [22f854ef] Fix guest RewriteURL method -- [69af5618] Retrieve object ancestors if listing a relative path -- [882faef4] Import vm/guest commands -- [a8fdd5ab] Add guest.upload command -- [93815beb] Add guest.download command -- [108f118d] Add guest.rmdir command -- [77c1f59d] Add guest.mkdir command -- [98283e1a] Common flags and helpers for guest command -- [37065ae1] Add cli flag for guest authentication -- [fc5eb7a7] More GuestFileManager wrappers -- [8611b851] Rename cli datastore upload/download receivers -- [2a058397] Move {Upload,Download}File methods to soap.Client -- [75dfb253] Use list flag to find datacenter -- [b0557434] Add GuestOperationManager wrapper -- [9fb9b66e] Load datacenter name for datastore URL -- [011790a6] Fix DatastoreFlag lookup -- [b7c12086] Add vm.ip command -- [17b0879d] Report progress from vm.power command -- [0a10a798] Avoid panic if ClientFlag url is not set -- [33c26af2] Long/short output for ls command -- [0c97323b] Make traversal of leaf nodes in list code configurable -- [ad0e3778] Add soap.Client.URL method -- [f3289833] Destroy multiple VMs -- [90d80fb3] Power on/off multiple VMs -- [97c2034b] Rename c -> cmd, client -> c -- [8ea428a4] Initialize vm commands with search type -- [1e175eab] Change xml.Decoder.AddType to TypeFunc -- [754da687] Change xml.Decoder.AddType to TypeFunc -- [8cbebfcb] Use list flag from search flag -- [43950349] Use list flag from vm.info cli command -- [0c3080c0] List relative to configurable object -- [c8438410] Extract list functionality as flag -- [ad7bac7a] Support vm.create with -disk .iso -- [189a2231] Add Isset function to search flag -- [bd38dd9b] Add vm.destroy cli command -- [24da8d1c] Add VirtualMachine.Destroy method -- [79466361] Include client counter in debug file prefix -- [11ac68f1] Check if session is valid before returning it -- [685f9554] Return fault from missing set if applicable -- [44575370] Method fault is a base class -- [f1258736] Optionally power on vm after creation -- [dd38436e] Function to map strings to types -- [9a0dde0a] Return VirtualMachine from CreateVM -- [29c8d2ee] Return result from Client.waitForTask -- [a368944d] Move error wrapper to soap package -- [bb62b6a6] Fix client_test compile -- [e0ce3a86] DatastoreFlag refactoring -- [4cd1e77f] Check for DatastorePath required flag -- [79887bf3] Rename DatastorePath to DatastorePathFlag -- [03f2520e] Persist session to disk -- [3a9169e2] Unembed soap.Client from govmomi.Client -- [b510dc18] Implement vm.create cli command -- [06d2e159] Add cli Disk flag -- [b0ce5181] Add cli Network flag -- [8736db1c] Add cli VmFolder flag -- [05a5e45c] Add Folder.CreateVM method -- [4d5eb080] Add VirtualDiskManager wrapper -- [6b4744ac] Move waitForTask method to Client type -- [7e4d047d] Remove embedded ClientFlag -- [a16bada5] Store debug logs on disk -- [e1d7c5b0] Only care about guest.ipAddress property for -waitip -- [647bd102] Use cli flag types for host, pool and datastore -- [14d27b9f] Add cli HostSystemFlag -- [920a5c8a] Add cli ResourcePoolFlag -- [0f76226c] Cache Datastore lookup -- [7bb22ee0] Add govmomi.ResourcePool type -- [6ffac6fc] Wait for the guest to get an IP address -- [2c361e75] Import datastore command package -- [5a68e03c] Add datastore.download command -- [135eb434] Add datastore.upload command -- [02f40085] Add datastore.delete command -- [a25d7233] Add datastore.mkdir command -- [d1f9dad7] Add cli DatastorePathFlag -- [27789049] Add cli DatastoreFlag -- [ea66997e] Add Datastore URL, Upload/Download File methods -- [3c630d4d] Add FileManager wrapper -- [68ca1c21] Unembed ServiceContent in govmomi.Client -- [57dd4153] Enable/disable VNC from govc -- [002cb1dc] Rename field Ref -> Self -- [5a3968ad] Add generic list command -- [31664dcf] Assign reference to self in managed objects -- [99809e14] Include reference to self in managed objects -- [96b65720] Rely on response to determine managed object type -- [dcfd55a6] Include type registry for managed objects -- [46c8fce8] Load complete object for json output -- [ceb3cfa2] Use search flag from power command -- [1e19e548] Add vm.info, host.info commands -- [979d8c48] Split govc/vm/command.go -- [24ce0371] Add output flag -- [32693cf3] Initial stab at listing VMs -- [59734757] Add datacenter flag -- [382bf2bc] More verbosity -- [e9a6152d] Allow embedding of flag types -- [2d2386dc] Move client flag to flags pkg -- [c2f5e99b] Nesting of flags through reflection -- [6d6f9baa] Add SearchIndex wrapper -- [4e06b8ae] govc cli skeleton -- [444617bb] Add power on/off and reset functions to VirtualMachine -- [a1377afa] Add compute resource struct -- [b6aceec1] Add virtual machine struct -- [415f4cd9] Add network struct -- [a7b60eb8] Add datastore struct -- [18ec5f35] Function to retrieve datacenter folders -- [cebbf289] Retrieve only childEntity property for folder -- [c7b42438] Add folder and datacenter types -- [00dce928] Allow custom request for mo.RetrieveProperties -- [1ac7f6df] Embed ServiceContent type in govmomi.Client -- [887b482e] Use cookiejar in soap client -- [3b674be4] Add basic client structure -- [79f0006e] Don't use pointer for enum (string) fields -- [29b2981c] Move generated enum types to their own file -- [5a0e65e5] Import scripts used for code generation -- [71c53d0e] Initial import -- [6081afb9] Add Apache license -- [ff8c717d] Import modifications to xml package -- [57091273] Import Go LICENSE file -- [d5645253] Import encoding/xml from Go 1.3.1 diff --git a/vendor/github.com/vmware/govmomi/CONTRIBUTING.md b/vendor/github.com/vmware/govmomi/CONTRIBUTING.md deleted file mode 100644 index c6d69e54675..00000000000 --- a/vendor/github.com/vmware/govmomi/CONTRIBUTING.md +++ /dev/null @@ -1,197 +0,0 @@ -# Contributing to `govmomi` - -## Getting started - -First, fork the repository on GitHub to your personal account. - -Change `$USER` in the examples below to your Github username if they are not the -same. - -```bash -git clone https://github.com/vmware/govmomi.git && cd govmomi - -# prevent accidentally pushing to vmware/govmomi -git config push.default nothing -git remote rename origin vmware - -# add your fork -git remote add $USER git@github.com:$USER/govmomi.git - -git fetch -av -``` - -## Contribution Flow - -This is a rough outline of what a contributor's workflow looks like: - -- Create an issue describing the feature/fix -- Create a topic branch from where you want to base your work. -- Make commits of logical units. -- Make sure your commit messages are in the proper format (see below). -- Push your changes to a topic branch in your fork of the repository. -- Submit a pull request to `vmware/govmomi`. - -See [below](#format-of-the-commit-message) for details on commit best practices -and **supported prefixes**, e.g. `govc: `. - -> **Note:** If you are new to Git(hub) check out [Git rebase, squash...oh -> my!](https://www.mgasch.com/2021/05/git-basics/) for more details on how to -> successfully contribute to an open source project. - -### Example 1 - Fix a Bug in `govmomi` - -```bash -git checkout -b issue- vmware/master -git add -git commit -m "fix: ..." -m "Closes: #" -git push $USER issue- -``` - -### Example 2 - Add a new (non-breaking) API to `govmomi` - -```bash -git checkout -b issue- vmware/master -git add -git commit -m "Add API ..." -m "Closes: #" -git push $USER issue- -``` - -### Example 3 - Add a Feature to `govc` - -```bash -git checkout -b issue- vmware/master -git add -git commit -m "govc: Add feature ..." -m "Closes: #" -git push $USER issue- -``` -**Note**: -To register the new `govc` command package, add a blank `_` import to `govmomi/govc/main.go`. - -### Example 4 - Fix a Bug in `vcsim` - -```bash -git checkout -b issue- vmware/master -git add -git commit -m "vcsim: Fix ..." -m "Closes: #" -git push $USER issue- -``` - -### Example 5 - Document Breaking (API) Changes - -Breaking changes, e.g. to the `govmomi` APIs, are highlighted in the `CHANGELOG` -and release notes when the keyword `BREAKING:` is used in the commit message -body. - -The text after `BREAKING:` is used in the corresponding highlighted section. -Thus these details should be stated at the body of the commit message. -Multi-line strings are supported. - -```bash -git checkout -b issue- vmware/master -git add -cat << EOF | git commit -F - -Add ctx to funcXYZ - -This commit introduces context.Context to function XYZ -Closes: #1234 - -BREAKING: Add ctx to funcXYZ() -EOF - -git push $USER issue- -``` - -### Stay in sync with Upstream - -When your branch gets out of sync with the vmware/master branch, use the -following to update (rebase): - -```bash -git checkout issue- -git fetch -a -git rebase vmware/master -git push --force-with-lease $USER issue- -``` - -### Updating Pull Requests - -If your PR fails to pass CI or needs changes based on code review, it's ok to -add more commits stating the changes made, e.g. "Address review comments". This -is to assist the reviewer(s) to easily detect and review the recent changes. - -In case of small PRs, it's ok to squash and force-push (see further below) -directly instead. - -```bash -# incorporate review feedback -git add . - -# create a fixup commit which will be merged into your (original) -git commit --fixup -git push $USER issue- -``` - -Be sure to add a comment to the PR indicating your new changes are ready to -review, as Github does not generate a notification when you git push. - -Once the review is complete, squash and push your final commit(s): - -```bash -# squash all commits into one -# --autosquash will automatically detect and merge fixup commits -git rebase -i --autosquash vmware/master -git push --force-with-lease $USER issue- -``` - -### Code Style - -The coding style suggested by the Go community is used in `govmomi`. See the -[style doc](https://github.com/golang/go/wiki/CodeReviewComments) for details. - -Try to limit column width to 120 characters for both code and markdown documents -such as this one. - -### Format of the Commit Message - -We follow the conventions described in [How to Write a Git Commit -Message](http://chris.beams.io/posts/git-commit/). - -Be sure to include any related GitHub issue references in the commit message, -e.g. `Closes: #`. - -The [`CHANGELOG.md`](./CHANGELOG.md) and release page uses **commit message -prefixes** for grouping and highlighting. A commit message that -starts with `[prefix:] ` will place this commit under the respective -section in the `CHANGELOG`. - -The following example creates a commit referencing the `issue: 1234` and puts -the commit message in the `govc` `CHANGELOG` section: - -```bash -git commit -s -m "govc: Add CLI command X" -m "Closes: #1234" -``` - -Currently the following prefixes are used: - -- `api:` - Use for API-related changes -- `govc:` - Use for changes to `govc` CLI -- `vcsim:` - Use for changes to vCenter Simulator -- `chore:` - Use for repository related activities -- `fix:` - Use for bug fixes -- `docs:` - Use for changes to the documentation -- `examples:` - Use for changes to examples - -If your contribution falls into multiple categories, e.g. `api` and `vcsim` it -is recommended to break up your commits using distinct prefixes. - -### Running CI Checks and Tests -You can run both `make check` and `make test` from the top level of the -repository. - -While `make check` will catch formatting and import errors, it will not apply -any fixes. The developer is expected to do that. - -## Reporting Bugs and Creating Issues - -When opening a new issue, try to roughly follow the commit message format -conventions above. diff --git a/vendor/github.com/vmware/govmomi/CONTRIBUTORS b/vendor/github.com/vmware/govmomi/CONTRIBUTORS deleted file mode 100644 index ef8c56de8b2..00000000000 --- a/vendor/github.com/vmware/govmomi/CONTRIBUTORS +++ /dev/null @@ -1,256 +0,0 @@ -# People who can (and typically have) contributed to this repository. -# -# This script is generated by contributors.sh -# - -Abhijeet Kasurde -abrarshivani -Adam Chalkley -Adam Fowler -Adam Shannon -Akanksha Panse -Al Biheiri -Alessandro Cortiana -Alex -Alex Bozhenko -Alex Ellis (VMware) -Aligator <8278538+yet-another-aligator@users.noreply.github.com> -Alvaro Miranda -Amanda H. L. de Andrade -amanpaha -Amit Bathla -amit bezalel -Andrew -Andrew Chin -Andrew Kutz -Andrey Klimentyev -Anfernee Yongkun Gui -angystardust -aniketGslab -Ankit Vaidya -Ankur Huralikoppi -Anna Carrigan -Antony Saba -Ariel Chinn -Arran Walker -Artem Anisimov -Arunesh Pandey -Aryeh Weinreb -Augy StClair -Austin Parker -Balu Dontu -bastienbc -Ben Corrie -Ben Vickers -Benjamin Davini -Benjamin Peterson -Benjamin Vickers -Bhavya Choudhary -Bob Killen -Brad Fitzpatrick -Brian Rak -brian57860 -Bruce Downs -Bryan Venteicher -Cédric Blomart -Cheng Cheng -Chethan Venkatesh -Choudhury Sarada Prasanna Nanda -Chris Marchesi -Christian Höltje -Clint Greenwood -cpiment -CuiHaozhi -Dan Ilan -Dan Norris -Daniel Frederick Crisman -Daniel Mueller -Danny Lockard -Dave Gress -Dave Smith-Uchida -Dave Tucker -David Gress -David Stark -Davide Agnello -Davinder Kumar -Defa -demarey -dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> -Deric Crago -ditsuke -Divyen Patel -Dnyanesh Gate -Doug MacEachern -East <60801291+houfangdong@users.noreply.github.com> -Eloy Coto -embano1 -Eng Zer Jun -Eric Edens -Eric Graham <16710890+Pheric@users.noreply.github.com> -Eric Gray -Eric Yutao -Erik Hollensbe -Essodjolo KAHANAM -Ethan Kaley -Evan Chu -Fabio Rapposelli -Faiyaz Ahmed -Federico Pellegatta <12744504+federico-pellegatta@users.noreply.github.com> -forkbomber -François Rigault -freebsdly -Gavin Gray -Gavrie Philipson -George Hicken -Gerrit Renker -gthombare -HakanSunay -Hasan Mahmood -Haydon Ryan -Heiko Reese -Henrik Hodne -hkumar -Hrabur Stoyanov -hui luo -Ian Eyberg -Isaac Rodman -Ivan Mikushin -Ivan Porto Carrero -James King -James Peach -Jason Kincl -Jeremy Canady -jeremy-clerc -Jiatong Wang -jingyizPensando -João Pereira -Jonas Ausevicius -Jorge Sevilla -Julien PILLON -Justin J. Novack -kayrus -Keenan Brock -Kevin George -Knappek -Leslie Wang -leslie-qiwa -Lintong Jiang -Liping Xue -Louie Jiang -Luther Monson -Madanagopal Arunachalam -makelarisjr <8687447+makelarisjr@users.noreply.github.com> -maplain -Marc Carmier -Marcus Tan -Maria Ntalla -Marin Atanasov Nikolov -Mario Trangoni -Mark Dechiaro -Mark Peek -Mark Rexwinkel -martin -Matt Clay -Matt Moore -Matt Moriarity -Matthew Cosgrove -mbhadale -Merlijn Sebrechts -Mevan Samaratunga -Michael Gasch <15986659+embano1@users.noreply.github.com> -Michael Gasch -Michal Jankowski -Mike Schinkel -Mincho Tonev -mingwei -Nicolas Lamirault -Nikhil Kathare -Nikhil R Deshpande -Nikolas Grottendieck -Nils Elde -nirbhay -Nobuhiro MIKI -Om Kumar -Omar Kohl -Parham Alvani -Parveen Chahal -Paul Martin <25058109+rawstorage@users.noreply.github.com> -Pierre Gronlier -Pieter Noordhuis -pradeepj <50135054+pradeep288@users.noreply.github.com> -Pranshu Jain -prydin -rconde01 -rHermes -Rianto Wahyudi -Ricardo Katz -Robin Watkins -Rowan Jacobs -Roy Ling -rsikdar -runner.mei -Ryan Johnson -S R Ashrith -S.Çağlar Onur -Saad Malik -Sam Zhu -samzhu333 <45263849+samzhu333@users.noreply.github.com> -Sandeep Pissay Srinivasa Rao -Scott Holden -Sergey Ignatov -serokles -shahra -Shalini Bhaskara -Shaozhen Ding -Shawn Neal -shylasrinivas -sky-joker -smaftoul -smahadik -Sten Feldman -Stepan Mazurov -Steve Purcell -Sudhindra Aithal -SUMIT AGRAWAL -Sunny Carter -syuparn -Takaaki Furukawa -Tamas Eger -Tanay Kothari -tanishi -Ted Zlatanov -Thad Craft -Thibaut Ackermann -Tim McNamara -Tjeu Kayim <15987676+TjeuKayim@users.noreply.github.com> -Toomas Pelberg -Trevor Dawe -tshihad -Uwe Bessle -Vadim Egorov -Vikram Krishnamurthy -volanja -Volodymyr Bobyr -Waldek Maleska -William Lam -Witold Krecicki -xing-yang -xinyanw409 -Yang Yang -yangxi -Yann Hodique -Yash Nitin Desai -Yassine TIJANI -Yi Jiang -yiyingy -ykakarap -Yogesh Sobale <6104071+ysobale@users.noreply.github.com> -Yue Yin -Yun Zhou -Yuya Kusakabe -Zach G -Zach Tucker -Zacharias Taubert -Zee Yang -zyuxin -Кузаков Евгений diff --git a/vendor/github.com/vmware/govmomi/Dockerfile.govc b/vendor/github.com/vmware/govmomi/Dockerfile.govc deleted file mode 100644 index e7d6766b01e..00000000000 --- a/vendor/github.com/vmware/govmomi/Dockerfile.govc +++ /dev/null @@ -1,45 +0,0 @@ -# Create a builder container -# golang:1.18.0-buster amd64 -FROM golang@sha256:7d39537344486528f8cdb3bd8adb98ab7f0f4236044b6944fed8631da35a4ce5 AS build -WORKDIR /go/src/app - -# Create appuser to isolate potential vulnerabilities -# See https://stackoverflow.com/a/55757473/12429735 -ENV USER=appuser -ENV UID=10001 -RUN adduser \ - --disabled-password \ - --gecos "" \ - --shell "/sbin/nologin" \ - --no-create-home \ - --uid "${UID}" \ - "${USER}" - -# Create a new tmp directory so no bad actors can manipulate it -RUN mkdir /temporary-tmp-directory && chmod 777 /temporary-tmp-directory - -############################################################################### -# Final stage -FROM scratch - -# Allow container to use latest TLS certificates -COPY --from=build /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ - -# Copy over appuser to run as non-root -COPY --from=build /etc/passwd /etc/passwd -COPY --from=build /etc/group /etc/group - -# Copy over the /tmp directory for golang/os.TmpDir -COPY --chown=appuser --from=build /temporary-tmp-directory /tmp - -# Copy application from external build -COPY govc /govc - -# Run all commands as non-root -USER appuser:appuser - -# session cache, etc -ENV GOVMOMI_HOME=/tmp - -# Set CMD to application with container defaults -CMD ["/govc"] diff --git a/vendor/github.com/vmware/govmomi/Dockerfile.vcsim b/vendor/github.com/vmware/govmomi/Dockerfile.vcsim deleted file mode 100644 index 141de0ff2e0..00000000000 --- a/vendor/github.com/vmware/govmomi/Dockerfile.vcsim +++ /dev/null @@ -1,47 +0,0 @@ -# Create a builder container -# golang:1.18.0-buster amd64 -FROM golang@sha256:7d39537344486528f8cdb3bd8adb98ab7f0f4236044b6944fed8631da35a4ce5 AS build -WORKDIR /go/src/app - -# Create appuser to isolate potential vulnerabilities -# See https://stackoverflow.com/a/55757473/12429735 -ENV USER=appuser -ENV UID=10001 -RUN adduser \ - --disabled-password \ - --gecos "" \ - --home "/nonexistent" \ - --shell "/sbin/nologin" \ - --no-create-home \ - --uid "${UID}" \ - "${USER}" - -# Create a new tmp directory so no bad actors can manipulate it -RUN mkdir /temporary-tmp-directory && chmod 777 /temporary-tmp-directory - -############################################################################### -# Final stage -FROM scratch - -# Run all commands as non-root -USER appuser:appuser - -# Allow container to use latest TLS certificates -COPY --from=build /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ - -# Copy over appuser to run as non-root -COPY --from=build /etc/passwd /etc/passwd -COPY --from=build /etc/group /etc/group - -# Copy over the /tmp directory for golang/os.TmpDir -COPY --chown=appuser --from=build /temporary-tmp-directory /tmp - -# Expose application port -EXPOSE 8989 - -# Copy application from external build -COPY vcsim /vcsim - -# Set entrypoint to application with container defaults -ENTRYPOINT [ "/vcsim" ] -CMD ["-l", "0.0.0.0:8989"] diff --git a/vendor/github.com/vmware/govmomi/LICENSE.txt b/vendor/github.com/vmware/govmomi/LICENSE.txt deleted file mode 100644 index d6456956733..00000000000 --- a/vendor/github.com/vmware/govmomi/LICENSE.txt +++ /dev/null @@ -1,202 +0,0 @@ - - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - APPENDIX: How to apply the Apache License to your work. - - To apply the Apache License to your work, attach the following - boilerplate notice, with the fields enclosed by brackets "[]" - replaced with your own identifying information. (Don't include - the brackets!) The text should be enclosed in the appropriate - comment syntax for the file format. We also recommend that a - file or class name and description of purpose be included on the - same "printed page" as the copyright notice for easier - identification within third-party archives. - - Copyright [yyyy] [name of copyright owner] - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. diff --git a/vendor/github.com/vmware/govmomi/Makefile b/vendor/github.com/vmware/govmomi/Makefile deleted file mode 100644 index 1a89322a324..00000000000 --- a/vendor/github.com/vmware/govmomi/Makefile +++ /dev/null @@ -1,158 +0,0 @@ -# Copyright (c) 2021 VMware, Inc. All Rights Reserved. -# SPDX-License-Identifier: Apache-2.0 - -# If you update this file, please follow -# https://www.thapaliya.com/en/writings/well-documented-makefiles/ - -# Ensure Make is run with bash shell as some syntax below is bash-specific -SHELL := /usr/bin/env bash - -# Print the help/usage when make is executed without any other arguments -.DEFAULT_GOAL := help - - -## -------------------------------------- -## Help -## -------------------------------------- - -.PHONY: help -help: ## Display usage - @awk 'BEGIN {FS = ":.*##"; printf "\nUsage:\n make [target] \033[36m\033[0m\n\nTargets:\n"} /^[a-zA-Z_-]+:.*?##/ { printf " \033[36m%-20s\033[0m %s\n", $$1, $$2 }' $(MAKEFILE_LIST) - - -## -------------------------------------- -## Locations and programs -## -------------------------------------- - -# Directories -BIN_DIR := bin -TOOLS_DIR := hack/tools -TOOLS_BIN_DIR := $(TOOLS_DIR)/bin - -# Tooling binaries -GO ?= $(shell command -v go 2>/dev/null) -GOLANGCI_LINT := $(TOOLS_BIN_DIR)/golangci-lint - - -## -------------------------------------- -## Prerequisites -## -------------------------------------- - -# Do not proceed unless the go binary is present. -ifeq (,$(strip $(GO))) -$(error The "go" program cannot be found) -endif - - -## -------------------------------------- -## Linting and fixing linter errors -## -------------------------------------- - -.PHONY: lint -lint: ## Run all the lint targets - $(MAKE) lint-go-full - -GOLANGCI_LINT_FLAGS ?= --fast=true -.PHONY: lint-go -lint-go: $(GOLANGCI_LINT) ## Lint codebase - $(GOLANGCI_LINT) run -v $(GOLANGCI_LINT_FLAGS) - -.PHONY: lint-go-full -lint-go-full: GOLANGCI_LINT_FLAGS = --fast=false -lint-go-full: lint-go ## Run slower linters to detect possible issues - -.PHONY: fix -fix: GOLANGCI_LINT_FLAGS = --fast=false --fix -fix: lint-go ## Tries to fix errors reported by lint-go-full target - -.PHONY: check -check: lint-go-full -check: ## Run linters - - -## -------------------------------------- -## Tooling Binaries -## -------------------------------------- - -TOOLING_BINARIES := $(GOLANGCI_LINT) -tools: $(TOOLING_BINARIES) ## Build tooling binaries -.PHONY: $(TOOLING_BINARIES) -$(TOOLING_BINARIES): - cd $(TOOLS_DIR); make $(@F) - - -## -------------------------------------- -## Build / Install -## -------------------------------------- -.PHONY: install -install: ## Install govc and vcsim - $(MAKE) -C govc install - $(MAKE) -C vcsim install - - -## -------------------------------------- -## Generate -## -------------------------------------- - -.PHONY: mod -mod: ## Runs go mod tidy to validate modules - go mod tidy -v - -.PHONY: mod-get -mod-get: ## Downloads and caches the modules - go mod download - -.PHONY: doc -doc: install -doc: ## Generates govc USAGE.md - ./govc/usage.sh > ./govc/USAGE.md - - -## -------------------------------------- -## Tests -## -------------------------------------- - -# Test options -TEST_COUNT ?= 1 -TEST_TIMEOUT ?= 5m -TEST_RACE_HISTORY_SIZE ?= 5 -GORACE ?= history_size=$(TEST_RACE_HISTORY_SIZE) - -ifeq (-count,$(findstring -count,$(TEST_OPTS))) -$(error Use TEST_COUNT to override this option) -endif - -ifeq (-race,$(findstring -race,$(TEST_OPTS))) -$(error The -race flag is enabled by default & cannot be specified in TEST_OPTS) -endif - -ifeq (-timeout,$(findstring -timeout,$(TEST_OPTS))) -$(error Use TEST_TIMEOUT to override this option) -endif - -.PHONY: go-test -go-test: ## Runs go unit tests with race detector enabled - GORACE=$(GORACE) $(GO) test \ - -count $(TEST_COUNT) \ - -race \ - -timeout $(TEST_TIMEOUT) \ - -v $(TEST_OPTS) \ - ./... - -.PHONY: govc-test -govc-test: install -govc-test: ## Runs govc bats tests - ./govc/test/images/update.sh - (cd govc/test && ./vendor/github.com/sstephenson/bats/libexec/bats -t .) - -.PHONY: govc-test-sso -govc-test-sso: install - ./govc/test/images/update.sh - (cd govc/test && SSO_BATS=1 ./vendor/github.com/sstephenson/bats/libexec/bats -t sso.bats) - -.PHONY: govc-test-sso-assert-cert -govc-test-sso-assert-cert: - SSO_BATS_ASSERT_CERT=1 $(MAKE) govc-test-sso - -.PHONY: test -test: go-test govc-test ## Runs go-test and govc-test diff --git a/vendor/github.com/vmware/govmomi/README.md b/vendor/github.com/vmware/govmomi/README.md deleted file mode 100644 index 60a18d6e127..00000000000 --- a/vendor/github.com/vmware/govmomi/README.md +++ /dev/null @@ -1,131 +0,0 @@ - - -[![Build](https://github.com/vmware/govmomi/actions/workflows/govmomi-build.yaml/badge.svg)][ci-build] -[![Tests](https://github.com/vmware/govmomi/actions/workflows/govmomi-go-tests.yaml/badge.svg)][ci-tests] -[![Go Report Card](https://goreportcard.com/badge/github.com/vmware/govmomi)][go-report-card] -[![Latest Release](https://img.shields.io/github/release/vmware/govmomi.svg?logo=github&style=flat-square)][latest-release] -[![Go Reference](https://pkg.go.dev/badge/github.com/vmware/govmomi.svg)][go-reference] -[![go.mod Go version](https://img.shields.io/github/go-mod/go-version/vmware/govmomi)][go-version] - -# govmomi - -A Go library for interacting with VMware vSphere APIs (ESXi and/or vCenter Server). - -In addition to the vSphere API client, this repository includes: - -* [govc][govc] - vSphere CLI -* [vcsim][vcsim] - vSphere API mock framework -* [toolbox][toolbox] - VM guest tools framework - -## Compatibility - -This library supports vCenter Server and ESXi versions following the [VMware Product Lifecycle Matrix][reference-lifecycle]. - -Product versions that are end of support may work, but are not officially supported. - -## Documentation - -The APIs exposed by this library closely follow the API described in the [VMware vSphere API Reference Documentation][reference-api]. Refer to the documentation to become familiar with the upstream API. - -The code in the `govmomi` package is a wrapper for the code that is generated from the vSphere API description. It primarily provides convenience functions for working with the vSphere API. See [godoc.org][reference-godoc] for documentation. - -## Installation - -### govmomi (Package) - -```bash -go get -u github.com/vmware/govmomi -``` - -### Binaries and Docker Images for `govc` and `vcsim` - -Installation instructions, released binaries, and Docker images are documented in the respective README files of [`govc`][govc] and [`vcsim`][vcsim]. - -## Discussion - -The project encourages the community to collaborate using GitHub [issues][govmomi-github-issues], GitHub [discussions][govmomi-github-discussions], and [Slack][slack-channel]. - -> **Note** -> Access to Slack requires a free [VMware {code}][slack-join] developer program membership. - -## Status - -Changes to the API are subject to [semantic versioning][reference-semver]. - -Refer to the [CHANGELOG][govmomi-changelog] for version to version changes. - -## Notable Projects Using govmomi - -* [collectd-vsphere][project-travisci-collectd-vsphere] -* [Docker LinuxKit][project-docker-linuxKit] -* [Elastic Agent VMware vSphere integration][project-elastic-agent] -* [Gru][project-gru] -* [Juju][project-juju] -* [Jupiter Brain][project-travisci-jupiter-brain] -* [Kubernetes vSphere Cloud Provider][project-k8s-cloud-provider] -* [Kubernetes Cluster API][project-k8s-cluster-api] -* [OPS][project-nanovms-ops] -* [Packer Plugin for VMware vSphere][project-hashicorp-packer-plugin-vsphere] -* [Rancher][project-rancher] -* [Terraform Provider for VMware vSphere][project-hashicorp-terraform-provider-vsphere] -* [Telegraf][project-influxdata-telegraf] -* [VMware Event Broker Appliance][project-vmware-veba] -* [VMware vSphere Integrated Containers Engine][project-vmware-vic] -* [VMware vSphere 7.0][project-vmware-vsphere] - -## Related Projects - -* [go-vmware-nsxt][reference-go-vmware-nsxt] -* [pyvmomi][reference-pyvmomi] -* [rbvmomi][reference-rbvmomi] - -## License - -govmomi is available under the [Apache 2 License][govmomi-license]. - -## Name - -Pronounced: _go·​v·​mom·​ie_ - -Follows pyvmomi and rbvmomi: language prefix + the vSphere acronym "VM Object Management Infrastructure". - -[//]: Links - -[ci-build]: https://github.com/vmware/govmomi/actions/workflows/govmomi-build.yaml -[ci-tests]: https://github.com/vmware/govmomi/actions/workflows/govmomi-go-tests.yaml -[latest-release]: https://github.com/vmware/govmomi/releases/latest -[govc]: govc/README.md -[govmomi-github-issues]: https://github.com/vmware/govmomi/issues -[govmomi-github-discussions]: https://github.com/vmware/govmomi/discussions -[govmomi-changelog]: CHANGELOG.md -[govmomi-license]: LICENSE.txt -[go-reference]: https://pkg.go.dev/github.com/vmware/govmomi -[go-report-card]: https://goreportcard.com/report/github.com/vmware/govmomi -[go-version]: https://github.com/vmware/govmomi -[project-docker-linuxKit]: https://github.com/linuxkit/linuxkit/tree/master/src/cmd/linuxkit -[project-elastic-agent]: https://github.com/elastic/integrations/tree/main/packages/vsphere -[project-gru]: https://github.com/dnaeon/gru -[project-hashicorp-packer-plugin-vsphere]: https://github.com/hashicorp/packer-plugin-vsphere -[project-hashicorp-terraform-provider-vsphere]: https://github.com/hashicorp/terraform-provider-vsphere -[project-influxdata-telegraf]: https://github.com/influxdata/telegraf/tree/master/plugins/inputs/vsphere -[project-juju]: https://github.com/juju/juju -[project-k8s-cloud-provider]: https://github.com/kubernetes/cloud-provider-vsphere -[project-k8s-cluster-api]: https://github.com/kubernetes-sigs/cluster-api-provider-vsphere -[project-nanovms-ops]: https://github.com/nanovms/ops -[project-rancher]: https://github.com/rancher/rancher/blob/master/pkg/api/norman/customization/vsphere/listers.go -[project-travisci-collectd-vsphere]: https://github.com/travis-ci/collectd-vsphere -[project-travisci-jupiter-brain]: https://github.com/travis-ci/jupiter-brain -[project-vmware-veba]: https://github.com/vmware-samples/vcenter-event-broker-appliance/tree/development/vmware-event-router -[project-vmware-vic]: https://github.com/vmware/vic -[project-vmware-vsphere]: https://docs.vmware.com/en/VMware-vSphere/7.0/rn/vsphere-esxi-vcenter-server-7-vsphere-with-kubernetes-release-notes.html -[reference-api]: https://developer.vmware.com/apis/968/vsphere -[reference-godoc]: http://godoc.org/github.com/vmware/govmomi -[reference-go-vmware-nsxt]: https://github.com/vmware/go-vmware-nsxt -[reference-lifecycle]: https://lifecycle.vmware.com -[reference-pyvmomi]: https://github.com/vmware/pyvmomi -[reference-rbvmomi]: https://github.com/vmware/rbvmomi -[reference-semver]: http://semver.org -[slack-join]: https://developer.vmware.com/join/ -[slack-channel]: https://vmwarecode.slack.com/messages/govmomi -[toolbox]: toolbox/README.md -[vcsim]: vcsim/README.md diff --git a/vendor/github.com/vmware/govmomi/RELEASE.md b/vendor/github.com/vmware/govmomi/RELEASE.md deleted file mode 100644 index 1a12c0640bd..00000000000 --- a/vendor/github.com/vmware/govmomi/RELEASE.md +++ /dev/null @@ -1,225 +0,0 @@ -# How to create a `govmomi` Release on Github - -> **Note** -> -> The steps outlined in this document can only be performed by maintainers or -> administrators of this project. - -The release automation is based on Github -[Actions](https://github.com/features/actions) and has been improved over time -to simplify the experience for creating `govmomi` releases. - -The Github Actions release [workflow](.github/workflows/govmomi-release.yaml) -uses [`goreleaser`](http://goreleaser.com/) and automatically creates/pushes: - -- Release artifacts for `govc` and `vcsim` to the - [release](https://github.com/vmware/govmomi/releases) page, including - `LICENSE.txt`, `README` and `CHANGELOG` -- Docker images for `vmware/govc` and `vmware/vcsim` to Docker Hub -- Source code - -Starting with release tag `v0.29.0`, releases are not tagged on the `master` -branch anymore but a dedicated release branch, for example `release-0.29`. This -process has already been followed for patch releases and back-ports. - -> **Warning** -> -> If you create a release after the `v0.29.0` tag, start -> [here](#creating-a-release-after-v0290). To create a release with an older -> tag, e.g. cherrypick or back-port, continue -> [here](#creating-a-release-before-v0290). - -## Creating a release after Version `v0.29.0` - -The release process from `v0.29.0` has been further simplified and is done -through the Github UI. The only pre-requirement is creating a release branch, -which can be done through the Github UI or `git` CLI. - -This guide describes the CLI process. - -### Verify `master` branch is up to date with the remote - -```console -git checkout master -git fetch -avp -git diff master origin/master - -# if your local and remote branches diverge run -git pull origin/master -``` - -> **Warning** -> -> These steps assume `origin` to point to the remote -> `https://github.com/vmware/govmomi`, respectively -> `git@github.com:vmware/govmomi`. - -### Create a release branch - -For new releases, create a release branch from the most recent commit in -`master`, e.g. `release-0.30`. - -```console -export RELEASE_BRANCH=release-0.30 -git checkout -b ${RELEASE_BRANCH} -``` - -For maintenance/patch releases on **existing** release branches **after** tag -`v0.29.0` simply checkout the existing release branch and add commits to the -existing release branch. - -### Verify `make docs` and `CONTRIBUTORS` are up to date - -> **Warning** -> -> Run the following commands and commit any changes to the release branch before -> proceeding with the release. - -```console -make doc -./scripts/contributors.sh -if [ -z "$(git status --porcelain)" ]; then - echo "working directory clean: proceed with release" -else - echo "working directory dirty: please commit changes" -fi - -# perform git add && git commit ... in case there were changes -``` - -### Push the release branch - -> **Warning** -> -> Do not create a tag as this will be done by the release automation. - -The final step is pushing the new/updated release branch. - -```console -git push origin ${RELEASE_BRANCH} -``` - -### Create a release in the Github UI - -Open the `govmomi` Github [repository](https://github.com/vmware/govmomi) and -navigate to `Actions -> Workflows -> Release`. - -Click `Run Workflow` which opens a dropdown list. - -Select the new/updated branch, e.g. `release-0.30`, i.e. **not** the `master` -branch. - -Specify a semantic `tag` to associate with the release, e.g. `v0.30.0`. - -> **Warning** -> -> This tag **must not** exist or the release will fail during the validation -> phase. - -By default, a dry-run is performed to rule out most (but not all) errors during -a release. If you do not want to perform a dry-run, e.g. to finally create a -release, deselect the `Verify release workflow ...` checkbox. - -Click `Run Workflow` to kick off the workflow. - -After successful completion and if the newly created `tag` is the **latest** -(semantic version sorted) tag in the repository, a PR is automatically opened -against the `master` branch to update the `CHANGELOG`. Please review and merge -accordingly. - -## Creating a release before Version `v0.29.0` - -The release process before `v0.29.0` differs since it's based on manually -creating and pushing tags. Here, on every new tag matching `v*` pushed to the -repository a Github Action Release Workflow is executed. - -### Verify `master` branch is up to date with the remote - -```console -git checkout master -git fetch -avp -git diff master origin/master - -# if your local and remote branches diverge run -git pull origin/master -``` - -> **Warning** -> -> These steps assume `origin` to point to the remote -> `https://github.com/vmware/govmomi`, respectively -> `git@github.com:vmware/govmomi`. - -### Create a release branch - -Pick a reference (commit, branch or tag) **before** the `v0.29.0` tag and create -a release branch from there. - -The following example creates a cherrypick release (`v0.28.1`) based on the -`v0.28.0` tag. - -```console -export RELEASE_BRANCH=release-0.28 -git checkout -b ${RELEASE_BRANCH} v0.28.0 -``` - -Optionally, incorporate (cherry-pick) commits into the branch. - -> **Warning** -> -> Make sure that these commits/ranges do not contain commits after the `v0.29.0` -> tag which include release automation changes, i.e. files in `.github/workflows/`! - -### Verify `make docs` and `CONTRIBUTORS` are up to date - -> **Warning** -> -> Run the following commands and commit any changes to the release branch before -> proceeding with the release. - -```console -make doc -./scripts/contributors.sh -if [ -z "$(git status --porcelain)" ]; then - echo "working directory clean: proceed with release" -else - echo "working directory dirty: please commit changes" -fi - -# perform git add && git commit ... in case there were changes -``` - -### Set `RELEASE_VERSION` variable - -This variable is used and referenced in the subsequent commands. Set it to the -**upcoming** release version, adhering to the [semantic -versioning](https://semver.org/) scheme: - -```console -export RELEASE_VERSION=v0.28.1 -``` - -### Create the Git Tag - -```console -git tag -a ${RELEASE_VERSION} -m "Release ${RELEASE_VERSION}" -``` - -### Push the new Tag - -```console -# Will trigger Github Actions Release Workflow -git push --atomic origin ${RELEASE_BRANCH} refs/tags/${RELEASE_VERSION} -``` - -### Verify Github Action Release Workflow - -After pushing a new release tag, the status of the workflow can be inspected -[here](https://github.com/vmware/govmomi/actions/workflows/govmomi-release.yaml). - -![Release](static/release-workflow.png "Successful Release Run") - -After a successful release, a pull request is automatically created by the -Github Actions bot to update the [CHANGELOG](CHANGELOG.md). This `CHANGELOG.md` -is also generated with `git-chglog` but uses a slightly different template -(`.chglog/CHANGELOG.tpl.md`) for rendering (issue/PR refs are excluded). diff --git a/vendor/github.com/vmware/govmomi/client.go b/vendor/github.com/vmware/govmomi/client.go deleted file mode 100644 index ad49fe6bf7d..00000000000 --- a/vendor/github.com/vmware/govmomi/client.go +++ /dev/null @@ -1,136 +0,0 @@ -/* -Copyright (c) 2014-2016 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -/* -This package is the root package of the govmomi library. - -The library is structured as follows: - -Package vim25 - -The minimal usable functionality is available through the vim25 package. -It contains subpackages that contain generated types, managed objects, and all -available methods. The vim25 package is entirely independent of the other -packages in the govmomi tree -- it has no dependencies on its peers. - -The vim25 package itself contains a client structure that is -passed around throughout the entire library. It abstracts a session and its -immutable state. See the vim25 package for more information. - -Package session - -The session package contains an abstraction for the session manager that allows -a user to login and logout. It also provides access to the current session -(i.e. to determine if the user is in fact logged in) - -Package object - -The object package contains wrappers for a selection of managed objects. The -constructors of these objects all take a *vim25.Client, which they pass along -to derived objects, if applicable. - -Package govc - -The govc package contains the govc CLI. The code in this tree is not intended -to be used as a library. Any functionality that govc contains that _could_ be -used as a library function but isn't, _should_ live in a root level package. - -Other packages - -Other packages, such as "event", "guest", or "license", provide wrappers for -the respective subsystems. They are typically not needed in normal workflows so -are kept outside the object package. -*/ -package govmomi - -import ( - "context" - "net/url" - - "github.com/vmware/govmomi/property" - "github.com/vmware/govmomi/session" - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -type Client struct { - *vim25.Client - - SessionManager *session.Manager -} - -// NewClient creates a new client from a URL. The client authenticates with the -// server with username/password before returning if the URL contains user information. -func NewClient(ctx context.Context, u *url.URL, insecure bool) (*Client, error) { - soapClient := soap.NewClient(u, insecure) - vimClient, err := vim25.NewClient(ctx, soapClient) - if err != nil { - return nil, err - } - - c := &Client{ - Client: vimClient, - SessionManager: session.NewManager(vimClient), - } - - // Only login if the URL contains user information. - if u.User != nil { - err = c.Login(ctx, u.User) - if err != nil { - return nil, err - } - } - - return c, nil -} - -// Login dispatches to the SessionManager. -func (c *Client) Login(ctx context.Context, u *url.Userinfo) error { - return c.SessionManager.Login(ctx, u) -} - -// Logout dispatches to the SessionManager. -func (c *Client) Logout(ctx context.Context) error { - // Close any idle connections after logging out. - defer c.Client.CloseIdleConnections() - return c.SessionManager.Logout(ctx) -} - -// PropertyCollector returns the session's default property collector. -func (c *Client) PropertyCollector() *property.Collector { - return property.DefaultCollector(c.Client) -} - -// RetrieveOne dispatches to the Retrieve function on the default property collector. -func (c *Client) RetrieveOne(ctx context.Context, obj types.ManagedObjectReference, p []string, dst interface{}) error { - return c.PropertyCollector().RetrieveOne(ctx, obj, p, dst) -} - -// Retrieve dispatches to the Retrieve function on the default property collector. -func (c *Client) Retrieve(ctx context.Context, objs []types.ManagedObjectReference, p []string, dst interface{}) error { - return c.PropertyCollector().Retrieve(ctx, objs, p, dst) -} - -// Wait dispatches to property.Wait. -func (c *Client) Wait(ctx context.Context, obj types.ManagedObjectReference, ps []string, f func([]types.PropertyChange) bool) error { - return property.Wait(ctx, c.PropertyCollector(), obj, ps, f) -} - -// IsVC returns true if we are connected to a vCenter -func (c *Client) IsVC() bool { - return c.Client.IsVC() -} diff --git a/vendor/github.com/vmware/govmomi/find/doc.go b/vendor/github.com/vmware/govmomi/find/doc.go deleted file mode 100644 index 0c8acee0163..00000000000 --- a/vendor/github.com/vmware/govmomi/find/doc.go +++ /dev/null @@ -1,37 +0,0 @@ -/* -Copyright (c) 2014-2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -/* -Package find implements inventory listing and searching. - -The Finder is an alternative to the object.SearchIndex FindByInventoryPath() and FindChild() methods. -SearchIndex.FindByInventoryPath requires an absolute path, whereas the Finder also supports relative paths -and patterns via path.Match. -SearchIndex.FindChild requires a parent to find the child, whereas the Finder also supports an ancestor via -recursive object traversal. - -The various Finder methods accept a "path" argument, which can absolute or relative to the Folder for the object type. -The Finder supports two modes, "list" and "find". The "list" mode behaves like the "ls" command, only searching within -the immediate path. The "find" mode behaves like the "find" command, with the search starting at the immediate path but -also recursing into sub Folders relative to the Datacenter. The default mode is "list" if the given path contains a "/", -otherwise "find" mode is used. - -The exception is to use a "..." wildcard with a path to find all objects recursively underneath any root object. -For example: VirtualMachineList("/DC1/...") - -See also: https://github.com/vmware/govmomi/blob/master/govc/README.md#usage -*/ -package find diff --git a/vendor/github.com/vmware/govmomi/find/error.go b/vendor/github.com/vmware/govmomi/find/error.go deleted file mode 100644 index 684526dab76..00000000000 --- a/vendor/github.com/vmware/govmomi/find/error.go +++ /dev/null @@ -1,64 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package find - -import "fmt" - -type NotFoundError struct { - kind string - path string -} - -func (e *NotFoundError) Error() string { - return fmt.Sprintf("%s '%s' not found", e.kind, e.path) -} - -type MultipleFoundError struct { - kind string - path string -} - -func (e *MultipleFoundError) Error() string { - return fmt.Sprintf("path '%s' resolves to multiple %ss", e.path, e.kind) -} - -type DefaultNotFoundError struct { - kind string -} - -func (e *DefaultNotFoundError) Error() string { - return fmt.Sprintf("no default %s found", e.kind) -} - -type DefaultMultipleFoundError struct { - kind string -} - -func (e DefaultMultipleFoundError) Error() string { - return fmt.Sprintf("default %s resolves to multiple instances, please specify", e.kind) -} - -func toDefaultError(err error) error { - switch e := err.(type) { - case *NotFoundError: - return &DefaultNotFoundError{e.kind} - case *MultipleFoundError: - return &DefaultMultipleFoundError{e.kind} - default: - return err - } -} diff --git a/vendor/github.com/vmware/govmomi/find/finder.go b/vendor/github.com/vmware/govmomi/find/finder.go deleted file mode 100644 index 4830fc26ebc..00000000000 --- a/vendor/github.com/vmware/govmomi/find/finder.go +++ /dev/null @@ -1,1114 +0,0 @@ -/* -Copyright (c) 2014-2023 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package find - -import ( - "context" - "errors" - "path" - "strings" - - "github.com/vmware/govmomi/internal" - "github.com/vmware/govmomi/list" - "github.com/vmware/govmomi/object" - "github.com/vmware/govmomi/property" - "github.com/vmware/govmomi/view" - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/types" -) - -type Finder struct { - client *vim25.Client - r recurser - dc *object.Datacenter - si *object.SearchIndex - folders *object.DatacenterFolders -} - -func NewFinder(client *vim25.Client, all ...bool) *Finder { - props := false - if len(all) == 1 { - props = all[0] - } - - f := &Finder{ - client: client, - si: object.NewSearchIndex(client), - r: recurser{ - Collector: property.DefaultCollector(client), - All: props, - }, - } - - if len(all) == 0 { - // attempt to avoid SetDatacenter() requirement - f.dc, _ = f.DefaultDatacenter(context.Background()) - } - - return f -} - -func (f *Finder) SetDatacenter(dc *object.Datacenter) *Finder { - f.dc = dc - f.folders = nil - return f -} - -// InventoryPath composes the given object's inventory path. -// There is no vSphere property or method that provides an inventory path directly. -// This method uses the ManagedEntity.Parent field to determine the ancestry tree of the object and -// the ManagedEntity.Name field for each ancestor to compose the path. -func InventoryPath(ctx context.Context, client *vim25.Client, obj types.ManagedObjectReference) (string, error) { - entities, err := mo.Ancestors(ctx, client, client.ServiceContent.PropertyCollector, obj) - if err != nil { - return "", err - } - return internal.InventoryPath(entities), nil -} - -// findRoot makes it possible to use "find" mode with a different root path. -// Example: ResourcePoolList("/dc1/host/cluster1/...") -func (f *Finder) findRoot(ctx context.Context, root *list.Element, parts []string) bool { - if len(parts) == 0 { - return false - } - - ix := len(parts) - 1 - - if parts[ix] != "..." { - return false - } - - if ix == 0 { - return true // We already have the Object for root.Path - } - - // Lookup the Object for the new root.Path - rootPath := path.Join(root.Path, path.Join(parts[:ix]...)) - - ref, err := f.si.FindByInventoryPath(ctx, rootPath) - if err != nil || ref == nil { - // If we get an error or fail to match, fall through to find() with the original root and path - return false - } - - root.Path = rootPath - root.Object = ref - - return true -} - -func (f *Finder) find(ctx context.Context, arg string, s *spec) ([]list.Element, error) { - isPath := strings.Contains(arg, "/") - - root := list.Element{ - Object: object.NewRootFolder(f.client), - Path: "/", - } - - parts := list.ToParts(arg) - - if len(parts) > 0 { - switch parts[0] { - case "..": // Not supported; many edge case, little value - return nil, errors.New("cannot traverse up a tree") - case ".": // Relative to whatever - pivot, err := s.Relative(ctx) - if err != nil { - return nil, err - } - - root.Path, err = InventoryPath(ctx, f.client, pivot.Reference()) - if err != nil { - return nil, err - } - root.Object = pivot - parts = parts[1:] - } - } - - if s.listMode(isPath) { - if f.findRoot(ctx, &root, parts) { - parts = []string{"*"} - } else { - return f.r.List(ctx, s, root, parts) - } - } - - s.Parents = append(s.Parents, s.Nested...) - - return f.r.Find(ctx, s, root, parts) -} - -func (f *Finder) datacenter() (*object.Datacenter, error) { - if f.dc == nil { - return nil, errors.New("please specify a datacenter") - } - - return f.dc, nil -} - -// datacenterPath returns the absolute path to the Datacenter containing the given ref -func (f *Finder) datacenterPath(ctx context.Context, ref types.ManagedObjectReference) (string, error) { - mes, err := mo.Ancestors(ctx, f.client, f.client.ServiceContent.PropertyCollector, ref) - if err != nil { - return "", err - } - - // Chop leaves under the Datacenter - for i := len(mes) - 1; i > 0; i-- { - if mes[i].Self.Type == "Datacenter" { - break - } - mes = mes[:i] - } - - var p string - - for _, me := range mes { - // Skip root entity in building inventory path. - if me.Parent == nil { - continue - } - - p = p + "/" + me.Name - } - - return p, nil -} - -func (f *Finder) dcFolders(ctx context.Context) (*object.DatacenterFolders, error) { - if f.folders != nil { - return f.folders, nil - } - - dc, err := f.datacenter() - if err != nil { - return nil, err - } - - folders, err := dc.Folders(ctx) - if err != nil { - return nil, err - } - - f.folders = folders - - return f.folders, nil -} - -func (f *Finder) dcReference(_ context.Context) (object.Reference, error) { - dc, err := f.datacenter() - if err != nil { - return nil, err - } - - return dc, nil -} - -func (f *Finder) vmFolder(ctx context.Context) (object.Reference, error) { - folders, err := f.dcFolders(ctx) - if err != nil { - return nil, err - } - - return folders.VmFolder, nil -} - -func (f *Finder) hostFolder(ctx context.Context) (object.Reference, error) { - folders, err := f.dcFolders(ctx) - if err != nil { - return nil, err - } - - return folders.HostFolder, nil -} - -func (f *Finder) datastoreFolder(ctx context.Context) (object.Reference, error) { - folders, err := f.dcFolders(ctx) - if err != nil { - return nil, err - } - - return folders.DatastoreFolder, nil -} - -func (f *Finder) networkFolder(ctx context.Context) (object.Reference, error) { - folders, err := f.dcFolders(ctx) - if err != nil { - return nil, err - } - - return folders.NetworkFolder, nil -} - -func (f *Finder) rootFolder(_ context.Context) (object.Reference, error) { - return object.NewRootFolder(f.client), nil -} - -func (f *Finder) managedObjectList(ctx context.Context, path string, tl bool, include []string) ([]list.Element, error) { - fn := f.rootFolder - - if f.dc != nil { - fn = f.dcReference - } - - if path == "" { - path = "." - } - - s := &spec{ - Relative: fn, - Parents: []string{"ComputeResource", "ClusterComputeResource", "HostSystem", "VirtualApp", "StoragePod"}, - Include: include, - } - - if tl { - s.Contents = true - s.ListMode = types.NewBool(true) - } - - return f.find(ctx, path, s) -} - -// Element is deprecated, use InventoryPath() instead. -func (f *Finder) Element(ctx context.Context, ref types.ManagedObjectReference) (*list.Element, error) { - rl := func(_ context.Context) (object.Reference, error) { - return ref, nil - } - - s := &spec{ - Relative: rl, - } - - e, err := f.find(ctx, "./", s) - if err != nil { - return nil, err - } - - if len(e) == 0 { - return nil, &NotFoundError{ref.Type, ref.Value} - } - - if len(e) > 1 { - panic("ManagedObjectReference must be unique") - } - - return &e[0], nil -} - -// ObjectReference converts the given ManagedObjectReference to a type from the object package via object.NewReference -// with the object.Common.InventoryPath field set. -func (f *Finder) ObjectReference(ctx context.Context, ref types.ManagedObjectReference) (object.Reference, error) { - path, err := InventoryPath(ctx, f.client, ref) - if err != nil { - return nil, err - } - - r := object.NewReference(f.client, ref) - - type common interface { - SetInventoryPath(string) - } - - r.(common).SetInventoryPath(path) - - if f.dc != nil { - if ds, ok := r.(*object.Datastore); ok { - ds.DatacenterPath = f.dc.InventoryPath - } - } - - return r, nil -} - -func (f *Finder) ManagedObjectList(ctx context.Context, path string, include ...string) ([]list.Element, error) { - return f.managedObjectList(ctx, path, false, include) -} - -func (f *Finder) ManagedObjectListChildren(ctx context.Context, path string, include ...string) ([]list.Element, error) { - return f.managedObjectList(ctx, path, true, include) -} - -func (f *Finder) DatacenterList(ctx context.Context, path string) ([]*object.Datacenter, error) { - s := &spec{ - Relative: f.rootFolder, - Include: []string{"Datacenter"}, - } - - es, err := f.find(ctx, path, s) - if err != nil { - return nil, err - } - - var dcs []*object.Datacenter - for _, e := range es { - ref := e.Object.Reference() - if ref.Type == "Datacenter" { - dc := object.NewDatacenter(f.client, ref) - dc.InventoryPath = e.Path - dcs = append(dcs, dc) - } - } - - if len(dcs) == 0 { - return nil, &NotFoundError{"datacenter", path} - } - - return dcs, nil -} - -func (f *Finder) Datacenter(ctx context.Context, path string) (*object.Datacenter, error) { - dcs, err := f.DatacenterList(ctx, path) - if err != nil { - return nil, err - } - - if len(dcs) > 1 { - return nil, &MultipleFoundError{"datacenter", path} - } - - return dcs[0], nil -} - -func (f *Finder) DefaultDatacenter(ctx context.Context) (*object.Datacenter, error) { - dc, err := f.Datacenter(ctx, "*") - if err != nil { - return nil, toDefaultError(err) - } - - return dc, nil -} - -func (f *Finder) DatacenterOrDefault(ctx context.Context, path string) (*object.Datacenter, error) { - if path != "" { - dc, err := f.Datacenter(ctx, path) - if err != nil { - return nil, err - } - return dc, nil - } - - return f.DefaultDatacenter(ctx) -} - -func (f *Finder) DatastoreList(ctx context.Context, path string) ([]*object.Datastore, error) { - s := &spec{ - Relative: f.datastoreFolder, - Parents: []string{"StoragePod"}, - } - - es, err := f.find(ctx, path, s) - if err != nil { - return nil, err - } - - var dss []*object.Datastore - for _, e := range es { - ref := e.Object.Reference() - if ref.Type == "Datastore" { - ds := object.NewDatastore(f.client, ref) - ds.InventoryPath = e.Path - - if f.dc == nil { - // In this case SetDatacenter was not called and path is absolute - ds.DatacenterPath, err = f.datacenterPath(ctx, ref) - if err != nil { - return nil, err - } - } else { - ds.DatacenterPath = f.dc.InventoryPath - } - - dss = append(dss, ds) - } - } - - if len(dss) == 0 { - return nil, &NotFoundError{"datastore", path} - } - - return dss, nil -} - -func (f *Finder) Datastore(ctx context.Context, path string) (*object.Datastore, error) { - dss, err := f.DatastoreList(ctx, path) - if err != nil { - return nil, err - } - - if len(dss) > 1 { - return nil, &MultipleFoundError{"datastore", path} - } - - return dss[0], nil -} - -func (f *Finder) DefaultDatastore(ctx context.Context) (*object.Datastore, error) { - ds, err := f.Datastore(ctx, "*") - if err != nil { - return nil, toDefaultError(err) - } - - return ds, nil -} - -func (f *Finder) DatastoreOrDefault(ctx context.Context, path string) (*object.Datastore, error) { - if path != "" { - ds, err := f.Datastore(ctx, path) - if err != nil { - return nil, err - } - return ds, nil - } - - return f.DefaultDatastore(ctx) -} - -func (f *Finder) DatastoreClusterList(ctx context.Context, path string) ([]*object.StoragePod, error) { - s := &spec{ - Relative: f.datastoreFolder, - } - - es, err := f.find(ctx, path, s) - if err != nil { - return nil, err - } - - var sps []*object.StoragePod - for _, e := range es { - ref := e.Object.Reference() - if ref.Type == "StoragePod" { - sp := object.NewStoragePod(f.client, ref) - sp.InventoryPath = e.Path - sps = append(sps, sp) - } - } - - if len(sps) == 0 { - return nil, &NotFoundError{"datastore cluster", path} - } - - return sps, nil -} - -func (f *Finder) DatastoreCluster(ctx context.Context, path string) (*object.StoragePod, error) { - sps, err := f.DatastoreClusterList(ctx, path) - if err != nil { - return nil, err - } - - if len(sps) > 1 { - return nil, &MultipleFoundError{"datastore cluster", path} - } - - return sps[0], nil -} - -func (f *Finder) DefaultDatastoreCluster(ctx context.Context) (*object.StoragePod, error) { - sp, err := f.DatastoreCluster(ctx, "*") - if err != nil { - return nil, toDefaultError(err) - } - - return sp, nil -} - -func (f *Finder) DatastoreClusterOrDefault(ctx context.Context, path string) (*object.StoragePod, error) { - if path != "" { - sp, err := f.DatastoreCluster(ctx, path) - if err != nil { - return nil, err - } - return sp, nil - } - - return f.DefaultDatastoreCluster(ctx) -} - -func (f *Finder) ComputeResourceList(ctx context.Context, path string) ([]*object.ComputeResource, error) { - s := &spec{ - Relative: f.hostFolder, - } - - es, err := f.find(ctx, path, s) - if err != nil { - return nil, err - } - - var crs []*object.ComputeResource - for _, e := range es { - var cr *object.ComputeResource - - switch o := e.Object.(type) { - case mo.ComputeResource, mo.ClusterComputeResource: - cr = object.NewComputeResource(f.client, o.Reference()) - default: - continue - } - - cr.InventoryPath = e.Path - crs = append(crs, cr) - } - - if len(crs) == 0 { - return nil, &NotFoundError{"compute resource", path} - } - - return crs, nil -} - -func (f *Finder) ComputeResource(ctx context.Context, path string) (*object.ComputeResource, error) { - crs, err := f.ComputeResourceList(ctx, path) - if err != nil { - return nil, err - } - - if len(crs) > 1 { - return nil, &MultipleFoundError{"compute resource", path} - } - - return crs[0], nil -} - -func (f *Finder) DefaultComputeResource(ctx context.Context) (*object.ComputeResource, error) { - cr, err := f.ComputeResource(ctx, "*") - if err != nil { - return nil, toDefaultError(err) - } - - return cr, nil -} - -func (f *Finder) ComputeResourceOrDefault(ctx context.Context, path string) (*object.ComputeResource, error) { - if path != "" { - cr, err := f.ComputeResource(ctx, path) - if err != nil { - return nil, err - } - return cr, nil - } - - return f.DefaultComputeResource(ctx) -} - -func (f *Finder) ClusterComputeResourceList(ctx context.Context, path string) ([]*object.ClusterComputeResource, error) { - s := &spec{ - Relative: f.hostFolder, - } - - es, err := f.find(ctx, path, s) - if err != nil { - return nil, err - } - - var ccrs []*object.ClusterComputeResource - for _, e := range es { - var ccr *object.ClusterComputeResource - - switch o := e.Object.(type) { - case mo.ClusterComputeResource: - ccr = object.NewClusterComputeResource(f.client, o.Reference()) - default: - continue - } - - ccr.InventoryPath = e.Path - ccrs = append(ccrs, ccr) - } - - if len(ccrs) == 0 { - return nil, &NotFoundError{"cluster", path} - } - - return ccrs, nil -} - -func (f *Finder) DefaultClusterComputeResource(ctx context.Context) (*object.ClusterComputeResource, error) { - cr, err := f.ClusterComputeResource(ctx, "*") - if err != nil { - return nil, toDefaultError(err) - } - - return cr, nil -} - -func (f *Finder) ClusterComputeResource(ctx context.Context, path string) (*object.ClusterComputeResource, error) { - ccrs, err := f.ClusterComputeResourceList(ctx, path) - if err != nil { - return nil, err - } - - if len(ccrs) > 1 { - return nil, &MultipleFoundError{"cluster", path} - } - - return ccrs[0], nil -} - -func (f *Finder) ClusterComputeResourceOrDefault(ctx context.Context, path string) (*object.ClusterComputeResource, error) { - if path != "" { - cr, err := f.ClusterComputeResource(ctx, path) - if err != nil { - return nil, err - } - return cr, nil - } - - return f.DefaultClusterComputeResource(ctx) -} - -func (f *Finder) HostSystemList(ctx context.Context, path string) ([]*object.HostSystem, error) { - s := &spec{ - Relative: f.hostFolder, - Parents: []string{"ComputeResource", "ClusterComputeResource"}, - Include: []string{"HostSystem"}, - } - - es, err := f.find(ctx, path, s) - if err != nil { - return nil, err - } - - var hss []*object.HostSystem - for _, e := range es { - var hs *object.HostSystem - - switch o := e.Object.(type) { - case mo.HostSystem: - hs = object.NewHostSystem(f.client, o.Reference()) - - hs.InventoryPath = e.Path - hss = append(hss, hs) - case mo.ComputeResource, mo.ClusterComputeResource: - cr := object.NewComputeResource(f.client, o.Reference()) - - cr.InventoryPath = e.Path - - hosts, err := cr.Hosts(ctx) - if err != nil { - return nil, err - } - - hss = append(hss, hosts...) - } - } - - if len(hss) == 0 { - return nil, &NotFoundError{"host", path} - } - - return hss, nil -} - -func (f *Finder) HostSystem(ctx context.Context, path string) (*object.HostSystem, error) { - hss, err := f.HostSystemList(ctx, path) - if err != nil { - return nil, err - } - - if len(hss) > 1 { - return nil, &MultipleFoundError{"host", path} - } - - return hss[0], nil -} - -func (f *Finder) DefaultHostSystem(ctx context.Context) (*object.HostSystem, error) { - hs, err := f.HostSystem(ctx, "*") - if err != nil { - return nil, toDefaultError(err) - } - - return hs, nil -} - -func (f *Finder) HostSystemOrDefault(ctx context.Context, path string) (*object.HostSystem, error) { - if path != "" { - hs, err := f.HostSystem(ctx, path) - if err != nil { - return nil, err - } - return hs, nil - } - - return f.DefaultHostSystem(ctx) -} - -func (f *Finder) NetworkList(ctx context.Context, path string) ([]object.NetworkReference, error) { - s := &spec{ - Relative: f.networkFolder, - } - - es, err := f.find(ctx, path, s) - if err != nil { - return nil, err - } - - var ns []object.NetworkReference - for _, e := range es { - ref := e.Object.Reference() - switch ref.Type { - case "Network": - r := object.NewNetwork(f.client, ref) - r.InventoryPath = e.Path - ns = append(ns, r) - case "OpaqueNetwork": - r := object.NewOpaqueNetwork(f.client, ref) - r.InventoryPath = e.Path - ns = append(ns, r) - case "DistributedVirtualPortgroup": - r := object.NewDistributedVirtualPortgroup(f.client, ref) - r.InventoryPath = e.Path - ns = append(ns, r) - case "DistributedVirtualSwitch", "VmwareDistributedVirtualSwitch": - r := object.NewDistributedVirtualSwitch(f.client, ref) - r.InventoryPath = e.Path - ns = append(ns, r) - } - } - - if len(ns) == 0 { - net, nerr := f.networkByID(ctx, path) - if nerr == nil { - return []object.NetworkReference{net}, nil - } - - return nil, &NotFoundError{"network", path} - } - - return ns, nil -} - -// Network finds a NetworkReference using a Name, Inventory Path, ManagedObject ID, Logical Switch UUID or Segment ID. -// With standard vSphere networking, Portgroups cannot have the same name within the same network folder. -// With NSX, Portgroups can have the same name, even within the same Switch. In this case, using an inventory path -// results in a MultipleFoundError. A MOID, switch UUID or segment ID can be used instead, as both are unique. -// See also: https://kb.vmware.com/s/article/79872#Duplicate_names -// Examples: -// - Name: "dvpg-1" -// - Inventory Path: "vds-1/dvpg-1" -// - Cluster Path: "/dc-1/host/cluster-1/dvpg-1" -// - ManagedObject ID: "DistributedVirtualPortgroup:dvportgroup-53" -// - Logical Switch UUID: "da2a59b8-2450-4cb2-b5cc-79c4c1d2144c" -// - Segment ID: "/infra/segments/vnet_ce50e69b-1784-4a14-9206-ffd7f1f146f7" -func (f *Finder) Network(ctx context.Context, path string) (object.NetworkReference, error) { - networks, err := f.NetworkList(ctx, path) - if err != nil { - return nil, err - } - - if len(networks) > 1 { - return nil, &MultipleFoundError{"network", path} - } - - return networks[0], nil -} - -func (f *Finder) networkByID(ctx context.Context, path string) (object.NetworkReference, error) { - if ref := object.ReferenceFromString(path); ref != nil { - // This is a MOID - return object.NewReference(f.client, *ref).(object.NetworkReference), nil - } - - kind := []string{"DistributedVirtualPortgroup"} - - m := view.NewManager(f.client) - v, err := m.CreateContainerView(ctx, f.client.ServiceContent.RootFolder, kind, true) - if err != nil { - return nil, err - } - defer v.Destroy(ctx) - - filter := property.Filter{ - "config.logicalSwitchUuid": path, - "config.segmentId": path, - } - - refs, err := v.FindAny(ctx, kind, filter) - if err != nil { - return nil, err - } - - if len(refs) == 0 { - return nil, &NotFoundError{"network", path} - } - if len(refs) > 1 { - return nil, &MultipleFoundError{"network", path} - } - - return object.NewReference(f.client, refs[0]).(object.NetworkReference), nil -} - -func (f *Finder) DefaultNetwork(ctx context.Context) (object.NetworkReference, error) { - network, err := f.Network(ctx, "*") - if err != nil { - return nil, toDefaultError(err) - } - - return network, nil -} - -func (f *Finder) NetworkOrDefault(ctx context.Context, path string) (object.NetworkReference, error) { - if path != "" { - network, err := f.Network(ctx, path) - if err != nil { - return nil, err - } - return network, nil - } - - return f.DefaultNetwork(ctx) -} - -func (f *Finder) ResourcePoolList(ctx context.Context, path string) ([]*object.ResourcePool, error) { - s := &spec{ - Relative: f.hostFolder, - Parents: []string{"ComputeResource", "ClusterComputeResource", "VirtualApp"}, - Nested: []string{"ResourcePool"}, - Contents: true, - } - - es, err := f.find(ctx, path, s) - if err != nil { - return nil, err - } - - var rps []*object.ResourcePool - for _, e := range es { - var rp *object.ResourcePool - - switch o := e.Object.(type) { - case mo.ResourcePool: - rp = object.NewResourcePool(f.client, o.Reference()) - rp.InventoryPath = e.Path - rps = append(rps, rp) - } - } - - if len(rps) == 0 { - return nil, &NotFoundError{"resource pool", path} - } - - return rps, nil -} - -func (f *Finder) ResourcePool(ctx context.Context, path string) (*object.ResourcePool, error) { - rps, err := f.ResourcePoolList(ctx, path) - if err != nil { - return nil, err - } - - if len(rps) > 1 { - return nil, &MultipleFoundError{"resource pool", path} - } - - return rps[0], nil -} - -func (f *Finder) DefaultResourcePool(ctx context.Context) (*object.ResourcePool, error) { - rp, err := f.ResourcePool(ctx, "*/Resources") - if err != nil { - return nil, toDefaultError(err) - } - - return rp, nil -} - -func (f *Finder) ResourcePoolOrDefault(ctx context.Context, path string) (*object.ResourcePool, error) { - if path != "" { - rp, err := f.ResourcePool(ctx, path) - if err != nil { - return nil, err - } - return rp, nil - } - - return f.DefaultResourcePool(ctx) -} - -// ResourcePoolListAll combines ResourcePoolList and VirtualAppList -// VirtualAppList is only called if ResourcePoolList does not find any pools with the given path. -func (f *Finder) ResourcePoolListAll(ctx context.Context, path string) ([]*object.ResourcePool, error) { - pools, err := f.ResourcePoolList(ctx, path) - if err != nil { - if _, ok := err.(*NotFoundError); !ok { - return nil, err - } - - vapps, _ := f.VirtualAppList(ctx, path) - - if len(vapps) == 0 { - return nil, err - } - - for _, vapp := range vapps { - pools = append(pools, vapp.ResourcePool) - } - } - - return pools, nil -} - -func (f *Finder) DefaultFolder(ctx context.Context) (*object.Folder, error) { - ref, err := f.vmFolder(ctx) - if err != nil { - return nil, toDefaultError(err) - } - folder := object.NewFolder(f.client, ref.Reference()) - - // Set the InventoryPath of the newly created folder object - // The default foler becomes the datacenter's "vm" folder. - // The "vm" folder always exists for a datacenter. It cannot be - // removed or replaced - folder.SetInventoryPath(path.Join(f.dc.InventoryPath, "vm")) - - return folder, nil -} - -func (f *Finder) FolderOrDefault(ctx context.Context, path string) (*object.Folder, error) { - if path != "" { - folder, err := f.Folder(ctx, path) - if err != nil { - return nil, err - } - return folder, nil - } - return f.DefaultFolder(ctx) -} - -func (f *Finder) VirtualMachineList(ctx context.Context, path string) ([]*object.VirtualMachine, error) { - s := &spec{ - Relative: f.vmFolder, - Parents: []string{"VirtualApp"}, - } - - es, err := f.find(ctx, path, s) - if err != nil { - return nil, err - } - - var vms []*object.VirtualMachine - for _, e := range es { - switch o := e.Object.(type) { - case mo.VirtualMachine: - vm := object.NewVirtualMachine(f.client, o.Reference()) - vm.InventoryPath = e.Path - vms = append(vms, vm) - } - } - - if len(vms) == 0 { - return nil, &NotFoundError{"vm", path} - } - - return vms, nil -} - -func (f *Finder) VirtualMachine(ctx context.Context, path string) (*object.VirtualMachine, error) { - vms, err := f.VirtualMachineList(ctx, path) - if err != nil { - return nil, err - } - - if len(vms) > 1 { - return nil, &MultipleFoundError{"vm", path} - } - - return vms[0], nil -} - -func (f *Finder) VirtualAppList(ctx context.Context, path string) ([]*object.VirtualApp, error) { - s := &spec{ - Relative: f.vmFolder, - } - - es, err := f.find(ctx, path, s) - if err != nil { - return nil, err - } - - var apps []*object.VirtualApp - for _, e := range es { - switch o := e.Object.(type) { - case mo.VirtualApp: - app := object.NewVirtualApp(f.client, o.Reference()) - app.InventoryPath = e.Path - apps = append(apps, app) - } - } - - if len(apps) == 0 { - return nil, &NotFoundError{"app", path} - } - - return apps, nil -} - -func (f *Finder) VirtualApp(ctx context.Context, path string) (*object.VirtualApp, error) { - apps, err := f.VirtualAppList(ctx, path) - if err != nil { - return nil, err - } - - if len(apps) > 1 { - return nil, &MultipleFoundError{"app", path} - } - - return apps[0], nil -} - -func (f *Finder) FolderList(ctx context.Context, path string) ([]*object.Folder, error) { - es, err := f.ManagedObjectList(ctx, path) - if err != nil { - return nil, err - } - - var folders []*object.Folder - - for _, e := range es { - switch o := e.Object.(type) { - case mo.Folder, mo.StoragePod: - folder := object.NewFolder(f.client, o.Reference()) - folder.InventoryPath = e.Path - folders = append(folders, folder) - case *object.Folder: - // RootFolder - folders = append(folders, o) - } - } - - if len(folders) == 0 { - return nil, &NotFoundError{"folder", path} - } - - return folders, nil -} - -func (f *Finder) Folder(ctx context.Context, path string) (*object.Folder, error) { - folders, err := f.FolderList(ctx, path) - if err != nil { - return nil, err - } - - if len(folders) > 1 { - return nil, &MultipleFoundError{"folder", path} - } - - return folders[0], nil -} diff --git a/vendor/github.com/vmware/govmomi/find/recurser.go b/vendor/github.com/vmware/govmomi/find/recurser.go deleted file mode 100644 index 80d958a264f..00000000000 --- a/vendor/github.com/vmware/govmomi/find/recurser.go +++ /dev/null @@ -1,253 +0,0 @@ -/* -Copyright (c) 2014-2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package find - -import ( - "context" - "os" - "path" - "strings" - - "github.com/vmware/govmomi/list" - "github.com/vmware/govmomi/object" - "github.com/vmware/govmomi/property" - "github.com/vmware/govmomi/vim25/mo" -) - -// spec is used to specify per-search configuration, independent of the Finder instance. -type spec struct { - // Relative returns the root object to resolve Relative paths (starts with ".") - Relative func(ctx context.Context) (object.Reference, error) - - // ListMode can be used to optionally force "ls" behavior, rather than "find" behavior - ListMode *bool - - // Contents configures the Recurser to list the Contents of traversable leaf nodes. - // This is typically set to true when used from the ls command, where listing - // a folder means listing its Contents. This is typically set to false for - // commands that take managed entities that are not folders as input. - Contents bool - - // Parents specifies the types which can contain the child types being searched for. - // for example, when searching for a HostSystem, parent types can be - // "ComputeResource" or "ClusterComputeResource". - Parents []string - - // Include specifies which types to be included in the results, used only in "find" mode. - Include []string - - // Nested should be set to types that can be Nested, used only in "find" mode. - Nested []string - - // ChildType avoids traversing into folders that can't contain the Include types, used only in "find" mode. - ChildType []string -} - -func (s *spec) traversable(o mo.Reference) bool { - ref := o.Reference() - - switch ref.Type { - case "Datacenter": - if len(s.Include) == 1 && s.Include[0] == "Datacenter" { - // No point in traversing deeper as Datacenters cannot be nested - return false - } - return true - case "Folder": - if f, ok := o.(mo.Folder); ok { - // TODO: Not making use of this yet, but here we can optimize when searching the entire - // inventory across Datacenters for specific types, for example: 'govc ls -t VirtualMachine /**' - // should not traverse into a Datacenter's host, network or datatore folders. - if !s.traversableChildType(f.ChildType) { - return false - } - } - - return true - } - - for _, kind := range s.Parents { - if kind == ref.Type { - return true - } - } - - return false -} - -func (s *spec) traversableChildType(ctypes []string) bool { - if len(s.ChildType) == 0 { - return true - } - - for _, t := range ctypes { - for _, c := range s.ChildType { - if t == c { - return true - } - } - } - - return false -} - -func (s *spec) wanted(e list.Element) bool { - if len(s.Include) == 0 { - return true - } - - w := e.Object.Reference().Type - - for _, kind := range s.Include { - if w == kind { - return true - } - } - - return false -} - -// listMode is a global option to revert to the original Finder behavior, -// disabling the newer "find" mode. -var listMode = os.Getenv("GOVMOMI_FINDER_LIST_MODE") == "true" - -func (s *spec) listMode(isPath bool) bool { - if listMode { - return true - } - - if s.ListMode != nil { - return *s.ListMode - } - - return isPath -} - -type recurser struct { - Collector *property.Collector - - // All configures the recurses to fetch complete objects for leaf nodes. - All bool -} - -func (r recurser) List(ctx context.Context, s *spec, root list.Element, parts []string) ([]list.Element, error) { - if len(parts) == 0 { - // Include non-traversable leaf elements in result. For example, consider - // the pattern "./vm/my-vm-*", where the pattern should match the VMs and - // not try to traverse them. - // - // Include traversable leaf elements in result, if the contents - // field is set to false. - // - if !s.Contents || !s.traversable(root.Object.Reference()) { - return []list.Element{root}, nil - } - } - - k := list.Lister{ - Collector: r.Collector, - Reference: root.Object.Reference(), - Prefix: root.Path, - } - - if r.All && len(parts) < 2 { - k.All = true - } - - in, err := k.List(ctx) - if err != nil { - return nil, err - } - - // This folder is a leaf as far as the glob goes. - if len(parts) == 0 { - return in, nil - } - - all := parts - pattern := parts[0] - parts = parts[1:] - - var out []list.Element - for _, e := range in { - matched, err := path.Match(pattern, path.Base(e.Path)) - if err != nil { - return nil, err - } - - if !matched { - matched = strings.HasSuffix(e.Path, "/"+path.Join(all...)) - if matched { - // name contains a '/' - out = append(out, e) - } - - continue - } - - nres, err := r.List(ctx, s, e, parts) - if err != nil { - return nil, err - } - - out = append(out, nres...) - } - - return out, nil -} - -func (r recurser) Find(ctx context.Context, s *spec, root list.Element, parts []string) ([]list.Element, error) { - var out []list.Element - - if len(parts) > 0 { - pattern := parts[0] - matched, err := path.Match(pattern, path.Base(root.Path)) - if err != nil { - return nil, err - } - - if matched && s.wanted(root) { - out = append(out, root) - } - } - - if !s.traversable(root.Object) { - return out, nil - } - - k := list.Lister{ - Collector: r.Collector, - Reference: root.Object.Reference(), - Prefix: root.Path, - } - - in, err := k.List(ctx) - if err != nil { - return nil, err - } - - for _, e := range in { - nres, err := r.Find(ctx, s, e, parts) - if err != nil { - return nil, err - } - - out = append(out, nres...) - } - - return out, nil -} diff --git a/vendor/github.com/vmware/govmomi/history/collector.go b/vendor/github.com/vmware/govmomi/history/collector.go deleted file mode 100644 index 9b25ea85a14..00000000000 --- a/vendor/github.com/vmware/govmomi/history/collector.go +++ /dev/null @@ -1,91 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package history - -import ( - "context" - - "github.com/vmware/govmomi/property" - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/types" -) - -type Collector struct { - r types.ManagedObjectReference - c *vim25.Client -} - -func NewCollector(c *vim25.Client, ref types.ManagedObjectReference) *Collector { - return &Collector{ - r: ref, - c: c, - } -} - -// Reference returns the managed object reference of this collector -func (c Collector) Reference() types.ManagedObjectReference { - return c.r -} - -// Client returns the vim25 client used by this collector -func (c Collector) Client() *vim25.Client { - return c.c -} - -// Properties wraps property.DefaultCollector().RetrieveOne() and returns -// properties for the specified managed object reference -func (c Collector) Properties(ctx context.Context, r types.ManagedObjectReference, ps []string, dst interface{}) error { - return property.DefaultCollector(c.c).RetrieveOne(ctx, r, ps, dst) -} - -func (c Collector) Destroy(ctx context.Context) error { - req := types.DestroyCollector{ - This: c.r, - } - - _, err := methods.DestroyCollector(ctx, c.c, &req) - return err -} - -func (c Collector) Reset(ctx context.Context) error { - req := types.ResetCollector{ - This: c.r, - } - - _, err := methods.ResetCollector(ctx, c.c, &req) - return err -} - -func (c Collector) Rewind(ctx context.Context) error { - req := types.RewindCollector{ - This: c.r, - } - - _, err := methods.RewindCollector(ctx, c.c, &req) - return err -} - -func (c Collector) SetPageSize(ctx context.Context, maxCount int32) error { - req := types.SetCollectorPageSize{ - This: c.r, - MaxCount: maxCount, - } - - _, err := methods.SetCollectorPageSize(ctx, c.c, &req) - return err -} diff --git a/vendor/github.com/vmware/govmomi/internal/helpers.go b/vendor/github.com/vmware/govmomi/internal/helpers.go deleted file mode 100644 index b3eafeadfd9..00000000000 --- a/vendor/github.com/vmware/govmomi/internal/helpers.go +++ /dev/null @@ -1,63 +0,0 @@ -/* -Copyright (c) 2020 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package internal - -import ( - "net" - "path" - - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/types" -) - -// InventoryPath composed of entities by Name -func InventoryPath(entities []mo.ManagedEntity) string { - val := "/" - - for _, entity := range entities { - // Skip root folder in building inventory path. - if entity.Parent == nil { - continue - } - val = path.Join(val, entity.Name) - } - - return val -} - -func HostSystemManagementIPs(config []types.VirtualNicManagerNetConfig) []net.IP { - var ips []net.IP - - for _, nc := range config { - if nc.NicType != string(types.HostVirtualNicManagerNicTypeManagement) { - continue - } - for ix := range nc.CandidateVnic { - for _, selectedVnicKey := range nc.SelectedVnic { - if nc.CandidateVnic[ix].Key != selectedVnicKey { - continue - } - ip := net.ParseIP(nc.CandidateVnic[ix].Spec.Ip.IpAddress) - if ip != nil { - ips = append(ips, ip) - } - } - } - } - - return ips -} diff --git a/vendor/github.com/vmware/govmomi/internal/methods.go b/vendor/github.com/vmware/govmomi/internal/methods.go deleted file mode 100644 index 95ccee8d247..00000000000 --- a/vendor/github.com/vmware/govmomi/internal/methods.go +++ /dev/null @@ -1,123 +0,0 @@ -/* -Copyright (c) 2014-2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package internal - -import ( - "context" - - "github.com/vmware/govmomi/vim25/soap" -) - -type RetrieveDynamicTypeManagerBody struct { - Req *RetrieveDynamicTypeManagerRequest `xml:"urn:vim25 RetrieveDynamicTypeManager"` - Res *RetrieveDynamicTypeManagerResponse `xml:"urn:vim25 RetrieveDynamicTypeManagerResponse"` - Fault_ *soap.Fault -} - -func (b *RetrieveDynamicTypeManagerBody) Fault() *soap.Fault { return b.Fault_ } - -func RetrieveDynamicTypeManager(ctx context.Context, r soap.RoundTripper, req *RetrieveDynamicTypeManagerRequest) (*RetrieveDynamicTypeManagerResponse, error) { - var reqBody, resBody RetrieveDynamicTypeManagerBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RetrieveManagedMethodExecuterBody struct { - Req *RetrieveManagedMethodExecuterRequest `xml:"urn:vim25 RetrieveManagedMethodExecuter"` - Res *RetrieveManagedMethodExecuterResponse `xml:"urn:vim25 RetrieveManagedMethodExecuterResponse"` - Fault_ *soap.Fault -} - -func (b *RetrieveManagedMethodExecuterBody) Fault() *soap.Fault { return b.Fault_ } - -func RetrieveManagedMethodExecuter(ctx context.Context, r soap.RoundTripper, req *RetrieveManagedMethodExecuterRequest) (*RetrieveManagedMethodExecuterResponse, error) { - var reqBody, resBody RetrieveManagedMethodExecuterBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DynamicTypeMgrQueryMoInstancesBody struct { - Req *DynamicTypeMgrQueryMoInstancesRequest `xml:"urn:vim25 DynamicTypeMgrQueryMoInstances"` - Res *DynamicTypeMgrQueryMoInstancesResponse `xml:"urn:vim25 DynamicTypeMgrQueryMoInstancesResponse"` - Fault_ *soap.Fault -} - -func (b *DynamicTypeMgrQueryMoInstancesBody) Fault() *soap.Fault { return b.Fault_ } - -func DynamicTypeMgrQueryMoInstances(ctx context.Context, r soap.RoundTripper, req *DynamicTypeMgrQueryMoInstancesRequest) (*DynamicTypeMgrQueryMoInstancesResponse, error) { - var reqBody, resBody DynamicTypeMgrQueryMoInstancesBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DynamicTypeMgrQueryTypeInfoBody struct { - Req *DynamicTypeMgrQueryTypeInfoRequest `xml:"urn:vim25 DynamicTypeMgrQueryTypeInfo"` - Res *DynamicTypeMgrQueryTypeInfoResponse `xml:"urn:vim25 DynamicTypeMgrQueryTypeInfoResponse"` - Fault_ *soap.Fault -} - -func (b *DynamicTypeMgrQueryTypeInfoBody) Fault() *soap.Fault { return b.Fault_ } - -func DynamicTypeMgrQueryTypeInfo(ctx context.Context, r soap.RoundTripper, req *DynamicTypeMgrQueryTypeInfoRequest) (*DynamicTypeMgrQueryTypeInfoResponse, error) { - var reqBody, resBody DynamicTypeMgrQueryTypeInfoBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ExecuteSoapBody struct { - Req *ExecuteSoapRequest `xml:"urn:vim25 ExecuteSoap"` - Res *ExecuteSoapResponse `xml:"urn:vim25 ExecuteSoapResponse"` - Fault_ *soap.Fault -} - -func (b *ExecuteSoapBody) Fault() *soap.Fault { return b.Fault_ } - -func ExecuteSoap(ctx context.Context, r soap.RoundTripper, req *ExecuteSoapRequest) (*ExecuteSoapResponse, error) { - var reqBody, resBody ExecuteSoapBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} diff --git a/vendor/github.com/vmware/govmomi/internal/types.go b/vendor/github.com/vmware/govmomi/internal/types.go deleted file mode 100644 index b84103b89bb..00000000000 --- a/vendor/github.com/vmware/govmomi/internal/types.go +++ /dev/null @@ -1,270 +0,0 @@ -/* -Copyright (c) 2014 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package internal - -import ( - "reflect" - - "github.com/vmware/govmomi/vim25/types" -) - -type DynamicTypeMgrQueryMoInstancesRequest struct { - This types.ManagedObjectReference `xml:"_this"` - FilterSpec BaseDynamicTypeMgrFilterSpec `xml:"filterSpec,omitempty,typeattr"` -} - -type DynamicTypeMgrQueryMoInstancesResponse struct { - Returnval []DynamicTypeMgrMoInstance `xml:"urn:vim25 returnval"` -} - -type DynamicTypeEnumTypeInfo struct { - types.DynamicData - - Name string `xml:"name"` - WsdlName string `xml:"wsdlName"` - Version string `xml:"version"` - Value []string `xml:"value,omitempty"` - Annotation []DynamicTypeMgrAnnotation `xml:"annotation,omitempty"` -} - -func init() { - types.Add("DynamicTypeEnumTypeInfo", reflect.TypeOf((*DynamicTypeEnumTypeInfo)(nil)).Elem()) -} - -type DynamicTypeMgrAllTypeInfoRequest struct { - types.DynamicData - - ManagedTypeInfo []DynamicTypeMgrManagedTypeInfo `xml:"managedTypeInfo,omitempty"` - EnumTypeInfo []DynamicTypeEnumTypeInfo `xml:"enumTypeInfo,omitempty"` - DataTypeInfo []DynamicTypeMgrDataTypeInfo `xml:"dataTypeInfo,omitempty"` -} - -func init() { - types.Add("DynamicTypeMgrAllTypeInfo", reflect.TypeOf((*DynamicTypeMgrAllTypeInfoRequest)(nil)).Elem()) -} - -type DynamicTypeMgrAnnotation struct { - types.DynamicData - - Name string `xml:"name"` - Parameter []string `xml:"parameter,omitempty"` -} - -func init() { - types.Add("DynamicTypeMgrAnnotation", reflect.TypeOf((*DynamicTypeMgrAnnotation)(nil)).Elem()) -} - -type DynamicTypeMgrDataTypeInfo struct { - types.DynamicData - - Name string `xml:"name"` - WsdlName string `xml:"wsdlName"` - Version string `xml:"version"` - Base []string `xml:"base,omitempty"` - Property []DynamicTypeMgrPropertyTypeInfo `xml:"property,omitempty"` - Annotation []DynamicTypeMgrAnnotation `xml:"annotation,omitempty"` -} - -func init() { - types.Add("DynamicTypeMgrDataTypeInfo", reflect.TypeOf((*DynamicTypeMgrDataTypeInfo)(nil)).Elem()) -} - -func (b *DynamicTypeMgrFilterSpec) GetDynamicTypeMgrFilterSpec() *DynamicTypeMgrFilterSpec { return b } - -type BaseDynamicTypeMgrFilterSpec interface { - GetDynamicTypeMgrFilterSpec() *DynamicTypeMgrFilterSpec -} - -type DynamicTypeMgrFilterSpec struct { - types.DynamicData -} - -func init() { - types.Add("DynamicTypeMgrFilterSpec", reflect.TypeOf((*DynamicTypeMgrFilterSpec)(nil)).Elem()) -} - -type DynamicTypeMgrManagedTypeInfo struct { - types.DynamicData - - Name string `xml:"name"` - WsdlName string `xml:"wsdlName"` - Version string `xml:"version"` - Base []string `xml:"base,omitempty"` - Property []DynamicTypeMgrPropertyTypeInfo `xml:"property,omitempty"` - Method []DynamicTypeMgrMethodTypeInfo `xml:"method,omitempty"` - Annotation []DynamicTypeMgrAnnotation `xml:"annotation,omitempty"` -} - -func init() { - types.Add("DynamicTypeMgrManagedTypeInfo", reflect.TypeOf((*DynamicTypeMgrManagedTypeInfo)(nil)).Elem()) -} - -type DynamicTypeMgrMethodTypeInfo struct { - types.DynamicData - - Name string `xml:"name"` - WsdlName string `xml:"wsdlName"` - Version string `xml:"version"` - ParamTypeInfo []DynamicTypeMgrParamTypeInfo `xml:"paramTypeInfo,omitempty"` - ReturnTypeInfo *DynamicTypeMgrParamTypeInfo `xml:"returnTypeInfo,omitempty"` - Fault []string `xml:"fault,omitempty"` - PrivId string `xml:"privId,omitempty"` - Annotation []DynamicTypeMgrAnnotation `xml:"annotation,omitempty"` -} - -func init() { - types.Add("DynamicTypeMgrMethodTypeInfo", reflect.TypeOf((*DynamicTypeMgrMethodTypeInfo)(nil)).Elem()) -} - -type DynamicTypeMgrMoFilterSpec struct { - DynamicTypeMgrFilterSpec - - Id string `xml:"id,omitempty"` - TypeSubstr string `xml:"typeSubstr,omitempty"` -} - -func init() { - types.Add("DynamicTypeMgrMoFilterSpec", reflect.TypeOf((*DynamicTypeMgrMoFilterSpec)(nil)).Elem()) -} - -type DynamicTypeMgrMoInstance struct { - types.DynamicData - - Id string `xml:"id"` - MoType string `xml:"moType"` -} - -func init() { - types.Add("DynamicTypeMgrMoInstance", reflect.TypeOf((*DynamicTypeMgrMoInstance)(nil)).Elem()) -} - -type DynamicTypeMgrParamTypeInfo struct { - types.DynamicData - - Name string `xml:"name"` - Version string `xml:"version"` - Type string `xml:"type"` - PrivId string `xml:"privId,omitempty"` - Annotation []DynamicTypeMgrAnnotation `xml:"annotation,omitempty"` -} - -func init() { - types.Add("DynamicTypeMgrParamTypeInfo", reflect.TypeOf((*DynamicTypeMgrParamTypeInfo)(nil)).Elem()) -} - -type DynamicTypeMgrPropertyTypeInfo struct { - types.DynamicData - - Name string `xml:"name"` - Version string `xml:"version"` - Type string `xml:"type"` - PrivId string `xml:"privId,omitempty"` - MsgIdFormat string `xml:"msgIdFormat,omitempty"` - Annotation []DynamicTypeMgrAnnotation `xml:"annotation,omitempty"` -} - -type DynamicTypeMgrQueryTypeInfoRequest struct { - This types.ManagedObjectReference `xml:"_this"` - FilterSpec BaseDynamicTypeMgrFilterSpec `xml:"filterSpec,omitempty,typeattr"` -} - -type DynamicTypeMgrQueryTypeInfoResponse struct { - Returnval DynamicTypeMgrAllTypeInfoRequest `xml:"urn:vim25 returnval"` -} - -func init() { - types.Add("DynamicTypeMgrPropertyTypeInfo", reflect.TypeOf((*DynamicTypeMgrPropertyTypeInfo)(nil)).Elem()) -} - -type DynamicTypeMgrTypeFilterSpec struct { - DynamicTypeMgrFilterSpec - - TypeSubstr string `xml:"typeSubstr,omitempty"` -} - -func init() { - types.Add("DynamicTypeMgrTypeFilterSpec", reflect.TypeOf((*DynamicTypeMgrTypeFilterSpec)(nil)).Elem()) -} - -type ReflectManagedMethodExecuterSoapArgument struct { - types.DynamicData - - Name string `xml:"name"` - Val string `xml:"val"` -} - -func init() { - types.Add("ReflectManagedMethodExecuterSoapArgument", reflect.TypeOf((*ReflectManagedMethodExecuterSoapArgument)(nil)).Elem()) -} - -type ReflectManagedMethodExecuterSoapFault struct { - types.DynamicData - - FaultMsg string `xml:"faultMsg"` - FaultDetail string `xml:"faultDetail,omitempty"` -} - -func init() { - types.Add("ReflectManagedMethodExecuterSoapFault", reflect.TypeOf((*ReflectManagedMethodExecuterSoapFault)(nil)).Elem()) -} - -type ReflectManagedMethodExecuterSoapResult struct { - types.DynamicData - - Response string `xml:"response,omitempty"` - Fault *ReflectManagedMethodExecuterSoapFault `xml:"fault,omitempty"` -} - -type RetrieveDynamicTypeManagerRequest struct { - This types.ManagedObjectReference `xml:"_this"` -} - -type RetrieveDynamicTypeManagerResponse struct { - Returnval *InternalDynamicTypeManager `xml:"urn:vim25 returnval"` -} - -type RetrieveManagedMethodExecuterRequest struct { - This types.ManagedObjectReference `xml:"_this"` -} - -func init() { - types.Add("RetrieveManagedMethodExecuter", reflect.TypeOf((*RetrieveManagedMethodExecuterRequest)(nil)).Elem()) -} - -type RetrieveManagedMethodExecuterResponse struct { - Returnval *ReflectManagedMethodExecuter `xml:"urn:vim25 returnval"` -} - -type InternalDynamicTypeManager struct { - types.ManagedObjectReference -} - -type ReflectManagedMethodExecuter struct { - types.ManagedObjectReference -} - -type ExecuteSoapRequest struct { - This types.ManagedObjectReference `xml:"_this"` - Moid string `xml:"moid"` - Version string `xml:"version"` - Method string `xml:"method"` - Argument []ReflectManagedMethodExecuterSoapArgument `xml:"argument,omitempty"` -} - -type ExecuteSoapResponse struct { - Returnval *ReflectManagedMethodExecuterSoapResult `xml:"urn:vim25 returnval"` -} diff --git a/vendor/github.com/vmware/govmomi/internal/version/version.go b/vendor/github.com/vmware/govmomi/internal/version/version.go deleted file mode 100644 index dc29e12bf35..00000000000 --- a/vendor/github.com/vmware/govmomi/internal/version/version.go +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright (c) 2014-2022 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package version - -const ( - // ClientName is the name of this SDK - ClientName = "govmomi" - - // ClientVersion is the version of this SDK - ClientVersion = "0.30.6" -) diff --git a/vendor/github.com/vmware/govmomi/list/lister.go b/vendor/github.com/vmware/govmomi/list/lister.go deleted file mode 100644 index 92a40e8ba87..00000000000 --- a/vendor/github.com/vmware/govmomi/list/lister.go +++ /dev/null @@ -1,630 +0,0 @@ -/* -Copyright (c) 2014-2023 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package list - -import ( - "context" - "fmt" - "path" - "reflect" - - "github.com/vmware/govmomi/property" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -type Element struct { - Path string - Object mo.Reference -} - -func (e Element) String() string { - return fmt.Sprintf("%s @ %s", e.Object.Reference(), e.Path) -} - -func ToElement(r mo.Reference, prefix string) Element { - var name string - - // Comments about types to be expected in folders copied from the - // documentation of the Folder managed object: - // http://pubs.vmware.com/vsphere-55/topic/com.vmware.wssdk.apiref.doc/vim.Folder.html - switch m := r.(type) { - case mo.Folder: - name = m.Name - case mo.StoragePod: - name = m.Name - - // { "vim.Datacenter" } - Identifies the root folder and its descendant - // folders. Data center folders can contain child data center folders and - // Datacenter managed objects. Datacenter objects contain virtual machine, - // compute resource, network entity, and datastore folders. - case mo.Datacenter: - name = m.Name - - // { "vim.Virtualmachine", "vim.VirtualApp" } - Identifies a virtual machine - // folder. A virtual machine folder may contain child virtual machine - // folders. It also can contain VirtualMachine managed objects, templates, - // and VirtualApp managed objects. - case mo.VirtualMachine: - name = m.Name - case mo.VirtualApp: - name = m.Name - - // { "vim.ComputeResource" } - Identifies a compute resource - // folder, which contains child compute resource folders and ComputeResource - // hierarchies. - case mo.ComputeResource: - name = m.Name - case mo.ClusterComputeResource: - name = m.Name - case mo.HostSystem: - name = m.Name - case mo.ResourcePool: - name = m.Name - - // { "vim.Network" } - Identifies a network entity folder. - // Network entity folders on a vCenter Server can contain Network, - // DistributedVirtualSwitch, and DistributedVirtualPortgroup managed objects. - // Network entity folders on an ESXi host can contain only Network objects. - case mo.Network: - name = m.Name - case mo.OpaqueNetwork: - name = m.Name - case mo.DistributedVirtualSwitch: - name = m.Name - case mo.DistributedVirtualPortgroup: - name = m.Name - case mo.VmwareDistributedVirtualSwitch: - name = m.Name - - // { "vim.Datastore" } - Identifies a datastore folder. Datastore folders can - // contain child datastore folders and Datastore managed objects. - case mo.Datastore: - name = m.Name - - default: - panic("not implemented for type " + reflect.TypeOf(r).String()) - } - - e := Element{ - Path: path.Join(prefix, name), - Object: r, - } - - return e -} - -type Lister struct { - Collector *property.Collector - Reference types.ManagedObjectReference - Prefix string - All bool -} - -func (l Lister) retrieveProperties(ctx context.Context, req types.RetrieveProperties, dst *[]interface{}) error { - res, err := l.Collector.RetrieveProperties(ctx, req) - if err != nil { - return err - } - - // Instead of using mo.LoadRetrievePropertiesResponse, use a custom loop to - // iterate over the results and ignore entries that have properties that - // could not be retrieved (a non-empty `missingSet` property). Since the - // returned objects are enumerated by vSphere in the first place, any object - // that has a non-empty `missingSet` property is indicative of a race - // condition in vSphere where the object was enumerated initially, but was - // removed before its properties could be collected. - for _, p := range res.Returnval { - v, err := mo.ObjectContentToType(p) - if err != nil { - // Ignore fault if it is ManagedObjectNotFound - if soap.IsVimFault(err) { - switch soap.ToVimFault(err).(type) { - case *types.ManagedObjectNotFound: - continue - } - } - - return err - } - - *dst = append(*dst, v) - } - - return nil -} - -func (l Lister) List(ctx context.Context) ([]Element, error) { - switch l.Reference.Type { - case "Folder", "StoragePod": - return l.ListFolder(ctx) - case "Datacenter": - return l.ListDatacenter(ctx) - case "ComputeResource", "ClusterComputeResource": - // Treat ComputeResource and ClusterComputeResource as one and the same. - // It doesn't matter from the perspective of the lister. - return l.ListComputeResource(ctx) - case "ResourcePool": - return l.ListResourcePool(ctx) - case "HostSystem": - return l.ListHostSystem(ctx) - case "VirtualApp": - return l.ListVirtualApp(ctx) - case "VmwareDistributedVirtualSwitch", "DistributedVirtualSwitch": - return l.ListDistributedVirtualSwitch(ctx) - default: - return nil, fmt.Errorf("cannot traverse type " + l.Reference.Type) - } -} - -func (l Lister) ListFolder(ctx context.Context) ([]Element, error) { - spec := types.PropertyFilterSpec{ - ObjectSet: []types.ObjectSpec{ - { - Obj: l.Reference, - SelectSet: []types.BaseSelectionSpec{ - &types.TraversalSpec{ - Path: "childEntity", - Skip: types.NewBool(false), - Type: "Folder", - }, - }, - Skip: types.NewBool(true), - }, - }, - } - - // Retrieve all objects that we can deal with - childTypes := []string{ - "Folder", - "Datacenter", - "VirtualApp", - "VirtualMachine", - "Network", - "ComputeResource", - "ClusterComputeResource", - "Datastore", - "DistributedVirtualSwitch", - } - - for _, t := range childTypes { - pspec := types.PropertySpec{ - Type: t, - } - - if l.All { - pspec.All = types.NewBool(true) - } else { - pspec.PathSet = []string{"name"} - - // Additional basic properties. - switch t { - case "Folder": - pspec.PathSet = append(pspec.PathSet, "childType") - case "ComputeResource", "ClusterComputeResource": - // The ComputeResource and ClusterComputeResource are dereferenced in - // the ResourcePoolFlag. Make sure they always have their resourcePool - // field populated. - pspec.PathSet = append(pspec.PathSet, "resourcePool") - } - } - - spec.PropSet = append(spec.PropSet, pspec) - } - - req := types.RetrieveProperties{ - SpecSet: []types.PropertyFilterSpec{spec}, - } - - var dst []interface{} - - err := l.retrieveProperties(ctx, req, &dst) - if err != nil { - return nil, err - } - - es := []Element{} - for _, v := range dst { - es = append(es, ToElement(v.(mo.Reference), l.Prefix)) - } - - return es, nil -} - -func (l Lister) ListDatacenter(ctx context.Context) ([]Element, error) { - ospec := types.ObjectSpec{ - Obj: l.Reference, - Skip: types.NewBool(true), - } - - // Include every datastore folder in the select set - fields := []string{ - "vmFolder", - "hostFolder", - "datastoreFolder", - "networkFolder", - } - - for _, f := range fields { - tspec := types.TraversalSpec{ - Path: f, - Skip: types.NewBool(false), - Type: "Datacenter", - } - - ospec.SelectSet = append(ospec.SelectSet, &tspec) - } - - pspec := types.PropertySpec{ - Type: "Folder", - } - - if l.All { - pspec.All = types.NewBool(true) - } else { - pspec.PathSet = []string{"name", "childType"} - } - - req := types.RetrieveProperties{ - SpecSet: []types.PropertyFilterSpec{ - { - ObjectSet: []types.ObjectSpec{ospec}, - PropSet: []types.PropertySpec{pspec}, - }, - }, - } - - var dst []interface{} - - err := l.retrieveProperties(ctx, req, &dst) - if err != nil { - return nil, err - } - - es := []Element{} - for _, v := range dst { - es = append(es, ToElement(v.(mo.Reference), l.Prefix)) - } - - return es, nil -} - -func (l Lister) ListComputeResource(ctx context.Context) ([]Element, error) { - ospec := types.ObjectSpec{ - Obj: l.Reference, - Skip: types.NewBool(true), - } - - fields := []string{ - "host", - "network", - "resourcePool", - } - - for _, f := range fields { - tspec := types.TraversalSpec{ - Path: f, - Skip: types.NewBool(false), - Type: "ComputeResource", - } - - ospec.SelectSet = append(ospec.SelectSet, &tspec) - } - - childTypes := []string{ - "HostSystem", - "Network", - "ResourcePool", - } - - var pspecs []types.PropertySpec - for _, t := range childTypes { - pspec := types.PropertySpec{ - Type: t, - } - - if l.All { - pspec.All = types.NewBool(true) - } else { - pspec.PathSet = []string{"name"} - } - - pspecs = append(pspecs, pspec) - } - - req := types.RetrieveProperties{ - SpecSet: []types.PropertyFilterSpec{ - { - ObjectSet: []types.ObjectSpec{ospec}, - PropSet: pspecs, - }, - }, - } - - var dst []interface{} - - err := l.retrieveProperties(ctx, req, &dst) - if err != nil { - return nil, err - } - - es := []Element{} - for _, v := range dst { - es = append(es, ToElement(v.(mo.Reference), l.Prefix)) - } - - return es, nil -} - -func (l Lister) ListResourcePool(ctx context.Context) ([]Element, error) { - ospec := types.ObjectSpec{ - Obj: l.Reference, - Skip: types.NewBool(true), - } - - fields := []string{ - "resourcePool", - } - - for _, f := range fields { - tspec := types.TraversalSpec{ - Path: f, - Skip: types.NewBool(false), - Type: "ResourcePool", - } - - ospec.SelectSet = append(ospec.SelectSet, &tspec) - } - - childTypes := []string{ - "ResourcePool", - } - - var pspecs []types.PropertySpec - for _, t := range childTypes { - pspec := types.PropertySpec{ - Type: t, - } - - if l.All { - pspec.All = types.NewBool(true) - } else { - pspec.PathSet = []string{"name"} - } - - pspecs = append(pspecs, pspec) - } - - req := types.RetrieveProperties{ - SpecSet: []types.PropertyFilterSpec{ - { - ObjectSet: []types.ObjectSpec{ospec}, - PropSet: pspecs, - }, - }, - } - - var dst []interface{} - - err := l.retrieveProperties(ctx, req, &dst) - if err != nil { - return nil, err - } - - es := []Element{} - for _, v := range dst { - es = append(es, ToElement(v.(mo.Reference), l.Prefix)) - } - - return es, nil -} - -func (l Lister) ListHostSystem(ctx context.Context) ([]Element, error) { - ospec := types.ObjectSpec{ - Obj: l.Reference, - Skip: types.NewBool(true), - } - - fields := []string{ - "datastore", - "network", - "vm", - } - - for _, f := range fields { - tspec := types.TraversalSpec{ - Path: f, - Skip: types.NewBool(false), - Type: "HostSystem", - } - - ospec.SelectSet = append(ospec.SelectSet, &tspec) - } - - childTypes := []string{ - "Datastore", - "Network", - "VirtualMachine", - } - - var pspecs []types.PropertySpec - for _, t := range childTypes { - pspec := types.PropertySpec{ - Type: t, - } - - if l.All { - pspec.All = types.NewBool(true) - } else { - pspec.PathSet = []string{"name"} - } - - pspecs = append(pspecs, pspec) - } - - req := types.RetrieveProperties{ - SpecSet: []types.PropertyFilterSpec{ - { - ObjectSet: []types.ObjectSpec{ospec}, - PropSet: pspecs, - }, - }, - } - - var dst []interface{} - - err := l.retrieveProperties(ctx, req, &dst) - if err != nil { - return nil, err - } - - es := []Element{} - for _, v := range dst { - es = append(es, ToElement(v.(mo.Reference), l.Prefix)) - } - - return es, nil -} - -func (l Lister) ListDistributedVirtualSwitch(ctx context.Context) ([]Element, error) { - ospec := types.ObjectSpec{ - Obj: l.Reference, - Skip: types.NewBool(true), - } - - fields := []string{ - "portgroup", - } - - for _, f := range fields { - tspec := types.TraversalSpec{ - Path: f, - Skip: types.NewBool(false), - Type: "DistributedVirtualSwitch", - } - - ospec.SelectSet = append(ospec.SelectSet, &tspec) - } - - childTypes := []string{ - "DistributedVirtualPortgroup", - } - - var pspecs []types.PropertySpec - for _, t := range childTypes { - pspec := types.PropertySpec{ - Type: t, - } - - if l.All { - pspec.All = types.NewBool(true) - } else { - pspec.PathSet = []string{"name"} - } - - pspecs = append(pspecs, pspec) - } - - req := types.RetrieveProperties{ - SpecSet: []types.PropertyFilterSpec{ - { - ObjectSet: []types.ObjectSpec{ospec}, - PropSet: pspecs, - }, - }, - } - - var dst []interface{} - - err := l.retrieveProperties(ctx, req, &dst) - if err != nil { - return nil, err - } - - es := []Element{} - for _, v := range dst { - es = append(es, ToElement(v.(mo.Reference), l.Prefix)) - } - - return es, nil -} - -func (l Lister) ListVirtualApp(ctx context.Context) ([]Element, error) { - ospec := types.ObjectSpec{ - Obj: l.Reference, - Skip: types.NewBool(true), - } - - fields := []string{ - "resourcePool", - "vm", - } - - for _, f := range fields { - tspec := types.TraversalSpec{ - Path: f, - Skip: types.NewBool(false), - Type: "VirtualApp", - } - - ospec.SelectSet = append(ospec.SelectSet, &tspec) - } - - childTypes := []string{ - "ResourcePool", - "VirtualMachine", - } - - var pspecs []types.PropertySpec - for _, t := range childTypes { - pspec := types.PropertySpec{ - Type: t, - } - - if l.All { - pspec.All = types.NewBool(true) - } else { - pspec.PathSet = []string{"name"} - } - - pspecs = append(pspecs, pspec) - } - - req := types.RetrieveProperties{ - SpecSet: []types.PropertyFilterSpec{ - { - ObjectSet: []types.ObjectSpec{ospec}, - PropSet: pspecs, - }, - }, - } - - var dst []interface{} - - err := l.retrieveProperties(ctx, req, &dst) - if err != nil { - return nil, err - } - - es := []Element{} - for _, v := range dst { - es = append(es, ToElement(v.(mo.Reference), l.Prefix)) - } - - return es, nil -} diff --git a/vendor/github.com/vmware/govmomi/list/path.go b/vendor/github.com/vmware/govmomi/list/path.go deleted file mode 100644 index f3a10652015..00000000000 --- a/vendor/github.com/vmware/govmomi/list/path.go +++ /dev/null @@ -1,44 +0,0 @@ -/* -Copyright (c) 2014 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package list - -import ( - "path" - "strings" -) - -func ToParts(p string) []string { - p = path.Clean(p) - if p == "/" { - return []string{} - } - - if len(p) > 0 { - // Prefix ./ if relative - if p[0] != '/' && p[0] != '.' { - p = "./" + p - } - } - - ps := strings.Split(p, "/") - if ps[0] == "" { - // Start at root - ps = ps[1:] - } - - return ps -} diff --git a/vendor/github.com/vmware/govmomi/lookup/client.go b/vendor/github.com/vmware/govmomi/lookup/client.go deleted file mode 100644 index 4cc73e0d338..00000000000 --- a/vendor/github.com/vmware/govmomi/lookup/client.go +++ /dev/null @@ -1,159 +0,0 @@ -/* -Copyright (c) 2018 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package lookup - -import ( - "context" - "crypto/x509" - "encoding/base64" - "log" - "net/url" - - "github.com/vmware/govmomi/lookup/methods" - "github.com/vmware/govmomi/lookup/types" - "github.com/vmware/govmomi/object" - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/soap" - vim "github.com/vmware/govmomi/vim25/types" -) - -const ( - Namespace = "lookup" - Version = "2.0" - Path = "/lookupservice" + vim25.Path -) - -var ( - ServiceInstance = vim.ManagedObjectReference{ - Type: "LookupServiceInstance", - Value: "ServiceInstance", - } -) - -// Client is a soap.Client targeting the SSO Lookup Service API endpoint. -type Client struct { - *soap.Client - - RoundTripper soap.RoundTripper - - ServiceContent types.LookupServiceContent -} - -// NewClient returns a client targeting the SSO Lookup Service API endpoint. -func NewClient(ctx context.Context, c *vim25.Client) (*Client, error) { - // PSC may be external, attempt to derive from sts.uri - path := &url.URL{Path: Path} - if c.ServiceContent.Setting != nil { - m := object.NewOptionManager(c, *c.ServiceContent.Setting) - opts, err := m.Query(ctx, "config.vpxd.sso.sts.uri") - if err == nil && len(opts) == 1 { - u, err := url.Parse(opts[0].GetOptionValue().Value.(string)) - if err == nil { - path.Scheme = u.Scheme - path.Host = u.Host - } - } - } - - sc := c.Client.NewServiceClient(path.String(), Namespace) - sc.Version = Version - - req := types.RetrieveServiceContent{ - This: ServiceInstance, - } - - res, err := methods.RetrieveServiceContent(ctx, sc, &req) - if err != nil { - return nil, err - } - - return &Client{sc, sc, res.Returnval}, nil -} - -// RoundTrip dispatches to the RoundTripper field. -func (c *Client) RoundTrip(ctx context.Context, req, res soap.HasFault) error { - return c.RoundTripper.RoundTrip(ctx, req, res) -} - -func (c *Client) List(ctx context.Context, filter *types.LookupServiceRegistrationFilter) ([]types.LookupServiceRegistrationInfo, error) { - req := types.List{ - This: *c.ServiceContent.ServiceRegistration, - FilterCriteria: filter, - } - - res, err := methods.List(ctx, c, &req) - if err != nil { - return nil, err - } - return res.Returnval, nil -} - -func (c *Client) SiteID(ctx context.Context) (string, error) { - req := types.GetSiteId{ - This: *c.ServiceContent.ServiceRegistration, - } - - res, err := methods.GetSiteId(ctx, c, &req) - if err != nil { - return "", err - } - return res.Returnval, nil -} - -// EndpointURL uses the Lookup Service to find the endpoint URL and thumbprint for the given filter. -// If the endpoint is found, its TLS certificate is also added to the vim25.Client's trusted host thumbprints. -// If the Lookup Service is not available, the given path is returned as the default. -func EndpointURL(ctx context.Context, c *vim25.Client, path string, filter *types.LookupServiceRegistrationFilter) string { - if lu, err := NewClient(ctx, c); err == nil { - info, _ := lu.List(ctx, filter) - if len(info) != 0 && len(info[0].ServiceEndpoints) != 0 { - endpoint := &info[0].ServiceEndpoints[0] - path = endpoint.Url - - if u, err := url.Parse(path); err == nil { - // Set thumbprint only for endpoints on hosts outside this vCenter. - // Platform Services may live on multiple hosts. - if c.URL().Host != u.Host && c.Thumbprint(u.Host) == "" { - c.SetThumbprint(u.Host, endpointThumbprint(endpoint)) - } - } - } - } - return path -} - -// endpointThumbprint converts the base64 encoded endpoint certificate to a SHA1 thumbprint. -func endpointThumbprint(endpoint *types.LookupServiceRegistrationEndpoint) string { - if len(endpoint.SslTrust) == 0 { - return "" - } - enc := endpoint.SslTrust[0] - - b, err := base64.StdEncoding.DecodeString(enc) - if err != nil { - log.Printf("base64.Decode(%q): %s", enc, err) - return "" - } - - cert, err := x509.ParseCertificate(b) - if err != nil { - log.Printf("x509.ParseCertificate(%q): %s", enc, err) - return "" - } - - return soap.ThumbprintSHA1(cert) -} diff --git a/vendor/github.com/vmware/govmomi/lookup/methods/methods.go b/vendor/github.com/vmware/govmomi/lookup/methods/methods.go deleted file mode 100644 index 794dfc84b2c..00000000000 --- a/vendor/github.com/vmware/govmomi/lookup/methods/methods.go +++ /dev/null @@ -1,224 +0,0 @@ -/* -Copyright (c) 2014-2018 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package methods - -import ( - "context" - - "github.com/vmware/govmomi/lookup/types" - "github.com/vmware/govmomi/vim25/soap" -) - -type CreateBody struct { - Req *types.Create `xml:"urn:lookup Create,omitempty"` - Res *types.CreateResponse `xml:"urn:lookup CreateResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateBody) Fault() *soap.Fault { return b.Fault_ } - -func Create(ctx context.Context, r soap.RoundTripper, req *types.Create) (*types.CreateResponse, error) { - var reqBody, resBody CreateBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DeleteBody struct { - Req *types.Delete `xml:"urn:lookup Delete,omitempty"` - Res *types.DeleteResponse `xml:"urn:lookup DeleteResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DeleteBody) Fault() *soap.Fault { return b.Fault_ } - -func Delete(ctx context.Context, r soap.RoundTripper, req *types.Delete) (*types.DeleteResponse, error) { - var reqBody, resBody DeleteBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type GetBody struct { - Req *types.Get `xml:"urn:lookup Get,omitempty"` - Res *types.GetResponse `xml:"urn:lookup GetResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *GetBody) Fault() *soap.Fault { return b.Fault_ } - -func Get(ctx context.Context, r soap.RoundTripper, req *types.Get) (*types.GetResponse, error) { - var reqBody, resBody GetBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type GetLocaleBody struct { - Req *types.GetLocale `xml:"urn:lookup GetLocale,omitempty"` - Res *types.GetLocaleResponse `xml:"urn:lookup GetLocaleResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *GetLocaleBody) Fault() *soap.Fault { return b.Fault_ } - -func GetLocale(ctx context.Context, r soap.RoundTripper, req *types.GetLocale) (*types.GetLocaleResponse, error) { - var reqBody, resBody GetLocaleBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type GetSiteIdBody struct { - Req *types.GetSiteId `xml:"urn:lookup GetSiteId,omitempty"` - Res *types.GetSiteIdResponse `xml:"urn:lookup GetSiteIdResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *GetSiteIdBody) Fault() *soap.Fault { return b.Fault_ } - -func GetSiteId(ctx context.Context, r soap.RoundTripper, req *types.GetSiteId) (*types.GetSiteIdResponse, error) { - var reqBody, resBody GetSiteIdBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ListBody struct { - Req *types.List `xml:"urn:lookup List,omitempty"` - Res *types.ListResponse `xml:"urn:lookup ListResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ListBody) Fault() *soap.Fault { return b.Fault_ } - -func List(ctx context.Context, r soap.RoundTripper, req *types.List) (*types.ListResponse, error) { - var reqBody, resBody ListBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RetrieveHaBackupConfigurationBody struct { - Req *types.RetrieveHaBackupConfiguration `xml:"urn:lookup RetrieveHaBackupConfiguration,omitempty"` - Res *types.RetrieveHaBackupConfigurationResponse `xml:"urn:lookup RetrieveHaBackupConfigurationResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RetrieveHaBackupConfigurationBody) Fault() *soap.Fault { return b.Fault_ } - -func RetrieveHaBackupConfiguration(ctx context.Context, r soap.RoundTripper, req *types.RetrieveHaBackupConfiguration) (*types.RetrieveHaBackupConfigurationResponse, error) { - var reqBody, resBody RetrieveHaBackupConfigurationBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RetrieveServiceContentBody struct { - Req *types.RetrieveServiceContent `xml:"urn:lookup RetrieveServiceContent,omitempty"` - Res *types.RetrieveServiceContentResponse `xml:"urn:lookup RetrieveServiceContentResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RetrieveServiceContentBody) Fault() *soap.Fault { return b.Fault_ } - -func RetrieveServiceContent(ctx context.Context, r soap.RoundTripper, req *types.RetrieveServiceContent) (*types.RetrieveServiceContentResponse, error) { - var reqBody, resBody RetrieveServiceContentBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type SetBody struct { - Req *types.Set `xml:"urn:lookup Set,omitempty"` - Res *types.SetResponse `xml:"urn:lookup SetResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *SetBody) Fault() *soap.Fault { return b.Fault_ } - -func Set(ctx context.Context, r soap.RoundTripper, req *types.Set) (*types.SetResponse, error) { - var reqBody, resBody SetBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type SetLocaleBody struct { - Req *types.SetLocale `xml:"urn:lookup SetLocale,omitempty"` - Res *types.SetLocaleResponse `xml:"urn:lookup SetLocaleResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *SetLocaleBody) Fault() *soap.Fault { return b.Fault_ } - -func SetLocale(ctx context.Context, r soap.RoundTripper, req *types.SetLocale) (*types.SetLocaleResponse, error) { - var reqBody, resBody SetLocaleBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} diff --git a/vendor/github.com/vmware/govmomi/lookup/simulator/registration_info.go b/vendor/github.com/vmware/govmomi/lookup/simulator/registration_info.go deleted file mode 100644 index 4ec697112b0..00000000000 --- a/vendor/github.com/vmware/govmomi/lookup/simulator/registration_info.go +++ /dev/null @@ -1,139 +0,0 @@ -/* -Copyright (c) 2018 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "github.com/google/uuid" - - "github.com/vmware/govmomi/lookup" - "github.com/vmware/govmomi/lookup/types" - "github.com/vmware/govmomi/simulator" - "github.com/vmware/govmomi/vim25" -) - -var ( - siteID = "vcsim" -) - -// registrationInfo returns a ServiceRegistration populated with vcsim's OptionManager settings. -// The complete list can be captured using: govc sso.service.ls -dump -func registrationInfo() []types.LookupServiceRegistrationInfo { - vc := simulator.Map.Get(vim25.ServiceInstance).(*simulator.ServiceInstance) - setting := simulator.Map.OptionManager().Setting - sm := simulator.Map.SessionManager() - opts := make(map[string]string, len(setting)) - - for _, o := range setting { - opt := o.GetOptionValue() - if val, ok := opt.Value.(string); ok { - opts[opt.Key] = val - } - } - - trust := []string{""} - if sm.TLSCert != nil { - trust[0] = sm.TLSCert() - } - sdk := opts["vcsim.server.url"] + vim25.Path - admin := opts["config.vpxd.sso.default.admin"] - owner := opts["config.vpxd.sso.solutionUser.name"] - instance := opts["VirtualCenter.InstanceName"] - - // Real PSC has 30+ services by default, we just provide a few that are useful for vmomi interaction.. - info := []types.LookupServiceRegistrationInfo{ - { - LookupServiceRegistrationCommonServiceInfo: types.LookupServiceRegistrationCommonServiceInfo{ - LookupServiceRegistrationMutableServiceInfo: types.LookupServiceRegistrationMutableServiceInfo{ - ServiceVersion: lookup.Version, - ServiceEndpoints: []types.LookupServiceRegistrationEndpoint{ - { - Url: opts["config.vpxd.sso.sts.uri"], - EndpointType: types.LookupServiceRegistrationEndpointType{ - Protocol: "wsTrust", - Type: "com.vmware.cis.cs.identity.sso", - }, - SslTrust: trust, - }, - }, - }, - OwnerId: admin, - ServiceType: types.LookupServiceRegistrationServiceType{ - Product: "com.vmware.cis", - Type: "cs.identity", - }, - }, - ServiceId: siteID + ":" + uuid.New().String(), - SiteId: siteID, - }, - { - LookupServiceRegistrationCommonServiceInfo: types.LookupServiceRegistrationCommonServiceInfo{ - LookupServiceRegistrationMutableServiceInfo: types.LookupServiceRegistrationMutableServiceInfo{ - ServiceVersion: vim25.Version, - ServiceEndpoints: []types.LookupServiceRegistrationEndpoint{ - { - Url: sdk, - EndpointType: types.LookupServiceRegistrationEndpointType{ - Protocol: "vmomi", - Type: "com.vmware.vim", - }, - SslTrust: trust, - EndpointAttributes: []types.LookupServiceRegistrationAttribute{ - { - Key: "cis.common.ep.localurl", - Value: sdk, - }, - }, - }, - }, - ServiceAttributes: []types.LookupServiceRegistrationAttribute{ - { - Key: "com.vmware.cis.cm.GroupInternalId", - Value: "com.vmware.vim.vcenter", - }, - { - Key: "com.vmware.vim.vcenter.instanceName", - Value: instance, - }, - { - Key: "com.vmware.cis.cm.ControlScript", - Value: "service-control-default-vmon", - }, - { - Key: "com.vmware.cis.cm.HostId", - Value: uuid.New().String(), - }, - }, - ServiceNameResourceKey: "AboutInfo.vpx.name", - ServiceDescriptionResourceKey: "AboutInfo.vpx.name", - }, - OwnerId: owner, - ServiceType: types.LookupServiceRegistrationServiceType{ - Product: "com.vmware.cis", - Type: "vcenterserver", - }, - NodeId: uuid.New().String(), - }, - ServiceId: vc.Content.About.InstanceUuid, - SiteId: siteID, - }, - } - - sts := info[0] - sts.ServiceType.Type = "sso:sts" // obsolete service type, but still used by PowerCLI - - return append(info, sts) -} diff --git a/vendor/github.com/vmware/govmomi/lookup/simulator/simulator.go b/vendor/github.com/vmware/govmomi/lookup/simulator/simulator.go deleted file mode 100644 index d452f2f6672..00000000000 --- a/vendor/github.com/vmware/govmomi/lookup/simulator/simulator.go +++ /dev/null @@ -1,177 +0,0 @@ -/* -Copyright (c) 2018 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "sync" - - "github.com/vmware/govmomi/lookup" - "github.com/vmware/govmomi/lookup/methods" - "github.com/vmware/govmomi/lookup/types" - "github.com/vmware/govmomi/simulator" - "github.com/vmware/govmomi/vim25/soap" - vim "github.com/vmware/govmomi/vim25/types" -) - -var content = types.LookupServiceContent{ - LookupService: vim.ManagedObjectReference{Type: "LookupLookupService", Value: "lookupService"}, - ServiceRegistration: &vim.ManagedObjectReference{Type: "LookupServiceRegistration", Value: "ServiceRegistration"}, - DeploymentInformationService: vim.ManagedObjectReference{Type: "LookupDeploymentInformationService", Value: "deploymentInformationService"}, - L10n: vim.ManagedObjectReference{Type: "LookupL10n", Value: "l10n"}, -} - -func init() { - simulator.RegisterEndpoint(func(s *simulator.Service, r *simulator.Registry) { - if r.IsVPX() { - s.RegisterSDK(New()) - } - }) -} - -func New() *simulator.Registry { - r := simulator.NewRegistry() - r.Namespace = lookup.Namespace - r.Path = lookup.Path - - r.Put(&ServiceInstance{ - ManagedObjectReference: lookup.ServiceInstance, - Content: content, - register: func() { - r.Put(&ServiceRegistration{ - ManagedObjectReference: *content.ServiceRegistration, - Info: registrationInfo(), - }) - }, - }) - - return r -} - -type ServiceInstance struct { - vim.ManagedObjectReference - - Content types.LookupServiceContent - - instance sync.Once - register func() -} - -func (s *ServiceInstance) RetrieveServiceContent(_ *types.RetrieveServiceContent) soap.HasFault { - // defer register to this point to ensure we can include vcsim's cert in ServiceEndpoints.SslTrust - // TODO: we should be able to register within New(), but this is the only place that currently depends on vcsim's cert. - s.instance.Do(s.register) - - return &methods.RetrieveServiceContentBody{ - Res: &types.RetrieveServiceContentResponse{ - Returnval: s.Content, - }, - } -} - -type ServiceRegistration struct { - vim.ManagedObjectReference - - Info []types.LookupServiceRegistrationInfo -} - -func (s *ServiceRegistration) GetSiteId(_ *types.GetSiteId) soap.HasFault { - return &methods.GetSiteIdBody{ - Res: &types.GetSiteIdResponse{ - Returnval: siteID, - }, - } -} - -func matchServiceType(filter, info *types.LookupServiceRegistrationServiceType) bool { - if filter.Product != "" { - if filter.Product != info.Product { - return false - } - } - - if filter.Type != "" { - if filter.Type != info.Type { - return false - } - } - - return true -} - -func matchEndpointType(filter, info *types.LookupServiceRegistrationEndpointType) bool { - if filter.Protocol != "" { - if filter.Protocol != info.Protocol { - return false - } - } - - if filter.Type != "" { - if filter.Type != info.Type { - return false - } - } - - return true -} - -func (s *ServiceRegistration) List(req *types.List) soap.HasFault { - body := new(methods.ListBody) - filter := req.FilterCriteria - - if filter == nil { - // This is what a real PSC returns if FilterCriteria is nil. - body.Fault_ = simulator.Fault("LookupFaultServiceFault", &vim.SystemError{ - Reason: "Invalid fault", - }) - return body - } - body.Res = new(types.ListResponse) - - for _, info := range s.Info { - if filter.SiteId != "" { - if filter.SiteId != info.SiteId { - continue - } - } - if filter.NodeId != "" { - if filter.NodeId != info.NodeId { - continue - } - } - if filter.ServiceType != nil { - if !matchServiceType(filter.ServiceType, &info.ServiceType) { - continue - } - } - if filter.EndpointType != nil { - services := info.ServiceEndpoints - info.ServiceEndpoints = nil - for _, service := range services { - if !matchEndpointType(filter.EndpointType, &service.EndpointType) { - continue - } - info.ServiceEndpoints = append(info.ServiceEndpoints, service) - } - if len(info.ServiceEndpoints) == 0 { - continue - } - } - body.Res.Returnval = append(body.Res.Returnval, info) - } - - return body -} diff --git a/vendor/github.com/vmware/govmomi/lookup/types/types.go b/vendor/github.com/vmware/govmomi/lookup/types/types.go deleted file mode 100644 index d70289dd103..00000000000 --- a/vendor/github.com/vmware/govmomi/lookup/types/types.go +++ /dev/null @@ -1,412 +0,0 @@ -/* -Copyright (c) 2014-2018 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package types - -import ( - "reflect" - - "github.com/vmware/govmomi/vim25/types" - vim "github.com/vmware/govmomi/vim25/types" -) - -type Create CreateRequestType - -func init() { - types.Add("lookup:Create", reflect.TypeOf((*Create)(nil)).Elem()) -} - -type CreateRequestType struct { - This vim.ManagedObjectReference `xml:"_this"` - ServiceId string `xml:"serviceId"` - CreateSpec LookupServiceRegistrationCreateSpec `xml:"createSpec"` -} - -func init() { - types.Add("lookup:CreateRequestType", reflect.TypeOf((*CreateRequestType)(nil)).Elem()) -} - -type CreateResponse struct { -} - -type Delete DeleteRequestType - -func init() { - types.Add("lookup:Delete", reflect.TypeOf((*Delete)(nil)).Elem()) -} - -type DeleteRequestType struct { - This vim.ManagedObjectReference `xml:"_this"` - ServiceId string `xml:"serviceId"` -} - -func init() { - types.Add("lookup:DeleteRequestType", reflect.TypeOf((*DeleteRequestType)(nil)).Elem()) -} - -type DeleteResponse struct { -} - -type Get GetRequestType - -func init() { - types.Add("lookup:Get", reflect.TypeOf((*Get)(nil)).Elem()) -} - -type GetLocale GetLocaleRequestType - -func init() { - types.Add("lookup:GetLocale", reflect.TypeOf((*GetLocale)(nil)).Elem()) -} - -type GetLocaleRequestType struct { - This vim.ManagedObjectReference `xml:"_this"` -} - -func init() { - types.Add("lookup:GetLocaleRequestType", reflect.TypeOf((*GetLocaleRequestType)(nil)).Elem()) -} - -type GetLocaleResponse struct { - Returnval string `xml:"returnval"` -} - -type GetRequestType struct { - This vim.ManagedObjectReference `xml:"_this"` - ServiceId string `xml:"serviceId"` -} - -func init() { - types.Add("lookup:GetRequestType", reflect.TypeOf((*GetRequestType)(nil)).Elem()) -} - -type GetResponse struct { - Returnval LookupServiceRegistrationInfo `xml:"returnval"` -} - -type GetSiteId GetSiteIdRequestType - -func init() { - types.Add("lookup:GetSiteId", reflect.TypeOf((*GetSiteId)(nil)).Elem()) -} - -type GetSiteIdRequestType struct { - This vim.ManagedObjectReference `xml:"_this"` -} - -func init() { - types.Add("lookup:GetSiteIdRequestType", reflect.TypeOf((*GetSiteIdRequestType)(nil)).Elem()) -} - -type GetSiteIdResponse struct { - Returnval string `xml:"returnval"` -} - -type List ListRequestType - -func init() { - types.Add("lookup:List", reflect.TypeOf((*List)(nil)).Elem()) -} - -type ListRequestType struct { - This vim.ManagedObjectReference `xml:"_this"` - FilterCriteria *LookupServiceRegistrationFilter `xml:"filterCriteria,omitempty"` -} - -func init() { - types.Add("lookup:ListRequestType", reflect.TypeOf((*ListRequestType)(nil)).Elem()) -} - -type ListResponse struct { - Returnval []LookupServiceRegistrationInfo `xml:"returnval,omitempty"` -} - -type LookupFaultEntryExistsFault struct { - LookupFaultServiceFault - - Name string `xml:"name"` -} - -func init() { - types.Add("lookup:LookupFaultEntryExistsFault", reflect.TypeOf((*LookupFaultEntryExistsFault)(nil)).Elem()) -} - -type LookupFaultEntryExistsFaultFault LookupFaultEntryExistsFault - -func init() { - types.Add("lookup:LookupFaultEntryExistsFaultFault", reflect.TypeOf((*LookupFaultEntryExistsFaultFault)(nil)).Elem()) -} - -type LookupFaultEntryNotFoundFault struct { - LookupFaultServiceFault - - Name string `xml:"name"` -} - -func init() { - types.Add("lookup:LookupFaultEntryNotFoundFault", reflect.TypeOf((*LookupFaultEntryNotFoundFault)(nil)).Elem()) -} - -type LookupFaultEntryNotFoundFaultFault LookupFaultEntryNotFoundFault - -func init() { - types.Add("lookup:LookupFaultEntryNotFoundFaultFault", reflect.TypeOf((*LookupFaultEntryNotFoundFaultFault)(nil)).Elem()) -} - -type LookupFaultServiceFault struct { - vim.MethodFault - - ErrorMessage string `xml:"errorMessage,omitempty"` -} - -func init() { - types.Add("lookup:LookupFaultServiceFault", reflect.TypeOf((*LookupFaultServiceFault)(nil)).Elem()) -} - -type LookupFaultUnsupportedSiteFault struct { - LookupFaultServiceFault - - OperatingSite string `xml:"operatingSite"` - RequestedSite string `xml:"requestedSite"` -} - -func init() { - types.Add("lookup:LookupFaultUnsupportedSiteFault", reflect.TypeOf((*LookupFaultUnsupportedSiteFault)(nil)).Elem()) -} - -type LookupFaultUnsupportedSiteFaultFault LookupFaultUnsupportedSiteFault - -func init() { - types.Add("lookup:LookupFaultUnsupportedSiteFaultFault", reflect.TypeOf((*LookupFaultUnsupportedSiteFaultFault)(nil)).Elem()) -} - -type LookupHaBackupNodeConfiguration struct { - vim.DynamicData - - DbType string `xml:"dbType"` - DbJdbcUrl string `xml:"dbJdbcUrl"` - DbUser string `xml:"dbUser"` - DbPass string `xml:"dbPass"` -} - -func init() { - types.Add("lookup:LookupHaBackupNodeConfiguration", reflect.TypeOf((*LookupHaBackupNodeConfiguration)(nil)).Elem()) -} - -type LookupServiceContent struct { - vim.DynamicData - - LookupService vim.ManagedObjectReference `xml:"lookupService"` - ServiceRegistration *vim.ManagedObjectReference `xml:"serviceRegistration,omitempty"` - DeploymentInformationService vim.ManagedObjectReference `xml:"deploymentInformationService"` - L10n vim.ManagedObjectReference `xml:"l10n"` -} - -func init() { - types.Add("lookup:LookupServiceContent", reflect.TypeOf((*LookupServiceContent)(nil)).Elem()) -} - -type LookupServiceRegistrationAttribute struct { - vim.DynamicData - - Key string `xml:"key"` - Value string `xml:"value"` -} - -func init() { - types.Add("lookup:LookupServiceRegistrationAttribute", reflect.TypeOf((*LookupServiceRegistrationAttribute)(nil)).Elem()) -} - -type LookupServiceRegistrationCommonServiceInfo struct { - LookupServiceRegistrationMutableServiceInfo - - OwnerId string `xml:"ownerId"` - ServiceType LookupServiceRegistrationServiceType `xml:"serviceType"` - NodeId string `xml:"nodeId,omitempty"` -} - -func init() { - types.Add("lookup:LookupServiceRegistrationCommonServiceInfo", reflect.TypeOf((*LookupServiceRegistrationCommonServiceInfo)(nil)).Elem()) -} - -type LookupServiceRegistrationCreateSpec struct { - LookupServiceRegistrationCommonServiceInfo -} - -func init() { - types.Add("lookup:LookupServiceRegistrationCreateSpec", reflect.TypeOf((*LookupServiceRegistrationCreateSpec)(nil)).Elem()) -} - -type LookupServiceRegistrationEndpoint struct { - vim.DynamicData - - Url string `xml:"url"` - EndpointType LookupServiceRegistrationEndpointType `xml:"endpointType"` - SslTrust []string `xml:"sslTrust,omitempty"` - EndpointAttributes []LookupServiceRegistrationAttribute `xml:"endpointAttributes,omitempty"` -} - -func init() { - types.Add("lookup:LookupServiceRegistrationEndpoint", reflect.TypeOf((*LookupServiceRegistrationEndpoint)(nil)).Elem()) -} - -type LookupServiceRegistrationEndpointType struct { - vim.DynamicData - - Protocol string `xml:"protocol,omitempty"` - Type string `xml:"type,omitempty"` -} - -func init() { - types.Add("lookup:LookupServiceRegistrationEndpointType", reflect.TypeOf((*LookupServiceRegistrationEndpointType)(nil)).Elem()) -} - -type LookupServiceRegistrationFilter struct { - vim.DynamicData - - SiteId string `xml:"siteId,omitempty"` - NodeId string `xml:"nodeId,omitempty"` - ServiceType *LookupServiceRegistrationServiceType `xml:"serviceType,omitempty"` - EndpointType *LookupServiceRegistrationEndpointType `xml:"endpointType,omitempty"` -} - -func init() { - types.Add("lookup:LookupServiceRegistrationFilter", reflect.TypeOf((*LookupServiceRegistrationFilter)(nil)).Elem()) -} - -type LookupServiceRegistrationInfo struct { - LookupServiceRegistrationCommonServiceInfo - - ServiceId string `xml:"serviceId"` - SiteId string `xml:"siteId"` -} - -func init() { - types.Add("lookup:LookupServiceRegistrationInfo", reflect.TypeOf((*LookupServiceRegistrationInfo)(nil)).Elem()) -} - -type LookupServiceRegistrationMutableServiceInfo struct { - vim.DynamicData - - ServiceVersion string `xml:"serviceVersion"` - VendorNameResourceKey string `xml:"vendorNameResourceKey,omitempty"` - VendorNameDefault string `xml:"vendorNameDefault,omitempty"` - VendorProductInfoResourceKey string `xml:"vendorProductInfoResourceKey,omitempty"` - VendorProductInfoDefault string `xml:"vendorProductInfoDefault,omitempty"` - ServiceEndpoints []LookupServiceRegistrationEndpoint `xml:"serviceEndpoints,omitempty"` - ServiceAttributes []LookupServiceRegistrationAttribute `xml:"serviceAttributes,omitempty"` - ServiceNameResourceKey string `xml:"serviceNameResourceKey,omitempty"` - ServiceNameDefault string `xml:"serviceNameDefault,omitempty"` - ServiceDescriptionResourceKey string `xml:"serviceDescriptionResourceKey,omitempty"` - ServiceDescriptionDefault string `xml:"serviceDescriptionDefault,omitempty"` -} - -func init() { - types.Add("lookup:LookupServiceRegistrationMutableServiceInfo", reflect.TypeOf((*LookupServiceRegistrationMutableServiceInfo)(nil)).Elem()) -} - -type LookupServiceRegistrationServiceType struct { - vim.DynamicData - - Product string `xml:"product"` - Type string `xml:"type"` -} - -func init() { - types.Add("lookup:LookupServiceRegistrationServiceType", reflect.TypeOf((*LookupServiceRegistrationServiceType)(nil)).Elem()) -} - -type LookupServiceRegistrationSetSpec struct { - LookupServiceRegistrationMutableServiceInfo -} - -func init() { - types.Add("lookup:LookupServiceRegistrationSetSpec", reflect.TypeOf((*LookupServiceRegistrationSetSpec)(nil)).Elem()) -} - -type RetrieveHaBackupConfiguration RetrieveHaBackupConfigurationRequestType - -func init() { - types.Add("lookup:RetrieveHaBackupConfiguration", reflect.TypeOf((*RetrieveHaBackupConfiguration)(nil)).Elem()) -} - -type RetrieveHaBackupConfigurationRequestType struct { - This vim.ManagedObjectReference `xml:"_this"` -} - -func init() { - types.Add("lookup:RetrieveHaBackupConfigurationRequestType", reflect.TypeOf((*RetrieveHaBackupConfigurationRequestType)(nil)).Elem()) -} - -type RetrieveHaBackupConfigurationResponse struct { - Returnval LookupHaBackupNodeConfiguration `xml:"returnval"` -} - -type RetrieveServiceContent RetrieveServiceContentRequestType - -func init() { - types.Add("lookup:RetrieveServiceContent", reflect.TypeOf((*RetrieveServiceContent)(nil)).Elem()) -} - -type RetrieveServiceContentRequestType struct { - This vim.ManagedObjectReference `xml:"_this"` -} - -func init() { - types.Add("lookup:RetrieveServiceContentRequestType", reflect.TypeOf((*RetrieveServiceContentRequestType)(nil)).Elem()) -} - -type RetrieveServiceContentResponse struct { - Returnval LookupServiceContent `xml:"returnval"` -} - -type Set SetRequestType - -func init() { - types.Add("lookup:Set", reflect.TypeOf((*Set)(nil)).Elem()) -} - -type SetLocale SetLocaleRequestType - -func init() { - types.Add("lookup:SetLocale", reflect.TypeOf((*SetLocale)(nil)).Elem()) -} - -type SetLocaleRequestType struct { - This vim.ManagedObjectReference `xml:"_this"` - Locale string `xml:"locale"` -} - -func init() { - types.Add("lookup:SetLocaleRequestType", reflect.TypeOf((*SetLocaleRequestType)(nil)).Elem()) -} - -type SetLocaleResponse struct { - Returnval string `xml:"returnval"` -} - -type SetRequestType struct { - This vim.ManagedObjectReference `xml:"_this"` - ServiceId string `xml:"serviceId"` - ServiceSpec LookupServiceRegistrationSetSpec `xml:"serviceSpec"` -} - -func init() { - types.Add("lookup:SetRequestType", reflect.TypeOf((*SetRequestType)(nil)).Elem()) -} - -type SetResponse struct { -} diff --git a/vendor/github.com/vmware/govmomi/nfc/lease.go b/vendor/github.com/vmware/govmomi/nfc/lease.go deleted file mode 100644 index 45756803362..00000000000 --- a/vendor/github.com/vmware/govmomi/nfc/lease.go +++ /dev/null @@ -1,233 +0,0 @@ -/* -Copyright (c) 2015-2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package nfc - -import ( - "context" - "fmt" - "io" - "path" - - "github.com/vmware/govmomi/property" - "github.com/vmware/govmomi/task" - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -type Lease struct { - types.ManagedObjectReference - - c *vim25.Client -} - -func NewLease(c *vim25.Client, ref types.ManagedObjectReference) *Lease { - return &Lease{ref, c} -} - -// Abort wraps methods.Abort -func (l *Lease) Abort(ctx context.Context, fault *types.LocalizedMethodFault) error { - req := types.HttpNfcLeaseAbort{ - This: l.Reference(), - Fault: fault, - } - - _, err := methods.HttpNfcLeaseAbort(ctx, l.c, &req) - if err != nil { - return err - } - - return nil -} - -// Complete wraps methods.Complete -func (l *Lease) Complete(ctx context.Context) error { - req := types.HttpNfcLeaseComplete{ - This: l.Reference(), - } - - _, err := methods.HttpNfcLeaseComplete(ctx, l.c, &req) - if err != nil { - return err - } - - return nil -} - -// GetManifest wraps methods.GetManifest -func (l *Lease) GetManifest(ctx context.Context) error { - req := types.HttpNfcLeaseGetManifest{ - This: l.Reference(), - } - - _, err := methods.HttpNfcLeaseGetManifest(ctx, l.c, &req) - if err != nil { - return err - } - - return nil -} - -// Progress wraps methods.Progress -func (l *Lease) Progress(ctx context.Context, percent int32) error { - req := types.HttpNfcLeaseProgress{ - This: l.Reference(), - Percent: percent, - } - - _, err := methods.HttpNfcLeaseProgress(ctx, l.c, &req) - if err != nil { - return err - } - - return nil -} - -type LeaseInfo struct { - types.HttpNfcLeaseInfo - - Items []FileItem -} - -func (l *Lease) newLeaseInfo(li *types.HttpNfcLeaseInfo, items []types.OvfFileItem) (*LeaseInfo, error) { - info := &LeaseInfo{ - HttpNfcLeaseInfo: *li, - } - - for _, device := range li.DeviceUrl { - u, err := l.c.ParseURL(device.Url) - if err != nil { - return nil, err - } - - if device.SslThumbprint != "" { - // TODO: prefer host management IP - l.c.SetThumbprint(u.Host, device.SslThumbprint) - } - - if len(items) == 0 { - // this is an export - item := types.OvfFileItem{ - DeviceId: device.Key, - Path: device.TargetId, - Size: device.FileSize, - } - - if item.Size == 0 { - item.Size = li.TotalDiskCapacityInKB * 1024 - } - - if item.Path == "" { - item.Path = path.Base(device.Url) - } - - info.Items = append(info.Items, NewFileItem(u, item)) - - continue - } - - // this is an import - for _, item := range items { - if device.ImportKey == item.DeviceId { - info.Items = append(info.Items, NewFileItem(u, item)) - break - } - } - } - - return info, nil -} - -func (l *Lease) Wait(ctx context.Context, items []types.OvfFileItem) (*LeaseInfo, error) { - var lease mo.HttpNfcLease - - pc := property.DefaultCollector(l.c) - err := property.Wait(ctx, pc, l.Reference(), []string{"state", "info", "error"}, func(pc []types.PropertyChange) bool { - done := false - - for _, c := range pc { - if c.Val == nil { - continue - } - - switch c.Name { - case "error": - val := c.Val.(types.LocalizedMethodFault) - lease.Error = &val - done = true - case "info": - val := c.Val.(types.HttpNfcLeaseInfo) - lease.Info = &val - case "state": - lease.State = c.Val.(types.HttpNfcLeaseState) - if lease.State != types.HttpNfcLeaseStateInitializing { - done = true - } - } - } - - return done - }) - - if err != nil { - return nil, err - } - - if lease.State == types.HttpNfcLeaseStateReady { - return l.newLeaseInfo(lease.Info, items) - } - - if lease.Error != nil { - return nil, &task.Error{LocalizedMethodFault: lease.Error} - } - - return nil, fmt.Errorf("unexpected nfc lease state: %s", lease.State) -} - -func (l *Lease) StartUpdater(ctx context.Context, info *LeaseInfo) *LeaseUpdater { - return newLeaseUpdater(ctx, l, info) -} - -func (l *Lease) Upload(ctx context.Context, item FileItem, f io.Reader, opts soap.Upload) error { - if opts.Progress == nil { - opts.Progress = item - } - - // Non-disk files (such as .iso) use the PUT method. - // Overwrite: t header is also required in this case (ovftool does the same) - if item.Create { - opts.Method = "PUT" - opts.Headers = map[string]string{ - "Overwrite": "t", - } - } else { - opts.Method = "POST" - opts.Type = "application/x-vnd.vmware-streamVmdk" - } - - return l.c.Upload(ctx, f, item.URL, &opts) -} - -func (l *Lease) DownloadFile(ctx context.Context, file string, item FileItem, opts soap.Download) error { - if opts.Progress == nil { - opts.Progress = item - } - - return l.c.DownloadFile(ctx, file, item.URL, &opts) -} diff --git a/vendor/github.com/vmware/govmomi/nfc/lease_updater.go b/vendor/github.com/vmware/govmomi/nfc/lease_updater.go deleted file mode 100644 index 02ce9cf5372..00000000000 --- a/vendor/github.com/vmware/govmomi/nfc/lease_updater.go +++ /dev/null @@ -1,146 +0,0 @@ -/* -Copyright (c) 2014-2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package nfc - -import ( - "context" - "log" - "net/url" - "sync" - "sync/atomic" - "time" - - "github.com/vmware/govmomi/vim25/progress" - "github.com/vmware/govmomi/vim25/types" -) - -type FileItem struct { - types.OvfFileItem - URL *url.URL - - ch chan progress.Report -} - -func NewFileItem(u *url.URL, item types.OvfFileItem) FileItem { - return FileItem{ - OvfFileItem: item, - URL: u, - ch: make(chan progress.Report), - } -} - -func (o FileItem) Sink() chan<- progress.Report { - return o.ch -} - -// File converts the FileItem.OvfFileItem to an OvfFile -func (o FileItem) File() types.OvfFile { - return types.OvfFile{ - DeviceId: o.DeviceId, - Path: o.Path, - Size: o.Size, - } -} - -type LeaseUpdater struct { - pos int64 // Number of bytes (keep first to ensure 64 bit alignment) - total int64 // Total number of bytes (keep first to ensure 64 bit alignment) - - lease *Lease - - done chan struct{} // When lease updater should stop - - wg sync.WaitGroup // Track when update loop is done -} - -func newLeaseUpdater(ctx context.Context, lease *Lease, info *LeaseInfo) *LeaseUpdater { - l := LeaseUpdater{ - lease: lease, - - done: make(chan struct{}), - } - - for _, item := range info.Items { - l.total += item.Size - go l.waitForProgress(item) - } - - // Kickstart update loop - l.wg.Add(1) - go l.run() - - return &l -} - -func (l *LeaseUpdater) waitForProgress(item FileItem) { - var pos, total int64 - - total = item.Size - - for { - select { - case <-l.done: - return - case p, ok := <-item.ch: - // Return in case of error - if ok && p.Error() != nil { - return - } - - if !ok { - // Last element on the channel, add to total - atomic.AddInt64(&l.pos, total-pos) - return - } - - // Approximate progress in number of bytes - x := int64(float32(total) * (p.Percentage() / 100.0)) - atomic.AddInt64(&l.pos, x-pos) - pos = x - } - } -} - -func (l *LeaseUpdater) run() { - defer l.wg.Done() - - tick := time.NewTicker(2 * time.Second) - defer tick.Stop() - - for { - select { - case <-l.done: - return - case <-tick.C: - // From the vim api HttpNfcLeaseProgress(percent) doc, percent == - // "Completion status represented as an integer in the 0-100 range." - // Always report the current value of percent, as it will renew the - // lease even if the value hasn't changed or is 0. - percent := int32(float32(100*atomic.LoadInt64(&l.pos)) / float32(l.total)) - err := l.lease.Progress(context.TODO(), percent) - if err != nil { - log.Printf("NFC lease progress: %s", err) - return - } - } - } -} - -func (l *LeaseUpdater) Done() { - close(l.done) - l.wg.Wait() -} diff --git a/vendor/github.com/vmware/govmomi/object/authorization_manager.go b/vendor/github.com/vmware/govmomi/object/authorization_manager.go deleted file mode 100644 index 5cd6851a87d..00000000000 --- a/vendor/github.com/vmware/govmomi/object/authorization_manager.go +++ /dev/null @@ -1,221 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "context" - - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/types" -) - -type AuthorizationManager struct { - Common -} - -func NewAuthorizationManager(c *vim25.Client) *AuthorizationManager { - m := AuthorizationManager{ - Common: NewCommon(c, *c.ServiceContent.AuthorizationManager), - } - - return &m -} - -type AuthorizationRoleList []types.AuthorizationRole - -func (l AuthorizationRoleList) ById(id int32) *types.AuthorizationRole { - for _, role := range l { - if role.RoleId == id { - return &role - } - } - - return nil -} - -func (l AuthorizationRoleList) ByName(name string) *types.AuthorizationRole { - for _, role := range l { - if role.Name == name { - return &role - } - } - - return nil -} - -func (m AuthorizationManager) RoleList(ctx context.Context) (AuthorizationRoleList, error) { - var am mo.AuthorizationManager - - err := m.Properties(ctx, m.Reference(), []string{"roleList"}, &am) - if err != nil { - return nil, err - } - - return AuthorizationRoleList(am.RoleList), nil -} - -func (m AuthorizationManager) RetrieveEntityPermissions(ctx context.Context, entity types.ManagedObjectReference, inherited bool) ([]types.Permission, error) { - req := types.RetrieveEntityPermissions{ - This: m.Reference(), - Entity: entity, - Inherited: inherited, - } - - res, err := methods.RetrieveEntityPermissions(ctx, m.Client(), &req) - if err != nil { - return nil, err - } - - return res.Returnval, nil -} - -func (m AuthorizationManager) RemoveEntityPermission(ctx context.Context, entity types.ManagedObjectReference, user string, isGroup bool) error { - req := types.RemoveEntityPermission{ - This: m.Reference(), - Entity: entity, - User: user, - IsGroup: isGroup, - } - - _, err := methods.RemoveEntityPermission(ctx, m.Client(), &req) - return err -} - -func (m AuthorizationManager) SetEntityPermissions(ctx context.Context, entity types.ManagedObjectReference, permission []types.Permission) error { - req := types.SetEntityPermissions{ - This: m.Reference(), - Entity: entity, - Permission: permission, - } - - _, err := methods.SetEntityPermissions(ctx, m.Client(), &req) - return err -} - -func (m AuthorizationManager) RetrieveRolePermissions(ctx context.Context, id int32) ([]types.Permission, error) { - req := types.RetrieveRolePermissions{ - This: m.Reference(), - RoleId: id, - } - - res, err := methods.RetrieveRolePermissions(ctx, m.Client(), &req) - if err != nil { - return nil, err - } - - return res.Returnval, nil -} - -func (m AuthorizationManager) RetrieveAllPermissions(ctx context.Context) ([]types.Permission, error) { - req := types.RetrieveAllPermissions{ - This: m.Reference(), - } - - res, err := methods.RetrieveAllPermissions(ctx, m.Client(), &req) - if err != nil { - return nil, err - } - - return res.Returnval, nil -} - -func (m AuthorizationManager) AddRole(ctx context.Context, name string, ids []string) (int32, error) { - req := types.AddAuthorizationRole{ - This: m.Reference(), - Name: name, - PrivIds: ids, - } - - res, err := methods.AddAuthorizationRole(ctx, m.Client(), &req) - if err != nil { - return -1, err - } - - return res.Returnval, nil -} - -func (m AuthorizationManager) RemoveRole(ctx context.Context, id int32, failIfUsed bool) error { - req := types.RemoveAuthorizationRole{ - This: m.Reference(), - RoleId: id, - FailIfUsed: failIfUsed, - } - - _, err := methods.RemoveAuthorizationRole(ctx, m.Client(), &req) - return err -} - -func (m AuthorizationManager) UpdateRole(ctx context.Context, id int32, name string, ids []string) error { - req := types.UpdateAuthorizationRole{ - This: m.Reference(), - RoleId: id, - NewName: name, - PrivIds: ids, - } - - _, err := methods.UpdateAuthorizationRole(ctx, m.Client(), &req) - return err -} - -func (m AuthorizationManager) HasUserPrivilegeOnEntities(ctx context.Context, entities []types.ManagedObjectReference, userName string, privID []string) ([]types.EntityPrivilege, error) { - req := types.HasUserPrivilegeOnEntities{ - This: m.Reference(), - Entities: entities, - UserName: userName, - PrivId: privID, - } - - res, err := methods.HasUserPrivilegeOnEntities(ctx, m.Client(), &req) - if err != nil { - return nil, err - } - - return res.Returnval, nil -} - -func (m AuthorizationManager) HasPrivilegeOnEntity(ctx context.Context, entity types.ManagedObjectReference, sessionID string, privID []string) ([]bool, error) { - req := types.HasPrivilegeOnEntity{ - This: m.Reference(), - Entity: entity, - SessionId: sessionID, - PrivId: privID, - } - - res, err := methods.HasPrivilegeOnEntity(ctx, m.Client(), &req) - if err != nil { - return nil, err - } - - return res.Returnval, nil -} - -func (m AuthorizationManager) FetchUserPrivilegeOnEntities(ctx context.Context, entities []types.ManagedObjectReference, userName string) ([]types.UserPrivilegeResult, error) { - req := types.FetchUserPrivilegeOnEntities{ - This: m.Reference(), - Entities: entities, - UserName: userName, - } - - res, err := methods.FetchUserPrivilegeOnEntities(ctx, m.Client(), &req) - if err != nil { - return nil, err - } - - return res.Returnval, nil -} diff --git a/vendor/github.com/vmware/govmomi/object/authorization_manager_internal.go b/vendor/github.com/vmware/govmomi/object/authorization_manager_internal.go deleted file mode 100644 index 4fa520f5add..00000000000 --- a/vendor/github.com/vmware/govmomi/object/authorization_manager_internal.go +++ /dev/null @@ -1,86 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "context" - - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -type DisabledMethodRequest struct { - Method string `xml:"method"` - Reason string `xml:"reasonId"` -} - -type disableMethodsRequest struct { - This types.ManagedObjectReference `xml:"_this"` - Entity []types.ManagedObjectReference `xml:"entity"` - Method []DisabledMethodRequest `xml:"method"` - Source string `xml:"sourceId"` - Scope bool `xml:"sessionScope,omitempty"` -} - -type disableMethodsBody struct { - Req *disableMethodsRequest `xml:"urn:internalvim25 DisableMethods,omitempty"` - Res interface{} `xml:"urn:vim25 DisableMethodsResponse,omitempty"` - Err *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *disableMethodsBody) Fault() *soap.Fault { return b.Err } - -func (m AuthorizationManager) DisableMethods(ctx context.Context, entity []types.ManagedObjectReference, method []DisabledMethodRequest, source string) error { - var reqBody, resBody disableMethodsBody - - reqBody.Req = &disableMethodsRequest{ - This: m.Reference(), - Entity: entity, - Method: method, - Source: source, - } - - return m.Client().RoundTrip(ctx, &reqBody, &resBody) -} - -type enableMethodsRequest struct { - This types.ManagedObjectReference `xml:"_this"` - Entity []types.ManagedObjectReference `xml:"entity"` - Method []string `xml:"method"` - Source string `xml:"sourceId"` -} - -type enableMethodsBody struct { - Req *enableMethodsRequest `xml:"urn:internalvim25 EnableMethods,omitempty"` - Res interface{} `xml:"urn:vim25 EnableMethodsResponse,omitempty"` - Err *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *enableMethodsBody) Fault() *soap.Fault { return b.Err } - -func (m AuthorizationManager) EnableMethods(ctx context.Context, entity []types.ManagedObjectReference, method []string, source string) error { - var reqBody, resBody enableMethodsBody - - reqBody.Req = &enableMethodsRequest{ - This: m.Reference(), - Entity: entity, - Method: method, - Source: source, - } - - return m.Client().RoundTrip(ctx, &reqBody, &resBody) -} diff --git a/vendor/github.com/vmware/govmomi/object/cluster_compute_resource.go b/vendor/github.com/vmware/govmomi/object/cluster_compute_resource.go deleted file mode 100644 index 018372dfe08..00000000000 --- a/vendor/github.com/vmware/govmomi/object/cluster_compute_resource.go +++ /dev/null @@ -1,103 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "context" - - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/types" -) - -type ClusterComputeResource struct { - ComputeResource -} - -func NewClusterComputeResource(c *vim25.Client, ref types.ManagedObjectReference) *ClusterComputeResource { - return &ClusterComputeResource{ - ComputeResource: *NewComputeResource(c, ref), - } -} - -func (c ClusterComputeResource) Configuration(ctx context.Context) (*types.ClusterConfigInfoEx, error) { - var obj mo.ClusterComputeResource - - err := c.Properties(ctx, c.Reference(), []string{"configurationEx"}, &obj) - if err != nil { - return nil, err - } - - return obj.ConfigurationEx.(*types.ClusterConfigInfoEx), nil -} - -func (c ClusterComputeResource) AddHost(ctx context.Context, spec types.HostConnectSpec, asConnected bool, license *string, resourcePool *types.ManagedObjectReference) (*Task, error) { - req := types.AddHost_Task{ - This: c.Reference(), - Spec: spec, - AsConnected: asConnected, - } - - if license != nil { - req.License = *license - } - - if resourcePool != nil { - req.ResourcePool = resourcePool - } - - res, err := methods.AddHost_Task(ctx, c.c, &req) - if err != nil { - return nil, err - } - - return NewTask(c.c, res.Returnval), nil -} - -func (c ClusterComputeResource) MoveInto(ctx context.Context, hosts ...*HostSystem) (*Task, error) { - req := types.MoveInto_Task{ - This: c.Reference(), - } - - hostReferences := make([]types.ManagedObjectReference, len(hosts)) - for i, host := range hosts { - hostReferences[i] = host.Reference() - } - req.Host = hostReferences - - res, err := methods.MoveInto_Task(ctx, c.c, &req) - if err != nil { - return nil, err - } - - return NewTask(c.c, res.Returnval), nil -} - -func (c ClusterComputeResource) PlaceVm(ctx context.Context, spec types.PlacementSpec) (*types.PlacementResult, error) { - req := types.PlaceVm{ - This: c.Reference(), - PlacementSpec: spec, - } - - res, err := methods.PlaceVm(ctx, c.c, &req) - if err != nil { - return nil, err - } - - return &res.Returnval, nil -} diff --git a/vendor/github.com/vmware/govmomi/object/common.go b/vendor/github.com/vmware/govmomi/object/common.go deleted file mode 100644 index 88ce78fce52..00000000000 --- a/vendor/github.com/vmware/govmomi/object/common.go +++ /dev/null @@ -1,148 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "context" - "errors" - "fmt" - "path" - - "github.com/vmware/govmomi/property" - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/types" -) - -var ( - ErrNotSupported = errors.New("product/version specific feature not supported by target") -) - -// Common contains the fields and functions common to all objects. -type Common struct { - InventoryPath string - - c *vim25.Client - r types.ManagedObjectReference -} - -func (c Common) String() string { - ref := fmt.Sprintf("%v", c.Reference()) - - if c.InventoryPath == "" { - return ref - } - - return fmt.Sprintf("%s @ %s", ref, c.InventoryPath) -} - -func NewCommon(c *vim25.Client, r types.ManagedObjectReference) Common { - return Common{c: c, r: r} -} - -func (c Common) Reference() types.ManagedObjectReference { - return c.r -} - -func (c Common) Client() *vim25.Client { - return c.c -} - -// Name returns the base name of the InventoryPath field -func (c Common) Name() string { - if c.InventoryPath == "" { - return "" - } - return path.Base(c.InventoryPath) -} - -func (c *Common) SetInventoryPath(p string) { - c.InventoryPath = p -} - -// ObjectName fetches the mo.ManagedEntity.Name field via the property collector. -func (c Common) ObjectName(ctx context.Context) (string, error) { - var content []types.ObjectContent - - err := c.Properties(ctx, c.Reference(), []string{"name"}, &content) - if err != nil { - return "", err - } - - for i := range content { - for _, prop := range content[i].PropSet { - return prop.Val.(string), nil - } - } - - return "", nil -} - -// Properties is a wrapper for property.DefaultCollector().RetrieveOne() -func (c Common) Properties(ctx context.Context, r types.ManagedObjectReference, ps []string, dst interface{}) error { - return property.DefaultCollector(c.c).RetrieveOne(ctx, r, ps, dst) -} - -func (c Common) Destroy(ctx context.Context) (*Task, error) { - req := types.Destroy_Task{ - This: c.Reference(), - } - - res, err := methods.Destroy_Task(ctx, c.c, &req) - if err != nil { - return nil, err - } - - return NewTask(c.c, res.Returnval), nil -} - -func (c Common) Rename(ctx context.Context, name string) (*Task, error) { - req := types.Rename_Task{ - This: c.Reference(), - NewName: name, - } - - res, err := methods.Rename_Task(ctx, c.c, &req) - if err != nil { - return nil, err - } - - return NewTask(c.c, res.Returnval), nil -} - -func (c Common) SetCustomValue(ctx context.Context, key string, value string) error { - req := types.SetCustomValue{ - This: c.Reference(), - Key: key, - Value: value, - } - - _, err := methods.SetCustomValue(ctx, c.c, &req) - return err -} - -func ReferenceFromString(s string) *types.ManagedObjectReference { - var ref types.ManagedObjectReference - if !ref.FromString(s) { - return nil - } - if mo.IsManagedObjectType(ref.Type) { - return &ref - } - return nil -} diff --git a/vendor/github.com/vmware/govmomi/object/compute_resource.go b/vendor/github.com/vmware/govmomi/object/compute_resource.go deleted file mode 100644 index 7645fddaf31..00000000000 --- a/vendor/github.com/vmware/govmomi/object/compute_resource.go +++ /dev/null @@ -1,111 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "context" - "path" - - "github.com/vmware/govmomi/property" - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/types" -) - -type ComputeResource struct { - Common -} - -func NewComputeResource(c *vim25.Client, ref types.ManagedObjectReference) *ComputeResource { - return &ComputeResource{ - Common: NewCommon(c, ref), - } -} - -func (c ComputeResource) Hosts(ctx context.Context) ([]*HostSystem, error) { - var cr mo.ComputeResource - - err := c.Properties(ctx, c.Reference(), []string{"host"}, &cr) - if err != nil { - return nil, err - } - - if len(cr.Host) == 0 { - return nil, nil - } - - var hs []mo.HostSystem - pc := property.DefaultCollector(c.Client()) - err = pc.Retrieve(ctx, cr.Host, []string{"name"}, &hs) - if err != nil { - return nil, err - } - - var hosts []*HostSystem - - for _, h := range hs { - host := NewHostSystem(c.Client(), h.Reference()) - host.InventoryPath = path.Join(c.InventoryPath, h.Name) - hosts = append(hosts, host) - } - - return hosts, nil -} - -func (c ComputeResource) Datastores(ctx context.Context) ([]*Datastore, error) { - var cr mo.ComputeResource - - err := c.Properties(ctx, c.Reference(), []string{"datastore"}, &cr) - if err != nil { - return nil, err - } - - var dss []*Datastore - for _, ref := range cr.Datastore { - ds := NewDatastore(c.c, ref) - dss = append(dss, ds) - } - - return dss, nil -} - -func (c ComputeResource) ResourcePool(ctx context.Context) (*ResourcePool, error) { - var cr mo.ComputeResource - - err := c.Properties(ctx, c.Reference(), []string{"resourcePool"}, &cr) - if err != nil { - return nil, err - } - - return NewResourcePool(c.c, *cr.ResourcePool), nil -} - -func (c ComputeResource) Reconfigure(ctx context.Context, spec types.BaseComputeResourceConfigSpec, modify bool) (*Task, error) { - req := types.ReconfigureComputeResource_Task{ - This: c.Reference(), - Spec: spec, - Modify: modify, - } - - res, err := methods.ReconfigureComputeResource_Task(ctx, c.c, &req) - if err != nil { - return nil, err - } - - return NewTask(c.c, res.Returnval), nil -} diff --git a/vendor/github.com/vmware/govmomi/object/custom_fields_manager.go b/vendor/github.com/vmware/govmomi/object/custom_fields_manager.go deleted file mode 100644 index ef748ef2c13..00000000000 --- a/vendor/github.com/vmware/govmomi/object/custom_fields_manager.go +++ /dev/null @@ -1,146 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "context" - "errors" - "strconv" - - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/types" -) - -var ( - ErrKeyNameNotFound = errors.New("key name not found") -) - -type CustomFieldsManager struct { - Common -} - -// GetCustomFieldsManager wraps NewCustomFieldsManager, returning ErrNotSupported -// when the client is not connected to a vCenter instance. -func GetCustomFieldsManager(c *vim25.Client) (*CustomFieldsManager, error) { - if c.ServiceContent.CustomFieldsManager == nil { - return nil, ErrNotSupported - } - return NewCustomFieldsManager(c), nil -} - -func NewCustomFieldsManager(c *vim25.Client) *CustomFieldsManager { - m := CustomFieldsManager{ - Common: NewCommon(c, *c.ServiceContent.CustomFieldsManager), - } - - return &m -} - -func (m CustomFieldsManager) Add(ctx context.Context, name string, moType string, fieldDefPolicy *types.PrivilegePolicyDef, fieldPolicy *types.PrivilegePolicyDef) (*types.CustomFieldDef, error) { - req := types.AddCustomFieldDef{ - This: m.Reference(), - Name: name, - MoType: moType, - FieldDefPolicy: fieldDefPolicy, - FieldPolicy: fieldPolicy, - } - - res, err := methods.AddCustomFieldDef(ctx, m.c, &req) - if err != nil { - return nil, err - } - - return &res.Returnval, nil -} - -func (m CustomFieldsManager) Remove(ctx context.Context, key int32) error { - req := types.RemoveCustomFieldDef{ - This: m.Reference(), - Key: key, - } - - _, err := methods.RemoveCustomFieldDef(ctx, m.c, &req) - return err -} - -func (m CustomFieldsManager) Rename(ctx context.Context, key int32, name string) error { - req := types.RenameCustomFieldDef{ - This: m.Reference(), - Key: key, - Name: name, - } - - _, err := methods.RenameCustomFieldDef(ctx, m.c, &req) - return err -} - -func (m CustomFieldsManager) Set(ctx context.Context, entity types.ManagedObjectReference, key int32, value string) error { - req := types.SetField{ - This: m.Reference(), - Entity: entity, - Key: key, - Value: value, - } - - _, err := methods.SetField(ctx, m.c, &req) - return err -} - -type CustomFieldDefList []types.CustomFieldDef - -func (m CustomFieldsManager) Field(ctx context.Context) (CustomFieldDefList, error) { - var fm mo.CustomFieldsManager - - err := m.Properties(ctx, m.Reference(), []string{"field"}, &fm) - if err != nil { - return nil, err - } - - return fm.Field, nil -} - -func (m CustomFieldsManager) FindKey(ctx context.Context, name string) (int32, error) { - field, err := m.Field(ctx) - if err != nil { - return -1, err - } - - for _, def := range field { - if def.Name == name { - return def.Key, nil - } - } - - k, err := strconv.Atoi(name) - if err == nil { - // assume literal int key - return int32(k), nil - } - - return -1, ErrKeyNameNotFound -} - -func (l CustomFieldDefList) ByKey(key int32) *types.CustomFieldDef { - for _, def := range l { - if def.Key == key { - return &def - } - } - return nil -} diff --git a/vendor/github.com/vmware/govmomi/object/customization_spec_manager.go b/vendor/github.com/vmware/govmomi/object/customization_spec_manager.go deleted file mode 100644 index e9a3914d9da..00000000000 --- a/vendor/github.com/vmware/govmomi/object/customization_spec_manager.go +++ /dev/null @@ -1,173 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "context" - - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/types" -) - -type CustomizationSpecManager struct { - Common -} - -func NewCustomizationSpecManager(c *vim25.Client) *CustomizationSpecManager { - cs := CustomizationSpecManager{ - Common: NewCommon(c, *c.ServiceContent.CustomizationSpecManager), - } - - return &cs -} - -func (cs CustomizationSpecManager) Info(ctx context.Context) ([]types.CustomizationSpecInfo, error) { - var m mo.CustomizationSpecManager - err := cs.Properties(ctx, cs.Reference(), []string{"info"}, &m) - return m.Info, err -} - -func (cs CustomizationSpecManager) DoesCustomizationSpecExist(ctx context.Context, name string) (bool, error) { - req := types.DoesCustomizationSpecExist{ - This: cs.Reference(), - Name: name, - } - - res, err := methods.DoesCustomizationSpecExist(ctx, cs.c, &req) - - if err != nil { - return false, err - } - - return res.Returnval, nil -} - -func (cs CustomizationSpecManager) GetCustomizationSpec(ctx context.Context, name string) (*types.CustomizationSpecItem, error) { - req := types.GetCustomizationSpec{ - This: cs.Reference(), - Name: name, - } - - res, err := methods.GetCustomizationSpec(ctx, cs.c, &req) - - if err != nil { - return nil, err - } - - return &res.Returnval, nil -} - -func (cs CustomizationSpecManager) CreateCustomizationSpec(ctx context.Context, item types.CustomizationSpecItem) error { - req := types.CreateCustomizationSpec{ - This: cs.Reference(), - Item: item, - } - - _, err := methods.CreateCustomizationSpec(ctx, cs.c, &req) - if err != nil { - return err - } - - return nil -} - -func (cs CustomizationSpecManager) OverwriteCustomizationSpec(ctx context.Context, item types.CustomizationSpecItem) error { - req := types.OverwriteCustomizationSpec{ - This: cs.Reference(), - Item: item, - } - - _, err := methods.OverwriteCustomizationSpec(ctx, cs.c, &req) - if err != nil { - return err - } - - return nil -} - -func (cs CustomizationSpecManager) DeleteCustomizationSpec(ctx context.Context, name string) error { - req := types.DeleteCustomizationSpec{ - This: cs.Reference(), - Name: name, - } - - _, err := methods.DeleteCustomizationSpec(ctx, cs.c, &req) - if err != nil { - return err - } - - return nil -} - -func (cs CustomizationSpecManager) DuplicateCustomizationSpec(ctx context.Context, name string, newName string) error { - req := types.DuplicateCustomizationSpec{ - This: cs.Reference(), - Name: name, - NewName: newName, - } - - _, err := methods.DuplicateCustomizationSpec(ctx, cs.c, &req) - if err != nil { - return err - } - - return nil -} - -func (cs CustomizationSpecManager) RenameCustomizationSpec(ctx context.Context, name string, newName string) error { - req := types.RenameCustomizationSpec{ - This: cs.Reference(), - Name: name, - NewName: newName, - } - - _, err := methods.RenameCustomizationSpec(ctx, cs.c, &req) - if err != nil { - return err - } - - return nil -} - -func (cs CustomizationSpecManager) CustomizationSpecItemToXml(ctx context.Context, item types.CustomizationSpecItem) (string, error) { - req := types.CustomizationSpecItemToXml{ - This: cs.Reference(), - Item: item, - } - - res, err := methods.CustomizationSpecItemToXml(ctx, cs.c, &req) - if err != nil { - return "", err - } - - return res.Returnval, nil -} - -func (cs CustomizationSpecManager) XmlToCustomizationSpecItem(ctx context.Context, xml string) (*types.CustomizationSpecItem, error) { - req := types.XmlToCustomizationSpecItem{ - This: cs.Reference(), - SpecItemXml: xml, - } - - res, err := methods.XmlToCustomizationSpecItem(ctx, cs.c, &req) - if err != nil { - return nil, err - } - return &res.Returnval, nil -} diff --git a/vendor/github.com/vmware/govmomi/object/datacenter.go b/vendor/github.com/vmware/govmomi/object/datacenter.go deleted file mode 100644 index 41fa3526571..00000000000 --- a/vendor/github.com/vmware/govmomi/object/datacenter.go +++ /dev/null @@ -1,129 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "context" - "fmt" - - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/types" -) - -type DatacenterFolders struct { - VmFolder *Folder - HostFolder *Folder - DatastoreFolder *Folder - NetworkFolder *Folder -} - -type Datacenter struct { - Common -} - -func NewDatacenter(c *vim25.Client, ref types.ManagedObjectReference) *Datacenter { - return &Datacenter{ - Common: NewCommon(c, ref), - } -} - -func (d *Datacenter) Folders(ctx context.Context) (*DatacenterFolders, error) { - var md mo.Datacenter - - ps := []string{"name", "vmFolder", "hostFolder", "datastoreFolder", "networkFolder"} - err := d.Properties(ctx, d.Reference(), ps, &md) - if err != nil { - return nil, err - } - - df := &DatacenterFolders{ - VmFolder: NewFolder(d.c, md.VmFolder), - HostFolder: NewFolder(d.c, md.HostFolder), - DatastoreFolder: NewFolder(d.c, md.DatastoreFolder), - NetworkFolder: NewFolder(d.c, md.NetworkFolder), - } - - paths := []struct { - name string - path *string - }{ - {"vm", &df.VmFolder.InventoryPath}, - {"host", &df.HostFolder.InventoryPath}, - {"datastore", &df.DatastoreFolder.InventoryPath}, - {"network", &df.NetworkFolder.InventoryPath}, - } - - for _, p := range paths { - *p.path = fmt.Sprintf("/%s/%s", md.Name, p.name) - } - - return df, nil -} - -func (d Datacenter) Destroy(ctx context.Context) (*Task, error) { - req := types.Destroy_Task{ - This: d.Reference(), - } - - res, err := methods.Destroy_Task(ctx, d.c, &req) - if err != nil { - return nil, err - } - - return NewTask(d.c, res.Returnval), nil -} - -// PowerOnVM powers on multiple virtual machines with a single vCenter call. -// If called against ESX, serially powers on the list of VMs and the returned *Task will always be nil. -func (d Datacenter) PowerOnVM(ctx context.Context, vm []types.ManagedObjectReference, option ...types.BaseOptionValue) (*Task, error) { - if d.Client().IsVC() { - req := types.PowerOnMultiVM_Task{ - This: d.Reference(), - Vm: vm, - Option: option, - } - - res, err := methods.PowerOnMultiVM_Task(ctx, d.c, &req) - if err != nil { - return nil, err - } - - return NewTask(d.c, res.Returnval), nil - } - - for _, ref := range vm { - obj := NewVirtualMachine(d.Client(), ref) - task, err := obj.PowerOn(ctx) - if err != nil { - return nil, err - } - - err = task.Wait(ctx) - if err != nil { - // Ignore any InvalidPowerState fault, as it indicates the VM is already powered on - if f, ok := err.(types.HasFault); ok { - if _, ok = f.Fault().(*types.InvalidPowerState); !ok { - return nil, err - } - } - } - } - - return nil, nil -} diff --git a/vendor/github.com/vmware/govmomi/object/datastore.go b/vendor/github.com/vmware/govmomi/object/datastore.go deleted file mode 100644 index 65264ae152d..00000000000 --- a/vendor/github.com/vmware/govmomi/object/datastore.go +++ /dev/null @@ -1,439 +0,0 @@ -/* -Copyright (c) 2015-2016 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "context" - "fmt" - "io" - "math/rand" - "net/http" - "net/url" - "os" - "path" - "strings" - - "github.com/vmware/govmomi/property" - "github.com/vmware/govmomi/session" - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -// DatastoreNoSuchDirectoryError is returned when a directory could not be found. -type DatastoreNoSuchDirectoryError struct { - verb string - subject string -} - -func (e DatastoreNoSuchDirectoryError) Error() string { - return fmt.Sprintf("cannot %s '%s': No such directory", e.verb, e.subject) -} - -// DatastoreNoSuchFileError is returned when a file could not be found. -type DatastoreNoSuchFileError struct { - verb string - subject string -} - -func (e DatastoreNoSuchFileError) Error() string { - return fmt.Sprintf("cannot %s '%s': No such file", e.verb, e.subject) -} - -type Datastore struct { - Common - - DatacenterPath string -} - -func NewDatastore(c *vim25.Client, ref types.ManagedObjectReference) *Datastore { - return &Datastore{ - Common: NewCommon(c, ref), - } -} - -func (d Datastore) Path(path string) string { - var p DatastorePath - if p.FromString(path) { - return p.String() // already in "[datastore] path" format - } - - return (&DatastorePath{ - Datastore: d.Name(), - Path: path, - }).String() -} - -// NewURL constructs a url.URL with the given file path for datastore access over HTTP. -func (d Datastore) NewURL(path string) *url.URL { - u := d.c.URL() - - return &url.URL{ - Scheme: u.Scheme, - Host: u.Host, - Path: fmt.Sprintf("/folder/%s", path), - RawQuery: url.Values{ - "dcPath": []string{d.DatacenterPath}, - "dsName": []string{d.Name()}, - }.Encode(), - } -} - -// URL is deprecated, use NewURL instead. -func (d Datastore) URL(ctx context.Context, dc *Datacenter, path string) (*url.URL, error) { - return d.NewURL(path), nil -} - -func (d Datastore) Browser(ctx context.Context) (*HostDatastoreBrowser, error) { - var do mo.Datastore - - err := d.Properties(ctx, d.Reference(), []string{"browser"}, &do) - if err != nil { - return nil, err - } - - return NewHostDatastoreBrowser(d.c, do.Browser), nil -} - -func (d Datastore) useServiceTicket() bool { - // If connected to workstation, service ticketing not supported - // If connected to ESX, service ticketing not needed - if !d.c.IsVC() { - return false - } - - key := "GOVMOMI_USE_SERVICE_TICKET" - - val := d.c.URL().Query().Get(key) - if val == "" { - val = os.Getenv(key) - } - - if val == "1" || val == "true" { - return true - } - - return false -} - -func (d Datastore) useServiceTicketHostName(name string) bool { - // No need if talking directly to ESX. - if !d.c.IsVC() { - return false - } - - // If version happens to be < 5.1 - if name == "" { - return false - } - - // If the HostSystem is using DHCP on a network without dynamic DNS, - // HostSystem.Config.Network.DnsConfig.HostName is set to "localhost" by default. - // This resolves to "localhost.localdomain" by default via /etc/hosts on ESX. - // In that case, we will stick with the HostSystem.Name which is the IP address that - // was used to connect the host to VC. - if name == "localhost.localdomain" { - return false - } - - // Still possible to have HostName that don't resolve via DNS, - // so we default to false. - key := "GOVMOMI_USE_SERVICE_TICKET_HOSTNAME" - - val := d.c.URL().Query().Get(key) - if val == "" { - val = os.Getenv(key) - } - - if val == "1" || val == "true" { - return true - } - - return false -} - -type datastoreServiceTicketHostKey struct{} - -// HostContext returns a Context where the given host will be used for datastore HTTP access -// via the ServiceTicket method. -func (d Datastore) HostContext(ctx context.Context, host *HostSystem) context.Context { - return context.WithValue(ctx, datastoreServiceTicketHostKey{}, host) -} - -// ServiceTicket obtains a ticket via AcquireGenericServiceTicket and returns it an http.Cookie with the url.URL -// that can be used along with the ticket cookie to access the given path. An host is chosen at random unless the -// the given Context was created with a specific host via the HostContext method. -func (d Datastore) ServiceTicket(ctx context.Context, path string, method string) (*url.URL, *http.Cookie, error) { - u := d.NewURL(path) - - host, ok := ctx.Value(datastoreServiceTicketHostKey{}).(*HostSystem) - - if !ok { - if !d.useServiceTicket() { - return u, nil, nil - } - - hosts, err := d.AttachedHosts(ctx) - if err != nil { - return nil, nil, err - } - - if len(hosts) == 0 { - // Fallback to letting vCenter choose a host - return u, nil, nil - } - - // Pick a random attached host - host = hosts[rand.Intn(len(hosts))] - } - - ips, err := host.ManagementIPs(ctx) - if err != nil { - return nil, nil, err - } - - if len(ips) > 0 { - // prefer a ManagementIP - u.Host = ips[0].String() - } else { - // fallback to inventory name - u.Host, err = host.ObjectName(ctx) - if err != nil { - return nil, nil, err - } - } - - // VC datacenter path will not be valid against ESX - q := u.Query() - delete(q, "dcPath") - u.RawQuery = q.Encode() - - spec := types.SessionManagerHttpServiceRequestSpec{ - Url: u.String(), - // See SessionManagerHttpServiceRequestSpecMethod enum - Method: fmt.Sprintf("http%s%s", method[0:1], strings.ToLower(method[1:])), - } - - sm := session.NewManager(d.Client()) - - ticket, err := sm.AcquireGenericServiceTicket(ctx, &spec) - if err != nil { - return nil, nil, err - } - - cookie := &http.Cookie{ - Name: "vmware_cgi_ticket", - Value: ticket.Id, - } - - if d.useServiceTicketHostName(ticket.HostName) { - u.Host = ticket.HostName - } - - d.Client().SetThumbprint(u.Host, ticket.SslThumbprint) - - return u, cookie, nil -} - -func (d Datastore) uploadTicket(ctx context.Context, path string, param *soap.Upload) (*url.URL, *soap.Upload, error) { - p := soap.DefaultUpload - if param != nil { - p = *param // copy - } - - u, ticket, err := d.ServiceTicket(ctx, path, p.Method) - if err != nil { - return nil, nil, err - } - - p.Ticket = ticket - - return u, &p, nil -} - -func (d Datastore) downloadTicket(ctx context.Context, path string, param *soap.Download) (*url.URL, *soap.Download, error) { - p := soap.DefaultDownload - if param != nil { - p = *param // copy - } - - u, ticket, err := d.ServiceTicket(ctx, path, p.Method) - if err != nil { - return nil, nil, err - } - - p.Ticket = ticket - - return u, &p, nil -} - -// Upload via soap.Upload with an http service ticket -func (d Datastore) Upload(ctx context.Context, f io.Reader, path string, param *soap.Upload) error { - u, p, err := d.uploadTicket(ctx, path, param) - if err != nil { - return err - } - return d.Client().Upload(ctx, f, u, p) -} - -// UploadFile via soap.Upload with an http service ticket -func (d Datastore) UploadFile(ctx context.Context, file string, path string, param *soap.Upload) error { - u, p, err := d.uploadTicket(ctx, path, param) - if err != nil { - return err - } - return d.Client().UploadFile(ctx, file, u, p) -} - -// Download via soap.Download with an http service ticket -func (d Datastore) Download(ctx context.Context, path string, param *soap.Download) (io.ReadCloser, int64, error) { - u, p, err := d.downloadTicket(ctx, path, param) - if err != nil { - return nil, 0, err - } - return d.Client().Download(ctx, u, p) -} - -// DownloadFile via soap.Download with an http service ticket -func (d Datastore) DownloadFile(ctx context.Context, path string, file string, param *soap.Download) error { - u, p, err := d.downloadTicket(ctx, path, param) - if err != nil { - return err - } - return d.Client().DownloadFile(ctx, file, u, p) -} - -// AttachedHosts returns hosts that have this Datastore attached, accessible and writable. -func (d Datastore) AttachedHosts(ctx context.Context) ([]*HostSystem, error) { - var ds mo.Datastore - var hosts []*HostSystem - - pc := property.DefaultCollector(d.Client()) - err := pc.RetrieveOne(ctx, d.Reference(), []string{"host"}, &ds) - if err != nil { - return nil, err - } - - mounts := make(map[types.ManagedObjectReference]types.DatastoreHostMount) - var refs []types.ManagedObjectReference - for _, host := range ds.Host { - refs = append(refs, host.Key) - mounts[host.Key] = host - } - - var hs []mo.HostSystem - err = pc.Retrieve(ctx, refs, []string{"runtime.connectionState", "runtime.powerState"}, &hs) - if err != nil { - return nil, err - } - - for _, host := range hs { - if host.Runtime.ConnectionState == types.HostSystemConnectionStateConnected && - host.Runtime.PowerState == types.HostSystemPowerStatePoweredOn { - - mount := mounts[host.Reference()] - info := mount.MountInfo - - if *info.Mounted && *info.Accessible && info.AccessMode == string(types.HostMountModeReadWrite) { - hosts = append(hosts, NewHostSystem(d.Client(), mount.Key)) - } - } - } - - return hosts, nil -} - -// AttachedClusterHosts returns hosts that have this Datastore attached, accessible and writable and are members of the given cluster. -func (d Datastore) AttachedClusterHosts(ctx context.Context, cluster *ComputeResource) ([]*HostSystem, error) { - var hosts []*HostSystem - - clusterHosts, err := cluster.Hosts(ctx) - if err != nil { - return nil, err - } - - attachedHosts, err := d.AttachedHosts(ctx) - if err != nil { - return nil, err - } - - refs := make(map[types.ManagedObjectReference]bool) - for _, host := range attachedHosts { - refs[host.Reference()] = true - } - - for _, host := range clusterHosts { - if refs[host.Reference()] { - hosts = append(hosts, host) - } - } - - return hosts, nil -} - -func (d Datastore) Stat(ctx context.Context, file string) (types.BaseFileInfo, error) { - b, err := d.Browser(ctx) - if err != nil { - return nil, err - } - - spec := types.HostDatastoreBrowserSearchSpec{ - Details: &types.FileQueryFlags{ - FileType: true, - FileSize: true, - Modification: true, - FileOwner: types.NewBool(true), - }, - MatchPattern: []string{path.Base(file)}, - } - - dsPath := d.Path(path.Dir(file)) - task, err := b.SearchDatastore(ctx, dsPath, &spec) - if err != nil { - return nil, err - } - - info, err := task.WaitForResult(ctx, nil) - if err != nil { - if types.IsFileNotFound(err) { - // FileNotFound means the base path doesn't exist. - return nil, DatastoreNoSuchDirectoryError{"stat", dsPath} - } - - return nil, err - } - - res := info.Result.(types.HostDatastoreBrowserSearchResults) - if len(res.File) == 0 { - // File doesn't exist - return nil, DatastoreNoSuchFileError{"stat", d.Path(file)} - } - - return res.File[0], nil - -} - -// Type returns the type of file system volume. -func (d Datastore) Type(ctx context.Context) (types.HostFileSystemVolumeFileSystemType, error) { - var mds mo.Datastore - - if err := d.Properties(ctx, d.Reference(), []string{"summary.type"}, &mds); err != nil { - return types.HostFileSystemVolumeFileSystemType(""), err - } - return types.HostFileSystemVolumeFileSystemType(mds.Summary.Type), nil -} diff --git a/vendor/github.com/vmware/govmomi/object/datastore_file.go b/vendor/github.com/vmware/govmomi/object/datastore_file.go deleted file mode 100644 index 86d7d9c728f..00000000000 --- a/vendor/github.com/vmware/govmomi/object/datastore_file.go +++ /dev/null @@ -1,412 +0,0 @@ -/* -Copyright (c) 2016-2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "bytes" - "context" - "errors" - "fmt" - "io" - "net/http" - "os" - "path" - "sync" - "time" - - "github.com/vmware/govmomi/vim25/soap" -) - -// DatastoreFile implements io.Reader, io.Seeker and io.Closer interfaces for datastore file access. -type DatastoreFile struct { - d Datastore - ctx context.Context - name string - - buf io.Reader - body io.ReadCloser - length int64 - offset struct { - read, seek int64 - } -} - -// Open opens the named file relative to the Datastore. -func (d Datastore) Open(ctx context.Context, name string) (*DatastoreFile, error) { - return &DatastoreFile{ - d: d, - name: name, - length: -1, - ctx: ctx, - }, nil -} - -// Read reads up to len(b) bytes from the DatastoreFile. -func (f *DatastoreFile) Read(b []byte) (int, error) { - if f.offset.read != f.offset.seek { - // A Seek() call changed the offset, we need to issue a new GET - _ = f.Close() - - f.offset.read = f.offset.seek - } else if f.buf != nil { - // f.buf + f behaves like an io.MultiReader - n, err := f.buf.Read(b) - if err == io.EOF { - f.buf = nil // buffer has been drained - } - if n > 0 { - return n, nil - } - } - - body, err := f.get() - if err != nil { - return 0, err - } - - n, err := body.Read(b) - - f.offset.read += int64(n) - f.offset.seek += int64(n) - - return n, err -} - -// Close closes the DatastoreFile. -func (f *DatastoreFile) Close() error { - var err error - - if f.body != nil { - err = f.body.Close() - f.body = nil - } - - f.buf = nil - - return err -} - -// Seek sets the offset for the next Read on the DatastoreFile. -func (f *DatastoreFile) Seek(offset int64, whence int) (int64, error) { - switch whence { - case io.SeekStart: - case io.SeekCurrent: - offset += f.offset.seek - case io.SeekEnd: - if f.length < 0 { - _, err := f.Stat() - if err != nil { - return 0, err - } - } - offset += f.length - default: - return 0, errors.New("Seek: invalid whence") - } - - // allow negative SeekStart for initial Range request - if offset < 0 { - return 0, errors.New("Seek: invalid offset") - } - - f.offset.seek = offset - - return offset, nil -} - -type fileStat struct { - file *DatastoreFile - header http.Header -} - -func (s *fileStat) Name() string { - return path.Base(s.file.name) -} - -func (s *fileStat) Size() int64 { - return s.file.length -} - -func (s *fileStat) Mode() os.FileMode { - return 0 -} - -func (s *fileStat) ModTime() time.Time { - return time.Now() // no Last-Modified -} - -func (s *fileStat) IsDir() bool { - return false -} - -func (s *fileStat) Sys() interface{} { - return s.header -} - -func statusError(res *http.Response) error { - if res.StatusCode == http.StatusNotFound { - return os.ErrNotExist - } - return errors.New(res.Status) -} - -// Stat returns the os.FileInfo interface describing file. -func (f *DatastoreFile) Stat() (os.FileInfo, error) { - // TODO: consider using Datastore.Stat() instead - u, p, err := f.d.downloadTicket(f.ctx, f.name, &soap.Download{Method: "HEAD"}) - if err != nil { - return nil, err - } - - res, err := f.d.Client().DownloadRequest(f.ctx, u, p) - if err != nil { - return nil, err - } - - if res.StatusCode != http.StatusOK { - return nil, statusError(res) - } - - f.length = res.ContentLength - - return &fileStat{f, res.Header}, nil -} - -func (f *DatastoreFile) get() (io.Reader, error) { - if f.body != nil { - return f.body, nil - } - - u, p, err := f.d.downloadTicket(f.ctx, f.name, nil) - if err != nil { - return nil, err - } - - if f.offset.read != 0 { - p.Headers = map[string]string{ - "Range": fmt.Sprintf("bytes=%d-", f.offset.read), - } - } - - res, err := f.d.Client().DownloadRequest(f.ctx, u, p) - if err != nil { - return nil, err - } - - switch res.StatusCode { - case http.StatusOK: - f.length = res.ContentLength - case http.StatusPartialContent: - var start, end int - cr := res.Header.Get("Content-Range") - _, err = fmt.Sscanf(cr, "bytes %d-%d/%d", &start, &end, &f.length) - if err != nil { - f.length = -1 - } - case http.StatusRequestedRangeNotSatisfiable: - // ok: Read() will return io.EOF - default: - return nil, statusError(res) - } - - if f.length < 0 { - _ = res.Body.Close() - return nil, errors.New("unable to determine file size") - } - - f.body = res.Body - - return f.body, nil -} - -func lastIndexLines(s []byte, line *int, include func(l int, m string) bool) (int64, bool) { - i := len(s) - 1 - done := false - - for i > 0 { - o := bytes.LastIndexByte(s[:i], '\n') - if o < 0 { - break - } - - msg := string(s[o+1 : i+1]) - if !include(*line, msg) { - done = true - break - } else { - i = o - *line++ - } - } - - return int64(i), done -} - -// Tail seeks to the position of the last N lines of the file. -func (f *DatastoreFile) Tail(n int) error { - return f.TailFunc(n, func(line int, _ string) bool { return n > line }) -} - -// TailFunc will seek backwards in the datastore file until it hits a line that does -// not satisfy the supplied `include` function. -func (f *DatastoreFile) TailFunc(lines int, include func(line int, message string) bool) error { - // Read the file in reverse using bsize chunks - const bsize = int64(1024 * 16) - - fsize, err := f.Seek(0, io.SeekEnd) - if err != nil { - return err - } - - if lines == 0 { - return nil - } - - chunk := int64(-1) - - buf := bytes.NewBuffer(make([]byte, 0, bsize)) - line := 0 - - for { - var eof bool - var pos int64 - - nread := bsize - - offset := chunk * bsize - remain := fsize + offset - - if remain < 0 { - if pos, err = f.Seek(0, io.SeekStart); err != nil { - return err - } - - nread = bsize + remain - eof = true - } else if pos, err = f.Seek(offset, io.SeekEnd); err != nil { - return err - } - - if _, err = io.CopyN(buf, f, nread); err != nil { - if err != io.EOF { - return err - } - } - - b := buf.Bytes() - idx, done := lastIndexLines(b, &line, include) - - if done { - if chunk == -1 { - // We found all N lines in the last chunk of the file. - // The seek offset is also now at the current end of file. - // Save this buffer to avoid another GET request when Read() is called. - buf.Next(int(idx + 1)) - f.buf = buf - return nil - } - - if _, err = f.Seek(pos+idx+1, io.SeekStart); err != nil { - return err - } - - break - } - - if eof { - if remain < 0 { - // We found < N lines in the entire file, so seek to the start. - _, _ = f.Seek(0, io.SeekStart) - } - break - } - - chunk-- - buf.Reset() - } - - return nil -} - -type followDatastoreFile struct { - r *DatastoreFile - c chan struct{} - i time.Duration - o sync.Once -} - -// Read reads up to len(b) bytes from the DatastoreFile being followed. -// This method will block until data is read, an error other than io.EOF is returned or Close() is called. -func (f *followDatastoreFile) Read(p []byte) (int, error) { - offset := f.r.offset.seek - stop := false - - for { - n, err := f.r.Read(p) - if err != nil && err == io.EOF { - _ = f.r.Close() // GET request body has been drained. - if stop { - return n, err - } - err = nil - } - - if n > 0 { - return n, err - } - - select { - case <-f.c: - // Wake up and stop polling once the body has been drained - stop = true - case <-time.After(f.i): - } - - info, serr := f.r.Stat() - if serr != nil { - // Return EOF rather than 404 if the file goes away - if serr == os.ErrNotExist { - _ = f.r.Close() - return 0, io.EOF - } - return 0, serr - } - - if info.Size() < offset { - // assume file has be truncated - offset, err = f.r.Seek(0, io.SeekStart) - if err != nil { - return 0, err - } - } - } -} - -// Close will stop Follow polling and close the underlying DatastoreFile. -func (f *followDatastoreFile) Close() error { - f.o.Do(func() { close(f.c) }) - return nil -} - -// Follow returns an io.ReadCloser to stream the file contents as data is appended. -func (f *DatastoreFile) Follow(interval time.Duration) io.ReadCloser { - return &followDatastoreFile{ - r: f, - c: make(chan struct{}), - i: interval, - } -} diff --git a/vendor/github.com/vmware/govmomi/object/datastore_file_manager.go b/vendor/github.com/vmware/govmomi/object/datastore_file_manager.go deleted file mode 100644 index a6e29c2c563..00000000000 --- a/vendor/github.com/vmware/govmomi/object/datastore_file_manager.go +++ /dev/null @@ -1,228 +0,0 @@ -/* -Copyright (c) 2017-2018 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "bufio" - "bytes" - "context" - "fmt" - "io" - "log" - "path" - "strings" - - "github.com/vmware/govmomi/vim25/progress" - "github.com/vmware/govmomi/vim25/soap" -) - -// DatastoreFileManager combines FileManager and VirtualDiskManager to manage files on a Datastore -type DatastoreFileManager struct { - Datacenter *Datacenter - Datastore *Datastore - FileManager *FileManager - VirtualDiskManager *VirtualDiskManager - - Force bool - DatacenterTarget *Datacenter -} - -// NewFileManager creates a new instance of DatastoreFileManager -func (d Datastore) NewFileManager(dc *Datacenter, force bool) *DatastoreFileManager { - c := d.Client() - - m := &DatastoreFileManager{ - Datacenter: dc, - Datastore: &d, - FileManager: NewFileManager(c), - VirtualDiskManager: NewVirtualDiskManager(c), - Force: force, - DatacenterTarget: dc, - } - - return m -} - -func (m *DatastoreFileManager) WithProgress(ctx context.Context, s progress.Sinker) context.Context { - return context.WithValue(ctx, m, s) -} - -func (m *DatastoreFileManager) wait(ctx context.Context, task *Task) error { - var logger progress.Sinker - if s, ok := ctx.Value(m).(progress.Sinker); ok { - logger = s - } - _, err := task.WaitForResult(ctx, logger) - return err -} - -// Delete dispatches to the appropriate Delete method based on file name extension -func (m *DatastoreFileManager) Delete(ctx context.Context, name string) error { - switch path.Ext(name) { - case ".vmdk": - return m.DeleteVirtualDisk(ctx, name) - default: - return m.DeleteFile(ctx, name) - } -} - -// DeleteFile calls FileManager.DeleteDatastoreFile -func (m *DatastoreFileManager) DeleteFile(ctx context.Context, name string) error { - p := m.Path(name) - - task, err := m.FileManager.DeleteDatastoreFile(ctx, p.String(), m.Datacenter) - if err != nil { - return err - } - - return m.wait(ctx, task) -} - -// DeleteVirtualDisk calls VirtualDiskManager.DeleteVirtualDisk -// Regardless of the Datastore type, DeleteVirtualDisk will fail if 'ddb.deletable=false', -// so if Force=true this method attempts to set 'ddb.deletable=true' before starting the delete task. -func (m *DatastoreFileManager) DeleteVirtualDisk(ctx context.Context, name string) error { - p := m.Path(name) - - var merr error - - if m.Force { - merr = m.markDiskAsDeletable(ctx, p) - } - - task, err := m.VirtualDiskManager.DeleteVirtualDisk(ctx, p.String(), m.Datacenter) - if err != nil { - log.Printf("markDiskAsDeletable(%s): %s", p, merr) - return err - } - - return m.wait(ctx, task) -} - -// CopyFile calls FileManager.CopyDatastoreFile -func (m *DatastoreFileManager) CopyFile(ctx context.Context, src string, dst string) error { - srcp := m.Path(src) - dstp := m.Path(dst) - - task, err := m.FileManager.CopyDatastoreFile(ctx, srcp.String(), m.Datacenter, dstp.String(), m.DatacenterTarget, m.Force) - if err != nil { - return err - } - - return m.wait(ctx, task) -} - -// Copy dispatches to the appropriate FileManager or VirtualDiskManager Copy method based on file name extension -func (m *DatastoreFileManager) Copy(ctx context.Context, src string, dst string) error { - srcp := m.Path(src) - dstp := m.Path(dst) - - f := m.FileManager.CopyDatastoreFile - - if srcp.IsVMDK() { - // types.VirtualDiskSpec=nil as it is not implemented by vCenter - f = func(ctx context.Context, src string, srcDC *Datacenter, dst string, dstDC *Datacenter, force bool) (*Task, error) { - return m.VirtualDiskManager.CopyVirtualDisk(ctx, src, srcDC, dst, dstDC, nil, force) - } - } - - task, err := f(ctx, srcp.String(), m.Datacenter, dstp.String(), m.DatacenterTarget, m.Force) - if err != nil { - return err - } - - return m.wait(ctx, task) -} - -// MoveFile calls FileManager.MoveDatastoreFile -func (m *DatastoreFileManager) MoveFile(ctx context.Context, src string, dst string) error { - srcp := m.Path(src) - dstp := m.Path(dst) - - task, err := m.FileManager.MoveDatastoreFile(ctx, srcp.String(), m.Datacenter, dstp.String(), m.DatacenterTarget, m.Force) - if err != nil { - return err - } - - return m.wait(ctx, task) -} - -// Move dispatches to the appropriate FileManager or VirtualDiskManager Move method based on file name extension -func (m *DatastoreFileManager) Move(ctx context.Context, src string, dst string) error { - srcp := m.Path(src) - dstp := m.Path(dst) - - f := m.FileManager.MoveDatastoreFile - - if srcp.IsVMDK() { - f = m.VirtualDiskManager.MoveVirtualDisk - } - - task, err := f(ctx, srcp.String(), m.Datacenter, dstp.String(), m.DatacenterTarget, m.Force) - if err != nil { - return err - } - - return m.wait(ctx, task) -} - -// Path converts path name to a DatastorePath -func (m *DatastoreFileManager) Path(name string) *DatastorePath { - var p DatastorePath - - if !p.FromString(name) { - p.Path = name - p.Datastore = m.Datastore.Name() - } - - return &p -} - -func (m *DatastoreFileManager) markDiskAsDeletable(ctx context.Context, path *DatastorePath) error { - r, _, err := m.Datastore.Download(ctx, path.Path, &soap.DefaultDownload) - if err != nil { - return err - } - - defer r.Close() - - hasFlag := false - buf := new(bytes.Buffer) - - s := bufio.NewScanner(&io.LimitedReader{R: r, N: 2048}) // should be only a few hundred bytes, limit to be sure - - for s.Scan() { - line := s.Text() - if strings.HasPrefix(line, "ddb.deletable") { - hasFlag = true - continue - } - - fmt.Fprintln(buf, line) - } - - if err := s.Err(); err != nil { - return err // any error other than EOF - } - - if !hasFlag { - return nil // already deletable, so leave as-is - } - - // rewrite the .vmdk with ddb.deletable flag removed (the default is true) - return m.Datastore.Upload(ctx, buf, path.Path, &soap.DefaultUpload) -} diff --git a/vendor/github.com/vmware/govmomi/object/datastore_path.go b/vendor/github.com/vmware/govmomi/object/datastore_path.go deleted file mode 100644 index 104c7dfe35e..00000000000 --- a/vendor/github.com/vmware/govmomi/object/datastore_path.go +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2016 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "fmt" - "path" - "strings" -) - -// DatastorePath contains the components of a datastore path. -type DatastorePath struct { - Datastore string - Path string -} - -// FromString parses a datastore path. -// Returns true if the path could be parsed, false otherwise. -func (p *DatastorePath) FromString(s string) bool { - if s == "" { - return false - } - - s = strings.TrimSpace(s) - - if !strings.HasPrefix(s, "[") { - return false - } - - s = s[1:] - - ix := strings.Index(s, "]") - if ix < 0 { - return false - } - - p.Datastore = s[:ix] - p.Path = strings.TrimSpace(s[ix+1:]) - - return true -} - -// String formats a datastore path. -func (p *DatastorePath) String() string { - s := fmt.Sprintf("[%s]", p.Datastore) - - if p.Path == "" { - return s - } - - return strings.Join([]string{s, p.Path}, " ") -} - -// IsVMDK returns true if Path has a ".vmdk" extension -func (p *DatastorePath) IsVMDK() bool { - return path.Ext(p.Path) == ".vmdk" -} diff --git a/vendor/github.com/vmware/govmomi/object/diagnostic_log.go b/vendor/github.com/vmware/govmomi/object/diagnostic_log.go deleted file mode 100644 index 466d0ee915b..00000000000 --- a/vendor/github.com/vmware/govmomi/object/diagnostic_log.go +++ /dev/null @@ -1,76 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "context" - "fmt" - "io" - "math" -) - -// DiagnosticLog wraps DiagnosticManager.BrowseLog -type DiagnosticLog struct { - m DiagnosticManager - - Key string - Host *HostSystem - - Start int32 -} - -// Seek to log position starting at the last nlines of the log -func (l *DiagnosticLog) Seek(ctx context.Context, nlines int32) error { - h, err := l.m.BrowseLog(ctx, l.Host, l.Key, math.MaxInt32, 0) - if err != nil { - return err - } - - l.Start = h.LineEnd - nlines - - return nil -} - -// Copy log starting from l.Start to the given io.Writer -// Returns on error or when end of log is reached. -func (l *DiagnosticLog) Copy(ctx context.Context, w io.Writer) (int, error) { - const max = 500 // VC max == 500, ESX max == 1000 - written := 0 - - for { - h, err := l.m.BrowseLog(ctx, l.Host, l.Key, l.Start, max) - if err != nil { - return 0, err - } - - for _, line := range h.LineText { - n, err := fmt.Fprintln(w, line) - written += n - if err != nil { - return written, err - } - } - - l.Start += int32(len(h.LineText)) - - if l.Start >= h.LineEnd { - break - } - } - - return written, nil -} diff --git a/vendor/github.com/vmware/govmomi/object/diagnostic_manager.go b/vendor/github.com/vmware/govmomi/object/diagnostic_manager.go deleted file mode 100644 index 026dc1cb5e6..00000000000 --- a/vendor/github.com/vmware/govmomi/object/diagnostic_manager.go +++ /dev/null @@ -1,102 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "context" - - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/types" -) - -type DiagnosticManager struct { - Common -} - -func NewDiagnosticManager(c *vim25.Client) *DiagnosticManager { - m := DiagnosticManager{ - Common: NewCommon(c, *c.ServiceContent.DiagnosticManager), - } - - return &m -} - -func (m DiagnosticManager) Log(ctx context.Context, host *HostSystem, key string) *DiagnosticLog { - return &DiagnosticLog{ - m: m, - Key: key, - Host: host, - } -} - -func (m DiagnosticManager) BrowseLog(ctx context.Context, host *HostSystem, key string, start, lines int32) (*types.DiagnosticManagerLogHeader, error) { - req := types.BrowseDiagnosticLog{ - This: m.Reference(), - Key: key, - Start: start, - Lines: lines, - } - - if host != nil { - ref := host.Reference() - req.Host = &ref - } - - res, err := methods.BrowseDiagnosticLog(ctx, m.Client(), &req) - if err != nil { - return nil, err - } - - return &res.Returnval, nil -} - -func (m DiagnosticManager) GenerateLogBundles(ctx context.Context, includeDefault bool, host []*HostSystem) (*Task, error) { - req := types.GenerateLogBundles_Task{ - This: m.Reference(), - IncludeDefault: includeDefault, - } - - for _, h := range host { - req.Host = append(req.Host, h.Reference()) - } - - res, err := methods.GenerateLogBundles_Task(ctx, m.c, &req) - if err != nil { - return nil, err - } - - return NewTask(m.c, res.Returnval), nil -} - -func (m DiagnosticManager) QueryDescriptions(ctx context.Context, host *HostSystem) ([]types.DiagnosticManagerLogDescriptor, error) { - req := types.QueryDescriptions{ - This: m.Reference(), - } - - if host != nil { - ref := host.Reference() - req.Host = &ref - } - - res, err := methods.QueryDescriptions(ctx, m.Client(), &req) - if err != nil { - return nil, err - } - - return res.Returnval, nil -} diff --git a/vendor/github.com/vmware/govmomi/object/distributed_virtual_portgroup.go b/vendor/github.com/vmware/govmomi/object/distributed_virtual_portgroup.go deleted file mode 100644 index c2abb8fabde..00000000000 --- a/vendor/github.com/vmware/govmomi/object/distributed_virtual_portgroup.go +++ /dev/null @@ -1,90 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "context" - "fmt" - - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/types" -) - -type DistributedVirtualPortgroup struct { - Common -} - -func NewDistributedVirtualPortgroup(c *vim25.Client, ref types.ManagedObjectReference) *DistributedVirtualPortgroup { - return &DistributedVirtualPortgroup{ - Common: NewCommon(c, ref), - } -} - -func (p DistributedVirtualPortgroup) GetInventoryPath() string { - return p.InventoryPath -} - -// EthernetCardBackingInfo returns the VirtualDeviceBackingInfo for this DistributedVirtualPortgroup -func (p DistributedVirtualPortgroup) EthernetCardBackingInfo(ctx context.Context) (types.BaseVirtualDeviceBackingInfo, error) { - var dvp mo.DistributedVirtualPortgroup - var dvs mo.DistributedVirtualSwitch - prop := "config.distributedVirtualSwitch" - - if err := p.Properties(ctx, p.Reference(), []string{"key", prop}, &dvp); err != nil { - return nil, err - } - - // From the docs at https://code.vmware.com/apis/196/vsphere/doc/vim.dvs.DistributedVirtualPortgroup.ConfigInfo.html: - // "This property should always be set unless the user's setting does not have System.Read privilege on the object referred to by this property." - // Note that "the object" refers to the Switch, not the PortGroup. - if dvp.Config.DistributedVirtualSwitch == nil { - name := p.InventoryPath - if name == "" { - name = p.Reference().String() - } - return nil, fmt.Errorf("failed to create EthernetCardBackingInfo for %s: System.Read privilege required for %s", name, prop) - } - - if err := p.Properties(ctx, *dvp.Config.DistributedVirtualSwitch, []string{"uuid"}, &dvs); err != nil { - return nil, err - } - - backing := &types.VirtualEthernetCardDistributedVirtualPortBackingInfo{ - Port: types.DistributedVirtualSwitchPortConnection{ - PortgroupKey: dvp.Key, - SwitchUuid: dvs.Uuid, - }, - } - - return backing, nil -} - -func (p DistributedVirtualPortgroup) Reconfigure(ctx context.Context, spec types.DVPortgroupConfigSpec) (*Task, error) { - req := types.ReconfigureDVPortgroup_Task{ - This: p.Reference(), - Spec: spec, - } - - res, err := methods.ReconfigureDVPortgroup_Task(ctx, p.Client(), &req) - if err != nil { - return nil, err - } - - return NewTask(p.Client(), res.Returnval), nil -} diff --git a/vendor/github.com/vmware/govmomi/object/distributed_virtual_switch.go b/vendor/github.com/vmware/govmomi/object/distributed_virtual_switch.go deleted file mode 100644 index 66650e1d06b..00000000000 --- a/vendor/github.com/vmware/govmomi/object/distributed_virtual_switch.go +++ /dev/null @@ -1,118 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "context" - "fmt" - - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/types" -) - -type DistributedVirtualSwitch struct { - Common -} - -func NewDistributedVirtualSwitch(c *vim25.Client, ref types.ManagedObjectReference) *DistributedVirtualSwitch { - return &DistributedVirtualSwitch{ - Common: NewCommon(c, ref), - } -} - -func (s DistributedVirtualSwitch) GetInventoryPath() string { - return s.InventoryPath -} - -func (s DistributedVirtualSwitch) EthernetCardBackingInfo(ctx context.Context) (types.BaseVirtualDeviceBackingInfo, error) { - ref := s.Reference() - name := s.InventoryPath - if name == "" { - name = ref.String() - } - return nil, fmt.Errorf("type %s (%s) cannot be used for EthernetCardBackingInfo", ref.Type, name) -} - -func (s DistributedVirtualSwitch) Reconfigure(ctx context.Context, spec types.BaseDVSConfigSpec) (*Task, error) { - req := types.ReconfigureDvs_Task{ - This: s.Reference(), - Spec: spec, - } - - res, err := methods.ReconfigureDvs_Task(ctx, s.Client(), &req) - if err != nil { - return nil, err - } - - return NewTask(s.Client(), res.Returnval), nil -} - -func (s DistributedVirtualSwitch) AddPortgroup(ctx context.Context, spec []types.DVPortgroupConfigSpec) (*Task, error) { - req := types.AddDVPortgroup_Task{ - This: s.Reference(), - Spec: spec, - } - - res, err := methods.AddDVPortgroup_Task(ctx, s.Client(), &req) - if err != nil { - return nil, err - } - - return NewTask(s.Client(), res.Returnval), nil -} - -func (s DistributedVirtualSwitch) FetchDVPorts(ctx context.Context, criteria *types.DistributedVirtualSwitchPortCriteria) ([]types.DistributedVirtualPort, error) { - req := &types.FetchDVPorts{ - This: s.Reference(), - Criteria: criteria, - } - - res, err := methods.FetchDVPorts(ctx, s.Client(), req) - if err != nil { - return nil, err - } - return res.Returnval, nil -} - -func (s DistributedVirtualSwitch) ReconfigureDVPort(ctx context.Context, spec []types.DVPortConfigSpec) (*Task, error) { - req := types.ReconfigureDVPort_Task{ - This: s.Reference(), - Port: spec, - } - - res, err := methods.ReconfigureDVPort_Task(ctx, s.Client(), &req) - if err != nil { - return nil, err - } - - return NewTask(s.Client(), res.Returnval), nil -} - -func (s DistributedVirtualSwitch) ReconfigureLACP(ctx context.Context, spec []types.VMwareDvsLacpGroupSpec) (*Task, error) { - req := types.UpdateDVSLacpGroupConfig_Task{ - This: s.Reference(), - LacpGroupSpec: spec, - } - - res, err := methods.UpdateDVSLacpGroupConfig_Task(ctx, s.Client(), &req) - if err != nil { - return nil, err - } - - return NewTask(s.Client(), res.Returnval), nil -} diff --git a/vendor/github.com/vmware/govmomi/object/extension_manager.go b/vendor/github.com/vmware/govmomi/object/extension_manager.go deleted file mode 100644 index 94ade017c2a..00000000000 --- a/vendor/github.com/vmware/govmomi/object/extension_manager.go +++ /dev/null @@ -1,113 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "context" - - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/types" -) - -type ExtensionManager struct { - Common -} - -// GetExtensionManager wraps NewExtensionManager, returning ErrNotSupported -// when the client is not connected to a vCenter instance. -func GetExtensionManager(c *vim25.Client) (*ExtensionManager, error) { - if c.ServiceContent.ExtensionManager == nil { - return nil, ErrNotSupported - } - return NewExtensionManager(c), nil -} - -func NewExtensionManager(c *vim25.Client) *ExtensionManager { - o := ExtensionManager{ - Common: NewCommon(c, *c.ServiceContent.ExtensionManager), - } - - return &o -} - -func (m ExtensionManager) List(ctx context.Context) ([]types.Extension, error) { - var em mo.ExtensionManager - - err := m.Properties(ctx, m.Reference(), []string{"extensionList"}, &em) - if err != nil { - return nil, err - } - - return em.ExtensionList, nil -} - -func (m ExtensionManager) Find(ctx context.Context, key string) (*types.Extension, error) { - req := types.FindExtension{ - This: m.Reference(), - ExtensionKey: key, - } - - res, err := methods.FindExtension(ctx, m.c, &req) - if err != nil { - return nil, err - } - - return res.Returnval, nil -} - -func (m ExtensionManager) Register(ctx context.Context, extension types.Extension) error { - req := types.RegisterExtension{ - This: m.Reference(), - Extension: extension, - } - - _, err := methods.RegisterExtension(ctx, m.c, &req) - return err -} - -func (m ExtensionManager) SetCertificate(ctx context.Context, key string, certificatePem string) error { - req := types.SetExtensionCertificate{ - This: m.Reference(), - ExtensionKey: key, - CertificatePem: certificatePem, - } - - _, err := methods.SetExtensionCertificate(ctx, m.c, &req) - return err -} - -func (m ExtensionManager) Unregister(ctx context.Context, key string) error { - req := types.UnregisterExtension{ - This: m.Reference(), - ExtensionKey: key, - } - - _, err := methods.UnregisterExtension(ctx, m.c, &req) - return err -} - -func (m ExtensionManager) Update(ctx context.Context, extension types.Extension) error { - req := types.UpdateExtension{ - This: m.Reference(), - Extension: extension, - } - - _, err := methods.UpdateExtension(ctx, m.c, &req) - return err -} diff --git a/vendor/github.com/vmware/govmomi/object/file_manager.go b/vendor/github.com/vmware/govmomi/object/file_manager.go deleted file mode 100644 index 8e8f5d3b0ce..00000000000 --- a/vendor/github.com/vmware/govmomi/object/file_manager.go +++ /dev/null @@ -1,126 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "context" - - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/types" -) - -type FileManager struct { - Common -} - -func NewFileManager(c *vim25.Client) *FileManager { - f := FileManager{ - Common: NewCommon(c, *c.ServiceContent.FileManager), - } - - return &f -} - -func (f FileManager) CopyDatastoreFile(ctx context.Context, sourceName string, sourceDatacenter *Datacenter, destinationName string, destinationDatacenter *Datacenter, force bool) (*Task, error) { - req := types.CopyDatastoreFile_Task{ - This: f.Reference(), - SourceName: sourceName, - DestinationName: destinationName, - Force: types.NewBool(force), - } - - if sourceDatacenter != nil { - ref := sourceDatacenter.Reference() - req.SourceDatacenter = &ref - } - - if destinationDatacenter != nil { - ref := destinationDatacenter.Reference() - req.DestinationDatacenter = &ref - } - - res, err := methods.CopyDatastoreFile_Task(ctx, f.c, &req) - if err != nil { - return nil, err - } - - return NewTask(f.c, res.Returnval), nil -} - -// DeleteDatastoreFile deletes the specified file or folder from the datastore. -func (f FileManager) DeleteDatastoreFile(ctx context.Context, name string, dc *Datacenter) (*Task, error) { - req := types.DeleteDatastoreFile_Task{ - This: f.Reference(), - Name: name, - } - - if dc != nil { - ref := dc.Reference() - req.Datacenter = &ref - } - - res, err := methods.DeleteDatastoreFile_Task(ctx, f.c, &req) - if err != nil { - return nil, err - } - - return NewTask(f.c, res.Returnval), nil -} - -// MakeDirectory creates a folder using the specified name. -func (f FileManager) MakeDirectory(ctx context.Context, name string, dc *Datacenter, createParentDirectories bool) error { - req := types.MakeDirectory{ - This: f.Reference(), - Name: name, - CreateParentDirectories: types.NewBool(createParentDirectories), - } - - if dc != nil { - ref := dc.Reference() - req.Datacenter = &ref - } - - _, err := methods.MakeDirectory(ctx, f.c, &req) - return err -} - -func (f FileManager) MoveDatastoreFile(ctx context.Context, sourceName string, sourceDatacenter *Datacenter, destinationName string, destinationDatacenter *Datacenter, force bool) (*Task, error) { - req := types.MoveDatastoreFile_Task{ - This: f.Reference(), - SourceName: sourceName, - DestinationName: destinationName, - Force: types.NewBool(force), - } - - if sourceDatacenter != nil { - ref := sourceDatacenter.Reference() - req.SourceDatacenter = &ref - } - - if destinationDatacenter != nil { - ref := destinationDatacenter.Reference() - req.DestinationDatacenter = &ref - } - - res, err := methods.MoveDatastoreFile_Task(ctx, f.c, &req) - if err != nil { - return nil, err - } - - return NewTask(f.c, res.Returnval), nil -} diff --git a/vendor/github.com/vmware/govmomi/object/folder.go b/vendor/github.com/vmware/govmomi/object/folder.go deleted file mode 100644 index 6e0a7649b9d..00000000000 --- a/vendor/github.com/vmware/govmomi/object/folder.go +++ /dev/null @@ -1,241 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "context" - - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/types" -) - -type Folder struct { - Common -} - -func NewFolder(c *vim25.Client, ref types.ManagedObjectReference) *Folder { - return &Folder{ - Common: NewCommon(c, ref), - } -} - -func NewRootFolder(c *vim25.Client) *Folder { - f := NewFolder(c, c.ServiceContent.RootFolder) - f.InventoryPath = "/" - return f -} - -func (f Folder) Children(ctx context.Context) ([]Reference, error) { - var mf mo.Folder - - err := f.Properties(ctx, f.Reference(), []string{"childEntity"}, &mf) - if err != nil { - return nil, err - } - - var rs []Reference - for _, e := range mf.ChildEntity { - if r := NewReference(f.c, e); r != nil { - rs = append(rs, r) - } - } - - return rs, nil -} - -func (f Folder) CreateDatacenter(ctx context.Context, datacenter string) (*Datacenter, error) { - req := types.CreateDatacenter{ - This: f.Reference(), - Name: datacenter, - } - - res, err := methods.CreateDatacenter(ctx, f.c, &req) - if err != nil { - return nil, err - } - - // Response will be nil if this is an ESX host that does not belong to a vCenter - if res == nil { - return nil, nil - } - - return NewDatacenter(f.c, res.Returnval), nil -} - -func (f Folder) CreateCluster(ctx context.Context, cluster string, spec types.ClusterConfigSpecEx) (*ClusterComputeResource, error) { - req := types.CreateClusterEx{ - This: f.Reference(), - Name: cluster, - Spec: spec, - } - - res, err := methods.CreateClusterEx(ctx, f.c, &req) - if err != nil { - return nil, err - } - - // Response will be nil if this is an ESX host that does not belong to a vCenter - if res == nil { - return nil, nil - } - - return NewClusterComputeResource(f.c, res.Returnval), nil -} - -func (f Folder) CreateFolder(ctx context.Context, name string) (*Folder, error) { - req := types.CreateFolder{ - This: f.Reference(), - Name: name, - } - - res, err := methods.CreateFolder(ctx, f.c, &req) - if err != nil { - return nil, err - } - - return NewFolder(f.c, res.Returnval), err -} - -func (f Folder) CreateStoragePod(ctx context.Context, name string) (*StoragePod, error) { - req := types.CreateStoragePod{ - This: f.Reference(), - Name: name, - } - - res, err := methods.CreateStoragePod(ctx, f.c, &req) - if err != nil { - return nil, err - } - - return NewStoragePod(f.c, res.Returnval), err -} - -func (f Folder) AddStandaloneHost(ctx context.Context, spec types.HostConnectSpec, addConnected bool, license *string, compResSpec *types.BaseComputeResourceConfigSpec) (*Task, error) { - req := types.AddStandaloneHost_Task{ - This: f.Reference(), - Spec: spec, - AddConnected: addConnected, - } - - if license != nil { - req.License = *license - } - - if compResSpec != nil { - req.CompResSpec = *compResSpec - } - - res, err := methods.AddStandaloneHost_Task(ctx, f.c, &req) - if err != nil { - return nil, err - } - - return NewTask(f.c, res.Returnval), nil -} - -func (f Folder) CreateVM(ctx context.Context, config types.VirtualMachineConfigSpec, pool *ResourcePool, host *HostSystem) (*Task, error) { - req := types.CreateVM_Task{ - This: f.Reference(), - Config: config, - Pool: pool.Reference(), - } - - if host != nil { - ref := host.Reference() - req.Host = &ref - } - - res, err := methods.CreateVM_Task(ctx, f.c, &req) - if err != nil { - return nil, err - } - - return NewTask(f.c, res.Returnval), nil -} - -func (f Folder) RegisterVM(ctx context.Context, path string, name string, asTemplate bool, pool *ResourcePool, host *HostSystem) (*Task, error) { - req := types.RegisterVM_Task{ - This: f.Reference(), - Path: path, - AsTemplate: asTemplate, - } - - if name != "" { - req.Name = name - } - - if host != nil { - ref := host.Reference() - req.Host = &ref - } - - if pool != nil { - ref := pool.Reference() - req.Pool = &ref - } - - res, err := methods.RegisterVM_Task(ctx, f.c, &req) - if err != nil { - return nil, err - } - - return NewTask(f.c, res.Returnval), nil -} - -func (f Folder) CreateDVS(ctx context.Context, spec types.DVSCreateSpec) (*Task, error) { - req := types.CreateDVS_Task{ - This: f.Reference(), - Spec: spec, - } - - res, err := methods.CreateDVS_Task(ctx, f.c, &req) - if err != nil { - return nil, err - } - - return NewTask(f.c, res.Returnval), nil -} - -func (f Folder) MoveInto(ctx context.Context, list []types.ManagedObjectReference) (*Task, error) { - req := types.MoveIntoFolder_Task{ - This: f.Reference(), - List: list, - } - - res, err := methods.MoveIntoFolder_Task(ctx, f.c, &req) - if err != nil { - return nil, err - } - - return NewTask(f.c, res.Returnval), nil -} - -func (f Folder) PlaceVmsXCluster(ctx context.Context, spec types.PlaceVmsXClusterSpec) (*types.PlaceVmsXClusterResult, error) { - req := types.PlaceVmsXCluster{ - This: f.Reference(), - PlacementSpec: spec, - } - - res, err := methods.PlaceVmsXCluster(ctx, f.c, &req) - if err != nil { - return nil, err - } - - return &res.Returnval, nil -} diff --git a/vendor/github.com/vmware/govmomi/object/host_account_manager.go b/vendor/github.com/vmware/govmomi/object/host_account_manager.go deleted file mode 100644 index 640aff86031..00000000000 --- a/vendor/github.com/vmware/govmomi/object/host_account_manager.go +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2016 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "context" - - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/types" -) - -type HostAccountManager struct { - Common -} - -func NewHostAccountManager(c *vim25.Client, ref types.ManagedObjectReference) *HostAccountManager { - return &HostAccountManager{ - Common: NewCommon(c, ref), - } -} - -func (m HostAccountManager) Create(ctx context.Context, user *types.HostAccountSpec) error { - req := types.CreateUser{ - This: m.Reference(), - User: user, - } - - _, err := methods.CreateUser(ctx, m.Client(), &req) - return err -} - -func (m HostAccountManager) Update(ctx context.Context, user *types.HostAccountSpec) error { - req := types.UpdateUser{ - This: m.Reference(), - User: user, - } - - _, err := methods.UpdateUser(ctx, m.Client(), &req) - return err -} - -func (m HostAccountManager) Remove(ctx context.Context, userName string) error { - req := types.RemoveUser{ - This: m.Reference(), - UserName: userName, - } - - _, err := methods.RemoveUser(ctx, m.Client(), &req) - return err -} diff --git a/vendor/github.com/vmware/govmomi/object/host_certificate_info.go b/vendor/github.com/vmware/govmomi/object/host_certificate_info.go deleted file mode 100644 index bb5ee9c9161..00000000000 --- a/vendor/github.com/vmware/govmomi/object/host_certificate_info.go +++ /dev/null @@ -1,247 +0,0 @@ -/* -Copyright (c) 2016 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "crypto/sha256" - "crypto/tls" - "crypto/x509" - "crypto/x509/pkix" - "encoding/asn1" - "fmt" - "io" - "net/url" - "strings" - "text/tabwriter" - - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -// HostCertificateInfo provides helpers for types.HostCertificateManagerCertificateInfo -type HostCertificateInfo struct { - types.HostCertificateManagerCertificateInfo - - ThumbprintSHA1 string - ThumbprintSHA256 string - - Err error - Certificate *x509.Certificate `json:"-"` - - subjectName *pkix.Name - issuerName *pkix.Name -} - -// FromCertificate converts x509.Certificate to HostCertificateInfo -func (info *HostCertificateInfo) FromCertificate(cert *x509.Certificate) *HostCertificateInfo { - info.Certificate = cert - info.subjectName = &cert.Subject - info.issuerName = &cert.Issuer - - info.Issuer = info.fromName(info.issuerName) - info.NotBefore = &cert.NotBefore - info.NotAfter = &cert.NotAfter - info.Subject = info.fromName(info.subjectName) - - info.ThumbprintSHA1 = soap.ThumbprintSHA1(cert) - - // SHA-256 for info purposes only, API fields all use SHA-1 - sum := sha256.Sum256(cert.Raw) - hex := make([]string, len(sum)) - for i, b := range sum { - hex[i] = fmt.Sprintf("%02X", b) - } - info.ThumbprintSHA256 = strings.Join(hex, ":") - - if info.Status == "" { - info.Status = string(types.HostCertificateManagerCertificateInfoCertificateStatusUnknown) - } - - return info -} - -// FromURL connects to the given URL.Host via tls.Dial with the given tls.Config and populates the HostCertificateInfo -// via tls.ConnectionState. If the certificate was verified with the given tls.Config, the Err field will be nil. -// Otherwise, Err will be set to the x509.UnknownAuthorityError or x509.HostnameError. -// If tls.Dial returns an error of any other type, that error is returned. -func (info *HostCertificateInfo) FromURL(u *url.URL, config *tls.Config) error { - addr := u.Host - if !(strings.LastIndex(addr, ":") > strings.LastIndex(addr, "]")) { - addr += ":443" - } - - conn, err := tls.Dial("tcp", addr, config) - if err != nil { - if !soap.IsCertificateUntrusted(err) { - return err - } - - info.Err = err - - conn, err = tls.Dial("tcp", addr, &tls.Config{InsecureSkipVerify: true}) - if err != nil { - return err - } - } else { - info.Status = string(types.HostCertificateManagerCertificateInfoCertificateStatusGood) - } - - state := conn.ConnectionState() - _ = conn.Close() - info.FromCertificate(state.PeerCertificates[0]) - - return nil -} - -var emailAddressOID = asn1.ObjectIdentifier{1, 2, 840, 113549, 1, 9, 1} - -func (info *HostCertificateInfo) fromName(name *pkix.Name) string { - var attrs []string - - oids := map[string]string{ - emailAddressOID.String(): "emailAddress", - } - - for _, attr := range name.Names { - if key, ok := oids[attr.Type.String()]; ok { - attrs = append(attrs, fmt.Sprintf("%s=%s", key, attr.Value)) - } - } - - attrs = append(attrs, fmt.Sprintf("CN=%s", name.CommonName)) - - add := func(key string, vals []string) { - for _, val := range vals { - attrs = append(attrs, fmt.Sprintf("%s=%s", key, val)) - } - } - - elts := []struct { - key string - val []string - }{ - {"OU", name.OrganizationalUnit}, - {"O", name.Organization}, - {"L", name.Locality}, - {"ST", name.Province}, - {"C", name.Country}, - } - - for _, elt := range elts { - add(elt.key, elt.val) - } - - return strings.Join(attrs, ",") -} - -func (info *HostCertificateInfo) toName(s string) *pkix.Name { - var name pkix.Name - - for _, pair := range strings.Split(s, ",") { - attr := strings.SplitN(pair, "=", 2) - if len(attr) != 2 { - continue - } - - v := attr[1] - - switch strings.ToLower(attr[0]) { - case "cn": - name.CommonName = v - case "ou": - name.OrganizationalUnit = append(name.OrganizationalUnit, v) - case "o": - name.Organization = append(name.Organization, v) - case "l": - name.Locality = append(name.Locality, v) - case "st": - name.Province = append(name.Province, v) - case "c": - name.Country = append(name.Country, v) - case "emailaddress": - name.Names = append(name.Names, pkix.AttributeTypeAndValue{Type: emailAddressOID, Value: v}) - } - } - - return &name -} - -// SubjectName parses Subject into a pkix.Name -func (info *HostCertificateInfo) SubjectName() *pkix.Name { - if info.subjectName != nil { - return info.subjectName - } - - return info.toName(info.Subject) -} - -// IssuerName parses Issuer into a pkix.Name -func (info *HostCertificateInfo) IssuerName() *pkix.Name { - if info.issuerName != nil { - return info.issuerName - } - - return info.toName(info.Issuer) -} - -// Write outputs info similar to the Chrome Certificate Viewer. -func (info *HostCertificateInfo) Write(w io.Writer) error { - tw := tabwriter.NewWriter(w, 2, 0, 2, ' ', 0) - - s := func(val string) string { - if val != "" { - return val - } - return "" - } - - ss := func(val []string) string { - return s(strings.Join(val, ",")) - } - - name := func(n *pkix.Name) { - fmt.Fprintf(tw, " Common Name (CN):\t%s\n", s(n.CommonName)) - fmt.Fprintf(tw, " Organization (O):\t%s\n", ss(n.Organization)) - fmt.Fprintf(tw, " Organizational Unit (OU):\t%s\n", ss(n.OrganizationalUnit)) - } - - status := info.Status - if info.Err != nil { - status = fmt.Sprintf("ERROR %s", info.Err) - } - fmt.Fprintf(tw, "Certificate Status:\t%s\n", status) - - fmt.Fprintln(tw, "Issued To:\t") - name(info.SubjectName()) - - fmt.Fprintln(tw, "Issued By:\t") - name(info.IssuerName()) - - fmt.Fprintln(tw, "Validity Period:\t") - fmt.Fprintf(tw, " Issued On:\t%s\n", info.NotBefore) - fmt.Fprintf(tw, " Expires On:\t%s\n", info.NotAfter) - - if info.ThumbprintSHA1 != "" { - fmt.Fprintln(tw, "Thumbprints:\t") - if info.ThumbprintSHA256 != "" { - fmt.Fprintf(tw, " SHA-256 Thumbprint:\t%s\n", info.ThumbprintSHA256) - } - fmt.Fprintf(tw, " SHA-1 Thumbprint:\t%s\n", info.ThumbprintSHA1) - } - - return tw.Flush() -} diff --git a/vendor/github.com/vmware/govmomi/object/host_certificate_manager.go b/vendor/github.com/vmware/govmomi/object/host_certificate_manager.go deleted file mode 100644 index ddf1d8c592d..00000000000 --- a/vendor/github.com/vmware/govmomi/object/host_certificate_manager.go +++ /dev/null @@ -1,162 +0,0 @@ -/* -Copyright (c) 2016 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "context" - - "github.com/vmware/govmomi/property" - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/types" -) - -// HostCertificateManager provides helper methods around the HostSystem.ConfigManager.CertificateManager -type HostCertificateManager struct { - Common - Host *HostSystem -} - -// NewHostCertificateManager creates a new HostCertificateManager helper -func NewHostCertificateManager(c *vim25.Client, ref types.ManagedObjectReference, host types.ManagedObjectReference) *HostCertificateManager { - return &HostCertificateManager{ - Common: NewCommon(c, ref), - Host: NewHostSystem(c, host), - } -} - -// CertificateInfo wraps the host CertificateManager certificateInfo property with the HostCertificateInfo helper. -// The ThumbprintSHA1 field is set to HostSystem.Summary.Config.SslThumbprint if the host system is managed by a vCenter. -func (m HostCertificateManager) CertificateInfo(ctx context.Context) (*HostCertificateInfo, error) { - var hs mo.HostSystem - var cm mo.HostCertificateManager - - pc := property.DefaultCollector(m.Client()) - - err := pc.RetrieveOne(ctx, m.Reference(), []string{"certificateInfo"}, &cm) - if err != nil { - return nil, err - } - - _ = pc.RetrieveOne(ctx, m.Host.Reference(), []string{"summary.config.sslThumbprint"}, &hs) - - return &HostCertificateInfo{ - HostCertificateManagerCertificateInfo: cm.CertificateInfo, - ThumbprintSHA1: hs.Summary.Config.SslThumbprint, - }, nil -} - -// GenerateCertificateSigningRequest requests the host system to generate a certificate-signing request (CSR) for itself. -// The CSR is then typically provided to a Certificate Authority to sign and issue the SSL certificate for the host system. -// Use InstallServerCertificate to import this certificate. -func (m HostCertificateManager) GenerateCertificateSigningRequest(ctx context.Context, useIPAddressAsCommonName bool) (string, error) { - req := types.GenerateCertificateSigningRequest{ - This: m.Reference(), - UseIpAddressAsCommonName: useIPAddressAsCommonName, - } - - res, err := methods.GenerateCertificateSigningRequest(ctx, m.Client(), &req) - if err != nil { - return "", err - } - - return res.Returnval, nil -} - -// GenerateCertificateSigningRequestByDn requests the host system to generate a certificate-signing request (CSR) for itself. -// Alternative version similar to GenerateCertificateSigningRequest but takes a Distinguished Name (DN) as a parameter. -func (m HostCertificateManager) GenerateCertificateSigningRequestByDn(ctx context.Context, distinguishedName string) (string, error) { - req := types.GenerateCertificateSigningRequestByDn{ - This: m.Reference(), - DistinguishedName: distinguishedName, - } - - res, err := methods.GenerateCertificateSigningRequestByDn(ctx, m.Client(), &req) - if err != nil { - return "", err - } - - return res.Returnval, nil -} - -// InstallServerCertificate imports the given SSL certificate to the host system. -func (m HostCertificateManager) InstallServerCertificate(ctx context.Context, cert string) error { - req := types.InstallServerCertificate{ - This: m.Reference(), - Cert: cert, - } - - _, err := methods.InstallServerCertificate(ctx, m.Client(), &req) - if err != nil { - return err - } - - // NotifyAffectedService is internal, not exposing as we don't have a use case other than with InstallServerCertificate - // Without this call, hostd needs to be restarted to use the updated certificate - // Note: using Refresh as it has the same struct/signature, we just need to use different xml name tags - body := struct { - Req *types.Refresh `xml:"urn:vim25 NotifyAffectedServices,omitempty"` - Res *types.RefreshResponse `xml:"urn:vim25 NotifyAffectedServicesResponse,omitempty"` - methods.RefreshBody - }{ - Req: &types.Refresh{This: m.Reference()}, - } - - return m.Client().RoundTrip(ctx, &body, &body) -} - -// ListCACertificateRevocationLists returns the SSL CRLs of Certificate Authorities that are trusted by the host system. -func (m HostCertificateManager) ListCACertificateRevocationLists(ctx context.Context) ([]string, error) { - req := types.ListCACertificateRevocationLists{ - This: m.Reference(), - } - - res, err := methods.ListCACertificateRevocationLists(ctx, m.Client(), &req) - if err != nil { - return nil, err - } - - return res.Returnval, nil -} - -// ListCACertificates returns the SSL certificates of Certificate Authorities that are trusted by the host system. -func (m HostCertificateManager) ListCACertificates(ctx context.Context) ([]string, error) { - req := types.ListCACertificates{ - This: m.Reference(), - } - - res, err := methods.ListCACertificates(ctx, m.Client(), &req) - if err != nil { - return nil, err - } - - return res.Returnval, nil -} - -// ReplaceCACertificatesAndCRLs replaces the trusted CA certificates and CRL used by the host system. -// These determine whether the server can verify the identity of an external entity. -func (m HostCertificateManager) ReplaceCACertificatesAndCRLs(ctx context.Context, caCert []string, caCrl []string) error { - req := types.ReplaceCACertificatesAndCRLs{ - This: m.Reference(), - CaCert: caCert, - CaCrl: caCrl, - } - - _, err := methods.ReplaceCACertificatesAndCRLs(ctx, m.Client(), &req) - return err -} diff --git a/vendor/github.com/vmware/govmomi/object/host_config_manager.go b/vendor/github.com/vmware/govmomi/object/host_config_manager.go deleted file mode 100644 index eac59a32eb4..00000000000 --- a/vendor/github.com/vmware/govmomi/object/host_config_manager.go +++ /dev/null @@ -1,171 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "context" - "fmt" - - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/types" -) - -type HostConfigManager struct { - Common -} - -func NewHostConfigManager(c *vim25.Client, ref types.ManagedObjectReference) *HostConfigManager { - return &HostConfigManager{ - Common: NewCommon(c, ref), - } -} - -// reference returns the ManagedObjectReference for the given HostConfigManager property name. -// An error is returned if the field is nil, of type ErrNotSupported if versioned is true. -func (m HostConfigManager) reference(ctx context.Context, name string, versioned ...bool) (types.ManagedObjectReference, error) { - prop := "configManager." + name - var content []types.ObjectContent - - err := m.Properties(ctx, m.Reference(), []string{prop}, &content) - if err != nil { - return types.ManagedObjectReference{}, err - } - - for _, c := range content { - for _, p := range c.PropSet { - if p.Name != prop { - continue - } - if ref, ok := p.Val.(types.ManagedObjectReference); ok { - return ref, nil - } - } - } - - err = fmt.Errorf("%s %s is nil", m.Reference(), prop) - if len(versioned) == 1 && versioned[0] { - err = ErrNotSupported - } - return types.ManagedObjectReference{}, err -} - -func (m HostConfigManager) DatastoreSystem(ctx context.Context) (*HostDatastoreSystem, error) { - ref, err := m.reference(ctx, "datastoreSystem") - if err != nil { - return nil, err - } - return NewHostDatastoreSystem(m.c, ref), nil -} - -func (m HostConfigManager) NetworkSystem(ctx context.Context) (*HostNetworkSystem, error) { - ref, err := m.reference(ctx, "networkSystem") - if err != nil { - return nil, err - } - return NewHostNetworkSystem(m.c, ref), nil -} - -func (m HostConfigManager) FirewallSystem(ctx context.Context) (*HostFirewallSystem, error) { - ref, err := m.reference(ctx, "firewallSystem") - if err != nil { - return nil, err - } - - return NewHostFirewallSystem(m.c, ref), nil -} - -func (m HostConfigManager) StorageSystem(ctx context.Context) (*HostStorageSystem, error) { - ref, err := m.reference(ctx, "storageSystem") - if err != nil { - return nil, err - } - return NewHostStorageSystem(m.c, ref), nil -} - -func (m HostConfigManager) VirtualNicManager(ctx context.Context) (*HostVirtualNicManager, error) { - ref, err := m.reference(ctx, "virtualNicManager") - if err != nil { - return nil, err - } - return NewHostVirtualNicManager(m.c, ref, m.Reference()), nil -} - -func (m HostConfigManager) VsanSystem(ctx context.Context) (*HostVsanSystem, error) { - ref, err := m.reference(ctx, "vsanSystem", true) // Added in 5.5 - if err != nil { - return nil, err - } - return NewHostVsanSystem(m.c, ref), nil -} - -func (m HostConfigManager) VsanInternalSystem(ctx context.Context) (*HostVsanInternalSystem, error) { - ref, err := m.reference(ctx, "vsanInternalSystem", true) // Added in 5.5 - if err != nil { - return nil, err - } - return NewHostVsanInternalSystem(m.c, ref), nil -} - -func (m HostConfigManager) AccountManager(ctx context.Context) (*HostAccountManager, error) { - ref, err := m.reference(ctx, "accountManager", true) // Added in 5.5 - if err != nil { - if err == ErrNotSupported { - // Versions < 5.5 can use the ServiceContent ref, - // but only when connected directly to ESX. - if m.c.ServiceContent.AccountManager == nil { - return nil, err - } - ref = *m.c.ServiceContent.AccountManager - } else { - return nil, err - } - } - - return NewHostAccountManager(m.c, ref), nil -} - -func (m HostConfigManager) OptionManager(ctx context.Context) (*OptionManager, error) { - ref, err := m.reference(ctx, "advancedOption") - if err != nil { - return nil, err - } - return NewOptionManager(m.c, ref), nil -} - -func (m HostConfigManager) ServiceSystem(ctx context.Context) (*HostServiceSystem, error) { - ref, err := m.reference(ctx, "serviceSystem") - if err != nil { - return nil, err - } - return NewHostServiceSystem(m.c, ref), nil -} - -func (m HostConfigManager) CertificateManager(ctx context.Context) (*HostCertificateManager, error) { - ref, err := m.reference(ctx, "certificateManager", true) // Added in 6.0 - if err != nil { - return nil, err - } - return NewHostCertificateManager(m.c, ref, m.Reference()), nil -} - -func (m HostConfigManager) DateTimeSystem(ctx context.Context) (*HostDateTimeSystem, error) { - ref, err := m.reference(ctx, "dateTimeSystem") - if err != nil { - return nil, err - } - return NewHostDateTimeSystem(m.c, ref), nil -} diff --git a/vendor/github.com/vmware/govmomi/object/host_datastore_browser.go b/vendor/github.com/vmware/govmomi/object/host_datastore_browser.go deleted file mode 100644 index b0c9e08a12e..00000000000 --- a/vendor/github.com/vmware/govmomi/object/host_datastore_browser.go +++ /dev/null @@ -1,65 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "context" - - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/types" -) - -type HostDatastoreBrowser struct { - Common -} - -func NewHostDatastoreBrowser(c *vim25.Client, ref types.ManagedObjectReference) *HostDatastoreBrowser { - return &HostDatastoreBrowser{ - Common: NewCommon(c, ref), - } -} - -func (b HostDatastoreBrowser) SearchDatastore(ctx context.Context, datastorePath string, searchSpec *types.HostDatastoreBrowserSearchSpec) (*Task, error) { - req := types.SearchDatastore_Task{ - This: b.Reference(), - DatastorePath: datastorePath, - SearchSpec: searchSpec, - } - - res, err := methods.SearchDatastore_Task(ctx, b.c, &req) - if err != nil { - return nil, err - } - - return NewTask(b.c, res.Returnval), nil -} - -func (b HostDatastoreBrowser) SearchDatastoreSubFolders(ctx context.Context, datastorePath string, searchSpec *types.HostDatastoreBrowserSearchSpec) (*Task, error) { - req := types.SearchDatastoreSubFolders_Task{ - This: b.Reference(), - DatastorePath: datastorePath, - SearchSpec: searchSpec, - } - - res, err := methods.SearchDatastoreSubFolders_Task(ctx, b.c, &req) - if err != nil { - return nil, err - } - - return NewTask(b.c, res.Returnval), nil -} diff --git a/vendor/github.com/vmware/govmomi/object/host_datastore_system.go b/vendor/github.com/vmware/govmomi/object/host_datastore_system.go deleted file mode 100644 index 64f3add917e..00000000000 --- a/vendor/github.com/vmware/govmomi/object/host_datastore_system.go +++ /dev/null @@ -1,135 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "context" - - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/types" -) - -type HostDatastoreSystem struct { - Common -} - -func NewHostDatastoreSystem(c *vim25.Client, ref types.ManagedObjectReference) *HostDatastoreSystem { - return &HostDatastoreSystem{ - Common: NewCommon(c, ref), - } -} - -func (s HostDatastoreSystem) CreateLocalDatastore(ctx context.Context, name string, path string) (*Datastore, error) { - req := types.CreateLocalDatastore{ - This: s.Reference(), - Name: name, - Path: path, - } - - res, err := methods.CreateLocalDatastore(ctx, s.Client(), &req) - if err != nil { - return nil, err - } - - return NewDatastore(s.Client(), res.Returnval), nil -} - -func (s HostDatastoreSystem) CreateNasDatastore(ctx context.Context, spec types.HostNasVolumeSpec) (*Datastore, error) { - req := types.CreateNasDatastore{ - This: s.Reference(), - Spec: spec, - } - - res, err := methods.CreateNasDatastore(ctx, s.Client(), &req) - if err != nil { - return nil, err - } - - return NewDatastore(s.Client(), res.Returnval), nil -} - -func (s HostDatastoreSystem) CreateVmfsDatastore(ctx context.Context, spec types.VmfsDatastoreCreateSpec) (*Datastore, error) { - req := types.CreateVmfsDatastore{ - This: s.Reference(), - Spec: spec, - } - - res, err := methods.CreateVmfsDatastore(ctx, s.Client(), &req) - if err != nil { - return nil, err - } - - return NewDatastore(s.Client(), res.Returnval), nil -} - -func (s HostDatastoreSystem) Remove(ctx context.Context, ds *Datastore) error { - req := types.RemoveDatastore{ - This: s.Reference(), - Datastore: ds.Reference(), - } - - _, err := methods.RemoveDatastore(ctx, s.Client(), &req) - if err != nil { - return err - } - - return nil -} - -func (s HostDatastoreSystem) QueryAvailableDisksForVmfs(ctx context.Context) ([]types.HostScsiDisk, error) { - req := types.QueryAvailableDisksForVmfs{ - This: s.Reference(), - } - - res, err := methods.QueryAvailableDisksForVmfs(ctx, s.Client(), &req) - if err != nil { - return nil, err - } - - return res.Returnval, nil -} - -func (s HostDatastoreSystem) QueryVmfsDatastoreCreateOptions(ctx context.Context, devicePath string) ([]types.VmfsDatastoreOption, error) { - req := types.QueryVmfsDatastoreCreateOptions{ - This: s.Reference(), - DevicePath: devicePath, - } - - res, err := methods.QueryVmfsDatastoreCreateOptions(ctx, s.Client(), &req) - if err != nil { - return nil, err - } - - return res.Returnval, nil -} - -func (s HostDatastoreSystem) ResignatureUnresolvedVmfsVolumes(ctx context.Context, devicePaths []string) (*Task, error) { - req := &types.ResignatureUnresolvedVmfsVolume_Task{ - This: s.Reference(), - ResolutionSpec: types.HostUnresolvedVmfsResignatureSpec{ - ExtentDevicePath: devicePaths, - }, - } - - res, err := methods.ResignatureUnresolvedVmfsVolume_Task(ctx, s.Client(), req) - if err != nil { - return nil, err - } - - return NewTask(s.c, res.Returnval), nil -} diff --git a/vendor/github.com/vmware/govmomi/object/host_date_time_system.go b/vendor/github.com/vmware/govmomi/object/host_date_time_system.go deleted file mode 100644 index 7c9203d7b67..00000000000 --- a/vendor/github.com/vmware/govmomi/object/host_date_time_system.go +++ /dev/null @@ -1,69 +0,0 @@ -/* -Copyright (c) 2016 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "context" - "time" - - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/types" -) - -type HostDateTimeSystem struct { - Common -} - -func NewHostDateTimeSystem(c *vim25.Client, ref types.ManagedObjectReference) *HostDateTimeSystem { - return &HostDateTimeSystem{ - Common: NewCommon(c, ref), - } -} - -func (s HostDateTimeSystem) UpdateConfig(ctx context.Context, config types.HostDateTimeConfig) error { - req := types.UpdateDateTimeConfig{ - This: s.Reference(), - Config: config, - } - - _, err := methods.UpdateDateTimeConfig(ctx, s.c, &req) - return err -} - -func (s HostDateTimeSystem) Update(ctx context.Context, date time.Time) error { - req := types.UpdateDateTime{ - This: s.Reference(), - DateTime: date, - } - - _, err := methods.UpdateDateTime(ctx, s.c, &req) - return err -} - -func (s HostDateTimeSystem) Query(ctx context.Context) (*time.Time, error) { - req := types.QueryDateTime{ - This: s.Reference(), - } - - res, err := methods.QueryDateTime(ctx, s.c, &req) - if err != nil { - return nil, err - } - - return &res.Returnval, nil -} diff --git a/vendor/github.com/vmware/govmomi/object/host_firewall_system.go b/vendor/github.com/vmware/govmomi/object/host_firewall_system.go deleted file mode 100644 index 0b14402531c..00000000000 --- a/vendor/github.com/vmware/govmomi/object/host_firewall_system.go +++ /dev/null @@ -1,181 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "context" - "errors" - "fmt" - "strings" - - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/types" -) - -type HostFirewallSystem struct { - Common -} - -func NewHostFirewallSystem(c *vim25.Client, ref types.ManagedObjectReference) *HostFirewallSystem { - return &HostFirewallSystem{ - Common: NewCommon(c, ref), - } -} - -func (s HostFirewallSystem) DisableRuleset(ctx context.Context, id string) error { - req := types.DisableRuleset{ - This: s.Reference(), - Id: id, - } - - _, err := methods.DisableRuleset(ctx, s.c, &req) - return err -} - -func (s HostFirewallSystem) EnableRuleset(ctx context.Context, id string) error { - req := types.EnableRuleset{ - This: s.Reference(), - Id: id, - } - - _, err := methods.EnableRuleset(ctx, s.c, &req) - return err -} - -func (s HostFirewallSystem) Refresh(ctx context.Context) error { - req := types.RefreshFirewall{ - This: s.Reference(), - } - - _, err := methods.RefreshFirewall(ctx, s.c, &req) - return err -} - -func (s HostFirewallSystem) Info(ctx context.Context) (*types.HostFirewallInfo, error) { - var fs mo.HostFirewallSystem - - err := s.Properties(ctx, s.Reference(), []string{"firewallInfo"}, &fs) - if err != nil { - return nil, err - } - - return fs.FirewallInfo, nil -} - -// HostFirewallRulesetList provides helpers for a slice of types.HostFirewallRuleset -type HostFirewallRulesetList []types.HostFirewallRuleset - -// ByRule returns a HostFirewallRulesetList where Direction, PortType and Protocol are equal and Port is within range -func (l HostFirewallRulesetList) ByRule(rule types.HostFirewallRule) HostFirewallRulesetList { - var matches HostFirewallRulesetList - - for _, rs := range l { - for _, r := range rs.Rule { - if r.PortType != rule.PortType || - r.Protocol != rule.Protocol || - r.Direction != rule.Direction { - continue - } - - if r.EndPort == 0 && rule.Port == r.Port || - rule.Port >= r.Port && rule.Port <= r.EndPort { - matches = append(matches, rs) - break - } - } - } - - return matches -} - -// EnabledByRule returns a HostFirewallRulesetList with Match(rule) applied and filtered via Enabled() -// if enabled param is true, otherwise filtered via Disabled(). -// An error is returned if the resulting list is empty. -func (l HostFirewallRulesetList) EnabledByRule(rule types.HostFirewallRule, enabled bool) (HostFirewallRulesetList, error) { - var matched, skipped HostFirewallRulesetList - var matchedKind, skippedKind string - - l = l.ByRule(rule) - - if enabled { - matched = l.Enabled() - matchedKind = "enabled" - - skipped = l.Disabled() - skippedKind = "disabled" - } else { - matched = l.Disabled() - matchedKind = "disabled" - - skipped = l.Enabled() - skippedKind = "enabled" - } - - if len(matched) == 0 { - msg := fmt.Sprintf("%d %s firewall rulesets match %s %s %s %d, %d %s rulesets match", - len(matched), matchedKind, - rule.Direction, rule.Protocol, rule.PortType, rule.Port, - len(skipped), skippedKind) - - if len(skipped) != 0 { - msg += fmt.Sprintf(": %s", strings.Join(skipped.Keys(), ", ")) - } - - return nil, errors.New(msg) - } - - return matched, nil -} - -// Enabled returns a HostFirewallRulesetList with enabled rules -func (l HostFirewallRulesetList) Enabled() HostFirewallRulesetList { - var matches HostFirewallRulesetList - - for _, rs := range l { - if rs.Enabled { - matches = append(matches, rs) - } - } - - return matches -} - -// Disabled returns a HostFirewallRulesetList with disabled rules -func (l HostFirewallRulesetList) Disabled() HostFirewallRulesetList { - var matches HostFirewallRulesetList - - for _, rs := range l { - if !rs.Enabled { - matches = append(matches, rs) - } - } - - return matches -} - -// Keys returns the HostFirewallRuleset.Key for each ruleset in the list -func (l HostFirewallRulesetList) Keys() []string { - var keys []string - - for _, rs := range l { - keys = append(keys, rs.Key) - } - - return keys -} diff --git a/vendor/github.com/vmware/govmomi/object/host_network_system.go b/vendor/github.com/vmware/govmomi/object/host_network_system.go deleted file mode 100644 index 340b764a514..00000000000 --- a/vendor/github.com/vmware/govmomi/object/host_network_system.go +++ /dev/null @@ -1,358 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "context" - - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/types" -) - -type HostNetworkSystem struct { - Common -} - -func NewHostNetworkSystem(c *vim25.Client, ref types.ManagedObjectReference) *HostNetworkSystem { - return &HostNetworkSystem{ - Common: NewCommon(c, ref), - } -} - -// AddPortGroup wraps methods.AddPortGroup -func (o HostNetworkSystem) AddPortGroup(ctx context.Context, portgrp types.HostPortGroupSpec) error { - req := types.AddPortGroup{ - This: o.Reference(), - Portgrp: portgrp, - } - - _, err := methods.AddPortGroup(ctx, o.c, &req) - if err != nil { - return err - } - - return nil -} - -// AddServiceConsoleVirtualNic wraps methods.AddServiceConsoleVirtualNic -func (o HostNetworkSystem) AddServiceConsoleVirtualNic(ctx context.Context, portgroup string, nic types.HostVirtualNicSpec) (string, error) { - req := types.AddServiceConsoleVirtualNic{ - This: o.Reference(), - Portgroup: portgroup, - Nic: nic, - } - - res, err := methods.AddServiceConsoleVirtualNic(ctx, o.c, &req) - if err != nil { - return "", err - } - - return res.Returnval, nil -} - -// AddVirtualNic wraps methods.AddVirtualNic -func (o HostNetworkSystem) AddVirtualNic(ctx context.Context, portgroup string, nic types.HostVirtualNicSpec) (string, error) { - req := types.AddVirtualNic{ - This: o.Reference(), - Portgroup: portgroup, - Nic: nic, - } - - res, err := methods.AddVirtualNic(ctx, o.c, &req) - if err != nil { - return "", err - } - - return res.Returnval, nil -} - -// AddVirtualSwitch wraps methods.AddVirtualSwitch -func (o HostNetworkSystem) AddVirtualSwitch(ctx context.Context, vswitchName string, spec *types.HostVirtualSwitchSpec) error { - req := types.AddVirtualSwitch{ - This: o.Reference(), - VswitchName: vswitchName, - Spec: spec, - } - - _, err := methods.AddVirtualSwitch(ctx, o.c, &req) - if err != nil { - return err - } - - return nil -} - -// QueryNetworkHint wraps methods.QueryNetworkHint -func (o HostNetworkSystem) QueryNetworkHint(ctx context.Context, device []string) ([]types.PhysicalNicHintInfo, error) { - req := types.QueryNetworkHint{ - This: o.Reference(), - Device: device, - } - - res, err := methods.QueryNetworkHint(ctx, o.c, &req) - if err != nil { - return nil, err - } - - return res.Returnval, err -} - -// RefreshNetworkSystem wraps methods.RefreshNetworkSystem -func (o HostNetworkSystem) RefreshNetworkSystem(ctx context.Context) error { - req := types.RefreshNetworkSystem{ - This: o.Reference(), - } - - _, err := methods.RefreshNetworkSystem(ctx, o.c, &req) - if err != nil { - return err - } - - return nil -} - -// RemovePortGroup wraps methods.RemovePortGroup -func (o HostNetworkSystem) RemovePortGroup(ctx context.Context, pgName string) error { - req := types.RemovePortGroup{ - This: o.Reference(), - PgName: pgName, - } - - _, err := methods.RemovePortGroup(ctx, o.c, &req) - if err != nil { - return err - } - - return nil -} - -// RemoveServiceConsoleVirtualNic wraps methods.RemoveServiceConsoleVirtualNic -func (o HostNetworkSystem) RemoveServiceConsoleVirtualNic(ctx context.Context, device string) error { - req := types.RemoveServiceConsoleVirtualNic{ - This: o.Reference(), - Device: device, - } - - _, err := methods.RemoveServiceConsoleVirtualNic(ctx, o.c, &req) - if err != nil { - return err - } - - return nil -} - -// RemoveVirtualNic wraps methods.RemoveVirtualNic -func (o HostNetworkSystem) RemoveVirtualNic(ctx context.Context, device string) error { - req := types.RemoveVirtualNic{ - This: o.Reference(), - Device: device, - } - - _, err := methods.RemoveVirtualNic(ctx, o.c, &req) - if err != nil { - return err - } - - return nil -} - -// RemoveVirtualSwitch wraps methods.RemoveVirtualSwitch -func (o HostNetworkSystem) RemoveVirtualSwitch(ctx context.Context, vswitchName string) error { - req := types.RemoveVirtualSwitch{ - This: o.Reference(), - VswitchName: vswitchName, - } - - _, err := methods.RemoveVirtualSwitch(ctx, o.c, &req) - if err != nil { - return err - } - - return nil -} - -// RestartServiceConsoleVirtualNic wraps methods.RestartServiceConsoleVirtualNic -func (o HostNetworkSystem) RestartServiceConsoleVirtualNic(ctx context.Context, device string) error { - req := types.RestartServiceConsoleVirtualNic{ - This: o.Reference(), - Device: device, - } - - _, err := methods.RestartServiceConsoleVirtualNic(ctx, o.c, &req) - if err != nil { - return err - } - - return nil -} - -// UpdateConsoleIpRouteConfig wraps methods.UpdateConsoleIpRouteConfig -func (o HostNetworkSystem) UpdateConsoleIpRouteConfig(ctx context.Context, config types.BaseHostIpRouteConfig) error { - req := types.UpdateConsoleIpRouteConfig{ - This: o.Reference(), - Config: config, - } - - _, err := methods.UpdateConsoleIpRouteConfig(ctx, o.c, &req) - if err != nil { - return err - } - - return nil -} - -// UpdateDnsConfig wraps methods.UpdateDnsConfig -func (o HostNetworkSystem) UpdateDnsConfig(ctx context.Context, config types.BaseHostDnsConfig) error { - req := types.UpdateDnsConfig{ - This: o.Reference(), - Config: config, - } - - _, err := methods.UpdateDnsConfig(ctx, o.c, &req) - if err != nil { - return err - } - - return nil -} - -// UpdateIpRouteConfig wraps methods.UpdateIpRouteConfig -func (o HostNetworkSystem) UpdateIpRouteConfig(ctx context.Context, config types.BaseHostIpRouteConfig) error { - req := types.UpdateIpRouteConfig{ - This: o.Reference(), - Config: config, - } - - _, err := methods.UpdateIpRouteConfig(ctx, o.c, &req) - if err != nil { - return err - } - - return nil -} - -// UpdateIpRouteTableConfig wraps methods.UpdateIpRouteTableConfig -func (o HostNetworkSystem) UpdateIpRouteTableConfig(ctx context.Context, config types.HostIpRouteTableConfig) error { - req := types.UpdateIpRouteTableConfig{ - This: o.Reference(), - Config: config, - } - - _, err := methods.UpdateIpRouteTableConfig(ctx, o.c, &req) - if err != nil { - return err - } - - return nil -} - -// UpdateNetworkConfig wraps methods.UpdateNetworkConfig -func (o HostNetworkSystem) UpdateNetworkConfig(ctx context.Context, config types.HostNetworkConfig, changeMode string) (*types.HostNetworkConfigResult, error) { - req := types.UpdateNetworkConfig{ - This: o.Reference(), - Config: config, - ChangeMode: changeMode, - } - - res, err := methods.UpdateNetworkConfig(ctx, o.c, &req) - if err != nil { - return nil, err - } - - return &res.Returnval, nil -} - -// UpdatePhysicalNicLinkSpeed wraps methods.UpdatePhysicalNicLinkSpeed -func (o HostNetworkSystem) UpdatePhysicalNicLinkSpeed(ctx context.Context, device string, linkSpeed *types.PhysicalNicLinkInfo) error { - req := types.UpdatePhysicalNicLinkSpeed{ - This: o.Reference(), - Device: device, - LinkSpeed: linkSpeed, - } - - _, err := methods.UpdatePhysicalNicLinkSpeed(ctx, o.c, &req) - if err != nil { - return err - } - - return nil -} - -// UpdatePortGroup wraps methods.UpdatePortGroup -func (o HostNetworkSystem) UpdatePortGroup(ctx context.Context, pgName string, portgrp types.HostPortGroupSpec) error { - req := types.UpdatePortGroup{ - This: o.Reference(), - PgName: pgName, - Portgrp: portgrp, - } - - _, err := methods.UpdatePortGroup(ctx, o.c, &req) - if err != nil { - return err - } - - return nil -} - -// UpdateServiceConsoleVirtualNic wraps methods.UpdateServiceConsoleVirtualNic -func (o HostNetworkSystem) UpdateServiceConsoleVirtualNic(ctx context.Context, device string, nic types.HostVirtualNicSpec) error { - req := types.UpdateServiceConsoleVirtualNic{ - This: o.Reference(), - Device: device, - Nic: nic, - } - - _, err := methods.UpdateServiceConsoleVirtualNic(ctx, o.c, &req) - if err != nil { - return err - } - - return nil -} - -// UpdateVirtualNic wraps methods.UpdateVirtualNic -func (o HostNetworkSystem) UpdateVirtualNic(ctx context.Context, device string, nic types.HostVirtualNicSpec) error { - req := types.UpdateVirtualNic{ - This: o.Reference(), - Device: device, - Nic: nic, - } - - _, err := methods.UpdateVirtualNic(ctx, o.c, &req) - if err != nil { - return err - } - - return nil -} - -// UpdateVirtualSwitch wraps methods.UpdateVirtualSwitch -func (o HostNetworkSystem) UpdateVirtualSwitch(ctx context.Context, vswitchName string, spec types.HostVirtualSwitchSpec) error { - req := types.UpdateVirtualSwitch{ - This: o.Reference(), - VswitchName: vswitchName, - Spec: spec, - } - - _, err := methods.UpdateVirtualSwitch(ctx, o.c, &req) - if err != nil { - return err - } - - return nil -} diff --git a/vendor/github.com/vmware/govmomi/object/host_service_system.go b/vendor/github.com/vmware/govmomi/object/host_service_system.go deleted file mode 100644 index a66b32c17c1..00000000000 --- a/vendor/github.com/vmware/govmomi/object/host_service_system.go +++ /dev/null @@ -1,88 +0,0 @@ -/* -Copyright (c) 2016 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "context" - - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/types" -) - -type HostServiceSystem struct { - Common -} - -func NewHostServiceSystem(c *vim25.Client, ref types.ManagedObjectReference) *HostServiceSystem { - return &HostServiceSystem{ - Common: NewCommon(c, ref), - } -} - -func (s HostServiceSystem) Service(ctx context.Context) ([]types.HostService, error) { - var ss mo.HostServiceSystem - - err := s.Properties(ctx, s.Reference(), []string{"serviceInfo.service"}, &ss) - if err != nil { - return nil, err - } - - return ss.ServiceInfo.Service, nil -} - -func (s HostServiceSystem) Start(ctx context.Context, id string) error { - req := types.StartService{ - This: s.Reference(), - Id: id, - } - - _, err := methods.StartService(ctx, s.Client(), &req) - return err -} - -func (s HostServiceSystem) Stop(ctx context.Context, id string) error { - req := types.StopService{ - This: s.Reference(), - Id: id, - } - - _, err := methods.StopService(ctx, s.Client(), &req) - return err -} - -func (s HostServiceSystem) Restart(ctx context.Context, id string) error { - req := types.RestartService{ - This: s.Reference(), - Id: id, - } - - _, err := methods.RestartService(ctx, s.Client(), &req) - return err -} - -func (s HostServiceSystem) UpdatePolicy(ctx context.Context, id string, policy string) error { - req := types.UpdateServicePolicy{ - This: s.Reference(), - Id: id, - Policy: policy, - } - - _, err := methods.UpdateServicePolicy(ctx, s.Client(), &req) - return err -} diff --git a/vendor/github.com/vmware/govmomi/object/host_storage_system.go b/vendor/github.com/vmware/govmomi/object/host_storage_system.go deleted file mode 100644 index 5c9f08eee12..00000000000 --- a/vendor/github.com/vmware/govmomi/object/host_storage_system.go +++ /dev/null @@ -1,200 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "context" - "errors" - - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/types" -) - -type HostStorageSystem struct { - Common -} - -func NewHostStorageSystem(c *vim25.Client, ref types.ManagedObjectReference) *HostStorageSystem { - return &HostStorageSystem{ - Common: NewCommon(c, ref), - } -} - -func (s HostStorageSystem) RetrieveDiskPartitionInfo(ctx context.Context, devicePath string) (*types.HostDiskPartitionInfo, error) { - req := types.RetrieveDiskPartitionInfo{ - This: s.Reference(), - DevicePath: []string{devicePath}, - } - - res, err := methods.RetrieveDiskPartitionInfo(ctx, s.c, &req) - if err != nil { - return nil, err - } - - if res.Returnval == nil || len(res.Returnval) == 0 { - return nil, errors.New("no partition info") - } - - return &res.Returnval[0], nil -} - -func (s HostStorageSystem) ComputeDiskPartitionInfo(ctx context.Context, devicePath string, layout types.HostDiskPartitionLayout) (*types.HostDiskPartitionInfo, error) { - req := types.ComputeDiskPartitionInfo{ - This: s.Reference(), - DevicePath: devicePath, - Layout: layout, - } - - res, err := methods.ComputeDiskPartitionInfo(ctx, s.c, &req) - if err != nil { - return nil, err - } - - return &res.Returnval, nil -} - -func (s HostStorageSystem) UpdateDiskPartitionInfo(ctx context.Context, devicePath string, spec types.HostDiskPartitionSpec) error { - req := types.UpdateDiskPartitions{ - This: s.Reference(), - DevicePath: devicePath, - Spec: spec, - } - - _, err := methods.UpdateDiskPartitions(ctx, s.c, &req) - return err -} - -func (s HostStorageSystem) RescanAllHba(ctx context.Context) error { - req := types.RescanAllHba{ - This: s.Reference(), - } - - _, err := methods.RescanAllHba(ctx, s.c, &req) - return err -} - -func (s HostStorageSystem) Refresh(ctx context.Context) error { - req := types.RefreshStorageSystem{ - This: s.Reference(), - } - - _, err := methods.RefreshStorageSystem(ctx, s.c, &req) - return err -} - -func (s HostStorageSystem) RescanVmfs(ctx context.Context) error { - req := types.RescanVmfs{ - This: s.Reference(), - } - - _, err := methods.RescanVmfs(ctx, s.c, &req) - return err -} - -func (s HostStorageSystem) MarkAsSsd(ctx context.Context, uuid string) (*Task, error) { - req := types.MarkAsSsd_Task{ - This: s.Reference(), - ScsiDiskUuid: uuid, - } - - res, err := methods.MarkAsSsd_Task(ctx, s.c, &req) - if err != nil { - return nil, err - } - - return NewTask(s.c, res.Returnval), nil -} - -func (s HostStorageSystem) MarkAsNonSsd(ctx context.Context, uuid string) (*Task, error) { - req := types.MarkAsNonSsd_Task{ - This: s.Reference(), - ScsiDiskUuid: uuid, - } - - res, err := methods.MarkAsNonSsd_Task(ctx, s.c, &req) - if err != nil { - return nil, err - } - - return NewTask(s.c, res.Returnval), nil -} - -func (s HostStorageSystem) MarkAsLocal(ctx context.Context, uuid string) (*Task, error) { - req := types.MarkAsLocal_Task{ - This: s.Reference(), - ScsiDiskUuid: uuid, - } - - res, err := methods.MarkAsLocal_Task(ctx, s.c, &req) - if err != nil { - return nil, err - } - - return NewTask(s.c, res.Returnval), nil -} - -func (s HostStorageSystem) MarkAsNonLocal(ctx context.Context, uuid string) (*Task, error) { - req := types.MarkAsNonLocal_Task{ - This: s.Reference(), - ScsiDiskUuid: uuid, - } - - res, err := methods.MarkAsNonLocal_Task(ctx, s.c, &req) - if err != nil { - return nil, err - } - - return NewTask(s.c, res.Returnval), nil -} - -func (s HostStorageSystem) AttachScsiLun(ctx context.Context, uuid string) error { - req := types.AttachScsiLun{ - This: s.Reference(), - LunUuid: uuid, - } - - _, err := methods.AttachScsiLun(ctx, s.c, &req) - - return err -} - -func (s HostStorageSystem) QueryUnresolvedVmfsVolumes(ctx context.Context) ([]types.HostUnresolvedVmfsVolume, error) { - req := &types.QueryUnresolvedVmfsVolume{ - This: s.Reference(), - } - - res, err := methods.QueryUnresolvedVmfsVolume(ctx, s.Client(), req) - if err != nil { - return nil, err - } - return res.Returnval, nil -} - -func (s HostStorageSystem) UnmountVmfsVolume(ctx context.Context, vmfsUuid string) error { - req := &types.UnmountVmfsVolume{ - This: s.Reference(), - VmfsUuid: vmfsUuid, - } - - _, err := methods.UnmountVmfsVolume(ctx, s.Client(), req) - if err != nil { - return err - } - - return nil -} diff --git a/vendor/github.com/vmware/govmomi/object/host_system.go b/vendor/github.com/vmware/govmomi/object/host_system.go deleted file mode 100644 index ddf6cb8f11a..00000000000 --- a/vendor/github.com/vmware/govmomi/object/host_system.go +++ /dev/null @@ -1,154 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "context" - "fmt" - "net" - - "github.com/vmware/govmomi/internal" - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/types" -) - -type HostSystem struct { - Common -} - -func NewHostSystem(c *vim25.Client, ref types.ManagedObjectReference) *HostSystem { - return &HostSystem{ - Common: NewCommon(c, ref), - } -} - -func (h HostSystem) ConfigManager() *HostConfigManager { - return NewHostConfigManager(h.c, h.Reference()) -} - -func (h HostSystem) ResourcePool(ctx context.Context) (*ResourcePool, error) { - var mh mo.HostSystem - - err := h.Properties(ctx, h.Reference(), []string{"parent"}, &mh) - if err != nil { - return nil, err - } - - var mcr *mo.ComputeResource - var parent interface{} - - switch mh.Parent.Type { - case "ComputeResource": - mcr = new(mo.ComputeResource) - parent = mcr - case "ClusterComputeResource": - mcc := new(mo.ClusterComputeResource) - mcr = &mcc.ComputeResource - parent = mcc - default: - return nil, fmt.Errorf("unknown host parent type: %s", mh.Parent.Type) - } - - err = h.Properties(ctx, *mh.Parent, []string{"resourcePool"}, parent) - if err != nil { - return nil, err - } - - pool := NewResourcePool(h.c, *mcr.ResourcePool) - return pool, nil -} - -func (h HostSystem) ManagementIPs(ctx context.Context) ([]net.IP, error) { - var mh mo.HostSystem - - err := h.Properties(ctx, h.Reference(), []string{"config.virtualNicManagerInfo.netConfig"}, &mh) - if err != nil { - return nil, err - } - - config := mh.Config - if config == nil { - return nil, nil - } - - info := config.VirtualNicManagerInfo - if info == nil { - return nil, nil - } - - return internal.HostSystemManagementIPs(info.NetConfig), nil -} - -func (h HostSystem) Disconnect(ctx context.Context) (*Task, error) { - req := types.DisconnectHost_Task{ - This: h.Reference(), - } - - res, err := methods.DisconnectHost_Task(ctx, h.c, &req) - if err != nil { - return nil, err - } - - return NewTask(h.c, res.Returnval), nil -} - -func (h HostSystem) Reconnect(ctx context.Context, cnxSpec *types.HostConnectSpec, reconnectSpec *types.HostSystemReconnectSpec) (*Task, error) { - req := types.ReconnectHost_Task{ - This: h.Reference(), - CnxSpec: cnxSpec, - ReconnectSpec: reconnectSpec, - } - - res, err := methods.ReconnectHost_Task(ctx, h.c, &req) - if err != nil { - return nil, err - } - - return NewTask(h.c, res.Returnval), nil -} - -func (h HostSystem) EnterMaintenanceMode(ctx context.Context, timeout int32, evacuate bool, spec *types.HostMaintenanceSpec) (*Task, error) { - req := types.EnterMaintenanceMode_Task{ - This: h.Reference(), - Timeout: timeout, - EvacuatePoweredOffVms: types.NewBool(evacuate), - MaintenanceSpec: spec, - } - - res, err := methods.EnterMaintenanceMode_Task(ctx, h.c, &req) - if err != nil { - return nil, err - } - - return NewTask(h.c, res.Returnval), nil -} - -func (h HostSystem) ExitMaintenanceMode(ctx context.Context, timeout int32) (*Task, error) { - req := types.ExitMaintenanceMode_Task{ - This: h.Reference(), - Timeout: timeout, - } - - res, err := methods.ExitMaintenanceMode_Task(ctx, h.c, &req) - if err != nil { - return nil, err - } - - return NewTask(h.c, res.Returnval), nil -} diff --git a/vendor/github.com/vmware/govmomi/object/host_virtual_nic_manager.go b/vendor/github.com/vmware/govmomi/object/host_virtual_nic_manager.go deleted file mode 100644 index 01e7e9cd4b0..00000000000 --- a/vendor/github.com/vmware/govmomi/object/host_virtual_nic_manager.go +++ /dev/null @@ -1,93 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "context" - - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/types" -) - -type HostVirtualNicManager struct { - Common - Host *HostSystem -} - -func NewHostVirtualNicManager(c *vim25.Client, ref types.ManagedObjectReference, host types.ManagedObjectReference) *HostVirtualNicManager { - return &HostVirtualNicManager{ - Common: NewCommon(c, ref), - Host: NewHostSystem(c, host), - } -} - -func (m HostVirtualNicManager) Info(ctx context.Context) (*types.HostVirtualNicManagerInfo, error) { - var vnm mo.HostVirtualNicManager - - err := m.Properties(ctx, m.Reference(), []string{"info"}, &vnm) - if err != nil { - return nil, err - } - - return &vnm.Info, nil -} - -func (m HostVirtualNicManager) DeselectVnic(ctx context.Context, nicType string, device string) error { - if nicType == string(types.HostVirtualNicManagerNicTypeVsan) { - // Avoid fault.NotSupported: - // "Error deselecting device '$device': VSAN interfaces must be deselected using vim.host.VsanSystem" - s, err := m.Host.ConfigManager().VsanSystem(ctx) - if err != nil { - return err - } - - return s.updateVnic(ctx, device, false) - } - - req := types.DeselectVnicForNicType{ - This: m.Reference(), - NicType: nicType, - Device: device, - } - - _, err := methods.DeselectVnicForNicType(ctx, m.Client(), &req) - return err -} - -func (m HostVirtualNicManager) SelectVnic(ctx context.Context, nicType string, device string) error { - if nicType == string(types.HostVirtualNicManagerNicTypeVsan) { - // Avoid fault.NotSupported: - // "Error selecting device '$device': VSAN interfaces must be selected using vim.host.VsanSystem" - s, err := m.Host.ConfigManager().VsanSystem(ctx) - if err != nil { - return err - } - - return s.updateVnic(ctx, device, true) - } - - req := types.SelectVnicForNicType{ - This: m.Reference(), - NicType: nicType, - Device: device, - } - - _, err := methods.SelectVnicForNicType(ctx, m.Client(), &req) - return err -} diff --git a/vendor/github.com/vmware/govmomi/object/host_vsan_internal_system.go b/vendor/github.com/vmware/govmomi/object/host_vsan_internal_system.go deleted file mode 100644 index 1430e8a8822..00000000000 --- a/vendor/github.com/vmware/govmomi/object/host_vsan_internal_system.go +++ /dev/null @@ -1,117 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "context" - "encoding/json" - - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/types" -) - -type HostVsanInternalSystem struct { - Common -} - -func NewHostVsanInternalSystem(c *vim25.Client, ref types.ManagedObjectReference) *HostVsanInternalSystem { - m := HostVsanInternalSystem{ - Common: NewCommon(c, ref), - } - - return &m -} - -// QueryVsanObjectUuidsByFilter returns vSAN DOM object uuids by filter. -func (m HostVsanInternalSystem) QueryVsanObjectUuidsByFilter(ctx context.Context, uuids []string, limit int32, version int32) ([]string, error) { - req := types.QueryVsanObjectUuidsByFilter{ - This: m.Reference(), - Uuids: uuids, - Limit: &limit, - Version: version, - } - - res, err := methods.QueryVsanObjectUuidsByFilter(ctx, m.Client(), &req) - if err != nil { - return nil, err - } - - return res.Returnval, nil -} - -type VsanObjExtAttrs struct { - Type string `json:"Object type"` - Class string `json:"Object class"` - Size string `json:"Object size"` - Path string `json:"Object path"` - Name string `json:"User friendly name"` -} - -func (a *VsanObjExtAttrs) DatastorePath(dir string) string { - l := len(dir) - path := a.Path - - if len(path) >= l { - path = a.Path[l:] - } - - if path != "" { - return path - } - - return a.Name // vmnamespace -} - -// GetVsanObjExtAttrs is internal and intended for troubleshooting/debugging situations in the field. -// WARNING: This API can be slow because we do IOs (reads) to all the objects. -func (m HostVsanInternalSystem) GetVsanObjExtAttrs(ctx context.Context, uuids []string) (map[string]VsanObjExtAttrs, error) { - req := types.GetVsanObjExtAttrs{ - This: m.Reference(), - Uuids: uuids, - } - - res, err := methods.GetVsanObjExtAttrs(ctx, m.Client(), &req) - if err != nil { - return nil, err - } - - var attrs map[string]VsanObjExtAttrs - - err = json.Unmarshal([]byte(res.Returnval), &attrs) - - return attrs, err -} - -// DeleteVsanObjects is internal and intended for troubleshooting/debugging only. -// WARNING: This API can be slow because we do IOs to all the objects. -// DOM won't allow access to objects which have lost quorum. Such objects can be deleted with the optional "force" flag. -// These objects may however re-appear with quorum if the absent components come back (network partition gets resolved, etc.) -func (m HostVsanInternalSystem) DeleteVsanObjects(ctx context.Context, uuids []string, force *bool) ([]types.HostVsanInternalSystemDeleteVsanObjectsResult, error) { - req := types.DeleteVsanObjects{ - This: m.Reference(), - Uuids: uuids, - Force: force, - } - - res, err := methods.DeleteVsanObjects(ctx, m.Client(), &req) - if err != nil { - return nil, err - } - - return res.Returnval, nil -} diff --git a/vendor/github.com/vmware/govmomi/object/host_vsan_system.go b/vendor/github.com/vmware/govmomi/object/host_vsan_system.go deleted file mode 100644 index 5ab234d5e53..00000000000 --- a/vendor/github.com/vmware/govmomi/object/host_vsan_system.go +++ /dev/null @@ -1,88 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "context" - - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/types" -) - -type HostVsanSystem struct { - Common -} - -func NewHostVsanSystem(c *vim25.Client, ref types.ManagedObjectReference) *HostVsanSystem { - return &HostVsanSystem{ - Common: NewCommon(c, ref), - } -} - -func (s HostVsanSystem) Update(ctx context.Context, config types.VsanHostConfigInfo) (*Task, error) { - req := types.UpdateVsan_Task{ - This: s.Reference(), - Config: config, - } - - res, err := methods.UpdateVsan_Task(ctx, s.Client(), &req) - if err != nil { - return nil, err - } - - return NewTask(s.Client(), res.Returnval), nil -} - -// updateVnic in support of the HostVirtualNicManager.{SelectVnic,DeselectVnic} methods -func (s HostVsanSystem) updateVnic(ctx context.Context, device string, enable bool) error { - var vsan mo.HostVsanSystem - - err := s.Properties(ctx, s.Reference(), []string{"config.networkInfo.port"}, &vsan) - if err != nil { - return err - } - - info := vsan.Config - - var port []types.VsanHostConfigInfoNetworkInfoPortConfig - - for _, p := range info.NetworkInfo.Port { - if p.Device == device { - continue - } - - port = append(port, p) - } - - if enable { - port = append(port, types.VsanHostConfigInfoNetworkInfoPortConfig{ - Device: device, - }) - } - - info.NetworkInfo.Port = port - - task, err := s.Update(ctx, info) - if err != nil { - return err - } - - _, err = task.WaitForResult(ctx, nil) - return err -} diff --git a/vendor/github.com/vmware/govmomi/object/namespace_manager.go b/vendor/github.com/vmware/govmomi/object/namespace_manager.go deleted file mode 100644 index f463b368cde..00000000000 --- a/vendor/github.com/vmware/govmomi/object/namespace_manager.go +++ /dev/null @@ -1,76 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "context" - - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/types" -) - -type DatastoreNamespaceManager struct { - Common -} - -func NewDatastoreNamespaceManager(c *vim25.Client) *DatastoreNamespaceManager { - n := DatastoreNamespaceManager{ - Common: NewCommon(c, *c.ServiceContent.DatastoreNamespaceManager), - } - - return &n -} - -// CreateDirectory creates a top-level directory on the given vsan datastore, using -// the given user display name hint and opaque storage policy. -func (nm DatastoreNamespaceManager) CreateDirectory(ctx context.Context, ds *Datastore, displayName string, policy string) (string, error) { - - req := &types.CreateDirectory{ - This: nm.Reference(), - Datastore: ds.Reference(), - DisplayName: displayName, - Policy: policy, - } - - resp, err := methods.CreateDirectory(ctx, nm.c, req) - if err != nil { - return "", err - } - - return resp.Returnval, nil -} - -// DeleteDirectory deletes the given top-level directory from a vsan datastore. -func (nm DatastoreNamespaceManager) DeleteDirectory(ctx context.Context, dc *Datacenter, datastorePath string) error { - - req := &types.DeleteDirectory{ - This: nm.Reference(), - DatastorePath: datastorePath, - } - - if dc != nil { - ref := dc.Reference() - req.Datacenter = &ref - } - - if _, err := methods.DeleteDirectory(ctx, nm.c, req); err != nil { - return err - } - - return nil -} diff --git a/vendor/github.com/vmware/govmomi/object/network.go b/vendor/github.com/vmware/govmomi/object/network.go deleted file mode 100644 index f209a7ac4c9..00000000000 --- a/vendor/github.com/vmware/govmomi/object/network.go +++ /dev/null @@ -1,54 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "context" - - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/types" -) - -type Network struct { - Common -} - -func NewNetwork(c *vim25.Client, ref types.ManagedObjectReference) *Network { - return &Network{ - Common: NewCommon(c, ref), - } -} - -func (n Network) GetInventoryPath() string { - return n.InventoryPath -} - -// EthernetCardBackingInfo returns the VirtualDeviceBackingInfo for this Network -func (n Network) EthernetCardBackingInfo(ctx context.Context) (types.BaseVirtualDeviceBackingInfo, error) { - name, err := n.ObjectName(ctx) - if err != nil { - return nil, err - } - - backing := &types.VirtualEthernetCardNetworkBackingInfo{ - VirtualDeviceDeviceBackingInfo: types.VirtualDeviceDeviceBackingInfo{ - DeviceName: name, - }, - } - - return backing, nil -} diff --git a/vendor/github.com/vmware/govmomi/object/network_reference.go b/vendor/github.com/vmware/govmomi/object/network_reference.go deleted file mode 100644 index f1a41cd59b6..00000000000 --- a/vendor/github.com/vmware/govmomi/object/network_reference.go +++ /dev/null @@ -1,31 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "context" - - "github.com/vmware/govmomi/vim25/types" -) - -// The NetworkReference interface is implemented by managed objects -// which can be used as the backing for a VirtualEthernetCard. -type NetworkReference interface { - Reference - GetInventoryPath() string - EthernetCardBackingInfo(ctx context.Context) (types.BaseVirtualDeviceBackingInfo, error) -} diff --git a/vendor/github.com/vmware/govmomi/object/opaque_network.go b/vendor/github.com/vmware/govmomi/object/opaque_network.go deleted file mode 100644 index 6797d325de7..00000000000 --- a/vendor/github.com/vmware/govmomi/object/opaque_network.go +++ /dev/null @@ -1,72 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "context" - "fmt" - - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/types" -) - -type OpaqueNetwork struct { - Common -} - -func NewOpaqueNetwork(c *vim25.Client, ref types.ManagedObjectReference) *OpaqueNetwork { - return &OpaqueNetwork{ - Common: NewCommon(c, ref), - } -} - -func (n OpaqueNetwork) GetInventoryPath() string { - return n.InventoryPath -} - -// EthernetCardBackingInfo returns the VirtualDeviceBackingInfo for this Network -func (n OpaqueNetwork) EthernetCardBackingInfo(ctx context.Context) (types.BaseVirtualDeviceBackingInfo, error) { - summary, err := n.Summary(ctx) - if err != nil { - return nil, err - } - - backing := &types.VirtualEthernetCardOpaqueNetworkBackingInfo{ - OpaqueNetworkId: summary.OpaqueNetworkId, - OpaqueNetworkType: summary.OpaqueNetworkType, - } - - return backing, nil -} - -// Summary returns the mo.OpaqueNetwork.Summary property -func (n OpaqueNetwork) Summary(ctx context.Context) (*types.OpaqueNetworkSummary, error) { - var props mo.OpaqueNetwork - - err := n.Properties(ctx, n.Reference(), []string{"summary"}, &props) - if err != nil { - return nil, err - } - - summary, ok := props.Summary.(*types.OpaqueNetworkSummary) - if !ok { - return nil, fmt.Errorf("%s unsupported network summary type: %T", n, props.Summary) - } - - return summary, nil -} diff --git a/vendor/github.com/vmware/govmomi/object/option_manager.go b/vendor/github.com/vmware/govmomi/object/option_manager.go deleted file mode 100644 index 7f93273aac3..00000000000 --- a/vendor/github.com/vmware/govmomi/object/option_manager.go +++ /dev/null @@ -1,59 +0,0 @@ -/* -Copyright (c) 2016 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "context" - - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/types" -) - -type OptionManager struct { - Common -} - -func NewOptionManager(c *vim25.Client, ref types.ManagedObjectReference) *OptionManager { - return &OptionManager{ - Common: NewCommon(c, ref), - } -} - -func (m OptionManager) Query(ctx context.Context, name string) ([]types.BaseOptionValue, error) { - req := types.QueryOptions{ - This: m.Reference(), - Name: name, - } - - res, err := methods.QueryOptions(ctx, m.Client(), &req) - if err != nil { - return nil, err - } - - return res.Returnval, nil -} - -func (m OptionManager) Update(ctx context.Context, value []types.BaseOptionValue) error { - req := types.UpdateOptions{ - This: m.Reference(), - ChangedValue: value, - } - - _, err := methods.UpdateOptions(ctx, m.Client(), &req) - return err -} diff --git a/vendor/github.com/vmware/govmomi/object/resource_pool.go b/vendor/github.com/vmware/govmomi/object/resource_pool.go deleted file mode 100644 index e510006b400..00000000000 --- a/vendor/github.com/vmware/govmomi/object/resource_pool.go +++ /dev/null @@ -1,151 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "context" - - "github.com/vmware/govmomi/nfc" - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/types" -) - -type ResourcePool struct { - Common -} - -func NewResourcePool(c *vim25.Client, ref types.ManagedObjectReference) *ResourcePool { - return &ResourcePool{ - Common: NewCommon(c, ref), - } -} - -// Owner returns the ResourcePool owner as a ClusterComputeResource or ComputeResource. -func (p ResourcePool) Owner(ctx context.Context) (Reference, error) { - var pool mo.ResourcePool - - err := p.Properties(ctx, p.Reference(), []string{"owner"}, &pool) - if err != nil { - return nil, err - } - - return NewReference(p.Client(), pool.Owner), nil -} - -func (p ResourcePool) ImportVApp(ctx context.Context, spec types.BaseImportSpec, folder *Folder, host *HostSystem) (*nfc.Lease, error) { - req := types.ImportVApp{ - This: p.Reference(), - Spec: spec, - } - - if folder != nil { - ref := folder.Reference() - req.Folder = &ref - } - - if host != nil { - ref := host.Reference() - req.Host = &ref - } - - res, err := methods.ImportVApp(ctx, p.c, &req) - if err != nil { - return nil, err - } - - return nfc.NewLease(p.c, res.Returnval), nil -} - -func (p ResourcePool) Create(ctx context.Context, name string, spec types.ResourceConfigSpec) (*ResourcePool, error) { - req := types.CreateResourcePool{ - This: p.Reference(), - Name: name, - Spec: spec, - } - - res, err := methods.CreateResourcePool(ctx, p.c, &req) - if err != nil { - return nil, err - } - - return NewResourcePool(p.c, res.Returnval), nil -} - -func (p ResourcePool) CreateVApp(ctx context.Context, name string, resSpec types.ResourceConfigSpec, configSpec types.VAppConfigSpec, folder *Folder) (*VirtualApp, error) { - req := types.CreateVApp{ - This: p.Reference(), - Name: name, - ResSpec: resSpec, - ConfigSpec: configSpec, - } - - if folder != nil { - ref := folder.Reference() - req.VmFolder = &ref - } - - res, err := methods.CreateVApp(ctx, p.c, &req) - if err != nil { - return nil, err - } - - return NewVirtualApp(p.c, res.Returnval), nil -} - -func (p ResourcePool) UpdateConfig(ctx context.Context, name string, config *types.ResourceConfigSpec) error { - req := types.UpdateConfig{ - This: p.Reference(), - Name: name, - Config: config, - } - - if config != nil && config.Entity == nil { - ref := p.Reference() - - // Create copy of config so changes won't leak back to the caller - newConfig := *config - newConfig.Entity = &ref - req.Config = &newConfig - } - - _, err := methods.UpdateConfig(ctx, p.c, &req) - return err -} - -func (p ResourcePool) DestroyChildren(ctx context.Context) error { - req := types.DestroyChildren{ - This: p.Reference(), - } - - _, err := methods.DestroyChildren(ctx, p.c, &req) - return err -} - -func (p ResourcePool) Destroy(ctx context.Context) (*Task, error) { - req := types.Destroy_Task{ - This: p.Reference(), - } - - res, err := methods.Destroy_Task(ctx, p.c, &req) - if err != nil { - return nil, err - } - - return NewTask(p.c, res.Returnval), nil -} diff --git a/vendor/github.com/vmware/govmomi/object/search_index.go b/vendor/github.com/vmware/govmomi/object/search_index.go deleted file mode 100644 index 288f78097cf..00000000000 --- a/vendor/github.com/vmware/govmomi/object/search_index.go +++ /dev/null @@ -1,259 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "context" - - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/types" -) - -type SearchIndex struct { - Common -} - -func NewSearchIndex(c *vim25.Client) *SearchIndex { - s := SearchIndex{ - Common: NewCommon(c, *c.ServiceContent.SearchIndex), - } - - return &s -} - -// FindByDatastorePath finds a virtual machine by its location on a datastore. -func (s SearchIndex) FindByDatastorePath(ctx context.Context, dc *Datacenter, path string) (Reference, error) { - req := types.FindByDatastorePath{ - This: s.Reference(), - Datacenter: dc.Reference(), - Path: path, - } - - res, err := methods.FindByDatastorePath(ctx, s.c, &req) - if err != nil { - return nil, err - } - - if res.Returnval == nil { - return nil, nil - } - return NewReference(s.c, *res.Returnval), nil -} - -// FindByDnsName finds a virtual machine or host by DNS name. -func (s SearchIndex) FindByDnsName(ctx context.Context, dc *Datacenter, dnsName string, vmSearch bool) (Reference, error) { - req := types.FindByDnsName{ - This: s.Reference(), - DnsName: dnsName, - VmSearch: vmSearch, - } - if dc != nil { - ref := dc.Reference() - req.Datacenter = &ref - } - - res, err := methods.FindByDnsName(ctx, s.c, &req) - if err != nil { - return nil, err - } - - if res.Returnval == nil { - return nil, nil - } - return NewReference(s.c, *res.Returnval), nil -} - -// FindByInventoryPath finds a managed entity based on its location in the inventory. -func (s SearchIndex) FindByInventoryPath(ctx context.Context, path string) (Reference, error) { - req := types.FindByInventoryPath{ - This: s.Reference(), - InventoryPath: path, - } - - res, err := methods.FindByInventoryPath(ctx, s.c, &req) - if err != nil { - return nil, err - } - - if res.Returnval == nil { - return nil, nil - } - - r := NewReference(s.c, *res.Returnval) - - type common interface { - SetInventoryPath(string) - } - - if c, ok := r.(common); ok { - c.SetInventoryPath(path) - } - - return r, nil -} - -// FindByIp finds a virtual machine or host by IP address. -func (s SearchIndex) FindByIp(ctx context.Context, dc *Datacenter, ip string, vmSearch bool) (Reference, error) { - req := types.FindByIp{ - This: s.Reference(), - Ip: ip, - VmSearch: vmSearch, - } - if dc != nil { - ref := dc.Reference() - req.Datacenter = &ref - } - - res, err := methods.FindByIp(ctx, s.c, &req) - if err != nil { - return nil, err - } - - if res.Returnval == nil { - return nil, nil - } - return NewReference(s.c, *res.Returnval), nil -} - -// FindByUuid finds a virtual machine or host by UUID. -func (s SearchIndex) FindByUuid(ctx context.Context, dc *Datacenter, uuid string, vmSearch bool, instanceUuid *bool) (Reference, error) { - req := types.FindByUuid{ - This: s.Reference(), - Uuid: uuid, - VmSearch: vmSearch, - InstanceUuid: instanceUuid, - } - if dc != nil { - ref := dc.Reference() - req.Datacenter = &ref - } - - res, err := methods.FindByUuid(ctx, s.c, &req) - if err != nil { - return nil, err - } - - if res.Returnval == nil { - return nil, nil - } - return NewReference(s.c, *res.Returnval), nil -} - -// FindChild finds a particular child based on a managed entity name. -func (s SearchIndex) FindChild(ctx context.Context, entity Reference, name string) (Reference, error) { - req := types.FindChild{ - This: s.Reference(), - Entity: entity.Reference(), - Name: name, - } - - res, err := methods.FindChild(ctx, s.c, &req) - if err != nil { - return nil, err - } - - if res.Returnval == nil { - return nil, nil - } - return NewReference(s.c, *res.Returnval), nil -} - -// FindAllByDnsName finds all virtual machines or hosts by DNS name. -func (s SearchIndex) FindAllByDnsName(ctx context.Context, dc *Datacenter, dnsName string, vmSearch bool) ([]Reference, error) { - req := types.FindAllByDnsName{ - This: s.Reference(), - DnsName: dnsName, - VmSearch: vmSearch, - } - if dc != nil { - ref := dc.Reference() - req.Datacenter = &ref - } - - res, err := methods.FindAllByDnsName(ctx, s.c, &req) - if err != nil { - return nil, err - } - - if len(res.Returnval) == 0 { - return nil, nil - } - - var references []Reference - for _, returnval := range res.Returnval { - references = append(references, NewReference(s.c, returnval)) - } - return references, nil -} - -// FindAllByIp finds all virtual machines or hosts by IP address. -func (s SearchIndex) FindAllByIp(ctx context.Context, dc *Datacenter, ip string, vmSearch bool) ([]Reference, error) { - req := types.FindAllByIp{ - This: s.Reference(), - Ip: ip, - VmSearch: vmSearch, - } - if dc != nil { - ref := dc.Reference() - req.Datacenter = &ref - } - - res, err := methods.FindAllByIp(ctx, s.c, &req) - if err != nil { - return nil, err - } - - if len(res.Returnval) == 0 { - return nil, nil - } - - var references []Reference - for _, returnval := range res.Returnval { - references = append(references, NewReference(s.c, returnval)) - } - return references, nil -} - -// FindAllByUuid finds all virtual machines or hosts by UUID. -func (s SearchIndex) FindAllByUuid(ctx context.Context, dc *Datacenter, uuid string, vmSearch bool, instanceUuid *bool) ([]Reference, error) { - req := types.FindAllByUuid{ - This: s.Reference(), - Uuid: uuid, - VmSearch: vmSearch, - InstanceUuid: instanceUuid, - } - if dc != nil { - ref := dc.Reference() - req.Datacenter = &ref - } - - res, err := methods.FindAllByUuid(ctx, s.c, &req) - if err != nil { - return nil, err - } - - if len(res.Returnval) == 0 { - return nil, nil - } - - var references []Reference - for _, returnval := range res.Returnval { - references = append(references, NewReference(s.c, returnval)) - } - return references, nil -} diff --git a/vendor/github.com/vmware/govmomi/object/storage_pod.go b/vendor/github.com/vmware/govmomi/object/storage_pod.go deleted file mode 100644 index 188b91a002e..00000000000 --- a/vendor/github.com/vmware/govmomi/object/storage_pod.go +++ /dev/null @@ -1,34 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/types" -) - -type StoragePod struct { - *Folder -} - -func NewStoragePod(c *vim25.Client, ref types.ManagedObjectReference) *StoragePod { - return &StoragePod{ - Folder: &Folder{ - Common: NewCommon(c, ref), - }, - } -} diff --git a/vendor/github.com/vmware/govmomi/object/storage_resource_manager.go b/vendor/github.com/vmware/govmomi/object/storage_resource_manager.go deleted file mode 100644 index 579bcd4d7ee..00000000000 --- a/vendor/github.com/vmware/govmomi/object/storage_resource_manager.go +++ /dev/null @@ -1,179 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "context" - - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/types" -) - -type StorageResourceManager struct { - Common -} - -func NewStorageResourceManager(c *vim25.Client) *StorageResourceManager { - sr := StorageResourceManager{ - Common: NewCommon(c, *c.ServiceContent.StorageResourceManager), - } - - return &sr -} - -func (sr StorageResourceManager) ApplyStorageDrsRecommendation(ctx context.Context, key []string) (*Task, error) { - req := types.ApplyStorageDrsRecommendation_Task{ - This: sr.Reference(), - Key: key, - } - - res, err := methods.ApplyStorageDrsRecommendation_Task(ctx, sr.c, &req) - if err != nil { - return nil, err - } - - return NewTask(sr.c, res.Returnval), nil -} - -func (sr StorageResourceManager) ApplyStorageDrsRecommendationToPod(ctx context.Context, pod *StoragePod, key string) (*Task, error) { - req := types.ApplyStorageDrsRecommendationToPod_Task{ - This: sr.Reference(), - Key: key, - } - - if pod != nil { - req.Pod = pod.Reference() - } - - res, err := methods.ApplyStorageDrsRecommendationToPod_Task(ctx, sr.c, &req) - if err != nil { - return nil, err - } - - return NewTask(sr.c, res.Returnval), nil -} - -func (sr StorageResourceManager) CancelStorageDrsRecommendation(ctx context.Context, key []string) error { - req := types.CancelStorageDrsRecommendation{ - This: sr.Reference(), - Key: key, - } - - _, err := methods.CancelStorageDrsRecommendation(ctx, sr.c, &req) - - return err -} - -func (sr StorageResourceManager) ConfigureDatastoreIORM(ctx context.Context, datastore *Datastore, spec types.StorageIORMConfigSpec, key string) (*Task, error) { - req := types.ConfigureDatastoreIORM_Task{ - This: sr.Reference(), - Spec: spec, - } - - if datastore != nil { - req.Datastore = datastore.Reference() - } - - res, err := methods.ConfigureDatastoreIORM_Task(ctx, sr.c, &req) - if err != nil { - return nil, err - } - - return NewTask(sr.c, res.Returnval), nil -} - -func (sr StorageResourceManager) ConfigureStorageDrsForPod(ctx context.Context, pod *StoragePod, spec types.StorageDrsConfigSpec, modify bool) (*Task, error) { - req := types.ConfigureStorageDrsForPod_Task{ - This: sr.Reference(), - Spec: spec, - Modify: modify, - } - - if pod != nil { - req.Pod = pod.Reference() - } - - res, err := methods.ConfigureStorageDrsForPod_Task(ctx, sr.c, &req) - if err != nil { - return nil, err - } - - return NewTask(sr.c, res.Returnval), nil -} - -func (sr StorageResourceManager) QueryDatastorePerformanceSummary(ctx context.Context, datastore *Datastore) ([]types.StoragePerformanceSummary, error) { - req := types.QueryDatastorePerformanceSummary{ - This: sr.Reference(), - } - - if datastore != nil { - req.Datastore = datastore.Reference() - } - - res, err := methods.QueryDatastorePerformanceSummary(ctx, sr.c, &req) - if err != nil { - return nil, err - } - - return res.Returnval, nil -} - -func (sr StorageResourceManager) QueryIORMConfigOption(ctx context.Context, host *HostSystem) (*types.StorageIORMConfigOption, error) { - req := types.QueryIORMConfigOption{ - This: sr.Reference(), - } - - if host != nil { - req.Host = host.Reference() - } - - res, err := methods.QueryIORMConfigOption(ctx, sr.c, &req) - if err != nil { - return nil, err - } - - return &res.Returnval, nil -} - -func (sr StorageResourceManager) RecommendDatastores(ctx context.Context, storageSpec types.StoragePlacementSpec) (*types.StoragePlacementResult, error) { - req := types.RecommendDatastores{ - This: sr.Reference(), - StorageSpec: storageSpec, - } - - res, err := methods.RecommendDatastores(ctx, sr.c, &req) - if err != nil { - return nil, err - } - - return &res.Returnval, nil -} - -func (sr StorageResourceManager) RefreshStorageDrsRecommendation(ctx context.Context, pod *StoragePod) error { - req := types.RefreshStorageDrsRecommendation{ - This: sr.Reference(), - } - - if pod != nil { - req.Pod = pod.Reference() - } - - _, err := methods.RefreshStorageDrsRecommendation(ctx, sr.c, &req) - - return err -} diff --git a/vendor/github.com/vmware/govmomi/object/task.go b/vendor/github.com/vmware/govmomi/object/task.go deleted file mode 100644 index 088dd7f56be..00000000000 --- a/vendor/github.com/vmware/govmomi/object/task.go +++ /dev/null @@ -1,100 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "context" - - "github.com/vmware/govmomi/property" - "github.com/vmware/govmomi/task" - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/progress" - "github.com/vmware/govmomi/vim25/types" -) - -// Task is a convenience wrapper around task.Task that keeps a reference to -// the client that was used to create it. This allows users to call the Wait() -// function with only a context parameter, instead of a context parameter, a -// soap.RoundTripper, and reference to the root property collector. -type Task struct { - Common -} - -func NewTask(c *vim25.Client, ref types.ManagedObjectReference) *Task { - t := Task{ - Common: NewCommon(c, ref), - } - - return &t -} - -func (t *Task) Wait(ctx context.Context) error { - _, err := t.WaitForResult(ctx, nil) - return err -} - -func (t *Task) WaitForResult(ctx context.Context, s ...progress.Sinker) (*types.TaskInfo, error) { - var pr progress.Sinker - if len(s) == 1 { - pr = s[0] - } - p := property.DefaultCollector(t.c) - return task.Wait(ctx, t.Reference(), p, pr) -} - -func (t *Task) Cancel(ctx context.Context) error { - _, err := methods.CancelTask(ctx, t.Client(), &types.CancelTask{ - This: t.Reference(), - }) - - return err -} - -// SetState sets task state and optionally sets results or fault, as appropriate for state. -func (t *Task) SetState(ctx context.Context, state types.TaskInfoState, result types.AnyType, fault *types.LocalizedMethodFault) error { - req := types.SetTaskState{ - This: t.Reference(), - State: state, - Result: result, - Fault: fault, - } - _, err := methods.SetTaskState(ctx, t.Common.Client(), &req) - return err -} - -// SetDescription updates task description to describe the current phase of the task. -func (t *Task) SetDescription(ctx context.Context, description types.LocalizableMessage) error { - req := types.SetTaskDescription{ - This: t.Reference(), - Description: description, - } - _, err := methods.SetTaskDescription(ctx, t.Common.Client(), &req) - return err -} - -// UpdateProgress Sets percentage done for this task and recalculates overall percentage done. -// If a percentDone value of less than zero or greater than 100 is specified, -// a value of zero or 100 respectively is used. -func (t *Task) UpdateProgress(ctx context.Context, percentDone int) error { - req := types.UpdateProgress{ - This: t.Reference(), - PercentDone: int32(percentDone), - } - _, err := methods.UpdateProgress(ctx, t.Common.Client(), &req) - return err -} diff --git a/vendor/github.com/vmware/govmomi/object/tenant_manager.go b/vendor/github.com/vmware/govmomi/object/tenant_manager.go deleted file mode 100644 index 4dda196e35e..00000000000 --- a/vendor/github.com/vmware/govmomi/object/tenant_manager.go +++ /dev/null @@ -1,78 +0,0 @@ -/* -Copyright (c) 2021 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "context" - - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/types" -) - -type TenantManager struct { - Common -} - -func NewTenantManager(c *vim25.Client) *TenantManager { - t := TenantManager{ - Common: NewCommon(c, *c.ServiceContent.TenantManager), - } - - return &t -} - -func (t TenantManager) MarkServiceProviderEntities(ctx context.Context, entities []types.ManagedObjectReference) error { - req := types.MarkServiceProviderEntities{ - This: t.Reference(), - Entity: entities, - } - - _, err := methods.MarkServiceProviderEntities(ctx, t.Client(), &req) - if err != nil { - return err - } - - return nil -} - -func (t TenantManager) UnmarkServiceProviderEntities(ctx context.Context, entities []types.ManagedObjectReference) error { - req := types.UnmarkServiceProviderEntities{ - This: t.Reference(), - Entity: entities, - } - - _, err := methods.UnmarkServiceProviderEntities(ctx, t.Client(), &req) - if err != nil { - return err - } - - return nil -} - -func (t TenantManager) RetrieveServiceProviderEntities(ctx context.Context) ([]types.ManagedObjectReference, error) { - req := types.RetrieveServiceProviderEntities{ - This: t.Reference(), - } - - res, err := methods.RetrieveServiceProviderEntities(ctx, t.Client(), &req) - if err != nil { - return nil, err - } - - return res.Returnval, nil -} diff --git a/vendor/github.com/vmware/govmomi/object/types.go b/vendor/github.com/vmware/govmomi/object/types.go deleted file mode 100644 index 4eb8d1b8bbf..00000000000 --- a/vendor/github.com/vmware/govmomi/object/types.go +++ /dev/null @@ -1,67 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/types" -) - -type Reference interface { - Reference() types.ManagedObjectReference -} - -func NewReference(c *vim25.Client, e types.ManagedObjectReference) Reference { - switch e.Type { - case "Folder": - return NewFolder(c, e) - case "StoragePod": - return &StoragePod{ - NewFolder(c, e), - } - case "Datacenter": - return NewDatacenter(c, e) - case "VirtualMachine": - return NewVirtualMachine(c, e) - case "VirtualApp": - return &VirtualApp{ - NewResourcePool(c, e), - } - case "ComputeResource": - return NewComputeResource(c, e) - case "ClusterComputeResource": - return NewClusterComputeResource(c, e) - case "HostSystem": - return NewHostSystem(c, e) - case "Network": - return NewNetwork(c, e) - case "OpaqueNetwork": - return NewOpaqueNetwork(c, e) - case "ResourcePool": - return NewResourcePool(c, e) - case "DistributedVirtualSwitch": - return NewDistributedVirtualSwitch(c, e) - case "VmwareDistributedVirtualSwitch": - return &VmwareDistributedVirtualSwitch{*NewDistributedVirtualSwitch(c, e)} - case "DistributedVirtualPortgroup": - return NewDistributedVirtualPortgroup(c, e) - case "Datastore": - return NewDatastore(c, e) - default: - panic("Unknown managed entity: " + e.Type) - } -} diff --git a/vendor/github.com/vmware/govmomi/object/virtual_app.go b/vendor/github.com/vmware/govmomi/object/virtual_app.go deleted file mode 100644 index b7311b3e39d..00000000000 --- a/vendor/github.com/vmware/govmomi/object/virtual_app.go +++ /dev/null @@ -1,121 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "context" - - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/types" -) - -type VirtualApp struct { - *ResourcePool -} - -func NewVirtualApp(c *vim25.Client, ref types.ManagedObjectReference) *VirtualApp { - return &VirtualApp{ - ResourcePool: NewResourcePool(c, ref), - } -} - -func (p VirtualApp) CreateChildVM(ctx context.Context, config types.VirtualMachineConfigSpec, host *HostSystem) (*Task, error) { - req := types.CreateChildVM_Task{ - This: p.Reference(), - Config: config, - } - - if host != nil { - ref := host.Reference() - req.Host = &ref - } - - res, err := methods.CreateChildVM_Task(ctx, p.c, &req) - if err != nil { - return nil, err - } - - return NewTask(p.c, res.Returnval), nil -} - -func (p VirtualApp) UpdateConfig(ctx context.Context, spec types.VAppConfigSpec) error { - req := types.UpdateVAppConfig{ - This: p.Reference(), - Spec: spec, - } - - _, err := methods.UpdateVAppConfig(ctx, p.c, &req) - return err -} - -func (p VirtualApp) PowerOn(ctx context.Context) (*Task, error) { - req := types.PowerOnVApp_Task{ - This: p.Reference(), - } - - res, err := methods.PowerOnVApp_Task(ctx, p.c, &req) - if err != nil { - return nil, err - } - - return NewTask(p.c, res.Returnval), nil -} - -func (p VirtualApp) PowerOff(ctx context.Context, force bool) (*Task, error) { - req := types.PowerOffVApp_Task{ - This: p.Reference(), - Force: force, - } - - res, err := methods.PowerOffVApp_Task(ctx, p.c, &req) - if err != nil { - return nil, err - } - - return NewTask(p.c, res.Returnval), nil - -} - -func (p VirtualApp) Suspend(ctx context.Context) (*Task, error) { - req := types.SuspendVApp_Task{ - This: p.Reference(), - } - - res, err := methods.SuspendVApp_Task(ctx, p.c, &req) - if err != nil { - return nil, err - } - - return NewTask(p.c, res.Returnval), nil -} - -func (p VirtualApp) Clone(ctx context.Context, name string, target types.ManagedObjectReference, spec types.VAppCloneSpec) (*Task, error) { - req := types.CloneVApp_Task{ - This: p.Reference(), - Name: name, - Target: target, - Spec: spec, - } - - res, err := methods.CloneVApp_Task(ctx, p.c, &req) - if err != nil { - return nil, err - } - - return NewTask(p.c, res.Returnval), nil -} diff --git a/vendor/github.com/vmware/govmomi/object/virtual_device_list.go b/vendor/github.com/vmware/govmomi/object/virtual_device_list.go deleted file mode 100644 index 3765506532e..00000000000 --- a/vendor/github.com/vmware/govmomi/object/virtual_device_list.go +++ /dev/null @@ -1,965 +0,0 @@ -/* -Copyright (c) 2015-2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "errors" - "fmt" - "math/rand" - "path/filepath" - "reflect" - "regexp" - "sort" - "strings" - - "github.com/vmware/govmomi/vim25/types" -) - -// Type values for use in BootOrder -const ( - DeviceTypeNone = "-" - DeviceTypeCdrom = "cdrom" - DeviceTypeDisk = "disk" - DeviceTypeEthernet = "ethernet" - DeviceTypeFloppy = "floppy" -) - -// VirtualDeviceList provides helper methods for working with a list of virtual devices. -type VirtualDeviceList []types.BaseVirtualDevice - -// SCSIControllerTypes are used for adding a new SCSI controller to a VM. -func SCSIControllerTypes() VirtualDeviceList { - // Return a mutable list of SCSI controller types, initialized with defaults. - return VirtualDeviceList([]types.BaseVirtualDevice{ - &types.VirtualLsiLogicController{}, - &types.VirtualBusLogicController{}, - &types.ParaVirtualSCSIController{}, - &types.VirtualLsiLogicSASController{}, - }).Select(func(device types.BaseVirtualDevice) bool { - c := device.(types.BaseVirtualSCSIController).GetVirtualSCSIController() - c.SharedBus = types.VirtualSCSISharingNoSharing - c.BusNumber = -1 - return true - }) -} - -// EthernetCardTypes are used for adding a new ethernet card to a VM. -func EthernetCardTypes() VirtualDeviceList { - return VirtualDeviceList([]types.BaseVirtualDevice{ - &types.VirtualE1000{}, - &types.VirtualE1000e{}, - &types.VirtualVmxnet2{}, - &types.VirtualVmxnet3{}, - &types.VirtualVmxnet3Vrdma{}, - &types.VirtualPCNet32{}, - &types.VirtualSriovEthernetCard{}, - }).Select(func(device types.BaseVirtualDevice) bool { - c := device.(types.BaseVirtualEthernetCard).GetVirtualEthernetCard() - c.GetVirtualDevice().Key = VirtualDeviceList{}.newRandomKey() - return true - }) -} - -// Select returns a new list containing all elements of the list for which the given func returns true. -func (l VirtualDeviceList) Select(f func(device types.BaseVirtualDevice) bool) VirtualDeviceList { - var found VirtualDeviceList - - for _, device := range l { - if f(device) { - found = append(found, device) - } - } - - return found -} - -// SelectByType returns a new list with devices that are equal to or extend the given type. -func (l VirtualDeviceList) SelectByType(deviceType types.BaseVirtualDevice) VirtualDeviceList { - dtype := reflect.TypeOf(deviceType) - if dtype == nil { - return nil - } - dname := dtype.Elem().Name() - - return l.Select(func(device types.BaseVirtualDevice) bool { - t := reflect.TypeOf(device) - - if t == dtype { - return true - } - - _, ok := t.Elem().FieldByName(dname) - - return ok - }) -} - -// SelectByBackingInfo returns a new list with devices matching the given backing info. -// If the value of backing is nil, any device with a backing of the same type will be returned. -func (l VirtualDeviceList) SelectByBackingInfo(backing types.BaseVirtualDeviceBackingInfo) VirtualDeviceList { - t := reflect.TypeOf(backing) - - return l.Select(func(device types.BaseVirtualDevice) bool { - db := device.GetVirtualDevice().Backing - if db == nil { - return false - } - - if reflect.TypeOf(db) != t { - return false - } - - if reflect.ValueOf(backing).IsNil() { - // selecting by backing type - return true - } - - switch a := db.(type) { - case *types.VirtualEthernetCardNetworkBackingInfo: - b := backing.(*types.VirtualEthernetCardNetworkBackingInfo) - return a.DeviceName == b.DeviceName - case *types.VirtualEthernetCardDistributedVirtualPortBackingInfo: - b := backing.(*types.VirtualEthernetCardDistributedVirtualPortBackingInfo) - return a.Port.SwitchUuid == b.Port.SwitchUuid && - a.Port.PortgroupKey == b.Port.PortgroupKey - case *types.VirtualEthernetCardOpaqueNetworkBackingInfo: - b := backing.(*types.VirtualEthernetCardOpaqueNetworkBackingInfo) - return a.OpaqueNetworkId == b.OpaqueNetworkId - case *types.VirtualDiskFlatVer2BackingInfo: - b := backing.(*types.VirtualDiskFlatVer2BackingInfo) - if a.Parent != nil && b.Parent != nil { - return a.Parent.FileName == b.Parent.FileName - } - return a.FileName == b.FileName - case *types.VirtualSerialPortURIBackingInfo: - b := backing.(*types.VirtualSerialPortURIBackingInfo) - return a.ServiceURI == b.ServiceURI - case types.BaseVirtualDeviceFileBackingInfo: - b := backing.(types.BaseVirtualDeviceFileBackingInfo) - return a.GetVirtualDeviceFileBackingInfo().FileName == b.GetVirtualDeviceFileBackingInfo().FileName - case *types.VirtualPCIPassthroughVmiopBackingInfo: - b := backing.(*types.VirtualPCIPassthroughVmiopBackingInfo) - return a.Vgpu == b.Vgpu - case *types.VirtualPCIPassthroughDynamicBackingInfo: - b := backing.(*types.VirtualPCIPassthroughDynamicBackingInfo) - if b.CustomLabel != "" && b.CustomLabel != a.CustomLabel { - return false - } - if len(b.AllowedDevice) == 0 { - return true - } - for _, x := range a.AllowedDevice { - for _, y := range b.AllowedDevice { - if x.DeviceId == y.DeviceId && x.VendorId == y.VendorId { - return true - } - } - } - return false - default: - return false - } - }) -} - -// Find returns the device matching the given name. -func (l VirtualDeviceList) Find(name string) types.BaseVirtualDevice { - for _, device := range l { - if l.Name(device) == name { - return device - } - } - return nil -} - -// FindByKey returns the device matching the given key. -func (l VirtualDeviceList) FindByKey(key int32) types.BaseVirtualDevice { - for _, device := range l { - if device.GetVirtualDevice().Key == key { - return device - } - } - return nil -} - -// FindIDEController will find the named IDE controller if given, otherwise will pick an available controller. -// An error is returned if the named controller is not found or not an IDE controller. Or, if name is not -// given and no available controller can be found. -func (l VirtualDeviceList) FindIDEController(name string) (*types.VirtualIDEController, error) { - if name != "" { - d := l.Find(name) - if d == nil { - return nil, fmt.Errorf("device '%s' not found", name) - } - if c, ok := d.(*types.VirtualIDEController); ok { - return c, nil - } - return nil, fmt.Errorf("%s is not an IDE controller", name) - } - - c := l.PickController((*types.VirtualIDEController)(nil)) - if c == nil { - return nil, errors.New("no available IDE controller") - } - - return c.(*types.VirtualIDEController), nil -} - -// CreateIDEController creates a new IDE controller. -func (l VirtualDeviceList) CreateIDEController() (types.BaseVirtualDevice, error) { - ide := &types.VirtualIDEController{} - ide.Key = l.NewKey() - return ide, nil -} - -// FindSCSIController will find the named SCSI controller if given, otherwise will pick an available controller. -// An error is returned if the named controller is not found or not an SCSI controller. Or, if name is not -// given and no available controller can be found. -func (l VirtualDeviceList) FindSCSIController(name string) (*types.VirtualSCSIController, error) { - if name != "" { - d := l.Find(name) - if d == nil { - return nil, fmt.Errorf("device '%s' not found", name) - } - if c, ok := d.(types.BaseVirtualSCSIController); ok { - return c.GetVirtualSCSIController(), nil - } - return nil, fmt.Errorf("%s is not an SCSI controller", name) - } - - c := l.PickController((*types.VirtualSCSIController)(nil)) - if c == nil { - return nil, errors.New("no available SCSI controller") - } - - return c.(types.BaseVirtualSCSIController).GetVirtualSCSIController(), nil -} - -// CreateSCSIController creates a new SCSI controller of type name if given, otherwise defaults to lsilogic. -func (l VirtualDeviceList) CreateSCSIController(name string) (types.BaseVirtualDevice, error) { - ctypes := SCSIControllerTypes() - - if name == "" || name == "scsi" { - name = ctypes.Type(ctypes[0]) - } else if name == "virtualscsi" { - name = "pvscsi" // ovf VirtualSCSI mapping - } - - found := ctypes.Select(func(device types.BaseVirtualDevice) bool { - return l.Type(device) == name - }) - - if len(found) == 0 { - return nil, fmt.Errorf("unknown SCSI controller type '%s'", name) - } - - c, ok := found[0].(types.BaseVirtualSCSIController) - if !ok { - return nil, fmt.Errorf("invalid SCSI controller type '%s'", name) - } - - scsi := c.GetVirtualSCSIController() - scsi.BusNumber = l.newSCSIBusNumber() - scsi.Key = l.NewKey() - scsi.ScsiCtlrUnitNumber = 7 - return c.(types.BaseVirtualDevice), nil -} - -var scsiBusNumbers = []int{0, 1, 2, 3} - -// newSCSIBusNumber returns the bus number to use for adding a new SCSI bus device. -// -1 is returned if there are no bus numbers available. -func (l VirtualDeviceList) newSCSIBusNumber() int32 { - var used []int - - for _, d := range l.SelectByType((*types.VirtualSCSIController)(nil)) { - num := d.(types.BaseVirtualSCSIController).GetVirtualSCSIController().BusNumber - if num >= 0 { - used = append(used, int(num)) - } // else caller is creating a new vm using SCSIControllerTypes - } - - sort.Ints(used) - - for i, n := range scsiBusNumbers { - if i == len(used) || n != used[i] { - return int32(n) - } - } - - return -1 -} - -// FindNVMEController will find the named NVME controller if given, otherwise will pick an available controller. -// An error is returned if the named controller is not found or not an NVME controller. Or, if name is not -// given and no available controller can be found. -func (l VirtualDeviceList) FindNVMEController(name string) (*types.VirtualNVMEController, error) { - if name != "" { - d := l.Find(name) - if d == nil { - return nil, fmt.Errorf("device '%s' not found", name) - } - if c, ok := d.(*types.VirtualNVMEController); ok { - return c, nil - } - return nil, fmt.Errorf("%s is not an NVME controller", name) - } - - c := l.PickController((*types.VirtualNVMEController)(nil)) - if c == nil { - return nil, errors.New("no available NVME controller") - } - - return c.(*types.VirtualNVMEController), nil -} - -// CreateNVMEController creates a new NVMWE controller. -func (l VirtualDeviceList) CreateNVMEController() (types.BaseVirtualDevice, error) { - nvme := &types.VirtualNVMEController{} - nvme.BusNumber = l.newNVMEBusNumber() - nvme.Key = l.NewKey() - - return nvme, nil -} - -var nvmeBusNumbers = []int{0, 1, 2, 3} - -// newNVMEBusNumber returns the bus number to use for adding a new NVME bus device. -// -1 is returned if there are no bus numbers available. -func (l VirtualDeviceList) newNVMEBusNumber() int32 { - var used []int - - for _, d := range l.SelectByType((*types.VirtualNVMEController)(nil)) { - num := d.(types.BaseVirtualController).GetVirtualController().BusNumber - if num >= 0 { - used = append(used, int(num)) - } // else caller is creating a new vm using NVMEControllerTypes - } - - sort.Ints(used) - - for i, n := range nvmeBusNumbers { - if i == len(used) || n != used[i] { - return int32(n) - } - } - - return -1 -} - -// FindDiskController will find an existing ide or scsi disk controller. -func (l VirtualDeviceList) FindDiskController(name string) (types.BaseVirtualController, error) { - switch { - case name == "ide": - return l.FindIDEController("") - case name == "scsi" || name == "": - return l.FindSCSIController("") - case name == "nvme": - return l.FindNVMEController("") - default: - if c, ok := l.Find(name).(types.BaseVirtualController); ok { - return c, nil - } - return nil, fmt.Errorf("%s is not a valid controller", name) - } -} - -// PickController returns a controller of the given type(s). -// If no controllers are found or have no available slots, then nil is returned. -func (l VirtualDeviceList) PickController(kind types.BaseVirtualController) types.BaseVirtualController { - l = l.SelectByType(kind.(types.BaseVirtualDevice)).Select(func(device types.BaseVirtualDevice) bool { - num := len(device.(types.BaseVirtualController).GetVirtualController().Device) - - switch device.(type) { - case types.BaseVirtualSCSIController: - return num < 15 - case *types.VirtualIDEController: - return num < 2 - case *types.VirtualNVMEController: - return num < 8 - default: - return true - } - }) - - if len(l) == 0 { - return nil - } - - return l[0].(types.BaseVirtualController) -} - -// newUnitNumber returns the unit number to use for attaching a new device to the given controller. -func (l VirtualDeviceList) newUnitNumber(c types.BaseVirtualController) int32 { - units := make([]bool, 30) - - switch sc := c.(type) { - case types.BaseVirtualSCSIController: - // The SCSI controller sits on its own bus - units[sc.GetVirtualSCSIController().ScsiCtlrUnitNumber] = true - } - - key := c.GetVirtualController().Key - - for _, device := range l { - d := device.GetVirtualDevice() - - if d.ControllerKey == key && d.UnitNumber != nil { - units[int(*d.UnitNumber)] = true - } - } - - for unit, used := range units { - if !used { - return int32(unit) - } - } - - return -1 -} - -// NewKey returns the key to use for adding a new device to the device list. -// The device list we're working with here may not be complete (e.g. when -// we're only adding new devices), so any positive keys could conflict with device keys -// that are already in use. To avoid this type of conflict, we can use negative keys -// here, which will be resolved to positive keys by vSphere as the reconfiguration is done. -func (l VirtualDeviceList) NewKey() int32 { - var key int32 = -200 - - for _, device := range l { - d := device.GetVirtualDevice() - if d.Key < key { - key = d.Key - } - } - - return key - 1 -} - -// AssignController assigns a device to a controller. -func (l VirtualDeviceList) AssignController(device types.BaseVirtualDevice, c types.BaseVirtualController) { - d := device.GetVirtualDevice() - d.ControllerKey = c.GetVirtualController().Key - d.UnitNumber = new(int32) - *d.UnitNumber = l.newUnitNumber(c) - if d.Key == 0 { - d.Key = l.newRandomKey() - } -} - -// newRandomKey returns a random negative device key. -// The generated key can be used for devices you want to add so that it does not collide with existing ones. -func (l VirtualDeviceList) newRandomKey() int32 { - // NOTE: rand.Uint32 cannot be used here because conversion from uint32 to int32 may change the sign - key := rand.Int31() * -1 - if key == 0 { - return -1 - } - - return key -} - -// CreateDisk creates a new VirtualDisk device which can be added to a VM. -func (l VirtualDeviceList) CreateDisk(c types.BaseVirtualController, ds types.ManagedObjectReference, name string) *types.VirtualDisk { - // If name is not specified, one will be chosen for you. - // But if when given, make sure it ends in .vmdk, otherwise it will be treated as a directory. - if len(name) > 0 && filepath.Ext(name) != ".vmdk" { - name += ".vmdk" - } - - device := &types.VirtualDisk{ - VirtualDevice: types.VirtualDevice{ - Backing: &types.VirtualDiskFlatVer2BackingInfo{ - DiskMode: string(types.VirtualDiskModePersistent), - ThinProvisioned: types.NewBool(true), - VirtualDeviceFileBackingInfo: types.VirtualDeviceFileBackingInfo{ - FileName: name, - Datastore: &ds, - }, - }, - }, - } - - l.AssignController(device, c) - return device -} - -// ChildDisk creates a new VirtualDisk device, linked to the given parent disk, which can be added to a VM. -func (l VirtualDeviceList) ChildDisk(parent *types.VirtualDisk) *types.VirtualDisk { - disk := *parent - backing := disk.Backing.(*types.VirtualDiskFlatVer2BackingInfo) - p := new(DatastorePath) - p.FromString(backing.FileName) - p.Path = "" - - // Use specified disk as parent backing to a new disk. - disk.Backing = &types.VirtualDiskFlatVer2BackingInfo{ - VirtualDeviceFileBackingInfo: types.VirtualDeviceFileBackingInfo{ - FileName: p.String(), - Datastore: backing.Datastore, - }, - Parent: backing, - DiskMode: backing.DiskMode, - ThinProvisioned: backing.ThinProvisioned, - } - - return &disk -} - -func (l VirtualDeviceList) connectivity(device types.BaseVirtualDevice, v bool) error { - c := device.GetVirtualDevice().Connectable - if c == nil { - return fmt.Errorf("%s is not connectable", l.Name(device)) - } - - c.Connected = v - c.StartConnected = v - - return nil -} - -// Connect changes the device to connected, returns an error if the device is not connectable. -func (l VirtualDeviceList) Connect(device types.BaseVirtualDevice) error { - return l.connectivity(device, true) -} - -// Disconnect changes the device to disconnected, returns an error if the device is not connectable. -func (l VirtualDeviceList) Disconnect(device types.BaseVirtualDevice) error { - return l.connectivity(device, false) -} - -// FindCdrom finds a cdrom device with the given name, defaulting to the first cdrom device if any. -func (l VirtualDeviceList) FindCdrom(name string) (*types.VirtualCdrom, error) { - if name != "" { - d := l.Find(name) - if d == nil { - return nil, fmt.Errorf("device '%s' not found", name) - } - if c, ok := d.(*types.VirtualCdrom); ok { - return c, nil - } - return nil, fmt.Errorf("%s is not a cdrom device", name) - } - - c := l.SelectByType((*types.VirtualCdrom)(nil)) - if len(c) == 0 { - return nil, errors.New("no cdrom device found") - } - - return c[0].(*types.VirtualCdrom), nil -} - -// CreateCdrom creates a new VirtualCdrom device which can be added to a VM. -func (l VirtualDeviceList) CreateCdrom(c *types.VirtualIDEController) (*types.VirtualCdrom, error) { - device := &types.VirtualCdrom{} - - l.AssignController(device, c) - - l.setDefaultCdromBacking(device) - - device.Connectable = &types.VirtualDeviceConnectInfo{ - AllowGuestControl: true, - Connected: true, - StartConnected: true, - } - - return device, nil -} - -// InsertIso changes the cdrom device backing to use the given iso file. -func (l VirtualDeviceList) InsertIso(device *types.VirtualCdrom, iso string) *types.VirtualCdrom { - device.Backing = &types.VirtualCdromIsoBackingInfo{ - VirtualDeviceFileBackingInfo: types.VirtualDeviceFileBackingInfo{ - FileName: iso, - }, - } - - return device -} - -// EjectIso removes the iso file based backing and replaces with the default cdrom backing. -func (l VirtualDeviceList) EjectIso(device *types.VirtualCdrom) *types.VirtualCdrom { - l.setDefaultCdromBacking(device) - return device -} - -func (l VirtualDeviceList) setDefaultCdromBacking(device *types.VirtualCdrom) { - device.Backing = &types.VirtualCdromAtapiBackingInfo{ - VirtualDeviceDeviceBackingInfo: types.VirtualDeviceDeviceBackingInfo{ - DeviceName: fmt.Sprintf("%s-%d-%d", DeviceTypeCdrom, device.ControllerKey, device.UnitNumber), - UseAutoDetect: types.NewBool(false), - }, - } -} - -// FindFloppy finds a floppy device with the given name, defaulting to the first floppy device if any. -func (l VirtualDeviceList) FindFloppy(name string) (*types.VirtualFloppy, error) { - if name != "" { - d := l.Find(name) - if d == nil { - return nil, fmt.Errorf("device '%s' not found", name) - } - if c, ok := d.(*types.VirtualFloppy); ok { - return c, nil - } - return nil, fmt.Errorf("%s is not a floppy device", name) - } - - c := l.SelectByType((*types.VirtualFloppy)(nil)) - if len(c) == 0 { - return nil, errors.New("no floppy device found") - } - - return c[0].(*types.VirtualFloppy), nil -} - -// CreateFloppy creates a new VirtualFloppy device which can be added to a VM. -func (l VirtualDeviceList) CreateFloppy() (*types.VirtualFloppy, error) { - device := &types.VirtualFloppy{} - - c := l.PickController((*types.VirtualSIOController)(nil)) - if c == nil { - return nil, errors.New("no available SIO controller") - } - - l.AssignController(device, c) - - l.setDefaultFloppyBacking(device) - - device.Connectable = &types.VirtualDeviceConnectInfo{ - AllowGuestControl: true, - Connected: true, - StartConnected: true, - } - - return device, nil -} - -// InsertImg changes the floppy device backing to use the given img file. -func (l VirtualDeviceList) InsertImg(device *types.VirtualFloppy, img string) *types.VirtualFloppy { - device.Backing = &types.VirtualFloppyImageBackingInfo{ - VirtualDeviceFileBackingInfo: types.VirtualDeviceFileBackingInfo{ - FileName: img, - }, - } - - return device -} - -// EjectImg removes the img file based backing and replaces with the default floppy backing. -func (l VirtualDeviceList) EjectImg(device *types.VirtualFloppy) *types.VirtualFloppy { - l.setDefaultFloppyBacking(device) - return device -} - -func (l VirtualDeviceList) setDefaultFloppyBacking(device *types.VirtualFloppy) { - device.Backing = &types.VirtualFloppyDeviceBackingInfo{ - VirtualDeviceDeviceBackingInfo: types.VirtualDeviceDeviceBackingInfo{ - DeviceName: fmt.Sprintf("%s-%d", DeviceTypeFloppy, device.UnitNumber), - UseAutoDetect: types.NewBool(false), - }, - } -} - -// FindSerialPort finds a serial port device with the given name, defaulting to the first serial port device if any. -func (l VirtualDeviceList) FindSerialPort(name string) (*types.VirtualSerialPort, error) { - if name != "" { - d := l.Find(name) - if d == nil { - return nil, fmt.Errorf("device '%s' not found", name) - } - if c, ok := d.(*types.VirtualSerialPort); ok { - return c, nil - } - return nil, fmt.Errorf("%s is not a serial port device", name) - } - - c := l.SelectByType((*types.VirtualSerialPort)(nil)) - if len(c) == 0 { - return nil, errors.New("no serial port device found") - } - - return c[0].(*types.VirtualSerialPort), nil -} - -// CreateSerialPort creates a new VirtualSerialPort device which can be added to a VM. -func (l VirtualDeviceList) CreateSerialPort() (*types.VirtualSerialPort, error) { - device := &types.VirtualSerialPort{ - YieldOnPoll: true, - } - - c := l.PickController((*types.VirtualSIOController)(nil)) - if c == nil { - return nil, errors.New("no available SIO controller") - } - - l.AssignController(device, c) - - l.setDefaultSerialPortBacking(device) - - return device, nil -} - -// ConnectSerialPort connects a serial port to a server or client uri. -func (l VirtualDeviceList) ConnectSerialPort(device *types.VirtualSerialPort, uri string, client bool, proxyuri string) *types.VirtualSerialPort { - if strings.HasPrefix(uri, "[") { - device.Backing = &types.VirtualSerialPortFileBackingInfo{ - VirtualDeviceFileBackingInfo: types.VirtualDeviceFileBackingInfo{ - FileName: uri, - }, - } - - return device - } - - direction := types.VirtualDeviceURIBackingOptionDirectionServer - if client { - direction = types.VirtualDeviceURIBackingOptionDirectionClient - } - - device.Backing = &types.VirtualSerialPortURIBackingInfo{ - VirtualDeviceURIBackingInfo: types.VirtualDeviceURIBackingInfo{ - Direction: string(direction), - ServiceURI: uri, - ProxyURI: proxyuri, - }, - } - - return device -} - -// DisconnectSerialPort disconnects the serial port backing. -func (l VirtualDeviceList) DisconnectSerialPort(device *types.VirtualSerialPort) *types.VirtualSerialPort { - l.setDefaultSerialPortBacking(device) - return device -} - -func (l VirtualDeviceList) setDefaultSerialPortBacking(device *types.VirtualSerialPort) { - device.Backing = &types.VirtualSerialPortURIBackingInfo{ - VirtualDeviceURIBackingInfo: types.VirtualDeviceURIBackingInfo{ - Direction: "client", - ServiceURI: "localhost:0", - }, - } -} - -// CreateEthernetCard creates a new VirtualEthernetCard of the given name name and initialized with the given backing. -func (l VirtualDeviceList) CreateEthernetCard(name string, backing types.BaseVirtualDeviceBackingInfo) (types.BaseVirtualDevice, error) { - ctypes := EthernetCardTypes() - - if name == "" { - name = ctypes.deviceName(ctypes[0]) - } - - found := ctypes.Select(func(device types.BaseVirtualDevice) bool { - return l.deviceName(device) == name - }) - - if len(found) == 0 { - return nil, fmt.Errorf("unknown ethernet card type '%s'", name) - } - - c, ok := found[0].(types.BaseVirtualEthernetCard) - if !ok { - return nil, fmt.Errorf("invalid ethernet card type '%s'", name) - } - - c.GetVirtualEthernetCard().Backing = backing - - return c.(types.BaseVirtualDevice), nil -} - -// PrimaryMacAddress returns the MacAddress field of the primary VirtualEthernetCard -func (l VirtualDeviceList) PrimaryMacAddress() string { - eth0 := l.Find("ethernet-0") - - if eth0 == nil { - return "" - } - - return eth0.(types.BaseVirtualEthernetCard).GetVirtualEthernetCard().MacAddress -} - -// convert a BaseVirtualDevice to a BaseVirtualMachineBootOptionsBootableDevice -var bootableDevices = map[string]func(device types.BaseVirtualDevice) types.BaseVirtualMachineBootOptionsBootableDevice{ - DeviceTypeNone: func(types.BaseVirtualDevice) types.BaseVirtualMachineBootOptionsBootableDevice { - return &types.VirtualMachineBootOptionsBootableDevice{} - }, - DeviceTypeCdrom: func(types.BaseVirtualDevice) types.BaseVirtualMachineBootOptionsBootableDevice { - return &types.VirtualMachineBootOptionsBootableCdromDevice{} - }, - DeviceTypeDisk: func(d types.BaseVirtualDevice) types.BaseVirtualMachineBootOptionsBootableDevice { - return &types.VirtualMachineBootOptionsBootableDiskDevice{ - DeviceKey: d.GetVirtualDevice().Key, - } - }, - DeviceTypeEthernet: func(d types.BaseVirtualDevice) types.BaseVirtualMachineBootOptionsBootableDevice { - return &types.VirtualMachineBootOptionsBootableEthernetDevice{ - DeviceKey: d.GetVirtualDevice().Key, - } - }, - DeviceTypeFloppy: func(types.BaseVirtualDevice) types.BaseVirtualMachineBootOptionsBootableDevice { - return &types.VirtualMachineBootOptionsBootableFloppyDevice{} - }, -} - -// BootOrder returns a list of devices which can be used to set boot order via VirtualMachine.SetBootOptions. -// The order can be any of "ethernet", "cdrom", "floppy" or "disk" or by specific device name. -// A value of "-" will clear the existing boot order on the VC/ESX side. -func (l VirtualDeviceList) BootOrder(order []string) []types.BaseVirtualMachineBootOptionsBootableDevice { - var devices []types.BaseVirtualMachineBootOptionsBootableDevice - - for _, name := range order { - if kind, ok := bootableDevices[name]; ok { - if name == DeviceTypeNone { - // Not covered in the API docs, nor obvious, but this clears the boot order on the VC/ESX side. - devices = append(devices, new(types.VirtualMachineBootOptionsBootableDevice)) - continue - } - - for _, device := range l { - if l.Type(device) == name { - devices = append(devices, kind(device)) - } - } - continue - } - - if d := l.Find(name); d != nil { - if kind, ok := bootableDevices[l.Type(d)]; ok { - devices = append(devices, kind(d)) - } - } - } - - return devices -} - -// SelectBootOrder returns an ordered list of devices matching the given bootable device order -func (l VirtualDeviceList) SelectBootOrder(order []types.BaseVirtualMachineBootOptionsBootableDevice) VirtualDeviceList { - var devices VirtualDeviceList - - for _, bd := range order { - for _, device := range l { - if kind, ok := bootableDevices[l.Type(device)]; ok { - if reflect.DeepEqual(kind(device), bd) { - devices = append(devices, device) - } - } - } - } - - return devices -} - -// TypeName returns the vmodl type name of the device -func (l VirtualDeviceList) TypeName(device types.BaseVirtualDevice) string { - dtype := reflect.TypeOf(device) - if dtype == nil { - return "" - } - return dtype.Elem().Name() -} - -var deviceNameRegexp = regexp.MustCompile(`(?:Virtual)?(?:Machine)?(\w+?)(?:Card|EthernetCard|Device|Controller)?$`) - -func (l VirtualDeviceList) deviceName(device types.BaseVirtualDevice) string { - name := "device" - typeName := l.TypeName(device) - - m := deviceNameRegexp.FindStringSubmatch(typeName) - if len(m) == 2 { - name = strings.ToLower(m[1]) - } - - return name -} - -// Type returns a human-readable name for the given device -func (l VirtualDeviceList) Type(device types.BaseVirtualDevice) string { - switch device.(type) { - case types.BaseVirtualEthernetCard: - return DeviceTypeEthernet - case *types.ParaVirtualSCSIController: - return "pvscsi" - case *types.VirtualLsiLogicSASController: - return "lsilogic-sas" - case *types.VirtualNVMEController: - return "nvme" - case *types.VirtualPrecisionClock: - return "clock" - default: - return l.deviceName(device) - } -} - -// Name returns a stable, human-readable name for the given device -func (l VirtualDeviceList) Name(device types.BaseVirtualDevice) string { - var key string - var UnitNumber int32 - d := device.GetVirtualDevice() - if d.UnitNumber != nil { - UnitNumber = *d.UnitNumber - } - - dtype := l.Type(device) - switch dtype { - case DeviceTypeEthernet: - // Ethernet devices of UnitNumber 7-19 are non-SRIOV. Ethernet devices of - // UnitNumber 45-36 descending are SRIOV - if UnitNumber <= 45 && UnitNumber >= 36 { - key = fmt.Sprintf("sriov-%d", 45-UnitNumber) - } else { - key = fmt.Sprintf("%d", UnitNumber-7) - } - case DeviceTypeDisk: - key = fmt.Sprintf("%d-%d", d.ControllerKey, UnitNumber) - default: - key = fmt.Sprintf("%d", d.Key) - } - - return fmt.Sprintf("%s-%s", dtype, key) -} - -// ConfigSpec creates a virtual machine configuration spec for -// the specified operation, for the list of devices in the device list. -func (l VirtualDeviceList) ConfigSpec(op types.VirtualDeviceConfigSpecOperation) ([]types.BaseVirtualDeviceConfigSpec, error) { - var fop types.VirtualDeviceConfigSpecFileOperation - switch op { - case types.VirtualDeviceConfigSpecOperationAdd: - fop = types.VirtualDeviceConfigSpecFileOperationCreate - case types.VirtualDeviceConfigSpecOperationEdit: - fop = types.VirtualDeviceConfigSpecFileOperationReplace - case types.VirtualDeviceConfigSpecOperationRemove: - fop = types.VirtualDeviceConfigSpecFileOperationDestroy - default: - panic("unknown op") - } - - var res []types.BaseVirtualDeviceConfigSpec - for _, device := range l { - config := &types.VirtualDeviceConfigSpec{ - Device: device, - Operation: op, - FileOperation: diskFileOperation(op, fop, device), - } - - res = append(res, config) - } - - return res, nil -} diff --git a/vendor/github.com/vmware/govmomi/object/virtual_disk_manager.go b/vendor/github.com/vmware/govmomi/object/virtual_disk_manager.go deleted file mode 100644 index 72439caf9c0..00000000000 --- a/vendor/github.com/vmware/govmomi/object/virtual_disk_manager.go +++ /dev/null @@ -1,227 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "context" - - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/types" -) - -type VirtualDiskManager struct { - Common -} - -func NewVirtualDiskManager(c *vim25.Client) *VirtualDiskManager { - m := VirtualDiskManager{ - Common: NewCommon(c, *c.ServiceContent.VirtualDiskManager), - } - - return &m -} - -// CopyVirtualDisk copies a virtual disk, performing conversions as specified in the spec. -func (m VirtualDiskManager) CopyVirtualDisk( - ctx context.Context, - sourceName string, sourceDatacenter *Datacenter, - destName string, destDatacenter *Datacenter, - destSpec *types.VirtualDiskSpec, force bool) (*Task, error) { - - req := types.CopyVirtualDisk_Task{ - This: m.Reference(), - SourceName: sourceName, - DestName: destName, - DestSpec: destSpec, - Force: types.NewBool(force), - } - - if sourceDatacenter != nil { - ref := sourceDatacenter.Reference() - req.SourceDatacenter = &ref - } - - if destDatacenter != nil { - ref := destDatacenter.Reference() - req.DestDatacenter = &ref - } - - res, err := methods.CopyVirtualDisk_Task(ctx, m.c, &req) - if err != nil { - return nil, err - } - - return NewTask(m.c, res.Returnval), nil -} - -// CreateVirtualDisk creates a new virtual disk. -func (m VirtualDiskManager) CreateVirtualDisk( - ctx context.Context, - name string, datacenter *Datacenter, - spec types.BaseVirtualDiskSpec) (*Task, error) { - - req := types.CreateVirtualDisk_Task{ - This: m.Reference(), - Name: name, - Spec: spec, - } - - if datacenter != nil { - ref := datacenter.Reference() - req.Datacenter = &ref - } - - res, err := methods.CreateVirtualDisk_Task(ctx, m.c, &req) - if err != nil { - return nil, err - } - - return NewTask(m.c, res.Returnval), nil -} - -// MoveVirtualDisk moves a virtual disk. -func (m VirtualDiskManager) MoveVirtualDisk( - ctx context.Context, - sourceName string, sourceDatacenter *Datacenter, - destName string, destDatacenter *Datacenter, - force bool) (*Task, error) { - req := types.MoveVirtualDisk_Task{ - This: m.Reference(), - SourceName: sourceName, - DestName: destName, - Force: types.NewBool(force), - } - - if sourceDatacenter != nil { - ref := sourceDatacenter.Reference() - req.SourceDatacenter = &ref - } - - if destDatacenter != nil { - ref := destDatacenter.Reference() - req.DestDatacenter = &ref - } - - res, err := methods.MoveVirtualDisk_Task(ctx, m.c, &req) - if err != nil { - return nil, err - } - - return NewTask(m.c, res.Returnval), nil -} - -// DeleteVirtualDisk deletes a virtual disk. -func (m VirtualDiskManager) DeleteVirtualDisk(ctx context.Context, name string, dc *Datacenter) (*Task, error) { - req := types.DeleteVirtualDisk_Task{ - This: m.Reference(), - Name: name, - } - - if dc != nil { - ref := dc.Reference() - req.Datacenter = &ref - } - - res, err := methods.DeleteVirtualDisk_Task(ctx, m.c, &req) - if err != nil { - return nil, err - } - - return NewTask(m.c, res.Returnval), nil -} - -// InflateVirtualDisk inflates a virtual disk. -func (m VirtualDiskManager) InflateVirtualDisk(ctx context.Context, name string, dc *Datacenter) (*Task, error) { - req := types.InflateVirtualDisk_Task{ - This: m.Reference(), - Name: name, - } - - if dc != nil { - ref := dc.Reference() - req.Datacenter = &ref - } - - res, err := methods.InflateVirtualDisk_Task(ctx, m.c, &req) - if err != nil { - return nil, err - } - - return NewTask(m.c, res.Returnval), nil -} - -// ShrinkVirtualDisk shrinks a virtual disk. -func (m VirtualDiskManager) ShrinkVirtualDisk(ctx context.Context, name string, dc *Datacenter, copy *bool) (*Task, error) { - req := types.ShrinkVirtualDisk_Task{ - This: m.Reference(), - Name: name, - Copy: copy, - } - - if dc != nil { - ref := dc.Reference() - req.Datacenter = &ref - } - - res, err := methods.ShrinkVirtualDisk_Task(ctx, m.c, &req) - if err != nil { - return nil, err - } - - return NewTask(m.c, res.Returnval), nil -} - -// Queries virtual disk uuid -func (m VirtualDiskManager) QueryVirtualDiskUuid(ctx context.Context, name string, dc *Datacenter) (string, error) { - req := types.QueryVirtualDiskUuid{ - This: m.Reference(), - Name: name, - } - - if dc != nil { - ref := dc.Reference() - req.Datacenter = &ref - } - - res, err := methods.QueryVirtualDiskUuid(ctx, m.c, &req) - if err != nil { - return "", err - } - - if res == nil { - return "", nil - } - - return res.Returnval, nil -} - -func (m VirtualDiskManager) SetVirtualDiskUuid(ctx context.Context, name string, dc *Datacenter, uuid string) error { - req := types.SetVirtualDiskUuid{ - This: m.Reference(), - Name: name, - Uuid: uuid, - } - - if dc != nil { - ref := dc.Reference() - req.Datacenter = &ref - } - - _, err := methods.SetVirtualDiskUuid(ctx, m.c, &req) - return err -} diff --git a/vendor/github.com/vmware/govmomi/object/virtual_disk_manager_internal.go b/vendor/github.com/vmware/govmomi/object/virtual_disk_manager_internal.go deleted file mode 100644 index faa9ecad5c3..00000000000 --- a/vendor/github.com/vmware/govmomi/object/virtual_disk_manager_internal.go +++ /dev/null @@ -1,166 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "context" - "reflect" - - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -func init() { - types.Add("ArrayOfVirtualDiskInfo", reflect.TypeOf((*arrayOfVirtualDiskInfo)(nil)).Elem()) - - types.Add("VirtualDiskInfo", reflect.TypeOf((*VirtualDiskInfo)(nil)).Elem()) -} - -type arrayOfVirtualDiskInfo struct { - VirtualDiskInfo []VirtualDiskInfo `xml:"VirtualDiskInfo,omitempty"` -} - -type queryVirtualDiskInfoTaskRequest struct { - This types.ManagedObjectReference `xml:"_this"` - Name string `xml:"name"` - Datacenter *types.ManagedObjectReference `xml:"datacenter,omitempty"` - IncludeParents bool `xml:"includeParents"` -} - -type queryVirtualDiskInfoTaskResponse struct { - Returnval types.ManagedObjectReference `xml:"returnval"` -} - -type queryVirtualDiskInfoTaskBody struct { - Req *queryVirtualDiskInfoTaskRequest `xml:"urn:internalvim25 QueryVirtualDiskInfo_Task,omitempty"` - Res *queryVirtualDiskInfoTaskResponse `xml:"urn:vim25 QueryVirtualDiskInfo_TaskResponse,omitempty"` - InternalRes *queryVirtualDiskInfoTaskResponse `xml:"urn:internalvim25 QueryVirtualDiskInfo_TaskResponse,omitempty"` - Err *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *queryVirtualDiskInfoTaskBody) Fault() *soap.Fault { return b.Err } - -func queryVirtualDiskInfoTask(ctx context.Context, r soap.RoundTripper, req *queryVirtualDiskInfoTaskRequest) (*queryVirtualDiskInfoTaskResponse, error) { - var reqBody, resBody queryVirtualDiskInfoTaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - if resBody.Res != nil { - return resBody.Res, nil - } - - return resBody.InternalRes, nil -} - -type VirtualDiskInfo struct { - Name string `xml:"unit>name"` - DiskType string `xml:"diskType"` - Parent string `xml:"parent,omitempty"` -} - -func (m VirtualDiskManager) QueryVirtualDiskInfo(ctx context.Context, name string, dc *Datacenter, includeParents bool) ([]VirtualDiskInfo, error) { - req := queryVirtualDiskInfoTaskRequest{ - This: m.Reference(), - Name: name, - IncludeParents: includeParents, - } - - if dc != nil { - ref := dc.Reference() - req.Datacenter = &ref - } - - res, err := queryVirtualDiskInfoTask(ctx, m.Client(), &req) - if err != nil { - return nil, err - } - - info, err := NewTask(m.Client(), res.Returnval).WaitForResult(ctx, nil) - if err != nil { - return nil, err - } - - return info.Result.(arrayOfVirtualDiskInfo).VirtualDiskInfo, nil -} - -type createChildDiskTaskRequest struct { - This types.ManagedObjectReference `xml:"_this"` - ChildName string `xml:"childName"` - ChildDatacenter *types.ManagedObjectReference `xml:"childDatacenter,omitempty"` - ParentName string `xml:"parentName"` - ParentDatacenter *types.ManagedObjectReference `xml:"parentDatacenter,omitempty"` - IsLinkedClone bool `xml:"isLinkedClone"` -} - -type createChildDiskTaskResponse struct { - Returnval types.ManagedObjectReference `xml:"returnval"` -} - -type createChildDiskTaskBody struct { - Req *createChildDiskTaskRequest `xml:"urn:internalvim25 CreateChildDisk_Task,omitempty"` - Res *createChildDiskTaskResponse `xml:"urn:vim25 CreateChildDisk_TaskResponse,omitempty"` - InternalRes *createChildDiskTaskResponse `xml:"urn:internalvim25 CreateChildDisk_TaskResponse,omitempty"` - Err *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *createChildDiskTaskBody) Fault() *soap.Fault { return b.Err } - -func createChildDiskTask(ctx context.Context, r soap.RoundTripper, req *createChildDiskTaskRequest) (*createChildDiskTaskResponse, error) { - var reqBody, resBody createChildDiskTaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - if resBody.Res != nil { - return resBody.Res, nil // vim-version <= 6.5 - } - - return resBody.InternalRes, nil // vim-version >= 6.7 -} - -func (m VirtualDiskManager) CreateChildDisk(ctx context.Context, parent string, pdc *Datacenter, name string, dc *Datacenter, linked bool) (*Task, error) { - req := createChildDiskTaskRequest{ - This: m.Reference(), - ChildName: name, - ParentName: parent, - IsLinkedClone: linked, - } - - if dc != nil { - ref := dc.Reference() - req.ChildDatacenter = &ref - } - - if pdc != nil { - ref := pdc.Reference() - req.ParentDatacenter = &ref - } - - res, err := createChildDiskTask(ctx, m.Client(), &req) - if err != nil { - return nil, err - } - - return NewTask(m.Client(), res.Returnval), nil -} diff --git a/vendor/github.com/vmware/govmomi/object/virtual_machine.go b/vendor/github.com/vmware/govmomi/object/virtual_machine.go deleted file mode 100644 index eeffc19fd3c..00000000000 --- a/vendor/github.com/vmware/govmomi/object/virtual_machine.go +++ /dev/null @@ -1,1082 +0,0 @@ -/* -Copyright (c) 2015-2021 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -import ( - "context" - "errors" - "fmt" - "net" - "path" - "strings" - - "github.com/vmware/govmomi/nfc" - "github.com/vmware/govmomi/property" - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/types" -) - -const ( - PropRuntimePowerState = "summary.runtime.powerState" - PropConfigTemplate = "summary.config.template" -) - -type VirtualMachine struct { - Common -} - -// extractDiskLayoutFiles is a helper function used to extract file keys for -// all disk files attached to the virtual machine at the current point of -// running. -func extractDiskLayoutFiles(diskLayoutList []types.VirtualMachineFileLayoutExDiskLayout) []int { - var result []int - - for _, layoutExDisk := range diskLayoutList { - for _, link := range layoutExDisk.Chain { - for i := range link.FileKey { // diskDescriptor, diskExtent pairs - result = append(result, int(link.FileKey[i])) - } - } - } - - return result -} - -// removeKey is a helper function for removing a specific file key from a list -// of keys associated with disks attached to a virtual machine. -func removeKey(l *[]int, key int) { - for i, k := range *l { - if k == key { - *l = append((*l)[:i], (*l)[i+1:]...) - break - } - } -} - -func NewVirtualMachine(c *vim25.Client, ref types.ManagedObjectReference) *VirtualMachine { - return &VirtualMachine{ - Common: NewCommon(c, ref), - } -} - -func (v VirtualMachine) PowerState(ctx context.Context) (types.VirtualMachinePowerState, error) { - var o mo.VirtualMachine - - err := v.Properties(ctx, v.Reference(), []string{PropRuntimePowerState}, &o) - if err != nil { - return "", err - } - - return o.Summary.Runtime.PowerState, nil -} - -func (v VirtualMachine) IsTemplate(ctx context.Context) (bool, error) { - var o mo.VirtualMachine - - err := v.Properties(ctx, v.Reference(), []string{PropConfigTemplate}, &o) - if err != nil { - return false, err - } - - return o.Summary.Config.Template, nil -} - -func (v VirtualMachine) PowerOn(ctx context.Context) (*Task, error) { - req := types.PowerOnVM_Task{ - This: v.Reference(), - } - - res, err := methods.PowerOnVM_Task(ctx, v.c, &req) - if err != nil { - return nil, err - } - - return NewTask(v.c, res.Returnval), nil -} - -func (v VirtualMachine) PowerOff(ctx context.Context) (*Task, error) { - req := types.PowerOffVM_Task{ - This: v.Reference(), - } - - res, err := methods.PowerOffVM_Task(ctx, v.c, &req) - if err != nil { - return nil, err - } - - return NewTask(v.c, res.Returnval), nil -} - -func (v VirtualMachine) PutUsbScanCodes(ctx context.Context, spec types.UsbScanCodeSpec) (int32, error) { - req := types.PutUsbScanCodes{ - This: v.Reference(), - Spec: spec, - } - - res, err := methods.PutUsbScanCodes(ctx, v.c, &req) - if err != nil { - return 0, err - } - - return res.Returnval, nil -} - -func (v VirtualMachine) Reset(ctx context.Context) (*Task, error) { - req := types.ResetVM_Task{ - This: v.Reference(), - } - - res, err := methods.ResetVM_Task(ctx, v.c, &req) - if err != nil { - return nil, err - } - - return NewTask(v.c, res.Returnval), nil -} - -func (v VirtualMachine) Suspend(ctx context.Context) (*Task, error) { - req := types.SuspendVM_Task{ - This: v.Reference(), - } - - res, err := methods.SuspendVM_Task(ctx, v.c, &req) - if err != nil { - return nil, err - } - - return NewTask(v.c, res.Returnval), nil -} - -func (v VirtualMachine) ShutdownGuest(ctx context.Context) error { - req := types.ShutdownGuest{ - This: v.Reference(), - } - - _, err := methods.ShutdownGuest(ctx, v.c, &req) - return err -} - -func (v VirtualMachine) RebootGuest(ctx context.Context) error { - req := types.RebootGuest{ - This: v.Reference(), - } - - _, err := methods.RebootGuest(ctx, v.c, &req) - return err -} - -func (v VirtualMachine) Destroy(ctx context.Context) (*Task, error) { - req := types.Destroy_Task{ - This: v.Reference(), - } - - res, err := methods.Destroy_Task(ctx, v.c, &req) - if err != nil { - return nil, err - } - - return NewTask(v.c, res.Returnval), nil -} - -func (v VirtualMachine) Clone(ctx context.Context, folder *Folder, name string, config types.VirtualMachineCloneSpec) (*Task, error) { - req := types.CloneVM_Task{ - This: v.Reference(), - Folder: folder.Reference(), - Name: name, - Spec: config, - } - - res, err := methods.CloneVM_Task(ctx, v.c, &req) - if err != nil { - return nil, err - } - - return NewTask(v.c, res.Returnval), nil -} - -func (v VirtualMachine) InstantClone(ctx context.Context, config types.VirtualMachineInstantCloneSpec) (*Task, error) { - req := types.InstantClone_Task{ - This: v.Reference(), - Spec: config, - } - - res, err := methods.InstantClone_Task(ctx, v.c, &req) - if err != nil { - return nil, err - } - - return NewTask(v.c, res.Returnval), nil -} - -func (v VirtualMachine) Customize(ctx context.Context, spec types.CustomizationSpec) (*Task, error) { - req := types.CustomizeVM_Task{ - This: v.Reference(), - Spec: spec, - } - - res, err := methods.CustomizeVM_Task(ctx, v.c, &req) - if err != nil { - return nil, err - } - - return NewTask(v.c, res.Returnval), nil -} - -func (v VirtualMachine) Relocate(ctx context.Context, config types.VirtualMachineRelocateSpec, priority types.VirtualMachineMovePriority) (*Task, error) { - req := types.RelocateVM_Task{ - This: v.Reference(), - Spec: config, - Priority: priority, - } - - res, err := methods.RelocateVM_Task(ctx, v.c, &req) - if err != nil { - return nil, err - } - - return NewTask(v.c, res.Returnval), nil -} - -func (v VirtualMachine) Reconfigure(ctx context.Context, config types.VirtualMachineConfigSpec) (*Task, error) { - req := types.ReconfigVM_Task{ - This: v.Reference(), - Spec: config, - } - - res, err := methods.ReconfigVM_Task(ctx, v.c, &req) - if err != nil { - return nil, err - } - - return NewTask(v.c, res.Returnval), nil -} - -func (v VirtualMachine) RefreshStorageInfo(ctx context.Context) error { - req := types.RefreshStorageInfo{ - This: v.Reference(), - } - - _, err := methods.RefreshStorageInfo(ctx, v.c, &req) - return err -} - -// WaitForIP waits for the VM guest.ipAddress property to report an IP address. -// Waits for an IPv4 address if the v4 param is true. -func (v VirtualMachine) WaitForIP(ctx context.Context, v4 ...bool) (string, error) { - var ip string - - p := property.DefaultCollector(v.c) - err := property.Wait(ctx, p, v.Reference(), []string{"guest.ipAddress"}, func(pc []types.PropertyChange) bool { - for _, c := range pc { - if c.Name != "guest.ipAddress" { - continue - } - if c.Op != types.PropertyChangeOpAssign { - continue - } - if c.Val == nil { - continue - } - - ip = c.Val.(string) - if len(v4) == 1 && v4[0] { - if net.ParseIP(ip).To4() == nil { - return false - } - } - return true - } - - return false - }) - - if err != nil { - return "", err - } - - return ip, nil -} - -// WaitForNetIP waits for the VM guest.net property to report an IP address for all VM NICs. -// Only consider IPv4 addresses if the v4 param is true. -// By default, wait for all NICs to get an IP address, unless 1 or more device is given. -// A device can be specified by the MAC address or the device name, e.g. "ethernet-0". -// Returns a map with MAC address as the key and IP address list as the value. -func (v VirtualMachine) WaitForNetIP(ctx context.Context, v4 bool, device ...string) (map[string][]string, error) { - macs := make(map[string][]string) - eths := make(map[string]string) - - p := property.DefaultCollector(v.c) - - // Wait for all NICs to have a MacAddress, which may not be generated yet. - err := property.Wait(ctx, p, v.Reference(), []string{"config.hardware.device"}, func(pc []types.PropertyChange) bool { - for _, c := range pc { - if c.Op != types.PropertyChangeOpAssign { - continue - } - - devices := VirtualDeviceList(c.Val.(types.ArrayOfVirtualDevice).VirtualDevice) - for _, d := range devices { - if nic, ok := d.(types.BaseVirtualEthernetCard); ok { - // Convert to lower so that e.g. 00:50:56:83:3A:5D is treated the - // same as 00:50:56:83:3a:5d - mac := strings.ToLower(nic.GetVirtualEthernetCard().MacAddress) - if mac == "" { - return false - } - macs[mac] = nil - eths[devices.Name(d)] = mac - } - } - } - - return true - }) - - if err != nil { - return nil, err - } - - if len(device) != 0 { - // Only wait for specific NIC(s) - macs = make(map[string][]string) - for _, mac := range device { - if eth, ok := eths[mac]; ok { - mac = eth // device name, e.g. "ethernet-0" - } - macs[mac] = nil - } - } - - err = property.Wait(ctx, p, v.Reference(), []string{"guest.net"}, func(pc []types.PropertyChange) bool { - for _, c := range pc { - if c.Op != types.PropertyChangeOpAssign { - continue - } - - nics := c.Val.(types.ArrayOfGuestNicInfo).GuestNicInfo - for _, nic := range nics { - // Convert to lower so that e.g. 00:50:56:83:3A:5D is treated the - // same as 00:50:56:83:3a:5d - mac := strings.ToLower(nic.MacAddress) - if mac == "" || nic.IpConfig == nil { - continue - } - - for _, ip := range nic.IpConfig.IpAddress { - if _, ok := macs[mac]; !ok { - continue // Ignore any that don't correspond to a VM device - } - if v4 && net.ParseIP(ip.IpAddress).To4() == nil { - continue // Ignore non IPv4 address - } - macs[mac] = append(macs[mac], ip.IpAddress) - } - } - } - - for _, ips := range macs { - if len(ips) == 0 { - return false - } - } - - return true - }) - - if err != nil { - return nil, err - } - - return macs, nil -} - -// Device returns the VirtualMachine's config.hardware.device property. -func (v VirtualMachine) Device(ctx context.Context) (VirtualDeviceList, error) { - var o mo.VirtualMachine - - err := v.Properties(ctx, v.Reference(), []string{"config.hardware.device", "summary.runtime.connectionState"}, &o) - if err != nil { - return nil, err - } - - // Quoting the SDK doc: - // The virtual machine configuration is not guaranteed to be available. - // For example, the configuration information would be unavailable if the server - // is unable to access the virtual machine files on disk, and is often also unavailable - // during the initial phases of virtual machine creation. - if o.Config == nil { - return nil, fmt.Errorf("%s Config is not available, connectionState=%s", - v.Reference(), o.Summary.Runtime.ConnectionState) - } - - return VirtualDeviceList(o.Config.Hardware.Device), nil -} - -func (v VirtualMachine) HostSystem(ctx context.Context) (*HostSystem, error) { - var o mo.VirtualMachine - - err := v.Properties(ctx, v.Reference(), []string{"summary.runtime.host"}, &o) - if err != nil { - return nil, err - } - - host := o.Summary.Runtime.Host - if host == nil { - return nil, errors.New("VM doesn't have a HostSystem") - } - - return NewHostSystem(v.c, *host), nil -} - -func (v VirtualMachine) ResourcePool(ctx context.Context) (*ResourcePool, error) { - var o mo.VirtualMachine - - err := v.Properties(ctx, v.Reference(), []string{"resourcePool"}, &o) - if err != nil { - return nil, err - } - - rp := o.ResourcePool - if rp == nil { - return nil, errors.New("VM doesn't have a resourcePool") - } - - return NewResourcePool(v.c, *rp), nil -} - -func diskFileOperation(op types.VirtualDeviceConfigSpecOperation, fop types.VirtualDeviceConfigSpecFileOperation, device types.BaseVirtualDevice) types.VirtualDeviceConfigSpecFileOperation { - if disk, ok := device.(*types.VirtualDisk); ok { - // Special case to attach an existing disk - if op == types.VirtualDeviceConfigSpecOperationAdd && disk.CapacityInKB == 0 && disk.CapacityInBytes == 0 { - childDisk := false - if b, ok := disk.Backing.(*types.VirtualDiskFlatVer2BackingInfo); ok { - childDisk = b.Parent != nil - } - - if !childDisk { - fop = "" // existing disk - } - } - return fop - } - - return "" -} - -func (v VirtualMachine) configureDevice(ctx context.Context, op types.VirtualDeviceConfigSpecOperation, fop types.VirtualDeviceConfigSpecFileOperation, devices ...types.BaseVirtualDevice) error { - spec := types.VirtualMachineConfigSpec{} - - for _, device := range devices { - config := &types.VirtualDeviceConfigSpec{ - Device: device, - Operation: op, - FileOperation: diskFileOperation(op, fop, device), - } - - spec.DeviceChange = append(spec.DeviceChange, config) - } - - task, err := v.Reconfigure(ctx, spec) - if err != nil { - return err - } - - return task.Wait(ctx) -} - -// AddDevice adds the given devices to the VirtualMachine -func (v VirtualMachine) AddDevice(ctx context.Context, device ...types.BaseVirtualDevice) error { - return v.configureDevice(ctx, types.VirtualDeviceConfigSpecOperationAdd, types.VirtualDeviceConfigSpecFileOperationCreate, device...) -} - -// EditDevice edits the given (existing) devices on the VirtualMachine -func (v VirtualMachine) EditDevice(ctx context.Context, device ...types.BaseVirtualDevice) error { - return v.configureDevice(ctx, types.VirtualDeviceConfigSpecOperationEdit, types.VirtualDeviceConfigSpecFileOperationReplace, device...) -} - -// RemoveDevice removes the given devices on the VirtualMachine -func (v VirtualMachine) RemoveDevice(ctx context.Context, keepFiles bool, device ...types.BaseVirtualDevice) error { - fop := types.VirtualDeviceConfigSpecFileOperationDestroy - if keepFiles { - fop = "" - } - return v.configureDevice(ctx, types.VirtualDeviceConfigSpecOperationRemove, fop, device...) -} - -// AttachDisk attaches the given disk to the VirtualMachine -func (v VirtualMachine) AttachDisk(ctx context.Context, id string, datastore *Datastore, controllerKey int32, unitNumber int32) error { - req := types.AttachDisk_Task{ - This: v.Reference(), - DiskId: types.ID{Id: id}, - Datastore: datastore.Reference(), - ControllerKey: controllerKey, - UnitNumber: &unitNumber, - } - - res, err := methods.AttachDisk_Task(ctx, v.c, &req) - if err != nil { - return err - } - - task := NewTask(v.c, res.Returnval) - return task.Wait(ctx) -} - -// DetachDisk detaches the given disk from the VirtualMachine -func (v VirtualMachine) DetachDisk(ctx context.Context, id string) error { - req := types.DetachDisk_Task{ - This: v.Reference(), - DiskId: types.ID{Id: id}, - } - - res, err := methods.DetachDisk_Task(ctx, v.c, &req) - if err != nil { - return err - } - - task := NewTask(v.c, res.Returnval) - return task.Wait(ctx) -} - -// BootOptions returns the VirtualMachine's config.bootOptions property. -func (v VirtualMachine) BootOptions(ctx context.Context) (*types.VirtualMachineBootOptions, error) { - var o mo.VirtualMachine - - err := v.Properties(ctx, v.Reference(), []string{"config.bootOptions"}, &o) - if err != nil { - return nil, err - } - - return o.Config.BootOptions, nil -} - -// SetBootOptions reconfigures the VirtualMachine with the given options. -func (v VirtualMachine) SetBootOptions(ctx context.Context, options *types.VirtualMachineBootOptions) error { - spec := types.VirtualMachineConfigSpec{} - - spec.BootOptions = options - - task, err := v.Reconfigure(ctx, spec) - if err != nil { - return err - } - - return task.Wait(ctx) -} - -// Answer answers a pending question. -func (v VirtualMachine) Answer(ctx context.Context, id, answer string) error { - req := types.AnswerVM{ - This: v.Reference(), - QuestionId: id, - AnswerChoice: answer, - } - - _, err := methods.AnswerVM(ctx, v.c, &req) - if err != nil { - return err - } - - return nil -} - -func (v VirtualMachine) AcquireTicket(ctx context.Context, kind string) (*types.VirtualMachineTicket, error) { - req := types.AcquireTicket{ - This: v.Reference(), - TicketType: kind, - } - - res, err := methods.AcquireTicket(ctx, v.c, &req) - if err != nil { - return nil, err - } - - return &res.Returnval, nil -} - -// CreateSnapshot creates a new snapshot of a virtual machine. -func (v VirtualMachine) CreateSnapshot(ctx context.Context, name string, description string, memory bool, quiesce bool) (*Task, error) { - req := types.CreateSnapshot_Task{ - This: v.Reference(), - Name: name, - Description: description, - Memory: memory, - Quiesce: quiesce, - } - - res, err := methods.CreateSnapshot_Task(ctx, v.c, &req) - if err != nil { - return nil, err - } - - return NewTask(v.c, res.Returnval), nil -} - -// RemoveAllSnapshot removes all snapshots of a virtual machine -func (v VirtualMachine) RemoveAllSnapshot(ctx context.Context, consolidate *bool) (*Task, error) { - req := types.RemoveAllSnapshots_Task{ - This: v.Reference(), - Consolidate: consolidate, - } - - res, err := methods.RemoveAllSnapshots_Task(ctx, v.c, &req) - if err != nil { - return nil, err - } - - return NewTask(v.c, res.Returnval), nil -} - -type snapshotMap map[string][]types.ManagedObjectReference - -func (m snapshotMap) add(parent string, tree []types.VirtualMachineSnapshotTree) { - for i, st := range tree { - sname := st.Name - names := []string{sname, st.Snapshot.Value} - - if parent != "" { - sname = path.Join(parent, sname) - // Add full path as an option to resolve duplicate names - names = append(names, sname) - } - - for _, name := range names { - m[name] = append(m[name], tree[i].Snapshot) - } - - m.add(sname, st.ChildSnapshotList) - } -} - -// SnapshotSize calculates the size of a given snapshot in bytes. If the -// snapshot is current, disk files not associated with any parent snapshot are -// included in size calculations. This allows for measuring and including the -// growth from the last fixed snapshot to the present state. -func SnapshotSize(info types.ManagedObjectReference, parent *types.ManagedObjectReference, vmlayout *types.VirtualMachineFileLayoutEx, isCurrent bool) int { - var fileKeyList []int - var parentFiles []int - var allSnapshotFiles []int - - diskFiles := extractDiskLayoutFiles(vmlayout.Disk) - - for _, layout := range vmlayout.Snapshot { - diskLayout := extractDiskLayoutFiles(layout.Disk) - allSnapshotFiles = append(allSnapshotFiles, diskLayout...) - - if layout.Key.Value == info.Value { - fileKeyList = append(fileKeyList, int(layout.DataKey)) // The .vmsn file - fileKeyList = append(fileKeyList, diskLayout...) // The .vmdk files - } else if parent != nil && layout.Key.Value == parent.Value { - parentFiles = append(parentFiles, diskLayout...) - } - } - - for _, parentFile := range parentFiles { - removeKey(&fileKeyList, parentFile) - } - - for _, file := range allSnapshotFiles { - removeKey(&diskFiles, file) - } - - fileKeyMap := make(map[int]types.VirtualMachineFileLayoutExFileInfo) - for _, file := range vmlayout.File { - fileKeyMap[int(file.Key)] = file - } - - size := 0 - - for _, fileKey := range fileKeyList { - file := fileKeyMap[fileKey] - if parent != nil || - (file.Type != string(types.VirtualMachineFileLayoutExFileTypeDiskDescriptor) && - file.Type != string(types.VirtualMachineFileLayoutExFileTypeDiskExtent)) { - size += int(file.Size) - } - } - - if isCurrent { - for _, diskFile := range diskFiles { - file := fileKeyMap[diskFile] - size += int(file.Size) - } - } - - return size -} - -// FindSnapshot supports snapshot lookup by name, where name can be: -// 1) snapshot ManagedObjectReference.Value (unique) -// 2) snapshot name (may not be unique) -// 3) snapshot tree path (may not be unique) -func (v VirtualMachine) FindSnapshot(ctx context.Context, name string) (*types.ManagedObjectReference, error) { - var o mo.VirtualMachine - - err := v.Properties(ctx, v.Reference(), []string{"snapshot"}, &o) - if err != nil { - return nil, err - } - - if o.Snapshot == nil || len(o.Snapshot.RootSnapshotList) == 0 { - return nil, errors.New("no snapshots for this VM") - } - - m := make(snapshotMap) - m.add("", o.Snapshot.RootSnapshotList) - - s := m[name] - switch len(s) { - case 0: - return nil, fmt.Errorf("snapshot %q not found", name) - case 1: - return &s[0], nil - default: - return nil, fmt.Errorf("%q resolves to %d snapshots", name, len(s)) - } -} - -// RemoveSnapshot removes a named snapshot -func (v VirtualMachine) RemoveSnapshot(ctx context.Context, name string, removeChildren bool, consolidate *bool) (*Task, error) { - snapshot, err := v.FindSnapshot(ctx, name) - if err != nil { - return nil, err - } - - req := types.RemoveSnapshot_Task{ - This: snapshot.Reference(), - RemoveChildren: removeChildren, - Consolidate: consolidate, - } - - res, err := methods.RemoveSnapshot_Task(ctx, v.c, &req) - if err != nil { - return nil, err - } - - return NewTask(v.c, res.Returnval), nil -} - -// RevertToCurrentSnapshot reverts to the current snapshot -func (v VirtualMachine) RevertToCurrentSnapshot(ctx context.Context, suppressPowerOn bool) (*Task, error) { - req := types.RevertToCurrentSnapshot_Task{ - This: v.Reference(), - SuppressPowerOn: types.NewBool(suppressPowerOn), - } - - res, err := methods.RevertToCurrentSnapshot_Task(ctx, v.c, &req) - if err != nil { - return nil, err - } - - return NewTask(v.c, res.Returnval), nil -} - -// RevertToSnapshot reverts to a named snapshot -func (v VirtualMachine) RevertToSnapshot(ctx context.Context, name string, suppressPowerOn bool) (*Task, error) { - snapshot, err := v.FindSnapshot(ctx, name) - if err != nil { - return nil, err - } - - req := types.RevertToSnapshot_Task{ - This: snapshot.Reference(), - SuppressPowerOn: types.NewBool(suppressPowerOn), - } - - res, err := methods.RevertToSnapshot_Task(ctx, v.c, &req) - if err != nil { - return nil, err - } - - return NewTask(v.c, res.Returnval), nil -} - -// IsToolsRunning returns true if VMware Tools is currently running in the guest OS, and false otherwise. -func (v VirtualMachine) IsToolsRunning(ctx context.Context) (bool, error) { - var o mo.VirtualMachine - - err := v.Properties(ctx, v.Reference(), []string{"guest.toolsRunningStatus"}, &o) - if err != nil { - return false, err - } - - return o.Guest.ToolsRunningStatus == string(types.VirtualMachineToolsRunningStatusGuestToolsRunning), nil -} - -// Wait for the VirtualMachine to change to the desired power state. -func (v VirtualMachine) WaitForPowerState(ctx context.Context, state types.VirtualMachinePowerState) error { - p := property.DefaultCollector(v.c) - err := property.Wait(ctx, p, v.Reference(), []string{PropRuntimePowerState}, func(pc []types.PropertyChange) bool { - for _, c := range pc { - if c.Name != PropRuntimePowerState { - continue - } - if c.Val == nil { - continue - } - - ps := c.Val.(types.VirtualMachinePowerState) - if ps == state { - return true - } - } - return false - }) - - return err -} - -func (v VirtualMachine) MarkAsTemplate(ctx context.Context) error { - req := types.MarkAsTemplate{ - This: v.Reference(), - } - - _, err := methods.MarkAsTemplate(ctx, v.c, &req) - if err != nil { - return err - } - - return nil -} - -func (v VirtualMachine) MarkAsVirtualMachine(ctx context.Context, pool ResourcePool, host *HostSystem) error { - req := types.MarkAsVirtualMachine{ - This: v.Reference(), - Pool: pool.Reference(), - } - - if host != nil { - ref := host.Reference() - req.Host = &ref - } - - _, err := methods.MarkAsVirtualMachine(ctx, v.c, &req) - if err != nil { - return err - } - - return nil -} - -func (v VirtualMachine) Migrate(ctx context.Context, pool *ResourcePool, host *HostSystem, priority types.VirtualMachineMovePriority, state types.VirtualMachinePowerState) (*Task, error) { - req := types.MigrateVM_Task{ - This: v.Reference(), - Priority: priority, - State: state, - } - - if pool != nil { - ref := pool.Reference() - req.Pool = &ref - } - - if host != nil { - ref := host.Reference() - req.Host = &ref - } - - res, err := methods.MigrateVM_Task(ctx, v.c, &req) - if err != nil { - return nil, err - } - - return NewTask(v.c, res.Returnval), nil -} - -func (v VirtualMachine) Unregister(ctx context.Context) error { - req := types.UnregisterVM{ - This: v.Reference(), - } - - _, err := methods.UnregisterVM(ctx, v.Client(), &req) - return err -} - -// QueryEnvironmentBrowser is a helper to get the environmentBrowser property. -func (v VirtualMachine) QueryConfigTarget(ctx context.Context) (*types.ConfigTarget, error) { - var vm mo.VirtualMachine - - err := v.Properties(ctx, v.Reference(), []string{"environmentBrowser"}, &vm) - if err != nil { - return nil, err - } - - req := types.QueryConfigTarget{ - This: vm.EnvironmentBrowser, - } - - res, err := methods.QueryConfigTarget(ctx, v.Client(), &req) - if err != nil { - return nil, err - } - - return res.Returnval, nil -} - -func (v VirtualMachine) MountToolsInstaller(ctx context.Context) error { - req := types.MountToolsInstaller{ - This: v.Reference(), - } - - _, err := methods.MountToolsInstaller(ctx, v.Client(), &req) - return err -} - -func (v VirtualMachine) UnmountToolsInstaller(ctx context.Context) error { - req := types.UnmountToolsInstaller{ - This: v.Reference(), - } - - _, err := methods.UnmountToolsInstaller(ctx, v.Client(), &req) - return err -} - -func (v VirtualMachine) UpgradeTools(ctx context.Context, options string) (*Task, error) { - req := types.UpgradeTools_Task{ - This: v.Reference(), - InstallerOptions: options, - } - - res, err := methods.UpgradeTools_Task(ctx, v.Client(), &req) - if err != nil { - return nil, err - } - - return NewTask(v.c, res.Returnval), nil -} - -func (v VirtualMachine) Export(ctx context.Context) (*nfc.Lease, error) { - req := types.ExportVm{ - This: v.Reference(), - } - - res, err := methods.ExportVm(ctx, v.Client(), &req) - if err != nil { - return nil, err - } - - return nfc.NewLease(v.c, res.Returnval), nil -} - -func (v VirtualMachine) UpgradeVM(ctx context.Context, version string) (*Task, error) { - req := types.UpgradeVM_Task{ - This: v.Reference(), - Version: version, - } - - res, err := methods.UpgradeVM_Task(ctx, v.Client(), &req) - if err != nil { - return nil, err - } - - return NewTask(v.c, res.Returnval), nil -} - -// UUID is a helper to get the UUID of the VirtualMachine managed object. -// This method returns an empty string if an error occurs when retrieving UUID from the VirtualMachine object. -func (v VirtualMachine) UUID(ctx context.Context) string { - var o mo.VirtualMachine - - err := v.Properties(ctx, v.Reference(), []string{"config.uuid"}, &o) - if err != nil { - return "" - } - if o.Config != nil { - return o.Config.Uuid - } - return "" -} - -func (v VirtualMachine) QueryChangedDiskAreas(ctx context.Context, baseSnapshot, curSnapshot *types.ManagedObjectReference, disk *types.VirtualDisk, offset int64) (types.DiskChangeInfo, error) { - var noChange types.DiskChangeInfo - var err error - - if offset > disk.CapacityInBytes { - return noChange, fmt.Errorf("offset is greater than the disk size (%#x and %#x)", offset, disk.CapacityInBytes) - } else if offset == disk.CapacityInBytes { - return types.DiskChangeInfo{StartOffset: offset, Length: 0}, nil - } - - var b mo.VirtualMachineSnapshot - err = v.Properties(ctx, baseSnapshot.Reference(), []string{"config.hardware"}, &b) - if err != nil { - return noChange, fmt.Errorf("failed to fetch config.hardware of snapshot %s: %s", baseSnapshot, err) - } - - var changeId *string - for _, vd := range b.Config.Hardware.Device { - d := vd.GetVirtualDevice() - if d.Key != disk.Key { - continue - } - - // As per VDDK programming guide, these are the four types of disks - // that support CBT, see "Gathering Changed Block Information". - if b, ok := d.Backing.(*types.VirtualDiskFlatVer2BackingInfo); ok { - changeId = &b.ChangeId - break - } - if b, ok := d.Backing.(*types.VirtualDiskSparseVer2BackingInfo); ok { - changeId = &b.ChangeId - break - } - if b, ok := d.Backing.(*types.VirtualDiskRawDiskMappingVer1BackingInfo); ok { - changeId = &b.ChangeId - break - } - if b, ok := d.Backing.(*types.VirtualDiskRawDiskVer2BackingInfo); ok { - changeId = &b.ChangeId - break - } - - return noChange, fmt.Errorf("disk %d has backing info without .ChangeId: %t", disk.Key, d.Backing) - } - if changeId == nil || *changeId == "" { - return noChange, fmt.Errorf("CBT is not enabled on disk %d", disk.Key) - } - - req := types.QueryChangedDiskAreas{ - This: v.Reference(), - Snapshot: curSnapshot, - DeviceKey: disk.Key, - StartOffset: offset, - ChangeId: *changeId, - } - - res, err := methods.QueryChangedDiskAreas(ctx, v.Client(), &req) - if err != nil { - return noChange, err - } - - return res.Returnval, nil -} - -// ExportSnapshot exports all VMDK-files up to (but not including) a specified snapshot. This -// is useful when exporting a running VM. -func (v *VirtualMachine) ExportSnapshot(ctx context.Context, snapshot *types.ManagedObjectReference) (*nfc.Lease, error) { - req := types.ExportSnapshot{ - This: *snapshot, - } - resp, err := methods.ExportSnapshot(ctx, v.Client(), &req) - if err != nil { - return nil, err - } - return nfc.NewLease(v.c, resp.Returnval), nil -} diff --git a/vendor/github.com/vmware/govmomi/object/vmware_distributed_virtual_switch.go b/vendor/github.com/vmware/govmomi/object/vmware_distributed_virtual_switch.go deleted file mode 100644 index 8eccba19b1e..00000000000 --- a/vendor/github.com/vmware/govmomi/object/vmware_distributed_virtual_switch.go +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package object - -type VmwareDistributedVirtualSwitch struct { - DistributedVirtualSwitch -} - -func (s VmwareDistributedVirtualSwitch) GetInventoryPath() string { - return s.InventoryPath -} diff --git a/vendor/github.com/vmware/govmomi/ovf/cim.go b/vendor/github.com/vmware/govmomi/ovf/cim.go deleted file mode 100644 index 427699954c4..00000000000 --- a/vendor/github.com/vmware/govmomi/ovf/cim.go +++ /dev/null @@ -1,128 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package ovf - -import ( - "github.com/vmware/govmomi/vim25/types" -) - -/* -Source: http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2.24.0/CIM_VirtualSystemSettingData.xsd -*/ - -type CIMVirtualSystemSettingData struct { - ElementName string `xml:"ElementName"` - InstanceID string `xml:"InstanceID"` - - AutomaticRecoveryAction *uint8 `xml:"AutomaticRecoveryAction"` - AutomaticShutdownAction *uint8 `xml:"AutomaticShutdownAction"` - AutomaticStartupAction *uint8 `xml:"AutomaticStartupAction"` - AutomaticStartupActionDelay *string `xml:"AutomaticStartupActionDelay>Interval"` - AutomaticStartupActionSequenceNumber *uint16 `xml:"AutomaticStartupActionSequenceNumber"` - Caption *string `xml:"Caption"` - ConfigurationDataRoot *string `xml:"ConfigurationDataRoot"` - ConfigurationFile *string `xml:"ConfigurationFile"` - ConfigurationID *string `xml:"ConfigurationID"` - CreationTime *string `xml:"CreationTime"` - Description *string `xml:"Description"` - LogDataRoot *string `xml:"LogDataRoot"` - Notes []string `xml:"Notes"` - RecoveryFile *string `xml:"RecoveryFile"` - SnapshotDataRoot *string `xml:"SnapshotDataRoot"` - SuspendDataRoot *string `xml:"SuspendDataRoot"` - SwapFileDataRoot *string `xml:"SwapFileDataRoot"` - VirtualSystemIdentifier *string `xml:"VirtualSystemIdentifier"` - VirtualSystemType *string `xml:"VirtualSystemType"` -} - -/* -Source: http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2.24.0/CIM_ResourceAllocationSettingData.xsd -*/ - -type CIMResourceAllocationSettingData struct { - ElementName string `xml:"ElementName"` - InstanceID string `xml:"InstanceID"` - - ResourceType *uint16 `xml:"ResourceType"` - OtherResourceType *string `xml:"OtherResourceType"` - ResourceSubType *string `xml:"ResourceSubType"` - - AddressOnParent *string `xml:"AddressOnParent"` - Address *string `xml:"Address"` - AllocationUnits *string `xml:"AllocationUnits"` - AutomaticAllocation *bool `xml:"AutomaticAllocation"` - AutomaticDeallocation *bool `xml:"AutomaticDeallocation"` - Caption *string `xml:"Caption"` - Connection []string `xml:"Connection"` - ConsumerVisibility *uint16 `xml:"ConsumerVisibility"` - Description *string `xml:"Description"` - HostResource []string `xml:"HostResource"` - Limit *uint64 `xml:"Limit"` - MappingBehavior *uint `xml:"MappingBehavior"` - Parent *string `xml:"Parent"` - PoolID *string `xml:"PoolID"` - Reservation *uint64 `xml:"Reservation"` - VirtualQuantity *uint `xml:"VirtualQuantity"` - VirtualQuantityUnits *string `xml:"VirtualQuantityUnits"` - Weight *uint `xml:"Weight"` -} - -/* -Source: http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2.24.0/CIM_StorageAllocationSettingData.xsd -*/ -type CIMStorageAllocationSettingData struct { - ElementName string `xml:"ElementName"` - InstanceID string `xml:"InstanceID"` - - ResourceType *uint16 `xml:"ResourceType"` - OtherResourceType *string `xml:"OtherResourceType"` - ResourceSubType *string `xml:"ResourceSubType"` - - Access *uint16 `xml:"Access"` - Address *string `xml:"Address"` - AddressOnParent *string `xml:"AddressOnParent"` - AllocationUnits *string `xml:"AllocationUnits"` - AutomaticAllocation *bool `xml:"AutomaticAllocation"` - AutomaticDeallocation *bool `xml:"AutomaticDeallocation"` - Caption *string `xml:"Caption"` - ChangeableType *uint16 `xml:"ChangeableType"` - ComponentSetting []types.AnyType `xml:"ComponentSetting"` - ConfigurationName *string `xml:"ConfigurationName"` - Connection []string `xml:"Connection"` - ConsumerVisibility *uint16 `xml:"ConsumerVisibility"` - Description *string `xml:"Description"` - Generation *uint64 `xml:"Generation"` - HostExtentName *string `xml:"HostExtentName"` - HostExtentNameFormat *uint16 `xml:"HostExtentNameFormat"` - HostExtentNameNamespace *uint16 `xml:"HostExtentNameNamespace"` - HostExtentStartingAddress *uint64 `xml:"HostExtentStartingAddress"` - HostResource []string `xml:"HostResource"` - HostResourceBlockSize *uint64 `xml:"HostResourceBlockSize"` - Limit *uint64 `xml:"Limit"` - MappingBehavior *uint `xml:"MappingBehavior"` - OtherHostExtentNameFormat *string `xml:"OtherHostExtentNameFormat"` - OtherHostExtentNameNamespace *string `xml:"OtherHostExtentNameNamespace"` - Parent *string `xml:"Parent"` - PoolID *string `xml:"PoolID"` - Reservation *uint64 `xml:"Reservation"` - SoID *string `xml:"SoID"` - SoOrgID *string `xml:"SoOrgID"` - VirtualQuantity *uint `xml:"VirtualQuantity"` - VirtualQuantityUnits *string `xml:"VirtualQuantityUnits"` - VirtualResourceBlockSize *uint64 `xml:"VirtualResourceBlockSize"` - Weight *uint `xml:"Weight"` -} diff --git a/vendor/github.com/vmware/govmomi/ovf/doc.go b/vendor/github.com/vmware/govmomi/ovf/doc.go deleted file mode 100644 index 6284b1ac581..00000000000 --- a/vendor/github.com/vmware/govmomi/ovf/doc.go +++ /dev/null @@ -1,25 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -/* -Package ovf provides functionality to unmarshal and inspect the structure -of an OVF file. It is not a complete implementation of the specification and -is intended to be used to import virtual infrastructure into vSphere. - -For a complete specification of the OVF standard, refer to: -https://www.dmtf.org/sites/default/files/standards/documents/DSP0243_2.1.0.pdf -*/ -package ovf diff --git a/vendor/github.com/vmware/govmomi/ovf/env.go b/vendor/github.com/vmware/govmomi/ovf/env.go deleted file mode 100644 index 3ec1b99d000..00000000000 --- a/vendor/github.com/vmware/govmomi/ovf/env.go +++ /dev/null @@ -1,99 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package ovf - -import ( - "bytes" - "fmt" - - "github.com/vmware/govmomi/vim25/xml" -) - -const ( - ovfEnvHeader = `` - ovfEnvPlatformSection = ` - %s - %s - %s - %s - ` - ovfEnvPropertyHeader = `` - ovfEnvPropertyEntry = `` - ovfEnvPropertyFooter = `` - ovfEnvFooter = `` -) - -type Env struct { - XMLName xml.Name `xml:"http://schemas.dmtf.org/ovf/environment/1 Environment"` - ID string `xml:"id,attr"` - EsxID string `xml:"http://www.vmware.com/schema/ovfenv esxId,attr"` - - Platform *PlatformSection `xml:"PlatformSection"` - Property *PropertySection `xml:"PropertySection"` -} - -type PlatformSection struct { - Kind string `xml:"Kind"` - Version string `xml:"Version"` - Vendor string `xml:"Vendor"` - Locale string `xml:"Locale"` -} - -type PropertySection struct { - Properties []EnvProperty `xml:"Property"` -} - -type EnvProperty struct { - Key string `xml:"key,attr"` - Value string `xml:"value,attr"` -} - -// Marshal marshals Env to xml by using xml.Marshal. -func (e Env) Marshal() (string, error) { - x, err := xml.Marshal(e) - if err != nil { - return "", err - } - - return fmt.Sprintf("%s%s", xml.Header, x), nil -} - -// MarshalManual manually marshals Env to xml suitable for a vApp guest. -// It exists to overcome the lack of expressiveness in Go's XML namespaces. -func (e Env) MarshalManual() string { - var buffer bytes.Buffer - - buffer.WriteString(xml.Header) - buffer.WriteString(fmt.Sprintf(ovfEnvHeader, e.EsxID)) - buffer.WriteString(fmt.Sprintf(ovfEnvPlatformSection, e.Platform.Kind, e.Platform.Version, e.Platform.Vendor, e.Platform.Locale)) - - buffer.WriteString(fmt.Sprint(ovfEnvPropertyHeader)) - for _, p := range e.Property.Properties { - buffer.WriteString(fmt.Sprintf(ovfEnvPropertyEntry, p.Key, p.Value)) - } - buffer.WriteString(fmt.Sprint(ovfEnvPropertyFooter)) - - buffer.WriteString(fmt.Sprint(ovfEnvFooter)) - - return buffer.String() -} diff --git a/vendor/github.com/vmware/govmomi/ovf/envelope.go b/vendor/github.com/vmware/govmomi/ovf/envelope.go deleted file mode 100644 index 274adb9df1e..00000000000 --- a/vendor/github.com/vmware/govmomi/ovf/envelope.go +++ /dev/null @@ -1,208 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package ovf - -type Envelope struct { - References []File `xml:"References>File"` - - // Package level meta-data - Annotation *AnnotationSection `xml:"AnnotationSection"` - Product *ProductSection `xml:"ProductSection"` - Network *NetworkSection `xml:"NetworkSection"` - Disk *DiskSection `xml:"DiskSection"` - OperatingSystem *OperatingSystemSection `xml:"OperatingSystemSection"` - Eula *EulaSection `xml:"EulaSection"` - VirtualHardware *VirtualHardwareSection `xml:"VirtualHardwareSection"` - ResourceAllocation *ResourceAllocationSection `xml:"ResourceAllocationSection"` - DeploymentOption *DeploymentOptionSection `xml:"DeploymentOptionSection"` - - // Content: A VirtualSystem or a VirtualSystemCollection - VirtualSystem *VirtualSystem `xml:"VirtualSystem"` -} - -type VirtualSystem struct { - Content - - Annotation []AnnotationSection `xml:"AnnotationSection"` - Product []ProductSection `xml:"ProductSection"` - OperatingSystem []OperatingSystemSection `xml:"OperatingSystemSection"` - Eula []EulaSection `xml:"EulaSection"` - VirtualHardware []VirtualHardwareSection `xml:"VirtualHardwareSection"` -} - -type File struct { - ID string `xml:"id,attr"` - Href string `xml:"href,attr"` - Size uint `xml:"size,attr"` - Compression *string `xml:"compression,attr"` - ChunkSize *int `xml:"chunkSize,attr"` -} - -type Content struct { - ID string `xml:"id,attr"` - Info string `xml:"Info"` - Name *string `xml:"Name"` -} - -type Section struct { - Required *bool `xml:"required,attr"` - Info string `xml:"Info"` -} - -type AnnotationSection struct { - Section - - Annotation string `xml:"Annotation"` -} - -type ProductSection struct { - Section - - Class *string `xml:"class,attr"` - Instance *string `xml:"instance,attr"` - - Product string `xml:"Product"` - Vendor string `xml:"Vendor"` - Version string `xml:"Version"` - FullVersion string `xml:"FullVersion"` - ProductURL string `xml:"ProductUrl"` - VendorURL string `xml:"VendorUrl"` - AppURL string `xml:"AppUrl"` - Property []Property `xml:"Property"` -} - -type Property struct { - Key string `xml:"key,attr"` - Type string `xml:"type,attr"` - Qualifiers *string `xml:"qualifiers,attr"` - UserConfigurable *bool `xml:"userConfigurable,attr"` - Default *string `xml:"value,attr"` - Password *bool `xml:"password,attr"` - - Label *string `xml:"Label"` - Description *string `xml:"Description"` - - Values []PropertyConfigurationValue `xml:"Value"` -} - -type PropertyConfigurationValue struct { - Value string `xml:"value,attr"` - Configuration *string `xml:"configuration,attr"` -} - -type NetworkSection struct { - Section - - Networks []Network `xml:"Network"` -} - -type Network struct { - Name string `xml:"name,attr"` - - Description string `xml:"Description"` -} - -type DiskSection struct { - Section - - Disks []VirtualDiskDesc `xml:"Disk"` -} - -type VirtualDiskDesc struct { - DiskID string `xml:"diskId,attr"` - FileRef *string `xml:"fileRef,attr"` - Capacity string `xml:"capacity,attr"` - CapacityAllocationUnits *string `xml:"capacityAllocationUnits,attr"` - Format *string `xml:"format,attr"` - PopulatedSize *int `xml:"populatedSize,attr"` - ParentRef *string `xml:"parentRef,attr"` -} - -type OperatingSystemSection struct { - Section - - ID int16 `xml:"id,attr"` - Version *string `xml:"version,attr"` - OSType *string `xml:"osType,attr"` - - Description *string `xml:"Description"` -} - -type EulaSection struct { - Section - - License string `xml:"License"` -} - -type Config struct { - Required *bool `xml:"required,attr"` - Key string `xml:"key,attr"` - Value string `xml:"value,attr"` -} - -type VirtualHardwareSection struct { - Section - - ID *string `xml:"id,attr"` - Transport *string `xml:"transport,attr"` - - System *VirtualSystemSettingData `xml:"System"` - Item []ResourceAllocationSettingData `xml:"Item"` - StorageItem []StorageAllocationSettingData `xml:"StorageItem"` - Config []Config `xml:"Config"` - ExtraConfig []Config `xml:"ExtraConfig"` -} - -type VirtualSystemSettingData struct { - CIMVirtualSystemSettingData -} - -type ResourceAllocationSettingData struct { - CIMResourceAllocationSettingData - - Required *bool `xml:"required,attr"` - Configuration *string `xml:"configuration,attr"` - Bound *string `xml:"bound,attr"` -} - -type StorageAllocationSettingData struct { - CIMStorageAllocationSettingData - - Required *bool `xml:"required,attr"` - Configuration *string `xml:"configuration,attr"` - Bound *string `xml:"bound,attr"` -} - -type ResourceAllocationSection struct { - Section - - Item []ResourceAllocationSettingData `xml:"Item"` -} - -type DeploymentOptionSection struct { - Section - - Configuration []DeploymentOptionConfiguration `xml:"Configuration"` -} - -type DeploymentOptionConfiguration struct { - ID string `xml:"id,attr"` - Default *bool `xml:"default,attr"` - - Label string `xml:"Label"` - Description string `xml:"Description"` -} diff --git a/vendor/github.com/vmware/govmomi/ovf/manager.go b/vendor/github.com/vmware/govmomi/ovf/manager.go deleted file mode 100644 index 3ee2afdd46a..00000000000 --- a/vendor/github.com/vmware/govmomi/ovf/manager.go +++ /dev/null @@ -1,103 +0,0 @@ -/* -Copyright (c) 2015-2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package ovf - -import ( - "context" - - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/types" -) - -type Manager struct { - types.ManagedObjectReference - - c *vim25.Client -} - -func NewManager(c *vim25.Client) *Manager { - return &Manager{*c.ServiceContent.OvfManager, c} -} - -// CreateDescriptor wraps methods.CreateDescriptor -func (m *Manager) CreateDescriptor(ctx context.Context, obj mo.Reference, cdp types.OvfCreateDescriptorParams) (*types.OvfCreateDescriptorResult, error) { - req := types.CreateDescriptor{ - This: m.Reference(), - Obj: obj.Reference(), - Cdp: cdp, - } - - res, err := methods.CreateDescriptor(ctx, m.c, &req) - if err != nil { - return nil, err - } - - return &res.Returnval, nil -} - -// CreateImportSpec wraps methods.CreateImportSpec -func (m *Manager) CreateImportSpec(ctx context.Context, ovfDescriptor string, resourcePool mo.Reference, datastore mo.Reference, cisp types.OvfCreateImportSpecParams) (*types.OvfCreateImportSpecResult, error) { - req := types.CreateImportSpec{ - This: m.Reference(), - OvfDescriptor: ovfDescriptor, - ResourcePool: resourcePool.Reference(), - Datastore: datastore.Reference(), - Cisp: cisp, - } - - res, err := methods.CreateImportSpec(ctx, m.c, &req) - if err != nil { - return nil, err - } - - return &res.Returnval, nil -} - -// ParseDescriptor wraps methods.ParseDescriptor -func (m *Manager) ParseDescriptor(ctx context.Context, ovfDescriptor string, pdp types.OvfParseDescriptorParams) (*types.OvfParseDescriptorResult, error) { - req := types.ParseDescriptor{ - This: m.Reference(), - OvfDescriptor: ovfDescriptor, - Pdp: pdp, - } - - res, err := methods.ParseDescriptor(ctx, m.c, &req) - if err != nil { - return nil, err - } - - return &res.Returnval, nil -} - -// ValidateHost wraps methods.ValidateHost -func (m *Manager) ValidateHost(ctx context.Context, ovfDescriptor string, host mo.Reference, vhp types.OvfValidateHostParams) (*types.OvfValidateHostResult, error) { - req := types.ValidateHost{ - This: m.Reference(), - OvfDescriptor: ovfDescriptor, - Host: host.Reference(), - Vhp: vhp, - } - - res, err := methods.ValidateHost(ctx, m.c, &req) - if err != nil { - return nil, err - } - - return &res.Returnval, nil -} diff --git a/vendor/github.com/vmware/govmomi/ovf/ovf.go b/vendor/github.com/vmware/govmomi/ovf/ovf.go deleted file mode 100644 index bd279e757d7..00000000000 --- a/vendor/github.com/vmware/govmomi/ovf/ovf.go +++ /dev/null @@ -1,35 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package ovf - -import ( - "io" - - "github.com/vmware/govmomi/vim25/xml" -) - -func Unmarshal(r io.Reader) (*Envelope, error) { - var e Envelope - - dec := xml.NewDecoder(r) - err := dec.Decode(&e) - if err != nil { - return nil, err - } - - return &e, nil -} diff --git a/vendor/github.com/vmware/govmomi/pbm/client.go b/vendor/github.com/vmware/govmomi/pbm/client.go deleted file mode 100644 index ba2531ec966..00000000000 --- a/vendor/github.com/vmware/govmomi/pbm/client.go +++ /dev/null @@ -1,287 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package pbm - -import ( - "context" - "fmt" - - "github.com/vmware/govmomi/pbm/methods" - "github.com/vmware/govmomi/pbm/types" - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/soap" - vim "github.com/vmware/govmomi/vim25/types" -) - -const ( - Namespace = "pbm" - Path = "/pbm" -) - -var ( - ServiceInstance = vim.ManagedObjectReference{ - Type: "PbmServiceInstance", - Value: "ServiceInstance", - } -) - -type Client struct { - *soap.Client - - ServiceContent types.PbmServiceInstanceContent - - RoundTripper soap.RoundTripper -} - -func NewClient(ctx context.Context, c *vim25.Client) (*Client, error) { - sc := c.Client.NewServiceClient(Path, Namespace) - - req := types.PbmRetrieveServiceContent{ - This: ServiceInstance, - } - - res, err := methods.PbmRetrieveServiceContent(ctx, sc, &req) - if err != nil { - return nil, err - } - - return &Client{sc, res.Returnval, sc}, nil -} - -// RoundTrip dispatches to the RoundTripper field. -func (c *Client) RoundTrip(ctx context.Context, req, res soap.HasFault) error { - return c.RoundTripper.RoundTrip(ctx, req, res) -} - -func (c *Client) QueryProfile(ctx context.Context, rtype types.PbmProfileResourceType, category string) ([]types.PbmProfileId, error) { - req := types.PbmQueryProfile{ - This: c.ServiceContent.ProfileManager, - ResourceType: rtype, - ProfileCategory: category, - } - - res, err := methods.PbmQueryProfile(ctx, c, &req) - if err != nil { - return nil, err - } - - return res.Returnval, nil -} - -func (c *Client) RetrieveContent(ctx context.Context, ids []types.PbmProfileId) ([]types.BasePbmProfile, error) { - req := types.PbmRetrieveContent{ - This: c.ServiceContent.ProfileManager, - ProfileIds: ids, - } - - res, err := methods.PbmRetrieveContent(ctx, c, &req) - if err != nil { - return nil, err - } - - return res.Returnval, nil -} - -type PlacementCompatibilityResult []types.PbmPlacementCompatibilityResult - -func (c *Client) CheckRequirements(ctx context.Context, hubs []types.PbmPlacementHub, ref *types.PbmServerObjectRef, preq []types.BasePbmPlacementRequirement) (PlacementCompatibilityResult, error) { - req := types.PbmCheckRequirements{ - This: c.ServiceContent.PlacementSolver, - HubsToSearch: hubs, - PlacementSubjectRef: ref, - PlacementSubjectRequirement: preq, - } - - res, err := methods.PbmCheckRequirements(ctx, c, &req) - if err != nil { - return nil, err - } - - return res.Returnval, nil -} - -func (l PlacementCompatibilityResult) CompatibleDatastores() []types.PbmPlacementHub { - var compatibleDatastores []types.PbmPlacementHub - - for _, res := range l { - if len(res.Error) == 0 { - compatibleDatastores = append(compatibleDatastores, res.Hub) - } - } - return compatibleDatastores -} - -func (l PlacementCompatibilityResult) NonCompatibleDatastores() []types.PbmPlacementHub { - var nonCompatibleDatastores []types.PbmPlacementHub - - for _, res := range l { - if len(res.Error) > 0 { - nonCompatibleDatastores = append(nonCompatibleDatastores, res.Hub) - } - } - return nonCompatibleDatastores -} - -func (c *Client) CreateProfile(ctx context.Context, capabilityProfileCreateSpec types.PbmCapabilityProfileCreateSpec) (*types.PbmProfileId, error) { - req := types.PbmCreate{ - This: c.ServiceContent.ProfileManager, - CreateSpec: capabilityProfileCreateSpec, - } - - res, err := methods.PbmCreate(ctx, c, &req) - if err != nil { - return nil, err - } - - return &res.Returnval, nil -} - -func (c *Client) UpdateProfile(ctx context.Context, id types.PbmProfileId, updateSpec types.PbmCapabilityProfileUpdateSpec) error { - req := types.PbmUpdate{ - This: c.ServiceContent.ProfileManager, - ProfileId: id, - UpdateSpec: updateSpec, - } - - _, err := methods.PbmUpdate(ctx, c, &req) - if err != nil { - return err - } - - return nil -} - -func (c *Client) DeleteProfile(ctx context.Context, ids []types.PbmProfileId) ([]types.PbmProfileOperationOutcome, error) { - req := types.PbmDelete{ - This: c.ServiceContent.ProfileManager, - ProfileId: ids, - } - - res, err := methods.PbmDelete(ctx, c, &req) - if err != nil { - return nil, err - } - - return res.Returnval, nil -} - -func (c *Client) QueryAssociatedEntity(ctx context.Context, id types.PbmProfileId, entityType string) ([]types.PbmServerObjectRef, error) { - req := types.PbmQueryAssociatedEntity{ - This: c.ServiceContent.ProfileManager, - Profile: id, - EntityType: entityType, - } - - res, err := methods.PbmQueryAssociatedEntity(ctx, c, &req) - if err != nil { - return nil, err - } - - return res.Returnval, nil -} - -func (c *Client) QueryAssociatedEntities(ctx context.Context, ids []types.PbmProfileId) ([]types.PbmQueryProfileResult, error) { - req := types.PbmQueryAssociatedEntities{ - This: c.ServiceContent.ProfileManager, - Profiles: ids, - } - - res, err := methods.PbmQueryAssociatedEntities(ctx, c, &req) - if err != nil { - return nil, err - } - - return res.Returnval, nil -} - -func (c *Client) ProfileIDByName(ctx context.Context, profileName string) (string, error) { - resourceType := types.PbmProfileResourceType{ - ResourceType: string(types.PbmProfileResourceTypeEnumSTORAGE), - } - category := types.PbmProfileCategoryEnumREQUIREMENT - ids, err := c.QueryProfile(ctx, resourceType, string(category)) - if err != nil { - return "", err - } - - profiles, err := c.RetrieveContent(ctx, ids) - if err != nil { - return "", err - } - - for i := range profiles { - profile := profiles[i].GetPbmProfile() - if profile.Name == profileName { - return profile.ProfileId.UniqueId, nil - } - } - return "", fmt.Errorf("no pbm profile found with name: %q", profileName) -} - -func (c *Client) FetchCapabilityMetadata(ctx context.Context, rtype *types.PbmProfileResourceType, vendorUuid string) ([]types.PbmCapabilityMetadataPerCategory, error) { - req := types.PbmFetchCapabilityMetadata{ - This: c.ServiceContent.ProfileManager, - ResourceType: rtype, - VendorUuid: vendorUuid, - } - - res, err := methods.PbmFetchCapabilityMetadata(ctx, c, &req) - if err != nil { - return nil, err - } - - return res.Returnval, nil -} - -func (c *Client) FetchComplianceResult(ctx context.Context, entities []types.PbmServerObjectRef) ([]types.PbmComplianceResult, error) { - req := types.PbmFetchComplianceResult{ - This: c.ServiceContent.ComplianceManager, - Entities: entities, - } - - res, err := methods.PbmFetchComplianceResult(ctx, c, &req) - if err != nil { - return nil, err - } - - return res.Returnval, nil -} - -// GetProfileNameByID gets storage profile name by ID -func (c *Client) GetProfileNameByID(ctx context.Context, profileID string) (string, error) { - resourceType := types.PbmProfileResourceType{ - ResourceType: string(types.PbmProfileResourceTypeEnumSTORAGE), - } - category := types.PbmProfileCategoryEnumREQUIREMENT - ids, err := c.QueryProfile(ctx, resourceType, string(category)) - if err != nil { - return "", err - } - - profiles, err := c.RetrieveContent(ctx, ids) - if err != nil { - return "", err - } - - for i := range profiles { - profile := profiles[i].GetPbmProfile() - if profile.ProfileId.UniqueId == profileID { - return profile.Name, nil - } - } - return "", fmt.Errorf("no pbm profile found with id: %q", profileID) -} diff --git a/vendor/github.com/vmware/govmomi/pbm/methods/methods.go b/vendor/github.com/vmware/govmomi/pbm/methods/methods.go deleted file mode 100644 index fa7f2b200ff..00000000000 --- a/vendor/github.com/vmware/govmomi/pbm/methods/methods.go +++ /dev/null @@ -1,664 +0,0 @@ -/* -Copyright (c) 2014-2022 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package methods - -import ( - "context" - - "github.com/vmware/govmomi/pbm/types" - "github.com/vmware/govmomi/vim25/soap" -) - -type PbmAssignDefaultRequirementProfileBody struct { - Req *types.PbmAssignDefaultRequirementProfile `xml:"urn:pbm PbmAssignDefaultRequirementProfile,omitempty"` - Res *types.PbmAssignDefaultRequirementProfileResponse `xml:"urn:pbm PbmAssignDefaultRequirementProfileResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PbmAssignDefaultRequirementProfileBody) Fault() *soap.Fault { return b.Fault_ } - -func PbmAssignDefaultRequirementProfile(ctx context.Context, r soap.RoundTripper, req *types.PbmAssignDefaultRequirementProfile) (*types.PbmAssignDefaultRequirementProfileResponse, error) { - var reqBody, resBody PbmAssignDefaultRequirementProfileBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PbmCheckCompatibilityBody struct { - Req *types.PbmCheckCompatibility `xml:"urn:pbm PbmCheckCompatibility,omitempty"` - Res *types.PbmCheckCompatibilityResponse `xml:"urn:pbm PbmCheckCompatibilityResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PbmCheckCompatibilityBody) Fault() *soap.Fault { return b.Fault_ } - -func PbmCheckCompatibility(ctx context.Context, r soap.RoundTripper, req *types.PbmCheckCompatibility) (*types.PbmCheckCompatibilityResponse, error) { - var reqBody, resBody PbmCheckCompatibilityBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PbmCheckCompatibilityWithSpecBody struct { - Req *types.PbmCheckCompatibilityWithSpec `xml:"urn:pbm PbmCheckCompatibilityWithSpec,omitempty"` - Res *types.PbmCheckCompatibilityWithSpecResponse `xml:"urn:pbm PbmCheckCompatibilityWithSpecResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PbmCheckCompatibilityWithSpecBody) Fault() *soap.Fault { return b.Fault_ } - -func PbmCheckCompatibilityWithSpec(ctx context.Context, r soap.RoundTripper, req *types.PbmCheckCompatibilityWithSpec) (*types.PbmCheckCompatibilityWithSpecResponse, error) { - var reqBody, resBody PbmCheckCompatibilityWithSpecBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PbmCheckComplianceBody struct { - Req *types.PbmCheckCompliance `xml:"urn:pbm PbmCheckCompliance,omitempty"` - Res *types.PbmCheckComplianceResponse `xml:"urn:pbm PbmCheckComplianceResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PbmCheckComplianceBody) Fault() *soap.Fault { return b.Fault_ } - -func PbmCheckCompliance(ctx context.Context, r soap.RoundTripper, req *types.PbmCheckCompliance) (*types.PbmCheckComplianceResponse, error) { - var reqBody, resBody PbmCheckComplianceBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PbmCheckRequirementsBody struct { - Req *types.PbmCheckRequirements `xml:"urn:pbm PbmCheckRequirements,omitempty"` - Res *types.PbmCheckRequirementsResponse `xml:"urn:pbm PbmCheckRequirementsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PbmCheckRequirementsBody) Fault() *soap.Fault { return b.Fault_ } - -func PbmCheckRequirements(ctx context.Context, r soap.RoundTripper, req *types.PbmCheckRequirements) (*types.PbmCheckRequirementsResponse, error) { - var reqBody, resBody PbmCheckRequirementsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PbmCheckRollupComplianceBody struct { - Req *types.PbmCheckRollupCompliance `xml:"urn:pbm PbmCheckRollupCompliance,omitempty"` - Res *types.PbmCheckRollupComplianceResponse `xml:"urn:pbm PbmCheckRollupComplianceResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PbmCheckRollupComplianceBody) Fault() *soap.Fault { return b.Fault_ } - -func PbmCheckRollupCompliance(ctx context.Context, r soap.RoundTripper, req *types.PbmCheckRollupCompliance) (*types.PbmCheckRollupComplianceResponse, error) { - var reqBody, resBody PbmCheckRollupComplianceBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PbmCreateBody struct { - Req *types.PbmCreate `xml:"urn:pbm PbmCreate,omitempty"` - Res *types.PbmCreateResponse `xml:"urn:pbm PbmCreateResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PbmCreateBody) Fault() *soap.Fault { return b.Fault_ } - -func PbmCreate(ctx context.Context, r soap.RoundTripper, req *types.PbmCreate) (*types.PbmCreateResponse, error) { - var reqBody, resBody PbmCreateBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PbmDeleteBody struct { - Req *types.PbmDelete `xml:"urn:pbm PbmDelete,omitempty"` - Res *types.PbmDeleteResponse `xml:"urn:pbm PbmDeleteResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PbmDeleteBody) Fault() *soap.Fault { return b.Fault_ } - -func PbmDelete(ctx context.Context, r soap.RoundTripper, req *types.PbmDelete) (*types.PbmDeleteResponse, error) { - var reqBody, resBody PbmDeleteBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PbmFetchCapabilityMetadataBody struct { - Req *types.PbmFetchCapabilityMetadata `xml:"urn:pbm PbmFetchCapabilityMetadata,omitempty"` - Res *types.PbmFetchCapabilityMetadataResponse `xml:"urn:pbm PbmFetchCapabilityMetadataResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PbmFetchCapabilityMetadataBody) Fault() *soap.Fault { return b.Fault_ } - -func PbmFetchCapabilityMetadata(ctx context.Context, r soap.RoundTripper, req *types.PbmFetchCapabilityMetadata) (*types.PbmFetchCapabilityMetadataResponse, error) { - var reqBody, resBody PbmFetchCapabilityMetadataBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PbmFetchCapabilitySchemaBody struct { - Req *types.PbmFetchCapabilitySchema `xml:"urn:pbm PbmFetchCapabilitySchema,omitempty"` - Res *types.PbmFetchCapabilitySchemaResponse `xml:"urn:pbm PbmFetchCapabilitySchemaResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PbmFetchCapabilitySchemaBody) Fault() *soap.Fault { return b.Fault_ } - -func PbmFetchCapabilitySchema(ctx context.Context, r soap.RoundTripper, req *types.PbmFetchCapabilitySchema) (*types.PbmFetchCapabilitySchemaResponse, error) { - var reqBody, resBody PbmFetchCapabilitySchemaBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PbmFetchComplianceResultBody struct { - Req *types.PbmFetchComplianceResult `xml:"urn:pbm PbmFetchComplianceResult,omitempty"` - Res *types.PbmFetchComplianceResultResponse `xml:"urn:pbm PbmFetchComplianceResultResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PbmFetchComplianceResultBody) Fault() *soap.Fault { return b.Fault_ } - -func PbmFetchComplianceResult(ctx context.Context, r soap.RoundTripper, req *types.PbmFetchComplianceResult) (*types.PbmFetchComplianceResultResponse, error) { - var reqBody, resBody PbmFetchComplianceResultBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PbmFetchResourceTypeBody struct { - Req *types.PbmFetchResourceType `xml:"urn:pbm PbmFetchResourceType,omitempty"` - Res *types.PbmFetchResourceTypeResponse `xml:"urn:pbm PbmFetchResourceTypeResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PbmFetchResourceTypeBody) Fault() *soap.Fault { return b.Fault_ } - -func PbmFetchResourceType(ctx context.Context, r soap.RoundTripper, req *types.PbmFetchResourceType) (*types.PbmFetchResourceTypeResponse, error) { - var reqBody, resBody PbmFetchResourceTypeBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PbmFetchRollupComplianceResultBody struct { - Req *types.PbmFetchRollupComplianceResult `xml:"urn:pbm PbmFetchRollupComplianceResult,omitempty"` - Res *types.PbmFetchRollupComplianceResultResponse `xml:"urn:pbm PbmFetchRollupComplianceResultResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PbmFetchRollupComplianceResultBody) Fault() *soap.Fault { return b.Fault_ } - -func PbmFetchRollupComplianceResult(ctx context.Context, r soap.RoundTripper, req *types.PbmFetchRollupComplianceResult) (*types.PbmFetchRollupComplianceResultResponse, error) { - var reqBody, resBody PbmFetchRollupComplianceResultBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PbmFetchVendorInfoBody struct { - Req *types.PbmFetchVendorInfo `xml:"urn:pbm PbmFetchVendorInfo,omitempty"` - Res *types.PbmFetchVendorInfoResponse `xml:"urn:pbm PbmFetchVendorInfoResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PbmFetchVendorInfoBody) Fault() *soap.Fault { return b.Fault_ } - -func PbmFetchVendorInfo(ctx context.Context, r soap.RoundTripper, req *types.PbmFetchVendorInfo) (*types.PbmFetchVendorInfoResponse, error) { - var reqBody, resBody PbmFetchVendorInfoBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PbmFindApplicableDefaultProfileBody struct { - Req *types.PbmFindApplicableDefaultProfile `xml:"urn:pbm PbmFindApplicableDefaultProfile,omitempty"` - Res *types.PbmFindApplicableDefaultProfileResponse `xml:"urn:pbm PbmFindApplicableDefaultProfileResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PbmFindApplicableDefaultProfileBody) Fault() *soap.Fault { return b.Fault_ } - -func PbmFindApplicableDefaultProfile(ctx context.Context, r soap.RoundTripper, req *types.PbmFindApplicableDefaultProfile) (*types.PbmFindApplicableDefaultProfileResponse, error) { - var reqBody, resBody PbmFindApplicableDefaultProfileBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PbmQueryAssociatedEntitiesBody struct { - Req *types.PbmQueryAssociatedEntities `xml:"urn:pbm PbmQueryAssociatedEntities,omitempty"` - Res *types.PbmQueryAssociatedEntitiesResponse `xml:"urn:pbm PbmQueryAssociatedEntitiesResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PbmQueryAssociatedEntitiesBody) Fault() *soap.Fault { return b.Fault_ } - -func PbmQueryAssociatedEntities(ctx context.Context, r soap.RoundTripper, req *types.PbmQueryAssociatedEntities) (*types.PbmQueryAssociatedEntitiesResponse, error) { - var reqBody, resBody PbmQueryAssociatedEntitiesBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PbmQueryAssociatedEntityBody struct { - Req *types.PbmQueryAssociatedEntity `xml:"urn:pbm PbmQueryAssociatedEntity,omitempty"` - Res *types.PbmQueryAssociatedEntityResponse `xml:"urn:pbm PbmQueryAssociatedEntityResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PbmQueryAssociatedEntityBody) Fault() *soap.Fault { return b.Fault_ } - -func PbmQueryAssociatedEntity(ctx context.Context, r soap.RoundTripper, req *types.PbmQueryAssociatedEntity) (*types.PbmQueryAssociatedEntityResponse, error) { - var reqBody, resBody PbmQueryAssociatedEntityBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PbmQueryAssociatedProfileBody struct { - Req *types.PbmQueryAssociatedProfile `xml:"urn:pbm PbmQueryAssociatedProfile,omitempty"` - Res *types.PbmQueryAssociatedProfileResponse `xml:"urn:pbm PbmQueryAssociatedProfileResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PbmQueryAssociatedProfileBody) Fault() *soap.Fault { return b.Fault_ } - -func PbmQueryAssociatedProfile(ctx context.Context, r soap.RoundTripper, req *types.PbmQueryAssociatedProfile) (*types.PbmQueryAssociatedProfileResponse, error) { - var reqBody, resBody PbmQueryAssociatedProfileBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PbmQueryAssociatedProfilesBody struct { - Req *types.PbmQueryAssociatedProfiles `xml:"urn:pbm PbmQueryAssociatedProfiles,omitempty"` - Res *types.PbmQueryAssociatedProfilesResponse `xml:"urn:pbm PbmQueryAssociatedProfilesResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PbmQueryAssociatedProfilesBody) Fault() *soap.Fault { return b.Fault_ } - -func PbmQueryAssociatedProfiles(ctx context.Context, r soap.RoundTripper, req *types.PbmQueryAssociatedProfiles) (*types.PbmQueryAssociatedProfilesResponse, error) { - var reqBody, resBody PbmQueryAssociatedProfilesBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PbmQueryByRollupComplianceStatusBody struct { - Req *types.PbmQueryByRollupComplianceStatus `xml:"urn:pbm PbmQueryByRollupComplianceStatus,omitempty"` - Res *types.PbmQueryByRollupComplianceStatusResponse `xml:"urn:pbm PbmQueryByRollupComplianceStatusResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PbmQueryByRollupComplianceStatusBody) Fault() *soap.Fault { return b.Fault_ } - -func PbmQueryByRollupComplianceStatus(ctx context.Context, r soap.RoundTripper, req *types.PbmQueryByRollupComplianceStatus) (*types.PbmQueryByRollupComplianceStatusResponse, error) { - var reqBody, resBody PbmQueryByRollupComplianceStatusBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PbmQueryDefaultRequirementProfileBody struct { - Req *types.PbmQueryDefaultRequirementProfile `xml:"urn:pbm PbmQueryDefaultRequirementProfile,omitempty"` - Res *types.PbmQueryDefaultRequirementProfileResponse `xml:"urn:pbm PbmQueryDefaultRequirementProfileResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PbmQueryDefaultRequirementProfileBody) Fault() *soap.Fault { return b.Fault_ } - -func PbmQueryDefaultRequirementProfile(ctx context.Context, r soap.RoundTripper, req *types.PbmQueryDefaultRequirementProfile) (*types.PbmQueryDefaultRequirementProfileResponse, error) { - var reqBody, resBody PbmQueryDefaultRequirementProfileBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PbmQueryDefaultRequirementProfilesBody struct { - Req *types.PbmQueryDefaultRequirementProfiles `xml:"urn:pbm PbmQueryDefaultRequirementProfiles,omitempty"` - Res *types.PbmQueryDefaultRequirementProfilesResponse `xml:"urn:pbm PbmQueryDefaultRequirementProfilesResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PbmQueryDefaultRequirementProfilesBody) Fault() *soap.Fault { return b.Fault_ } - -func PbmQueryDefaultRequirementProfiles(ctx context.Context, r soap.RoundTripper, req *types.PbmQueryDefaultRequirementProfiles) (*types.PbmQueryDefaultRequirementProfilesResponse, error) { - var reqBody, resBody PbmQueryDefaultRequirementProfilesBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PbmQueryMatchingHubBody struct { - Req *types.PbmQueryMatchingHub `xml:"urn:pbm PbmQueryMatchingHub,omitempty"` - Res *types.PbmQueryMatchingHubResponse `xml:"urn:pbm PbmQueryMatchingHubResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PbmQueryMatchingHubBody) Fault() *soap.Fault { return b.Fault_ } - -func PbmQueryMatchingHub(ctx context.Context, r soap.RoundTripper, req *types.PbmQueryMatchingHub) (*types.PbmQueryMatchingHubResponse, error) { - var reqBody, resBody PbmQueryMatchingHubBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PbmQueryMatchingHubWithSpecBody struct { - Req *types.PbmQueryMatchingHubWithSpec `xml:"urn:pbm PbmQueryMatchingHubWithSpec,omitempty"` - Res *types.PbmQueryMatchingHubWithSpecResponse `xml:"urn:pbm PbmQueryMatchingHubWithSpecResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PbmQueryMatchingHubWithSpecBody) Fault() *soap.Fault { return b.Fault_ } - -func PbmQueryMatchingHubWithSpec(ctx context.Context, r soap.RoundTripper, req *types.PbmQueryMatchingHubWithSpec) (*types.PbmQueryMatchingHubWithSpecResponse, error) { - var reqBody, resBody PbmQueryMatchingHubWithSpecBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PbmQueryProfileBody struct { - Req *types.PbmQueryProfile `xml:"urn:pbm PbmQueryProfile,omitempty"` - Res *types.PbmQueryProfileResponse `xml:"urn:pbm PbmQueryProfileResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PbmQueryProfileBody) Fault() *soap.Fault { return b.Fault_ } - -func PbmQueryProfile(ctx context.Context, r soap.RoundTripper, req *types.PbmQueryProfile) (*types.PbmQueryProfileResponse, error) { - var reqBody, resBody PbmQueryProfileBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PbmQueryReplicationGroupsBody struct { - Req *types.PbmQueryReplicationGroups `xml:"urn:pbm PbmQueryReplicationGroups,omitempty"` - Res *types.PbmQueryReplicationGroupsResponse `xml:"urn:pbm PbmQueryReplicationGroupsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PbmQueryReplicationGroupsBody) Fault() *soap.Fault { return b.Fault_ } - -func PbmQueryReplicationGroups(ctx context.Context, r soap.RoundTripper, req *types.PbmQueryReplicationGroups) (*types.PbmQueryReplicationGroupsResponse, error) { - var reqBody, resBody PbmQueryReplicationGroupsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PbmQuerySpaceStatsForStorageContainerBody struct { - Req *types.PbmQuerySpaceStatsForStorageContainer `xml:"urn:pbm PbmQuerySpaceStatsForStorageContainer,omitempty"` - Res *types.PbmQuerySpaceStatsForStorageContainerResponse `xml:"urn:pbm PbmQuerySpaceStatsForStorageContainerResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PbmQuerySpaceStatsForStorageContainerBody) Fault() *soap.Fault { return b.Fault_ } - -func PbmQuerySpaceStatsForStorageContainer(ctx context.Context, r soap.RoundTripper, req *types.PbmQuerySpaceStatsForStorageContainer) (*types.PbmQuerySpaceStatsForStorageContainerResponse, error) { - var reqBody, resBody PbmQuerySpaceStatsForStorageContainerBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PbmResetDefaultRequirementProfileBody struct { - Req *types.PbmResetDefaultRequirementProfile `xml:"urn:pbm PbmResetDefaultRequirementProfile,omitempty"` - Res *types.PbmResetDefaultRequirementProfileResponse `xml:"urn:pbm PbmResetDefaultRequirementProfileResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PbmResetDefaultRequirementProfileBody) Fault() *soap.Fault { return b.Fault_ } - -func PbmResetDefaultRequirementProfile(ctx context.Context, r soap.RoundTripper, req *types.PbmResetDefaultRequirementProfile) (*types.PbmResetDefaultRequirementProfileResponse, error) { - var reqBody, resBody PbmResetDefaultRequirementProfileBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PbmResetVSanDefaultProfileBody struct { - Req *types.PbmResetVSanDefaultProfile `xml:"urn:pbm PbmResetVSanDefaultProfile,omitempty"` - Res *types.PbmResetVSanDefaultProfileResponse `xml:"urn:pbm PbmResetVSanDefaultProfileResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PbmResetVSanDefaultProfileBody) Fault() *soap.Fault { return b.Fault_ } - -func PbmResetVSanDefaultProfile(ctx context.Context, r soap.RoundTripper, req *types.PbmResetVSanDefaultProfile) (*types.PbmResetVSanDefaultProfileResponse, error) { - var reqBody, resBody PbmResetVSanDefaultProfileBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PbmRetrieveContentBody struct { - Req *types.PbmRetrieveContent `xml:"urn:pbm PbmRetrieveContent,omitempty"` - Res *types.PbmRetrieveContentResponse `xml:"urn:pbm PbmRetrieveContentResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PbmRetrieveContentBody) Fault() *soap.Fault { return b.Fault_ } - -func PbmRetrieveContent(ctx context.Context, r soap.RoundTripper, req *types.PbmRetrieveContent) (*types.PbmRetrieveContentResponse, error) { - var reqBody, resBody PbmRetrieveContentBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PbmRetrieveServiceContentBody struct { - Req *types.PbmRetrieveServiceContent `xml:"urn:pbm PbmRetrieveServiceContent,omitempty"` - Res *types.PbmRetrieveServiceContentResponse `xml:"urn:pbm PbmRetrieveServiceContentResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PbmRetrieveServiceContentBody) Fault() *soap.Fault { return b.Fault_ } - -func PbmRetrieveServiceContent(ctx context.Context, r soap.RoundTripper, req *types.PbmRetrieveServiceContent) (*types.PbmRetrieveServiceContentResponse, error) { - var reqBody, resBody PbmRetrieveServiceContentBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PbmUpdateBody struct { - Req *types.PbmUpdate `xml:"urn:pbm PbmUpdate,omitempty"` - Res *types.PbmUpdateResponse `xml:"urn:pbm PbmUpdateResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PbmUpdateBody) Fault() *soap.Fault { return b.Fault_ } - -func PbmUpdate(ctx context.Context, r soap.RoundTripper, req *types.PbmUpdate) (*types.PbmUpdateResponse, error) { - var reqBody, resBody PbmUpdateBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} diff --git a/vendor/github.com/vmware/govmomi/pbm/pbm_util.go b/vendor/github.com/vmware/govmomi/pbm/pbm_util.go deleted file mode 100644 index d773b8dbb77..00000000000 --- a/vendor/github.com/vmware/govmomi/pbm/pbm_util.go +++ /dev/null @@ -1,148 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package pbm - -import ( - "fmt" - "strconv" - "strings" - - "github.com/vmware/govmomi/pbm/types" -) - -// A struct to capture pbm create spec details. -type CapabilityProfileCreateSpec struct { - Name string - SubProfileName string - Description string - Category string - CapabilityList []Capability -} - -// A struct to capture pbm capability instance details. -type Capability struct { - ID string - Namespace string - PropertyList []Property -} - -// A struct to capture pbm property instance details. -type Property struct { - ID string - Operator string - Value string - DataType string -} - -func CreateCapabilityProfileSpec(pbmCreateSpec CapabilityProfileCreateSpec) (*types.PbmCapabilityProfileCreateSpec, error) { - capabilities, err := createCapabilityInstances(pbmCreateSpec.CapabilityList) - if err != nil { - return nil, err - } - - pbmCapabilityProfileSpec := types.PbmCapabilityProfileCreateSpec{ - Name: pbmCreateSpec.Name, - Description: pbmCreateSpec.Description, - Category: pbmCreateSpec.Category, - ResourceType: types.PbmProfileResourceType{ - ResourceType: string(types.PbmProfileResourceTypeEnumSTORAGE), - }, - Constraints: &types.PbmCapabilitySubProfileConstraints{ - SubProfiles: []types.PbmCapabilitySubProfile{ - types.PbmCapabilitySubProfile{ - Capability: capabilities, - Name: pbmCreateSpec.SubProfileName, - }, - }, - }, - } - return &pbmCapabilityProfileSpec, nil -} - -func createCapabilityInstances(rules []Capability) ([]types.PbmCapabilityInstance, error) { - var capabilityInstances []types.PbmCapabilityInstance - for _, capabilityRule := range rules { - capability := types.PbmCapabilityInstance{ - Id: types.PbmCapabilityMetadataUniqueId{ - Namespace: capabilityRule.Namespace, - Id: capabilityRule.ID, - }, - } - - var propertyInstances []types.PbmCapabilityPropertyInstance - for _, propertyRule := range capabilityRule.PropertyList { - property := types.PbmCapabilityPropertyInstance{ - Id: propertyRule.ID, - } - if propertyRule.Operator != "" { - property.Operator = propertyRule.Operator - } - var err error - switch strings.ToLower(propertyRule.DataType) { - case "int": - // Go int32 is marshalled to xsi:int whereas Go int is marshalled to xsi:long when sending down the wire. - var val int32 - val, err = verifyPropertyValueIsInt(propertyRule.Value, propertyRule.DataType) - property.Value = val - case "bool": - var val bool - val, err = verifyPropertyValueIsBoolean(propertyRule.Value, propertyRule.DataType) - property.Value = val - case "string": - property.Value = propertyRule.Value - case "set": - set := types.PbmCapabilityDiscreteSet{} - for _, val := range strings.Split(propertyRule.Value, ",") { - set.Values = append(set.Values, val) - } - property.Value = set - default: - return nil, fmt.Errorf("invalid value: %q with datatype: %q", propertyRule.Value, propertyRule.Value) - } - if err != nil { - return nil, fmt.Errorf("invalid value: %q with datatype: %q", propertyRule.Value, propertyRule.Value) - } - propertyInstances = append(propertyInstances, property) - } - constraintInstances := []types.PbmCapabilityConstraintInstance{ - types.PbmCapabilityConstraintInstance{ - PropertyInstance: propertyInstances, - }, - } - capability.Constraint = constraintInstances - capabilityInstances = append(capabilityInstances, capability) - } - return capabilityInstances, nil -} - -// Verify if the capability value is of type integer. -func verifyPropertyValueIsInt(propertyValue string, dataType string) (int32, error) { - val, err := strconv.ParseInt(propertyValue, 10, 32) - if err != nil { - return -1, err - } - return int32(val), nil -} - -// Verify if the capability value is of type integer. -func verifyPropertyValueIsBoolean(propertyValue string, dataType string) (bool, error) { - val, err := strconv.ParseBool(propertyValue) - if err != nil { - return false, err - } - return val, nil -} diff --git a/vendor/github.com/vmware/govmomi/pbm/types/enum.go b/vendor/github.com/vmware/govmomi/pbm/types/enum.go deleted file mode 100644 index 66751bb1f4d..00000000000 --- a/vendor/github.com/vmware/govmomi/pbm/types/enum.go +++ /dev/null @@ -1,307 +0,0 @@ -/* -Copyright (c) 2014-2022 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package types - -import ( - "reflect" - - "github.com/vmware/govmomi/vim25/types" -) - -type PbmAssociateAndApplyPolicyStatusPolicyStatus string - -const ( - PbmAssociateAndApplyPolicyStatusPolicyStatusSuccess = PbmAssociateAndApplyPolicyStatusPolicyStatus("success") - PbmAssociateAndApplyPolicyStatusPolicyStatusFailed = PbmAssociateAndApplyPolicyStatusPolicyStatus("failed") - PbmAssociateAndApplyPolicyStatusPolicyStatusInvalid = PbmAssociateAndApplyPolicyStatusPolicyStatus("invalid") -) - -func init() { - types.Add("pbm:PbmAssociateAndApplyPolicyStatusPolicyStatus", reflect.TypeOf((*PbmAssociateAndApplyPolicyStatusPolicyStatus)(nil)).Elem()) -} - -type PbmBuiltinGenericType string - -const ( - PbmBuiltinGenericTypeVMW_RANGE = PbmBuiltinGenericType("VMW_RANGE") - PbmBuiltinGenericTypeVMW_SET = PbmBuiltinGenericType("VMW_SET") -) - -func init() { - types.Add("pbm:PbmBuiltinGenericType", reflect.TypeOf((*PbmBuiltinGenericType)(nil)).Elem()) -} - -type PbmBuiltinType string - -const ( - PbmBuiltinTypeXSD_LONG = PbmBuiltinType("XSD_LONG") - PbmBuiltinTypeXSD_SHORT = PbmBuiltinType("XSD_SHORT") - PbmBuiltinTypeXSD_INTEGER = PbmBuiltinType("XSD_INTEGER") - PbmBuiltinTypeXSD_INT = PbmBuiltinType("XSD_INT") - PbmBuiltinTypeXSD_STRING = PbmBuiltinType("XSD_STRING") - PbmBuiltinTypeXSD_BOOLEAN = PbmBuiltinType("XSD_BOOLEAN") - PbmBuiltinTypeXSD_DOUBLE = PbmBuiltinType("XSD_DOUBLE") - PbmBuiltinTypeXSD_DATETIME = PbmBuiltinType("XSD_DATETIME") - PbmBuiltinTypeVMW_TIMESPAN = PbmBuiltinType("VMW_TIMESPAN") - PbmBuiltinTypeVMW_POLICY = PbmBuiltinType("VMW_POLICY") -) - -func init() { - types.Add("pbm:PbmBuiltinType", reflect.TypeOf((*PbmBuiltinType)(nil)).Elem()) -} - -type PbmCapabilityOperator string - -const ( - PbmCapabilityOperatorNOT = PbmCapabilityOperator("NOT") -) - -func init() { - types.Add("pbm:PbmCapabilityOperator", reflect.TypeOf((*PbmCapabilityOperator)(nil)).Elem()) -} - -type PbmCapabilityTimeUnitType string - -const ( - PbmCapabilityTimeUnitTypeSECONDS = PbmCapabilityTimeUnitType("SECONDS") - PbmCapabilityTimeUnitTypeMINUTES = PbmCapabilityTimeUnitType("MINUTES") - PbmCapabilityTimeUnitTypeHOURS = PbmCapabilityTimeUnitType("HOURS") - PbmCapabilityTimeUnitTypeDAYS = PbmCapabilityTimeUnitType("DAYS") - PbmCapabilityTimeUnitTypeWEEKS = PbmCapabilityTimeUnitType("WEEKS") - PbmCapabilityTimeUnitTypeMONTHS = PbmCapabilityTimeUnitType("MONTHS") - PbmCapabilityTimeUnitTypeYEARS = PbmCapabilityTimeUnitType("YEARS") -) - -func init() { - types.Add("pbm:PbmCapabilityTimeUnitType", reflect.TypeOf((*PbmCapabilityTimeUnitType)(nil)).Elem()) -} - -type PbmComplianceResultComplianceTaskStatus string - -const ( - PbmComplianceResultComplianceTaskStatusInProgress = PbmComplianceResultComplianceTaskStatus("inProgress") - PbmComplianceResultComplianceTaskStatusSuccess = PbmComplianceResultComplianceTaskStatus("success") - PbmComplianceResultComplianceTaskStatusFailed = PbmComplianceResultComplianceTaskStatus("failed") -) - -func init() { - types.Add("pbm:PbmComplianceResultComplianceTaskStatus", reflect.TypeOf((*PbmComplianceResultComplianceTaskStatus)(nil)).Elem()) -} - -type PbmComplianceStatus string - -const ( - PbmComplianceStatusCompliant = PbmComplianceStatus("compliant") - PbmComplianceStatusNonCompliant = PbmComplianceStatus("nonCompliant") - PbmComplianceStatusUnknown = PbmComplianceStatus("unknown") - PbmComplianceStatusNotApplicable = PbmComplianceStatus("notApplicable") - PbmComplianceStatusOutOfDate = PbmComplianceStatus("outOfDate") -) - -func init() { - types.Add("pbm:PbmComplianceStatus", reflect.TypeOf((*PbmComplianceStatus)(nil)).Elem()) -} - -type PbmDebugManagerKeystoreName string - -const ( - PbmDebugManagerKeystoreNameSMS = PbmDebugManagerKeystoreName("SMS") - PbmDebugManagerKeystoreNameTRUSTED_ROOTS = PbmDebugManagerKeystoreName("TRUSTED_ROOTS") -) - -func init() { - types.Add("pbm:PbmDebugManagerKeystoreName", reflect.TypeOf((*PbmDebugManagerKeystoreName)(nil)).Elem()) -} - -type PbmHealthStatusForEntity string - -const ( - PbmHealthStatusForEntityRed = PbmHealthStatusForEntity("red") - PbmHealthStatusForEntityYellow = PbmHealthStatusForEntity("yellow") - PbmHealthStatusForEntityGreen = PbmHealthStatusForEntity("green") - PbmHealthStatusForEntityUnknown = PbmHealthStatusForEntity("unknown") -) - -func init() { - types.Add("pbm:PbmHealthStatusForEntity", reflect.TypeOf((*PbmHealthStatusForEntity)(nil)).Elem()) -} - -type PbmIofilterInfoFilterType string - -const ( - PbmIofilterInfoFilterTypeINSPECTION = PbmIofilterInfoFilterType("INSPECTION") - PbmIofilterInfoFilterTypeCOMPRESSION = PbmIofilterInfoFilterType("COMPRESSION") - PbmIofilterInfoFilterTypeENCRYPTION = PbmIofilterInfoFilterType("ENCRYPTION") - PbmIofilterInfoFilterTypeREPLICATION = PbmIofilterInfoFilterType("REPLICATION") - PbmIofilterInfoFilterTypeCACHE = PbmIofilterInfoFilterType("CACHE") - PbmIofilterInfoFilterTypeDATAPROVIDER = PbmIofilterInfoFilterType("DATAPROVIDER") - PbmIofilterInfoFilterTypeDATASTOREIOCONTROL = PbmIofilterInfoFilterType("DATASTOREIOCONTROL") -) - -func init() { - types.Add("pbm:PbmIofilterInfoFilterType", reflect.TypeOf((*PbmIofilterInfoFilterType)(nil)).Elem()) -} - -type PbmLineOfServiceInfoLineOfServiceEnum string - -const ( - PbmLineOfServiceInfoLineOfServiceEnumINSPECTION = PbmLineOfServiceInfoLineOfServiceEnum("INSPECTION") - PbmLineOfServiceInfoLineOfServiceEnumCOMPRESSION = PbmLineOfServiceInfoLineOfServiceEnum("COMPRESSION") - PbmLineOfServiceInfoLineOfServiceEnumENCRYPTION = PbmLineOfServiceInfoLineOfServiceEnum("ENCRYPTION") - PbmLineOfServiceInfoLineOfServiceEnumREPLICATION = PbmLineOfServiceInfoLineOfServiceEnum("REPLICATION") - PbmLineOfServiceInfoLineOfServiceEnumCACHING = PbmLineOfServiceInfoLineOfServiceEnum("CACHING") - PbmLineOfServiceInfoLineOfServiceEnumPERSISTENCE = PbmLineOfServiceInfoLineOfServiceEnum("PERSISTENCE") - PbmLineOfServiceInfoLineOfServiceEnumDATA_PROVIDER = PbmLineOfServiceInfoLineOfServiceEnum("DATA_PROVIDER") - PbmLineOfServiceInfoLineOfServiceEnumDATASTORE_IO_CONTROL = PbmLineOfServiceInfoLineOfServiceEnum("DATASTORE_IO_CONTROL") - PbmLineOfServiceInfoLineOfServiceEnumDATA_PROTECTION = PbmLineOfServiceInfoLineOfServiceEnum("DATA_PROTECTION") -) - -func init() { - types.Add("pbm:PbmLineOfServiceInfoLineOfServiceEnum", reflect.TypeOf((*PbmLineOfServiceInfoLineOfServiceEnum)(nil)).Elem()) -} - -type PbmLoggingConfigurationComponent string - -const ( - PbmLoggingConfigurationComponentPbm = PbmLoggingConfigurationComponent("pbm") - PbmLoggingConfigurationComponentVslm = PbmLoggingConfigurationComponent("vslm") - PbmLoggingConfigurationComponentSms = PbmLoggingConfigurationComponent("sms") - PbmLoggingConfigurationComponentSpbm = PbmLoggingConfigurationComponent("spbm") - PbmLoggingConfigurationComponentSps = PbmLoggingConfigurationComponent("sps") - PbmLoggingConfigurationComponentHttpclient_header = PbmLoggingConfigurationComponent("httpclient_header") - PbmLoggingConfigurationComponentHttpclient_content = PbmLoggingConfigurationComponent("httpclient_content") - PbmLoggingConfigurationComponentVmomi = PbmLoggingConfigurationComponent("vmomi") -) - -func init() { - types.Add("pbm:PbmLoggingConfigurationComponent", reflect.TypeOf((*PbmLoggingConfigurationComponent)(nil)).Elem()) -} - -type PbmLoggingConfigurationLogLevel string - -const ( - PbmLoggingConfigurationLogLevelINFO = PbmLoggingConfigurationLogLevel("INFO") - PbmLoggingConfigurationLogLevelDEBUG = PbmLoggingConfigurationLogLevel("DEBUG") - PbmLoggingConfigurationLogLevelTRACE = PbmLoggingConfigurationLogLevel("TRACE") -) - -func init() { - types.Add("pbm:PbmLoggingConfigurationLogLevel", reflect.TypeOf((*PbmLoggingConfigurationLogLevel)(nil)).Elem()) -} - -type PbmObjectType string - -const ( - PbmObjectTypeVirtualMachine = PbmObjectType("virtualMachine") - PbmObjectTypeVirtualMachineAndDisks = PbmObjectType("virtualMachineAndDisks") - PbmObjectTypeVirtualDiskId = PbmObjectType("virtualDiskId") - PbmObjectTypeVirtualDiskUUID = PbmObjectType("virtualDiskUUID") - PbmObjectTypeDatastore = PbmObjectType("datastore") - PbmObjectTypeVsanObjectId = PbmObjectType("vsanObjectId") - PbmObjectTypeFileShareId = PbmObjectType("fileShareId") - PbmObjectTypeUnknown = PbmObjectType("unknown") -) - -func init() { - types.Add("pbm:PbmObjectType", reflect.TypeOf((*PbmObjectType)(nil)).Elem()) -} - -type PbmOperation string - -const ( - PbmOperationCREATE = PbmOperation("CREATE") - PbmOperationREGISTER = PbmOperation("REGISTER") - PbmOperationRECONFIGURE = PbmOperation("RECONFIGURE") - PbmOperationMIGRATE = PbmOperation("MIGRATE") - PbmOperationCLONE = PbmOperation("CLONE") -) - -func init() { - types.Add("pbm:PbmOperation", reflect.TypeOf((*PbmOperation)(nil)).Elem()) -} - -type PbmPolicyAssociationVolumeAllocationType string - -const ( - PbmPolicyAssociationVolumeAllocationTypeFullyInitialized = PbmPolicyAssociationVolumeAllocationType("FullyInitialized") - PbmPolicyAssociationVolumeAllocationTypeReserveSpace = PbmPolicyAssociationVolumeAllocationType("ReserveSpace") - PbmPolicyAssociationVolumeAllocationTypeConserveSpaceWhenPossible = PbmPolicyAssociationVolumeAllocationType("ConserveSpaceWhenPossible") -) - -func init() { - types.Add("pbm:PbmPolicyAssociationVolumeAllocationType", reflect.TypeOf((*PbmPolicyAssociationVolumeAllocationType)(nil)).Elem()) -} - -type PbmProfileCategoryEnum string - -const ( - PbmProfileCategoryEnumREQUIREMENT = PbmProfileCategoryEnum("REQUIREMENT") - PbmProfileCategoryEnumRESOURCE = PbmProfileCategoryEnum("RESOURCE") - PbmProfileCategoryEnumDATA_SERVICE_POLICY = PbmProfileCategoryEnum("DATA_SERVICE_POLICY") -) - -func init() { - types.Add("pbm:PbmProfileCategoryEnum", reflect.TypeOf((*PbmProfileCategoryEnum)(nil)).Elem()) -} - -type PbmProfileResourceTypeEnum string - -const ( - PbmProfileResourceTypeEnumSTORAGE = PbmProfileResourceTypeEnum("STORAGE") -) - -func init() { - types.Add("pbm:PbmProfileResourceTypeEnum", reflect.TypeOf((*PbmProfileResourceTypeEnum)(nil)).Elem()) -} - -type PbmSystemCreatedProfileType string - -const ( - PbmSystemCreatedProfileTypeVsanDefaultProfile = PbmSystemCreatedProfileType("VsanDefaultProfile") - PbmSystemCreatedProfileTypeVVolDefaultProfile = PbmSystemCreatedProfileType("VVolDefaultProfile") - PbmSystemCreatedProfileTypePmemDefaultProfile = PbmSystemCreatedProfileType("PmemDefaultProfile") - PbmSystemCreatedProfileTypeVsanMaxDefaultProfile = PbmSystemCreatedProfileType("VsanMaxDefaultProfile") -) - -func init() { - types.Add("pbm:PbmSystemCreatedProfileType", reflect.TypeOf((*PbmSystemCreatedProfileType)(nil)).Elem()) -} - -type PbmVmOperation string - -const ( - PbmVmOperationCREATE = PbmVmOperation("CREATE") - PbmVmOperationRECONFIGURE = PbmVmOperation("RECONFIGURE") - PbmVmOperationMIGRATE = PbmVmOperation("MIGRATE") - PbmVmOperationCLONE = PbmVmOperation("CLONE") -) - -func init() { - types.Add("pbm:PbmVmOperation", reflect.TypeOf((*PbmVmOperation)(nil)).Elem()) -} - -type PbmVvolType string - -const ( - PbmVvolTypeConfig = PbmVvolType("Config") - PbmVvolTypeData = PbmVvolType("Data") - PbmVvolTypeSwap = PbmVvolType("Swap") -) - -func init() { - types.Add("pbm:PbmVvolType", reflect.TypeOf((*PbmVvolType)(nil)).Elem()) -} diff --git a/vendor/github.com/vmware/govmomi/pbm/types/if.go b/vendor/github.com/vmware/govmomi/pbm/types/if.go deleted file mode 100644 index a740a25dabe..00000000000 --- a/vendor/github.com/vmware/govmomi/pbm/types/if.go +++ /dev/null @@ -1,139 +0,0 @@ -/* -Copyright (c) 2014-2022 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package types - -import ( - "reflect" - - "github.com/vmware/govmomi/vim25/types" -) - -func (b *PbmCapabilityConstraints) GetPbmCapabilityConstraints() *PbmCapabilityConstraints { return b } - -type BasePbmCapabilityConstraints interface { - GetPbmCapabilityConstraints() *PbmCapabilityConstraints -} - -func init() { - types.Add("BasePbmCapabilityConstraints", reflect.TypeOf((*PbmCapabilityConstraints)(nil)).Elem()) -} - -func (b *PbmCapabilityProfile) GetPbmCapabilityProfile() *PbmCapabilityProfile { return b } - -type BasePbmCapabilityProfile interface { - GetPbmCapabilityProfile() *PbmCapabilityProfile -} - -func init() { - types.Add("BasePbmCapabilityProfile", reflect.TypeOf((*PbmCapabilityProfile)(nil)).Elem()) -} - -func (b *PbmCapabilityProfilePropertyMismatchFault) GetPbmCapabilityProfilePropertyMismatchFault() *PbmCapabilityProfilePropertyMismatchFault { - return b -} - -type BasePbmCapabilityProfilePropertyMismatchFault interface { - GetPbmCapabilityProfilePropertyMismatchFault() *PbmCapabilityProfilePropertyMismatchFault -} - -func init() { - types.Add("BasePbmCapabilityProfilePropertyMismatchFault", reflect.TypeOf((*PbmCapabilityProfilePropertyMismatchFault)(nil)).Elem()) -} - -func (b *PbmCapabilityTypeInfo) GetPbmCapabilityTypeInfo() *PbmCapabilityTypeInfo { return b } - -type BasePbmCapabilityTypeInfo interface { - GetPbmCapabilityTypeInfo() *PbmCapabilityTypeInfo -} - -func init() { - types.Add("BasePbmCapabilityTypeInfo", reflect.TypeOf((*PbmCapabilityTypeInfo)(nil)).Elem()) -} - -func (b *PbmCompatibilityCheckFault) GetPbmCompatibilityCheckFault() *PbmCompatibilityCheckFault { - return b -} - -type BasePbmCompatibilityCheckFault interface { - GetPbmCompatibilityCheckFault() *PbmCompatibilityCheckFault -} - -func init() { - types.Add("BasePbmCompatibilityCheckFault", reflect.TypeOf((*PbmCompatibilityCheckFault)(nil)).Elem()) -} - -func (b *PbmFault) GetPbmFault() *PbmFault { return b } - -type BasePbmFault interface { - GetPbmFault() *PbmFault -} - -func init() { - types.Add("BasePbmFault", reflect.TypeOf((*PbmFault)(nil)).Elem()) -} - -func (b *PbmLineOfServiceInfo) GetPbmLineOfServiceInfo() *PbmLineOfServiceInfo { return b } - -type BasePbmLineOfServiceInfo interface { - GetPbmLineOfServiceInfo() *PbmLineOfServiceInfo -} - -func init() { - types.Add("BasePbmLineOfServiceInfo", reflect.TypeOf((*PbmLineOfServiceInfo)(nil)).Elem()) -} - -func (b *PbmPlacementMatchingResources) GetPbmPlacementMatchingResources() *PbmPlacementMatchingResources { - return b -} - -type BasePbmPlacementMatchingResources interface { - GetPbmPlacementMatchingResources() *PbmPlacementMatchingResources -} - -func init() { - types.Add("BasePbmPlacementMatchingResources", reflect.TypeOf((*PbmPlacementMatchingResources)(nil)).Elem()) -} - -func (b *PbmPlacementRequirement) GetPbmPlacementRequirement() *PbmPlacementRequirement { return b } - -type BasePbmPlacementRequirement interface { - GetPbmPlacementRequirement() *PbmPlacementRequirement -} - -func init() { - types.Add("BasePbmPlacementRequirement", reflect.TypeOf((*PbmPlacementRequirement)(nil)).Elem()) -} - -func (b *PbmProfile) GetPbmProfile() *PbmProfile { return b } - -type BasePbmProfile interface { - GetPbmProfile() *PbmProfile -} - -func init() { - types.Add("BasePbmProfile", reflect.TypeOf((*PbmProfile)(nil)).Elem()) -} - -func (b *PbmPropertyMismatchFault) GetPbmPropertyMismatchFault() *PbmPropertyMismatchFault { return b } - -type BasePbmPropertyMismatchFault interface { - GetPbmPropertyMismatchFault() *PbmPropertyMismatchFault -} - -func init() { - types.Add("BasePbmPropertyMismatchFault", reflect.TypeOf((*PbmPropertyMismatchFault)(nil)).Elem()) -} diff --git a/vendor/github.com/vmware/govmomi/pbm/types/types.go b/vendor/github.com/vmware/govmomi/pbm/types/types.go deleted file mode 100644 index 1687df447db..00000000000 --- a/vendor/github.com/vmware/govmomi/pbm/types/types.go +++ /dev/null @@ -1,1757 +0,0 @@ -/* -Copyright (c) 2014-2022 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package types - -import ( - "reflect" - "time" - - "github.com/vmware/govmomi/vim25/types" -) - -type ArrayOfPbmCapabilityConstraintInstance struct { - PbmCapabilityConstraintInstance []PbmCapabilityConstraintInstance `xml:"PbmCapabilityConstraintInstance,omitempty"` -} - -func init() { - types.Add("pbm:ArrayOfPbmCapabilityConstraintInstance", reflect.TypeOf((*ArrayOfPbmCapabilityConstraintInstance)(nil)).Elem()) -} - -type ArrayOfPbmCapabilityInstance struct { - PbmCapabilityInstance []PbmCapabilityInstance `xml:"PbmCapabilityInstance,omitempty"` -} - -func init() { - types.Add("pbm:ArrayOfPbmCapabilityInstance", reflect.TypeOf((*ArrayOfPbmCapabilityInstance)(nil)).Elem()) -} - -type ArrayOfPbmCapabilityMetadata struct { - PbmCapabilityMetadata []PbmCapabilityMetadata `xml:"PbmCapabilityMetadata,omitempty"` -} - -func init() { - types.Add("pbm:ArrayOfPbmCapabilityMetadata", reflect.TypeOf((*ArrayOfPbmCapabilityMetadata)(nil)).Elem()) -} - -type ArrayOfPbmCapabilityMetadataPerCategory struct { - PbmCapabilityMetadataPerCategory []PbmCapabilityMetadataPerCategory `xml:"PbmCapabilityMetadataPerCategory,omitempty"` -} - -func init() { - types.Add("pbm:ArrayOfPbmCapabilityMetadataPerCategory", reflect.TypeOf((*ArrayOfPbmCapabilityMetadataPerCategory)(nil)).Elem()) -} - -type ArrayOfPbmCapabilityPropertyInstance struct { - PbmCapabilityPropertyInstance []PbmCapabilityPropertyInstance `xml:"PbmCapabilityPropertyInstance,omitempty"` -} - -func init() { - types.Add("pbm:ArrayOfPbmCapabilityPropertyInstance", reflect.TypeOf((*ArrayOfPbmCapabilityPropertyInstance)(nil)).Elem()) -} - -type ArrayOfPbmCapabilityPropertyMetadata struct { - PbmCapabilityPropertyMetadata []PbmCapabilityPropertyMetadata `xml:"PbmCapabilityPropertyMetadata,omitempty"` -} - -func init() { - types.Add("pbm:ArrayOfPbmCapabilityPropertyMetadata", reflect.TypeOf((*ArrayOfPbmCapabilityPropertyMetadata)(nil)).Elem()) -} - -type ArrayOfPbmCapabilitySchema struct { - PbmCapabilitySchema []PbmCapabilitySchema `xml:"PbmCapabilitySchema,omitempty"` -} - -func init() { - types.Add("pbm:ArrayOfPbmCapabilitySchema", reflect.TypeOf((*ArrayOfPbmCapabilitySchema)(nil)).Elem()) -} - -type ArrayOfPbmCapabilitySubProfile struct { - PbmCapabilitySubProfile []PbmCapabilitySubProfile `xml:"PbmCapabilitySubProfile,omitempty"` -} - -func init() { - types.Add("pbm:ArrayOfPbmCapabilitySubProfile", reflect.TypeOf((*ArrayOfPbmCapabilitySubProfile)(nil)).Elem()) -} - -type ArrayOfPbmCapabilityVendorNamespaceInfo struct { - PbmCapabilityVendorNamespaceInfo []PbmCapabilityVendorNamespaceInfo `xml:"PbmCapabilityVendorNamespaceInfo,omitempty"` -} - -func init() { - types.Add("pbm:ArrayOfPbmCapabilityVendorNamespaceInfo", reflect.TypeOf((*ArrayOfPbmCapabilityVendorNamespaceInfo)(nil)).Elem()) -} - -type ArrayOfPbmCapabilityVendorResourceTypeInfo struct { - PbmCapabilityVendorResourceTypeInfo []PbmCapabilityVendorResourceTypeInfo `xml:"PbmCapabilityVendorResourceTypeInfo,omitempty"` -} - -func init() { - types.Add("pbm:ArrayOfPbmCapabilityVendorResourceTypeInfo", reflect.TypeOf((*ArrayOfPbmCapabilityVendorResourceTypeInfo)(nil)).Elem()) -} - -type ArrayOfPbmCompliancePolicyStatus struct { - PbmCompliancePolicyStatus []PbmCompliancePolicyStatus `xml:"PbmCompliancePolicyStatus,omitempty"` -} - -func init() { - types.Add("pbm:ArrayOfPbmCompliancePolicyStatus", reflect.TypeOf((*ArrayOfPbmCompliancePolicyStatus)(nil)).Elem()) -} - -type ArrayOfPbmComplianceResult struct { - PbmComplianceResult []PbmComplianceResult `xml:"PbmComplianceResult,omitempty"` -} - -func init() { - types.Add("pbm:ArrayOfPbmComplianceResult", reflect.TypeOf((*ArrayOfPbmComplianceResult)(nil)).Elem()) -} - -type ArrayOfPbmDatastoreSpaceStatistics struct { - PbmDatastoreSpaceStatistics []PbmDatastoreSpaceStatistics `xml:"PbmDatastoreSpaceStatistics,omitempty"` -} - -func init() { - types.Add("pbm:ArrayOfPbmDatastoreSpaceStatistics", reflect.TypeOf((*ArrayOfPbmDatastoreSpaceStatistics)(nil)).Elem()) -} - -type ArrayOfPbmDefaultProfileInfo struct { - PbmDefaultProfileInfo []PbmDefaultProfileInfo `xml:"PbmDefaultProfileInfo,omitempty"` -} - -func init() { - types.Add("pbm:ArrayOfPbmDefaultProfileInfo", reflect.TypeOf((*ArrayOfPbmDefaultProfileInfo)(nil)).Elem()) -} - -type ArrayOfPbmPlacementCompatibilityResult struct { - PbmPlacementCompatibilityResult []PbmPlacementCompatibilityResult `xml:"PbmPlacementCompatibilityResult,omitempty"` -} - -func init() { - types.Add("pbm:ArrayOfPbmPlacementCompatibilityResult", reflect.TypeOf((*ArrayOfPbmPlacementCompatibilityResult)(nil)).Elem()) -} - -type ArrayOfPbmPlacementHub struct { - PbmPlacementHub []PbmPlacementHub `xml:"PbmPlacementHub,omitempty"` -} - -func init() { - types.Add("pbm:ArrayOfPbmPlacementHub", reflect.TypeOf((*ArrayOfPbmPlacementHub)(nil)).Elem()) -} - -type ArrayOfPbmPlacementMatchingResources struct { - PbmPlacementMatchingResources []BasePbmPlacementMatchingResources `xml:"PbmPlacementMatchingResources,omitempty,typeattr"` -} - -func init() { - types.Add("pbm:ArrayOfPbmPlacementMatchingResources", reflect.TypeOf((*ArrayOfPbmPlacementMatchingResources)(nil)).Elem()) -} - -type ArrayOfPbmPlacementRequirement struct { - PbmPlacementRequirement []BasePbmPlacementRequirement `xml:"PbmPlacementRequirement,omitempty,typeattr"` -} - -func init() { - types.Add("pbm:ArrayOfPbmPlacementRequirement", reflect.TypeOf((*ArrayOfPbmPlacementRequirement)(nil)).Elem()) -} - -type ArrayOfPbmPlacementResourceUtilization struct { - PbmPlacementResourceUtilization []PbmPlacementResourceUtilization `xml:"PbmPlacementResourceUtilization,omitempty"` -} - -func init() { - types.Add("pbm:ArrayOfPbmPlacementResourceUtilization", reflect.TypeOf((*ArrayOfPbmPlacementResourceUtilization)(nil)).Elem()) -} - -type ArrayOfPbmProfile struct { - PbmProfile []BasePbmProfile `xml:"PbmProfile,omitempty,typeattr"` -} - -func init() { - types.Add("pbm:ArrayOfPbmProfile", reflect.TypeOf((*ArrayOfPbmProfile)(nil)).Elem()) -} - -type ArrayOfPbmProfileId struct { - PbmProfileId []PbmProfileId `xml:"PbmProfileId,omitempty"` -} - -func init() { - types.Add("pbm:ArrayOfPbmProfileId", reflect.TypeOf((*ArrayOfPbmProfileId)(nil)).Elem()) -} - -type ArrayOfPbmProfileOperationOutcome struct { - PbmProfileOperationOutcome []PbmProfileOperationOutcome `xml:"PbmProfileOperationOutcome,omitempty"` -} - -func init() { - types.Add("pbm:ArrayOfPbmProfileOperationOutcome", reflect.TypeOf((*ArrayOfPbmProfileOperationOutcome)(nil)).Elem()) -} - -type ArrayOfPbmProfileResourceType struct { - PbmProfileResourceType []PbmProfileResourceType `xml:"PbmProfileResourceType,omitempty"` -} - -func init() { - types.Add("pbm:ArrayOfPbmProfileResourceType", reflect.TypeOf((*ArrayOfPbmProfileResourceType)(nil)).Elem()) -} - -type ArrayOfPbmProfileType struct { - PbmProfileType []PbmProfileType `xml:"PbmProfileType,omitempty"` -} - -func init() { - types.Add("pbm:ArrayOfPbmProfileType", reflect.TypeOf((*ArrayOfPbmProfileType)(nil)).Elem()) -} - -type ArrayOfPbmQueryProfileResult struct { - PbmQueryProfileResult []PbmQueryProfileResult `xml:"PbmQueryProfileResult,omitempty"` -} - -func init() { - types.Add("pbm:ArrayOfPbmQueryProfileResult", reflect.TypeOf((*ArrayOfPbmQueryProfileResult)(nil)).Elem()) -} - -type ArrayOfPbmQueryReplicationGroupResult struct { - PbmQueryReplicationGroupResult []PbmQueryReplicationGroupResult `xml:"PbmQueryReplicationGroupResult,omitempty"` -} - -func init() { - types.Add("pbm:ArrayOfPbmQueryReplicationGroupResult", reflect.TypeOf((*ArrayOfPbmQueryReplicationGroupResult)(nil)).Elem()) -} - -type ArrayOfPbmRollupComplianceResult struct { - PbmRollupComplianceResult []PbmRollupComplianceResult `xml:"PbmRollupComplianceResult,omitempty"` -} - -func init() { - types.Add("pbm:ArrayOfPbmRollupComplianceResult", reflect.TypeOf((*ArrayOfPbmRollupComplianceResult)(nil)).Elem()) -} - -type ArrayOfPbmServerObjectRef struct { - PbmServerObjectRef []PbmServerObjectRef `xml:"PbmServerObjectRef,omitempty"` -} - -func init() { - types.Add("pbm:ArrayOfPbmServerObjectRef", reflect.TypeOf((*ArrayOfPbmServerObjectRef)(nil)).Elem()) -} - -type PbmAboutInfo struct { - types.DynamicData - - Name string `xml:"name"` - Version string `xml:"version"` - InstanceUuid string `xml:"instanceUuid"` -} - -func init() { - types.Add("pbm:PbmAboutInfo", reflect.TypeOf((*PbmAboutInfo)(nil)).Elem()) -} - -type PbmAlreadyExists struct { - PbmFault - - Name string `xml:"name,omitempty"` -} - -func init() { - types.Add("pbm:PbmAlreadyExists", reflect.TypeOf((*PbmAlreadyExists)(nil)).Elem()) -} - -type PbmAlreadyExistsFault PbmAlreadyExists - -func init() { - types.Add("pbm:PbmAlreadyExistsFault", reflect.TypeOf((*PbmAlreadyExistsFault)(nil)).Elem()) -} - -type PbmAssignDefaultRequirementProfile PbmAssignDefaultRequirementProfileRequestType - -func init() { - types.Add("pbm:PbmAssignDefaultRequirementProfile", reflect.TypeOf((*PbmAssignDefaultRequirementProfile)(nil)).Elem()) -} - -type PbmAssignDefaultRequirementProfileRequestType struct { - This types.ManagedObjectReference `xml:"_this"` - Profile PbmProfileId `xml:"profile"` - Datastores []PbmPlacementHub `xml:"datastores"` -} - -func init() { - types.Add("pbm:PbmAssignDefaultRequirementProfileRequestType", reflect.TypeOf((*PbmAssignDefaultRequirementProfileRequestType)(nil)).Elem()) -} - -type PbmAssignDefaultRequirementProfileResponse struct { -} - -type PbmCapabilityConstraintInstance struct { - types.DynamicData - - PropertyInstance []PbmCapabilityPropertyInstance `xml:"propertyInstance"` -} - -func init() { - types.Add("pbm:PbmCapabilityConstraintInstance", reflect.TypeOf((*PbmCapabilityConstraintInstance)(nil)).Elem()) -} - -type PbmCapabilityConstraints struct { - types.DynamicData -} - -func init() { - types.Add("pbm:PbmCapabilityConstraints", reflect.TypeOf((*PbmCapabilityConstraints)(nil)).Elem()) -} - -type PbmCapabilityDescription struct { - types.DynamicData - - Description PbmExtendedElementDescription `xml:"description"` - Value types.AnyType `xml:"value,typeattr"` -} - -func init() { - types.Add("pbm:PbmCapabilityDescription", reflect.TypeOf((*PbmCapabilityDescription)(nil)).Elem()) -} - -type PbmCapabilityDiscreteSet struct { - types.DynamicData - - Values []types.AnyType `xml:"values,typeattr"` -} - -func init() { - types.Add("pbm:PbmCapabilityDiscreteSet", reflect.TypeOf((*PbmCapabilityDiscreteSet)(nil)).Elem()) -} - -type PbmCapabilityGenericTypeInfo struct { - PbmCapabilityTypeInfo - - GenericTypeName string `xml:"genericTypeName"` -} - -func init() { - types.Add("pbm:PbmCapabilityGenericTypeInfo", reflect.TypeOf((*PbmCapabilityGenericTypeInfo)(nil)).Elem()) -} - -type PbmCapabilityInstance struct { - types.DynamicData - - Id PbmCapabilityMetadataUniqueId `xml:"id"` - Constraint []PbmCapabilityConstraintInstance `xml:"constraint"` -} - -func init() { - types.Add("pbm:PbmCapabilityInstance", reflect.TypeOf((*PbmCapabilityInstance)(nil)).Elem()) -} - -type PbmCapabilityMetadata struct { - types.DynamicData - - Id PbmCapabilityMetadataUniqueId `xml:"id"` - Summary PbmExtendedElementDescription `xml:"summary"` - Mandatory *bool `xml:"mandatory"` - Hint *bool `xml:"hint"` - KeyId string `xml:"keyId,omitempty"` - AllowMultipleConstraints *bool `xml:"allowMultipleConstraints"` - PropertyMetadata []PbmCapabilityPropertyMetadata `xml:"propertyMetadata"` -} - -func init() { - types.Add("pbm:PbmCapabilityMetadata", reflect.TypeOf((*PbmCapabilityMetadata)(nil)).Elem()) -} - -type PbmCapabilityMetadataPerCategory struct { - types.DynamicData - - SubCategory string `xml:"subCategory"` - CapabilityMetadata []PbmCapabilityMetadata `xml:"capabilityMetadata"` -} - -func init() { - types.Add("pbm:PbmCapabilityMetadataPerCategory", reflect.TypeOf((*PbmCapabilityMetadataPerCategory)(nil)).Elem()) -} - -type PbmCapabilityMetadataUniqueId struct { - types.DynamicData - - Namespace string `xml:"namespace"` - Id string `xml:"id"` -} - -func init() { - types.Add("pbm:PbmCapabilityMetadataUniqueId", reflect.TypeOf((*PbmCapabilityMetadataUniqueId)(nil)).Elem()) -} - -type PbmCapabilityNamespaceInfo struct { - types.DynamicData - - Version string `xml:"version"` - Namespace string `xml:"namespace"` - Info *PbmExtendedElementDescription `xml:"info,omitempty"` -} - -func init() { - types.Add("pbm:PbmCapabilityNamespaceInfo", reflect.TypeOf((*PbmCapabilityNamespaceInfo)(nil)).Elem()) -} - -type PbmCapabilityProfile struct { - PbmProfile - - ProfileCategory string `xml:"profileCategory"` - ResourceType PbmProfileResourceType `xml:"resourceType"` - Constraints BasePbmCapabilityConstraints `xml:"constraints,typeattr"` - GenerationId int64 `xml:"generationId,omitempty"` - IsDefault bool `xml:"isDefault"` - SystemCreatedProfileType string `xml:"systemCreatedProfileType,omitempty"` - LineOfService string `xml:"lineOfService,omitempty"` -} - -func init() { - types.Add("pbm:PbmCapabilityProfile", reflect.TypeOf((*PbmCapabilityProfile)(nil)).Elem()) -} - -type PbmCapabilityProfileCreateSpec struct { - types.DynamicData - - Name string `xml:"name"` - Description string `xml:"description,omitempty"` - Category string `xml:"category,omitempty"` - ResourceType PbmProfileResourceType `xml:"resourceType"` - Constraints BasePbmCapabilityConstraints `xml:"constraints,typeattr"` -} - -func init() { - types.Add("pbm:PbmCapabilityProfileCreateSpec", reflect.TypeOf((*PbmCapabilityProfileCreateSpec)(nil)).Elem()) -} - -type PbmCapabilityProfilePropertyMismatchFault struct { - PbmPropertyMismatchFault - - ResourcePropertyInstance PbmCapabilityPropertyInstance `xml:"resourcePropertyInstance"` -} - -func init() { - types.Add("pbm:PbmCapabilityProfilePropertyMismatchFault", reflect.TypeOf((*PbmCapabilityProfilePropertyMismatchFault)(nil)).Elem()) -} - -type PbmCapabilityProfilePropertyMismatchFaultFault BasePbmCapabilityProfilePropertyMismatchFault - -func init() { - types.Add("pbm:PbmCapabilityProfilePropertyMismatchFaultFault", reflect.TypeOf((*PbmCapabilityProfilePropertyMismatchFaultFault)(nil)).Elem()) -} - -type PbmCapabilityProfileUpdateSpec struct { - types.DynamicData - - Name string `xml:"name,omitempty"` - Description string `xml:"description,omitempty"` - Constraints BasePbmCapabilityConstraints `xml:"constraints,omitempty,typeattr"` -} - -func init() { - types.Add("pbm:PbmCapabilityProfileUpdateSpec", reflect.TypeOf((*PbmCapabilityProfileUpdateSpec)(nil)).Elem()) -} - -type PbmCapabilityPropertyInstance struct { - types.DynamicData - - Id string `xml:"id"` - Operator string `xml:"operator,omitempty"` - Value types.AnyType `xml:"value,typeattr"` -} - -func init() { - types.Add("pbm:PbmCapabilityPropertyInstance", reflect.TypeOf((*PbmCapabilityPropertyInstance)(nil)).Elem()) -} - -type PbmCapabilityPropertyMetadata struct { - types.DynamicData - - Id string `xml:"id"` - Summary PbmExtendedElementDescription `xml:"summary"` - Mandatory bool `xml:"mandatory"` - Type BasePbmCapabilityTypeInfo `xml:"type,omitempty,typeattr"` - DefaultValue types.AnyType `xml:"defaultValue,omitempty,typeattr"` - AllowedValue types.AnyType `xml:"allowedValue,omitempty,typeattr"` - RequirementsTypeHint string `xml:"requirementsTypeHint,omitempty"` -} - -func init() { - types.Add("pbm:PbmCapabilityPropertyMetadata", reflect.TypeOf((*PbmCapabilityPropertyMetadata)(nil)).Elem()) -} - -type PbmCapabilityRange struct { - types.DynamicData - - Min types.AnyType `xml:"min,typeattr"` - Max types.AnyType `xml:"max,typeattr"` -} - -func init() { - types.Add("pbm:PbmCapabilityRange", reflect.TypeOf((*PbmCapabilityRange)(nil)).Elem()) -} - -type PbmCapabilitySchema struct { - types.DynamicData - - VendorInfo PbmCapabilitySchemaVendorInfo `xml:"vendorInfo"` - NamespaceInfo PbmCapabilityNamespaceInfo `xml:"namespaceInfo"` - LineOfService BasePbmLineOfServiceInfo `xml:"lineOfService,omitempty,typeattr"` - CapabilityMetadataPerCategory []PbmCapabilityMetadataPerCategory `xml:"capabilityMetadataPerCategory"` -} - -func init() { - types.Add("pbm:PbmCapabilitySchema", reflect.TypeOf((*PbmCapabilitySchema)(nil)).Elem()) -} - -type PbmCapabilitySchemaVendorInfo struct { - types.DynamicData - - VendorUuid string `xml:"vendorUuid"` - Info PbmExtendedElementDescription `xml:"info"` -} - -func init() { - types.Add("pbm:PbmCapabilitySchemaVendorInfo", reflect.TypeOf((*PbmCapabilitySchemaVendorInfo)(nil)).Elem()) -} - -type PbmCapabilitySubProfile struct { - types.DynamicData - - Name string `xml:"name"` - Capability []PbmCapabilityInstance `xml:"capability"` - ForceProvision *bool `xml:"forceProvision"` -} - -func init() { - types.Add("pbm:PbmCapabilitySubProfile", reflect.TypeOf((*PbmCapabilitySubProfile)(nil)).Elem()) -} - -type PbmCapabilitySubProfileConstraints struct { - PbmCapabilityConstraints - - SubProfiles []PbmCapabilitySubProfile `xml:"subProfiles"` -} - -func init() { - types.Add("pbm:PbmCapabilitySubProfileConstraints", reflect.TypeOf((*PbmCapabilitySubProfileConstraints)(nil)).Elem()) -} - -type PbmCapabilityTimeSpan struct { - types.DynamicData - - Value int32 `xml:"value"` - Unit string `xml:"unit"` -} - -func init() { - types.Add("pbm:PbmCapabilityTimeSpan", reflect.TypeOf((*PbmCapabilityTimeSpan)(nil)).Elem()) -} - -type PbmCapabilityTypeInfo struct { - types.DynamicData - - TypeName string `xml:"typeName"` -} - -func init() { - types.Add("pbm:PbmCapabilityTypeInfo", reflect.TypeOf((*PbmCapabilityTypeInfo)(nil)).Elem()) -} - -type PbmCapabilityVendorNamespaceInfo struct { - types.DynamicData - - VendorInfo PbmCapabilitySchemaVendorInfo `xml:"vendorInfo"` - NamespaceInfo PbmCapabilityNamespaceInfo `xml:"namespaceInfo"` -} - -func init() { - types.Add("pbm:PbmCapabilityVendorNamespaceInfo", reflect.TypeOf((*PbmCapabilityVendorNamespaceInfo)(nil)).Elem()) -} - -type PbmCapabilityVendorResourceTypeInfo struct { - types.DynamicData - - ResourceType string `xml:"resourceType"` - VendorNamespaceInfo []PbmCapabilityVendorNamespaceInfo `xml:"vendorNamespaceInfo"` -} - -func init() { - types.Add("pbm:PbmCapabilityVendorResourceTypeInfo", reflect.TypeOf((*PbmCapabilityVendorResourceTypeInfo)(nil)).Elem()) -} - -type PbmCheckCompatibility PbmCheckCompatibilityRequestType - -func init() { - types.Add("pbm:PbmCheckCompatibility", reflect.TypeOf((*PbmCheckCompatibility)(nil)).Elem()) -} - -type PbmCheckCompatibilityRequestType struct { - This types.ManagedObjectReference `xml:"_this"` - HubsToSearch []PbmPlacementHub `xml:"hubsToSearch,omitempty"` - Profile PbmProfileId `xml:"profile"` -} - -func init() { - types.Add("pbm:PbmCheckCompatibilityRequestType", reflect.TypeOf((*PbmCheckCompatibilityRequestType)(nil)).Elem()) -} - -type PbmCheckCompatibilityResponse struct { - Returnval []PbmPlacementCompatibilityResult `xml:"returnval,omitempty"` -} - -type PbmCheckCompatibilityWithSpec PbmCheckCompatibilityWithSpecRequestType - -func init() { - types.Add("pbm:PbmCheckCompatibilityWithSpec", reflect.TypeOf((*PbmCheckCompatibilityWithSpec)(nil)).Elem()) -} - -type PbmCheckCompatibilityWithSpecRequestType struct { - This types.ManagedObjectReference `xml:"_this"` - HubsToSearch []PbmPlacementHub `xml:"hubsToSearch,omitempty"` - ProfileSpec PbmCapabilityProfileCreateSpec `xml:"profileSpec"` -} - -func init() { - types.Add("pbm:PbmCheckCompatibilityWithSpecRequestType", reflect.TypeOf((*PbmCheckCompatibilityWithSpecRequestType)(nil)).Elem()) -} - -type PbmCheckCompatibilityWithSpecResponse struct { - Returnval []PbmPlacementCompatibilityResult `xml:"returnval,omitempty"` -} - -type PbmCheckCompliance PbmCheckComplianceRequestType - -func init() { - types.Add("pbm:PbmCheckCompliance", reflect.TypeOf((*PbmCheckCompliance)(nil)).Elem()) -} - -type PbmCheckComplianceRequestType struct { - This types.ManagedObjectReference `xml:"_this"` - Entities []PbmServerObjectRef `xml:"entities"` - Profile *PbmProfileId `xml:"profile,omitempty"` -} - -func init() { - types.Add("pbm:PbmCheckComplianceRequestType", reflect.TypeOf((*PbmCheckComplianceRequestType)(nil)).Elem()) -} - -type PbmCheckComplianceResponse struct { - Returnval []PbmComplianceResult `xml:"returnval,omitempty"` -} - -type PbmCheckRequirements PbmCheckRequirementsRequestType - -func init() { - types.Add("pbm:PbmCheckRequirements", reflect.TypeOf((*PbmCheckRequirements)(nil)).Elem()) -} - -type PbmCheckRequirementsRequestType struct { - This types.ManagedObjectReference `xml:"_this"` - HubsToSearch []PbmPlacementHub `xml:"hubsToSearch,omitempty"` - PlacementSubjectRef *PbmServerObjectRef `xml:"placementSubjectRef,omitempty"` - PlacementSubjectRequirement []BasePbmPlacementRequirement `xml:"placementSubjectRequirement,omitempty,typeattr"` -} - -func init() { - types.Add("pbm:PbmCheckRequirementsRequestType", reflect.TypeOf((*PbmCheckRequirementsRequestType)(nil)).Elem()) -} - -type PbmCheckRequirementsResponse struct { - Returnval []PbmPlacementCompatibilityResult `xml:"returnval,omitempty"` -} - -type PbmCheckRollupCompliance PbmCheckRollupComplianceRequestType - -func init() { - types.Add("pbm:PbmCheckRollupCompliance", reflect.TypeOf((*PbmCheckRollupCompliance)(nil)).Elem()) -} - -type PbmCheckRollupComplianceRequestType struct { - This types.ManagedObjectReference `xml:"_this"` - Entity []PbmServerObjectRef `xml:"entity"` -} - -func init() { - types.Add("pbm:PbmCheckRollupComplianceRequestType", reflect.TypeOf((*PbmCheckRollupComplianceRequestType)(nil)).Elem()) -} - -type PbmCheckRollupComplianceResponse struct { - Returnval []PbmRollupComplianceResult `xml:"returnval,omitempty"` -} - -type PbmCompatibilityCheckFault struct { - PbmFault - - Hub PbmPlacementHub `xml:"hub"` -} - -func init() { - types.Add("pbm:PbmCompatibilityCheckFault", reflect.TypeOf((*PbmCompatibilityCheckFault)(nil)).Elem()) -} - -type PbmCompatibilityCheckFaultFault BasePbmCompatibilityCheckFault - -func init() { - types.Add("pbm:PbmCompatibilityCheckFaultFault", reflect.TypeOf((*PbmCompatibilityCheckFaultFault)(nil)).Elem()) -} - -type PbmComplianceOperationalStatus struct { - types.DynamicData - - Healthy *bool `xml:"healthy"` - OperationETA *time.Time `xml:"operationETA"` - OperationProgress int64 `xml:"operationProgress,omitempty"` - Transitional *bool `xml:"transitional"` -} - -func init() { - types.Add("pbm:PbmComplianceOperationalStatus", reflect.TypeOf((*PbmComplianceOperationalStatus)(nil)).Elem()) -} - -type PbmCompliancePolicyStatus struct { - types.DynamicData - - ExpectedValue PbmCapabilityInstance `xml:"expectedValue"` - CurrentValue *PbmCapabilityInstance `xml:"currentValue,omitempty"` -} - -func init() { - types.Add("pbm:PbmCompliancePolicyStatus", reflect.TypeOf((*PbmCompliancePolicyStatus)(nil)).Elem()) -} - -type PbmComplianceResult struct { - types.DynamicData - - CheckTime time.Time `xml:"checkTime"` - Entity PbmServerObjectRef `xml:"entity"` - Profile *PbmProfileId `xml:"profile,omitempty"` - ComplianceTaskStatus string `xml:"complianceTaskStatus,omitempty"` - ComplianceStatus string `xml:"complianceStatus"` - Mismatch bool `xml:"mismatch"` - ViolatedPolicies []PbmCompliancePolicyStatus `xml:"violatedPolicies,omitempty"` - ErrorCause []types.LocalizedMethodFault `xml:"errorCause,omitempty"` - OperationalStatus *PbmComplianceOperationalStatus `xml:"operationalStatus,omitempty"` - Info *PbmExtendedElementDescription `xml:"info,omitempty"` -} - -func init() { - types.Add("pbm:PbmComplianceResult", reflect.TypeOf((*PbmComplianceResult)(nil)).Elem()) -} - -type PbmCreate PbmCreateRequestType - -func init() { - types.Add("pbm:PbmCreate", reflect.TypeOf((*PbmCreate)(nil)).Elem()) -} - -type PbmCreateRequestType struct { - This types.ManagedObjectReference `xml:"_this"` - CreateSpec PbmCapabilityProfileCreateSpec `xml:"createSpec"` -} - -func init() { - types.Add("pbm:PbmCreateRequestType", reflect.TypeOf((*PbmCreateRequestType)(nil)).Elem()) -} - -type PbmCreateResponse struct { - Returnval PbmProfileId `xml:"returnval"` -} - -type PbmDataServiceToPoliciesMap struct { - types.DynamicData - - DataServicePolicy PbmProfileId `xml:"dataServicePolicy"` - ParentStoragePolicies []PbmProfileId `xml:"parentStoragePolicies,omitempty"` - Fault *types.LocalizedMethodFault `xml:"fault,omitempty"` -} - -func init() { - types.Add("pbm:PbmDataServiceToPoliciesMap", reflect.TypeOf((*PbmDataServiceToPoliciesMap)(nil)).Elem()) -} - -type PbmDatastoreSpaceStatistics struct { - types.DynamicData - - ProfileId string `xml:"profileId,omitempty"` - PhysicalTotalInMB int64 `xml:"physicalTotalInMB"` - PhysicalFreeInMB int64 `xml:"physicalFreeInMB"` - PhysicalUsedInMB int64 `xml:"physicalUsedInMB"` - LogicalLimitInMB int64 `xml:"logicalLimitInMB,omitempty"` - LogicalFreeInMB int64 `xml:"logicalFreeInMB"` - LogicalUsedInMB int64 `xml:"logicalUsedInMB"` -} - -func init() { - types.Add("pbm:PbmDatastoreSpaceStatistics", reflect.TypeOf((*PbmDatastoreSpaceStatistics)(nil)).Elem()) -} - -type PbmDefaultCapabilityProfile struct { - PbmCapabilityProfile - - VvolType []string `xml:"vvolType"` - ContainerId string `xml:"containerId"` -} - -func init() { - types.Add("pbm:PbmDefaultCapabilityProfile", reflect.TypeOf((*PbmDefaultCapabilityProfile)(nil)).Elem()) -} - -type PbmDefaultProfileAppliesFault struct { - PbmCompatibilityCheckFault -} - -func init() { - types.Add("pbm:PbmDefaultProfileAppliesFault", reflect.TypeOf((*PbmDefaultProfileAppliesFault)(nil)).Elem()) -} - -type PbmDefaultProfileAppliesFaultFault PbmDefaultProfileAppliesFault - -func init() { - types.Add("pbm:PbmDefaultProfileAppliesFaultFault", reflect.TypeOf((*PbmDefaultProfileAppliesFaultFault)(nil)).Elem()) -} - -type PbmDefaultProfileInfo struct { - types.DynamicData - - Datastores []PbmPlacementHub `xml:"datastores"` - DefaultProfile BasePbmProfile `xml:"defaultProfile,omitempty,typeattr"` -} - -func init() { - types.Add("pbm:PbmDefaultProfileInfo", reflect.TypeOf((*PbmDefaultProfileInfo)(nil)).Elem()) -} - -type PbmDelete PbmDeleteRequestType - -func init() { - types.Add("pbm:PbmDelete", reflect.TypeOf((*PbmDelete)(nil)).Elem()) -} - -type PbmDeleteRequestType struct { - This types.ManagedObjectReference `xml:"_this"` - ProfileId []PbmProfileId `xml:"profileId"` -} - -func init() { - types.Add("pbm:PbmDeleteRequestType", reflect.TypeOf((*PbmDeleteRequestType)(nil)).Elem()) -} - -type PbmDeleteResponse struct { - Returnval []PbmProfileOperationOutcome `xml:"returnval,omitempty"` -} - -type PbmDuplicateName struct { - PbmFault - - Name string `xml:"name"` -} - -func init() { - types.Add("pbm:PbmDuplicateName", reflect.TypeOf((*PbmDuplicateName)(nil)).Elem()) -} - -type PbmDuplicateNameFault PbmDuplicateName - -func init() { - types.Add("pbm:PbmDuplicateNameFault", reflect.TypeOf((*PbmDuplicateNameFault)(nil)).Elem()) -} - -type PbmExtendedElementDescription struct { - types.DynamicData - - Label string `xml:"label"` - Summary string `xml:"summary"` - Key string `xml:"key"` - MessageCatalogKeyPrefix string `xml:"messageCatalogKeyPrefix"` - MessageArg []types.KeyAnyValue `xml:"messageArg,omitempty"` -} - -func init() { - types.Add("pbm:PbmExtendedElementDescription", reflect.TypeOf((*PbmExtendedElementDescription)(nil)).Elem()) -} - -type PbmFault struct { - types.MethodFault -} - -func init() { - types.Add("pbm:PbmFault", reflect.TypeOf((*PbmFault)(nil)).Elem()) -} - -type PbmFaultFault BasePbmFault - -func init() { - types.Add("pbm:PbmFaultFault", reflect.TypeOf((*PbmFaultFault)(nil)).Elem()) -} - -type PbmFaultInvalidLogin struct { - PbmFault -} - -func init() { - types.Add("pbm:PbmFaultInvalidLogin", reflect.TypeOf((*PbmFaultInvalidLogin)(nil)).Elem()) -} - -type PbmFaultInvalidLoginFault PbmFaultInvalidLogin - -func init() { - types.Add("pbm:PbmFaultInvalidLoginFault", reflect.TypeOf((*PbmFaultInvalidLoginFault)(nil)).Elem()) -} - -type PbmFaultNoPermissionEntityPrivileges struct { - types.DynamicData - - ProfileId *PbmProfileId `xml:"profileId,omitempty"` - PrivilegeIds []string `xml:"privilegeIds,omitempty"` -} - -func init() { - types.Add("pbm:PbmFaultNoPermissionEntityPrivileges", reflect.TypeOf((*PbmFaultNoPermissionEntityPrivileges)(nil)).Elem()) -} - -type PbmFaultNotFound struct { - PbmFault -} - -func init() { - types.Add("pbm:PbmFaultNotFound", reflect.TypeOf((*PbmFaultNotFound)(nil)).Elem()) -} - -type PbmFaultNotFoundFault PbmFaultNotFound - -func init() { - types.Add("pbm:PbmFaultNotFoundFault", reflect.TypeOf((*PbmFaultNotFoundFault)(nil)).Elem()) -} - -type PbmFaultProfileStorageFault struct { - PbmFault -} - -func init() { - types.Add("pbm:PbmFaultProfileStorageFault", reflect.TypeOf((*PbmFaultProfileStorageFault)(nil)).Elem()) -} - -type PbmFaultProfileStorageFaultFault PbmFaultProfileStorageFault - -func init() { - types.Add("pbm:PbmFaultProfileStorageFaultFault", reflect.TypeOf((*PbmFaultProfileStorageFaultFault)(nil)).Elem()) -} - -type PbmFetchCapabilityMetadata PbmFetchCapabilityMetadataRequestType - -func init() { - types.Add("pbm:PbmFetchCapabilityMetadata", reflect.TypeOf((*PbmFetchCapabilityMetadata)(nil)).Elem()) -} - -type PbmFetchCapabilityMetadataRequestType struct { - This types.ManagedObjectReference `xml:"_this"` - ResourceType *PbmProfileResourceType `xml:"resourceType,omitempty"` - VendorUuid string `xml:"vendorUuid,omitempty"` -} - -func init() { - types.Add("pbm:PbmFetchCapabilityMetadataRequestType", reflect.TypeOf((*PbmFetchCapabilityMetadataRequestType)(nil)).Elem()) -} - -type PbmFetchCapabilityMetadataResponse struct { - Returnval []PbmCapabilityMetadataPerCategory `xml:"returnval,omitempty"` -} - -type PbmFetchCapabilitySchema PbmFetchCapabilitySchemaRequestType - -func init() { - types.Add("pbm:PbmFetchCapabilitySchema", reflect.TypeOf((*PbmFetchCapabilitySchema)(nil)).Elem()) -} - -type PbmFetchCapabilitySchemaRequestType struct { - This types.ManagedObjectReference `xml:"_this"` - VendorUuid string `xml:"vendorUuid,omitempty"` - LineOfService []string `xml:"lineOfService,omitempty"` -} - -func init() { - types.Add("pbm:PbmFetchCapabilitySchemaRequestType", reflect.TypeOf((*PbmFetchCapabilitySchemaRequestType)(nil)).Elem()) -} - -type PbmFetchCapabilitySchemaResponse struct { - Returnval []PbmCapabilitySchema `xml:"returnval,omitempty"` -} - -type PbmFetchComplianceResult PbmFetchComplianceResultRequestType - -func init() { - types.Add("pbm:PbmFetchComplianceResult", reflect.TypeOf((*PbmFetchComplianceResult)(nil)).Elem()) -} - -type PbmFetchComplianceResultRequestType struct { - This types.ManagedObjectReference `xml:"_this"` - Entities []PbmServerObjectRef `xml:"entities"` - Profile *PbmProfileId `xml:"profile,omitempty"` -} - -func init() { - types.Add("pbm:PbmFetchComplianceResultRequestType", reflect.TypeOf((*PbmFetchComplianceResultRequestType)(nil)).Elem()) -} - -type PbmFetchComplianceResultResponse struct { - Returnval []PbmComplianceResult `xml:"returnval,omitempty"` -} - -type PbmFetchEntityHealthStatusSpec struct { - types.DynamicData - - ObjectRef PbmServerObjectRef `xml:"objectRef"` - BackingId string `xml:"backingId,omitempty"` -} - -func init() { - types.Add("pbm:PbmFetchEntityHealthStatusSpec", reflect.TypeOf((*PbmFetchEntityHealthStatusSpec)(nil)).Elem()) -} - -type PbmFetchResourceType PbmFetchResourceTypeRequestType - -func init() { - types.Add("pbm:PbmFetchResourceType", reflect.TypeOf((*PbmFetchResourceType)(nil)).Elem()) -} - -type PbmFetchResourceTypeRequestType struct { - This types.ManagedObjectReference `xml:"_this"` -} - -func init() { - types.Add("pbm:PbmFetchResourceTypeRequestType", reflect.TypeOf((*PbmFetchResourceTypeRequestType)(nil)).Elem()) -} - -type PbmFetchResourceTypeResponse struct { - Returnval []PbmProfileResourceType `xml:"returnval,omitempty"` -} - -type PbmFetchRollupComplianceResult PbmFetchRollupComplianceResultRequestType - -func init() { - types.Add("pbm:PbmFetchRollupComplianceResult", reflect.TypeOf((*PbmFetchRollupComplianceResult)(nil)).Elem()) -} - -type PbmFetchRollupComplianceResultRequestType struct { - This types.ManagedObjectReference `xml:"_this"` - Entity []PbmServerObjectRef `xml:"entity"` -} - -func init() { - types.Add("pbm:PbmFetchRollupComplianceResultRequestType", reflect.TypeOf((*PbmFetchRollupComplianceResultRequestType)(nil)).Elem()) -} - -type PbmFetchRollupComplianceResultResponse struct { - Returnval []PbmRollupComplianceResult `xml:"returnval,omitempty"` -} - -type PbmFetchVendorInfo PbmFetchVendorInfoRequestType - -func init() { - types.Add("pbm:PbmFetchVendorInfo", reflect.TypeOf((*PbmFetchVendorInfo)(nil)).Elem()) -} - -type PbmFetchVendorInfoRequestType struct { - This types.ManagedObjectReference `xml:"_this"` - ResourceType *PbmProfileResourceType `xml:"resourceType,omitempty"` -} - -func init() { - types.Add("pbm:PbmFetchVendorInfoRequestType", reflect.TypeOf((*PbmFetchVendorInfoRequestType)(nil)).Elem()) -} - -type PbmFetchVendorInfoResponse struct { - Returnval []PbmCapabilityVendorResourceTypeInfo `xml:"returnval,omitempty"` -} - -type PbmFindApplicableDefaultProfile PbmFindApplicableDefaultProfileRequestType - -func init() { - types.Add("pbm:PbmFindApplicableDefaultProfile", reflect.TypeOf((*PbmFindApplicableDefaultProfile)(nil)).Elem()) -} - -type PbmFindApplicableDefaultProfileRequestType struct { - This types.ManagedObjectReference `xml:"_this"` - Datastores []PbmPlacementHub `xml:"datastores"` -} - -func init() { - types.Add("pbm:PbmFindApplicableDefaultProfileRequestType", reflect.TypeOf((*PbmFindApplicableDefaultProfileRequestType)(nil)).Elem()) -} - -type PbmFindApplicableDefaultProfileResponse struct { - Returnval []BasePbmProfile `xml:"returnval,omitempty,typeattr"` -} - -type PbmIncompatibleVendorSpecificRuleSet struct { - PbmCapabilityProfilePropertyMismatchFault -} - -func init() { - types.Add("pbm:PbmIncompatibleVendorSpecificRuleSet", reflect.TypeOf((*PbmIncompatibleVendorSpecificRuleSet)(nil)).Elem()) -} - -type PbmIncompatibleVendorSpecificRuleSetFault PbmIncompatibleVendorSpecificRuleSet - -func init() { - types.Add("pbm:PbmIncompatibleVendorSpecificRuleSetFault", reflect.TypeOf((*PbmIncompatibleVendorSpecificRuleSetFault)(nil)).Elem()) -} - -type PbmLegacyHubsNotSupported struct { - PbmFault - - Hubs []PbmPlacementHub `xml:"hubs"` -} - -func init() { - types.Add("pbm:PbmLegacyHubsNotSupported", reflect.TypeOf((*PbmLegacyHubsNotSupported)(nil)).Elem()) -} - -type PbmLegacyHubsNotSupportedFault PbmLegacyHubsNotSupported - -func init() { - types.Add("pbm:PbmLegacyHubsNotSupportedFault", reflect.TypeOf((*PbmLegacyHubsNotSupportedFault)(nil)).Elem()) -} - -type PbmLineOfServiceInfo struct { - types.DynamicData - - LineOfService string `xml:"lineOfService"` - Name PbmExtendedElementDescription `xml:"name"` - Description *PbmExtendedElementDescription `xml:"description,omitempty"` -} - -func init() { - types.Add("pbm:PbmLineOfServiceInfo", reflect.TypeOf((*PbmLineOfServiceInfo)(nil)).Elem()) -} - -type PbmLoggingConfiguration struct { - types.DynamicData - - Component string `xml:"component"` - LogLevel string `xml:"logLevel"` -} - -func init() { - types.Add("pbm:PbmLoggingConfiguration", reflect.TypeOf((*PbmLoggingConfiguration)(nil)).Elem()) -} - -type PbmNonExistentHubs struct { - PbmFault - - Hubs []PbmPlacementHub `xml:"hubs"` -} - -func init() { - types.Add("pbm:PbmNonExistentHubs", reflect.TypeOf((*PbmNonExistentHubs)(nil)).Elem()) -} - -type PbmNonExistentHubsFault PbmNonExistentHubs - -func init() { - types.Add("pbm:PbmNonExistentHubsFault", reflect.TypeOf((*PbmNonExistentHubsFault)(nil)).Elem()) -} - -type PbmPersistenceBasedDataServiceInfo struct { - PbmLineOfServiceInfo - - CompatiblePersistenceSchemaNamespace []string `xml:"compatiblePersistenceSchemaNamespace,omitempty"` -} - -func init() { - types.Add("pbm:PbmPersistenceBasedDataServiceInfo", reflect.TypeOf((*PbmPersistenceBasedDataServiceInfo)(nil)).Elem()) -} - -type PbmPlacementCapabilityConstraintsRequirement struct { - PbmPlacementRequirement - - Constraints BasePbmCapabilityConstraints `xml:"constraints,typeattr"` -} - -func init() { - types.Add("pbm:PbmPlacementCapabilityConstraintsRequirement", reflect.TypeOf((*PbmPlacementCapabilityConstraintsRequirement)(nil)).Elem()) -} - -type PbmPlacementCapabilityProfileRequirement struct { - PbmPlacementRequirement - - ProfileId PbmProfileId `xml:"profileId"` -} - -func init() { - types.Add("pbm:PbmPlacementCapabilityProfileRequirement", reflect.TypeOf((*PbmPlacementCapabilityProfileRequirement)(nil)).Elem()) -} - -type PbmPlacementCompatibilityResult struct { - types.DynamicData - - Hub PbmPlacementHub `xml:"hub"` - MatchingResources []BasePbmPlacementMatchingResources `xml:"matchingResources,omitempty,typeattr"` - HowMany int64 `xml:"howMany,omitempty"` - Utilization []PbmPlacementResourceUtilization `xml:"utilization,omitempty"` - Warning []types.LocalizedMethodFault `xml:"warning,omitempty"` - Error []types.LocalizedMethodFault `xml:"error,omitempty"` -} - -func init() { - types.Add("pbm:PbmPlacementCompatibilityResult", reflect.TypeOf((*PbmPlacementCompatibilityResult)(nil)).Elem()) -} - -type PbmPlacementHub struct { - types.DynamicData - - HubType string `xml:"hubType"` - HubId string `xml:"hubId"` -} - -func init() { - types.Add("pbm:PbmPlacementHub", reflect.TypeOf((*PbmPlacementHub)(nil)).Elem()) -} - -type PbmPlacementMatchingReplicationResources struct { - PbmPlacementMatchingResources - - ReplicationGroup []types.ReplicationGroupId `xml:"replicationGroup,omitempty"` -} - -func init() { - types.Add("pbm:PbmPlacementMatchingReplicationResources", reflect.TypeOf((*PbmPlacementMatchingReplicationResources)(nil)).Elem()) -} - -type PbmPlacementMatchingResources struct { - types.DynamicData -} - -func init() { - types.Add("pbm:PbmPlacementMatchingResources", reflect.TypeOf((*PbmPlacementMatchingResources)(nil)).Elem()) -} - -type PbmPlacementRequirement struct { - types.DynamicData -} - -func init() { - types.Add("pbm:PbmPlacementRequirement", reflect.TypeOf((*PbmPlacementRequirement)(nil)).Elem()) -} - -type PbmPlacementResourceUtilization struct { - types.DynamicData - - Name PbmExtendedElementDescription `xml:"name"` - Description PbmExtendedElementDescription `xml:"description"` - AvailableBefore int64 `xml:"availableBefore,omitempty"` - AvailableAfter int64 `xml:"availableAfter,omitempty"` - Total int64 `xml:"total,omitempty"` -} - -func init() { - types.Add("pbm:PbmPlacementResourceUtilization", reflect.TypeOf((*PbmPlacementResourceUtilization)(nil)).Elem()) -} - -type PbmProfile struct { - types.DynamicData - - ProfileId PbmProfileId `xml:"profileId"` - Name string `xml:"name"` - Description string `xml:"description,omitempty"` - CreationTime time.Time `xml:"creationTime"` - CreatedBy string `xml:"createdBy"` - LastUpdatedTime time.Time `xml:"lastUpdatedTime"` - LastUpdatedBy string `xml:"lastUpdatedBy"` -} - -func init() { - types.Add("pbm:PbmProfile", reflect.TypeOf((*PbmProfile)(nil)).Elem()) -} - -type PbmProfileId struct { - types.DynamicData - - UniqueId string `xml:"uniqueId"` -} - -func init() { - types.Add("pbm:PbmProfileId", reflect.TypeOf((*PbmProfileId)(nil)).Elem()) -} - -type PbmProfileOperationOutcome struct { - types.DynamicData - - ProfileId PbmProfileId `xml:"profileId"` - Fault *types.LocalizedMethodFault `xml:"fault,omitempty"` -} - -func init() { - types.Add("pbm:PbmProfileOperationOutcome", reflect.TypeOf((*PbmProfileOperationOutcome)(nil)).Elem()) -} - -type PbmProfileResourceType struct { - types.DynamicData - - ResourceType string `xml:"resourceType"` -} - -func init() { - types.Add("pbm:PbmProfileResourceType", reflect.TypeOf((*PbmProfileResourceType)(nil)).Elem()) -} - -type PbmProfileType struct { - types.DynamicData - - UniqueId string `xml:"uniqueId"` -} - -func init() { - types.Add("pbm:PbmProfileType", reflect.TypeOf((*PbmProfileType)(nil)).Elem()) -} - -type PbmPropertyMismatchFault struct { - PbmCompatibilityCheckFault - - CapabilityInstanceId PbmCapabilityMetadataUniqueId `xml:"capabilityInstanceId"` - RequirementPropertyInstance PbmCapabilityPropertyInstance `xml:"requirementPropertyInstance"` -} - -func init() { - types.Add("pbm:PbmPropertyMismatchFault", reflect.TypeOf((*PbmPropertyMismatchFault)(nil)).Elem()) -} - -type PbmPropertyMismatchFaultFault BasePbmPropertyMismatchFault - -func init() { - types.Add("pbm:PbmPropertyMismatchFaultFault", reflect.TypeOf((*PbmPropertyMismatchFaultFault)(nil)).Elem()) -} - -type PbmQueryAssociatedEntities PbmQueryAssociatedEntitiesRequestType - -func init() { - types.Add("pbm:PbmQueryAssociatedEntities", reflect.TypeOf((*PbmQueryAssociatedEntities)(nil)).Elem()) -} - -type PbmQueryAssociatedEntitiesRequestType struct { - This types.ManagedObjectReference `xml:"_this"` - Profiles []PbmProfileId `xml:"profiles,omitempty"` -} - -func init() { - types.Add("pbm:PbmQueryAssociatedEntitiesRequestType", reflect.TypeOf((*PbmQueryAssociatedEntitiesRequestType)(nil)).Elem()) -} - -type PbmQueryAssociatedEntitiesResponse struct { - Returnval []PbmQueryProfileResult `xml:"returnval,omitempty"` -} - -type PbmQueryAssociatedEntity PbmQueryAssociatedEntityRequestType - -func init() { - types.Add("pbm:PbmQueryAssociatedEntity", reflect.TypeOf((*PbmQueryAssociatedEntity)(nil)).Elem()) -} - -type PbmQueryAssociatedEntityRequestType struct { - This types.ManagedObjectReference `xml:"_this"` - Profile PbmProfileId `xml:"profile"` - EntityType string `xml:"entityType,omitempty"` -} - -func init() { - types.Add("pbm:PbmQueryAssociatedEntityRequestType", reflect.TypeOf((*PbmQueryAssociatedEntityRequestType)(nil)).Elem()) -} - -type PbmQueryAssociatedEntityResponse struct { - Returnval []PbmServerObjectRef `xml:"returnval,omitempty"` -} - -type PbmQueryAssociatedProfile PbmQueryAssociatedProfileRequestType - -func init() { - types.Add("pbm:PbmQueryAssociatedProfile", reflect.TypeOf((*PbmQueryAssociatedProfile)(nil)).Elem()) -} - -type PbmQueryAssociatedProfileRequestType struct { - This types.ManagedObjectReference `xml:"_this"` - Entity PbmServerObjectRef `xml:"entity"` -} - -func init() { - types.Add("pbm:PbmQueryAssociatedProfileRequestType", reflect.TypeOf((*PbmQueryAssociatedProfileRequestType)(nil)).Elem()) -} - -type PbmQueryAssociatedProfileResponse struct { - Returnval []PbmProfileId `xml:"returnval,omitempty"` -} - -type PbmQueryAssociatedProfiles PbmQueryAssociatedProfilesRequestType - -func init() { - types.Add("pbm:PbmQueryAssociatedProfiles", reflect.TypeOf((*PbmQueryAssociatedProfiles)(nil)).Elem()) -} - -type PbmQueryAssociatedProfilesRequestType struct { - This types.ManagedObjectReference `xml:"_this"` - Entities []PbmServerObjectRef `xml:"entities"` -} - -func init() { - types.Add("pbm:PbmQueryAssociatedProfilesRequestType", reflect.TypeOf((*PbmQueryAssociatedProfilesRequestType)(nil)).Elem()) -} - -type PbmQueryAssociatedProfilesResponse struct { - Returnval []PbmQueryProfileResult `xml:"returnval,omitempty"` -} - -type PbmQueryByRollupComplianceStatus PbmQueryByRollupComplianceStatusRequestType - -func init() { - types.Add("pbm:PbmQueryByRollupComplianceStatus", reflect.TypeOf((*PbmQueryByRollupComplianceStatus)(nil)).Elem()) -} - -type PbmQueryByRollupComplianceStatusRequestType struct { - This types.ManagedObjectReference `xml:"_this"` - Status string `xml:"status"` -} - -func init() { - types.Add("pbm:PbmQueryByRollupComplianceStatusRequestType", reflect.TypeOf((*PbmQueryByRollupComplianceStatusRequestType)(nil)).Elem()) -} - -type PbmQueryByRollupComplianceStatusResponse struct { - Returnval []PbmServerObjectRef `xml:"returnval,omitempty"` -} - -type PbmQueryDefaultRequirementProfile PbmQueryDefaultRequirementProfileRequestType - -func init() { - types.Add("pbm:PbmQueryDefaultRequirementProfile", reflect.TypeOf((*PbmQueryDefaultRequirementProfile)(nil)).Elem()) -} - -type PbmQueryDefaultRequirementProfileRequestType struct { - This types.ManagedObjectReference `xml:"_this"` - Hub PbmPlacementHub `xml:"hub"` -} - -func init() { - types.Add("pbm:PbmQueryDefaultRequirementProfileRequestType", reflect.TypeOf((*PbmQueryDefaultRequirementProfileRequestType)(nil)).Elem()) -} - -type PbmQueryDefaultRequirementProfileResponse struct { - Returnval *PbmProfileId `xml:"returnval,omitempty"` -} - -type PbmQueryDefaultRequirementProfiles PbmQueryDefaultRequirementProfilesRequestType - -func init() { - types.Add("pbm:PbmQueryDefaultRequirementProfiles", reflect.TypeOf((*PbmQueryDefaultRequirementProfiles)(nil)).Elem()) -} - -type PbmQueryDefaultRequirementProfilesRequestType struct { - This types.ManagedObjectReference `xml:"_this"` - Datastores []PbmPlacementHub `xml:"datastores"` -} - -func init() { - types.Add("pbm:PbmQueryDefaultRequirementProfilesRequestType", reflect.TypeOf((*PbmQueryDefaultRequirementProfilesRequestType)(nil)).Elem()) -} - -type PbmQueryDefaultRequirementProfilesResponse struct { - Returnval []PbmDefaultProfileInfo `xml:"returnval"` -} - -type PbmQueryMatchingHub PbmQueryMatchingHubRequestType - -func init() { - types.Add("pbm:PbmQueryMatchingHub", reflect.TypeOf((*PbmQueryMatchingHub)(nil)).Elem()) -} - -type PbmQueryMatchingHubRequestType struct { - This types.ManagedObjectReference `xml:"_this"` - HubsToSearch []PbmPlacementHub `xml:"hubsToSearch,omitempty"` - Profile PbmProfileId `xml:"profile"` -} - -func init() { - types.Add("pbm:PbmQueryMatchingHubRequestType", reflect.TypeOf((*PbmQueryMatchingHubRequestType)(nil)).Elem()) -} - -type PbmQueryMatchingHubResponse struct { - Returnval []PbmPlacementHub `xml:"returnval,omitempty"` -} - -type PbmQueryMatchingHubWithSpec PbmQueryMatchingHubWithSpecRequestType - -func init() { - types.Add("pbm:PbmQueryMatchingHubWithSpec", reflect.TypeOf((*PbmQueryMatchingHubWithSpec)(nil)).Elem()) -} - -type PbmQueryMatchingHubWithSpecRequestType struct { - This types.ManagedObjectReference `xml:"_this"` - HubsToSearch []PbmPlacementHub `xml:"hubsToSearch,omitempty"` - CreateSpec PbmCapabilityProfileCreateSpec `xml:"createSpec"` -} - -func init() { - types.Add("pbm:PbmQueryMatchingHubWithSpecRequestType", reflect.TypeOf((*PbmQueryMatchingHubWithSpecRequestType)(nil)).Elem()) -} - -type PbmQueryMatchingHubWithSpecResponse struct { - Returnval []PbmPlacementHub `xml:"returnval,omitempty"` -} - -type PbmQueryProfile PbmQueryProfileRequestType - -func init() { - types.Add("pbm:PbmQueryProfile", reflect.TypeOf((*PbmQueryProfile)(nil)).Elem()) -} - -type PbmQueryProfileRequestType struct { - This types.ManagedObjectReference `xml:"_this"` - ResourceType PbmProfileResourceType `xml:"resourceType"` - ProfileCategory string `xml:"profileCategory,omitempty"` -} - -func init() { - types.Add("pbm:PbmQueryProfileRequestType", reflect.TypeOf((*PbmQueryProfileRequestType)(nil)).Elem()) -} - -type PbmQueryProfileResponse struct { - Returnval []PbmProfileId `xml:"returnval,omitempty"` -} - -type PbmQueryProfileResult struct { - types.DynamicData - - Object PbmServerObjectRef `xml:"object"` - ProfileId []PbmProfileId `xml:"profileId,omitempty"` - Fault *types.LocalizedMethodFault `xml:"fault,omitempty"` -} - -func init() { - types.Add("pbm:PbmQueryProfileResult", reflect.TypeOf((*PbmQueryProfileResult)(nil)).Elem()) -} - -type PbmQueryReplicationGroupResult struct { - types.DynamicData - - Object PbmServerObjectRef `xml:"object"` - ReplicationGroupId *types.ReplicationGroupId `xml:"replicationGroupId,omitempty"` - Fault *types.LocalizedMethodFault `xml:"fault,omitempty"` -} - -func init() { - types.Add("pbm:PbmQueryReplicationGroupResult", reflect.TypeOf((*PbmQueryReplicationGroupResult)(nil)).Elem()) -} - -type PbmQueryReplicationGroups PbmQueryReplicationGroupsRequestType - -func init() { - types.Add("pbm:PbmQueryReplicationGroups", reflect.TypeOf((*PbmQueryReplicationGroups)(nil)).Elem()) -} - -type PbmQueryReplicationGroupsRequestType struct { - This types.ManagedObjectReference `xml:"_this"` - Entities []PbmServerObjectRef `xml:"entities,omitempty"` -} - -func init() { - types.Add("pbm:PbmQueryReplicationGroupsRequestType", reflect.TypeOf((*PbmQueryReplicationGroupsRequestType)(nil)).Elem()) -} - -type PbmQueryReplicationGroupsResponse struct { - Returnval []PbmQueryReplicationGroupResult `xml:"returnval,omitempty"` -} - -type PbmQuerySpaceStatsForStorageContainer PbmQuerySpaceStatsForStorageContainerRequestType - -func init() { - types.Add("pbm:PbmQuerySpaceStatsForStorageContainer", reflect.TypeOf((*PbmQuerySpaceStatsForStorageContainer)(nil)).Elem()) -} - -type PbmQuerySpaceStatsForStorageContainerRequestType struct { - This types.ManagedObjectReference `xml:"_this"` - Datastore PbmServerObjectRef `xml:"datastore"` - CapabilityProfileId []PbmProfileId `xml:"capabilityProfileId,omitempty"` -} - -func init() { - types.Add("pbm:PbmQuerySpaceStatsForStorageContainerRequestType", reflect.TypeOf((*PbmQuerySpaceStatsForStorageContainerRequestType)(nil)).Elem()) -} - -type PbmQuerySpaceStatsForStorageContainerResponse struct { - Returnval []PbmDatastoreSpaceStatistics `xml:"returnval,omitempty"` -} - -type PbmResetDefaultRequirementProfile PbmResetDefaultRequirementProfileRequestType - -func init() { - types.Add("pbm:PbmResetDefaultRequirementProfile", reflect.TypeOf((*PbmResetDefaultRequirementProfile)(nil)).Elem()) -} - -type PbmResetDefaultRequirementProfileRequestType struct { - This types.ManagedObjectReference `xml:"_this"` - Profile *PbmProfileId `xml:"profile,omitempty"` -} - -func init() { - types.Add("pbm:PbmResetDefaultRequirementProfileRequestType", reflect.TypeOf((*PbmResetDefaultRequirementProfileRequestType)(nil)).Elem()) -} - -type PbmResetDefaultRequirementProfileResponse struct { -} - -type PbmResetVSanDefaultProfile PbmResetVSanDefaultProfileRequestType - -func init() { - types.Add("pbm:PbmResetVSanDefaultProfile", reflect.TypeOf((*PbmResetVSanDefaultProfile)(nil)).Elem()) -} - -type PbmResetVSanDefaultProfileRequestType struct { - This types.ManagedObjectReference `xml:"_this"` -} - -func init() { - types.Add("pbm:PbmResetVSanDefaultProfileRequestType", reflect.TypeOf((*PbmResetVSanDefaultProfileRequestType)(nil)).Elem()) -} - -type PbmResetVSanDefaultProfileResponse struct { -} - -type PbmResourceInUse struct { - PbmFault - - Type string `xml:"type,omitempty"` - Name string `xml:"name,omitempty"` -} - -func init() { - types.Add("pbm:PbmResourceInUse", reflect.TypeOf((*PbmResourceInUse)(nil)).Elem()) -} - -type PbmResourceInUseFault PbmResourceInUse - -func init() { - types.Add("pbm:PbmResourceInUseFault", reflect.TypeOf((*PbmResourceInUseFault)(nil)).Elem()) -} - -type PbmRetrieveContent PbmRetrieveContentRequestType - -func init() { - types.Add("pbm:PbmRetrieveContent", reflect.TypeOf((*PbmRetrieveContent)(nil)).Elem()) -} - -type PbmRetrieveContentRequestType struct { - This types.ManagedObjectReference `xml:"_this"` - ProfileIds []PbmProfileId `xml:"profileIds"` -} - -func init() { - types.Add("pbm:PbmRetrieveContentRequestType", reflect.TypeOf((*PbmRetrieveContentRequestType)(nil)).Elem()) -} - -type PbmRetrieveContentResponse struct { - Returnval []BasePbmProfile `xml:"returnval,typeattr"` -} - -type PbmRetrieveServiceContent PbmRetrieveServiceContentRequestType - -func init() { - types.Add("pbm:PbmRetrieveServiceContent", reflect.TypeOf((*PbmRetrieveServiceContent)(nil)).Elem()) -} - -type PbmRetrieveServiceContentRequestType struct { - This types.ManagedObjectReference `xml:"_this"` -} - -func init() { - types.Add("pbm:PbmRetrieveServiceContentRequestType", reflect.TypeOf((*PbmRetrieveServiceContentRequestType)(nil)).Elem()) -} - -type PbmRetrieveServiceContentResponse struct { - Returnval PbmServiceInstanceContent `xml:"returnval"` -} - -type PbmRollupComplianceResult struct { - types.DynamicData - - OldestCheckTime time.Time `xml:"oldestCheckTime"` - Entity PbmServerObjectRef `xml:"entity"` - OverallComplianceStatus string `xml:"overallComplianceStatus"` - OverallComplianceTaskStatus string `xml:"overallComplianceTaskStatus,omitempty"` - Result []PbmComplianceResult `xml:"result,omitempty"` - ErrorCause []types.LocalizedMethodFault `xml:"errorCause,omitempty"` - ProfileMismatch bool `xml:"profileMismatch"` -} - -func init() { - types.Add("pbm:PbmRollupComplianceResult", reflect.TypeOf((*PbmRollupComplianceResult)(nil)).Elem()) -} - -type PbmServerObjectRef struct { - types.DynamicData - - ObjectType string `xml:"objectType"` - Key string `xml:"key"` - ServerUuid string `xml:"serverUuid,omitempty"` -} - -func init() { - types.Add("pbm:PbmServerObjectRef", reflect.TypeOf((*PbmServerObjectRef)(nil)).Elem()) -} - -type PbmServiceInstanceContent struct { - types.DynamicData - - AboutInfo PbmAboutInfo `xml:"aboutInfo"` - SessionManager types.ManagedObjectReference `xml:"sessionManager"` - CapabilityMetadataManager types.ManagedObjectReference `xml:"capabilityMetadataManager"` - ProfileManager types.ManagedObjectReference `xml:"profileManager"` - ComplianceManager types.ManagedObjectReference `xml:"complianceManager"` - PlacementSolver types.ManagedObjectReference `xml:"placementSolver"` - ReplicationManager *types.ManagedObjectReference `xml:"replicationManager,omitempty"` -} - -func init() { - types.Add("pbm:PbmServiceInstanceContent", reflect.TypeOf((*PbmServiceInstanceContent)(nil)).Elem()) -} - -type PbmUpdate PbmUpdateRequestType - -func init() { - types.Add("pbm:PbmUpdate", reflect.TypeOf((*PbmUpdate)(nil)).Elem()) -} - -type PbmUpdateRequestType struct { - This types.ManagedObjectReference `xml:"_this"` - ProfileId PbmProfileId `xml:"profileId"` - UpdateSpec PbmCapabilityProfileUpdateSpec `xml:"updateSpec"` -} - -func init() { - types.Add("pbm:PbmUpdateRequestType", reflect.TypeOf((*PbmUpdateRequestType)(nil)).Elem()) -} - -type PbmUpdateResponse struct { -} - -type PbmVaioDataServiceInfo struct { - PbmLineOfServiceInfo -} - -func init() { - types.Add("pbm:PbmVaioDataServiceInfo", reflect.TypeOf((*PbmVaioDataServiceInfo)(nil)).Elem()) -} - -type VersionURI string - -func init() { - types.Add("pbm:versionURI", reflect.TypeOf((*VersionURI)(nil)).Elem()) -} diff --git a/vendor/github.com/vmware/govmomi/program.mk b/vendor/github.com/vmware/govmomi/program.mk deleted file mode 100644 index f24939934fe..00000000000 --- a/vendor/github.com/vmware/govmomi/program.mk +++ /dev/null @@ -1,51 +0,0 @@ -# Copyright (c) 2021 VMware, Inc. All Rights Reserved. -# SPDX-License-Identifier: Apache-2.0 - -ifneq (,$(strip $(GOOS))) -ifeq (,$(strip $(GOARCH))) -GOARCH := $(shell go env | grep GOARCH | awk -F= '{print $$2}' | tr -d '"') -endif -endif - -ifneq (,$(strip $(GOARCH))) -ifeq (,$(strip $(GOOS))) -GOOS := $(shell go env | grep GOOS | awk -F= '{print $$2}' | tr -d '"') -endif -endif - -ifeq (2,$(words $(GOOS) $(GOARCH))) -PROGRAM := $(PROGRAM)_$(GOOS)_$(GOARCH) -endif - -ifeq (windows,$(GOOS)) -PROGRAM := $(PROGRAM).exe -endif - -all: $(PROGRAM) - -TAGS += netgo -ifeq (,$(strip $(findstring -w,$(LDFLAGS)))) -LDFLAGS += -w -endif -BUILD_ARGS := -tags '$(TAGS)' -ldflags '$(LDFLAGS)' -v - -$(PROGRAM): - CGO_ENABLED=0 go build -a $(BUILD_ARGS) -o $@ - -install: - CGO_ENABLED=0 go install -v $(BUILD_ARGS) - -ifneq (,$(strip $(BUILD_OS))) -ifneq (,$(strip $(BUILD_ARCH))) -GOOS_GOARCH_TARGETS := $(foreach a,$(BUILD_ARCH),$(patsubst %,%_$a,$(BUILD_OS))) -XBUILD := $(addprefix $(PROGRAM)_,$(GOOS_GOARCH_TARGETS)) -$(XBUILD): - GOOS=$(word 2,$(subst _, ,$@)) GOARCH=$(word 3,$(subst _, ,$@)) $(MAKE) --output-sync=target -build-all: $(XBUILD) -endif -endif - -clean: - @rm -f $(PROGRAM) $(XBUILD) - -.PHONY: build-all install clean diff --git a/vendor/github.com/vmware/govmomi/property/collector.go b/vendor/github.com/vmware/govmomi/property/collector.go deleted file mode 100644 index 8798ceacbf1..00000000000 --- a/vendor/github.com/vmware/govmomi/property/collector.go +++ /dev/null @@ -1,217 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package property - -import ( - "context" - "errors" - - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -// Collector models the PropertyCollector managed object. -// -// For more information, see: -// http://pubs.vmware.com/vsphere-60/index.jsp?topic=%2Fcom.vmware.wssdk.apiref.doc%2Fvmodl.query.PropertyCollector.html -// -type Collector struct { - roundTripper soap.RoundTripper - reference types.ManagedObjectReference -} - -// DefaultCollector returns the session's default property collector. -func DefaultCollector(c *vim25.Client) *Collector { - p := Collector{ - roundTripper: c, - reference: c.ServiceContent.PropertyCollector, - } - - return &p -} - -func (p Collector) Reference() types.ManagedObjectReference { - return p.reference -} - -// Create creates a new session-specific Collector that can be used to -// retrieve property updates independent of any other Collector. -func (p *Collector) Create(ctx context.Context) (*Collector, error) { - req := types.CreatePropertyCollector{ - This: p.Reference(), - } - - res, err := methods.CreatePropertyCollector(ctx, p.roundTripper, &req) - if err != nil { - return nil, err - } - - newp := Collector{ - roundTripper: p.roundTripper, - reference: res.Returnval, - } - - return &newp, nil -} - -// Destroy destroys this Collector. -func (p *Collector) Destroy(ctx context.Context) error { - req := types.DestroyPropertyCollector{ - This: p.Reference(), - } - - _, err := methods.DestroyPropertyCollector(ctx, p.roundTripper, &req) - if err != nil { - return err - } - - p.reference = types.ManagedObjectReference{} - return nil -} - -func (p *Collector) CreateFilter(ctx context.Context, req types.CreateFilter) error { - req.This = p.Reference() - - _, err := methods.CreateFilter(ctx, p.roundTripper, &req) - if err != nil { - return err - } - - return nil -} - -func (p *Collector) WaitForUpdates(ctx context.Context, version string, opts ...*types.WaitOptions) (*types.UpdateSet, error) { - req := types.WaitForUpdatesEx{ - This: p.Reference(), - Version: version, - } - - if len(opts) == 1 { - req.Options = opts[0] - } else if len(opts) > 1 { - panic("only one option may be specified") - } - - res, err := methods.WaitForUpdatesEx(ctx, p.roundTripper, &req) - if err != nil { - return nil, err - } - - return res.Returnval, nil -} - -func (p *Collector) CancelWaitForUpdates(ctx context.Context) error { - req := &types.CancelWaitForUpdates{This: p.Reference()} - _, err := methods.CancelWaitForUpdates(ctx, p.roundTripper, req) - return err -} - -func (p *Collector) RetrieveProperties(ctx context.Context, req types.RetrieveProperties) (*types.RetrievePropertiesResponse, error) { - req.This = p.Reference() - return methods.RetrieveProperties(ctx, p.roundTripper, &req) -} - -// Retrieve loads properties for a slice of managed objects. The dst argument -// must be a pointer to a []interface{}, which is populated with the instances -// of the specified managed objects, with the relevant properties filled in. If -// the properties slice is nil, all properties are loaded. -// Note that pointer types are optional fields that may be left as a nil value. -// The caller should check such fields for a nil value before dereferencing. -func (p *Collector) Retrieve(ctx context.Context, objs []types.ManagedObjectReference, ps []string, dst interface{}) error { - if len(objs) == 0 { - return errors.New("object references is empty") - } - - kinds := make(map[string]bool) - - var propSet []types.PropertySpec - var objectSet []types.ObjectSpec - - for _, obj := range objs { - if _, ok := kinds[obj.Type]; !ok { - spec := types.PropertySpec{ - Type: obj.Type, - } - if len(ps) == 0 { - spec.All = types.NewBool(true) - } else { - spec.PathSet = ps - } - propSet = append(propSet, spec) - kinds[obj.Type] = true - } - - objectSpec := types.ObjectSpec{ - Obj: obj, - Skip: types.NewBool(false), - } - - objectSet = append(objectSet, objectSpec) - } - - req := types.RetrieveProperties{ - SpecSet: []types.PropertyFilterSpec{ - { - ObjectSet: objectSet, - PropSet: propSet, - }, - }, - } - - res, err := p.RetrieveProperties(ctx, req) - if err != nil { - return err - } - - if d, ok := dst.(*[]types.ObjectContent); ok { - *d = res.Returnval - return nil - } - - return mo.LoadObjectContent(res.Returnval, dst) -} - -// RetrieveWithFilter populates dst as Retrieve does, but only for entities matching the given filter. -func (p *Collector) RetrieveWithFilter(ctx context.Context, objs []types.ManagedObjectReference, ps []string, dst interface{}, filter Filter) error { - if len(filter) == 0 { - return p.Retrieve(ctx, objs, ps, dst) - } - - var content []types.ObjectContent - - err := p.Retrieve(ctx, objs, filter.Keys(), &content) - if err != nil { - return err - } - - objs = filter.MatchObjectContent(content) - - if len(objs) == 0 { - return nil - } - - return p.Retrieve(ctx, objs, ps, dst) -} - -// RetrieveOne calls Retrieve with a single managed object reference via Collector.Retrieve(). -func (p *Collector) RetrieveOne(ctx context.Context, obj types.ManagedObjectReference, ps []string, dst interface{}) error { - var objs = []types.ManagedObjectReference{obj} - return p.Retrieve(ctx, objs, ps, dst) -} diff --git a/vendor/github.com/vmware/govmomi/property/filter.go b/vendor/github.com/vmware/govmomi/property/filter.go deleted file mode 100644 index 2287bbfd96d..00000000000 --- a/vendor/github.com/vmware/govmomi/property/filter.go +++ /dev/null @@ -1,168 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package property - -import ( - "fmt" - "path" - "reflect" - "strconv" - "strings" - - "github.com/vmware/govmomi/vim25/types" -) - -// Filter provides methods for matching against types.DynamicProperty -type Filter map[string]types.AnyType - -// Keys returns the Filter map keys as a []string -func (f Filter) Keys() []string { - keys := make([]string, 0, len(f)) - - for key := range f { - keys = append(keys, key) - } - - return keys -} - -// MatchProperty returns true if a Filter entry matches the given prop. -func (f Filter) MatchProperty(prop types.DynamicProperty) bool { - if prop.Val == nil { - return false - } - match, ok := f[prop.Name] - if !ok { - return false - } - - if match == prop.Val { - return true - } - - ptype := reflect.TypeOf(prop.Val) - - if strings.HasPrefix(ptype.Name(), "ArrayOf") { - pval := reflect.ValueOf(prop.Val).Field(0) - - for i := 0; i < pval.Len(); i++ { - prop.Val = pval.Index(i).Interface() - - if f.MatchProperty(prop) { - return true - } - } - - return false - } - - if reflect.TypeOf(match) != ptype { - s, ok := match.(string) - if !ok { - return false - } - - // convert if we can - switch val := prop.Val.(type) { - case bool: - match, _ = strconv.ParseBool(s) - case int16: - x, _ := strconv.ParseInt(s, 10, 16) - match = int16(x) - case int32: - x, _ := strconv.ParseInt(s, 10, 32) - match = int32(x) - case int64: - match, _ = strconv.ParseInt(s, 10, 64) - case float32: - x, _ := strconv.ParseFloat(s, 32) - match = float32(x) - case float64: - match, _ = strconv.ParseFloat(s, 64) - case fmt.Stringer: - prop.Val = val.String() - case *types.CustomFieldStringValue: - prop.Val = fmt.Sprintf("%d:%s", val.Key, val.Value) - default: - if ptype.Kind() != reflect.String { - return false - } - // An enum type we can convert to a string type - prop.Val = reflect.ValueOf(prop.Val).String() - } - } - - switch pval := prop.Val.(type) { - case string: - s := match.(string) - if s == "*" { - return true // TODO: path.Match fails if s contains a '/' - } - m, _ := path.Match(s, pval) - return m - default: - return reflect.DeepEqual(match, pval) - } -} - -// MatchPropertyList returns true if all given props match the Filter. -func (f Filter) MatchPropertyList(props []types.DynamicProperty) bool { - for _, p := range props { - if !f.MatchProperty(p) { - return false - } - } - - return len(f) == len(props) // false if a property such as VM "guest" is unset -} - -// MatchObjectContent returns a list of ObjectContent.Obj where the ObjectContent.PropSet matches all properties the Filter. -func (f Filter) MatchObjectContent(objects []types.ObjectContent) []types.ManagedObjectReference { - var refs []types.ManagedObjectReference - - for _, o := range objects { - if f.MatchPropertyList(o.PropSet) { - refs = append(refs, o.Obj) - } - } - - return refs -} - -// MatchAnyPropertyList returns true if any given props match the Filter. -func (f Filter) MatchAnyPropertyList(props []types.DynamicProperty) bool { - for _, p := range props { - if f.MatchProperty(p) { - return true - } - } - - return false -} - -// MatchAnyObjectContent returns a list of ObjectContent.Obj where the ObjectContent.PropSet matches any property in the Filter. -func (f Filter) MatchAnyObjectContent(objects []types.ObjectContent) []types.ManagedObjectReference { - var refs []types.ManagedObjectReference - - for _, o := range objects { - if f.MatchAnyPropertyList(o.PropSet) { - refs = append(refs, o.Obj) - } - } - - return refs -} diff --git a/vendor/github.com/vmware/govmomi/property/wait.go b/vendor/github.com/vmware/govmomi/property/wait.go deleted file mode 100644 index fbb68077119..00000000000 --- a/vendor/github.com/vmware/govmomi/property/wait.go +++ /dev/null @@ -1,151 +0,0 @@ -/* -Copyright (c) 2015-2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package property - -import ( - "context" - - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -// WaitFilter provides helpers to construct a types.CreateFilter for use with property.Wait -type WaitFilter struct { - types.CreateFilter - Options *types.WaitOptions - PropagateMissing bool - Truncated bool -} - -// Add a new ObjectSpec and PropertySpec to the WaitFilter -func (f *WaitFilter) Add(obj types.ManagedObjectReference, kind string, ps []string, set ...types.BaseSelectionSpec) *WaitFilter { - spec := types.ObjectSpec{ - Obj: obj, - SelectSet: set, - } - - pset := types.PropertySpec{ - Type: kind, - PathSet: ps, - } - - if len(ps) == 0 { - pset.All = types.NewBool(true) - } - - f.Spec.ObjectSet = append(f.Spec.ObjectSet, spec) - - f.Spec.PropSet = append(f.Spec.PropSet, pset) - - return f -} - -// Wait creates a new WaitFilter and calls the specified function for each ObjectUpdate via WaitForUpdates -func Wait(ctx context.Context, c *Collector, obj types.ManagedObjectReference, ps []string, f func([]types.PropertyChange) bool) error { - filter := new(WaitFilter).Add(obj, obj.Type, ps) - - return WaitForUpdates(ctx, c, filter, func(updates []types.ObjectUpdate) bool { - for _, update := range updates { - if f(update.ChangeSet) { - return true - } - } - - return false - }) -} - -// WaitForUpdates waits for any of the specified properties of the specified managed -// object to change. It calls the specified function for every update it -// receives. If this function returns false, it continues waiting for -// subsequent updates. If this function returns true, it stops waiting and -// returns. -// -// To only receive updates for the specified managed object, the function -// creates a new property collector and calls CreateFilter. A new property -// collector is required because filters can only be added, not removed. -// -// If the Context is canceled, a call to CancelWaitForUpdates() is made and its error value is returned. -// The newly created collector is destroyed before this function returns (both -// in case of success or error). -// -// By default, ObjectUpdate.MissingSet faults are not propagated to the returned error, -// set WaitFilter.PropagateMissing=true to enable MissingSet fault propagation. -func WaitForUpdates(ctx context.Context, c *Collector, filter *WaitFilter, f func([]types.ObjectUpdate) bool) error { - p, err := c.Create(ctx) - if err != nil { - return err - } - - // Attempt to destroy the collector using the background context, as the - // specified context may have timed out or have been canceled. - defer func() { - _ = p.Destroy(context.Background()) - }() - - err = p.CreateFilter(ctx, filter.CreateFilter) - if err != nil { - return err - } - - req := types.WaitForUpdatesEx{ - This: p.Reference(), - Options: filter.Options, - } - - for { - res, err := methods.WaitForUpdatesEx(ctx, p.roundTripper, &req) - if err != nil { - if ctx.Err() == context.Canceled { - werr := p.CancelWaitForUpdates(context.Background()) - return werr - } - return err - } - - set := res.Returnval - if set == nil { - if req.Options != nil && req.Options.MaxWaitSeconds != nil { - return nil // WaitOptions.MaxWaitSeconds exceeded - } - // Retry if the result came back empty - continue - } - - req.Version = set.Version - filter.Truncated = false - if set.Truncated != nil { - filter.Truncated = *set.Truncated - } - - for _, fs := range set.FilterSet { - if filter.PropagateMissing { - for i := range fs.ObjectSet { - for _, p := range fs.ObjectSet[i].MissingSet { - // Same behavior as mo.ObjectContentToType() - return soap.WrapVimFault(p.Fault.Fault) - } - } - } - - if f(fs.ObjectSet) { - return nil - } - } - } -} diff --git a/vendor/github.com/vmware/govmomi/session/keep_alive.go b/vendor/github.com/vmware/govmomi/session/keep_alive.go deleted file mode 100644 index 7c1bebf9134..00000000000 --- a/vendor/github.com/vmware/govmomi/session/keep_alive.go +++ /dev/null @@ -1,40 +0,0 @@ -/* -Copyright (c) 2015-2020 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package session - -import ( - "time" - - "github.com/vmware/govmomi/session/keepalive" - "github.com/vmware/govmomi/vim25/soap" -) - -// KeepAlive is a backward compatible wrapper around KeepAliveHandler. -func KeepAlive(roundTripper soap.RoundTripper, idleTime time.Duration) soap.RoundTripper { - return KeepAliveHandler(roundTripper, idleTime, nil) -} - -// KeepAliveHandler is a backward compatible wrapper around keepalive.NewHandlerSOAP. -func KeepAliveHandler(roundTripper soap.RoundTripper, idleTime time.Duration, handler func(soap.RoundTripper) error) soap.RoundTripper { - var f func() error - if handler != nil { - f = func() error { - return handler(roundTripper) - } - } - return keepalive.NewHandlerSOAP(roundTripper, idleTime, f) -} diff --git a/vendor/github.com/vmware/govmomi/session/keepalive/handler.go b/vendor/github.com/vmware/govmomi/session/keepalive/handler.go deleted file mode 100644 index 3ebf046a53b..00000000000 --- a/vendor/github.com/vmware/govmomi/session/keepalive/handler.go +++ /dev/null @@ -1,204 +0,0 @@ -/* -Copyright (c) 2020 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package keepalive - -import ( - "context" - "errors" - "net/http" - "sync" - "time" - - "github.com/vmware/govmomi/vapi/rest" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/soap" -) - -// handler contains the generic keep alive settings and logic -type handler struct { - mu sync.Mutex - notifyStop chan struct{} - notifyWaitGroup sync.WaitGroup - - idle time.Duration - send func() error -} - -// NewHandlerSOAP returns a soap.RoundTripper for use with a vim25.Client -// The idle time specifies the interval in between send() requests. Defaults to 10 minutes. -// The send func is used to keep a session alive. Defaults to calling vim25 GetCurrentTime(). -// The keep alive goroutine starts when a Login method is called and runs until Logout is called or send returns an error. -func NewHandlerSOAP(c soap.RoundTripper, idle time.Duration, send func() error) *HandlerSOAP { - h := &handler{ - idle: idle, - send: send, - } - - if send == nil { - h.send = func() error { - return h.keepAliveSOAP(c) - } - } - - return &HandlerSOAP{h, c} -} - -// NewHandlerREST returns an http.RoundTripper for use with a rest.Client -// The idle time specifies the interval in between send() requests. Defaults to 10 minutes. -// The send func is used to keep a session alive. Defaults to calling the rest.Client.Session() method -// The keep alive goroutine starts when a Login method is called and runs until Logout is called or send returns an error. -func NewHandlerREST(c *rest.Client, idle time.Duration, send func() error) *HandlerREST { - h := &handler{ - idle: idle, - send: send, - } - - if send == nil { - h.send = func() error { - return h.keepAliveREST(c) - } - } - - return &HandlerREST{h, c.Transport} -} - -func (h *handler) keepAliveSOAP(rt soap.RoundTripper) error { - ctx := context.Background() - _, err := methods.GetCurrentTime(ctx, rt) - return err -} - -func (h *handler) keepAliveREST(c *rest.Client) error { - ctx := context.Background() - - s, err := c.Session(ctx) - if err != nil { - return err - } - if s != nil { - return nil - } - return errors.New(http.StatusText(http.StatusUnauthorized)) -} - -// Start explicitly starts the keep alive go routine. -// For use with session cache.Client, as cached sessions may not involve Login/Logout via RoundTripper. -func (h *handler) Start() { - h.mu.Lock() - defer h.mu.Unlock() - - if h.notifyStop != nil { - return - } - - if h.idle == 0 { - h.idle = time.Minute * 10 - } - - // This channel must be closed to terminate idle timer. - h.notifyStop = make(chan struct{}) - h.notifyWaitGroup.Add(1) - - go func() { - for t := time.NewTimer(h.idle); ; { - select { - case <-h.notifyStop: - h.notifyWaitGroup.Done() - t.Stop() - return - case <-t.C: - if err := h.send(); err != nil { - h.notifyWaitGroup.Done() - h.Stop() - return - } - t.Reset(h.idle) - } - } - }() -} - -// Stop explicitly stops the keep alive go routine. -// For use with session cache.Client, as cached sessions may not involve Login/Logout via RoundTripper. -func (h *handler) Stop() { - h.mu.Lock() - defer h.mu.Unlock() - - if h.notifyStop != nil { - close(h.notifyStop) - h.notifyWaitGroup.Wait() - h.notifyStop = nil - } -} - -// HandlerSOAP is a keep alive implementation for use with vim25.Client -type HandlerSOAP struct { - *handler - - roundTripper soap.RoundTripper -} - -// RoundTrip implements soap.RoundTripper -func (h *HandlerSOAP) RoundTrip(ctx context.Context, req, res soap.HasFault) error { - // Stop ticker on logout. - switch req.(type) { - case *methods.LogoutBody: - h.Stop() - } - - err := h.roundTripper.RoundTrip(ctx, req, res) - if err != nil { - return err - } - - // Start ticker on login. - switch req.(type) { - case *methods.LoginBody, *methods.LoginExtensionByCertificateBody, *methods.LoginByTokenBody: - h.Start() - } - - return nil -} - -// HandlerREST is a keep alive implementation for use with rest.Client -type HandlerREST struct { - *handler - - roundTripper http.RoundTripper -} - -// RoundTrip implements http.RoundTripper -func (h *HandlerREST) RoundTrip(req *http.Request) (*http.Response, error) { - if req.URL.Path != "/rest/com/vmware/cis/session" { - return h.roundTripper.RoundTrip(req) - } - - if req.Method == http.MethodDelete { // Logout - h.Stop() - } - - res, err := h.roundTripper.RoundTrip(req) - if err != nil { - return res, err - } - - if req.Method == http.MethodPost { // Login - h.Start() - } - - return res, err -} diff --git a/vendor/github.com/vmware/govmomi/session/manager.go b/vendor/github.com/vmware/govmomi/session/manager.go deleted file mode 100644 index 8689acd504a..00000000000 --- a/vendor/github.com/vmware/govmomi/session/manager.go +++ /dev/null @@ -1,294 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package session - -import ( - "context" - "io/ioutil" - "net/url" - "os" - "strings" - - "github.com/vmware/govmomi/property" - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/types" -) - -// Locale defaults to "en_US" and can be overridden via this var or the GOVMOMI_LOCALE env var. -// A value of "_" uses the server locale setting. -var Locale = os.Getenv("GOVMOMI_LOCALE") - -func init() { - if Locale == "_" { - Locale = "" - } else if Locale == "" { - Locale = "en_US" - } -} - -// Secret returns the contents if a file path value is given, otherwise returns value itself. -func Secret(value string) (string, error) { - if len(value) == 0 { - return value, nil - } - contents, err := ioutil.ReadFile(value) - if err != nil { - if os.IsPermission(err) { - return "", err - } - return value, nil - } - return strings.TrimSpace(string(contents)), nil -} - -type Manager struct { - client *vim25.Client - userSession *types.UserSession -} - -func NewManager(client *vim25.Client) *Manager { - m := Manager{ - client: client, - } - - return &m -} - -func (sm Manager) Reference() types.ManagedObjectReference { - return *sm.client.ServiceContent.SessionManager -} - -func (sm *Manager) SetLocale(ctx context.Context, locale string) error { - req := types.SetLocale{ - This: sm.Reference(), - Locale: locale, - } - - _, err := methods.SetLocale(ctx, sm.client, &req) - return err -} - -func (sm *Manager) Login(ctx context.Context, u *url.Userinfo) error { - req := types.Login{ - This: sm.Reference(), - Locale: Locale, - } - - if u != nil { - req.UserName = u.Username() - if pw, ok := u.Password(); ok { - req.Password = pw - } - } - - login, err := methods.Login(ctx, sm.client, &req) - if err != nil { - return err - } - - sm.userSession = &login.Returnval - return nil -} - -// LoginExtensionByCertificate uses the vCenter SDK tunnel to login using a client certificate. -// The client certificate can be set using the soap.Client.SetCertificate method. -// See: https://kb.vmware.com/s/article/2004305 -func (sm *Manager) LoginExtensionByCertificate(ctx context.Context, key string) error { - c := sm.client - u := c.URL() - if u.Hostname() != "sdkTunnel" { - sc := c.Tunnel() - c = &vim25.Client{ - Client: sc, - RoundTripper: sc, - ServiceContent: c.ServiceContent, - } - // When http.Transport.Proxy is used, our thumbprint checker is bypassed, resulting in: - // "Post https://sdkTunnel:8089/sdk: x509: certificate is valid for $vcenter_hostname, not sdkTunnel" - // The only easy way around this is to disable verification for the call to LoginExtensionByCertificate(). - // TODO: find a way to avoid disabling InsecureSkipVerify. - c.DefaultTransport().TLSClientConfig.InsecureSkipVerify = true - } - - req := types.LoginExtensionByCertificate{ - This: sm.Reference(), - ExtensionKey: key, - Locale: Locale, - } - - login, err := methods.LoginExtensionByCertificate(ctx, c, &req) - if err != nil { - return err - } - - // Copy the session cookie - sm.client.Jar.SetCookies(u, c.Jar.Cookies(c.URL())) - - sm.userSession = &login.Returnval - return nil -} - -func (sm *Manager) LoginByToken(ctx context.Context) error { - req := types.LoginByToken{ - This: sm.Reference(), - Locale: Locale, - } - - login, err := methods.LoginByToken(ctx, sm.client, &req) - if err != nil { - return err - } - - sm.userSession = &login.Returnval - return nil -} - -func (sm *Manager) Logout(ctx context.Context) error { - req := types.Logout{ - This: sm.Reference(), - } - - _, err := methods.Logout(ctx, sm.client, &req) - if err != nil { - return err - } - - sm.userSession = nil - return nil -} - -// UserSession retrieves and returns the SessionManager's CurrentSession field. -// Nil is returned if the session is not authenticated. -func (sm *Manager) UserSession(ctx context.Context) (*types.UserSession, error) { - var mgr mo.SessionManager - - pc := property.DefaultCollector(sm.client) - err := pc.RetrieveOne(ctx, sm.Reference(), []string{"currentSession"}, &mgr) - if err != nil { - // It's OK if we can't retrieve properties because we're not authenticated - if f, ok := err.(types.HasFault); ok { - switch f.Fault().(type) { - case *types.NotAuthenticated: - return nil, nil - } - } - - return nil, err - } - - return mgr.CurrentSession, nil -} - -func (sm *Manager) TerminateSession(ctx context.Context, sessionId []string) error { - req := types.TerminateSession{ - This: sm.Reference(), - SessionId: sessionId, - } - - _, err := methods.TerminateSession(ctx, sm.client, &req) - return err -} - -// SessionIsActive checks whether the session that was created at login is -// still valid. This function only works against vCenter. -func (sm *Manager) SessionIsActive(ctx context.Context) (bool, error) { - if sm.userSession == nil { - return false, nil - } - - req := types.SessionIsActive{ - This: sm.Reference(), - SessionID: sm.userSession.Key, - UserName: sm.userSession.UserName, - } - - active, err := methods.SessionIsActive(ctx, sm.client, &req) - if err != nil { - return false, err - } - - return active.Returnval, err -} - -func (sm *Manager) AcquireGenericServiceTicket(ctx context.Context, spec types.BaseSessionManagerServiceRequestSpec) (*types.SessionManagerGenericServiceTicket, error) { - req := types.AcquireGenericServiceTicket{ - This: sm.Reference(), - Spec: spec, - } - - res, err := methods.AcquireGenericServiceTicket(ctx, sm.client, &req) - if err != nil { - return nil, err - } - - return &res.Returnval, nil -} - -func (sm *Manager) AcquireLocalTicket(ctx context.Context, userName string) (*types.SessionManagerLocalTicket, error) { - req := types.AcquireLocalTicket{ - This: sm.Reference(), - UserName: userName, - } - - res, err := methods.AcquireLocalTicket(ctx, sm.client, &req) - if err != nil { - return nil, err - } - - return &res.Returnval, nil -} - -func (sm *Manager) AcquireCloneTicket(ctx context.Context) (string, error) { - req := types.AcquireCloneTicket{ - This: sm.Reference(), - } - - res, err := methods.AcquireCloneTicket(ctx, sm.client, &req) - if err != nil { - return "", err - } - - return res.Returnval, nil -} - -func (sm *Manager) CloneSession(ctx context.Context, ticket string) error { - req := types.CloneSession{ - This: sm.Reference(), - CloneTicket: ticket, - } - - res, err := methods.CloneSession(ctx, sm.client, &req) - if err != nil { - return err - } - - sm.userSession = &res.Returnval - return nil -} - -func (sm *Manager) UpdateServiceMessage(ctx context.Context, message string) error { - req := types.UpdateServiceMessage{ - This: sm.Reference(), - Message: message, - } - - _, err := methods.UpdateServiceMessage(ctx, sm.client, &req) - - return err -} diff --git a/vendor/github.com/vmware/govmomi/simulator/authorization_manager.go b/vendor/github.com/vmware/govmomi/simulator/authorization_manager.go deleted file mode 100644 index 924ff978fe6..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/authorization_manager.go +++ /dev/null @@ -1,336 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "strings" - - "github.com/vmware/govmomi/object" - "github.com/vmware/govmomi/simulator/esx" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -type AuthorizationManager struct { - mo.AuthorizationManager - - permissions map[types.ManagedObjectReference][]types.Permission - privileges map[string]struct{} - system []string - nextID int32 -} - -func (m *AuthorizationManager) init(r *Registry) { - if len(m.RoleList) == 0 { - m.RoleList = make([]types.AuthorizationRole, len(esx.RoleList)) - copy(m.RoleList, esx.RoleList) - } - - m.permissions = make(map[types.ManagedObjectReference][]types.Permission) - - l := object.AuthorizationRoleList(m.RoleList) - m.system = l.ByName("ReadOnly").Privilege - admin := l.ByName("Admin") - m.privileges = make(map[string]struct{}, len(admin.Privilege)) - - for _, id := range admin.Privilege { - m.privileges[id] = struct{}{} - } - - root := r.content().RootFolder - - for _, u := range DefaultUserGroup { - m.permissions[root] = append(m.permissions[root], types.Permission{ - Entity: &root, - Principal: u.Principal, - Group: u.Group, - RoleId: admin.RoleId, - Propagate: true, - }) - } -} - -func (m *AuthorizationManager) RetrieveEntityPermissions(req *types.RetrieveEntityPermissions) soap.HasFault { - e := Map.Get(req.Entity).(mo.Entity) - - p := m.permissions[e.Reference()] - - if req.Inherited { - for { - parent := e.Entity().Parent - if parent == nil { - break - } - - e = Map.Get(parent.Reference()).(mo.Entity) - - p = append(p, m.permissions[e.Reference()]...) - } - } - - return &methods.RetrieveEntityPermissionsBody{ - Res: &types.RetrieveEntityPermissionsResponse{ - Returnval: p, - }, - } -} - -func (m *AuthorizationManager) RetrieveAllPermissions(req *types.RetrieveAllPermissions) soap.HasFault { - var p []types.Permission - - for _, v := range m.permissions { - p = append(p, v...) - } - - return &methods.RetrieveAllPermissionsBody{ - Res: &types.RetrieveAllPermissionsResponse{ - Returnval: p, - }, - } -} - -func (m *AuthorizationManager) RemoveEntityPermission(req *types.RemoveEntityPermission) soap.HasFault { - var p []types.Permission - - for _, v := range m.permissions[req.Entity] { - if v.Group == req.IsGroup && v.Principal == req.User { - continue - } - p = append(p, v) - } - - m.permissions[req.Entity] = p - - return &methods.RemoveEntityPermissionBody{ - Res: &types.RemoveEntityPermissionResponse{}, - } -} - -func (m *AuthorizationManager) SetEntityPermissions(req *types.SetEntityPermissions) soap.HasFault { - m.permissions[req.Entity] = req.Permission - - return &methods.SetEntityPermissionsBody{ - Res: &types.SetEntityPermissionsResponse{}, - } -} - -func (m *AuthorizationManager) RetrieveRolePermissions(req *types.RetrieveRolePermissions) soap.HasFault { - var p []types.Permission - - for _, set := range m.permissions { - for _, v := range set { - if v.RoleId == req.RoleId { - p = append(p, v) - } - } - } - - return &methods.RetrieveRolePermissionsBody{ - Res: &types.RetrieveRolePermissionsResponse{ - Returnval: p, - }, - } -} - -func (m *AuthorizationManager) HasPrivilegeOnEntities(req *types.HasPrivilegeOnEntities) soap.HasFault { - var p []types.EntityPrivilege - - for _, e := range req.Entity { - priv := types.EntityPrivilege{Entity: e} - - for _, id := range req.PrivId { - priv.PrivAvailability = append(priv.PrivAvailability, types.PrivilegeAvailability{ - PrivId: id, - IsGranted: true, - }) - } - - p = append(p, priv) - } - - return &methods.HasPrivilegeOnEntitiesBody{ - Res: &types.HasPrivilegeOnEntitiesResponse{ - Returnval: p, - }, - } -} - -func (m *AuthorizationManager) HasPrivilegeOnEntity(req *types.HasPrivilegeOnEntity) soap.HasFault { - p := make([]bool, len(req.PrivId)) - - for i := range req.PrivId { - p[i] = true - } - - return &methods.HasPrivilegeOnEntityBody{ - Res: &types.HasPrivilegeOnEntityResponse{ - Returnval: p, - }, - } -} - -func (m *AuthorizationManager) HasUserPrivilegeOnEntities(req *types.HasUserPrivilegeOnEntities) soap.HasFault { - var p []types.EntityPrivilege - - for _, e := range req.Entities { - priv := types.EntityPrivilege{Entity: e} - - for _, id := range req.PrivId { - priv.PrivAvailability = append(priv.PrivAvailability, types.PrivilegeAvailability{ - PrivId: id, - IsGranted: true, - }) - } - - p = append(p, priv) - } - - return &methods.HasUserPrivilegeOnEntitiesBody{ - Res: &types.HasUserPrivilegeOnEntitiesResponse{ - Returnval: p, - }, - } -} - -func (m *AuthorizationManager) FetchUserPrivilegeOnEntities(req *types.FetchUserPrivilegeOnEntities) soap.HasFault { - admin := object.AuthorizationRoleList(m.RoleList).ByName("Admin").Privilege - - var p []types.UserPrivilegeResult - - for _, e := range req.Entities { - p = append(p, types.UserPrivilegeResult{ - Entity: e, - Privileges: admin, - }) - } - - return &methods.FetchUserPrivilegeOnEntitiesBody{ - Res: &types.FetchUserPrivilegeOnEntitiesResponse{ - Returnval: p, - }, - } -} - -func (m *AuthorizationManager) AddAuthorizationRole(req *types.AddAuthorizationRole) soap.HasFault { - body := &methods.AddAuthorizationRoleBody{} - - for _, role := range m.RoleList { - if role.Name == req.Name { - body.Fault_ = Fault("", &types.AlreadyExists{}) - return body - } - } - - ids, err := m.privIDs(req.PrivIds) - if err != nil { - body.Fault_ = err - return body - } - - m.RoleList = append(m.RoleList, types.AuthorizationRole{ - Info: &types.Description{ - Label: req.Name, - Summary: req.Name, - }, - RoleId: m.nextID, - Privilege: ids, - Name: req.Name, - System: false, - }) - - m.nextID++ - - body.Res = &types.AddAuthorizationRoleResponse{} - - return body -} - -func (m *AuthorizationManager) UpdateAuthorizationRole(req *types.UpdateAuthorizationRole) soap.HasFault { - body := &methods.UpdateAuthorizationRoleBody{} - - for _, role := range m.RoleList { - if role.Name == req.NewName && role.RoleId != req.RoleId { - body.Fault_ = Fault("", &types.AlreadyExists{}) - return body - } - } - - for i, role := range m.RoleList { - if role.RoleId == req.RoleId { - if len(req.PrivIds) != 0 { - ids, err := m.privIDs(req.PrivIds) - if err != nil { - body.Fault_ = err - return body - } - m.RoleList[i].Privilege = ids - } - - m.RoleList[i].Name = req.NewName - - body.Res = &types.UpdateAuthorizationRoleResponse{} - return body - } - } - - body.Fault_ = Fault("", &types.NotFound{}) - - return body -} - -func (m *AuthorizationManager) RemoveAuthorizationRole(req *types.RemoveAuthorizationRole) soap.HasFault { - body := &methods.RemoveAuthorizationRoleBody{} - - for i, role := range m.RoleList { - if role.RoleId == req.RoleId { - m.RoleList = append(m.RoleList[:i], m.RoleList[i+1:]...) - - body.Res = &types.RemoveAuthorizationRoleResponse{} - return body - } - } - - body.Fault_ = Fault("", &types.NotFound{}) - - return body -} - -func (m *AuthorizationManager) privIDs(ids []string) ([]string, *soap.Fault) { - system := make(map[string]struct{}, len(m.system)) - - for _, id := range ids { - if _, ok := m.privileges[id]; !ok { - return nil, Fault("", &types.InvalidArgument{InvalidProperty: "privIds"}) - } - - if strings.HasPrefix(id, "System.") { - system[id] = struct{}{} - } - } - - for _, id := range m.system { - if _, ok := system[id]; ok { - continue - } - - ids = append(ids, id) - } - - return ids, nil -} diff --git a/vendor/github.com/vmware/govmomi/simulator/cluster_compute_resource.go b/vendor/github.com/vmware/govmomi/simulator/cluster_compute_resource.go deleted file mode 100644 index 12f910b2e4c..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/cluster_compute_resource.go +++ /dev/null @@ -1,439 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "log" - "math/rand" - "sync/atomic" - "time" - - "github.com/google/uuid" - - "github.com/vmware/govmomi/simulator/esx" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -type ClusterComputeResource struct { - mo.ClusterComputeResource - - ruleKey int32 -} - -func (c *ClusterComputeResource) RenameTask(ctx *Context, req *types.Rename_Task) soap.HasFault { - return RenameTask(ctx, c, req) -} - -type addHost struct { - *ClusterComputeResource - - req *types.AddHost_Task -} - -func (add *addHost) Run(task *Task) (types.AnyType, types.BaseMethodFault) { - spec := add.req.Spec - - if spec.HostName == "" { - return nil, &types.NoHost{} - } - - cr := add.ClusterComputeResource - template := esx.HostSystem - - if h := task.ctx.Map.FindByName(spec.UserName, cr.Host); h != nil { - // "clone" an existing host from the inventory - template = h.(*HostSystem).HostSystem - template.Vm = nil - } else { - template.Network = cr.Network[:1] // VM Network - } - - host := NewHostSystem(template) - host.configure(spec, add.req.AsConnected) - - task.ctx.Map.PutEntity(cr, task.ctx.Map.NewEntity(host)) - host.Summary.Host = &host.Self - - cr.Host = append(cr.Host, host.Reference()) - addComputeResource(cr.Summary.GetComputeResourceSummary(), host) - - return host.Reference(), nil -} - -func (c *ClusterComputeResource) AddHostTask(ctx *Context, add *types.AddHost_Task) soap.HasFault { - return &methods.AddHost_TaskBody{ - Res: &types.AddHost_TaskResponse{ - Returnval: NewTask(&addHost{c, add}).Run(ctx), - }, - } -} - -func (c *ClusterComputeResource) updateRules(cfg *types.ClusterConfigInfoEx, cspec *types.ClusterConfigSpecEx) types.BaseMethodFault { - for _, spec := range cspec.RulesSpec { - var i int - exists := false - - match := func(info types.BaseClusterRuleInfo) bool { - return info.GetClusterRuleInfo().Name == spec.Info.GetClusterRuleInfo().Name - } - - if spec.Operation == types.ArrayUpdateOperationRemove { - match = func(rule types.BaseClusterRuleInfo) bool { - return rule.GetClusterRuleInfo().Key == spec.ArrayUpdateSpec.RemoveKey.(int32) - } - } - - for i = range cfg.Rule { - if match(cfg.Rule[i].GetClusterRuleInfo()) { - exists = true - break - } - } - - switch spec.Operation { - case types.ArrayUpdateOperationAdd: - if exists { - return new(types.InvalidArgument) - } - info := spec.Info.GetClusterRuleInfo() - info.Key = atomic.AddInt32(&c.ruleKey, 1) - info.RuleUuid = uuid.New().String() - cfg.Rule = append(cfg.Rule, spec.Info) - case types.ArrayUpdateOperationEdit: - if !exists { - return new(types.InvalidArgument) - } - cfg.Rule[i] = spec.Info - case types.ArrayUpdateOperationRemove: - if !exists { - return new(types.InvalidArgument) - } - cfg.Rule = append(cfg.Rule[:i], cfg.Rule[i+1:]...) - } - } - - return nil -} - -func (c *ClusterComputeResource) updateGroups(cfg *types.ClusterConfigInfoEx, cspec *types.ClusterConfigSpecEx) types.BaseMethodFault { - for _, spec := range cspec.GroupSpec { - var i int - exists := false - - match := func(info types.BaseClusterGroupInfo) bool { - return info.GetClusterGroupInfo().Name == spec.Info.GetClusterGroupInfo().Name - } - - if spec.Operation == types.ArrayUpdateOperationRemove { - match = func(info types.BaseClusterGroupInfo) bool { - return info.GetClusterGroupInfo().Name == spec.ArrayUpdateSpec.RemoveKey.(string) - } - } - - for i = range cfg.Group { - if match(cfg.Group[i].GetClusterGroupInfo()) { - exists = true - break - } - } - - switch spec.Operation { - case types.ArrayUpdateOperationAdd: - if exists { - return new(types.InvalidArgument) - } - cfg.Group = append(cfg.Group, spec.Info) - case types.ArrayUpdateOperationEdit: - if !exists { - return new(types.InvalidArgument) - } - cfg.Group[i] = spec.Info - case types.ArrayUpdateOperationRemove: - if !exists { - return new(types.InvalidArgument) - } - cfg.Group = append(cfg.Group[:i], cfg.Group[i+1:]...) - } - } - - return nil -} - -func (c *ClusterComputeResource) updateOverridesDAS(cfg *types.ClusterConfigInfoEx, cspec *types.ClusterConfigSpecEx) types.BaseMethodFault { - for _, spec := range cspec.DasVmConfigSpec { - var i int - var key types.ManagedObjectReference - exists := false - - if spec.Operation == types.ArrayUpdateOperationRemove { - key = spec.RemoveKey.(types.ManagedObjectReference) - } else { - key = spec.Info.Key - } - - for i = range cfg.DasVmConfig { - if cfg.DasVmConfig[i].Key == key { - exists = true - break - } - } - - switch spec.Operation { - case types.ArrayUpdateOperationAdd: - if exists { - return new(types.InvalidArgument) - } - cfg.DasVmConfig = append(cfg.DasVmConfig, *spec.Info) - case types.ArrayUpdateOperationEdit: - if !exists { - return new(types.InvalidArgument) - } - src := spec.Info.DasSettings - if src == nil { - return new(types.InvalidArgument) - } - dst := cfg.DasVmConfig[i].DasSettings - if src.RestartPriority != "" { - dst.RestartPriority = src.RestartPriority - } - if src.RestartPriorityTimeout != 0 { - dst.RestartPriorityTimeout = src.RestartPriorityTimeout - } - case types.ArrayUpdateOperationRemove: - if !exists { - return new(types.InvalidArgument) - } - cfg.DasVmConfig = append(cfg.DasVmConfig[:i], cfg.DasVmConfig[i+1:]...) - } - } - - return nil -} - -func (c *ClusterComputeResource) updateOverridesDRS(cfg *types.ClusterConfigInfoEx, cspec *types.ClusterConfigSpecEx) types.BaseMethodFault { - for _, spec := range cspec.DrsVmConfigSpec { - var i int - var key types.ManagedObjectReference - exists := false - - if spec.Operation == types.ArrayUpdateOperationRemove { - key = spec.RemoveKey.(types.ManagedObjectReference) - } else { - key = spec.Info.Key - } - - for i = range cfg.DrsVmConfig { - if cfg.DrsVmConfig[i].Key == key { - exists = true - break - } - } - - switch spec.Operation { - case types.ArrayUpdateOperationAdd: - if exists { - return new(types.InvalidArgument) - } - cfg.DrsVmConfig = append(cfg.DrsVmConfig, *spec.Info) - case types.ArrayUpdateOperationEdit: - if !exists { - return new(types.InvalidArgument) - } - if spec.Info.Enabled != nil { - cfg.DrsVmConfig[i].Enabled = spec.Info.Enabled - } - if spec.Info.Behavior != "" { - cfg.DrsVmConfig[i].Behavior = spec.Info.Behavior - } - case types.ArrayUpdateOperationRemove: - if !exists { - return new(types.InvalidArgument) - } - cfg.DrsVmConfig = append(cfg.DrsVmConfig[:i], cfg.DrsVmConfig[i+1:]...) - } - } - - return nil -} - -func (c *ClusterComputeResource) updateOverridesVmOrchestration(cfg *types.ClusterConfigInfoEx, cspec *types.ClusterConfigSpecEx) types.BaseMethodFault { - for _, spec := range cspec.VmOrchestrationSpec { - var i int - var key types.ManagedObjectReference - exists := false - - if spec.Operation == types.ArrayUpdateOperationRemove { - key = spec.RemoveKey.(types.ManagedObjectReference) - } else { - key = spec.Info.Vm - } - - for i = range cfg.VmOrchestration { - if cfg.VmOrchestration[i].Vm == key { - exists = true - break - } - } - - switch spec.Operation { - case types.ArrayUpdateOperationAdd: - if exists { - return new(types.InvalidArgument) - } - cfg.VmOrchestration = append(cfg.VmOrchestration, *spec.Info) - case types.ArrayUpdateOperationEdit: - if !exists { - return new(types.InvalidArgument) - } - if spec.Info.VmReadiness.ReadyCondition != "" { - cfg.VmOrchestration[i].VmReadiness.ReadyCondition = spec.Info.VmReadiness.ReadyCondition - } - if spec.Info.VmReadiness.PostReadyDelay != 0 { - cfg.VmOrchestration[i].VmReadiness.PostReadyDelay = spec.Info.VmReadiness.PostReadyDelay - } - case types.ArrayUpdateOperationRemove: - if !exists { - return new(types.InvalidArgument) - } - cfg.VmOrchestration = append(cfg.VmOrchestration[:i], cfg.VmOrchestration[i+1:]...) - } - } - - return nil -} - -func (c *ClusterComputeResource) ReconfigureComputeResourceTask(ctx *Context, req *types.ReconfigureComputeResource_Task) soap.HasFault { - task := CreateTask(c, "reconfigureCluster", func(*Task) (types.AnyType, types.BaseMethodFault) { - spec, ok := req.Spec.(*types.ClusterConfigSpecEx) - if !ok { - return nil, new(types.InvalidArgument) - } - - updates := []func(*types.ClusterConfigInfoEx, *types.ClusterConfigSpecEx) types.BaseMethodFault{ - c.updateRules, - c.updateGroups, - c.updateOverridesDAS, - c.updateOverridesDRS, - c.updateOverridesVmOrchestration, - } - - for _, update := range updates { - if err := update(c.ConfigurationEx.(*types.ClusterConfigInfoEx), spec); err != nil { - return nil, err - } - } - - return nil, nil - }) - - return &methods.ReconfigureComputeResource_TaskBody{ - Res: &types.ReconfigureComputeResource_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} - -func (c *ClusterComputeResource) PlaceVm(ctx *Context, req *types.PlaceVm) soap.HasFault { - body := new(methods.PlaceVmBody) - - if len(c.Host) == 0 { - body.Fault_ = Fault("", new(types.InvalidState)) - return body - } - - res := types.ClusterRecommendation{ - Key: "1", - Type: "V1", - Time: time.Now(), - Rating: 1, - Reason: string(types.RecommendationReasonCodeXvmotionPlacement), - ReasonText: string(types.RecommendationReasonCodeXvmotionPlacement), - Target: &c.Self, - } - - hosts := req.PlacementSpec.Hosts - if len(hosts) == 0 { - hosts = c.Host - } - - datastores := req.PlacementSpec.Datastores - if len(datastores) == 0 { - datastores = c.Datastore - } - - spec := &types.VirtualMachineRelocateSpec{ - Datastore: &datastores[rand.Intn(len(c.Datastore))], - Host: &hosts[rand.Intn(len(c.Host))], - Pool: c.ResourcePool, - } - - switch types.PlacementSpecPlacementType(req.PlacementSpec.PlacementType) { - case types.PlacementSpecPlacementTypeClone, types.PlacementSpecPlacementTypeCreate: - res.Action = append(res.Action, &types.PlacementAction{ - Vm: req.PlacementSpec.Vm, - TargetHost: spec.Host, - RelocateSpec: spec, - }) - default: - log.Printf("unsupported placement type: %s", req.PlacementSpec.PlacementType) - body.Fault_ = Fault("", new(types.NotSupported)) - return body - } - - body.Res = &types.PlaceVmResponse{ - Returnval: types.PlacementResult{ - Recommendations: []types.ClusterRecommendation{res}, - }, - } - - return body -} - -func CreateClusterComputeResource(ctx *Context, f *Folder, name string, spec types.ClusterConfigSpecEx) (*ClusterComputeResource, types.BaseMethodFault) { - if e := ctx.Map.FindByName(name, f.ChildEntity); e != nil { - return nil, &types.DuplicateName{ - Name: e.Entity().Name, - Object: e.Reference(), - } - } - - cluster := &ClusterComputeResource{} - cluster.EnvironmentBrowser = newEnvironmentBrowser() - cluster.Name = name - cluster.Network = ctx.Map.getEntityDatacenter(f).defaultNetwork() - cluster.Summary = &types.ClusterComputeResourceSummary{ - UsageSummary: new(types.ClusterUsageSummary), - } - - config := &types.ClusterConfigInfoEx{} - cluster.ConfigurationEx = config - - config.VmSwapPlacement = string(types.VirtualMachineConfigInfoSwapPlacementTypeVmDirectory) - config.DrsConfig.Enabled = types.NewBool(true) - - pool := NewResourcePool() - ctx.Map.PutEntity(cluster, ctx.Map.NewEntity(pool)) - cluster.ResourcePool = &pool.Self - - folderPutChild(ctx, &f.Folder, cluster) - pool.Owner = cluster.Self - - return cluster, nil -} diff --git a/vendor/github.com/vmware/govmomi/simulator/container.go b/vendor/github.com/vmware/govmomi/simulator/container.go deleted file mode 100644 index fec1c0f4869..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/container.go +++ /dev/null @@ -1,612 +0,0 @@ -/* -Copyright (c) 2018 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "archive/tar" - "bytes" - "encoding/hex" - "encoding/json" - "fmt" - "io" - "log" - "net/http" - "os" - "os/exec" - "path" - "regexp" - "strconv" - "strings" - "time" - - "github.com/google/uuid" - - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/types" -) - -var ( - shell = "/bin/sh" -) - -func init() { - if sh, err := exec.LookPath("bash"); err != nil { - shell = sh - } -} - -// container provides methods to manage a container within a simulator VM lifecycle. -type container struct { - id string - name string -} - -type networkSettings struct { - Gateway string - IPAddress string - IPPrefixLen int - MacAddress string -} - -// inspect applies container network settings to vm.Guest properties. -func (c *container) inspect(vm *VirtualMachine) error { - if c.id == "" { - return nil - } - - var objects []struct { - State struct { - Running bool - Paused bool - } - NetworkSettings struct { - networkSettings - Networks map[string]networkSettings - } - } - - cmd := exec.Command("docker", "inspect", c.id) - out, err := cmd.Output() - if err != nil { - return err - } - if err = json.NewDecoder(bytes.NewReader(out)).Decode(&objects); err != nil { - return err - } - - vm.Config.Annotation = strings.Join(cmd.Args, " ") - vm.logPrintf("%s: %s", vm.Config.Annotation, string(out)) - - for _, o := range objects { - s := o.NetworkSettings.networkSettings - - for _, n := range o.NetworkSettings.Networks { - s = n - break - } - - if o.State.Paused { - vm.Runtime.PowerState = types.VirtualMachinePowerStateSuspended - } else if o.State.Running { - vm.Runtime.PowerState = types.VirtualMachinePowerStatePoweredOn - } else { - vm.Runtime.PowerState = types.VirtualMachinePowerStatePoweredOff - } - - vm.Guest.IpAddress = s.IPAddress - vm.Summary.Guest.IpAddress = s.IPAddress - - if len(vm.Guest.Net) != 0 { - net := &vm.Guest.Net[0] - net.IpAddress = []string{s.IPAddress} - net.MacAddress = s.MacAddress - net.IpConfig = &types.NetIpConfigInfo{ - IpAddress: []types.NetIpConfigInfoIpAddress{{ - IpAddress: s.IPAddress, - PrefixLength: int32(s.IPPrefixLen), - State: string(types.NetIpConfigInfoIpAddressStatusPreferred), - }}, - } - } - - for _, d := range vm.Config.Hardware.Device { - if eth, ok := d.(types.BaseVirtualEthernetCard); ok { - eth.GetVirtualEthernetCard().MacAddress = s.MacAddress - break - } - } - } - - return nil -} - -func (c *container) prepareGuestOperation( - vm *VirtualMachine, - auth types.BaseGuestAuthentication) types.BaseMethodFault { - - if c.id == "" { - return new(types.GuestOperationsUnavailable) - } - if vm.Runtime.PowerState != types.VirtualMachinePowerStatePoweredOn { - return &types.InvalidPowerState{ - RequestedState: types.VirtualMachinePowerStatePoweredOn, - ExistingState: vm.Runtime.PowerState, - } - } - switch creds := auth.(type) { - case *types.NamePasswordAuthentication: - if creds.Username == "" || creds.Password == "" { - return new(types.InvalidGuestLogin) - } - default: - return new(types.InvalidGuestLogin) - } - return nil -} - -var sanitizeNameRx = regexp.MustCompile(`[\(\)\s]`) - -func sanitizeName(name string) string { - return sanitizeNameRx.ReplaceAllString(name, "-") -} - -// createDMI writes BIOS UUID DMI files to a container volume -func (c *container) createDMI(vm *VirtualMachine, name string) error { - image := os.Getenv("VCSIM_BUSYBOX") - if image == "" { - image = "busybox" - } - - cmd := exec.Command("docker", "run", "--rm", "-i", "-v", name+":"+"/"+name, image, "tar", "-C", "/"+name, "-xf", "-") - stdin, err := cmd.StdinPipe() - if err != nil { - return err - } - - err = cmd.Start() - if err != nil { - return err - } - - tw := tar.NewWriter(stdin) - - dmi := []struct { - name string - val func(uuid.UUID) string - }{ - {"product_uuid", productUUID}, - {"product_serial", productSerial}, - } - - for _, file := range dmi { - val := file.val(vm.uid) - _ = tw.WriteHeader(&tar.Header{ - Name: file.name, - Size: int64(len(val) + 1), - Mode: 0444, - ModTime: time.Now(), - }) - _, _ = fmt.Fprintln(tw, val) - } - - _ = tw.Close() - _ = stdin.Close() - - if err := cmd.Wait(); err != nil { - stderr := "" - if xerr, ok := err.(*exec.ExitError); ok { - stderr = string(xerr.Stderr) - } - log.Printf("%s %s: %s %s", vm.Name, cmd.Args, err, stderr) - return err - } - - return nil -} - -var ( - toolsRunning = []types.PropertyChange{ - {Name: "guest.toolsStatus", Val: types.VirtualMachineToolsStatusToolsOk}, - {Name: "guest.toolsRunningStatus", Val: string(types.VirtualMachineToolsRunningStatusGuestToolsRunning)}, - } - - toolsNotRunning = []types.PropertyChange{ - {Name: "guest.toolsStatus", Val: types.VirtualMachineToolsStatusToolsNotRunning}, - {Name: "guest.toolsRunningStatus", Val: string(types.VirtualMachineToolsRunningStatusGuestToolsNotRunning)}, - } -) - -// start runs the container if specified by the RUN.container extraConfig property. -func (c *container) start(ctx *Context, vm *VirtualMachine) { - if c.id != "" { - start := "start" - if vm.Runtime.PowerState == types.VirtualMachinePowerStateSuspended { - start = "unpause" - } - cmd := exec.Command("docker", start, c.id) - err := cmd.Run() - if err != nil { - log.Printf("%s %s: %s", vm.Name, cmd.Args, err) - } else { - ctx.Map.Update(vm, toolsRunning) - } - return - } - - var args []string - var env []string - mountDMI := true - ports := make(map[string]string) - - for _, opt := range vm.Config.ExtraConfig { - val := opt.GetOptionValue() - if val.Key == "RUN.container" { - run := val.Value.(string) - err := json.Unmarshal([]byte(run), &args) - if err != nil { - args = []string{run} - } - - continue - } - if val.Key == "RUN.mountdmi" { - var mount bool - err := json.Unmarshal([]byte(val.Value.(string)), &mount) - if err == nil { - mountDMI = mount - } - } - if strings.HasPrefix(val.Key, "RUN.port.") { - sKey := strings.Split(val.Key, ".") - containerPort := sKey[len(sKey)-1] - ports[containerPort] = val.Value.(string) - } - if strings.HasPrefix(val.Key, "RUN.env.") { - sKey := strings.Split(val.Key, ".") - envKey := sKey[len(sKey)-1] - env = append(env, "--env", fmt.Sprintf("%s=%s", envKey, val.Value.(string))) - } - if strings.HasPrefix(val.Key, "guestinfo.") { - key := strings.Replace(strings.ToUpper(val.Key), ".", "_", -1) - env = append(env, "--env", fmt.Sprintf("VMX_%s=%s", key, val.Value.(string))) - } - } - - if len(args) == 0 { - return - } - if len(env) != 0 { - // Configure env as the data access method for cloud-init-vmware-guestinfo - env = append(env, "--env", "VMX_GUESTINFO=true") - } - if len(ports) != 0 { - // Publish the specified container ports - for containerPort, hostPort := range ports { - env = append(env, "-p", fmt.Sprintf("%s:%s", hostPort, containerPort)) - } - } - - c.name = fmt.Sprintf("vcsim-%s-%s", sanitizeName(vm.Name), vm.uid) - run := append([]string{"docker", "run", "-d", "--name", c.name}, env...) - - if mountDMI { - if err := c.createDMI(vm, c.name); err != nil { - return - } - run = append(run, "-v", fmt.Sprintf("%s:%s:ro", c.name, "/sys/class/dmi/id")) - } - - args = append(run, args...) - cmd := exec.Command(shell, "-c", strings.Join(args, " ")) - out, err := cmd.Output() - if err != nil { - stderr := "" - if xerr, ok := err.(*exec.ExitError); ok { - stderr = string(xerr.Stderr) - } - log.Printf("%s %s: %s %s", vm.Name, cmd.Args, err, stderr) - return - } - - ctx.Map.Update(vm, toolsRunning) - c.id = strings.TrimSpace(string(out)) - vm.logPrintf("%s %s: %s", cmd.Path, cmd.Args, c.id) - - if err = c.inspect(vm); err != nil { - log.Printf("%s inspect %s: %s", vm.Name, c.id, err) - } - - // Start watching the container resource. - go c.watchContainer(vm) -} - -// watchContainer monitors the underlying container and updates the VM -// properties based on the container status. This occurs until either -// the container or the VM is removed. -func (c *container) watchContainer(vm *VirtualMachine) { - - inspectInterval := time.Duration(5 * time.Second) - if d, err := time.ParseDuration(os.Getenv("VCSIM_INSPECT_INTERVAL")); err == nil { - inspectInterval = d - } - - var ( - ctx = SpoofContext() - done = make(chan struct{}) - ticker = time.NewTicker(inspectInterval) - ) - - stopUpdatingVmFromContainer := func() { - ticker.Stop() - close(done) - } - - destroyVm := func() { - // If the container cannot be found then destroy this VM. - taskRef := vm.DestroyTask(ctx, &types.Destroy_Task{ - This: vm.Self, - }).(*methods.Destroy_TaskBody).Res.Returnval - task := ctx.Map.Get(taskRef).(*Task) - - // Wait for the task to complete and see if there is an error. - task.Wait() - if task.Info.Error != nil { - vm.logPrintf("failed to destroy vm: err=%v", *task.Info.Error) - } - } - - updateVmFromContainer := func() { - // Exit the monitor loop if the VM was removed from the API side. - if c.id == "" { - stopUpdatingVmFromContainer() - return - } - - if err := c.inspect(vm); err != nil { - // If there is an error inspecting the container because it no - // longer exists, then destroy the VM as well. Please note the - // reason this logic does not invoke stopUpdatingVmFromContainer - // is because that will be handled the next time this function - // is entered and c.id is empty. - if err, ok := err.(*exec.ExitError); ok { - if strings.Contains(string(err.Stderr), "No such object") { - destroyVm() - } - } - } - } - - // Update the VM from the container at regular intervals until the done - // channel is closed. - for { - select { - case <-ticker.C: - ctx.WithLock(vm, updateVmFromContainer) - case <-done: - return - } - } -} - -// stop the container (if any) for the given vm. -func (c *container) stop(ctx *Context, vm *VirtualMachine) { - if c.id == "" { - return - } - - cmd := exec.Command("docker", "stop", c.id) - err := cmd.Run() - if err != nil { - log.Printf("%s %s: %s", vm.Name, cmd.Args, err) - } else { - ctx.Map.Update(vm, toolsNotRunning) - } -} - -// pause the container (if any) for the given vm. -func (c *container) pause(ctx *Context, vm *VirtualMachine) { - if c.id == "" { - return - } - - cmd := exec.Command("docker", "pause", c.id) - err := cmd.Run() - if err != nil { - log.Printf("%s %s: %s", vm.Name, cmd.Args, err) - } else { - ctx.Map.Update(vm, toolsNotRunning) - } -} - -// restart the container (if any) for the given vm. -func (c *container) restart(ctx *Context, vm *VirtualMachine) { - if c.id == "" { - return - } - - cmd := exec.Command("docker", "restart", c.id) - err := cmd.Run() - if err != nil { - log.Printf("%s %s: %s", vm.Name, cmd.Args, err) - } else { - ctx.Map.Update(vm, toolsRunning) - } -} - -// remove the container (if any) for the given vm. -func (c *container) remove(vm *VirtualMachine) { - if c.id == "" { - return - } - - args := [][]string{ - {"rm", "-v", "-f", c.id}, - {"volume", "rm", "-f", c.name}, - } - - for i := range args { - cmd := exec.Command("docker", args[i]...) - err := cmd.Run() - if err != nil { - log.Printf("%s %s: %s", vm.Name, cmd.Args, err) - } - } - - c.id = "" -} - -func (c *container) exec(ctx *Context, vm *VirtualMachine, auth types.BaseGuestAuthentication, args []string) (string, types.BaseMethodFault) { - fault := vm.run.prepareGuestOperation(vm, auth) - if fault != nil { - return "", fault - } - - args = append([]string{"exec", vm.run.id}, args...) - cmd := exec.Command("docker", args...) - - res, err := cmd.CombinedOutput() - if err != nil { - log.Printf("%s: %s (%s)", vm.Self, cmd.Args, string(res)) - return "", new(types.GuestOperationsFault) - } - - return strings.TrimSpace(string(res)), nil -} - -// From https://docs.docker.com/engine/reference/commandline/cp/ : -// > It is not possible to copy certain system files such as resources under /proc, /sys, /dev, tmpfs, and mounts created by the user in the container. -// > However, you can still copy such files by manually running tar in docker exec. -func guestUpload(id string, file string, r *http.Request) error { - cmd := exec.Command("docker", "exec", "-i", id, "tar", "Cxf", path.Dir(file), "-") - cmd.Stderr = os.Stderr - stdin, err := cmd.StdinPipe() - if err != nil { - return err - } - if err = cmd.Start(); err != nil { - return err - } - - tw := tar.NewWriter(stdin) - _ = tw.WriteHeader(&tar.Header{ - Name: path.Base(file), - Size: r.ContentLength, - Mode: 0444, - ModTime: time.Now(), - }) - - _, _ = io.Copy(tw, r.Body) - - _ = tw.Close() - _ = stdin.Close() - _ = r.Body.Close() - - return cmd.Wait() -} - -func guestDownload(id string, file string, w http.ResponseWriter) error { - cmd := exec.Command("docker", "exec", id, "tar", "Ccf", path.Dir(file), "-", path.Base(file)) - cmd.Stderr = os.Stderr - stdout, err := cmd.StdoutPipe() - if err != nil { - return err - } - if err = cmd.Start(); err != nil { - return err - } - - tr := tar.NewReader(stdout) - header, err := tr.Next() - if err != nil { - return err - } - - w.Header().Set("Content-Length", strconv.FormatInt(header.Size, 10)) - _, _ = io.Copy(w, tr) - - return cmd.Wait() -} - -const guestPrefix = "/guestFile/" - -// ServeGuest handles container guest file upload/download -func ServeGuest(w http.ResponseWriter, r *http.Request) { - // Real vCenter form: /guestFile?id=139&token=... - // vcsim form: /guestFile/tmp/foo/bar?id=ebc8837b8cb6&token=... - - id := r.URL.Query().Get("id") - file := strings.TrimPrefix(r.URL.Path, guestPrefix[:len(guestPrefix)-1]) - var err error - - switch r.Method { - case http.MethodPut: - err = guestUpload(id, file, r) - case http.MethodGet: - err = guestDownload(id, file, w) - default: - w.WriteHeader(http.StatusMethodNotAllowed) - return - } - - if err != nil { - log.Printf("%s %s: %s", r.Method, r.URL, err) - w.WriteHeader(http.StatusInternalServerError) - } -} - -// productSerial returns the uuid in /sys/class/dmi/id/product_serial format -func productSerial(id uuid.UUID) string { - var dst [len(id)*2 + len(id) - 1]byte - - j := 0 - for i := 0; i < len(id); i++ { - hex.Encode(dst[j:j+2], id[i:i+1]) - j += 3 - if j < len(dst) { - s := j - 1 - if s == len(dst)/2 { - dst[s] = '-' - } else { - dst[s] = ' ' - } - } - } - - return fmt.Sprintf("VMware-%s", string(dst[:])) -} - -// productUUID returns the uuid in /sys/class/dmi/id/product_uuid format -func productUUID(id uuid.UUID) string { - var dst [36]byte - - hex.Encode(dst[0:2], id[3:4]) - hex.Encode(dst[2:4], id[2:3]) - hex.Encode(dst[4:6], id[1:2]) - hex.Encode(dst[6:8], id[0:1]) - dst[8] = '-' - hex.Encode(dst[9:11], id[5:6]) - hex.Encode(dst[11:13], id[4:5]) - dst[13] = '-' - hex.Encode(dst[14:16], id[7:8]) - hex.Encode(dst[16:18], id[6:7]) - dst[18] = '-' - hex.Encode(dst[19:23], id[8:10]) - dst[23] = '-' - hex.Encode(dst[24:], id[10:]) - - return strings.ToUpper(string(dst[:])) -} diff --git a/vendor/github.com/vmware/govmomi/simulator/custom_fields_manager.go b/vendor/github.com/vmware/govmomi/simulator/custom_fields_manager.go deleted file mode 100644 index 4aac583f8f2..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/custom_fields_manager.go +++ /dev/null @@ -1,221 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -type CustomFieldsManager struct { - mo.CustomFieldsManager - - nextKey int32 -} - -// Iterates through all entities of passed field type; -// Removes found field from their custom field properties. -func entitiesFieldRemove(ctx *Context, field types.CustomFieldDef) { - entities := ctx.Map.All(field.ManagedObjectType) - for _, e := range entities { - entity := e.Entity() - ctx.WithLock(entity, func() { - aFields := entity.AvailableField - for i, aField := range aFields { - if aField.Key == field.Key { - entity.AvailableField = append(aFields[:i], aFields[i+1:]...) - break - } - } - - values := e.Entity().Value - for i, value := range values { - if value.(*types.CustomFieldStringValue).Key == field.Key { - entity.Value = append(values[:i], values[i+1:]...) - break - } - } - - cValues := e.Entity().CustomValue - for i, cValue := range cValues { - if cValue.(*types.CustomFieldStringValue).Key == field.Key { - entity.CustomValue = append(cValues[:i], cValues[i+1:]...) - break - } - } - }) - } -} - -// Iterates through all entities of passed field type; -// Renames found field in entity's AvailableField property. -func entitiesFieldRename(ctx *Context, field types.CustomFieldDef) { - entities := ctx.Map.All(field.ManagedObjectType) - for _, e := range entities { - entity := e.Entity() - ctx.WithLock(entity, func() { - aFields := entity.AvailableField - for i, aField := range aFields { - if aField.Key == field.Key { - aFields[i].Name = field.Name - break - } - } - }) - } -} - -func (c *CustomFieldsManager) findByNameType(name, moType string) (int, *types.CustomFieldDef) { - for i, field := range c.Field { - if (field.ManagedObjectType == "" || field.ManagedObjectType == moType || moType == "") && - field.Name == name { - return i, &c.Field[i] - } - } - - return -1, nil -} - -func (c *CustomFieldsManager) findByKey(key int32) (int, *types.CustomFieldDef) { - for i, field := range c.Field { - if field.Key == key { - return i, &c.Field[i] - } - } - - return -1, nil -} - -func (c *CustomFieldsManager) AddCustomFieldDef(ctx *Context, req *types.AddCustomFieldDef) soap.HasFault { - body := &methods.AddCustomFieldDefBody{} - - _, field := c.findByNameType(req.Name, req.MoType) - if field != nil { - body.Fault_ = Fault("", &types.DuplicateName{ - Name: req.Name, - Object: c.Reference(), - }) - return body - } - - def := types.CustomFieldDef{ - Key: c.nextKey, - Name: req.Name, - ManagedObjectType: req.MoType, - Type: req.MoType, - FieldDefPrivileges: req.FieldDefPolicy, - FieldInstancePrivileges: req.FieldPolicy, - } - - entities := ctx.Map.All(req.MoType) - for _, e := range entities { - entity := e.Entity() - ctx.WithLock(entity, func() { - entity.AvailableField = append(entity.AvailableField, def) - }) - } - - c.Field = append(c.Field, def) - c.nextKey++ - - body.Res = &types.AddCustomFieldDefResponse{ - Returnval: def, - } - return body -} - -func (c *CustomFieldsManager) RemoveCustomFieldDef(ctx *Context, req *types.RemoveCustomFieldDef) soap.HasFault { - body := &methods.RemoveCustomFieldDefBody{} - - i, field := c.findByKey(req.Key) - if field == nil { - body.Fault_ = Fault("", &types.NotFound{}) - return body - } - - entitiesFieldRemove(ctx, *field) - - c.Field = append(c.Field[:i], c.Field[i+1:]...) - - body.Res = &types.RemoveCustomFieldDefResponse{} - return body -} - -func (c *CustomFieldsManager) RenameCustomFieldDef(ctx *Context, req *types.RenameCustomFieldDef) soap.HasFault { - body := &methods.RenameCustomFieldDefBody{} - - _, field := c.findByKey(req.Key) - if field == nil { - body.Fault_ = Fault("", &types.NotFound{}) - return body - } - - field.Name = req.Name - - entitiesFieldRename(ctx, *field) - - body.Res = &types.RenameCustomFieldDefResponse{} - return body -} - -func (c *CustomFieldsManager) SetField(ctx *Context, req *types.SetField) soap.HasFault { - body := &methods.SetFieldBody{} - - _, field := c.findByKey(req.Key) - if field == nil { - body.Fault_ = Fault("", &types.InvalidArgument{InvalidProperty: "key"}) - return body - } - - newValue := &types.CustomFieldStringValue{ - CustomFieldValue: types.CustomFieldValue{Key: req.Key}, - Value: req.Value, - } - - removeIndex := func(s []types.BaseCustomFieldValue, i int) []types.BaseCustomFieldValue { - new := make([]types.BaseCustomFieldValue, 0) - new = append(new, s[:i]...) - return append(new, s[i+1:]...) - } - - removeExistingValues := func(s []types.BaseCustomFieldValue) []types.BaseCustomFieldValue { - for i := 0; i < len(s); { - if s[i].GetCustomFieldValue().Key == newValue.GetCustomFieldValue().Key { - s = removeIndex(s, i) - } - i++ - } - return s - } - - entity := ctx.Map.Get(req.Entity).(mo.Entity).Entity() - - ctx.WithLock(entity, func() { - // Check if custom value and value are already set. If so, remove them. - entity.CustomValue = removeExistingValues(entity.CustomValue) - entity.Value = removeExistingValues(entity.Value) - - // Add the new value - entity.CustomValue = append(entity.CustomValue, newValue) - entity.Value = append(entity.Value, newValue) - }) - - body.Res = &types.SetFieldResponse{} - return body -} diff --git a/vendor/github.com/vmware/govmomi/simulator/customization_spec_manager.go b/vendor/github.com/vmware/govmomi/simulator/customization_spec_manager.go deleted file mode 100644 index b522680e5a6..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/customization_spec_manager.go +++ /dev/null @@ -1,349 +0,0 @@ -/* -Copyright (c) 2019 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "fmt" - "sync/atomic" - "time" - - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -var DefaultCustomizationSpec = []types.CustomizationSpecItem{ - { - Info: types.CustomizationSpecInfo{ - Name: "vcsim-linux", - Description: "", - Type: "Linux", - ChangeVersion: "1569965707", - LastUpdateTime: types.NewTime(time.Now()), - }, - Spec: types.CustomizationSpec{ - Options: &types.CustomizationLinuxOptions{}, - Identity: &types.CustomizationLinuxPrep{ - CustomizationIdentitySettings: types.CustomizationIdentitySettings{}, - HostName: &types.CustomizationVirtualMachineName{}, - Domain: "eng.vmware.com", - TimeZone: "Pacific/Apia", - HwClockUTC: types.NewBool(true), - }, - GlobalIPSettings: types.CustomizationGlobalIPSettings{ - DnsSuffixList: nil, - DnsServerList: []string{"127.0.1.1"}, - }, - NicSettingMap: []types.CustomizationAdapterMapping{ - { - MacAddress: "", - Adapter: types.CustomizationIPSettings{ - Ip: &types.CustomizationDhcpIpGenerator{}, - SubnetMask: "", - Gateway: nil, - IpV6Spec: (*types.CustomizationIPSettingsIpV6AddressSpec)(nil), - DnsServerList: nil, - DnsDomain: "", - PrimaryWINS: "", - SecondaryWINS: "", - NetBIOS: "", - }, - }, - }, - EncryptionKey: nil, - }, - }, - { - Info: types.CustomizationSpecInfo{ - Name: "vcsim-linux-static", - Description: "", - Type: "Linux", - ChangeVersion: "1569969598", - LastUpdateTime: types.NewTime(time.Now()), - }, - Spec: types.CustomizationSpec{ - Options: &types.CustomizationLinuxOptions{}, - Identity: &types.CustomizationLinuxPrep{ - CustomizationIdentitySettings: types.CustomizationIdentitySettings{}, - HostName: &types.CustomizationPrefixName{ - CustomizationName: types.CustomizationName{}, - Base: "vcsim", - }, - Domain: "eng.vmware.com", - TimeZone: "Africa/Cairo", - HwClockUTC: types.NewBool(true), - }, - GlobalIPSettings: types.CustomizationGlobalIPSettings{ - DnsSuffixList: nil, - DnsServerList: []string{"127.0.1.1"}, - }, - NicSettingMap: []types.CustomizationAdapterMapping{ - { - MacAddress: "", - Adapter: types.CustomizationIPSettings{ - Ip: &types.CustomizationUnknownIpGenerator{}, - SubnetMask: "255.255.255.0", - Gateway: []string{"10.0.0.1"}, - IpV6Spec: (*types.CustomizationIPSettingsIpV6AddressSpec)(nil), - DnsServerList: nil, - DnsDomain: "", - PrimaryWINS: "", - SecondaryWINS: "", - NetBIOS: "", - }, - }, - }, - EncryptionKey: nil, - }, - }, - { - Info: types.CustomizationSpecInfo{ - Name: "vcsim-windows-static", - Description: "", - Type: "Windows", - ChangeVersion: "1569978029", - LastUpdateTime: types.NewTime(time.Now()), - }, - Spec: types.CustomizationSpec{ - Options: &types.CustomizationWinOptions{ - CustomizationOptions: types.CustomizationOptions{}, - ChangeSID: true, - DeleteAccounts: false, - Reboot: "", - }, - Identity: &types.CustomizationSysprep{ - CustomizationIdentitySettings: types.CustomizationIdentitySettings{}, - GuiUnattended: types.CustomizationGuiUnattended{ - Password: (*types.CustomizationPassword)(nil), - TimeZone: 2, - AutoLogon: false, - AutoLogonCount: 1, - }, - UserData: types.CustomizationUserData{ - FullName: "vcsim", - OrgName: "VMware", - ComputerName: &types.CustomizationVirtualMachineName{}, - ProductId: "", - }, - GuiRunOnce: (*types.CustomizationGuiRunOnce)(nil), - Identification: types.CustomizationIdentification{ - JoinWorkgroup: "WORKGROUP", - JoinDomain: "", - DomainAdmin: "", - DomainAdminPassword: (*types.CustomizationPassword)(nil), - }, - LicenseFilePrintData: &types.CustomizationLicenseFilePrintData{ - AutoMode: "perServer", - AutoUsers: 5, - }, - }, - GlobalIPSettings: types.CustomizationGlobalIPSettings{}, - NicSettingMap: []types.CustomizationAdapterMapping{ - { - MacAddress: "", - Adapter: types.CustomizationIPSettings{ - Ip: &types.CustomizationUnknownIpGenerator{}, - SubnetMask: "255.255.255.0", - Gateway: []string{"10.0.0.1"}, - IpV6Spec: (*types.CustomizationIPSettingsIpV6AddressSpec)(nil), - DnsServerList: nil, - DnsDomain: "", - PrimaryWINS: "", - SecondaryWINS: "", - NetBIOS: "", - }, - }, - }, - EncryptionKey: []uint8{0x30}, - }, - }, - { - Info: types.CustomizationSpecInfo{ - Name: "vcsim-windows-domain", - Description: "", - Type: "Windows", - ChangeVersion: "1569970234", - LastUpdateTime: types.NewTime(time.Now()), - }, - Spec: types.CustomizationSpec{ - Options: &types.CustomizationWinOptions{ - CustomizationOptions: types.CustomizationOptions{}, - ChangeSID: true, - DeleteAccounts: false, - Reboot: "", - }, - Identity: &types.CustomizationSysprep{ - CustomizationIdentitySettings: types.CustomizationIdentitySettings{}, - GuiUnattended: types.CustomizationGuiUnattended{ - Password: &types.CustomizationPassword{ - Value: "3Gs...==", - PlainText: false, - }, - TimeZone: 15, - AutoLogon: false, - AutoLogonCount: 1, - }, - UserData: types.CustomizationUserData{ - FullName: "dougm", - OrgName: "VMware", - ComputerName: &types.CustomizationVirtualMachineName{}, - ProductId: "", - }, - GuiRunOnce: (*types.CustomizationGuiRunOnce)(nil), - Identification: types.CustomizationIdentification{ - JoinWorkgroup: "", - JoinDomain: "DOMAIN", - DomainAdmin: "vcsim", - DomainAdminPassword: &types.CustomizationPassword{ - Value: "H3g...==", - PlainText: false, - }, - }, - LicenseFilePrintData: &types.CustomizationLicenseFilePrintData{ - AutoMode: "perServer", - AutoUsers: 5, - }, - }, - GlobalIPSettings: types.CustomizationGlobalIPSettings{}, - NicSettingMap: []types.CustomizationAdapterMapping{ - { - MacAddress: "", - Adapter: types.CustomizationIPSettings{ - Ip: &types.CustomizationUnknownIpGenerator{}, - SubnetMask: "255.255.255.0", - Gateway: []string{"10.0.0.1"}, - IpV6Spec: (*types.CustomizationIPSettingsIpV6AddressSpec)(nil), - DnsServerList: nil, - DnsDomain: "", - PrimaryWINS: "", - SecondaryWINS: "", - NetBIOS: "", - }, - }, - }, - EncryptionKey: []uint8{0x30}, - }, - }, -} - -type CustomizationSpecManager struct { - mo.CustomizationSpecManager - - items []types.CustomizationSpecItem -} - -func (m *CustomizationSpecManager) init(r *Registry) { - m.items = DefaultCustomizationSpec -} - -var customizeNameCounter uint64 - -func customizeName(vm *VirtualMachine, base types.BaseCustomizationName) string { - n := atomic.AddUint64(&customizeNameCounter, 1) - - switch name := base.(type) { - case *types.CustomizationPrefixName: - return fmt.Sprintf("%s-%d", name.Base, n) - case *types.CustomizationCustomName: - return fmt.Sprintf("%s-%d", name.Argument, n) - case *types.CustomizationFixedName: - return name.Name - case *types.CustomizationUnknownName: - return "" - case *types.CustomizationVirtualMachineName: - return fmt.Sprintf("%s-%d", vm.Name, n) - default: - return "" - } -} - -func (m *CustomizationSpecManager) DoesCustomizationSpecExist(ctx *Context, req *types.DoesCustomizationSpecExist) soap.HasFault { - exists := false - - for _, item := range m.items { - if item.Info.Name == req.Name { - exists = true - break - } - } - - return &methods.DoesCustomizationSpecExistBody{ - Res: &types.DoesCustomizationSpecExistResponse{ - Returnval: exists, - }, - } -} - -func (m *CustomizationSpecManager) GetCustomizationSpec(ctx *Context, req *types.GetCustomizationSpec) soap.HasFault { - body := new(methods.GetCustomizationSpecBody) - - for _, item := range m.items { - if item.Info.Name == req.Name { - body.Res = &types.GetCustomizationSpecResponse{ - Returnval: item, - } - return body - } - } - - body.Fault_ = Fault("", new(types.NotFound)) - - return body -} - -func (m *CustomizationSpecManager) CreateCustomizationSpec(ctx *Context, req *types.CreateCustomizationSpec) soap.HasFault { - body := new(methods.CreateCustomizationSpecBody) - - for _, item := range m.items { - if item.Info.Name == req.Item.Info.Name { - body.Fault_ = Fault("", &types.AlreadyExists{Name: req.Item.Info.Name}) - return body - } - } - - m.items = append(m.items, req.Item) - body.Res = new(types.CreateCustomizationSpecResponse) - - return body -} - -func (m *CustomizationSpecManager) OverwriteCustomizationSpec(ctx *Context, req *types.OverwriteCustomizationSpec) soap.HasFault { - body := new(methods.OverwriteCustomizationSpecBody) - - for i, item := range m.items { - if item.Info.Name == req.Item.Info.Name { - m.items[i] = req.Item - body.Res = new(types.OverwriteCustomizationSpecResponse) - return body - } - } - - body.Fault_ = Fault("", new(types.NotFound)) - - return body -} - -func (m *CustomizationSpecManager) Get() mo.Reference { - clone := *m - - for i := range clone.items { - clone.Info = append(clone.Info, clone.items[i].Info) - } - - return &clone -} diff --git a/vendor/github.com/vmware/govmomi/simulator/datacenter.go b/vendor/github.com/vmware/govmomi/simulator/datacenter.go deleted file mode 100644 index 41fc56961e3..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/datacenter.go +++ /dev/null @@ -1,220 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "log" - "strings" - - "github.com/vmware/govmomi/simulator/esx" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -type Datacenter struct { - mo.Datacenter - - isESX bool -} - -// NewDatacenter creates a Datacenter and its child folders. -func NewDatacenter(ctx *Context, f *mo.Folder) *Datacenter { - dc := &Datacenter{ - isESX: f.Self == esx.RootFolder.Self, - } - - if dc.isESX { - dc.Datacenter = esx.Datacenter - } - - folderPutChild(ctx, f, dc) - - dc.createFolders(ctx) - - return dc -} - -func (dc *Datacenter) RenameTask(ctx *Context, r *types.Rename_Task) soap.HasFault { - return RenameTask(ctx, dc, r) -} - -// Create Datacenter Folders. -// Every Datacenter has 4 inventory Folders: Vm, Host, Datastore and Network. -// The ESX folder child types are limited to 1 type. -// The VC folders have additional child types, including nested folders. -func (dc *Datacenter) createFolders(ctx *Context) { - folders := []struct { - ref *types.ManagedObjectReference - name string - types []string - }{ - {&dc.VmFolder, "vm", []string{"VirtualMachine", "VirtualApp", "Folder"}}, - {&dc.HostFolder, "host", []string{"ComputeResource", "Folder"}}, - {&dc.DatastoreFolder, "datastore", []string{"Datastore", "StoragePod", "Folder"}}, - {&dc.NetworkFolder, "network", []string{"Network", "DistributedVirtualSwitch", "Folder"}}, - } - - for _, f := range folders { - folder := &Folder{} - folder.Name = f.name - - if dc.isESX { - folder.ChildType = f.types[:1] - folder.Self = *f.ref - ctx.Map.PutEntity(dc, folder) - } else { - folder.ChildType = f.types - e := ctx.Map.PutEntity(dc, folder) - - // propagate the generated morefs to Datacenter - ref := e.Reference() - f.ref.Type = ref.Type - f.ref.Value = ref.Value - } - } - - net := ctx.Map.Get(dc.NetworkFolder).(*Folder) - - for _, ref := range esx.Datacenter.Network { - // Add VM Network by default to each Datacenter - network := &mo.Network{} - network.Self = ref - network.Name = strings.Split(ref.Value, "-")[1] - network.Entity().Name = network.Name - if !dc.isESX { - network.Self.Value = "" // we want a different moid per-DC - } - - folderPutChild(ctx, &net.Folder, network) - } -} - -func (dc *Datacenter) defaultNetwork() []types.ManagedObjectReference { - return dc.Network[:1] // VM Network -} - -// folder returns the Datacenter folder that can contain the given object type -func (dc *Datacenter) folder(obj mo.Entity) *mo.Folder { - folders := []types.ManagedObjectReference{ - dc.VmFolder, - dc.HostFolder, - dc.DatastoreFolder, - dc.NetworkFolder, - } - otype := getManagedObject(obj).Type() - rtype := obj.Reference().Type - - for i := range folders { - folder, _ := asFolderMO(Map.Get(folders[i])) - for _, kind := range folder.ChildType { - if rtype == kind { - return folder - } - if f, ok := otype.FieldByName(kind); ok && f.Anonymous { - return folder - } - } - } - - log.Panicf("failed to find folder for type=%s", rtype) - return nil -} - -func datacenterEventArgument(obj mo.Entity) *types.DatacenterEventArgument { - dc, ok := obj.(*Datacenter) - if !ok { - dc = Map.getEntityDatacenter(obj) - } - return &types.DatacenterEventArgument{ - Datacenter: dc.Self, - EntityEventArgument: types.EntityEventArgument{Name: dc.Name}, - } -} - -func (dc *Datacenter) PowerOnMultiVMTask(ctx *Context, req *types.PowerOnMultiVM_Task) soap.HasFault { - task := CreateTask(dc, "powerOnMultiVM", func(_ *Task) (types.AnyType, types.BaseMethodFault) { - if dc.isESX { - return nil, new(types.NotImplemented) - } - - // Return per-VM tasks, structured as: - // thisTask.result - DC level task - // +- []Attempted - // +- subTask.result - VM level powerOn task result - // +- ... - res := types.ClusterPowerOnVmResult{} - res.Attempted = []types.ClusterAttemptedVmInfo{} - - for _, ref := range req.Vm { - vm := ctx.Map.Get(ref).(*VirtualMachine) - - // This task creates multiple subtasks which violates the assumption - // of 1:1 Context:Task, which results in data races in objects - // like the Simulator.Event manager. This is the minimum context - // required for the PowerOnVMTask to complete. - taskCtx := &Context{ - Context: ctx.Context, - Session: ctx.Session, - Map: ctx.Map, - } - - // NOTE: Simulator does not actually perform any specific host-level placement - // (equivalent to vSphere DRS). - taskCtx.WithLock(vm, func() { - vmTaskBody := vm.PowerOnVMTask(taskCtx, &types.PowerOnVM_Task{}).(*methods.PowerOnVM_TaskBody) - res.Attempted = append(res.Attempted, types.ClusterAttemptedVmInfo{Vm: ref, Task: &vmTaskBody.Res.Returnval}) - }) - } - - return res, nil - }) - - return &methods.PowerOnMultiVM_TaskBody{ - Res: &types.PowerOnMultiVM_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} - -func (d *Datacenter) DestroyTask(ctx *Context, req *types.Destroy_Task) soap.HasFault { - task := CreateTask(d, "destroy", func(t *Task) (types.AnyType, types.BaseMethodFault) { - folders := []types.ManagedObjectReference{ - d.VmFolder, - d.HostFolder, - } - - for _, ref := range folders { - f, _ := asFolderMO(ctx.Map.Get(ref)) - if len(f.ChildEntity) != 0 { - return nil, &types.ResourceInUse{} - } - } - - p, _ := asFolderMO(ctx.Map.Get(*d.Parent)) - folderRemoveChild(ctx, p, d.Self) - - return nil, nil - }) - - return &methods.Destroy_TaskBody{ - Res: &types.Destroy_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} diff --git a/vendor/github.com/vmware/govmomi/simulator/datastore.go b/vendor/github.com/vmware/govmomi/simulator/datastore.go deleted file mode 100644 index f341bdd1743..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/datastore.go +++ /dev/null @@ -1,116 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "net/url" - "os" - "path" - "strings" - "time" - - "github.com/vmware/govmomi/object" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -type Datastore struct { - mo.Datastore -} - -func (ds *Datastore) eventArgument() *types.DatastoreEventArgument { - return &types.DatastoreEventArgument{ - Datastore: ds.Self, - EntityEventArgument: types.EntityEventArgument{Name: ds.Name}, - } -} - -func (ds *Datastore) model(m *Model) error { - info := ds.Info.GetDatastoreInfo() - u, _ := url.Parse(info.Url) - if u.Scheme == "ds" { - // rewrite saved vmfs path to a local temp dir - u.Path = path.Clean(u.Path) - parent := strings.ReplaceAll(path.Dir(u.Path), "/", "_") - name := strings.ReplaceAll(path.Base(u.Path), ":", "_") - - dir, err := m.createTempDir(parent, name) - if err != nil { - return err - } - - info.Url = dir - } - return nil -} - -func parseDatastorePath(dsPath string) (*object.DatastorePath, types.BaseMethodFault) { - var p object.DatastorePath - - if p.FromString(dsPath) { - return &p, nil - } - - return nil, &types.InvalidDatastorePath{DatastorePath: dsPath} -} - -func (ds *Datastore) RefreshDatastore(*types.RefreshDatastore) soap.HasFault { - r := &methods.RefreshDatastoreBody{} - - _, err := os.Stat(ds.Info.GetDatastoreInfo().Url) - if err != nil { - r.Fault_ = Fault(err.Error(), &types.HostConfigFault{}) - return r - } - - info := ds.Info.GetDatastoreInfo() - - info.Timestamp = types.NewTime(time.Now()) - - return r -} - -func (ds *Datastore) DestroyTask(ctx *Context, req *types.Destroy_Task) soap.HasFault { - task := CreateTask(ds, "destroy", func(*Task) (types.AnyType, types.BaseMethodFault) { - if len(ds.Vm) != 0 { - return nil, &types.ResourceInUse{ - Type: ds.Self.Type, - Name: ds.Name, - } - } - - for _, mount := range ds.Host { - host := ctx.Map.Get(mount.Key).(*HostSystem) - ctx.Map.RemoveReference(ctx, host, &host.Datastore, ds.Self) - parent := hostParent(&host.HostSystem) - ctx.Map.RemoveReference(ctx, parent, &parent.Datastore, ds.Self) - } - - p, _ := asFolderMO(ctx.Map.Get(*ds.Parent)) - folderRemoveChild(ctx, p, ds.Self) - - return nil, nil - }) - - return &methods.Destroy_TaskBody{ - Res: &types.Destroy_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} diff --git a/vendor/github.com/vmware/govmomi/simulator/doc.go b/vendor/github.com/vmware/govmomi/simulator/doc.go deleted file mode 100644 index 441e9a0e7f4..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/doc.go +++ /dev/null @@ -1,22 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -/* -Package simulator is a mock framework for the vSphere API. - -See also: https://github.com/vmware/govmomi/blob/master/vcsim/README.md -*/ -package simulator diff --git a/vendor/github.com/vmware/govmomi/simulator/dvs.go b/vendor/github.com/vmware/govmomi/simulator/dvs.go deleted file mode 100644 index ec73f06edc9..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/dvs.go +++ /dev/null @@ -1,395 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "fmt" - "strconv" - "strings" - - "github.com/google/uuid" - - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -type DistributedVirtualSwitch struct { - mo.DistributedVirtualSwitch - - types.FetchDVPortsResponse -} - -func (s *DistributedVirtualSwitch) AddDVPortgroupTask(ctx *Context, c *types.AddDVPortgroup_Task) soap.HasFault { - task := CreateTask(s, "addDVPortgroup", func(t *Task) (types.AnyType, types.BaseMethodFault) { - f := ctx.Map.getEntityParent(s, "Folder").(*Folder) - - portgroups := s.Portgroup - portgroupNames := s.Summary.PortgroupName - - for _, spec := range c.Spec { - pg := &DistributedVirtualPortgroup{} - pg.Name = spec.Name - pg.Entity().Name = pg.Name - - // Standard AddDVPortgroupTask() doesn't allow duplicate names, but NSX 3.0 does create some DVPGs with the same name. - // Allow duplicate names using this prefix so we can reproduce and test this condition. - if strings.HasPrefix(pg.Name, "NSX-") || spec.BackingType == string(types.DistributedVirtualPortgroupBackingTypeNsx) { - if spec.LogicalSwitchUuid == "" { - spec.LogicalSwitchUuid = uuid.New().String() - } - if spec.SegmentId == "" { - spec.SegmentId = fmt.Sprintf("/infra/segments/vnet_%s", uuid.New().String()) - } - - } else { - if obj := ctx.Map.FindByName(pg.Name, f.ChildEntity); obj != nil { - return nil, &types.DuplicateName{ - Name: pg.Name, - Object: obj.Reference(), - } - } - } - - folderPutChild(ctx, &f.Folder, pg) - - pg.Key = pg.Self.Value - pg.Config = types.DVPortgroupConfigInfo{ - Key: pg.Key, - Name: pg.Name, - NumPorts: spec.NumPorts, - DistributedVirtualSwitch: &s.Self, - DefaultPortConfig: spec.DefaultPortConfig, - Description: spec.Description, - Type: spec.Type, - Policy: spec.Policy, - PortNameFormat: spec.PortNameFormat, - Scope: spec.Scope, - VendorSpecificConfig: spec.VendorSpecificConfig, - ConfigVersion: spec.ConfigVersion, - AutoExpand: spec.AutoExpand, - VmVnicNetworkResourcePoolKey: spec.VmVnicNetworkResourcePoolKey, - LogicalSwitchUuid: spec.LogicalSwitchUuid, - SegmentId: spec.SegmentId, - BackingType: spec.BackingType, - } - - if pg.Config.LogicalSwitchUuid != "" { - if pg.Config.BackingType == "" { - pg.Config.BackingType = "nsx" - } - } - - if pg.Config.DefaultPortConfig == nil { - pg.Config.DefaultPortConfig = &types.VMwareDVSPortSetting{ - Vlan: new(types.VmwareDistributedVirtualSwitchVlanIdSpec), - UplinkTeamingPolicy: &types.VmwareUplinkPortTeamingPolicy{ - Policy: &types.StringPolicy{ - Value: "loadbalance_srcid", - }, - ReversePolicy: &types.BoolPolicy{ - Value: types.NewBool(true), - }, - NotifySwitches: &types.BoolPolicy{ - Value: types.NewBool(true), - }, - RollingOrder: &types.BoolPolicy{ - Value: types.NewBool(true), - }, - }, - } - } - - if pg.Config.Policy == nil { - pg.Config.Policy = &types.VMwareDVSPortgroupPolicy{ - DVPortgroupPolicy: types.DVPortgroupPolicy{ - BlockOverrideAllowed: true, - ShapingOverrideAllowed: false, - VendorConfigOverrideAllowed: false, - LivePortMovingAllowed: false, - PortConfigResetAtDisconnect: true, - NetworkResourcePoolOverrideAllowed: types.NewBool(false), - TrafficFilterOverrideAllowed: types.NewBool(false), - }, - VlanOverrideAllowed: false, - UplinkTeamingOverrideAllowed: false, - SecurityPolicyOverrideAllowed: false, - IpfixOverrideAllowed: types.NewBool(false), - } - } - - for i := 0; i < int(spec.NumPorts); i++ { - pg.PortKeys = append(pg.PortKeys, strconv.Itoa(i)) - } - - portgroups = append(portgroups, pg.Self) - portgroupNames = append(portgroupNames, pg.Name) - - for _, h := range s.Summary.HostMember { - pg.Host = append(pg.Host, h) - - host := ctx.Map.Get(h).(*HostSystem) - ctx.Map.AppendReference(ctx, host, &host.Network, pg.Reference()) - - parent := ctx.Map.Get(*host.HostSystem.Parent) - computeNetworks := append(hostParent(&host.HostSystem).Network, pg.Reference()) - ctx.Map.Update(parent, []types.PropertyChange{ - {Name: "network", Val: computeNetworks}, - }) - } - } - - ctx.Map.Update(s, []types.PropertyChange{ - {Name: "portgroup", Val: portgroups}, - {Name: "summary.portgroupName", Val: portgroupNames}, - }) - - return nil, nil - }) - - return &methods.AddDVPortgroup_TaskBody{ - Res: &types.AddDVPortgroup_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} - -func (s *DistributedVirtualSwitch) ReconfigureDvsTask(ctx *Context, req *types.ReconfigureDvs_Task) soap.HasFault { - task := CreateTask(s, "reconfigureDvs", func(t *Task) (types.AnyType, types.BaseMethodFault) { - spec := req.Spec.GetDVSConfigSpec() - - members := s.Summary.HostMember - - for _, member := range spec.Host { - h := ctx.Map.Get(member.Host) - if h == nil { - return nil, &types.ManagedObjectNotFound{Obj: member.Host} - } - - host := h.(*HostSystem) - - switch types.ConfigSpecOperation(member.Operation) { - case types.ConfigSpecOperationAdd: - if FindReference(s.Summary.HostMember, member.Host) != nil { - return nil, &types.AlreadyExists{Name: host.Name} - } - - hostNetworks := append(host.Network, s.Portgroup...) - ctx.Map.Update(host, []types.PropertyChange{ - {Name: "network", Val: hostNetworks}, - }) - members = append(members, member.Host) - parent := ctx.Map.Get(*host.HostSystem.Parent) - - var pgs []types.ManagedObjectReference - for _, ref := range s.Portgroup { - pg := ctx.Map.Get(ref).(*DistributedVirtualPortgroup) - pgs = append(pgs, ref) - - pgHosts := append(pg.Host, member.Host) - ctx.Map.Update(pg, []types.PropertyChange{ - {Name: "host", Val: pgHosts}, - }) - - cr := hostParent(&host.HostSystem) - if FindReference(cr.Network, ref) == nil { - computeNetworks := append(cr.Network, ref) - ctx.Map.Update(parent, []types.PropertyChange{ - {Name: "network", Val: computeNetworks}, - }) - } - } - - case types.ConfigSpecOperationRemove: - for _, ref := range host.Vm { - vm := ctx.Map.Get(ref).(*VirtualMachine) - if pg := FindReference(vm.Network, s.Portgroup...); pg != nil { - return nil, &types.ResourceInUse{ - Type: pg.Type, - Name: pg.Value, - } - } - } - - RemoveReference(&members, member.Host) - case types.ConfigSpecOperationEdit: - return nil, &types.NotSupported{} - } - } - - ctx.Map.Update(s, []types.PropertyChange{ - {Name: "summary.hostMember", Val: members}, - }) - - return nil, nil - }) - - return &methods.ReconfigureDvs_TaskBody{ - Res: &types.ReconfigureDvs_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} - -func (s *DistributedVirtualSwitch) FetchDVPorts(req *types.FetchDVPorts) soap.HasFault { - body := &methods.FetchDVPortsBody{} - body.Res = &types.FetchDVPortsResponse{ - Returnval: s.dvPortgroups(req.Criteria), - } - return body -} - -func (s *DistributedVirtualSwitch) DestroyTask(ctx *Context, req *types.Destroy_Task) soap.HasFault { - task := CreateTask(s, "destroy", func(t *Task) (types.AnyType, types.BaseMethodFault) { - f := ctx.Map.getEntityParent(s, "Folder").(*Folder) - folderRemoveChild(ctx, &f.Folder, s.Reference()) - return nil, nil - }) - - return &methods.Destroy_TaskBody{ - Res: &types.Destroy_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} - -func (s *DistributedVirtualSwitch) dvPortgroups(criteria *types.DistributedVirtualSwitchPortCriteria) []types.DistributedVirtualPort { - res := s.FetchDVPortsResponse.Returnval - if len(res) != 0 { - return res - } - - for _, ref := range s.Portgroup { - pg := Map.Get(ref).(*DistributedVirtualPortgroup) - - for _, key := range pg.PortKeys { - res = append(res, types.DistributedVirtualPort{ - DvsUuid: s.Uuid, - Key: key, - PortgroupKey: pg.Key, - Config: types.DVPortConfigInfo{ - Setting: pg.Config.DefaultPortConfig, - }, - }) - } - } - - // filter ports by criteria - res = s.filterDVPorts(res, criteria) - - return res -} - -func (s *DistributedVirtualSwitch) filterDVPorts( - ports []types.DistributedVirtualPort, - criteria *types.DistributedVirtualSwitchPortCriteria, -) []types.DistributedVirtualPort { - if criteria == nil { - return ports - } - - ports = s.filterDVPortsByPortgroupKey(ports, criteria) - ports = s.filterDVPortsByPortKey(ports, criteria) - ports = s.filterDVPortsByConnected(ports, criteria) - - return ports -} - -func (s *DistributedVirtualSwitch) filterDVPortsByPortgroupKey( - ports []types.DistributedVirtualPort, - criteria *types.DistributedVirtualSwitchPortCriteria, -) []types.DistributedVirtualPort { - if len(criteria.PortgroupKey) == 0 || criteria.Inside == nil { - return ports - } - - // inside portgroup keys - if *criteria.Inside { - filtered := []types.DistributedVirtualPort{} - - for _, p := range ports { - for _, pgk := range criteria.PortgroupKey { - if p.PortgroupKey == pgk { - filtered = append(filtered, p) - break - } - } - } - return filtered - } - - // outside portgroup keys - filtered := []types.DistributedVirtualPort{} - - for _, p := range ports { - found := false - for _, pgk := range criteria.PortgroupKey { - if p.PortgroupKey == pgk { - found = true - break - } - } - - if !found { - filtered = append(filtered, p) - } - } - return filtered -} - -func (s *DistributedVirtualSwitch) filterDVPortsByPortKey( - ports []types.DistributedVirtualPort, - criteria *types.DistributedVirtualSwitchPortCriteria, -) []types.DistributedVirtualPort { - if len(criteria.PortKey) == 0 { - return ports - } - - filtered := []types.DistributedVirtualPort{} - - for _, p := range ports { - for _, pk := range criteria.PortKey { - if p.Key == pk { - filtered = append(filtered, p) - break - } - } - } - - return filtered -} - -func (s *DistributedVirtualSwitch) filterDVPortsByConnected( - ports []types.DistributedVirtualPort, - criteria *types.DistributedVirtualSwitchPortCriteria, -) []types.DistributedVirtualPort { - if criteria.Connected == nil { - return ports - } - - filtered := []types.DistributedVirtualPort{} - - for _, p := range ports { - connected := p.Connectee != nil - if connected == *criteria.Connected { - filtered = append(filtered, p) - } - } - - return filtered -} diff --git a/vendor/github.com/vmware/govmomi/simulator/dvs_manager.go b/vendor/github.com/vmware/govmomi/simulator/dvs_manager.go deleted file mode 100644 index 8643027c106..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/dvs_manager.go +++ /dev/null @@ -1,51 +0,0 @@ -/* - Copyright (c) 2020 VMware, Inc. All Rights Reserved. - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - -http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -*/ - -package simulator - -import ( - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -type DistributedVirtualSwitchManager struct { - mo.DistributedVirtualSwitchManager -} - -func (m *DistributedVirtualSwitchManager) DVSManagerLookupDvPortGroup(ctx *Context, req *types.DVSManagerLookupDvPortGroup) soap.HasFault { - body := &methods.DVSManagerLookupDvPortGroupBody{} - - for _, obj := range ctx.Map.All("DistributedVirtualSwitch") { - dvs := obj.(*DistributedVirtualSwitch) - if dvs.Uuid == req.SwitchUuid { - for _, ref := range dvs.Portgroup { - pg := ctx.Map.Get(ref).(*DistributedVirtualPortgroup) - if pg.Key == req.PortgroupKey { - body.Res = &types.DVSManagerLookupDvPortGroupResponse{ - Returnval: &ref, - } - return body - } - } - } - } - - body.Fault_ = Fault("", new(types.NotFound)) - - return body -} diff --git a/vendor/github.com/vmware/govmomi/simulator/entity.go b/vendor/github.com/vmware/govmomi/simulator/entity.go deleted file mode 100644 index 183e954f080..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/entity.go +++ /dev/null @@ -1,47 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -func RenameTask(ctx *Context, e mo.Entity, r *types.Rename_Task, dup ...bool) soap.HasFault { - task := CreateTask(e, "rename", func(t *Task) (types.AnyType, types.BaseMethodFault) { - obj := ctx.Map.Get(r.This).(mo.Entity).Entity() - - canDup := len(dup) == 1 && dup[0] - if parent, ok := asFolderMO(ctx.Map.Get(*obj.Parent)); ok && !canDup { - if ctx.Map.FindByName(r.NewName, parent.ChildEntity) != nil { - return nil, &types.InvalidArgument{InvalidProperty: "name"} - } - } - - ctx.Map.Update(e, []types.PropertyChange{{Name: "name", Val: r.NewName}}) - - return nil, nil - }) - - return &methods.Rename_TaskBody{ - Res: &types.Rename_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} diff --git a/vendor/github.com/vmware/govmomi/simulator/environment_browser.go b/vendor/github.com/vmware/govmomi/simulator/environment_browser.go deleted file mode 100644 index 4f8ba8ed9e6..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/environment_browser.go +++ /dev/null @@ -1,235 +0,0 @@ -/* -Copyright (c) 2019 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "strings" - - "github.com/vmware/govmomi/simulator/esx" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -type EnvironmentBrowser struct { - mo.EnvironmentBrowser - - types.QueryConfigOptionResponse -} - -func newEnvironmentBrowser() *types.ManagedObjectReference { - env := new(EnvironmentBrowser) - Map.Put(env) - return &env.Self -} - -func (b *EnvironmentBrowser) hosts(ctx *Context) []types.ManagedObjectReference { - ctx.Map.m.Lock() - defer ctx.Map.m.Unlock() - for _, obj := range ctx.Map.objects { - switch e := obj.(type) { - case *mo.ComputeResource: - if b.Self == *e.EnvironmentBrowser { - return e.Host - } - case *ClusterComputeResource: - if b.Self == *e.EnvironmentBrowser { - return e.Host - } - } - } - return nil -} - -func (b *EnvironmentBrowser) QueryConfigOption(req *types.QueryConfigOption) soap.HasFault { - body := new(methods.QueryConfigOptionBody) - - opt := b.QueryConfigOptionResponse.Returnval - if opt == nil { - opt = &types.VirtualMachineConfigOption{ - Version: esx.HardwareVersion, - DefaultDevice: esx.VirtualDevice, - } - } - - body.Res = &types.QueryConfigOptionResponse{ - Returnval: opt, - } - - return body -} - -func guestFamily(id string) string { - // TODO: We could capture the entire GuestOsDescriptor list from EnvironmentBrowser, - // but it is a ton of data.. this should be good enough for now. - switch { - case strings.HasPrefix(id, "win"): - return string(types.VirtualMachineGuestOsFamilyWindowsGuest) - case strings.HasPrefix(id, "darwin"): - return string(types.VirtualMachineGuestOsFamilyDarwinGuestFamily) - default: - return string(types.VirtualMachineGuestOsFamilyLinuxGuest) - } -} - -func (b *EnvironmentBrowser) QueryConfigOptionEx(req *types.QueryConfigOptionEx) soap.HasFault { - body := new(methods.QueryConfigOptionExBody) - - opt := b.QueryConfigOptionResponse.Returnval - if opt == nil { - opt = &types.VirtualMachineConfigOption{ - Version: esx.HardwareVersion, - DefaultDevice: esx.VirtualDevice, - } - } - - if req.Spec != nil { - // From the SDK QueryConfigOptionEx doc: - // "If guestId is nonempty, the guestOSDescriptor array of the config option is filtered to match against the guest IDs in the spec. - // If there is no match, the whole list is returned." - for _, id := range req.Spec.GuestId { - for _, gid := range GuestID { - if string(gid) == id { - opt.GuestOSDescriptor = []types.GuestOsDescriptor{{ - Id: id, - Family: guestFamily(id), - }} - - break - } - } - } - } - - if len(opt.GuestOSDescriptor) == 0 { - for i := range GuestID { - id := string(GuestID[i]) - opt.GuestOSDescriptor = append(opt.GuestOSDescriptor, types.GuestOsDescriptor{ - Id: id, - Family: guestFamily(id), - }) - } - } - - body.Res = &types.QueryConfigOptionExResponse{ - Returnval: opt, - } - - return body -} - -func (b *EnvironmentBrowser) QueryConfigOptionDescriptor(ctx *Context, req *types.QueryConfigOptionDescriptor) soap.HasFault { - body := &methods.QueryConfigOptionDescriptorBody{ - Res: new(types.QueryConfigOptionDescriptorResponse), - } - - body.Res.Returnval = []types.VirtualMachineConfigOptionDescriptor{{ - Key: esx.HardwareVersion, - Description: esx.HardwareVersion, - Host: b.hosts(ctx), - CreateSupported: types.NewBool(true), - DefaultConfigOption: types.NewBool(false), - RunSupported: types.NewBool(true), - UpgradeSupported: types.NewBool(true), - }} - - return body -} - -func (b *EnvironmentBrowser) QueryConfigTarget(ctx *Context, req *types.QueryConfigTarget) soap.HasFault { - body := &methods.QueryConfigTargetBody{ - Res: &types.QueryConfigTargetResponse{ - Returnval: &types.ConfigTarget{ - SmcPresent: types.NewBool(false), - }, - }, - } - target := body.Res.Returnval - - var hosts []types.ManagedObjectReference - if req.Host == nil { - hosts = b.hosts(ctx) - } else { - hosts = append(hosts, *req.Host) - } - - seen := make(map[types.ManagedObjectReference]bool) - - for i := range hosts { - host := ctx.Map.Get(hosts[i]).(*HostSystem) - target.NumCpus += int32(host.Summary.Hardware.NumCpuPkgs) - target.NumCpuCores += int32(host.Summary.Hardware.NumCpuCores) - target.NumNumaNodes++ - - for _, ref := range host.Datastore { - if seen[ref] { - continue - } - seen[ref] = true - - ds := ctx.Map.Get(ref).(*Datastore) - target.Datastore = append(target.Datastore, types.VirtualMachineDatastoreInfo{ - VirtualMachineTargetInfo: types.VirtualMachineTargetInfo{ - Name: ds.Name, - }, - Datastore: ds.Summary, - Capability: ds.Capability, - Mode: string(types.HostMountModeReadWrite), - VStorageSupport: string(types.FileSystemMountInfoVStorageSupportStatusVStorageUnsupported), - }) - } - - for _, ref := range host.Network { - if seen[ref] { - continue - } - seen[ref] = true - - switch n := ctx.Map.Get(ref).(type) { - case *mo.Network: - target.Network = append(target.Network, types.VirtualMachineNetworkInfo{ - VirtualMachineTargetInfo: types.VirtualMachineTargetInfo{ - Name: n.Name, - }, - Network: n.Summary.GetNetworkSummary(), - }) - case *DistributedVirtualPortgroup: - dvs := ctx.Map.Get(*n.Config.DistributedVirtualSwitch).(*DistributedVirtualSwitch) - target.DistributedVirtualPortgroup = append(target.DistributedVirtualPortgroup, types.DistributedVirtualPortgroupInfo{ - SwitchName: dvs.Name, - SwitchUuid: dvs.Uuid, - PortgroupName: n.Name, - PortgroupKey: n.Key, - PortgroupType: n.Config.Type, - UplinkPortgroup: false, - Portgroup: n.Self, - NetworkReservationSupported: types.NewBool(false), - }) - case *DistributedVirtualSwitch: - target.DistributedVirtualSwitch = append(target.DistributedVirtualSwitch, types.DistributedVirtualSwitchInfo{ - SwitchName: n.Name, - SwitchUuid: n.Uuid, - DistributedVirtualSwitch: n.Self, - NetworkReservationSupported: types.NewBool(false), - }) - } - } - } - - return body -} diff --git a/vendor/github.com/vmware/govmomi/simulator/esx/authorization_manager.go b/vendor/github.com/vmware/govmomi/simulator/esx/authorization_manager.go deleted file mode 100644 index d76459be9ef..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/esx/authorization_manager.go +++ /dev/null @@ -1,85 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package esx - -import "github.com/vmware/govmomi/vim25/types" - -// RoleList is the default template for the AuthorizationManager roleList property. -// Capture method: -// govc object.collect -s -dump AuthorizationManager:ha-authmgr roleList -var RoleList = []types.AuthorizationRole{ - { - RoleId: -6, - System: true, - Name: "NoCryptoAdmin", - Info: &types.Description{ - Label: "No cryptography administrator", - Summary: "Full access without Cryptographic operations privileges", - }, - Privilege: []string{"Alarm.Acknowledge", "Alarm.Create", "Alarm.Delete", "Alarm.DisableActions", "Alarm.Edit", "Alarm.SetStatus", "Authorization.ModifyPermissions", "Authorization.ModifyPrivileges", "Authorization.ModifyRoles", "Authorization.ReassignRolePermissions", "AutoDeploy.Host.AssociateMachine", "AutoDeploy.Profile.Create", "AutoDeploy.Profile.Edit", "AutoDeploy.Rule.Create", "AutoDeploy.Rule.Delete", "AutoDeploy.Rule.Edit", "AutoDeploy.RuleSet.Activate", "AutoDeploy.RuleSet.Edit", "Certificate.Manage", "ContentLibrary.AddLibraryItem", "ContentLibrary.CreateLocalLibrary", "ContentLibrary.CreateSubscribedLibrary", "ContentLibrary.DeleteLibraryItem", "ContentLibrary.DeleteLocalLibrary", "ContentLibrary.DeleteSubscribedLibrary", "ContentLibrary.DownloadSession", "ContentLibrary.EvictLibraryItem", "ContentLibrary.EvictSubscribedLibrary", "ContentLibrary.GetConfiguration", "ContentLibrary.ImportStorage", "ContentLibrary.ProbeSubscription", "ContentLibrary.ReadStorage", "ContentLibrary.SyncLibrary", "ContentLibrary.SyncLibraryItem", "ContentLibrary.TypeIntrospection", "ContentLibrary.UpdateConfiguration", "ContentLibrary.UpdateLibrary", "ContentLibrary.UpdateLibraryItem", "ContentLibrary.UpdateLocalLibrary", "ContentLibrary.UpdateSession", "ContentLibrary.UpdateSubscribedLibrary", "DVPortgroup.Create", "DVPortgroup.Delete", "DVPortgroup.Modify", "DVPortgroup.PolicyOp", "DVPortgroup.ScopeOp", "DVSwitch.Create", "DVSwitch.Delete", "DVSwitch.HostOp", "DVSwitch.Modify", "DVSwitch.Move", "DVSwitch.PolicyOp", "DVSwitch.PortConfig", "DVSwitch.PortSetting", "DVSwitch.ResourceManagement", "DVSwitch.Vspan", "Datacenter.Create", "Datacenter.Delete", "Datacenter.IpPoolConfig", "Datacenter.IpPoolQueryAllocations", "Datacenter.IpPoolReleaseIp", "Datacenter.Move", "Datacenter.Reconfigure", "Datacenter.Rename", "Datastore.AllocateSpace", "Datastore.Browse", "Datastore.Config", "Datastore.Delete", "Datastore.DeleteFile", "Datastore.FileManagement", "Datastore.Move", "Datastore.Rename", "Datastore.UpdateVirtualMachineFiles", "Datastore.UpdateVirtualMachineMetadata", "EAM.Config", "EAM.Modify", "EAM.View", "Extension.Register", "Extension.Unregister", "Extension.Update", "ExternalStatsProvider.Register", "ExternalStatsProvider.Unregister", "ExternalStatsProvider.Update", "Folder.Create", "Folder.Delete", "Folder.Move", "Folder.Rename", "Global.CancelTask", "Global.CapacityPlanning", "Global.DisableMethods", "Global.EnableMethods", "Global.GlobalTag", "Global.Health", "Global.Licenses", "Global.LogEvent", "Global.ManageCustomFields", "Global.Proxy", "Global.ScriptAction", "Global.ServiceManagers", "Global.SetCustomField", "Global.Settings", "Global.SystemTag", "Global.VCServer", "HealthUpdateProvider.Register", "HealthUpdateProvider.Unregister", "HealthUpdateProvider.Update", "Host.Cim.CimInteraction", "Host.Config.AdvancedConfig", "Host.Config.AuthenticationStore", "Host.Config.AutoStart", "Host.Config.Connection", "Host.Config.DateTime", "Host.Config.Firmware", "Host.Config.HyperThreading", "Host.Config.Image", "Host.Config.Maintenance", "Host.Config.Memory", "Host.Config.NetService", "Host.Config.Network", "Host.Config.Patch", "Host.Config.PciPassthru", "Host.Config.Power", "Host.Config.Quarantine", "Host.Config.Resources", "Host.Config.Settings", "Host.Config.Snmp", "Host.Config.Storage", "Host.Config.SystemManagement", "Host.Hbr.HbrManagement", "Host.Inventory.CreateCluster", "Host.Inventory.DeleteCluster", "Host.Inventory.EditCluster", "Host.Inventory.MoveCluster", "Host.Inventory.MoveHost", "Host.Inventory.RemoveHostFromCluster", "Host.Inventory.RenameCluster", "Host.Local.CreateVM", "Host.Local.DeleteVM", "Host.Local.InstallAgent", "Host.Local.ReconfigVM", "InventoryService.Tagging.AttachTag", "InventoryService.Tagging.CreateCategory", "InventoryService.Tagging.CreateTag", "InventoryService.Tagging.DeleteCategory", "InventoryService.Tagging.DeleteTag", "InventoryService.Tagging.EditCategory", "InventoryService.Tagging.EditTag", "InventoryService.Tagging.ModifyUsedByForCategory", "InventoryService.Tagging.ModifyUsedByForTag", "Network.Assign", "Network.Config", "Network.Delete", "Network.Move", "Performance.ModifyIntervals", "Profile.Clear", "Profile.Create", "Profile.Delete", "Profile.Edit", "Profile.Export", "Profile.View", "Resource.ApplyRecommendation", "Resource.AssignVAppToPool", "Resource.AssignVMToPool", "Resource.ColdMigrate", "Resource.CreatePool", "Resource.DeletePool", "Resource.EditPool", "Resource.HotMigrate", "Resource.MovePool", "Resource.QueryVMotion", "Resource.RenamePool", "ScheduledTask.Create", "ScheduledTask.Delete", "ScheduledTask.Edit", "ScheduledTask.Run", "Sessions.GlobalMessage", "Sessions.ImpersonateUser", "Sessions.TerminateSession", "Sessions.ValidateSession", "StoragePod.Config", "StorageProfile.Update", "StorageProfile.View", "StorageViews.ConfigureService", "StorageViews.View", "System.Anonymous", "System.Read", "System.View", "Task.Create", "Task.Update", "TransferService.Manage", "TransferService.Monitor", "VApp.ApplicationConfig", "VApp.AssignResourcePool", "VApp.AssignVApp", "VApp.AssignVM", "VApp.Clone", "VApp.Create", "VApp.Delete", "VApp.Export", "VApp.ExtractOvfEnvironment", "VApp.Import", "VApp.InstanceConfig", "VApp.ManagedByConfig", "VApp.Move", "VApp.PowerOff", "VApp.PowerOn", "VApp.Rename", "VApp.ResourceConfig", "VApp.Suspend", "VApp.Unregister", "VRMPolicy.Query", "VRMPolicy.Update", "VirtualMachine.Config.AddExistingDisk", "VirtualMachine.Config.AddNewDisk", "VirtualMachine.Config.AddRemoveDevice", "VirtualMachine.Config.AdvancedConfig", "VirtualMachine.Config.Annotation", "VirtualMachine.Config.CPUCount", "VirtualMachine.Config.ChangeTracking", "VirtualMachine.Config.DiskExtend", "VirtualMachine.Config.DiskLease", "VirtualMachine.Config.EditDevice", "VirtualMachine.Config.HostUSBDevice", "VirtualMachine.Config.ManagedBy", "VirtualMachine.Config.Memory", "VirtualMachine.Config.MksControl", "VirtualMachine.Config.QueryFTCompatibility", "VirtualMachine.Config.QueryUnownedFiles", "VirtualMachine.Config.RawDevice", "VirtualMachine.Config.ReloadFromPath", "VirtualMachine.Config.RemoveDisk", "VirtualMachine.Config.Rename", "VirtualMachine.Config.ResetGuestInfo", "VirtualMachine.Config.Resource", "VirtualMachine.Config.Settings", "VirtualMachine.Config.SwapPlacement", "VirtualMachine.Config.ToggleForkParent", "VirtualMachine.Config.Unlock", "VirtualMachine.Config.UpgradeVirtualHardware", "VirtualMachine.GuestOperations.Execute", "VirtualMachine.GuestOperations.Modify", "VirtualMachine.GuestOperations.ModifyAliases", "VirtualMachine.GuestOperations.Query", "VirtualMachine.GuestOperations.QueryAliases", "VirtualMachine.Hbr.ConfigureReplication", "VirtualMachine.Hbr.MonitorReplication", "VirtualMachine.Hbr.ReplicaManagement", "VirtualMachine.Interact.AnswerQuestion", "VirtualMachine.Interact.Backup", "VirtualMachine.Interact.ConsoleInteract", "VirtualMachine.Interact.CreateScreenshot", "VirtualMachine.Interact.CreateSecondary", "VirtualMachine.Interact.DefragmentAllDisks", "VirtualMachine.Interact.DeviceConnection", "VirtualMachine.Interact.DisableSecondary", "VirtualMachine.Interact.DnD", "VirtualMachine.Interact.EnableSecondary", "VirtualMachine.Interact.MakePrimary", "VirtualMachine.Interact.Pause", "VirtualMachine.Interact.PowerOff", "VirtualMachine.Interact.PowerOn", "VirtualMachine.Interact.PutUsbScanCodes", "VirtualMachine.Interact.Record", "VirtualMachine.Interact.Replay", "VirtualMachine.Interact.Reset", "VirtualMachine.Interact.SESparseMaintenance", "VirtualMachine.Interact.SetCDMedia", "VirtualMachine.Interact.SetFloppyMedia", "VirtualMachine.Interact.Suspend", "VirtualMachine.Interact.TerminateFaultTolerantVM", "VirtualMachine.Interact.ToolsInstall", "VirtualMachine.Interact.TurnOffFaultTolerance", "VirtualMachine.Inventory.Create", "VirtualMachine.Inventory.CreateFromExisting", "VirtualMachine.Inventory.Delete", "VirtualMachine.Inventory.Move", "VirtualMachine.Inventory.Register", "VirtualMachine.Inventory.Unregister", "VirtualMachine.Namespace.Event", "VirtualMachine.Namespace.EventNotify", "VirtualMachine.Namespace.Management", "VirtualMachine.Namespace.ModifyContent", "VirtualMachine.Namespace.Query", "VirtualMachine.Namespace.ReadContent", "VirtualMachine.Provisioning.Clone", "VirtualMachine.Provisioning.CloneTemplate", "VirtualMachine.Provisioning.CreateTemplateFromVM", "VirtualMachine.Provisioning.Customize", "VirtualMachine.Provisioning.DeployTemplate", "VirtualMachine.Provisioning.DiskRandomAccess", "VirtualMachine.Provisioning.DiskRandomRead", "VirtualMachine.Provisioning.FileRandomAccess", "VirtualMachine.Provisioning.GetVmFiles", "VirtualMachine.Provisioning.MarkAsTemplate", "VirtualMachine.Provisioning.MarkAsVM", "VirtualMachine.Provisioning.ModifyCustSpecs", "VirtualMachine.Provisioning.PromoteDisks", "VirtualMachine.Provisioning.PutVmFiles", "VirtualMachine.Provisioning.ReadCustSpecs", "VirtualMachine.State.CreateSnapshot", "VirtualMachine.State.RemoveSnapshot", "VirtualMachine.State.RenameSnapshot", "VirtualMachine.State.RevertToSnapshot", "vService.CreateDependency", "vService.DestroyDependency", "vService.ReconfigureDependency", "vService.UpdateDependency"}, - }, - { - RoleId: -5, - System: true, - Name: "NoAccess", - Info: &types.Description{ - Label: "No access", - Summary: "Used for restricting granted access", - }, - Privilege: nil, - }, - { - RoleId: -4, - System: true, - Name: "Anonymous", - Info: &types.Description{ - Label: "Anonymous", - Summary: "Not logged-in user (cannot be granted)", - }, - Privilege: []string{"System.Anonymous"}, - }, - { - RoleId: -3, - System: true, - Name: "View", - Info: &types.Description{ - Label: "View", - Summary: "Visibility access (cannot be granted)", - }, - Privilege: []string{"System.Anonymous", "System.View"}, - }, - { - RoleId: -2, - System: true, - Name: "ReadOnly", - Info: &types.Description{ - Label: "Read-only", - Summary: "See details of objects, but not make changes", - }, - Privilege: []string{"System.Anonymous", "System.Read", "System.View"}, - }, - { - RoleId: -1, - System: true, - Name: "Admin", - Info: &types.Description{ - Label: "Administrator", - Summary: "Full access rights", - }, - Privilege: []string{"Alarm.Acknowledge", "Alarm.Create", "Alarm.Delete", "Alarm.DisableActions", "Alarm.Edit", "Alarm.SetStatus", "Authorization.ModifyPermissions", "Authorization.ModifyRoles", "Authorization.ReassignRolePermissions", "Certificate.Manage", "Cryptographer.Access", "Cryptographer.AddDisk", "Cryptographer.Clone", "Cryptographer.Decrypt", "Cryptographer.Encrypt", "Cryptographer.EncryptNew", "Cryptographer.ManageEncryptionPolicy", "Cryptographer.ManageKeyServers", "Cryptographer.ManageKeys", "Cryptographer.Migrate", "Cryptographer.Recrypt", "Cryptographer.RegisterHost", "Cryptographer.RegisterVM", "DVPortgroup.Create", "DVPortgroup.Delete", "DVPortgroup.Modify", "DVPortgroup.PolicyOp", "DVPortgroup.ScopeOp", "DVSwitch.Create", "DVSwitch.Delete", "DVSwitch.HostOp", "DVSwitch.Modify", "DVSwitch.Move", "DVSwitch.PolicyOp", "DVSwitch.PortConfig", "DVSwitch.PortSetting", "DVSwitch.ResourceManagement", "DVSwitch.Vspan", "Datacenter.Create", "Datacenter.Delete", "Datacenter.IpPoolConfig", "Datacenter.IpPoolQueryAllocations", "Datacenter.IpPoolReleaseIp", "Datacenter.Move", "Datacenter.Reconfigure", "Datacenter.Rename", "Datastore.AllocateSpace", "Datastore.Browse", "Datastore.Config", "Datastore.Delete", "Datastore.DeleteFile", "Datastore.FileManagement", "Datastore.Move", "Datastore.Rename", "Datastore.UpdateVirtualMachineFiles", "Datastore.UpdateVirtualMachineMetadata", "EAM.Config", "EAM.Modify", "EAM.View", "Extension.Register", "Extension.Unregister", "Extension.Update", "ExternalStatsProvider.Register", "ExternalStatsProvider.Unregister", "ExternalStatsProvider.Update", "Folder.Create", "Folder.Delete", "Folder.Move", "Folder.Rename", "Global.CancelTask", "Global.CapacityPlanning", "Global.Diagnostics", "Global.DisableMethods", "Global.EnableMethods", "Global.GlobalTag", "Global.Health", "Global.Licenses", "Global.LogEvent", "Global.ManageCustomFields", "Global.Proxy", "Global.ScriptAction", "Global.ServiceManagers", "Global.SetCustomField", "Global.Settings", "Global.SystemTag", "Global.VCServer", "HealthUpdateProvider.Register", "HealthUpdateProvider.Unregister", "HealthUpdateProvider.Update", "Host.Cim.CimInteraction", "Host.Config.AdvancedConfig", "Host.Config.AuthenticationStore", "Host.Config.AutoStart", "Host.Config.Connection", "Host.Config.DateTime", "Host.Config.Firmware", "Host.Config.HyperThreading", "Host.Config.Image", "Host.Config.Maintenance", "Host.Config.Memory", "Host.Config.NetService", "Host.Config.Network", "Host.Config.Patch", "Host.Config.PciPassthru", "Host.Config.Power", "Host.Config.Quarantine", "Host.Config.Resources", "Host.Config.Settings", "Host.Config.Snmp", "Host.Config.Storage", "Host.Config.SystemManagement", "Host.Hbr.HbrManagement", "Host.Inventory.AddHostToCluster", "Host.Inventory.AddStandaloneHost", "Host.Inventory.CreateCluster", "Host.Inventory.DeleteCluster", "Host.Inventory.EditCluster", "Host.Inventory.MoveCluster", "Host.Inventory.MoveHost", "Host.Inventory.RemoveHostFromCluster", "Host.Inventory.RenameCluster", "Host.Local.CreateVM", "Host.Local.DeleteVM", "Host.Local.InstallAgent", "Host.Local.ManageUserGroups", "Host.Local.ReconfigVM", "Network.Assign", "Network.Config", "Network.Delete", "Network.Move", "Performance.ModifyIntervals", "Profile.Clear", "Profile.Create", "Profile.Delete", "Profile.Edit", "Profile.Export", "Profile.View", "Resource.ApplyRecommendation", "Resource.AssignVAppToPool", "Resource.AssignVMToPool", "Resource.ColdMigrate", "Resource.CreatePool", "Resource.DeletePool", "Resource.EditPool", "Resource.HotMigrate", "Resource.MovePool", "Resource.QueryVMotion", "Resource.RenamePool", "ScheduledTask.Create", "ScheduledTask.Delete", "ScheduledTask.Edit", "ScheduledTask.Run", "Sessions.GlobalMessage", "Sessions.ImpersonateUser", "Sessions.TerminateSession", "Sessions.ValidateSession", "StoragePod.Config", "System.Anonymous", "System.Read", "System.View", "Task.Create", "Task.Update", "VApp.ApplicationConfig", "VApp.AssignResourcePool", "VApp.AssignVApp", "VApp.AssignVM", "VApp.Clone", "VApp.Create", "VApp.Delete", "VApp.Export", "VApp.ExtractOvfEnvironment", "VApp.Import", "VApp.InstanceConfig", "VApp.ManagedByConfig", "VApp.Move", "VApp.PowerOff", "VApp.PowerOn", "VApp.Rename", "VApp.ResourceConfig", "VApp.Suspend", "VApp.Unregister", "VRMPolicy.Query", "VRMPolicy.Update", "VirtualMachine.Config.AddExistingDisk", "VirtualMachine.Config.AddNewDisk", "VirtualMachine.Config.AddRemoveDevice", "VirtualMachine.Config.AdvancedConfig", "VirtualMachine.Config.Annotation", "VirtualMachine.Config.CPUCount", "VirtualMachine.Config.ChangeTracking", "VirtualMachine.Config.DiskExtend", "VirtualMachine.Config.DiskLease", "VirtualMachine.Config.EditDevice", "VirtualMachine.Config.HostUSBDevice", "VirtualMachine.Config.ManagedBy", "VirtualMachine.Config.Memory", "VirtualMachine.Config.MksControl", "VirtualMachine.Config.QueryFTCompatibility", "VirtualMachine.Config.QueryUnownedFiles", "VirtualMachine.Config.RawDevice", "VirtualMachine.Config.ReloadFromPath", "VirtualMachine.Config.RemoveDisk", "VirtualMachine.Config.Rename", "VirtualMachine.Config.ResetGuestInfo", "VirtualMachine.Config.Resource", "VirtualMachine.Config.Settings", "VirtualMachine.Config.SwapPlacement", "VirtualMachine.Config.ToggleForkParent", "VirtualMachine.Config.Unlock", "VirtualMachine.Config.UpgradeVirtualHardware", "VirtualMachine.GuestOperations.Execute", "VirtualMachine.GuestOperations.Modify", "VirtualMachine.GuestOperations.ModifyAliases", "VirtualMachine.GuestOperations.Query", "VirtualMachine.GuestOperations.QueryAliases", "VirtualMachine.Hbr.ConfigureReplication", "VirtualMachine.Hbr.MonitorReplication", "VirtualMachine.Hbr.ReplicaManagement", "VirtualMachine.Interact.AnswerQuestion", "VirtualMachine.Interact.Backup", "VirtualMachine.Interact.ConsoleInteract", "VirtualMachine.Interact.CreateScreenshot", "VirtualMachine.Interact.CreateSecondary", "VirtualMachine.Interact.DefragmentAllDisks", "VirtualMachine.Interact.DeviceConnection", "VirtualMachine.Interact.DisableSecondary", "VirtualMachine.Interact.DnD", "VirtualMachine.Interact.EnableSecondary", "VirtualMachine.Interact.GuestControl", "VirtualMachine.Interact.MakePrimary", "VirtualMachine.Interact.Pause", "VirtualMachine.Interact.PowerOff", "VirtualMachine.Interact.PowerOn", "VirtualMachine.Interact.PutUsbScanCodes", "VirtualMachine.Interact.Record", "VirtualMachine.Interact.Replay", "VirtualMachine.Interact.Reset", "VirtualMachine.Interact.SESparseMaintenance", "VirtualMachine.Interact.SetCDMedia", "VirtualMachine.Interact.SetFloppyMedia", "VirtualMachine.Interact.Suspend", "VirtualMachine.Interact.TerminateFaultTolerantVM", "VirtualMachine.Interact.ToolsInstall", "VirtualMachine.Interact.TurnOffFaultTolerance", "VirtualMachine.Inventory.Create", "VirtualMachine.Inventory.CreateFromExisting", "VirtualMachine.Inventory.Delete", "VirtualMachine.Inventory.Move", "VirtualMachine.Inventory.Register", "VirtualMachine.Inventory.Unregister", "VirtualMachine.Namespace.Event", "VirtualMachine.Namespace.EventNotify", "VirtualMachine.Namespace.Management", "VirtualMachine.Namespace.ModifyContent", "VirtualMachine.Namespace.Query", "VirtualMachine.Namespace.ReadContent", "VirtualMachine.Provisioning.Clone", "VirtualMachine.Provisioning.CloneTemplate", "VirtualMachine.Provisioning.CreateTemplateFromVM", "VirtualMachine.Provisioning.Customize", "VirtualMachine.Provisioning.DeployTemplate", "VirtualMachine.Provisioning.DiskRandomAccess", "VirtualMachine.Provisioning.DiskRandomRead", "VirtualMachine.Provisioning.FileRandomAccess", "VirtualMachine.Provisioning.GetVmFiles", "VirtualMachine.Provisioning.MarkAsTemplate", "VirtualMachine.Provisioning.MarkAsVM", "VirtualMachine.Provisioning.ModifyCustSpecs", "VirtualMachine.Provisioning.PromoteDisks", "VirtualMachine.Provisioning.PutVmFiles", "VirtualMachine.Provisioning.ReadCustSpecs", "VirtualMachine.State.CreateSnapshot", "VirtualMachine.State.RemoveSnapshot", "VirtualMachine.State.RenameSnapshot", "VirtualMachine.State.RevertToSnapshot"}, - }, -} diff --git a/vendor/github.com/vmware/govmomi/simulator/esx/datacenter.go b/vendor/github.com/vmware/govmomi/simulator/esx/datacenter.go deleted file mode 100644 index c0f95eff9c9..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/esx/datacenter.go +++ /dev/null @@ -1,60 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package esx - -import ( - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/types" -) - -// Datacenter is the default template for Datacenter properties. -// Capture method: -// govc datacenter.info -dump -var Datacenter = mo.Datacenter{ - ManagedEntity: mo.ManagedEntity{ - ExtensibleManagedObject: mo.ExtensibleManagedObject{ - Self: types.ManagedObjectReference{Type: "Datacenter", Value: "ha-datacenter"}, - Value: nil, - AvailableField: nil, - }, - Parent: (*types.ManagedObjectReference)(nil), - CustomValue: nil, - OverallStatus: "", - ConfigStatus: "", - ConfigIssue: nil, - EffectiveRole: nil, - Permission: nil, - Name: "ha-datacenter", - DisabledMethod: nil, - RecentTask: nil, - DeclaredAlarmState: nil, - TriggeredAlarmState: nil, - AlarmActionsEnabled: (*bool)(nil), - Tag: nil, - }, - VmFolder: types.ManagedObjectReference{Type: "Folder", Value: "ha-folder-vm"}, - HostFolder: types.ManagedObjectReference{Type: "Folder", Value: "ha-folder-host"}, - DatastoreFolder: types.ManagedObjectReference{Type: "Folder", Value: "ha-folder-datastore"}, - NetworkFolder: types.ManagedObjectReference{Type: "Folder", Value: "ha-folder-network"}, - Datastore: []types.ManagedObjectReference{ - {Type: "Datastore", Value: "57089c25-85e3ccd4-17b6-000c29d0beb3"}, - }, - Network: []types.ManagedObjectReference{ - {Type: "Network", Value: "HaNetwork-VM Network"}, - }, - Configuration: types.DatacenterConfigInfo{}, -} diff --git a/vendor/github.com/vmware/govmomi/simulator/esx/doc.go b/vendor/github.com/vmware/govmomi/simulator/esx/doc.go deleted file mode 100644 index 50b6202fa65..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/esx/doc.go +++ /dev/null @@ -1,20 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -/* -Package esx contains SOAP responses from an ESX server, captured using `govc ... -dump`. -*/ -package esx diff --git a/vendor/github.com/vmware/govmomi/simulator/esx/event_manager.go b/vendor/github.com/vmware/govmomi/simulator/esx/event_manager.go deleted file mode 100644 index 0a572770f77..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/esx/event_manager.go +++ /dev/null @@ -1,266 +0,0 @@ -/* -Copyright (c) 2018 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package esx - -import "github.com/vmware/govmomi/vim25/types" - -// EventInfo is the default template for the EventManager description.eventInfo property. -// Capture method: -// govc object.collect -s -dump EventManager:ha-eventmgr description.eventInfo -// The captured list has been manually pruned and FullFormat fields changed to use Go's template variable syntax. -var EventInfo = []types.EventDescriptionEventDetail{ - { - Key: "UserLoginSessionEvent", - Description: "User login", - Category: "info", - FullFormat: "User {{.UserName}}@{{.IpAddress}} logged in as {{.UserAgent}}", - }, - { - Key: "UserLogoutSessionEvent", - Description: "User logout", - Category: "info", - FullFormat: "User {{.UserName}}@{{.IpAddress}} logged out (login time: {{.LoginTime}}, number of API invocations: {{.CallCount}}, user agent: {{.UserAgent}})", - }, - { - Key: "DatacenterCreatedEvent", - Description: "Datacenter created", - Category: "info", - FullFormat: "Created datacenter {{.Datacenter.Name}} in folder {{.Parent.Name}}", - }, - { - Key: "DatastoreFileMovedEvent", - Description: "File or directory moved to datastore", - Category: "info", - FullFormat: "Move of file or directory {{.SourceFile}} from {{.SourceDatastore.Name}} to {{.Datastore.Name}} as {{.TargetFile}}", - }, - { - Key: "DatastoreFileCopiedEvent", - Description: "File or directory copied to datastore", - Category: "info", - FullFormat: "Copy of file or directory {{.SourceFile}} from {{.SourceDatastore.Name}} to {{.Datastore.Name}} as {{.TargetFile}}", - }, - { - Key: "DatastoreFileDeletedEvent", - Description: "File or directory deleted", - Category: "info", - FullFormat: "Deletion of file or directory {{.TargetFile}} from {{.Datastore.Name}} was initiated", - }, - { - Key: "EnteringMaintenanceModeEvent", - Description: "Entering maintenance mode", - Category: "info", - FullFormat: "Host {{.Host.Name}} in {{.Datacenter.Name}} has started to enter maintenance mode", - }, - { - Key: "EnteredMaintenanceModeEvent", - Description: "Entered maintenance mode", - Category: "info", - FullFormat: "Host {{.Host.Name}} in {{.Datacenter.Name}} has entered maintenance mode", - }, - { - Key: "ExitMaintenanceModeEvent", - Description: "Exit maintenance mode", - Category: "info", - FullFormat: "Host {{.Host.Name}} in {{.Datacenter.Name}} has exited maintenance mode", - }, - { - Key: "HostRemovedEvent", - Description: "Host removed", - FullFormat: "Removed host {{.Host.Name}} in {{.Datacenter.Name}}", - Category: "info", - }, - { - Key: "VmSuspendedEvent", - Description: "VM suspended", - Category: "info", - FullFormat: "{{.Vm.Name}} on {{.Host.Name}} in {{.Datacenter.Name}} is suspended", - }, - { - Key: "VmMigratedEvent", - Description: "VM migrated", - Category: "info", - FullFormat: "Migration of virtual machine {{.Vm.Name}} from {{.SourceHost.Name}}, {{.SourceDatastore.Name}} to {{.Host.Name}}, {{.Ds.Name}} completed", - }, - { - Key: "VmBeingMigratedEvent", - Description: "VM migrating", - Category: "info", - FullFormat: "Relocating {{.Vm.Name}} from {{.Host.Name}, {{.Ds.Name}} in {{.Datacenter.Name}} to {{.DestHost.Name}, {{.DestDatastore.Name}} in {{.DestDatacenter.Name}}", - }, - { - Key: "VmMacAssignedEvent", - Description: "VM MAC assigned", - Category: "info", - FullFormat: "New MAC address ({{.Mac}}) assigned to adapter {{.Adapter}} for {{.Vm.Name}}", - }, - { - Key: "VmRegisteredEvent", - Description: "VM registered", - Category: "info", - FullFormat: "Registered {{.Vm.Name}} on {{.Host.Name}} in {{.Datacenter.Name}}", - }, - { - Key: "VmReconfiguredEvent", - Description: "VM reconfigured", - Category: "info", - FullFormat: "Reconfigured {{.Vm.Name}} on {{.Host.Name}} in {{.Datacenter.Name}}", - }, - { - Key: "VmGuestRebootEvent", - Description: "Guest reboot", - Category: "info", - FullFormat: "Guest OS reboot for {{.Vm.Name}} on {{.Host.Name}} in {{.Datacenter.Name}}", - }, - { - Key: "VmBeingClonedEvent", - Description: "VM being cloned", - Category: "info", - FullFormat: "Cloning {{.Vm.Name}} on host {{.Host.Name}} in {{.Datacenter.Name}} to {{.DestName}} on host {{.DestHost.Name}}", - }, - { - Key: "VmClonedEvent", - Description: "VM cloned", - Category: "info", - FullFormat: "Clone of {{.SourceVm.Name}} completed", - }, - { - Key: "VmBeingDeployedEvent", - Description: "Deploying VM", - Category: "info", - FullFormat: "Deploying {{.Vm.Name}} on host {{.Host.Name}} in {{.Datacenter.Name}} from template {{.SrcTemplate.Name}}", - }, - { - Key: "VmDeployedEvent", - Description: "VM deployed", - Category: "info", - FullFormat: "Template {{.SrcTemplate.Name}} deployed on host {{.Host.Name}}", - }, - { - Key: "VmInstanceUuidAssignedEvent", - Description: "Assign a new instance UUID", - Category: "info", - FullFormat: "Assign a new instance UUID ({{.InstanceUuid}}) to {{.Vm.Name}}", - }, - { - Key: "VmPoweredOnEvent", - Description: "VM powered on", - Category: "info", - FullFormat: "{{.Vm.Name}} on {{.Host.Name}} in {{.Datacenter.Name}} is powered on", - }, - { - Key: "VmStartingEvent", - Description: "VM starting", - Category: "info", - FullFormat: "{{.Vm.Name}} on host {{.Host.Name}} in {{.Datacenter.Name}} is starting", - }, - { - Key: "VmStoppingEvent", - Description: "VM stopping", - Category: "info", - FullFormat: "{{.Vm.Name}} on host {{.Host.Name}} in {{.Datacenter.Name}} is stopping", - }, - { - Key: "VmSuspendingEvent", - Description: "VM being suspended", - Category: "info", - FullFormat: "{{.Vm.Name}} on {{.Host.Name}} in {{.Datacenter.Name}} is being suspended", - }, - { - Key: "VmResumingEvent", - Description: "VM resuming", - Category: "info", - FullFormat: "{{.Vm.Name}} on {{.Host.Name}} in {{.Datacenter.Name}} is resumed", - }, - { - Key: "VmBeingCreatedEvent", - Description: "Creating VM", - Category: "info", - FullFormat: "Creating {{.Vm.Name}} on host {{.Host.Name}} in {{.Datacenter.Name}}", - }, - { - Key: "VmCreatedEvent", - Description: "VM created", - Category: "info", - FullFormat: "Created virtual machine {{.Vm.Name}} on {{.Host.Name}} in {{.Datacenter.Name}}", - }, - { - Key: "VmRemovedEvent", - Description: "VM removed", - Category: "info", - FullFormat: "Removed {{.Vm.Name}} on {{.Host.Name}} from {{.Datacenter.Name}}", - }, - { - Key: "VmResettingEvent", - Description: "VM resetting", - Category: "info", - FullFormat: "{{.Vm.Name}} on {{.Host.Name}} in {{.Datacenter.Name}} is reset", - }, - { - Key: "VmGuestShutdownEvent", - Description: "Guest OS shut down", - Category: "info", - FullFormat: "Guest OS shut down for {{.Vm.Name}} on {{.Host.Name}} in {{.Datacenter.Name}}", - }, - { - Key: "VmUuidAssignedEvent", - Description: "VM UUID assigned", - Category: "info", - FullFormat: "Assigned new BIOS UUID ({{.Uuid}}) to {{.Vm.Name}} on {{.Host.Name}} in {{.Datacenter.Name}}", - }, - { - Key: "VmPoweredOffEvent", - Description: "VM powered off", - Category: "info", - FullFormat: "{{.Vm.Name}} on {{.Host.Name}} in {{.Datacenter.Name}} is powered off", - }, - { - Key: "VmRelocatedEvent", - Description: "VM relocated", - Category: "info", - FullFormat: "Completed the relocation of the virtual machine", - }, - { - Key: "CustomizationFailed", - Description: "An error occurred during customization", - Category: "info", - FullFormat: "An error occurred during customization on VM {{.Vm.Name}}", - }, - { - Key: "CustomizationStartedEvent", - Description: "Started customization", - Category: "info", - FullFormat: "Started customization of VM {{.Vm.Name}}", - }, - { - Key: "CustomizationSucceeded", - Description: "Customization succeeded", - Category: "info", - FullFormat: "Customization of VM {{.Vm.Name}} succeeded", - }, - { - Key: "DrsVmMigratedEvent", - Description: "DRS VM migrated", - Category: "info", - FullFormat: "DRS migrated {{.Vm.Name}} from {{.SourceHost.Name}} to {{.Host.Name}} in cluster {{.ComputeResource.Name}} in {{.Datacenter.Name}}", - }, - { - Key: "DrsVmPoweredOnEvent", - Description: "DRS VM powered on", - Category: "info", - FullFormat: "DRS powered On {{.Vm.Name}} on {{.Host.Name}} in {{.Datacenter.Name}}", - }, -} diff --git a/vendor/github.com/vmware/govmomi/simulator/esx/host_config_info.go b/vendor/github.com/vmware/govmomi/simulator/esx/host_config_info.go deleted file mode 100644 index fd7877b28c9..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/esx/host_config_info.go +++ /dev/null @@ -1,1115 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package esx - -import "github.com/vmware/govmomi/vim25/types" - -// HostConfigInfo is the default template for the HostSystem config property. -// Capture method: -// govc object.collect -s -dump HostSystem:ha-host config -var HostConfigInfo = types.HostConfigInfo{ - Host: types.ManagedObjectReference{Type: "HostSystem", Value: "ha-host"}, - Product: types.AboutInfo{ - Name: "VMware ESXi", - FullName: "VMware ESXi 6.5.0 build-5969303", - Vendor: "VMware, Inc.", - Version: "6.5.0", - Build: "5969303", - LocaleVersion: "INTL", - LocaleBuild: "000", - OsType: "vmnix-x86", - ProductLineId: "embeddedEsx", - ApiType: "HostAgent", - ApiVersion: "6.5", - InstanceUuid: "", - LicenseProductName: "VMware ESX Server", - LicenseProductVersion: "6.0", - }, - DeploymentInfo: &types.HostDeploymentInfo{ - BootedFromStatelessCache: types.NewBool(false), - }, - HyperThread: &types.HostHyperThreadScheduleInfo{ - Available: false, - Active: false, - Config: true, - }, - ConsoleReservation: (*types.ServiceConsoleReservationInfo)(nil), - VirtualMachineReservation: (*types.VirtualMachineMemoryReservationInfo)(nil), - StorageDevice: &HostStorageDeviceInfo, - SystemFile: nil, - Network: &types.HostNetworkInfo{ - Vswitch: []types.HostVirtualSwitch{ - { - Name: "vSwitch0", - Key: "key-vim.host.VirtualSwitch-vSwitch0", - NumPorts: 1536, - NumPortsAvailable: 1530, - Mtu: 1500, - Portgroup: []string{"key-vim.host.PortGroup-VM Network", "key-vim.host.PortGroup-Management Network"}, - Pnic: []string{"key-vim.host.PhysicalNic-vmnic0"}, - Spec: types.HostVirtualSwitchSpec{ - NumPorts: 128, - Bridge: &types.HostVirtualSwitchBondBridge{ - HostVirtualSwitchBridge: types.HostVirtualSwitchBridge{}, - NicDevice: []string{"vmnic0"}, - Beacon: &types.HostVirtualSwitchBeaconConfig{ - Interval: 1, - }, - LinkDiscoveryProtocolConfig: &types.LinkDiscoveryProtocolConfig{ - Protocol: "cdp", - Operation: "listen", - }, - }, - Policy: &types.HostNetworkPolicy{ - Security: &types.HostNetworkSecurityPolicy{ - AllowPromiscuous: types.NewBool(false), - MacChanges: types.NewBool(true), - ForgedTransmits: types.NewBool(true), - }, - NicTeaming: &types.HostNicTeamingPolicy{ - Policy: "loadbalance_srcid", - ReversePolicy: types.NewBool(true), - NotifySwitches: types.NewBool(true), - RollingOrder: types.NewBool(false), - FailureCriteria: &types.HostNicFailureCriteria{ - CheckSpeed: "minimum", - Speed: 10, - CheckDuplex: types.NewBool(false), - FullDuplex: types.NewBool(false), - CheckErrorPercent: types.NewBool(false), - Percentage: 0, - CheckBeacon: types.NewBool(false), - }, - NicOrder: &types.HostNicOrderPolicy{ - ActiveNic: []string{"vmnic0"}, - StandbyNic: nil, - }, - }, - OffloadPolicy: &types.HostNetOffloadCapabilities{ - CsumOffload: types.NewBool(true), - TcpSegmentation: types.NewBool(true), - ZeroCopyXmit: types.NewBool(true), - }, - ShapingPolicy: &types.HostNetworkTrafficShapingPolicy{ - Enabled: types.NewBool(false), - AverageBandwidth: 0, - PeakBandwidth: 0, - BurstSize: 0, - }, - }, - Mtu: 0, - }, - }, - }, - ProxySwitch: nil, - Portgroup: []types.HostPortGroup{ - { - Key: "key-vim.host.PortGroup-VM Network", - Port: nil, - Vswitch: "key-vim.host.VirtualSwitch-vSwitch0", - ComputedPolicy: types.HostNetworkPolicy{ - Security: &types.HostNetworkSecurityPolicy{ - AllowPromiscuous: types.NewBool(false), - MacChanges: types.NewBool(true), - ForgedTransmits: types.NewBool(true), - }, - NicTeaming: &types.HostNicTeamingPolicy{ - Policy: "loadbalance_srcid", - ReversePolicy: types.NewBool(true), - NotifySwitches: types.NewBool(true), - RollingOrder: types.NewBool(false), - FailureCriteria: &types.HostNicFailureCriteria{ - CheckSpeed: "minimum", - Speed: 10, - CheckDuplex: types.NewBool(false), - FullDuplex: types.NewBool(false), - CheckErrorPercent: types.NewBool(false), - Percentage: 0, - CheckBeacon: types.NewBool(false), - }, - NicOrder: &types.HostNicOrderPolicy{ - ActiveNic: []string{"vmnic0"}, - StandbyNic: nil, - }, - }, - OffloadPolicy: &types.HostNetOffloadCapabilities{ - CsumOffload: types.NewBool(true), - TcpSegmentation: types.NewBool(true), - ZeroCopyXmit: types.NewBool(true), - }, - ShapingPolicy: &types.HostNetworkTrafficShapingPolicy{ - Enabled: types.NewBool(false), - AverageBandwidth: 0, - PeakBandwidth: 0, - BurstSize: 0, - }, - }, - Spec: types.HostPortGroupSpec{ - Name: "VM Network", - VlanId: 0, - VswitchName: "vSwitch0", - Policy: types.HostNetworkPolicy{ - Security: &types.HostNetworkSecurityPolicy{}, - NicTeaming: &types.HostNicTeamingPolicy{ - Policy: "", - ReversePolicy: (*bool)(nil), - NotifySwitches: (*bool)(nil), - RollingOrder: (*bool)(nil), - FailureCriteria: &types.HostNicFailureCriteria{}, - NicOrder: (*types.HostNicOrderPolicy)(nil), - }, - OffloadPolicy: &types.HostNetOffloadCapabilities{}, - ShapingPolicy: &types.HostNetworkTrafficShapingPolicy{}, - }, - }, - }, - { - Key: "key-vim.host.PortGroup-Management Network", - Port: []types.HostPortGroupPort{ - { - Key: "key-vim.host.PortGroup.Port-33554436", - Mac: []string{"00:0c:29:81:d8:a0"}, - Type: "host", - }, - }, - Vswitch: "key-vim.host.VirtualSwitch-vSwitch0", - ComputedPolicy: types.HostNetworkPolicy{ - Security: &types.HostNetworkSecurityPolicy{ - AllowPromiscuous: types.NewBool(false), - MacChanges: types.NewBool(true), - ForgedTransmits: types.NewBool(true), - }, - NicTeaming: &types.HostNicTeamingPolicy{ - Policy: "loadbalance_srcid", - ReversePolicy: types.NewBool(true), - NotifySwitches: types.NewBool(true), - RollingOrder: types.NewBool(false), - FailureCriteria: &types.HostNicFailureCriteria{ - CheckSpeed: "minimum", - Speed: 10, - CheckDuplex: types.NewBool(false), - FullDuplex: types.NewBool(false), - CheckErrorPercent: types.NewBool(false), - Percentage: 0, - CheckBeacon: types.NewBool(false), - }, - NicOrder: &types.HostNicOrderPolicy{ - ActiveNic: []string{"vmnic0"}, - StandbyNic: nil, - }, - }, - OffloadPolicy: &types.HostNetOffloadCapabilities{ - CsumOffload: types.NewBool(true), - TcpSegmentation: types.NewBool(true), - ZeroCopyXmit: types.NewBool(true), - }, - ShapingPolicy: &types.HostNetworkTrafficShapingPolicy{ - Enabled: types.NewBool(false), - AverageBandwidth: 0, - PeakBandwidth: 0, - BurstSize: 0, - }, - }, - Spec: types.HostPortGroupSpec{ - Name: "Management Network", - VlanId: 0, - VswitchName: "vSwitch0", - Policy: types.HostNetworkPolicy{ - Security: &types.HostNetworkSecurityPolicy{}, - NicTeaming: &types.HostNicTeamingPolicy{ - Policy: "loadbalance_srcid", - ReversePolicy: (*bool)(nil), - NotifySwitches: types.NewBool(true), - RollingOrder: types.NewBool(false), - FailureCriteria: &types.HostNicFailureCriteria{ - CheckSpeed: "", - Speed: 0, - CheckDuplex: (*bool)(nil), - FullDuplex: (*bool)(nil), - CheckErrorPercent: (*bool)(nil), - Percentage: 0, - CheckBeacon: types.NewBool(false), - }, - NicOrder: &types.HostNicOrderPolicy{ - ActiveNic: []string{"vmnic0"}, - StandbyNic: nil, - }, - }, - OffloadPolicy: &types.HostNetOffloadCapabilities{}, - ShapingPolicy: &types.HostNetworkTrafficShapingPolicy{}, - }, - }, - }, - }, - Pnic: []types.PhysicalNic{ - { - Key: "key-vim.host.PhysicalNic-vmnic0", - Device: "vmnic0", - Pci: "0000:0b:00.0", - Driver: "nvmxnet3", - LinkSpeed: &types.PhysicalNicLinkInfo{ - SpeedMb: 10000, - Duplex: true, - }, - ValidLinkSpecification: []types.PhysicalNicLinkInfo{ - { - SpeedMb: 10000, - Duplex: true, - }, - }, - Spec: types.PhysicalNicSpec{ - Ip: &types.HostIpConfig{}, - LinkSpeed: &types.PhysicalNicLinkInfo{ - SpeedMb: 10000, - Duplex: true, - }, - }, - WakeOnLanSupported: false, - Mac: "00:0c:29:81:d8:a0", - FcoeConfiguration: &types.FcoeConfig{ - PriorityClass: 3, - SourceMac: "00:0c:29:81:d8:a0", - VlanRange: []types.FcoeConfigVlanRange{ - {}, - }, - Capabilities: types.FcoeConfigFcoeCapabilities{ - PriorityClass: false, - SourceMacAddress: false, - VlanRange: true, - }, - FcoeActive: false, - }, - VmDirectPathGen2Supported: types.NewBool(false), - VmDirectPathGen2SupportedMode: "", - ResourcePoolSchedulerAllowed: types.NewBool(true), - ResourcePoolSchedulerDisallowedReason: nil, - AutoNegotiateSupported: types.NewBool(false), - }, - { - Key: "key-vim.host.PhysicalNic-vmnic1", - Device: "vmnic1", - Pci: "0000:13:00.0", - Driver: "nvmxnet3", - LinkSpeed: &types.PhysicalNicLinkInfo{ - SpeedMb: 10000, - Duplex: true, - }, - ValidLinkSpecification: []types.PhysicalNicLinkInfo{ - { - SpeedMb: 10000, - Duplex: true, - }, - }, - Spec: types.PhysicalNicSpec{ - Ip: &types.HostIpConfig{}, - LinkSpeed: &types.PhysicalNicLinkInfo{ - SpeedMb: 10000, - Duplex: true, - }, - }, - WakeOnLanSupported: false, - Mac: "00:0c:29:81:d8:aa", - FcoeConfiguration: &types.FcoeConfig{ - PriorityClass: 3, - SourceMac: "00:0c:29:81:d8:aa", - VlanRange: []types.FcoeConfigVlanRange{ - {}, - }, - Capabilities: types.FcoeConfigFcoeCapabilities{ - PriorityClass: false, - SourceMacAddress: false, - VlanRange: true, - }, - FcoeActive: false, - }, - VmDirectPathGen2Supported: types.NewBool(false), - VmDirectPathGen2SupportedMode: "", - ResourcePoolSchedulerAllowed: types.NewBool(true), - ResourcePoolSchedulerDisallowedReason: nil, - AutoNegotiateSupported: types.NewBool(false), - }, - }, - Vnic: []types.HostVirtualNic{ - { - Device: "vmk0", - Key: "key-vim.host.VirtualNic-vmk0", - Portgroup: "Management Network", - Spec: types.HostVirtualNicSpec{ - Ip: &types.HostIpConfig{ - Dhcp: true, - IpAddress: "127.0.0.1", - SubnetMask: "255.0.0.0", - IpV6Config: (*types.HostIpConfigIpV6AddressConfiguration)(nil), - }, - Mac: "00:0c:29:81:d8:a0", - DistributedVirtualPort: (*types.DistributedVirtualSwitchPortConnection)(nil), - Portgroup: "Management Network", - Mtu: 1500, - TsoEnabled: types.NewBool(true), - NetStackInstanceKey: "defaultTcpipStack", - OpaqueNetwork: (*types.HostVirtualNicOpaqueNetworkSpec)(nil), - ExternalId: "", - PinnedPnic: "", - IpRouteSpec: (*types.HostVirtualNicIpRouteSpec)(nil), - }, - Port: "key-vim.host.PortGroup.Port-33554436", - }, - }, - ConsoleVnic: nil, - DnsConfig: &types.HostDnsConfig{ - Dhcp: true, - VirtualNicDevice: "vmk0", - HostName: "localhost", - DomainName: "localdomain", - Address: []string{"8.8.8.8"}, - SearchDomain: []string{"localdomain"}, - }, - IpRouteConfig: &types.HostIpRouteConfig{ - DefaultGateway: "127.0.0.1", - GatewayDevice: "", - IpV6DefaultGateway: "", - IpV6GatewayDevice: "", - }, - ConsoleIpRouteConfig: nil, - RouteTableInfo: &types.HostIpRouteTableInfo{ - IpRoute: []types.HostIpRouteEntry{ - { - Network: "0.0.0.0", - PrefixLength: 0, - Gateway: "127.0.0.1", - DeviceName: "vmk0", - }, - { - Network: "127.0.0.0", - PrefixLength: 8, - Gateway: "0.0.0.0", - DeviceName: "vmk0", - }, - }, - Ipv6Route: nil, - }, - Dhcp: nil, - Nat: nil, - IpV6Enabled: types.NewBool(false), - AtBootIpV6Enabled: types.NewBool(false), - NetStackInstance: []types.HostNetStackInstance{ - { - Key: "vSphereProvisioning", - Name: "", - DnsConfig: &types.HostDnsConfig{}, - IpRouteConfig: &types.HostIpRouteConfig{}, - RequestedMaxNumberOfConnections: 11000, - CongestionControlAlgorithm: "newreno", - IpV6Enabled: types.NewBool(true), - RouteTableConfig: (*types.HostIpRouteTableConfig)(nil), - }, - { - Key: "vmotion", - Name: "", - DnsConfig: &types.HostDnsConfig{}, - IpRouteConfig: &types.HostIpRouteConfig{}, - RequestedMaxNumberOfConnections: 11000, - CongestionControlAlgorithm: "newreno", - IpV6Enabled: types.NewBool(true), - RouteTableConfig: (*types.HostIpRouteTableConfig)(nil), - }, - { - Key: "defaultTcpipStack", - Name: "defaultTcpipStack", - DnsConfig: &types.HostDnsConfig{ - Dhcp: true, - VirtualNicDevice: "vmk0", - HostName: "localhost", - DomainName: "localdomain", - Address: []string{"8.8.8.8"}, - SearchDomain: []string{"localdomain"}, - }, - IpRouteConfig: &types.HostIpRouteConfig{ - DefaultGateway: "127.0.0.1", - GatewayDevice: "", - IpV6DefaultGateway: "", - IpV6GatewayDevice: "", - }, - RequestedMaxNumberOfConnections: 11000, - CongestionControlAlgorithm: "newreno", - IpV6Enabled: types.NewBool(true), - RouteTableConfig: &types.HostIpRouteTableConfig{ - IpRoute: []types.HostIpRouteOp{ - { - ChangeOperation: "ignore", - Route: types.HostIpRouteEntry{ - Network: "0.0.0.0", - PrefixLength: 0, - Gateway: "127.0.0.1", - DeviceName: "vmk0", - }, - }, - { - ChangeOperation: "ignore", - Route: types.HostIpRouteEntry{ - Network: "127.0.0.0", - PrefixLength: 8, - Gateway: "0.0.0.0", - DeviceName: "vmk0", - }, - }, - }, - Ipv6Route: nil, - }, - }, - }, - OpaqueSwitch: nil, - OpaqueNetwork: nil, - }, - Vmotion: &types.HostVMotionInfo{ - NetConfig: &types.HostVMotionNetConfig{ - CandidateVnic: []types.HostVirtualNic{ - { - Device: "vmk0", - Key: "VMotionConfig.vmotion.key-vim.host.VirtualNic-vmk0", - Portgroup: "Management Network", - Spec: types.HostVirtualNicSpec{ - Ip: &types.HostIpConfig{ - Dhcp: true, - IpAddress: "127.0.0.1", - SubnetMask: "255.0.0.0", - IpV6Config: (*types.HostIpConfigIpV6AddressConfiguration)(nil), - }, - Mac: "00:0c:29:81:d8:a0", - DistributedVirtualPort: (*types.DistributedVirtualSwitchPortConnection)(nil), - Portgroup: "Management Network", - Mtu: 1500, - TsoEnabled: types.NewBool(true), - NetStackInstanceKey: "defaultTcpipStack", - OpaqueNetwork: (*types.HostVirtualNicOpaqueNetworkSpec)(nil), - ExternalId: "", - PinnedPnic: "", - IpRouteSpec: (*types.HostVirtualNicIpRouteSpec)(nil), - }, - Port: "", - }, - }, - SelectedVnic: "", - }, - IpConfig: (*types.HostIpConfig)(nil), - }, - VirtualNicManagerInfo: &types.HostVirtualNicManagerInfo{ - NetConfig: []types.VirtualNicManagerNetConfig{ - { - NicType: "faultToleranceLogging", - MultiSelectAllowed: true, - CandidateVnic: []types.HostVirtualNic{ - { - Device: "vmk0", - Key: "faultToleranceLogging.key-vim.host.VirtualNic-vmk0", - Portgroup: "Management Network", - Spec: types.HostVirtualNicSpec{ - Ip: &types.HostIpConfig{ - Dhcp: true, - IpAddress: "127.0.0.1", - SubnetMask: "255.0.0.0", - IpV6Config: (*types.HostIpConfigIpV6AddressConfiguration)(nil), - }, - Mac: "00:0c:29:81:d8:a0", - DistributedVirtualPort: (*types.DistributedVirtualSwitchPortConnection)(nil), - Portgroup: "Management Network", - Mtu: 1500, - TsoEnabled: types.NewBool(true), - NetStackInstanceKey: "defaultTcpipStack", - OpaqueNetwork: (*types.HostVirtualNicOpaqueNetworkSpec)(nil), - ExternalId: "", - PinnedPnic: "", - IpRouteSpec: (*types.HostVirtualNicIpRouteSpec)(nil), - }, - Port: "", - }, - }, - SelectedVnic: nil, - }, - { - NicType: "management", - MultiSelectAllowed: true, - CandidateVnic: []types.HostVirtualNic{ - { - Device: "vmk1", - Key: "management.key-vim.host.VirtualNic-vmk1", - Portgroup: "", - Spec: types.HostVirtualNicSpec{ - Ip: &types.HostIpConfig{ - Dhcp: true, - IpAddress: "192.168.0.1", - SubnetMask: "255.0.0.0", - IpV6Config: (*types.HostIpConfigIpV6AddressConfiguration)(nil), - }, - Mac: "00:0c:29:81:d8:00", - DistributedVirtualPort: (*types.DistributedVirtualSwitchPortConnection)(nil), - Portgroup: "Management Network", - Mtu: 1500, - TsoEnabled: types.NewBool(true), - NetStackInstanceKey: "defaultTcpipStack", - OpaqueNetwork: (*types.HostVirtualNicOpaqueNetworkSpec)(nil), - ExternalId: "", - PinnedPnic: "", - IpRouteSpec: (*types.HostVirtualNicIpRouteSpec)(nil), - }, - Port: "", - }, - { - Device: "vmk0", - Key: "management.key-vim.host.VirtualNic-vmk0", - Portgroup: "Management Network", - Spec: types.HostVirtualNicSpec{ - Ip: &types.HostIpConfig{ - Dhcp: true, - IpAddress: "127.0.0.1", - SubnetMask: "255.0.0.0", - IpV6Config: (*types.HostIpConfigIpV6AddressConfiguration)(nil), - }, - Mac: "00:0c:29:81:d8:a0", - DistributedVirtualPort: (*types.DistributedVirtualSwitchPortConnection)(nil), - Portgroup: "Management Network", - Mtu: 1500, - TsoEnabled: types.NewBool(true), - NetStackInstanceKey: "defaultTcpipStack", - OpaqueNetwork: (*types.HostVirtualNicOpaqueNetworkSpec)(nil), - ExternalId: "", - PinnedPnic: "", - IpRouteSpec: (*types.HostVirtualNicIpRouteSpec)(nil), - }, - Port: "", - }, - }, - SelectedVnic: []string{"management.key-vim.host.VirtualNic-vmk0"}, - }, - { - NicType: "vSphereProvisioning", - MultiSelectAllowed: true, - CandidateVnic: []types.HostVirtualNic{ - { - Device: "vmk0", - Key: "vSphereProvisioning.key-vim.host.VirtualNic-vmk0", - Portgroup: "Management Network", - Spec: types.HostVirtualNicSpec{ - Ip: &types.HostIpConfig{ - Dhcp: true, - IpAddress: "127.0.0.1", - SubnetMask: "255.0.0.0", - IpV6Config: (*types.HostIpConfigIpV6AddressConfiguration)(nil), - }, - Mac: "00:0c:29:81:d8:a0", - DistributedVirtualPort: (*types.DistributedVirtualSwitchPortConnection)(nil), - Portgroup: "Management Network", - Mtu: 1500, - TsoEnabled: types.NewBool(true), - NetStackInstanceKey: "defaultTcpipStack", - OpaqueNetwork: (*types.HostVirtualNicOpaqueNetworkSpec)(nil), - ExternalId: "", - PinnedPnic: "", - IpRouteSpec: (*types.HostVirtualNicIpRouteSpec)(nil), - }, - Port: "", - }, - }, - SelectedVnic: nil, - }, - { - NicType: "vSphereReplication", - MultiSelectAllowed: true, - CandidateVnic: []types.HostVirtualNic{ - { - Device: "vmk0", - Key: "vSphereReplication.key-vim.host.VirtualNic-vmk0", - Portgroup: "Management Network", - Spec: types.HostVirtualNicSpec{ - Ip: &types.HostIpConfig{ - Dhcp: true, - IpAddress: "127.0.0.1", - SubnetMask: "255.0.0.0", - IpV6Config: (*types.HostIpConfigIpV6AddressConfiguration)(nil), - }, - Mac: "00:0c:29:81:d8:a0", - DistributedVirtualPort: (*types.DistributedVirtualSwitchPortConnection)(nil), - Portgroup: "Management Network", - Mtu: 1500, - TsoEnabled: types.NewBool(true), - NetStackInstanceKey: "defaultTcpipStack", - OpaqueNetwork: (*types.HostVirtualNicOpaqueNetworkSpec)(nil), - ExternalId: "", - PinnedPnic: "", - IpRouteSpec: (*types.HostVirtualNicIpRouteSpec)(nil), - }, - Port: "", - }, - }, - SelectedVnic: nil, - }, - { - NicType: "vSphereReplicationNFC", - MultiSelectAllowed: true, - CandidateVnic: []types.HostVirtualNic{ - { - Device: "vmk0", - Key: "vSphereReplicationNFC.key-vim.host.VirtualNic-vmk0", - Portgroup: "Management Network", - Spec: types.HostVirtualNicSpec{ - Ip: &types.HostIpConfig{ - Dhcp: true, - IpAddress: "127.0.0.1", - SubnetMask: "255.0.0.0", - IpV6Config: (*types.HostIpConfigIpV6AddressConfiguration)(nil), - }, - Mac: "00:0c:29:81:d8:a0", - DistributedVirtualPort: (*types.DistributedVirtualSwitchPortConnection)(nil), - Portgroup: "Management Network", - Mtu: 1500, - TsoEnabled: types.NewBool(true), - NetStackInstanceKey: "defaultTcpipStack", - OpaqueNetwork: (*types.HostVirtualNicOpaqueNetworkSpec)(nil), - ExternalId: "", - PinnedPnic: "", - IpRouteSpec: (*types.HostVirtualNicIpRouteSpec)(nil), - }, - Port: "", - }, - }, - SelectedVnic: nil, - }, - { - NicType: "vmotion", - MultiSelectAllowed: true, - CandidateVnic: []types.HostVirtualNic{ - { - Device: "vmk0", - Key: "vmotion.key-vim.host.VirtualNic-vmk0", - Portgroup: "Management Network", - Spec: types.HostVirtualNicSpec{ - Ip: &types.HostIpConfig{ - Dhcp: true, - IpAddress: "127.0.0.1", - SubnetMask: "255.0.0.0", - IpV6Config: (*types.HostIpConfigIpV6AddressConfiguration)(nil), - }, - Mac: "00:0c:29:81:d8:a0", - DistributedVirtualPort: (*types.DistributedVirtualSwitchPortConnection)(nil), - Portgroup: "Management Network", - Mtu: 1500, - TsoEnabled: types.NewBool(true), - NetStackInstanceKey: "defaultTcpipStack", - OpaqueNetwork: (*types.HostVirtualNicOpaqueNetworkSpec)(nil), - ExternalId: "", - PinnedPnic: "", - IpRouteSpec: (*types.HostVirtualNicIpRouteSpec)(nil), - }, - Port: "", - }, - }, - SelectedVnic: nil, - }, - { - NicType: "vsan", - MultiSelectAllowed: true, - CandidateVnic: []types.HostVirtualNic{ - { - Device: "vmk0", - Key: "vsan.key-vim.host.VirtualNic-vmk0", - Portgroup: "Management Network", - Spec: types.HostVirtualNicSpec{ - Ip: &types.HostIpConfig{ - Dhcp: true, - IpAddress: "127.0.0.1", - SubnetMask: "255.0.0.0", - IpV6Config: (*types.HostIpConfigIpV6AddressConfiguration)(nil), - }, - Mac: "00:0c:29:81:d8:a0", - DistributedVirtualPort: (*types.DistributedVirtualSwitchPortConnection)(nil), - Portgroup: "Management Network", - Mtu: 1500, - TsoEnabled: types.NewBool(true), - NetStackInstanceKey: "defaultTcpipStack", - OpaqueNetwork: (*types.HostVirtualNicOpaqueNetworkSpec)(nil), - ExternalId: "", - PinnedPnic: "", - IpRouteSpec: (*types.HostVirtualNicIpRouteSpec)(nil), - }, - Port: "", - }, - }, - SelectedVnic: nil, - }, - { - NicType: "vsanWitness", - MultiSelectAllowed: true, - CandidateVnic: []types.HostVirtualNic{ - { - Device: "vmk0", - Key: "vsanWitness.key-vim.host.VirtualNic-vmk0", - Portgroup: "Management Network", - Spec: types.HostVirtualNicSpec{ - Ip: &types.HostIpConfig{ - Dhcp: true, - IpAddress: "127.0.0.1", - SubnetMask: "255.0.0.0", - IpV6Config: (*types.HostIpConfigIpV6AddressConfiguration)(nil), - }, - Mac: "00:0c:29:81:d8:a0", - DistributedVirtualPort: (*types.DistributedVirtualSwitchPortConnection)(nil), - Portgroup: "Management Network", - Mtu: 1500, - TsoEnabled: types.NewBool(true), - NetStackInstanceKey: "defaultTcpipStack", - OpaqueNetwork: (*types.HostVirtualNicOpaqueNetworkSpec)(nil), - ExternalId: "", - PinnedPnic: "", - IpRouteSpec: (*types.HostVirtualNicIpRouteSpec)(nil), - }, - Port: "", - }, - }, - SelectedVnic: nil, - }, - }, - }, - Capabilities: &types.HostNetCapabilities{ - CanSetPhysicalNicLinkSpeed: true, - SupportsNicTeaming: true, - NicTeamingPolicy: []string{"loadbalance_ip", "loadbalance_srcmac", "loadbalance_srcid", "failover_explicit"}, - SupportsVlan: true, - UsesServiceConsoleNic: false, - SupportsNetworkHints: true, - MaxPortGroupsPerVswitch: 0, - VswitchConfigSupported: true, - VnicConfigSupported: true, - IpRouteConfigSupported: true, - DnsConfigSupported: true, - DhcpOnVnicSupported: true, - IpV6Supported: types.NewBool(true), - }, - DatastoreCapabilities: &types.HostDatastoreSystemCapabilities{ - NfsMountCreationRequired: true, - NfsMountCreationSupported: true, - LocalDatastoreSupported: false, - VmfsExtentExpansionSupported: types.NewBool(true), - }, - OffloadCapabilities: &types.HostNetOffloadCapabilities{ - CsumOffload: types.NewBool(true), - TcpSegmentation: types.NewBool(true), - ZeroCopyXmit: types.NewBool(true), - }, - Service: &types.HostServiceInfo{ - Service: []types.HostService{ - { - Key: "DCUI", - Label: "Direct Console UI", - Required: false, - Uninstallable: false, - Running: true, - Ruleset: nil, - Policy: "on", - SourcePackage: &types.HostServiceSourcePackage{ - SourcePackageName: "esx-base", - Description: "This VIB contains all of the base functionality of vSphere ESXi.", - }, - }, - { - Key: "TSM", - Label: "ESXi Shell", - Required: false, - Uninstallable: false, - Running: false, - Ruleset: nil, - Policy: "off", - SourcePackage: &types.HostServiceSourcePackage{ - SourcePackageName: "esx-base", - Description: "This VIB contains all of the base functionality of vSphere ESXi.", - }, - }, - { - Key: "TSM-SSH", - Label: "SSH", - Required: false, - Uninstallable: false, - Running: false, - Ruleset: nil, - Policy: "off", - SourcePackage: &types.HostServiceSourcePackage{ - SourcePackageName: "esx-base", - Description: "This VIB contains all of the base functionality of vSphere ESXi.", - }, - }, - { - Key: "lbtd", - Label: "Load-Based Teaming Daemon", - Required: false, - Uninstallable: false, - Running: true, - Ruleset: nil, - Policy: "on", - SourcePackage: &types.HostServiceSourcePackage{ - SourcePackageName: "esx-base", - Description: "This VIB contains all of the base functionality of vSphere ESXi.", - }, - }, - { - Key: "lwsmd", - Label: "Active Directory Service", - Required: false, - Uninstallable: false, - Running: false, - Ruleset: nil, - Policy: "off", - SourcePackage: &types.HostServiceSourcePackage{ - SourcePackageName: "esx-base", - Description: "This VIB contains all of the base functionality of vSphere ESXi.", - }, - }, - { - Key: "ntpd", - Label: "NTP Daemon", - Required: false, - Uninstallable: false, - Running: false, - Ruleset: []string{"ntpClient"}, - Policy: "off", - SourcePackage: &types.HostServiceSourcePackage{ - SourcePackageName: "esx-base", - Description: "This VIB contains all of the base functionality of vSphere ESXi.", - }, - }, - { - Key: "pcscd", - Label: "PC/SC Smart Card Daemon", - Required: false, - Uninstallable: false, - Running: false, - Ruleset: nil, - Policy: "off", - SourcePackage: &types.HostServiceSourcePackage{ - SourcePackageName: "esx-base", - Description: "This VIB contains all of the base functionality of vSphere ESXi.", - }, - }, - { - Key: "sfcbd-watchdog", - Label: "CIM Server", - Required: false, - Uninstallable: false, - Running: false, - Ruleset: []string{"CIMHttpServer", "CIMHttpsServer"}, - Policy: "on", - SourcePackage: &types.HostServiceSourcePackage{ - SourcePackageName: "esx-base", - Description: "This VIB contains all of the base functionality of vSphere ESXi.", - }, - }, - { - Key: "snmpd", - Label: "SNMP Server", - Required: false, - Uninstallable: false, - Running: false, - Ruleset: []string{"snmp"}, - Policy: "on", - SourcePackage: &types.HostServiceSourcePackage{ - SourcePackageName: "esx-base", - Description: "This VIB contains all of the base functionality of vSphere ESXi.", - }, - }, - { - Key: "vmsyslogd", - Label: "Syslog Server", - Required: true, - Uninstallable: false, - Running: true, - Ruleset: nil, - Policy: "on", - SourcePackage: &types.HostServiceSourcePackage{ - SourcePackageName: "esx-base", - Description: "This VIB contains all of the base functionality of vSphere ESXi.", - }, - }, - { - Key: "vpxa", - Label: "VMware vCenter Agent", - Required: false, - Uninstallable: false, - Running: false, - Ruleset: []string{"vpxHeartbeats"}, - Policy: "on", - SourcePackage: &types.HostServiceSourcePackage{ - SourcePackageName: "esx-base", - Description: "This VIB contains all of the base functionality of vSphere ESXi.", - }, - }, - { - Key: "xorg", - Label: "X.Org Server", - Required: false, - Uninstallable: false, - Running: false, - Ruleset: nil, - Policy: "on", - SourcePackage: &types.HostServiceSourcePackage{ - SourcePackageName: "esx-xserver", - Description: "This VIB contains X Server used for virtual machine 3D hardware acceleration.", - }, - }, - }, - }, - Firewall: &HostFirewallInfo, - AutoStart: &types.HostAutoStartManagerConfig{ - Defaults: &types.AutoStartDefaults{ - Enabled: (*bool)(nil), - StartDelay: 120, - StopDelay: 120, - WaitForHeartbeat: types.NewBool(false), - StopAction: "PowerOff", - }, - PowerInfo: nil, - }, - ActiveDiagnosticPartition: &types.HostDiagnosticPartition{ - StorageType: "directAttached", - DiagnosticType: "singleHost", - Slots: -15, - Id: types.HostScsiDiskPartition{ - DiskName: "mpx.vmhba0:C0:T0:L0", - Partition: 9, - }, - }, - Option: nil, - OptionDef: nil, - Flags: &types.HostFlagInfo{}, - AdminDisabled: (*bool)(nil), - LockdownMode: "lockdownDisabled", - Ipmi: (*types.HostIpmiInfo)(nil), - SslThumbprintInfo: (*types.HostSslThumbprintInfo)(nil), - SslThumbprintData: nil, - Certificate: []uint8{0x31, 0x30}, - PciPassthruInfo: nil, - AuthenticationManagerInfo: &types.HostAuthenticationManagerInfo{ - AuthConfig: []types.BaseHostAuthenticationStoreInfo{ - &types.HostLocalAuthenticationInfo{ - HostAuthenticationStoreInfo: types.HostAuthenticationStoreInfo{ - Enabled: true, - }, - }, - &types.HostActiveDirectoryInfo{ - HostDirectoryStoreInfo: types.HostDirectoryStoreInfo{}, - JoinedDomain: "", - TrustedDomain: nil, - DomainMembershipStatus: "", - SmartCardAuthenticationEnabled: types.NewBool(false), - }, - }, - }, - FeatureVersion: nil, - PowerSystemCapability: &types.PowerSystemCapability{ - AvailablePolicy: []types.HostPowerPolicy{ - { - Key: 1, - Name: "PowerPolicy.static.name", - ShortName: "static", - Description: "PowerPolicy.static.description", - }, - { - Key: 2, - Name: "PowerPolicy.dynamic.name", - ShortName: "dynamic", - Description: "PowerPolicy.dynamic.description", - }, - { - Key: 3, - Name: "PowerPolicy.low.name", - ShortName: "low", - Description: "PowerPolicy.low.description", - }, - { - Key: 4, - Name: "PowerPolicy.custom.name", - ShortName: "custom", - Description: "PowerPolicy.custom.description", - }, - }, - }, - PowerSystemInfo: &types.PowerSystemInfo{ - CurrentPolicy: types.HostPowerPolicy{ - Key: 2, - Name: "PowerPolicy.dynamic.name", - ShortName: "dynamic", - Description: "PowerPolicy.dynamic.description", - }, - }, - CacheConfigurationInfo: []types.HostCacheConfigurationInfo{ - { - Key: types.ManagedObjectReference{Type: "Datastore", Value: "5980f676-21a5db76-9eef-000c2981d8a0"}, - SwapSize: 0, - }, - }, - WakeOnLanCapable: types.NewBool(false), - FeatureCapability: nil, - MaskedFeatureCapability: nil, - VFlashConfigInfo: nil, - VsanHostConfig: &types.VsanHostConfigInfo{ - Enabled: types.NewBool(false), - HostSystem: &types.ManagedObjectReference{Type: "HostSystem", Value: "ha-host"}, - ClusterInfo: &types.VsanHostConfigInfoClusterInfo{}, - StorageInfo: &types.VsanHostConfigInfoStorageInfo{ - AutoClaimStorage: types.NewBool(false), - DiskMapping: nil, - DiskMapInfo: nil, - ChecksumEnabled: (*bool)(nil), - }, - NetworkInfo: &types.VsanHostConfigInfoNetworkInfo{}, - FaultDomainInfo: &types.VsanHostFaultDomainInfo{}, - }, - DomainList: nil, - ScriptCheckSum: nil, - HostConfigCheckSum: nil, - GraphicsInfo: nil, - SharedPassthruGpuTypes: nil, - GraphicsConfig: &types.HostGraphicsConfig{ - HostDefaultGraphicsType: "shared", - SharedPassthruAssignmentPolicy: "performance", - DeviceType: nil, - }, - IoFilterInfo: []types.HostIoFilterInfo{ - { - IoFilterInfo: types.IoFilterInfo{ - Id: "VMW_spm_1.0.0", - Name: "spm", - Vendor: "VMW", - Version: "1.0.230", - Type: "datastoreIoControl", - Summary: "VMware Storage I/O Control", - ReleaseDate: "2016-07-21", - }, - Available: true, - }, - { - IoFilterInfo: types.IoFilterInfo{ - Id: "VMW_vmwarevmcrypt_1.0.0", - Name: "vmwarevmcrypt", - Vendor: "VMW", - Version: "1.0.0", - Type: "encryption", - Summary: "VMcrypt IO Filter", - ReleaseDate: "2016-07-21", - }, - Available: true, - }, - }, - SriovDevicePool: nil, -} diff --git a/vendor/github.com/vmware/govmomi/simulator/esx/host_firewall_system.go b/vendor/github.com/vmware/govmomi/simulator/esx/host_firewall_system.go deleted file mode 100644 index 11c1285aad7..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/esx/host_firewall_system.go +++ /dev/null @@ -1,1425 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package esx - -import "github.com/vmware/govmomi/vim25/types" - -// HostFirewallInfo is the default template for the HostSystem config.firewall property. -// Capture method: -// govc object.collect -s -dump HostSystem:ha-host config.firewall -var HostFirewallInfo = types.HostFirewallInfo{ - DynamicData: types.DynamicData{}, - DefaultPolicy: types.HostFirewallDefaultPolicy{ - DynamicData: types.DynamicData{}, - IncomingBlocked: types.NewBool(true), - OutgoingBlocked: types.NewBool(true), - }, - Ruleset: []types.HostFirewallRuleset{ - { - DynamicData: types.DynamicData{}, - Key: "CIMHttpServer", - Label: "CIM Server", - Required: false, - Rule: []types.HostFirewallRule{ - { - DynamicData: types.DynamicData{}, - Port: 5988, - EndPort: 0, - Direction: "inbound", - PortType: "dst", - Protocol: "tcp", - }, - }, - Service: "sfcbd-watchdog", - Enabled: true, - AllowedHosts: &types.HostFirewallRulesetIpList{ - DynamicData: types.DynamicData{}, - IpAddress: nil, - IpNetwork: nil, - AllIp: true, - }, - }, - { - DynamicData: types.DynamicData{}, - Key: "CIMHttpsServer", - Label: "CIM Secure Server", - Required: false, - Rule: []types.HostFirewallRule{ - { - DynamicData: types.DynamicData{}, - Port: 5989, - EndPort: 0, - Direction: "inbound", - PortType: "dst", - Protocol: "tcp", - }, - }, - Service: "sfcbd-watchdog", - Enabled: true, - AllowedHosts: &types.HostFirewallRulesetIpList{ - DynamicData: types.DynamicData{}, - IpAddress: nil, - IpNetwork: nil, - AllIp: true, - }, - }, - { - DynamicData: types.DynamicData{}, - Key: "CIMSLP", - Label: "CIM SLP", - Required: false, - Rule: []types.HostFirewallRule{ - { - DynamicData: types.DynamicData{}, - Port: 427, - EndPort: 0, - Direction: "inbound", - PortType: "dst", - Protocol: "udp", - }, - { - DynamicData: types.DynamicData{}, - Port: 427, - EndPort: 0, - Direction: "outbound", - PortType: "dst", - Protocol: "udp", - }, - { - DynamicData: types.DynamicData{}, - Port: 427, - EndPort: 0, - Direction: "inbound", - PortType: "dst", - Protocol: "tcp", - }, - { - DynamicData: types.DynamicData{}, - Port: 427, - EndPort: 0, - Direction: "outbound", - PortType: "dst", - Protocol: "tcp", - }, - }, - Service: "", - Enabled: true, - AllowedHosts: &types.HostFirewallRulesetIpList{ - DynamicData: types.DynamicData{}, - IpAddress: nil, - IpNetwork: nil, - AllIp: true, - }, - }, - { - DynamicData: types.DynamicData{}, - Key: "DHCPv6", - Label: "DHCPv6", - Required: false, - Rule: []types.HostFirewallRule{ - { - DynamicData: types.DynamicData{}, - Port: 547, - EndPort: 0, - Direction: "outbound", - PortType: "dst", - Protocol: "tcp", - }, - { - DynamicData: types.DynamicData{}, - Port: 546, - EndPort: 0, - Direction: "inbound", - PortType: "dst", - Protocol: "tcp", - }, - { - DynamicData: types.DynamicData{}, - Port: 547, - EndPort: 0, - Direction: "outbound", - PortType: "dst", - Protocol: "udp", - }, - { - DynamicData: types.DynamicData{}, - Port: 546, - EndPort: 0, - Direction: "inbound", - PortType: "dst", - Protocol: "udp", - }, - }, - Service: "", - Enabled: true, - AllowedHosts: &types.HostFirewallRulesetIpList{ - DynamicData: types.DynamicData{}, - IpAddress: nil, - IpNetwork: nil, - AllIp: true, - }, - }, - { - DynamicData: types.DynamicData{}, - Key: "DVFilter", - Label: "DVFilter", - Required: false, - Rule: []types.HostFirewallRule{ - { - DynamicData: types.DynamicData{}, - Port: 2222, - EndPort: 0, - Direction: "inbound", - PortType: "dst", - Protocol: "tcp", - }, - }, - Service: "", - Enabled: false, - AllowedHosts: &types.HostFirewallRulesetIpList{ - DynamicData: types.DynamicData{}, - IpAddress: nil, - IpNetwork: nil, - AllIp: true, - }, - }, - { - DynamicData: types.DynamicData{}, - Key: "DVSSync", - Label: "DVSSync", - Required: false, - Rule: []types.HostFirewallRule{ - { - DynamicData: types.DynamicData{}, - Port: 8302, - EndPort: 0, - Direction: "outbound", - PortType: "dst", - Protocol: "udp", - }, - { - DynamicData: types.DynamicData{}, - Port: 8301, - EndPort: 0, - Direction: "inbound", - PortType: "dst", - Protocol: "udp", - }, - { - DynamicData: types.DynamicData{}, - Port: 8301, - EndPort: 0, - Direction: "outbound", - PortType: "dst", - Protocol: "udp", - }, - { - DynamicData: types.DynamicData{}, - Port: 8302, - EndPort: 0, - Direction: "inbound", - PortType: "dst", - Protocol: "udp", - }, - }, - Service: "", - Enabled: true, - AllowedHosts: &types.HostFirewallRulesetIpList{ - DynamicData: types.DynamicData{}, - IpAddress: nil, - IpNetwork: nil, - AllIp: true, - }, - }, - { - DynamicData: types.DynamicData{}, - Key: "HBR", - Label: "HBR", - Required: false, - Rule: []types.HostFirewallRule{ - { - DynamicData: types.DynamicData{}, - Port: 31031, - EndPort: 0, - Direction: "outbound", - PortType: "dst", - Protocol: "tcp", - }, - { - DynamicData: types.DynamicData{}, - Port: 44046, - EndPort: 0, - Direction: "outbound", - PortType: "dst", - Protocol: "tcp", - }, - }, - Service: "", - Enabled: true, - AllowedHosts: &types.HostFirewallRulesetIpList{ - DynamicData: types.DynamicData{}, - IpAddress: nil, - IpNetwork: nil, - AllIp: true, - }, - }, - { - DynamicData: types.DynamicData{}, - Key: "NFC", - Label: "NFC", - Required: false, - Rule: []types.HostFirewallRule{ - { - DynamicData: types.DynamicData{}, - Port: 902, - EndPort: 0, - Direction: "inbound", - PortType: "dst", - Protocol: "tcp", - }, - { - DynamicData: types.DynamicData{}, - Port: 902, - EndPort: 0, - Direction: "outbound", - PortType: "dst", - Protocol: "tcp", - }, - }, - Service: "", - Enabled: true, - AllowedHosts: &types.HostFirewallRulesetIpList{ - DynamicData: types.DynamicData{}, - IpAddress: nil, - IpNetwork: nil, - AllIp: true, - }, - }, - { - DynamicData: types.DynamicData{}, - Key: "WOL", - Label: "WOL", - Required: false, - Rule: []types.HostFirewallRule{ - { - DynamicData: types.DynamicData{}, - Port: 9, - EndPort: 0, - Direction: "outbound", - PortType: "dst", - Protocol: "udp", - }, - }, - Service: "", - Enabled: true, - AllowedHosts: &types.HostFirewallRulesetIpList{ - DynamicData: types.DynamicData{}, - IpAddress: nil, - IpNetwork: nil, - AllIp: true, - }, - }, - { - DynamicData: types.DynamicData{}, - Key: "activeDirectoryAll", - Label: "Active Directory All", - Required: false, - Rule: []types.HostFirewallRule{ - { - DynamicData: types.DynamicData{}, - Port: 88, - EndPort: 0, - Direction: "outbound", - PortType: "dst", - Protocol: "udp", - }, - { - DynamicData: types.DynamicData{}, - Port: 88, - EndPort: 0, - Direction: "outbound", - PortType: "dst", - Protocol: "tcp", - }, - { - DynamicData: types.DynamicData{}, - Port: 123, - EndPort: 0, - Direction: "outbound", - PortType: "dst", - Protocol: "udp", - }, - { - DynamicData: types.DynamicData{}, - Port: 137, - EndPort: 0, - Direction: "outbound", - PortType: "dst", - Protocol: "udp", - }, - { - DynamicData: types.DynamicData{}, - Port: 139, - EndPort: 0, - Direction: "outbound", - PortType: "dst", - Protocol: "tcp", - }, - { - DynamicData: types.DynamicData{}, - Port: 389, - EndPort: 0, - Direction: "outbound", - PortType: "dst", - Protocol: "tcp", - }, - { - DynamicData: types.DynamicData{}, - Port: 389, - EndPort: 0, - Direction: "outbound", - PortType: "dst", - Protocol: "udp", - }, - { - DynamicData: types.DynamicData{}, - Port: 445, - EndPort: 0, - Direction: "outbound", - PortType: "dst", - Protocol: "tcp", - }, - { - DynamicData: types.DynamicData{}, - Port: 464, - EndPort: 0, - Direction: "outbound", - PortType: "dst", - Protocol: "udp", - }, - { - DynamicData: types.DynamicData{}, - Port: 464, - EndPort: 0, - Direction: "outbound", - PortType: "dst", - Protocol: "tcp", - }, - { - DynamicData: types.DynamicData{}, - Port: 3268, - EndPort: 0, - Direction: "outbound", - PortType: "dst", - Protocol: "tcp", - }, - { - DynamicData: types.DynamicData{}, - Port: 7476, - EndPort: 0, - Direction: "outbound", - PortType: "dst", - Protocol: "tcp", - }, - { - DynamicData: types.DynamicData{}, - Port: 2020, - EndPort: 0, - Direction: "inbound", - PortType: "dst", - Protocol: "tcp", - }, - }, - Service: "", - Enabled: false, - AllowedHosts: &types.HostFirewallRulesetIpList{ - DynamicData: types.DynamicData{}, - IpAddress: nil, - IpNetwork: nil, - AllIp: true, - }, - }, - { - DynamicData: types.DynamicData{}, - Key: "cmmds", - Label: "Virtual SAN Clustering Service", - Required: false, - Rule: []types.HostFirewallRule{ - { - DynamicData: types.DynamicData{}, - Port: 12345, - EndPort: 0, - Direction: "inbound", - PortType: "dst", - Protocol: "udp", - }, - { - DynamicData: types.DynamicData{}, - Port: 23451, - EndPort: 0, - Direction: "inbound", - PortType: "dst", - Protocol: "udp", - }, - { - DynamicData: types.DynamicData{}, - Port: 12345, - EndPort: 0, - Direction: "outbound", - PortType: "dst", - Protocol: "udp", - }, - { - DynamicData: types.DynamicData{}, - Port: 23451, - EndPort: 0, - Direction: "outbound", - PortType: "dst", - Protocol: "udp", - }, - { - DynamicData: types.DynamicData{}, - Port: 12321, - EndPort: 0, - Direction: "inbound", - PortType: "dst", - Protocol: "udp", - }, - { - DynamicData: types.DynamicData{}, - Port: 12321, - EndPort: 0, - Direction: "outbound", - PortType: "dst", - Protocol: "udp", - }, - }, - Service: "", - Enabled: false, - AllowedHosts: &types.HostFirewallRulesetIpList{ - DynamicData: types.DynamicData{}, - IpAddress: nil, - IpNetwork: nil, - AllIp: true, - }, - }, - { - DynamicData: types.DynamicData{}, - Key: "dhcp", - Label: "DHCP Client", - Required: false, - Rule: []types.HostFirewallRule{ - { - DynamicData: types.DynamicData{}, - Port: 68, - EndPort: 0, - Direction: "inbound", - PortType: "dst", - Protocol: "udp", - }, - { - DynamicData: types.DynamicData{}, - Port: 68, - EndPort: 0, - Direction: "outbound", - PortType: "src", - Protocol: "udp", - }, - }, - Service: "", - Enabled: true, - AllowedHosts: &types.HostFirewallRulesetIpList{ - DynamicData: types.DynamicData{}, - IpAddress: nil, - IpNetwork: nil, - AllIp: true, - }, - }, - { - DynamicData: types.DynamicData{}, - Key: "dns", - Label: "DNS Client", - Required: false, - Rule: []types.HostFirewallRule{ - { - DynamicData: types.DynamicData{}, - Port: 53, - EndPort: 0, - Direction: "inbound", - PortType: "dst", - Protocol: "udp", - }, - { - DynamicData: types.DynamicData{}, - Port: 53, - EndPort: 0, - Direction: "outbound", - PortType: "dst", - Protocol: "udp", - }, - { - DynamicData: types.DynamicData{}, - Port: 53, - EndPort: 0, - Direction: "outbound", - PortType: "dst", - Protocol: "tcp", - }, - }, - Service: "", - Enabled: true, - AllowedHosts: &types.HostFirewallRulesetIpList{ - DynamicData: types.DynamicData{}, - IpAddress: nil, - IpNetwork: nil, - AllIp: true, - }, - }, - { - DynamicData: types.DynamicData{}, - Key: "esxupdate", - Label: "esxupdate", - Required: false, - Rule: []types.HostFirewallRule{ - { - DynamicData: types.DynamicData{}, - Port: 443, - EndPort: 0, - Direction: "outbound", - PortType: "dst", - Protocol: "tcp", - }, - }, - Service: "", - Enabled: false, - AllowedHosts: &types.HostFirewallRulesetIpList{ - DynamicData: types.DynamicData{}, - IpAddress: nil, - IpNetwork: nil, - AllIp: true, - }, - }, - { - DynamicData: types.DynamicData{}, - Key: "faultTolerance", - Label: "Fault Tolerance", - Required: false, - Rule: []types.HostFirewallRule{ - { - DynamicData: types.DynamicData{}, - Port: 80, - EndPort: 0, - Direction: "outbound", - PortType: "dst", - Protocol: "tcp", - }, - { - DynamicData: types.DynamicData{}, - Port: 8300, - EndPort: 0, - Direction: "inbound", - PortType: "dst", - Protocol: "tcp", - }, - { - DynamicData: types.DynamicData{}, - Port: 8300, - EndPort: 0, - Direction: "outbound", - PortType: "dst", - Protocol: "tcp", - }, - }, - Service: "", - Enabled: true, - AllowedHosts: &types.HostFirewallRulesetIpList{ - DynamicData: types.DynamicData{}, - IpAddress: nil, - IpNetwork: nil, - AllIp: true, - }, - }, - { - DynamicData: types.DynamicData{}, - Key: "ftpClient", - Label: "FTP Client", - Required: false, - Rule: []types.HostFirewallRule{ - { - DynamicData: types.DynamicData{}, - Port: 21, - EndPort: 0, - Direction: "outbound", - PortType: "dst", - Protocol: "tcp", - }, - { - DynamicData: types.DynamicData{}, - Port: 20, - EndPort: 0, - Direction: "inbound", - PortType: "src", - Protocol: "tcp", - }, - }, - Service: "", - Enabled: false, - AllowedHosts: &types.HostFirewallRulesetIpList{ - DynamicData: types.DynamicData{}, - IpAddress: nil, - IpNetwork: nil, - AllIp: true, - }, - }, - { - DynamicData: types.DynamicData{}, - Key: "gdbserver", - Label: "gdbserver", - Required: false, - Rule: []types.HostFirewallRule{ - { - DynamicData: types.DynamicData{}, - Port: 1000, - EndPort: 9999, - Direction: "inbound", - PortType: "dst", - Protocol: "tcp", - }, - { - DynamicData: types.DynamicData{}, - Port: 50000, - EndPort: 50999, - Direction: "inbound", - PortType: "dst", - Protocol: "tcp", - }, - }, - Service: "", - Enabled: false, - AllowedHosts: &types.HostFirewallRulesetIpList{ - DynamicData: types.DynamicData{}, - IpAddress: nil, - IpNetwork: nil, - AllIp: true, - }, - }, - { - DynamicData: types.DynamicData{}, - Key: "httpClient", - Label: "httpClient", - Required: false, - Rule: []types.HostFirewallRule{ - { - DynamicData: types.DynamicData{}, - Port: 80, - EndPort: 0, - Direction: "outbound", - PortType: "dst", - Protocol: "tcp", - }, - { - DynamicData: types.DynamicData{}, - Port: 443, - EndPort: 0, - Direction: "outbound", - PortType: "dst", - Protocol: "tcp", - }, - }, - Service: "", - Enabled: false, - AllowedHosts: &types.HostFirewallRulesetIpList{ - DynamicData: types.DynamicData{}, - IpAddress: nil, - IpNetwork: nil, - AllIp: true, - }, - }, - { - DynamicData: types.DynamicData{}, - Key: "iSCSI", - Label: "Software iSCSI Client", - Required: false, - Rule: []types.HostFirewallRule{ - { - DynamicData: types.DynamicData{}, - Port: 3260, - EndPort: 0, - Direction: "outbound", - PortType: "dst", - Protocol: "tcp", - }, - }, - Service: "", - Enabled: false, - AllowedHosts: &types.HostFirewallRulesetIpList{ - DynamicData: types.DynamicData{}, - IpAddress: nil, - IpNetwork: nil, - AllIp: true, - }, - }, - { - DynamicData: types.DynamicData{}, - Key: "iofiltervp", - Label: "iofiltervp", - Required: false, - Rule: []types.HostFirewallRule{ - { - DynamicData: types.DynamicData{}, - Port: 9080, - EndPort: 0, - Direction: "inbound", - PortType: "dst", - Protocol: "tcp", - }, - }, - Service: "", - Enabled: true, - AllowedHosts: &types.HostFirewallRulesetIpList{ - DynamicData: types.DynamicData{}, - IpAddress: nil, - IpNetwork: nil, - AllIp: true, - }, - }, - { - DynamicData: types.DynamicData{}, - Key: "ipfam", - Label: "NSX Distributed Logical Router Service", - Required: false, - Rule: []types.HostFirewallRule{ - { - DynamicData: types.DynamicData{}, - Port: 6999, - EndPort: 0, - Direction: "inbound", - PortType: "dst", - Protocol: "udp", - }, - { - DynamicData: types.DynamicData{}, - Port: 6999, - EndPort: 0, - Direction: "outbound", - PortType: "dst", - Protocol: "udp", - }, - }, - Service: "", - Enabled: false, - AllowedHosts: &types.HostFirewallRulesetIpList{ - DynamicData: types.DynamicData{}, - IpAddress: nil, - IpNetwork: nil, - AllIp: true, - }, - }, - { - DynamicData: types.DynamicData{}, - Key: "nfs41Client", - Label: "nfs41Client", - Required: false, - Rule: []types.HostFirewallRule{ - { - DynamicData: types.DynamicData{}, - Port: 0, - EndPort: 65535, - Direction: "outbound", - PortType: "dst", - Protocol: "tcp", - }, - }, - Service: "", - Enabled: false, - AllowedHosts: &types.HostFirewallRulesetIpList{ - DynamicData: types.DynamicData{}, - IpAddress: nil, - IpNetwork: nil, - AllIp: true, - }, - }, - { - DynamicData: types.DynamicData{}, - Key: "nfsClient", - Label: "NFS Client", - Required: false, - Rule: []types.HostFirewallRule{ - { - DynamicData: types.DynamicData{}, - Port: 0, - EndPort: 65535, - Direction: "outbound", - PortType: "dst", - Protocol: "tcp", - }, - }, - Service: "", - Enabled: false, - AllowedHosts: &types.HostFirewallRulesetIpList{ - DynamicData: types.DynamicData{}, - IpAddress: nil, - IpNetwork: nil, - AllIp: true, - }, - }, - { - DynamicData: types.DynamicData{}, - Key: "ntpClient", - Label: "NTP Client", - Required: false, - Rule: []types.HostFirewallRule{ - { - DynamicData: types.DynamicData{}, - Port: 123, - EndPort: 0, - Direction: "outbound", - PortType: "dst", - Protocol: "udp", - }, - }, - Service: "ntpd", - Enabled: false, - AllowedHosts: &types.HostFirewallRulesetIpList{ - DynamicData: types.DynamicData{}, - IpAddress: nil, - IpNetwork: nil, - AllIp: true, - }, - }, - { - DynamicData: types.DynamicData{}, - Key: "pvrdma", - Label: "pvrdma", - Required: false, - Rule: []types.HostFirewallRule{ - { - DynamicData: types.DynamicData{}, - Port: 28250, - EndPort: 28761, - Direction: "outbound", - PortType: "dst", - Protocol: "tcp", - }, - { - DynamicData: types.DynamicData{}, - Port: 28250, - EndPort: 28761, - Direction: "inbound", - PortType: "dst", - Protocol: "tcp", - }, - }, - Service: "", - Enabled: false, - AllowedHosts: &types.HostFirewallRulesetIpList{ - DynamicData: types.DynamicData{}, - IpAddress: nil, - IpNetwork: nil, - AllIp: true, - }, - }, - { - DynamicData: types.DynamicData{}, - Key: "rabbitmqproxy", - Label: "rabbitmqproxy", - Required: false, - Rule: []types.HostFirewallRule{ - { - DynamicData: types.DynamicData{}, - Port: 5671, - EndPort: 0, - Direction: "outbound", - PortType: "dst", - Protocol: "tcp", - }, - }, - Service: "", - Enabled: true, - AllowedHosts: &types.HostFirewallRulesetIpList{ - DynamicData: types.DynamicData{}, - IpAddress: nil, - IpNetwork: nil, - AllIp: true, - }, - }, - { - DynamicData: types.DynamicData{}, - Key: "rdt", - Label: "Virtual SAN Transport", - Required: false, - Rule: []types.HostFirewallRule{ - { - DynamicData: types.DynamicData{}, - Port: 2233, - EndPort: 0, - Direction: "inbound", - PortType: "dst", - Protocol: "tcp", - }, - { - DynamicData: types.DynamicData{}, - Port: 2233, - EndPort: 0, - Direction: "outbound", - PortType: "dst", - Protocol: "tcp", - }, - }, - Service: "", - Enabled: false, - AllowedHosts: &types.HostFirewallRulesetIpList{ - DynamicData: types.DynamicData{}, - IpAddress: nil, - IpNetwork: nil, - AllIp: true, - }, - }, - { - DynamicData: types.DynamicData{}, - Key: "remoteSerialPort", - Label: "VM serial port connected over network", - Required: false, - Rule: []types.HostFirewallRule{ - { - DynamicData: types.DynamicData{}, - Port: 0, - EndPort: 65535, - Direction: "outbound", - PortType: "dst", - Protocol: "tcp", - }, - { - DynamicData: types.DynamicData{}, - Port: 23, - EndPort: 0, - Direction: "inbound", - PortType: "dst", - Protocol: "tcp", - }, - { - DynamicData: types.DynamicData{}, - Port: 1024, - EndPort: 65535, - Direction: "inbound", - PortType: "dst", - Protocol: "tcp", - }, - }, - Service: "", - Enabled: false, - AllowedHosts: &types.HostFirewallRulesetIpList{ - DynamicData: types.DynamicData{}, - IpAddress: nil, - IpNetwork: nil, - AllIp: true, - }, - }, - { - DynamicData: types.DynamicData{}, - Key: "snmp", - Label: "SNMP Server", - Required: false, - Rule: []types.HostFirewallRule{ - { - DynamicData: types.DynamicData{}, - Port: 161, - EndPort: 0, - Direction: "inbound", - PortType: "dst", - Protocol: "udp", - }, - }, - Service: "snmpd", - Enabled: true, - AllowedHosts: &types.HostFirewallRulesetIpList{ - DynamicData: types.DynamicData{}, - IpAddress: nil, - IpNetwork: nil, - AllIp: true, - }, - }, - { - DynamicData: types.DynamicData{}, - Key: "sshClient", - Label: "SSH Client", - Required: false, - Rule: []types.HostFirewallRule{ - { - DynamicData: types.DynamicData{}, - Port: 22, - EndPort: 0, - Direction: "outbound", - PortType: "dst", - Protocol: "tcp", - }, - }, - Service: "", - Enabled: false, - AllowedHosts: &types.HostFirewallRulesetIpList{ - DynamicData: types.DynamicData{}, - IpAddress: nil, - IpNetwork: nil, - AllIp: true, - }, - }, - { - DynamicData: types.DynamicData{}, - Key: "sshServer", - Label: "SSH Server", - Required: true, - Rule: []types.HostFirewallRule{ - { - DynamicData: types.DynamicData{}, - Port: 22, - EndPort: 0, - Direction: "inbound", - PortType: "dst", - Protocol: "tcp", - }, - }, - Service: "", - Enabled: true, - AllowedHosts: &types.HostFirewallRulesetIpList{ - DynamicData: types.DynamicData{}, - IpAddress: nil, - IpNetwork: nil, - AllIp: true, - }, - }, - { - DynamicData: types.DynamicData{}, - Key: "syslog", - Label: "syslog", - Required: false, - Rule: []types.HostFirewallRule{ - { - DynamicData: types.DynamicData{}, - Port: 514, - EndPort: 0, - Direction: "outbound", - PortType: "dst", - Protocol: "udp", - }, - { - DynamicData: types.DynamicData{}, - Port: 514, - EndPort: 0, - Direction: "outbound", - PortType: "dst", - Protocol: "tcp", - }, - { - DynamicData: types.DynamicData{}, - Port: 1514, - EndPort: 0, - Direction: "outbound", - PortType: "dst", - Protocol: "tcp", - }, - }, - Service: "", - Enabled: false, - AllowedHosts: &types.HostFirewallRulesetIpList{ - DynamicData: types.DynamicData{}, - IpAddress: nil, - IpNetwork: nil, - AllIp: true, - }, - }, - { - DynamicData: types.DynamicData{}, - Key: "updateManager", - Label: "vCenter Update Manager", - Required: false, - Rule: []types.HostFirewallRule{ - { - DynamicData: types.DynamicData{}, - Port: 80, - EndPort: 0, - Direction: "outbound", - PortType: "dst", - Protocol: "tcp", - }, - { - DynamicData: types.DynamicData{}, - Port: 9000, - EndPort: 9100, - Direction: "outbound", - PortType: "dst", - Protocol: "tcp", - }, - }, - Service: "", - Enabled: true, - AllowedHosts: &types.HostFirewallRulesetIpList{ - DynamicData: types.DynamicData{}, - IpAddress: nil, - IpNetwork: nil, - AllIp: true, - }, - }, - { - DynamicData: types.DynamicData{}, - Key: "vMotion", - Label: "vMotion", - Required: false, - Rule: []types.HostFirewallRule{ - { - DynamicData: types.DynamicData{}, - Port: 8000, - EndPort: 0, - Direction: "inbound", - PortType: "dst", - Protocol: "tcp", - }, - { - DynamicData: types.DynamicData{}, - Port: 8000, - EndPort: 0, - Direction: "outbound", - PortType: "dst", - Protocol: "tcp", - }, - }, - Service: "", - Enabled: true, - AllowedHosts: &types.HostFirewallRulesetIpList{ - DynamicData: types.DynamicData{}, - IpAddress: nil, - IpNetwork: nil, - AllIp: true, - }, - }, - { - DynamicData: types.DynamicData{}, - Key: "vSPC", - Label: "VM serial port connected to vSPC", - Required: false, - Rule: []types.HostFirewallRule{ - { - DynamicData: types.DynamicData{}, - Port: 0, - EndPort: 65535, - Direction: "outbound", - PortType: "dst", - Protocol: "tcp", - }, - }, - Service: "", - Enabled: false, - AllowedHosts: &types.HostFirewallRulesetIpList{ - DynamicData: types.DynamicData{}, - IpAddress: nil, - IpNetwork: nil, - AllIp: true, - }, - }, - { - DynamicData: types.DynamicData{}, - Key: "vSphereClient", - Label: "vSphere Web Client", - Required: true, - Rule: []types.HostFirewallRule{ - { - DynamicData: types.DynamicData{}, - Port: 902, - EndPort: 0, - Direction: "inbound", - PortType: "dst", - Protocol: "tcp", - }, - { - DynamicData: types.DynamicData{}, - Port: 443, - EndPort: 0, - Direction: "inbound", - PortType: "dst", - Protocol: "tcp", - }, - }, - Service: "", - Enabled: true, - AllowedHosts: &types.HostFirewallRulesetIpList{ - DynamicData: types.DynamicData{}, - IpAddress: nil, - IpNetwork: nil, - AllIp: true, - }, - }, - { - DynamicData: types.DynamicData{}, - Key: "vpxHeartbeats", - Label: "VMware vCenter Agent", - Required: false, - Rule: []types.HostFirewallRule{ - { - DynamicData: types.DynamicData{}, - Port: 902, - EndPort: 0, - Direction: "outbound", - PortType: "dst", - Protocol: "udp", - }, - }, - Service: "vpxa", - Enabled: true, - AllowedHosts: &types.HostFirewallRulesetIpList{ - DynamicData: types.DynamicData{}, - IpAddress: nil, - IpNetwork: nil, - AllIp: true, - }, - }, - { - DynamicData: types.DynamicData{}, - Key: "vsanEncryption", - Label: "vsanEncryption", - Required: false, - Rule: []types.HostFirewallRule{ - { - DynamicData: types.DynamicData{}, - Port: 0, - EndPort: 65535, - Direction: "outbound", - PortType: "dst", - Protocol: "tcp", - }, - }, - Service: "", - Enabled: false, - AllowedHosts: &types.HostFirewallRulesetIpList{ - DynamicData: types.DynamicData{}, - IpAddress: nil, - IpNetwork: nil, - AllIp: true, - }, - }, - { - DynamicData: types.DynamicData{}, - Key: "vsanhealth-multicasttest", - Label: "vsanhealth-multicasttest", - Required: false, - Rule: []types.HostFirewallRule{ - { - DynamicData: types.DynamicData{}, - Port: 5001, - EndPort: 0, - Direction: "outbound", - PortType: "dst", - Protocol: "udp", - }, - { - DynamicData: types.DynamicData{}, - Port: 5001, - EndPort: 0, - Direction: "inbound", - PortType: "dst", - Protocol: "udp", - }, - }, - Service: "", - Enabled: false, - AllowedHosts: &types.HostFirewallRulesetIpList{ - DynamicData: types.DynamicData{}, - IpAddress: nil, - IpNetwork: nil, - AllIp: true, - }, - }, - { - DynamicData: types.DynamicData{}, - Key: "vsanvp", - Label: "vsanvp", - Required: false, - Rule: []types.HostFirewallRule{ - { - DynamicData: types.DynamicData{}, - Port: 8080, - EndPort: 0, - Direction: "inbound", - PortType: "dst", - Protocol: "tcp", - }, - { - DynamicData: types.DynamicData{}, - Port: 8080, - EndPort: 0, - Direction: "outbound", - PortType: "dst", - Protocol: "tcp", - }, - }, - Service: "", - Enabled: false, - AllowedHosts: &types.HostFirewallRulesetIpList{ - DynamicData: types.DynamicData{}, - IpAddress: nil, - IpNetwork: nil, - AllIp: true, - }, - }, - { - DynamicData: types.DynamicData{}, - Key: "vvold", - Label: "vvold", - Required: false, - Rule: []types.HostFirewallRule{ - { - DynamicData: types.DynamicData{}, - Port: 0, - EndPort: 65535, - Direction: "outbound", - PortType: "dst", - Protocol: "tcp", - }, - }, - Service: "", - Enabled: false, - AllowedHosts: &types.HostFirewallRulesetIpList{ - DynamicData: types.DynamicData{}, - IpAddress: nil, - IpNetwork: nil, - AllIp: true, - }, - }, - { - DynamicData: types.DynamicData{}, - Key: "webAccess", - Label: "vSphere Web Access", - Required: false, - Rule: []types.HostFirewallRule{ - { - DynamicData: types.DynamicData{}, - Port: 80, - EndPort: 0, - Direction: "inbound", - PortType: "dst", - Protocol: "tcp", - }, - }, - Service: "", - Enabled: true, - AllowedHosts: &types.HostFirewallRulesetIpList{ - DynamicData: types.DynamicData{}, - IpAddress: nil, - IpNetwork: nil, - AllIp: true, - }, - }, - }, -} diff --git a/vendor/github.com/vmware/govmomi/simulator/esx/host_hardware_info.go b/vendor/github.com/vmware/govmomi/simulator/esx/host_hardware_info.go deleted file mode 100644 index aa633ad34bd..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/esx/host_hardware_info.go +++ /dev/null @@ -1,864 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package esx - -import ( - "time" - - "github.com/vmware/govmomi/vim25/types" -) - -// HostHardwareInfo is the default template for the HostSystem hardware property. -// Capture method: -// govc object.collect -s -dump HostSystem:ha-host hardware -var HostHardwareInfo = &types.HostHardwareInfo{ - SystemInfo: types.HostSystemInfo{ - Vendor: "VMware, Inc.", - Model: "VMware Virtual Platform", - Uuid: "e88d4d56-9f1e-3ea1-71fa-13a8e1a7fd70", - OtherIdentifyingInfo: []types.HostSystemIdentificationInfo{ - { - IdentifierValue: " No Asset Tag", - IdentifierType: &types.ElementDescription{ - Description: types.Description{ - Label: "Asset Tag", - Summary: "Asset tag of the system", - }, - Key: "AssetTag", - }, - }, - { - IdentifierValue: "[MS_VM_CERT/SHA1/27d66596a61c48dd3dc7216fd715126e33f59ae7]", - IdentifierType: &types.ElementDescription{ - Description: types.Description{ - Label: "OEM specific string", - Summary: "OEM specific string", - }, - Key: "OemSpecificString", - }, - }, - { - IdentifierValue: "Welcome to the Virtual Machine", - IdentifierType: &types.ElementDescription{ - Description: types.Description{ - Label: "OEM specific string", - Summary: "OEM specific string", - }, - Key: "OemSpecificString", - }, - }, - { - IdentifierValue: "VMware-56 4d 8d e8 1e 9f a1 3e-71 fa 13 a8 e1 a7 fd 70", - IdentifierType: &types.ElementDescription{ - Description: types.Description{ - Label: "Service tag", - Summary: "Service tag of the system", - }, - Key: "ServiceTag", - }, - }, - }, - }, - CpuPowerManagementInfo: &types.HostCpuPowerManagementInfo{ - CurrentPolicy: "Balanced", - HardwareSupport: "", - }, - CpuInfo: types.HostCpuInfo{ - NumCpuPackages: 2, - NumCpuCores: 2, - NumCpuThreads: 2, - Hz: 3591345000, - }, - CpuPkg: []types.HostCpuPackage{ - { - Index: 0, - Vendor: "intel", - Hz: 3591345000, - BusHz: 115849838, - Description: "Intel(R) Xeon(R) CPU E5-1620 0 @ 3.60GHz", - ThreadId: []int16{0}, - CpuFeature: []types.HostCpuIdInfo{ - { - Level: 0, - Vendor: "", - Eax: "0000:0000:0000:0000:0000:0000:0000:1101", - Ebx: "0111:0101:0110:1110:0110:0101:0100:0111", - Ecx: "0110:1100:0110:0101:0111:0100:0110:1110", - Edx: "0100:1001:0110:0101:0110:1110:0110:1001", - }, - { - Level: 1, - Vendor: "", - Eax: "0000:0000:0000:0010:0000:0110:1101:0111", - Ebx: "0000:0000:0000:0001:0000:1000:0000:0000", - Ecx: "1001:0111:1011:1010:0010:0010:0010:1011", - Edx: "0000:1111:1010:1011:1111:1011:1111:1111", - }, - { - Level: -2147483648, - Vendor: "", - Eax: "1000:0000:0000:0000:0000:0000:0000:1000", - Ebx: "0000:0000:0000:0000:0000:0000:0000:0000", - Ecx: "0000:0000:0000:0000:0000:0000:0000:0000", - Edx: "0000:0000:0000:0000:0000:0000:0000:0000", - }, - { - Level: -2147483647, - Vendor: "", - Eax: "0000:0000:0000:0000:0000:0000:0000:0000", - Ebx: "0000:0000:0000:0000:0000:0000:0000:0000", - Ecx: "0000:0000:0000:0000:0000:0000:0000:0001", - Edx: "0010:1000:0001:0000:0000:1000:0000:0000", - }, - { - Level: -2147483640, - Vendor: "", - Eax: "0000:0000:0000:0000:0011:0000:0010:1010", - Ebx: "0000:0000:0000:0000:0000:0000:0000:0000", - Ecx: "0000:0000:0000:0000:0000:0000:0000:0000", - Edx: "0000:0000:0000:0000:0000:0000:0000:0000", - }, - }, - }, - { - Index: 1, - Vendor: "intel", - Hz: 3591345000, - BusHz: 115849838, - Description: "Intel(R) Xeon(R) CPU E5-1620 0 @ 3.60GHz", - ThreadId: []int16{1}, - CpuFeature: []types.HostCpuIdInfo{ - { - Level: 0, - Vendor: "", - Eax: "0000:0000:0000:0000:0000:0000:0000:1101", - Ebx: "0111:0101:0110:1110:0110:0101:0100:0111", - Ecx: "0110:1100:0110:0101:0111:0100:0110:1110", - Edx: "0100:1001:0110:0101:0110:1110:0110:1001", - }, - { - Level: 1, - Vendor: "", - Eax: "0000:0000:0000:0010:0000:0110:1101:0111", - Ebx: "0000:0010:0000:0001:0000:1000:0000:0000", - Ecx: "1001:0111:1011:1010:0010:0010:0010:1011", - Edx: "0000:1111:1010:1011:1111:1011:1111:1111", - }, - { - Level: -2147483648, - Vendor: "", - Eax: "1000:0000:0000:0000:0000:0000:0000:1000", - Ebx: "0000:0000:0000:0000:0000:0000:0000:0000", - Ecx: "0000:0000:0000:0000:0000:0000:0000:0000", - Edx: "0000:0000:0000:0000:0000:0000:0000:0000", - }, - { - Level: -2147483647, - Vendor: "", - Eax: "0000:0000:0000:0000:0000:0000:0000:0000", - Ebx: "0000:0000:0000:0000:0000:0000:0000:0000", - Ecx: "0000:0000:0000:0000:0000:0000:0000:0001", - Edx: "0010:1000:0001:0000:0000:1000:0000:0000", - }, - { - Level: -2147483640, - Vendor: "", - Eax: "0000:0000:0000:0000:0011:0000:0010:1010", - Ebx: "0000:0000:0000:0000:0000:0000:0000:0000", - Ecx: "0000:0000:0000:0000:0000:0000:0000:0000", - Edx: "0000:0000:0000:0000:0000:0000:0000:0000", - }, - }, - }, - }, - MemorySize: 4294430720, - NumaInfo: &types.HostNumaInfo{ - Type: "NUMA", - NumNodes: 1, - NumaNode: []types.HostNumaNode{ - { - TypeId: 0x0, - CpuID: []int16{1, 0}, - MemoryRangeBegin: 4294967296, - MemoryRangeLength: 1073741824, - }, - }, - }, - SmcPresent: types.NewBool(false), - PciDevice: []types.HostPciDevice{ - { - Id: "0000:00:00.0", - ClassId: 1536, - Bus: 0x0, - Slot: 0x0, - Function: 0x0, - VendorId: -32634, - SubVendorId: 5549, - VendorName: "Intel Corporation", - DeviceId: 29072, - SubDeviceId: 6518, - ParentBridge: "", - DeviceName: "Virtual Machine Chipset", - }, - { - Id: "0000:00:01.0", - ClassId: 1540, - Bus: 0x0, - Slot: 0x1, - Function: 0x0, - VendorId: -32634, - SubVendorId: 0, - VendorName: "Intel Corporation", - DeviceId: 29073, - SubDeviceId: 0, - ParentBridge: "", - DeviceName: "440BX/ZX/DX - 82443BX/ZX/DX AGP bridge", - }, - { - Id: "0000:00:07.0", - ClassId: 1537, - Bus: 0x0, - Slot: 0x7, - Function: 0x0, - VendorId: -32634, - SubVendorId: 5549, - VendorName: "Intel Corporation", - DeviceId: 28944, - SubDeviceId: 6518, - ParentBridge: "", - DeviceName: "Virtual Machine Chipset", - }, - { - Id: "0000:00:07.1", - ClassId: 257, - Bus: 0x0, - Slot: 0x7, - Function: 0x1, - VendorId: -32634, - SubVendorId: 5549, - VendorName: "Intel Corporation", - DeviceId: 28945, - SubDeviceId: 6518, - ParentBridge: "", - DeviceName: "PIIX4 for 430TX/440BX/MX IDE Controller", - }, - { - Id: "0000:00:07.3", - ClassId: 1664, - Bus: 0x0, - Slot: 0x7, - Function: 0x3, - VendorId: -32634, - SubVendorId: 5549, - VendorName: "Intel Corporation", - DeviceId: 28947, - SubDeviceId: 6518, - ParentBridge: "", - DeviceName: "Virtual Machine Chipset", - }, - { - Id: "0000:00:07.7", - ClassId: 2176, - Bus: 0x0, - Slot: 0x7, - Function: 0x7, - VendorId: 5549, - SubVendorId: 5549, - VendorName: "VMware", - DeviceId: 1856, - SubDeviceId: 1856, - ParentBridge: "", - DeviceName: "Virtual Machine Communication Interface", - }, - { - Id: "0000:00:0f.0", - ClassId: 768, - Bus: 0x0, - Slot: 0xf, - Function: 0x0, - VendorId: 5549, - SubVendorId: 5549, - VendorName: "VMware", - DeviceId: 1029, - SubDeviceId: 1029, - ParentBridge: "", - DeviceName: "SVGA II Adapter", - }, - { - Id: "0000:00:11.0", - ClassId: 1540, - Bus: 0x0, - Slot: 0x11, - Function: 0x0, - VendorId: 5549, - SubVendorId: 0, - VendorName: "VMware", - DeviceId: 1936, - SubDeviceId: 0, - ParentBridge: "", - DeviceName: "PCI bridge", - }, - { - Id: "0000:00:15.0", - ClassId: 1540, - Bus: 0x0, - Slot: 0x15, - Function: 0x0, - VendorId: 5549, - SubVendorId: 0, - VendorName: "VMware", - DeviceId: 1952, - SubDeviceId: 0, - ParentBridge: "", - DeviceName: "PCI Express Root Port", - }, - { - Id: "0000:00:15.1", - ClassId: 1540, - Bus: 0x0, - Slot: 0x15, - Function: 0x1, - VendorId: 5549, - SubVendorId: 0, - VendorName: "VMware", - DeviceId: 1952, - SubDeviceId: 0, - ParentBridge: "", - DeviceName: "PCI Express Root Port", - }, - { - Id: "0000:00:15.2", - ClassId: 1540, - Bus: 0x0, - Slot: 0x15, - Function: 0x2, - VendorId: 5549, - SubVendorId: 0, - VendorName: "VMware", - DeviceId: 1952, - SubDeviceId: 0, - ParentBridge: "", - DeviceName: "PCI Express Root Port", - }, - { - Id: "0000:00:15.3", - ClassId: 1540, - Bus: 0x0, - Slot: 0x15, - Function: 0x3, - VendorId: 5549, - SubVendorId: 0, - VendorName: "VMware", - DeviceId: 1952, - SubDeviceId: 0, - ParentBridge: "", - DeviceName: "PCI Express Root Port", - }, - { - Id: "0000:00:15.4", - ClassId: 1540, - Bus: 0x0, - Slot: 0x15, - Function: 0x4, - VendorId: 5549, - SubVendorId: 0, - VendorName: "VMware", - DeviceId: 1952, - SubDeviceId: 0, - ParentBridge: "", - DeviceName: "PCI Express Root Port", - }, - { - Id: "0000:00:15.5", - ClassId: 1540, - Bus: 0x0, - Slot: 0x15, - Function: 0x5, - VendorId: 5549, - SubVendorId: 0, - VendorName: "VMware", - DeviceId: 1952, - SubDeviceId: 0, - ParentBridge: "", - DeviceName: "PCI Express Root Port", - }, - { - Id: "0000:00:15.6", - ClassId: 1540, - Bus: 0x0, - Slot: 0x15, - Function: 0x6, - VendorId: 5549, - SubVendorId: 0, - VendorName: "VMware", - DeviceId: 1952, - SubDeviceId: 0, - ParentBridge: "", - DeviceName: "PCI Express Root Port", - }, - { - Id: "0000:00:15.7", - ClassId: 1540, - Bus: 0x0, - Slot: 0x15, - Function: 0x7, - VendorId: 5549, - SubVendorId: 0, - VendorName: "VMware", - DeviceId: 1952, - SubDeviceId: 0, - ParentBridge: "", - DeviceName: "PCI Express Root Port", - }, - { - Id: "0000:00:16.0", - ClassId: 1540, - Bus: 0x0, - Slot: 0x16, - Function: 0x0, - VendorId: 5549, - SubVendorId: 0, - VendorName: "VMware", - DeviceId: 1952, - SubDeviceId: 0, - ParentBridge: "", - DeviceName: "PCI Express Root Port", - }, - { - Id: "0000:00:16.1", - ClassId: 1540, - Bus: 0x0, - Slot: 0x16, - Function: 0x1, - VendorId: 5549, - SubVendorId: 0, - VendorName: "VMware", - DeviceId: 1952, - SubDeviceId: 0, - ParentBridge: "", - DeviceName: "PCI Express Root Port", - }, - { - Id: "0000:00:16.2", - ClassId: 1540, - Bus: 0x0, - Slot: 0x16, - Function: 0x2, - VendorId: 5549, - SubVendorId: 0, - VendorName: "VMware", - DeviceId: 1952, - SubDeviceId: 0, - ParentBridge: "", - DeviceName: "PCI Express Root Port", - }, - { - Id: "0000:00:16.3", - ClassId: 1540, - Bus: 0x0, - Slot: 0x16, - Function: 0x3, - VendorId: 5549, - SubVendorId: 0, - VendorName: "VMware", - DeviceId: 1952, - SubDeviceId: 0, - ParentBridge: "", - DeviceName: "PCI Express Root Port", - }, - { - Id: "0000:00:16.4", - ClassId: 1540, - Bus: 0x0, - Slot: 0x16, - Function: 0x4, - VendorId: 5549, - SubVendorId: 0, - VendorName: "VMware", - DeviceId: 1952, - SubDeviceId: 0, - ParentBridge: "", - DeviceName: "PCI Express Root Port", - }, - { - Id: "0000:00:16.5", - ClassId: 1540, - Bus: 0x0, - Slot: 0x16, - Function: 0x5, - VendorId: 5549, - SubVendorId: 0, - VendorName: "VMware", - DeviceId: 1952, - SubDeviceId: 0, - ParentBridge: "", - DeviceName: "PCI Express Root Port", - }, - { - Id: "0000:00:16.6", - ClassId: 1540, - Bus: 0x0, - Slot: 0x16, - Function: 0x6, - VendorId: 5549, - SubVendorId: 0, - VendorName: "VMware", - DeviceId: 1952, - SubDeviceId: 0, - ParentBridge: "", - DeviceName: "PCI Express Root Port", - }, - { - Id: "0000:00:16.7", - ClassId: 1540, - Bus: 0x0, - Slot: 0x16, - Function: 0x7, - VendorId: 5549, - SubVendorId: 0, - VendorName: "VMware", - DeviceId: 1952, - SubDeviceId: 0, - ParentBridge: "", - DeviceName: "PCI Express Root Port", - }, - { - Id: "0000:00:17.0", - ClassId: 1540, - Bus: 0x0, - Slot: 0x17, - Function: 0x0, - VendorId: 5549, - SubVendorId: 0, - VendorName: "VMware", - DeviceId: 1952, - SubDeviceId: 0, - ParentBridge: "", - DeviceName: "PCI Express Root Port", - }, - { - Id: "0000:00:17.1", - ClassId: 1540, - Bus: 0x0, - Slot: 0x17, - Function: 0x1, - VendorId: 5549, - SubVendorId: 0, - VendorName: "VMware", - DeviceId: 1952, - SubDeviceId: 0, - ParentBridge: "", - DeviceName: "PCI Express Root Port", - }, - { - Id: "0000:00:17.2", - ClassId: 1540, - Bus: 0x0, - Slot: 0x17, - Function: 0x2, - VendorId: 5549, - SubVendorId: 0, - VendorName: "VMware", - DeviceId: 1952, - SubDeviceId: 0, - ParentBridge: "", - DeviceName: "PCI Express Root Port", - }, - { - Id: "0000:00:17.3", - ClassId: 1540, - Bus: 0x0, - Slot: 0x17, - Function: 0x3, - VendorId: 5549, - SubVendorId: 0, - VendorName: "VMware", - DeviceId: 1952, - SubDeviceId: 0, - ParentBridge: "", - DeviceName: "PCI Express Root Port", - }, - { - Id: "0000:00:17.4", - ClassId: 1540, - Bus: 0x0, - Slot: 0x17, - Function: 0x4, - VendorId: 5549, - SubVendorId: 0, - VendorName: "VMware", - DeviceId: 1952, - SubDeviceId: 0, - ParentBridge: "", - DeviceName: "PCI Express Root Port", - }, - { - Id: "0000:00:17.5", - ClassId: 1540, - Bus: 0x0, - Slot: 0x17, - Function: 0x5, - VendorId: 5549, - SubVendorId: 0, - VendorName: "VMware", - DeviceId: 1952, - SubDeviceId: 0, - ParentBridge: "", - DeviceName: "PCI Express Root Port", - }, - { - Id: "0000:00:17.6", - ClassId: 1540, - Bus: 0x0, - Slot: 0x17, - Function: 0x6, - VendorId: 5549, - SubVendorId: 0, - VendorName: "VMware", - DeviceId: 1952, - SubDeviceId: 0, - ParentBridge: "", - DeviceName: "PCI Express Root Port", - }, - { - Id: "0000:00:17.7", - ClassId: 1540, - Bus: 0x0, - Slot: 0x17, - Function: 0x7, - VendorId: 5549, - SubVendorId: 0, - VendorName: "VMware", - DeviceId: 1952, - SubDeviceId: 0, - ParentBridge: "", - DeviceName: "PCI Express Root Port", - }, - { - Id: "0000:00:18.0", - ClassId: 1540, - Bus: 0x0, - Slot: 0x18, - Function: 0x0, - VendorId: 5549, - SubVendorId: 0, - VendorName: "VMware", - DeviceId: 1952, - SubDeviceId: 0, - ParentBridge: "", - DeviceName: "PCI Express Root Port", - }, - { - Id: "0000:00:18.1", - ClassId: 1540, - Bus: 0x0, - Slot: 0x18, - Function: 0x1, - VendorId: 5549, - SubVendorId: 0, - VendorName: "VMware", - DeviceId: 1952, - SubDeviceId: 0, - ParentBridge: "", - DeviceName: "PCI Express Root Port", - }, - { - Id: "0000:00:18.2", - ClassId: 1540, - Bus: 0x0, - Slot: 0x18, - Function: 0x2, - VendorId: 5549, - SubVendorId: 0, - VendorName: "VMware", - DeviceId: 1952, - SubDeviceId: 0, - ParentBridge: "", - DeviceName: "PCI Express Root Port", - }, - { - Id: "0000:00:18.3", - ClassId: 1540, - Bus: 0x0, - Slot: 0x18, - Function: 0x3, - VendorId: 5549, - SubVendorId: 0, - VendorName: "VMware", - DeviceId: 1952, - SubDeviceId: 0, - ParentBridge: "", - DeviceName: "PCI Express Root Port", - }, - { - Id: "0000:00:18.4", - ClassId: 1540, - Bus: 0x0, - Slot: 0x18, - Function: 0x4, - VendorId: 5549, - SubVendorId: 0, - VendorName: "VMware", - DeviceId: 1952, - SubDeviceId: 0, - ParentBridge: "", - DeviceName: "PCI Express Root Port", - }, - { - Id: "0000:00:18.5", - ClassId: 1540, - Bus: 0x0, - Slot: 0x18, - Function: 0x5, - VendorId: 5549, - SubVendorId: 0, - VendorName: "VMware", - DeviceId: 1952, - SubDeviceId: 0, - ParentBridge: "", - DeviceName: "PCI Express Root Port", - }, - { - Id: "0000:00:18.6", - ClassId: 1540, - Bus: 0x0, - Slot: 0x18, - Function: 0x6, - VendorId: 5549, - SubVendorId: 0, - VendorName: "VMware", - DeviceId: 1952, - SubDeviceId: 0, - ParentBridge: "", - DeviceName: "PCI Express Root Port", - }, - { - Id: "0000:00:18.7", - ClassId: 1540, - Bus: 0x0, - Slot: 0x18, - Function: 0x7, - VendorId: 5549, - SubVendorId: 0, - VendorName: "VMware", - DeviceId: 1952, - SubDeviceId: 0, - ParentBridge: "", - DeviceName: "PCI Express Root Port", - }, - { - Id: "0000:03:00.0", - ClassId: 263, - Bus: 0x3, - Slot: 0x0, - Function: 0x0, - VendorId: 5549, - SubVendorId: 5549, - VendorName: "VMware", - DeviceId: 1984, - SubDeviceId: 1984, - ParentBridge: "0000:00:15.0", - DeviceName: "PVSCSI SCSI Controller", - }, - { - Id: "0000:0b:00.0", - ClassId: 512, - Bus: 0xb, - Slot: 0x0, - Function: 0x0, - VendorId: 5549, - SubVendorId: 5549, - VendorName: "VMware Inc.", - DeviceId: 1968, - SubDeviceId: 1968, - ParentBridge: "0000:00:16.0", - DeviceName: "vmxnet3 Virtual Ethernet Controller", - }, - { - Id: "0000:13:00.0", - ClassId: 512, - Bus: 0x13, - Slot: 0x0, - Function: 0x0, - VendorId: 5549, - SubVendorId: 5549, - VendorName: "VMware Inc.", - DeviceId: 1968, - SubDeviceId: 1968, - ParentBridge: "0000:00:17.0", - DeviceName: "vmxnet3 Virtual Ethernet Controller", - }, - }, - CpuFeature: []types.HostCpuIdInfo{ - { - Level: 0, - Vendor: "", - Eax: "0000:0000:0000:0000:0000:0000:0000:1101", - Ebx: "0111:0101:0110:1110:0110:0101:0100:0111", - Ecx: "0110:1100:0110:0101:0111:0100:0110:1110", - Edx: "0100:1001:0110:0101:0110:1110:0110:1001", - }, - { - Level: 1, - Vendor: "", - Eax: "0000:0000:0000:0010:0000:0110:1101:0111", - Ebx: "0000:0000:0000:0001:0000:1000:0000:0000", - Ecx: "1001:0111:1011:1010:0010:0010:0010:1011", - Edx: "0000:1111:1010:1011:1111:1011:1111:1111", - }, - { - Level: -2147483648, - Vendor: "", - Eax: "1000:0000:0000:0000:0000:0000:0000:1000", - Ebx: "0000:0000:0000:0000:0000:0000:0000:0000", - Ecx: "0000:0000:0000:0000:0000:0000:0000:0000", - Edx: "0000:0000:0000:0000:0000:0000:0000:0000", - }, - { - Level: -2147483647, - Vendor: "", - Eax: "0000:0000:0000:0000:0000:0000:0000:0000", - Ebx: "0000:0000:0000:0000:0000:0000:0000:0000", - Ecx: "0000:0000:0000:0000:0000:0000:0000:0001", - Edx: "0010:1000:0001:0000:0000:1000:0000:0000", - }, - { - Level: -2147483640, - Vendor: "", - Eax: "0000:0000:0000:0000:0011:0000:0010:1010", - Ebx: "0000:0000:0000:0000:0000:0000:0000:0000", - Ecx: "0000:0000:0000:0000:0000:0000:0000:0000", - Edx: "0000:0000:0000:0000:0000:0000:0000:0000", - }, - }, - BiosInfo: &types.HostBIOSInfo{ - BiosVersion: "6.00", - ReleaseDate: nil, - Vendor: "", - MajorRelease: 0, - MinorRelease: 0, - FirmwareMajorRelease: 0, - FirmwareMinorRelease: 0, - }, - ReliableMemoryInfo: &types.HostReliableMemoryInfo{}, -} - -func init() { - date, _ := time.Parse("2006-01-02", "2015-07-02") - - HostHardwareInfo.BiosInfo.ReleaseDate = &date -} diff --git a/vendor/github.com/vmware/govmomi/simulator/esx/host_storage_device_info.go b/vendor/github.com/vmware/govmomi/simulator/esx/host_storage_device_info.go deleted file mode 100644 index 9d1ae32dd40..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/esx/host_storage_device_info.go +++ /dev/null @@ -1,346 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package esx - -import "github.com/vmware/govmomi/vim25/types" - -// HostStorageDeviceInfo is the default template for the HostSystem config.storageDevice property. -// Capture method: -// govc object.collect -s -dump HostSystem:ha-host config.storageDevice -var HostStorageDeviceInfo = types.HostStorageDeviceInfo{ - HostBusAdapter: []types.BaseHostHostBusAdapter{ - &types.HostParallelScsiHba{ - HostHostBusAdapter: types.HostHostBusAdapter{ - Key: "key-vim.host.ParallelScsiHba-vmhba0", - Device: "vmhba0", - Bus: 3, - Status: "unknown", - Model: "PVSCSI SCSI Controller", - Driver: "pvscsi", - Pci: "0000:03:00.0", - }, - }, - &types.HostBlockHba{ - HostHostBusAdapter: types.HostHostBusAdapter{ - Key: "key-vim.host.BlockHba-vmhba1", - Device: "vmhba1", - Bus: 0, - Status: "unknown", - Model: "PIIX4 for 430TX/440BX/MX IDE Controller", - Driver: "vmkata", - Pci: "0000:00:07.1", - }, - }, - &types.HostBlockHba{ - HostHostBusAdapter: types.HostHostBusAdapter{ - Key: "key-vim.host.BlockHba-vmhba64", - Device: "vmhba64", - Bus: 0, - Status: "unknown", - Model: "PIIX4 for 430TX/440BX/MX IDE Controller", - Driver: "vmkata", - Pci: "0000:00:07.1", - }, - }, - }, - ScsiLun: []types.BaseScsiLun{ - &types.ScsiLun{ - HostDevice: types.HostDevice{ - DeviceName: "/vmfs/devices/cdrom/mpx.vmhba1:C0:T0:L0", - DeviceType: "cdrom", - }, - Key: "key-vim.host.ScsiLun-0005000000766d686261313a303a30", - Uuid: "0005000000766d686261313a303a30", - Descriptor: []types.ScsiLunDescriptor{ - { - Quality: "lowQuality", - Id: "mpx.vmhba1:C0:T0:L0", - }, - { - Quality: "lowQuality", - Id: "vml.0005000000766d686261313a303a30", - }, - { - Quality: "lowQuality", - Id: "0005000000766d686261313a303a30", - }, - }, - CanonicalName: "mpx.vmhba1:C0:T0:L0", - DisplayName: "Local NECVMWar CD-ROM (mpx.vmhba1:C0:T0:L0)", - LunType: "cdrom", - Vendor: "NECVMWar", - Model: "VMware IDE CDR00", - Revision: "1.00", - ScsiLevel: 5, - SerialNumber: "unavailable", - DurableName: (*types.ScsiLunDurableName)(nil), - AlternateName: []types.ScsiLunDurableName{ - { - Namespace: "GENERIC_VPD", - NamespaceId: 0x5, - Data: []uint8{0x2d, 0x37, 0x39}, - }, - { - Namespace: "GENERIC_VPD", - NamespaceId: 0x5, - Data: []uint8{0x30}, - }, - }, - StandardInquiry: []uint8{0x30}, - QueueDepth: 0, - OperationalState: []string{"ok"}, - Capabilities: &types.ScsiLunCapabilities{}, - VStorageSupport: "vStorageUnsupported", - ProtocolEndpoint: types.NewBool(false), - }, - &types.HostScsiDisk{ - ScsiLun: types.ScsiLun{ - HostDevice: types.HostDevice{ - DeviceName: "/vmfs/devices/disks/mpx.vmhba0:C0:T0:L0", - DeviceType: "disk", - }, - Key: "key-vim.host.ScsiDisk-0000000000766d686261303a303a30", - Uuid: "0000000000766d686261303a303a30", - Descriptor: []types.ScsiLunDescriptor{ - { - Quality: "lowQuality", - Id: "mpx.vmhba0:C0:T0:L0", - }, - { - Quality: "lowQuality", - Id: "vml.0000000000766d686261303a303a30", - }, - { - Quality: "lowQuality", - Id: "0000000000766d686261303a303a30", - }, - }, - CanonicalName: "mpx.vmhba0:C0:T0:L0", - DisplayName: "Local VMware, Disk (mpx.vmhba0:C0:T0:L0)", - LunType: "disk", - Vendor: "VMware, ", - Model: "VMware Virtual S", - Revision: "1.0 ", - ScsiLevel: 2, - SerialNumber: "unavailable", - DurableName: (*types.ScsiLunDurableName)(nil), - AlternateName: []types.ScsiLunDurableName{ - { - Namespace: "GENERIC_VPD", - NamespaceId: 0x5, - Data: []uint8{0x2d, 0x37, 0x39}, - }, - { - Namespace: "GENERIC_VPD", - NamespaceId: 0x5, - Data: []uint8{0x30}, - }, - }, - StandardInquiry: []uint8{0x30}, - QueueDepth: 1024, - OperationalState: []string{"ok"}, - Capabilities: &types.ScsiLunCapabilities{}, - VStorageSupport: "vStorageUnsupported", - ProtocolEndpoint: types.NewBool(false), - }, - Capacity: types.HostDiskDimensionsLba{ - BlockSize: 512, - Block: 67108864, - }, - DevicePath: "/vmfs/devices/disks/mpx.vmhba0:C0:T0:L0", - Ssd: types.NewBool(true), - LocalDisk: types.NewBool(true), - PhysicalLocation: nil, - EmulatedDIXDIFEnabled: types.NewBool(false), - VsanDiskInfo: (*types.VsanHostVsanDiskInfo)(nil), - ScsiDiskType: "native512", - }, - }, - ScsiTopology: &types.HostScsiTopology{ - Adapter: []types.HostScsiTopologyInterface{ - { - Key: "key-vim.host.ScsiTopology.Interface-vmhba0", - Adapter: "key-vim.host.ParallelScsiHba-vmhba0", - Target: []types.HostScsiTopologyTarget{ - { - Key: "key-vim.host.ScsiTopology.Target-vmhba0:0:0", - Target: 0, - Lun: []types.HostScsiTopologyLun{ - { - Key: "key-vim.host.ScsiTopology.Lun-0000000000766d686261303a303a30", - Lun: 0, - ScsiLun: "key-vim.host.ScsiDisk-0000000000766d686261303a303a30", - }, - }, - Transport: &types.HostParallelScsiTargetTransport{}, - }, - }, - }, - { - Key: "key-vim.host.ScsiTopology.Interface-vmhba1", - Adapter: "key-vim.host.BlockHba-vmhba1", - Target: []types.HostScsiTopologyTarget{ - { - Key: "key-vim.host.ScsiTopology.Target-vmhba1:0:0", - Target: 0, - Lun: []types.HostScsiTopologyLun{ - { - Key: "key-vim.host.ScsiTopology.Lun-0005000000766d686261313a303a30", - Lun: 0, - ScsiLun: "key-vim.host.ScsiLun-0005000000766d686261313a303a30", - }, - }, - Transport: &types.HostBlockAdapterTargetTransport{}, - }, - }, - }, - { - Key: "key-vim.host.ScsiTopology.Interface-vmhba64", - Adapter: "key-vim.host.BlockHba-vmhba64", - Target: nil, - }, - }, - }, - MultipathInfo: &types.HostMultipathInfo{ - Lun: []types.HostMultipathInfoLogicalUnit{ - { - Key: "key-vim.host.MultipathInfo.LogicalUnit-0005000000766d686261313a303a30", - Id: "0005000000766d686261313a303a30", - Lun: "key-vim.host.ScsiLun-0005000000766d686261313a303a30", - Path: []types.HostMultipathInfoPath{ - { - Key: "key-vim.host.MultipathInfo.Path-vmhba1:C0:T0:L0", - Name: "vmhba1:C0:T0:L0", - PathState: "active", - State: "active", - IsWorkingPath: types.NewBool(true), - Adapter: "key-vim.host.BlockHba-vmhba1", - Lun: "key-vim.host.MultipathInfo.LogicalUnit-0005000000766d686261313a303a30", - Transport: &types.HostBlockAdapterTargetTransport{}, - }, - }, - Policy: &types.HostMultipathInfoFixedLogicalUnitPolicy{ - HostMultipathInfoLogicalUnitPolicy: types.HostMultipathInfoLogicalUnitPolicy{ - Policy: "VMW_PSP_FIXED", - }, - Prefer: "vmhba1:C0:T0:L0", - }, - StorageArrayTypePolicy: &types.HostMultipathInfoLogicalUnitStorageArrayTypePolicy{ - Policy: "VMW_SATP_LOCAL", - }, - }, - { - Key: "key-vim.host.MultipathInfo.LogicalUnit-0000000000766d686261303a303a30", - Id: "0000000000766d686261303a303a30", - Lun: "key-vim.host.ScsiDisk-0000000000766d686261303a303a30", - Path: []types.HostMultipathInfoPath{ - { - Key: "key-vim.host.MultipathInfo.Path-vmhba0:C0:T0:L0", - Name: "vmhba0:C0:T0:L0", - PathState: "active", - State: "active", - IsWorkingPath: types.NewBool(true), - Adapter: "key-vim.host.ParallelScsiHba-vmhba0", - Lun: "key-vim.host.MultipathInfo.LogicalUnit-0000000000766d686261303a303a30", - Transport: &types.HostParallelScsiTargetTransport{}, - }, - }, - Policy: &types.HostMultipathInfoFixedLogicalUnitPolicy{ - HostMultipathInfoLogicalUnitPolicy: types.HostMultipathInfoLogicalUnitPolicy{ - Policy: "VMW_PSP_FIXED", - }, - Prefer: "vmhba0:C0:T0:L0", - }, - StorageArrayTypePolicy: &types.HostMultipathInfoLogicalUnitStorageArrayTypePolicy{ - Policy: "VMW_SATP_LOCAL", - }, - }, - }, - }, - PlugStoreTopology: &types.HostPlugStoreTopology{ - Adapter: []types.HostPlugStoreTopologyAdapter{ - { - Key: "key-vim.host.PlugStoreTopology.Adapter-vmhba0", - Adapter: "key-vim.host.ParallelScsiHba-vmhba0", - Path: []string{"key-vim.host.PlugStoreTopology.Path-vmhba0:C0:T0:L0"}, - }, - { - Key: "key-vim.host.PlugStoreTopology.Adapter-vmhba1", - Adapter: "key-vim.host.BlockHba-vmhba1", - Path: []string{"key-vim.host.PlugStoreTopology.Path-vmhba1:C0:T0:L0"}, - }, - { - Key: "key-vim.host.PlugStoreTopology.Adapter-vmhba64", - Adapter: "key-vim.host.BlockHba-vmhba64", - Path: nil, - }, - }, - Path: []types.HostPlugStoreTopologyPath{ - { - Key: "key-vim.host.PlugStoreTopology.Path-vmhba0:C0:T0:L0", - Name: "vmhba0:C0:T0:L0", - ChannelNumber: 0, - TargetNumber: 0, - LunNumber: 0, - Adapter: "key-vim.host.PlugStoreTopology.Adapter-vmhba0", - Target: "key-vim.host.PlugStoreTopology.Target-pscsi.0:0", - Device: "key-vim.host.PlugStoreTopology.Device-0000000000766d686261303a303a30", - }, - { - Key: "key-vim.host.PlugStoreTopology.Path-vmhba1:C0:T0:L0", - Name: "vmhba1:C0:T0:L0", - ChannelNumber: 0, - TargetNumber: 0, - LunNumber: 0, - Adapter: "key-vim.host.PlugStoreTopology.Adapter-vmhba1", - Target: "key-vim.host.PlugStoreTopology.Target-ide.0:0", - Device: "key-vim.host.PlugStoreTopology.Device-0005000000766d686261313a303a30", - }, - }, - Target: []types.HostPlugStoreTopologyTarget{ - { - Key: "key-vim.host.PlugStoreTopology.Target-pscsi.0:0", - Transport: &types.HostParallelScsiTargetTransport{}, - }, - { - Key: "key-vim.host.PlugStoreTopology.Target-ide.0:0", - Transport: &types.HostBlockAdapterTargetTransport{}, - }, - }, - Device: []types.HostPlugStoreTopologyDevice{ - { - Key: "key-vim.host.PlugStoreTopology.Device-0005000000766d686261313a303a30", - Lun: "key-vim.host.ScsiLun-0005000000766d686261313a303a30", - Path: []string{"key-vim.host.PlugStoreTopology.Path-vmhba1:C0:T0:L0"}, - }, - { - Key: "key-vim.host.PlugStoreTopology.Device-0000000000766d686261303a303a30", - Lun: "key-vim.host.ScsiDisk-0000000000766d686261303a303a30", - Path: []string{"key-vim.host.PlugStoreTopology.Path-vmhba0:C0:T0:L0"}, - }, - }, - Plugin: []types.HostPlugStoreTopologyPlugin{ - { - Key: "key-vim.host.PlugStoreTopology.Plugin-NMP", - Name: "NMP", - Device: []string{"key-vim.host.PlugStoreTopology.Device-0005000000766d686261313a303a30", "key-vim.host.PlugStoreTopology.Device-0000000000766d686261303a303a30"}, - ClaimedPath: []string{"key-vim.host.PlugStoreTopology.Path-vmhba0:C0:T0:L0", "key-vim.host.PlugStoreTopology.Path-vmhba1:C0:T0:L0"}, - }, - }, - }, - SoftwareInternetScsiEnabled: false, -} diff --git a/vendor/github.com/vmware/govmomi/simulator/esx/host_system.go b/vendor/github.com/vmware/govmomi/simulator/esx/host_system.go deleted file mode 100644 index febc2f245d8..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/esx/host_system.go +++ /dev/null @@ -1,1801 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package esx - -import ( - "time" - - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/types" -) - -// HostSystem is the default template for HostSystem properties. -// Capture method: -// govc host.info -dump -var HostSystem = mo.HostSystem{ - ManagedEntity: mo.ManagedEntity{ - ExtensibleManagedObject: mo.ExtensibleManagedObject{ - Self: types.ManagedObjectReference{Type: "HostSystem", Value: "ha-host"}, - Value: nil, - AvailableField: nil, - }, - Parent: &types.ManagedObjectReference{Type: "ComputeResource", Value: "ha-compute-res"}, - CustomValue: nil, - OverallStatus: "", - ConfigStatus: "", - ConfigIssue: nil, - EffectiveRole: nil, - Permission: nil, - Name: "", - DisabledMethod: nil, - RecentTask: nil, - DeclaredAlarmState: nil, - TriggeredAlarmState: nil, - AlarmActionsEnabled: (*bool)(nil), - Tag: nil, - }, - Runtime: types.HostRuntimeInfo{ - DynamicData: types.DynamicData{}, - ConnectionState: "connected", - PowerState: "poweredOn", - StandbyMode: "none", - InMaintenanceMode: false, - BootTime: (*time.Time)(nil), - HealthSystemRuntime: &types.HealthSystemRuntime{ - DynamicData: types.DynamicData{}, - SystemHealthInfo: &types.HostSystemHealthInfo{ - DynamicData: types.DynamicData{}, - NumericSensorInfo: []types.HostNumericSensorInfo{ - { - DynamicData: types.DynamicData{}, - Name: "VMware Rollup Health State", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "system", - }, - { - DynamicData: types.DynamicData{}, - Name: "CPU socket #0 Level-1 Cache is 16384 B", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Processors", - }, - { - DynamicData: types.DynamicData{}, - Name: "CPU socket #0 Level-2 Cache is 0 B", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Processors", - }, - { - DynamicData: types.DynamicData{}, - Name: "CPU socket #1 Level-1 Cache is 16384 B", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Processors", - }, - { - DynamicData: types.DynamicData{}, - Name: "CPU socket #1 Level-2 Cache is 0 B", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Processors", - }, - { - DynamicData: types.DynamicData{}, - Name: "Phoenix Technologies LTD System BIOS 6.00 2014-05-20 00:00:00.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware, Inc. VMware ESXi 6.0.0 build-3634798 2016-03-07 00:00:00.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware sata-ata-piix 2.12-10vmw.600.2.34.3634798 2016-03-08 07:38:41.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware lsu-lsi-mptsas-plugin 1.0.0-1vmw.600.2.34.3634798 2016-03-08 07:39:28.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware net-mlx4-core 1.9.7.0-1vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware lsu-lsi-mpt2sas-plugin 1.0.0-4vmw.600.2.34.3634798 2016-03-08 07:39:28.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware scsi-aacraid 1.1.5.1-9vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware ata-pata-via 0.3.3-2vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware scsi-qla4xxx 5.01.03.2-7vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware sata-sata-promise 2.12-3vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware scsi-megaraid-mbox 2.20.5.1-6vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware vsan 6.0.0-2.34.3563498 2016-02-17 17:18:19.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware net-e1000 8.0.3.1-5vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware ata-pata-serverworks 0.4.3-3vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware scsi-mptspi 4.23.01.00-9vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware net-nx-nic 5.0.621-5vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware block-cciss 3.6.14-10vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware net-bnx2x 1.78.80.v60.12-1vmw.600.2.34.3634798 2016-03-08 07:38:41.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware ipmi-ipmi-devintf 39.1-4vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware scsi-mptsas 4.23.01.00-9vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware scsi-megaraid2 2.00.4-9vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware nvme 1.0e.0.35-1vmw.600.2.34.3634798 2016-03-08 07:38:46.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware esx-xserver 6.0.0-2.34.3634798 2016-03-08 07:39:27.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware nmlx4-en 3.0.0.0-1vmw.600.2.34.3634798 2016-03-08 07:38:46.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware lsu-hp-hpsa-plugin 1.0.0-1vmw.600.2.34.3634798 2016-03-08 07:39:28.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware scsi-megaraid-sas 6.603.55.00-2vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware net-enic 2.1.2.38-2vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware lsi-msgpt3 06.255.12.00-8vmw.600.2.34.3634798 2016-03-08 07:38:46.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware sata-ahci 3.0-22vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware net-forcedeth 0.61-2vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware ata-pata-atiixp 0.4.6-4vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware elxnet 10.2.309.6v-1vmw.600.2.34.3634798 2016-03-08 07:38:46.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware esx-dvfilter-generic-fastpath 6.0.0-2.34.3634798 2016-03-08 07:39:28.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware uhci-usb-uhci 1.0-3vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware ata-pata-amd 0.3.10-3vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware sata-sata-sil24 1.1-1vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware ohci-usb-ohci 1.0-3vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware net-igb 5.0.5.1.1-5vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware ata-pata-pdc2027x 1.0-3vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware ehci-ehci-hcd 1.0-3vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware lsu-lsi-lsi-mr3-plugin 1.0.0-2vmw.600.2.34.3634798 2016-03-08 07:39:28.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware net-ixgbe 3.7.13.7.14iov-20vmw.600.2.34.3634798 2016-03-08 07:38:41.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware vsanhealth 6.0.0-3000000.3.0.2.34.3544323 2016-02-12 06:45:30.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware net-cnic 1.78.76.v60.13-2vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware sata-sata-svw 2.3-3vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware ipmi-ipmi-msghandler 39.1-4vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware emulex-esx-elxnetcli 10.2.309.6v-2.34.3634798 2016-03-08 07:39:28.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware scsi-aic79xx 3.1-5vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware qlnativefc 2.0.12.0-5vmw.600.2.34.3634798 2016-03-08 07:38:46.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware lsu-lsi-lsi-msgpt3-plugin 1.0.0-1vmw.600.2.34.3634798 2016-03-08 07:39:28.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware ima-qla4xxx 2.02.18-1vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware net-mlx4-en 1.9.7.0-1vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware net-e1000e 3.2.2.1-1vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware net-tg3 3.131d.v60.4-2vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware scsi-hpsa 6.0.0.44-4vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware scsi-bnx2fc 1.78.78.v60.8-1vmw.600.2.34.3634798 2016-03-08 07:38:41.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware cpu-microcode 6.0.0-2.34.3634798 2016-03-08 07:39:28.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware scsi-fnic 1.5.0.45-3vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware nmlx4-rdma 3.0.0.0-1vmw.600.2.34.3634798 2016-03-08 07:38:46.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware net-vmxnet3 1.1.3.0-3vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware lpfc 10.2.309.8-2vmw.600.2.34.3634798 2016-03-08 07:38:46.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware esx-ui 1.0.0-3617585 2016-03-03 04:52:43.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware ata-pata-cmd64x 0.2.5-3vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware lsi-mr3 6.605.08.00-7vmw.600.2.34.3634798 2016-03-08 07:38:46.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware ata-pata-hpt3x2n 0.3.4-3vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware sata-sata-nv 3.5-4vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware misc-cnic-register 1.78.75.v60.7-1vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware lsu-lsi-megaraid-sas-plugin 1.0.0-2vmw.600.2.34.3634798 2016-03-08 07:39:28.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware ata-pata-sil680 0.4.8-3vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware esx-tboot 6.0.0-2.34.3634798 2016-03-08 07:39:27.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware xhci-xhci 1.0-3vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware scsi-ips 7.12.05-4vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware scsi-adp94xx 1.0.8.12-6vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware rste 2.0.2.0088-4vmw.600.2.34.3634798 2016-03-08 07:38:46.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware ipmi-ipmi-si-drv 39.1-4vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMWARE mtip32xx-native 3.8.5-1vmw.600.2.34.3634798 2016-03-08 07:38:46.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware scsi-mpt2sas 19.00.00.00-1vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware misc-drivers 6.0.0-2.34.3634798 2016-03-08 07:38:41.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware nmlx4-core 3.0.0.0-1vmw.600.2.34.3634798 2016-03-08 07:38:46.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware sata-sata-sil 2.3-4vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware esx-base 6.0.0-2.34.3634798 2016-03-08 07:39:18.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware scsi-bnx2i 2.78.76.v60.8-1vmw.600.2.34.3634798 2016-03-08 07:38:41.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "VMware net-bnx2 2.2.4f.v60.10-1vmw.600.2.34.3634798 2016-03-08 07:38:45.000", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "e1000 driver 8.0.3.1-NAPI", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - { - DynamicData: types.DynamicData{}, - Name: "e1000 device firmware N/A", - HealthState: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Sensor is operating under normal conditions", - }, - Key: "green", - }, - CurrentReading: 0, - UnitModifier: 0, - BaseUnits: "", - RateUnits: "", - SensorType: "Software Components", - }, - }, - }, - HardwareStatusInfo: &types.HostHardwareStatusInfo{ - DynamicData: types.DynamicData{}, - MemoryStatusInfo: nil, - CpuStatusInfo: []types.BaseHostHardwareElementInfo{ - &types.HostHardwareElementInfo{ - DynamicData: types.DynamicData{}, - Name: "CPU socket #0", - Status: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Physical element is functioning as expected", - }, - Key: "Green", - }, - }, - &types.HostHardwareElementInfo{ - DynamicData: types.DynamicData{}, - Name: "CPU socket #1", - Status: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Green", - Summary: "Physical element is functioning as expected", - }, - Key: "Green", - }, - }, - }, - StorageStatusInfo: nil, - }, - }, - DasHostState: (*types.ClusterDasFdmHostState)(nil), - TpmPcrValues: nil, - VsanRuntimeInfo: &types.VsanHostRuntimeInfo{}, - NetworkRuntimeInfo: &types.HostRuntimeInfoNetworkRuntimeInfo{ - DynamicData: types.DynamicData{}, - NetStackInstanceRuntimeInfo: []types.HostRuntimeInfoNetStackInstanceRuntimeInfo{ - { - DynamicData: types.DynamicData{}, - NetStackInstanceKey: "defaultTcpipStack", - State: "active", - VmknicKeys: []string{"vmk0"}, - MaxNumberOfConnections: 11000, - CurrentIpV6Enabled: types.NewBool(true), - }, - }, - NetworkResourceRuntime: (*types.HostNetworkResourceRuntime)(nil), - }, - VFlashResourceRuntimeInfo: (*types.HostVFlashManagerVFlashResourceRunTimeInfo)(nil), - HostMaxVirtualDiskCapacity: 68169720922112, - }, - Summary: types.HostListSummary{ - DynamicData: types.DynamicData{}, - Host: &types.ManagedObjectReference{Type: "HostSystem", Value: "ha-host"}, - Hardware: &types.HostHardwareSummary{ - DynamicData: types.DynamicData{}, - Vendor: "VMware, Inc.", - Model: "VMware Virtual Platform", - Uuid: "564d2f12-8041-639b-5018-05a835b72eaf", - OtherIdentifyingInfo: []types.HostSystemIdentificationInfo{ - { - DynamicData: types.DynamicData{}, - IdentifierValue: " No Asset Tag", - IdentifierType: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Asset Tag", - Summary: "Asset tag of the system", - }, - Key: "AssetTag", - }, - }, - { - DynamicData: types.DynamicData{}, - IdentifierValue: "[MS_VM_CERT/SHA1/27d66596a61c48dd3dc7216fd715126e33f59ae7]", - IdentifierType: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "OEM specific string", - Summary: "OEM specific string", - }, - Key: "OemSpecificString", - }, - }, - { - DynamicData: types.DynamicData{}, - IdentifierValue: "Welcome to the Virtual Machine", - IdentifierType: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "OEM specific string", - Summary: "OEM specific string", - }, - Key: "OemSpecificString", - }, - }, - { - DynamicData: types.DynamicData{}, - IdentifierValue: "VMware-56 4d 2f 12 80 41 63 9b-50 18 05 a8 35 b7 2e af", - IdentifierType: &types.ElementDescription{ - Description: types.Description{ - DynamicData: types.DynamicData{}, - Label: "Service tag", - Summary: "Service tag of the system", - }, - Key: "ServiceTag", - }, - }, - }, - MemorySize: 4294430720, - CpuModel: "Intel(R) Core(TM) i7-3615QM CPU @ 2.30GHz", - CpuMhz: 2294, - NumCpuPkgs: 2, - NumCpuCores: 2, - NumCpuThreads: 2, - NumNics: 1, - NumHBAs: 3, - }, - Runtime: (*types.HostRuntimeInfo)(nil), - Config: types.HostConfigSummary{ - DynamicData: types.DynamicData{}, - Name: "localhost.localdomain", - Port: 902, - SslThumbprint: "", - Product: &HostConfigInfo.Product, - VmotionEnabled: false, - FaultToleranceEnabled: types.NewBool(true), - FeatureVersion: nil, - AgentVmDatastore: (*types.ManagedObjectReference)(nil), - AgentVmNetwork: (*types.ManagedObjectReference)(nil), - }, - QuickStats: types.HostListSummaryQuickStats{ - DynamicData: types.DynamicData{}, - OverallCpuUsage: 67, - OverallMemoryUsage: 1404, - DistributedCpuFairness: 0, - DistributedMemoryFairness: 0, - Uptime: 77229, - }, - OverallStatus: "gray", - RebootRequired: false, - CustomValue: nil, - ManagementServerIp: "", - MaxEVCModeKey: "", - CurrentEVCModeKey: "", - Gateway: (*types.HostListSummaryGatewaySummary)(nil), - }, - Hardware: (*types.HostHardwareInfo)(nil), - Capability: (*types.HostCapability)(nil), - LicensableResource: types.HostLicensableResourceInfo{ - Resource: []types.KeyAnyValue{ - { - Key: "numCpuPackages", - Value: types.KeyValue{ - Key: "numCpuPackages", - Value: "2", - }, - }, - }, - }, - ConfigManager: types.HostConfigManager{ - DynamicData: types.DynamicData{}, - CpuScheduler: &types.ManagedObjectReference{Type: "HostCpuSchedulerSystem", Value: "cpuSchedulerSystem"}, - DatastoreSystem: &types.ManagedObjectReference{Type: "HostDatastoreSystem", Value: "ha-datastoresystem"}, - MemoryManager: &types.ManagedObjectReference{Type: "HostMemorySystem", Value: "memoryManagerSystem"}, - StorageSystem: &types.ManagedObjectReference{Type: "HostStorageSystem", Value: "storageSystem"}, - NetworkSystem: &types.ManagedObjectReference{Type: "HostNetworkSystem", Value: "networkSystem"}, - VmotionSystem: &types.ManagedObjectReference{Type: "HostVMotionSystem", Value: "ha-vmotion-system"}, - VirtualNicManager: &types.ManagedObjectReference{Type: "HostVirtualNicManager", Value: "ha-vnic-mgr"}, - ServiceSystem: &types.ManagedObjectReference{Type: "HostServiceSystem", Value: "serviceSystem"}, - FirewallSystem: &types.ManagedObjectReference{Type: "HostFirewallSystem", Value: "firewallSystem"}, - AdvancedOption: &types.ManagedObjectReference{Type: "OptionManager", Value: "ha-adv-options"}, - DiagnosticSystem: &types.ManagedObjectReference{Type: "HostDiagnosticSystem", Value: "diagnosticsystem"}, - AutoStartManager: &types.ManagedObjectReference{Type: "HostAutoStartManager", Value: "ha-autostart-mgr"}, - SnmpSystem: &types.ManagedObjectReference{Type: "HostSnmpSystem", Value: "ha-snmp-agent"}, - DateTimeSystem: &types.ManagedObjectReference{Type: "HostDateTimeSystem", Value: "dateTimeSystem"}, - PatchManager: &types.ManagedObjectReference{Type: "HostPatchManager", Value: "ha-host-patch-manager"}, - ImageConfigManager: &types.ManagedObjectReference{Type: "HostImageConfigManager", Value: "ha-image-config-manager"}, - BootDeviceSystem: (*types.ManagedObjectReference)(nil), - FirmwareSystem: &types.ManagedObjectReference{Type: "HostFirmwareSystem", Value: "ha-firmwareSystem"}, - HealthStatusSystem: &types.ManagedObjectReference{Type: "HostHealthStatusSystem", Value: "healthStatusSystem"}, - PciPassthruSystem: &types.ManagedObjectReference{Type: "HostPciPassthruSystem", Value: "ha-pcipassthrusystem"}, - LicenseManager: &types.ManagedObjectReference{Type: "LicenseManager", Value: "ha-license-manager"}, - KernelModuleSystem: &types.ManagedObjectReference{Type: "HostKernelModuleSystem", Value: "kernelModuleSystem"}, - AuthenticationManager: &types.ManagedObjectReference{Type: "HostAuthenticationManager", Value: "ha-auth-manager"}, - PowerSystem: &types.ManagedObjectReference{Type: "HostPowerSystem", Value: "ha-power-system"}, - CacheConfigurationManager: &types.ManagedObjectReference{Type: "HostCacheConfigurationManager", Value: "ha-cache-configuration-manager"}, - EsxAgentHostManager: (*types.ManagedObjectReference)(nil), - IscsiManager: &types.ManagedObjectReference{Type: "IscsiManager", Value: "iscsiManager"}, - VFlashManager: &types.ManagedObjectReference{Type: "HostVFlashManager", Value: "ha-vflash-manager"}, - VsanSystem: &types.ManagedObjectReference{Type: "HostVsanSystem", Value: "vsanSystem"}, - MessageBusProxy: &types.ManagedObjectReference{Type: "MessageBusProxy", Value: "messageBusProxy"}, - UserDirectory: &types.ManagedObjectReference{Type: "UserDirectory", Value: "ha-user-directory"}, - AccountManager: &types.ManagedObjectReference{Type: "HostLocalAccountManager", Value: "ha-localacctmgr"}, - HostAccessManager: &types.ManagedObjectReference{Type: "HostAccessManager", Value: "ha-host-access-manager"}, - GraphicsManager: &types.ManagedObjectReference{Type: "HostGraphicsManager", Value: "ha-graphics-manager"}, - VsanInternalSystem: &types.ManagedObjectReference{Type: "HostVsanInternalSystem", Value: "ha-vsan-internal-system"}, - CertificateManager: &types.ManagedObjectReference{Type: "HostCertificateManager", Value: "ha-certificate-manager"}, - }, - Config: &HostConfigInfo, - Vm: nil, - Datastore: nil, - Network: nil, - DatastoreBrowser: types.ManagedObjectReference{Type: "HostDatastoreBrowser", Value: "ha-host-datastorebrowser"}, - SystemResources: (*types.HostSystemResourceInfo)(nil), -} diff --git a/vendor/github.com/vmware/govmomi/simulator/esx/performance_manager.go b/vendor/github.com/vmware/govmomi/simulator/esx/performance_manager.go deleted file mode 100644 index 532f0ad5b94..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/esx/performance_manager.go +++ /dev/null @@ -1,15057 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package esx - -import "github.com/vmware/govmomi/vim25/types" - -// PerfCounter is the default template for the PerformanceManager perfCounter property. -// Capture method: -// govc object.collect -s -dump PerformanceManager:ha-perfmgr perfCounter -var PerfCounter = []types.PerfCounterInfo{ - { - Key: 0, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Usage", - Summary: "CPU usage as a percentage during the interval", - }, - Key: "usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "none", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: []int32{1, 2, 3}, - }, - { - Key: 1, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Usage", - Summary: "CPU usage as a percentage during the interval", - }, - Key: "usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 2, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Usage", - Summary: "CPU usage as a percentage during the interval", - }, - Key: "usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "maximum", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 3, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Usage", - Summary: "CPU usage as a percentage during the interval", - }, - Key: "usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "minimum", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 4, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Usage in MHz", - Summary: "CPU usage in megahertz during the interval", - }, - Key: "usagemhz", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MHz", - Summary: "Megahertz", - }, - Key: "megaHertz", - }, - RollupType: "none", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: []int32{5, 6, 7}, - }, - { - Key: 5, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Usage in MHz", - Summary: "CPU usage in megahertz during the interval", - }, - Key: "usagemhz", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MHz", - Summary: "Megahertz", - }, - Key: "megaHertz", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 6, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Usage in MHz", - Summary: "CPU usage in megahertz during the interval", - }, - Key: "usagemhz", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MHz", - Summary: "Megahertz", - }, - Key: "megaHertz", - }, - RollupType: "maximum", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 7, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Usage in MHz", - Summary: "CPU usage in megahertz during the interval", - }, - Key: "usagemhz", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MHz", - Summary: "Megahertz", - }, - Key: "megaHertz", - }, - RollupType: "minimum", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 8, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Reserved capacity", - Summary: "Total CPU capacity reserved by virtual machines", - }, - Key: "reservedCapacity", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MHz", - Summary: "Megahertz", - }, - Key: "megaHertz", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 9, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "Amount of time spent on system processes on each virtual CPU in the virtual machine", - }, - Key: "system", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "summation", - StatsType: "delta", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 10, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Wait", - Summary: "Total CPU time spent in wait state", - }, - Key: "wait", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "summation", - StatsType: "delta", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 11, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Ready", - Summary: "Time that the virtual machine was ready, but could not get scheduled to run on the physical CPU during last measurement interval", - }, - Key: "ready", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "summation", - StatsType: "delta", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 12, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Used", - Summary: "Total CPU usage", - }, - Key: "used", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "summation", - StatsType: "delta", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 13, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Idle", - Summary: "Total time that the CPU spent in an idle state", - }, - Key: "idle", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "summation", - StatsType: "delta", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 14, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Swap wait", - Summary: "CPU time spent waiting for swap-in", - }, - Key: "swapwait", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "summation", - StatsType: "delta", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 15, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Utilization", - Summary: "CPU utilization as a percentage during the interval (CPU usage and CPU utilization might be different due to power management technologies or hyper-threading)", - }, - Key: "utilization", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "none", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: []int32{16, 17, 18}, - }, - { - Key: 16, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Utilization", - Summary: "CPU utilization as a percentage during the interval (CPU usage and CPU utilization might be different due to power management technologies or hyper-threading)", - }, - Key: "utilization", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 17, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Utilization", - Summary: "CPU utilization as a percentage during the interval (CPU usage and CPU utilization might be different due to power management technologies or hyper-threading)", - }, - Key: "utilization", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "maximum", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 18, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Utilization", - Summary: "CPU utilization as a percentage during the interval (CPU usage and CPU utilization might be different due to power management technologies or hyper-threading)", - }, - Key: "utilization", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "minimum", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 19, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Core Utilization", - Summary: "CPU utilization of the corresponding core (if hyper-threading is enabled) as a percentage during the interval (A core is utilized if either or both of its logical CPUs are utilized)", - }, - Key: "coreUtilization", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "none", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: []int32{20, 21, 22}, - }, - { - Key: 20, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Core Utilization", - Summary: "CPU utilization of the corresponding core (if hyper-threading is enabled) as a percentage during the interval (A core is utilized if either or both of its logical CPUs are utilized)", - }, - Key: "coreUtilization", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 21, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Core Utilization", - Summary: "CPU utilization of the corresponding core (if hyper-threading is enabled) as a percentage during the interval (A core is utilized if either or both of its logical CPUs are utilized)", - }, - Key: "coreUtilization", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "maximum", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 22, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Core Utilization", - Summary: "CPU utilization of the corresponding core (if hyper-threading is enabled) as a percentage during the interval (A core is utilized if either or both of its logical CPUs are utilized)", - }, - Key: "coreUtilization", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "minimum", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 23, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Total capacity", - Summary: "Total CPU capacity reserved by and available for virtual machines", - }, - Key: "totalCapacity", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MHz", - Summary: "Megahertz", - }, - Key: "megaHertz", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 24, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Latency", - Summary: "Percent of time the virtual machine is unable to run because it is contending for access to the physical CPU(s)", - }, - Key: "latency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 25, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Entitlement", - Summary: "CPU resources devoted by the ESX scheduler", - }, - Key: "entitlement", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MHz", - Summary: "Megahertz", - }, - Key: "megaHertz", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 26, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Demand", - Summary: "The amount of CPU resources a virtual machine would use if there were no CPU contention or CPU limit", - }, - Key: "demand", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MHz", - Summary: "Megahertz", - }, - Key: "megaHertz", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 27, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Co-stop", - Summary: "Time the virtual machine is ready to run, but is unable to run due to co-scheduling constraints", - }, - Key: "costop", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "summation", - StatsType: "delta", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 28, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Max limited", - Summary: "Time the virtual machine is ready to run, but is not run due to maxing out its CPU limit setting", - }, - Key: "maxlimited", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "summation", - StatsType: "delta", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 29, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Overlap", - Summary: "Time the virtual machine was interrupted to perform system services on behalf of itself or other virtual machines", - }, - Key: "overlap", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "summation", - StatsType: "delta", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 30, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Run", - Summary: "Time the virtual machine is scheduled to run", - }, - Key: "run", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "summation", - StatsType: "delta", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 31, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Demand-to-entitlement ratio", - Summary: "CPU resource entitlement to CPU demand ratio (in percents)", - }, - Key: "demandEntitlementRatio", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 32, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Readiness", - Summary: "Percentage of time that the virtual machine was ready, but could not get scheduled to run on the physical CPU", - }, - Key: "readiness", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65536, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Host consumed %", - Summary: "Percentage of host physical memory that has been consumed", - }, - Key: "usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "none", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: []int32{65537, 65538, 65539}, - }, - { - Key: 65537, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Host consumed %", - Summary: "Percentage of host physical memory that has been consumed", - }, - Key: "usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65538, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Host consumed %", - Summary: "Percentage of host physical memory that has been consumed", - }, - Key: "usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65539, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Host consumed %", - Summary: "Percentage of host physical memory that has been consumed", - }, - Key: "usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65540, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Granted", - Summary: "Amount of host physical memory or physical memory that is mapped for a virtual machine or a host", - }, - Key: "granted", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "none", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: []int32{65541, 65542, 65543}, - }, - { - Key: 65541, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Granted", - Summary: "Amount of host physical memory or physical memory that is mapped for a virtual machine or a host", - }, - Key: "granted", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65542, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Granted", - Summary: "Amount of host physical memory or physical memory that is mapped for a virtual machine or a host", - }, - Key: "granted", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65543, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Granted", - Summary: "Amount of host physical memory or physical memory that is mapped for a virtual machine or a host", - }, - Key: "granted", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65544, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Active", - Summary: "Amount of guest physical memory that is being actively read or written by guest. Activeness is estimated by ESXi", - }, - Key: "active", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "none", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: []int32{65545, 65546, 65547}, - }, - { - Key: 65545, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Active", - Summary: "Amount of guest physical memory that is being actively read or written by guest. Activeness is estimated by ESXi", - }, - Key: "active", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65546, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Active", - Summary: "Amount of guest physical memory that is being actively read or written by guest. Activeness is estimated by ESXi", - }, - Key: "active", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65547, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Active", - Summary: "Amount of guest physical memory that is being actively read or written by guest. Activeness is estimated by ESXi", - }, - Key: "active", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65548, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Shared", - Summary: "Amount of guest physical memory that is shared within a single virtual machine or across virtual machines", - }, - Key: "shared", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "none", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: []int32{65549, 65550, 65551}, - }, - { - Key: 65549, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Shared", - Summary: "Amount of guest physical memory that is shared within a single virtual machine or across virtual machines", - }, - Key: "shared", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65550, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Shared", - Summary: "Amount of guest physical memory that is shared within a single virtual machine or across virtual machines", - }, - Key: "shared", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65551, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Shared", - Summary: "Amount of guest physical memory that is shared within a single virtual machine or across virtual machines", - }, - Key: "shared", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65552, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Zero pages", - Summary: "Guest physical memory pages whose content is 0x00", - }, - Key: "zero", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "none", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: []int32{65553, 65554, 65555}, - }, - { - Key: 65553, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Zero pages", - Summary: "Guest physical memory pages whose content is 0x00", - }, - Key: "zero", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65554, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Zero pages", - Summary: "Guest physical memory pages whose content is 0x00", - }, - Key: "zero", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65555, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Zero pages", - Summary: "Guest physical memory pages whose content is 0x00", - }, - Key: "zero", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65556, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Reservation available", - Summary: "Amount by which reservation can be raised", - }, - Key: "unreserved", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "none", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: []int32{65557, 65558, 65559}, - }, - { - Key: 65557, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Reservation available", - Summary: "Amount by which reservation can be raised", - }, - Key: "unreserved", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65558, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Reservation available", - Summary: "Amount by which reservation can be raised", - }, - Key: "unreserved", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65559, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Reservation available", - Summary: "Amount by which reservation can be raised", - }, - Key: "unreserved", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65560, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Swap consumed", - Summary: "Swap storage space consumed", - }, - Key: "swapused", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "none", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: []int32{65561, 65562, 65563}, - }, - { - Key: 65561, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Swap consumed", - Summary: "Swap storage space consumed", - }, - Key: "swapused", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65562, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Swap consumed", - Summary: "Swap storage space consumed", - }, - Key: "swapused", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65563, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Swap consumed", - Summary: "Swap storage space consumed", - }, - Key: "swapused", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65568, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Shared common", - Summary: "Amount of host physical memory that backs shared guest physical memory (Shared)", - }, - Key: "sharedcommon", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "none", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: []int32{65569, 65570, 65571}, - }, - { - Key: 65569, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Shared common", - Summary: "Amount of host physical memory that backs shared guest physical memory (Shared)", - }, - Key: "sharedcommon", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65570, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Shared common", - Summary: "Amount of host physical memory that backs shared guest physical memory (Shared)", - }, - Key: "sharedcommon", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65571, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Shared common", - Summary: "Amount of host physical memory that backs shared guest physical memory (Shared)", - }, - Key: "sharedcommon", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65572, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Heap", - Summary: "Virtual address space of ESXi that is dedicated to its heap", - }, - Key: "heap", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "none", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: []int32{65573, 65574, 65575}, - }, - { - Key: 65573, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Heap", - Summary: "Virtual address space of ESXi that is dedicated to its heap", - }, - Key: "heap", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65574, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Heap", - Summary: "Virtual address space of ESXi that is dedicated to its heap", - }, - Key: "heap", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65575, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Heap", - Summary: "Virtual address space of ESXi that is dedicated to its heap", - }, - Key: "heap", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65576, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Heap free", - Summary: "Free address space in the heap of ESXi. This is less than or equal to Heap", - }, - Key: "heapfree", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "none", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: []int32{65577, 65578, 65579}, - }, - { - Key: 65577, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Heap free", - Summary: "Free address space in the heap of ESXi. This is less than or equal to Heap", - }, - Key: "heapfree", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65578, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Heap free", - Summary: "Free address space in the heap of ESXi. This is less than or equal to Heap", - }, - Key: "heapfree", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65579, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Heap free", - Summary: "Free address space in the heap of ESXi. This is less than or equal to Heap", - }, - Key: "heapfree", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65580, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Free state", - Summary: "Current memory availability state of ESXi. Possible values are high, clear, soft, hard, low. The state value determines the techniques used for memory reclamation from virtual machines", - }, - Key: "state", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65581, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Ballooned memory", - Summary: "Amount of guest physical memory reclaimed from the virtual machine by the balloon driver in the guest", - }, - Key: "vmmemctl", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "none", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: []int32{65582, 65583, 65584}, - }, - { - Key: 65582, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Ballooned memory", - Summary: "Amount of guest physical memory reclaimed from the virtual machine by the balloon driver in the guest", - }, - Key: "vmmemctl", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65583, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Ballooned memory", - Summary: "Amount of guest physical memory reclaimed from the virtual machine by the balloon driver in the guest", - }, - Key: "vmmemctl", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65584, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Ballooned memory", - Summary: "Amount of guest physical memory reclaimed from the virtual machine by the balloon driver in the guest", - }, - Key: "vmmemctl", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65585, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Overhead consumed", - Summary: "Host physical memory consumed by ESXi data structures for running the virtual machines", - }, - Key: "overhead", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "none", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: []int32{65586, 65587, 65588}, - }, - { - Key: 65586, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Overhead consumed", - Summary: "Host physical memory consumed by ESXi data structures for running the virtual machines", - }, - Key: "overhead", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65587, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Overhead consumed", - Summary: "Host physical memory consumed by ESXi data structures for running the virtual machines", - }, - Key: "overhead", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65588, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Overhead consumed", - Summary: "Host physical memory consumed by ESXi data structures for running the virtual machines", - }, - Key: "overhead", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65589, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Reservation consumed", - Summary: "Memory reservation consumed by powered-on virtual machines", - }, - Key: "reservedCapacity", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MB", - Summary: "Megabyte", - }, - Key: "megaBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65590, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Swapped", - Summary: "Amount of guest physical memory that is swapped out to the swap space", - }, - Key: "swapped", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "none", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: []int32{65591, 65592, 65593}, - }, - { - Key: 65591, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Swapped", - Summary: "Amount of guest physical memory that is swapped out to the swap space", - }, - Key: "swapped", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65592, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Swapped", - Summary: "Amount of guest physical memory that is swapped out to the swap space", - }, - Key: "swapped", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65593, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Swapped", - Summary: "Amount of guest physical memory that is swapped out to the swap space", - }, - Key: "swapped", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65594, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Swap target", - Summary: "Amount of memory that ESXi needs to reclaim by swapping", - }, - Key: "swaptarget", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "none", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: []int32{65595, 65596, 65597}, - }, - { - Key: 65595, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Swap target", - Summary: "Amount of memory that ESXi needs to reclaim by swapping", - }, - Key: "swaptarget", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65596, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Swap target", - Summary: "Amount of memory that ESXi needs to reclaim by swapping", - }, - Key: "swaptarget", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65597, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Swap target", - Summary: "Amount of memory that ESXi needs to reclaim by swapping", - }, - Key: "swaptarget", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65598, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Swap in", - Summary: "Amount of guest physical memory that is swapped in from the swap space since the virtual machine has been powered on. This value is less than or equal to the 'Swap out' counter", - }, - Key: "swapin", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "none", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: []int32{65599, 65600, 65601}, - }, - { - Key: 65599, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Swap in", - Summary: "Amount of guest physical memory that is swapped in from the swap space since the virtual machine has been powered on. This value is less than or equal to the 'Swap out' counter", - }, - Key: "swapin", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65600, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Swap in", - Summary: "Amount of guest physical memory that is swapped in from the swap space since the virtual machine has been powered on. This value is less than or equal to the 'Swap out' counter", - }, - Key: "swapin", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65601, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Swap in", - Summary: "Amount of guest physical memory that is swapped in from the swap space since the virtual machine has been powered on. This value is less than or equal to the 'Swap out' counter", - }, - Key: "swapin", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65602, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Swap out", - Summary: "Amount of guest physical memory that is swapped out from the virtual machine to its swap space since it has been powered on.", - }, - Key: "swapout", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "none", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: []int32{65603, 65604, 65605}, - }, - { - Key: 65603, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Swap out", - Summary: "Amount of guest physical memory that is swapped out from the virtual machine to its swap space since it has been powered on.", - }, - Key: "swapout", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65604, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Swap out", - Summary: "Amount of guest physical memory that is swapped out from the virtual machine to its swap space since it has been powered on.", - }, - Key: "swapout", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65605, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Swap out", - Summary: "Amount of guest physical memory that is swapped out from the virtual machine to its swap space since it has been powered on.", - }, - Key: "swapout", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65606, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Balloon target", - Summary: "Desired amount of guest physical memory the balloon driver needs to reclaim, as determined by ESXi", - }, - Key: "vmmemctltarget", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "none", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: []int32{65607, 65608, 65609}, - }, - { - Key: 65607, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Balloon target", - Summary: "Desired amount of guest physical memory the balloon driver needs to reclaim, as determined by ESXi", - }, - Key: "vmmemctltarget", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65608, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Balloon target", - Summary: "Desired amount of guest physical memory the balloon driver needs to reclaim, as determined by ESXi", - }, - Key: "vmmemctltarget", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65609, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Balloon target", - Summary: "Desired amount of guest physical memory the balloon driver needs to reclaim, as determined by ESXi", - }, - Key: "vmmemctltarget", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65610, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Consumed", - Summary: "Amount of host physical memory consumed for backing up guest physical memory pages", - }, - Key: "consumed", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "none", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: []int32{65611, 65612, 65613}, - }, - { - Key: 65611, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Consumed", - Summary: "Amount of host physical memory consumed for backing up guest physical memory pages", - }, - Key: "consumed", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65612, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Consumed", - Summary: "Amount of host physical memory consumed for backing up guest physical memory pages", - }, - Key: "consumed", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65613, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Consumed", - Summary: "Amount of host physical memory consumed for backing up guest physical memory pages", - }, - Key: "consumed", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65614, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VMkernel consumed", - Summary: "Amount of host physical memory consumed by VMkernel", - }, - Key: "sysUsage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "none", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: []int32{65615, 65616, 65617}, - }, - { - Key: 65615, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VMkernel consumed", - Summary: "Amount of host physical memory consumed by VMkernel", - }, - Key: "sysUsage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65616, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VMkernel consumed", - Summary: "Amount of host physical memory consumed by VMkernel", - }, - Key: "sysUsage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65617, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VMkernel consumed", - Summary: "Amount of host physical memory consumed by VMkernel", - }, - Key: "sysUsage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65618, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Swap in rate", - Summary: "Rate at which guest physical memory is swapped in from the swap space", - }, - Key: "swapinRate", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65619, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Swap out rate", - Summary: "Rate at which guest physical memory is swapped out to the swap space", - }, - Key: "swapoutRate", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65620, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Active write", - Summary: "Amount of guest physical memory that is being actively written by guest. Activeness is estimated by ESXi", - }, - Key: "activewrite", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65621, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Compressed", - Summary: "Guest physical memory pages that have undergone memory compression", - }, - Key: "compressed", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65622, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Compression rate", - Summary: "Rate of guest physical memory page compression by ESXi", - }, - Key: "compressionRate", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65623, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Decompression rate", - Summary: "Rate of guest physical memory decompression", - }, - Key: "decompressionRate", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65624, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Overhead reserved", - Summary: "Host physical memory reserved by ESXi, for its data structures, for running the virtual machine", - }, - Key: "overheadMax", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65625, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Total reservation", - Summary: "Total reservation, available and consumed, for powered-on virtual machines", - }, - Key: "totalCapacity", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MB", - Summary: "Megabyte", - }, - Key: "megaBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65626, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Compressed", - Summary: "Amount of guest physical memory pages compressed by ESXi", - }, - Key: "zipped", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65627, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Compression saved", - Summary: "Host physical memory, reclaimed from a virtual machine, by memory compression. This value is less than the value of 'Compressed' memory", - }, - Key: "zipSaved", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65628, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Page-fault latency", - Summary: "Percentage of time the virtual machine spent waiting to swap in or decompress guest physical memory", - }, - Key: "latency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65629, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Entitlement", - Summary: "Amount of host physical memory the virtual machine deserves, as determined by ESXi", - }, - Key: "entitlement", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65630, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Reclamation threshold", - Summary: "Threshold of free host physical memory below which ESXi will begin actively reclaiming memory from virtual machines by swapping, compression and ballooning", - }, - Key: "lowfreethreshold", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65631, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Host cache consumed", - Summary: "Storage space consumed on the host swap cache for storing swapped guest physical memory pages", - }, - Key: "llSwapUsed", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "none", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: []int32{65635, 65636, 65637}, - }, - { - Key: 65632, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Host cache swap in rate", - Summary: "Rate at which guest physical memory is swapped in from the host swap cache", - }, - Key: "llSwapInRate", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65633, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Host cache swap out rate", - Summary: "Rate at which guest physical memory is swapped out to the host swap cache", - }, - Key: "llSwapOutRate", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65634, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Overhead active", - Summary: "Estimate of the host physical memory, from Overhead consumed, that is actively read or written to by ESXi", - }, - Key: "overheadTouched", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65635, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Host cache consumed", - Summary: "Storage space consumed on the host swap cache for storing swapped guest physical memory pages", - }, - Key: "llSwapUsed", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65636, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Host cache consumed", - Summary: "Storage space consumed on the host swap cache for storing swapped guest physical memory pages", - }, - Key: "llSwapUsed", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65637, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Host cache consumed", - Summary: "Storage space consumed on the host swap cache for storing swapped guest physical memory pages", - }, - Key: "llSwapUsed", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65638, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Host cache swap in", - Summary: "Amount of guest physical memory swapped in from host cache", - }, - Key: "llSwapIn", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "none", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: []int32{65639, 65640, 65641}, - }, - { - Key: 65639, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Host cache swap in", - Summary: "Amount of guest physical memory swapped in from host cache", - }, - Key: "llSwapIn", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65640, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Host cache swap in", - Summary: "Amount of guest physical memory swapped in from host cache", - }, - Key: "llSwapIn", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65641, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Host cache swap in", - Summary: "Amount of guest physical memory swapped in from host cache", - }, - Key: "llSwapIn", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65642, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Host cache swap out", - Summary: "Amount of guest physical memory swapped out to the host swap cache", - }, - Key: "llSwapOut", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "none", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: []int32{65643, 65644, 65645}, - }, - { - Key: 65643, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Host cache swap out", - Summary: "Amount of guest physical memory swapped out to the host swap cache", - }, - Key: "llSwapOut", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65644, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Host cache swap out", - Summary: "Amount of guest physical memory swapped out to the host swap cache", - }, - Key: "llSwapOut", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65645, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Host cache swap out", - Summary: "Amount of guest physical memory swapped out to the host swap cache", - }, - Key: "llSwapOut", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65646, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VMFS PB Cache Size", - Summary: "Space used for holding VMFS Pointer Blocks in memory", - }, - Key: "vmfs.pbc.size", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MB", - Summary: "Megabyte", - }, - Key: "megaBytes", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65647, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Maximum VMFS PB Cache Size", - Summary: "Maximum size the VMFS Pointer Block Cache can grow to", - }, - Key: "vmfs.pbc.sizeMax", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MB", - Summary: "Megabyte", - }, - Key: "megaBytes", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65648, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VMFS Working Set", - Summary: "Amount of file blocks whose addresses are cached in the VMFS PB Cache", - }, - Key: "vmfs.pbc.workingSet", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "TB", - Summary: "Terabyte", - }, - Key: "teraBytes", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65649, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Maximum VMFS Working Set", - Summary: "Maximum amount of file blocks whose addresses are cached in the VMFS PB Cache", - }, - Key: "vmfs.pbc.workingSetMax", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "TB", - Summary: "Terabyte", - }, - Key: "teraBytes", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65650, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VMFS PB Cache Overhead", - Summary: "Amount of VMFS heap used by the VMFS PB Cache", - }, - Key: "vmfs.pbc.overhead", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 65651, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VMFS PB Cache Capacity Miss Ratio", - Summary: "Trailing average of the ratio of capacity misses to compulsory misses for the VMFS PB Cache", - }, - Key: "vmfs.pbc.capMissRatio", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 131072, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Usage", - Summary: "Aggregated disk I/O rate. For hosts, this metric includes the rates for all virtual machines running on the host during the collection interval.", - }, - Key: "usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "none", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: []int32{131073, 131074, 131075}, - }, - { - Key: 131073, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Usage", - Summary: "Aggregated disk I/O rate. For hosts, this metric includes the rates for all virtual machines running on the host during the collection interval.", - }, - Key: "usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 131074, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Usage", - Summary: "Aggregated disk I/O rate. For hosts, this metric includes the rates for all virtual machines running on the host during the collection interval.", - }, - Key: "usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "maximum", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 131075, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Usage", - Summary: "Aggregated disk I/O rate. For hosts, this metric includes the rates for all virtual machines running on the host during the collection interval.", - }, - Key: "usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "minimum", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 131076, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Read requests", - Summary: "Number of disk reads during the collection interval", - }, - Key: "numberRead", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 131077, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Write requests", - Summary: "Number of disk writes during the collection interval", - }, - Key: "numberWrite", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 131078, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Read rate", - Summary: "Average number of kilobytes read from the disk each second during the collection interval", - }, - Key: "read", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 131079, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Write rate", - Summary: "Average number of kilobytes written to disk each second during the collection interval", - }, - Key: "write", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 131080, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Commands issued", - Summary: "Number of SCSI commands issued during the collection interval", - }, - Key: "commands", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 131081, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Commands aborted", - Summary: "Number of SCSI commands aborted during the collection interval", - }, - Key: "commandsAborted", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 131082, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Bus resets", - Summary: "Number of SCSI-bus reset commands issued during the collection interval", - }, - Key: "busResets", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 131083, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Physical device read latency", - Summary: "Average amount of time, in milliseconds, to read from the physical device", - }, - Key: "deviceReadLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 131084, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Kernel read latency", - Summary: "Average amount of time, in milliseconds, spent by VMkernel to process each SCSI read command", - }, - Key: "kernelReadLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 131085, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Read latency", - Summary: "Average amount of time taken during the collection interval to process a SCSI read command issued from the guest OS to the virtual machine", - }, - Key: "totalReadLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 131086, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Queue read latency", - Summary: "Average amount of time spent in the VMkernel queue, per SCSI read command, during the collection interval", - }, - Key: "queueReadLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 131087, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Physical device write latency", - Summary: "Average amount of time, in milliseconds, to write to the physical device", - }, - Key: "deviceWriteLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 131088, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Kernel write latency", - Summary: "Average amount of time, in milliseconds, spent by VMkernel to process each SCSI write command", - }, - Key: "kernelWriteLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 131089, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Write latency", - Summary: "Average amount of time taken during the collection interval to process a SCSI write command issued by the guest OS to the virtual machine", - }, - Key: "totalWriteLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 131090, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Queue write latency", - Summary: "Average amount of time spent in the VMkernel queue, per SCSI write command, during the collection interval", - }, - Key: "queueWriteLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 131091, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Physical device command latency", - Summary: "Average amount of time, in milliseconds, to complete a SCSI command from the physical device", - }, - Key: "deviceLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 131092, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Kernel command latency", - Summary: "Average amount of time, in milliseconds, spent by VMkernel to process each SCSI command", - }, - Key: "kernelLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 131093, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Command latency", - Summary: "Average amount of time taken during the collection interval to process a SCSI command issued by the guest OS to the virtual machine", - }, - Key: "totalLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 131094, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Queue command latency", - Summary: "Average amount of time spent in the VMkernel queue, per SCSI command, during the collection interval", - }, - Key: "queueLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 131095, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Highest latency", - Summary: "Highest latency value across all disks used by the host", - }, - Key: "maxTotalLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 131096, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Maximum queue depth", - Summary: "Maximum queue depth", - }, - Key: "maxQueueDepth", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 131097, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Average read requests per second", - Summary: "Average number of disk reads per second during the collection interval", - }, - Key: "numberReadAveraged", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 131098, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Average write requests per second", - Summary: "Average number of disk writes per second during the collection interval", - }, - Key: "numberWriteAveraged", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 131099, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Average commands issued per second", - Summary: "Average number of SCSI commands issued per second during the collection interval", - }, - Key: "commandsAveraged", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 196608, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Usage", - Summary: "Network utilization (combined transmit-rates and receive-rates) during the interval", - }, - Key: "usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "none", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: []int32{196609, 196610, 196611}, - }, - { - Key: 196609, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Usage", - Summary: "Network utilization (combined transmit-rates and receive-rates) during the interval", - }, - Key: "usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 196610, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Usage", - Summary: "Network utilization (combined transmit-rates and receive-rates) during the interval", - }, - Key: "usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "maximum", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 196611, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Usage", - Summary: "Network utilization (combined transmit-rates and receive-rates) during the interval", - }, - Key: "usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "minimum", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 196612, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Packets received", - Summary: "Number of packets received during the interval", - }, - Key: "packetsRx", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 196613, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Packets transmitted", - Summary: "Number of packets transmitted during the interval", - }, - Key: "packetsTx", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 196614, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Data receive rate", - Summary: "Average rate at which data was received during the interval", - }, - Key: "received", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 196615, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Data transmit rate", - Summary: "Average rate at which data was transmitted during the interval", - }, - Key: "transmitted", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 196616, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Receive packets dropped", - Summary: "Number of receives dropped", - }, - Key: "droppedRx", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 196617, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Transmit packets dropped", - Summary: "Number of transmits dropped", - }, - Key: "droppedTx", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 196618, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Data receive rate", - Summary: "Average amount of data received per second", - }, - Key: "bytesRx", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 196619, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Data transmit rate", - Summary: "Average amount of data transmitted per second", - }, - Key: "bytesTx", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 196620, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Broadcast receives", - Summary: "Number of broadcast packets received during the sampling interval", - }, - Key: "broadcastRx", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 196621, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Broadcast transmits", - Summary: "Number of broadcast packets transmitted during the sampling interval", - }, - Key: "broadcastTx", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 196622, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Multicast receives", - Summary: "Number of multicast packets received during the sampling interval", - }, - Key: "multicastRx", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 196623, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Multicast transmits", - Summary: "Number of multicast packets transmitted during the sampling interval", - }, - Key: "multicastTx", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 196624, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Packet receive errors", - Summary: "Number of packets with errors received during the sampling interval", - }, - Key: "errorsRx", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 196625, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Packet transmit errors", - Summary: "Number of packets with errors transmitted during the sampling interval", - }, - Key: "errorsTx", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 196626, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Unknown protocol frames", - Summary: "Number of frames with unknown protocol received during the sampling interval", - }, - Key: "unknownProtos", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 196627, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "pnicBytesRx", - Summary: "pnicBytesRx", - }, - Key: "pnicBytesRx", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 196628, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "pnicBytesTx", - Summary: "pnicBytesTx", - }, - Key: "pnicBytesTx", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 262144, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Uptime", - Summary: "Total time elapsed, in seconds, since last system startup", - }, - Key: "uptime", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "s", - Summary: "Second", - }, - Key: "second", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 262145, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Heartbeat", - Summary: "Number of heartbeats issued per virtual machine during the interval", - }, - Key: "heartbeat", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 262146, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk usage", - Summary: "Amount of disk space usage for each mount point", - }, - Key: "diskUsage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 262147, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource CPU usage (None)", - Summary: "Amount of CPU used by the Service Console and other applications during the interval", - }, - Key: "resourceCpuUsage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MHz", - Summary: "Megahertz", - }, - Key: "megaHertz", - }, - RollupType: "none", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: []int32{262148, 262149, 262150}, - }, - { - Key: 262148, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource CPU usage (Average)", - Summary: "Amount of CPU used by the Service Console and other applications during the interval", - }, - Key: "resourceCpuUsage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MHz", - Summary: "Megahertz", - }, - Key: "megaHertz", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 262149, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource CPU usage (Maximum)", - Summary: "Amount of CPU used by the Service Console and other applications during the interval", - }, - Key: "resourceCpuUsage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MHz", - Summary: "Megahertz", - }, - Key: "megaHertz", - }, - RollupType: "maximum", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 262150, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource CPU usage (Minimum)", - Summary: "Amount of CPU used by the Service Console and other applications during the interval", - }, - Key: "resourceCpuUsage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MHz", - Summary: "Megahertz", - }, - Key: "megaHertz", - }, - RollupType: "minimum", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 262151, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource memory touched", - Summary: "Memory touched by the system resource group", - }, - Key: "resourceMemTouched", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 262152, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource memory mapped", - Summary: "Memory mapped by the system resource group", - }, - Key: "resourceMemMapped", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 262153, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource memory share saved", - Summary: "Memory saved due to sharing by the system resource group", - }, - Key: "resourceMemShared", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 262154, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource memory swapped", - Summary: "Memory swapped out by the system resource group", - }, - Key: "resourceMemSwapped", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 262155, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource memory overhead", - Summary: "Overhead memory consumed by the system resource group", - }, - Key: "resourceMemOverhead", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 262156, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource memory shared", - Summary: "Memory shared by the system resource group", - }, - Key: "resourceMemCow", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 262157, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource memory zero", - Summary: "Zero filled memory used by the system resource group", - }, - Key: "resourceMemZero", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 262158, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource CPU running (1 min. average)", - Summary: "CPU running average over 1 minute of the system resource group", - }, - Key: "resourceCpuRun1", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 262159, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource CPU active (1 min average)", - Summary: "CPU active average over 1 minute of the system resource group", - }, - Key: "resourceCpuAct1", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 262160, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource CPU maximum limited (1 min)", - Summary: "CPU maximum limited over 1 minute of the system resource group", - }, - Key: "resourceCpuMaxLimited1", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 262161, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource CPU running (5 min average)", - Summary: "CPU running average over 5 minutes of the system resource group", - }, - Key: "resourceCpuRun5", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 262162, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource CPU active (5 min average)", - Summary: "CPU active average over 5 minutes of the system resource group", - }, - Key: "resourceCpuAct5", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 262163, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource CPU maximum limited (5 min)", - Summary: "CPU maximum limited over 5 minutes of the system resource group", - }, - Key: "resourceCpuMaxLimited5", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 262164, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource CPU allocation minimum (in MHz)", - Summary: "CPU allocation reservation (in MHz) of the system resource group", - }, - Key: "resourceCpuAllocMin", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MHz", - Summary: "Megahertz", - }, - Key: "megaHertz", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 262165, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource CPU allocation maximum (in MHz)", - Summary: "CPU allocation limit (in MHz) of the system resource group", - }, - Key: "resourceCpuAllocMax", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MHz", - Summary: "Megahertz", - }, - Key: "megaHertz", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 262166, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource CPU allocation shares", - Summary: "CPU allocation shares of the system resource group", - }, - Key: "resourceCpuAllocShares", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 262167, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource memory allocation minimum (in KB)", - Summary: "Memory allocation reservation (in KB) of the system resource group", - }, - Key: "resourceMemAllocMin", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 262168, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource memory allocation maximum (in KB)", - Summary: "Memory allocation limit (in KB) of the system resource group", - }, - Key: "resourceMemAllocMax", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 262169, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource memory allocation shares", - Summary: "Memory allocation shares of the system resource group", - }, - Key: "resourceMemAllocShares", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 262170, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "OS Uptime", - Summary: "Total time elapsed, in seconds, since last operating system boot-up", - }, - Key: "osUptime", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "s", - Summary: "Second", - }, - Key: "second", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 262171, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource memory consumed", - Summary: "Memory consumed by the system resource group", - }, - Key: "resourceMemConsumed", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 262172, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "File descriptors used", - Summary: "Number of file descriptors used by the system resource group", - }, - Key: "resourceFdUsage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 327680, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Active (1 min average)", - Summary: "CPU active average over 1 minute", - }, - Key: "actav1", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource group CPU", - Summary: "Resource group CPU", - }, - Key: "rescpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 327681, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Active (1 min peak)", - Summary: "CPU active peak over 1 minute", - }, - Key: "actpk1", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource group CPU", - Summary: "Resource group CPU", - }, - Key: "rescpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 327682, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Running (1 min average)", - Summary: "CPU running average over 1 minute", - }, - Key: "runav1", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource group CPU", - Summary: "Resource group CPU", - }, - Key: "rescpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 327683, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Active (5 min average)", - Summary: "CPU active average over 5 minutes", - }, - Key: "actav5", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource group CPU", - Summary: "Resource group CPU", - }, - Key: "rescpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 327684, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Active (5 min peak)", - Summary: "CPU active peak over 5 minutes", - }, - Key: "actpk5", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource group CPU", - Summary: "Resource group CPU", - }, - Key: "rescpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 327685, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Running (5 min average)", - Summary: "CPU running average over 5 minutes", - }, - Key: "runav5", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource group CPU", - Summary: "Resource group CPU", - }, - Key: "rescpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 327686, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Active (15 min average)", - Summary: "CPU active average over 15 minutes", - }, - Key: "actav15", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource group CPU", - Summary: "Resource group CPU", - }, - Key: "rescpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 327687, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Active (15 min peak)", - Summary: "CPU active peak over 15 minutes", - }, - Key: "actpk15", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource group CPU", - Summary: "Resource group CPU", - }, - Key: "rescpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 327688, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Running (15 min average)", - Summary: "CPU running average over 15 minutes", - }, - Key: "runav15", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource group CPU", - Summary: "Resource group CPU", - }, - Key: "rescpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 327689, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Running (1 min peak)", - Summary: "CPU running peak over 1 minute", - }, - Key: "runpk1", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource group CPU", - Summary: "Resource group CPU", - }, - Key: "rescpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 327690, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Throttled (1 min average)", - Summary: "Amount of CPU resources over the limit that were refused, average over 1 minute", - }, - Key: "maxLimited1", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource group CPU", - Summary: "Resource group CPU", - }, - Key: "rescpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 327691, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Running (5 min peak)", - Summary: "CPU running peak over 5 minutes", - }, - Key: "runpk5", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource group CPU", - Summary: "Resource group CPU", - }, - Key: "rescpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 327692, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Throttled (5 min average)", - Summary: "Amount of CPU resources over the limit that were refused, average over 5 minutes", - }, - Key: "maxLimited5", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource group CPU", - Summary: "Resource group CPU", - }, - Key: "rescpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 327693, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Running (15 min peak)", - Summary: "CPU running peak over 15 minutes", - }, - Key: "runpk15", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource group CPU", - Summary: "Resource group CPU", - }, - Key: "rescpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 327694, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Throttled (15 min average)", - Summary: "Amount of CPU resources over the limit that were refused, average over 15 minutes", - }, - Key: "maxLimited15", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource group CPU", - Summary: "Resource group CPU", - }, - Key: "rescpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 327695, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Group CPU sample count", - Summary: "Group CPU sample count", - }, - Key: "sampleCount", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource group CPU", - Summary: "Resource group CPU", - }, - Key: "rescpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 327696, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Group CPU sample period", - Summary: "Group CPU sample period", - }, - Key: "samplePeriod", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource group CPU", - Summary: "Resource group CPU", - }, - Key: "rescpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 393216, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory used", - Summary: "Amount of total configured memory that is available for use", - }, - Key: "memUsed", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Management agent", - Summary: "Management agent", - }, - Key: "managementAgent", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 393217, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory swap used", - Summary: "Sum of the memory swapped by all powered-on virtual machines on the host", - }, - Key: "swapUsed", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Management agent", - Summary: "Management agent", - }, - Key: "managementAgent", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 393218, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory swap in", - Summary: "Amount of memory that is swapped in for the Service Console", - }, - Key: "swapIn", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Management agent", - Summary: "Management agent", - }, - Key: "managementAgent", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 393219, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory swap out", - Summary: "Amount of memory that is swapped out for the Service Console", - }, - Key: "swapOut", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Management agent", - Summary: "Management agent", - }, - Key: "managementAgent", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 393220, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU usage", - Summary: "Amount of Service Console CPU usage", - }, - Key: "cpuUsage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Management agent", - Summary: "Management agent", - }, - Key: "managementAgent", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MHz", - Summary: "Megahertz", - }, - Key: "megaHertz", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 458752, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Average commands issued per second", - Summary: "Average number of commands issued per second by the storage adapter during the collection interval", - }, - Key: "commandsAveraged", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage adapter", - Summary: "Storage adapter", - }, - Key: "storageAdapter", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 458753, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Average read requests per second", - Summary: "Average number of read commands issued per second by the storage adapter during the collection interval", - }, - Key: "numberReadAveraged", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage adapter", - Summary: "Storage adapter", - }, - Key: "storageAdapter", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 458754, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Average write requests per second", - Summary: "Average number of write commands issued per second by the storage adapter during the collection interval", - }, - Key: "numberWriteAveraged", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage adapter", - Summary: "Storage adapter", - }, - Key: "storageAdapter", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 458755, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Read rate", - Summary: "Rate of reading data by the storage adapter", - }, - Key: "read", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage adapter", - Summary: "Storage adapter", - }, - Key: "storageAdapter", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 458756, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Write rate", - Summary: "Rate of writing data by the storage adapter", - }, - Key: "write", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage adapter", - Summary: "Storage adapter", - }, - Key: "storageAdapter", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 458757, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Read latency", - Summary: "The average time a read by the storage adapter takes", - }, - Key: "totalReadLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage adapter", - Summary: "Storage adapter", - }, - Key: "storageAdapter", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 458758, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Write latency", - Summary: "The average time a write by the storage adapter takes", - }, - Key: "totalWriteLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage adapter", - Summary: "Storage adapter", - }, - Key: "storageAdapter", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 458759, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Highest latency", - Summary: "Highest latency value across all storage adapters used by the host", - }, - Key: "maxTotalLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage adapter", - Summary: "Storage adapter", - }, - Key: "storageAdapter", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 524288, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Average commands issued per second", - Summary: "Average number of commands issued per second on the storage path during the collection interval", - }, - Key: "commandsAveraged", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage path", - Summary: "Storage path", - }, - Key: "storagePath", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 524289, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Average read requests per second", - Summary: "Average number of read commands issued per second on the storage path during the collection interval", - }, - Key: "numberReadAveraged", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage path", - Summary: "Storage path", - }, - Key: "storagePath", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 524290, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Average write requests per second", - Summary: "Average number of write commands issued per second on the storage path during the collection interval", - }, - Key: "numberWriteAveraged", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage path", - Summary: "Storage path", - }, - Key: "storagePath", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 524291, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Read rate", - Summary: "Rate of reading data on the storage path", - }, - Key: "read", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage path", - Summary: "Storage path", - }, - Key: "storagePath", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 524292, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Write rate", - Summary: "Rate of writing data on the storage path", - }, - Key: "write", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage path", - Summary: "Storage path", - }, - Key: "storagePath", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 524293, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Read latency", - Summary: "The average time a read issued on the storage path takes", - }, - Key: "totalReadLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage path", - Summary: "Storage path", - }, - Key: "storagePath", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 524294, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Write latency", - Summary: "The average time a write issued on the storage path takes", - }, - Key: "totalWriteLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage path", - Summary: "Storage path", - }, - Key: "storagePath", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 524295, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Highest latency", - Summary: "Highest latency value across all storage paths used by the host", - }, - Key: "maxTotalLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage path", - Summary: "Storage path", - }, - Key: "storagePath", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 589824, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Average read requests per second", - Summary: "Average number of read commands issued per second to the virtual disk during the collection interval", - }, - Key: "numberReadAveraged", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual disk", - Summary: "Virtual disk", - }, - Key: "virtualDisk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 589825, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Average write requests per second", - Summary: "Average number of write commands issued per second to the virtual disk during the collection interval", - }, - Key: "numberWriteAveraged", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual disk", - Summary: "Virtual disk", - }, - Key: "virtualDisk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 589826, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Read rate", - Summary: "Rate of reading data from the virtual disk", - }, - Key: "read", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual disk", - Summary: "Virtual disk", - }, - Key: "virtualDisk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 589827, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Write rate", - Summary: "Rate of writing data to the virtual disk", - }, - Key: "write", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual disk", - Summary: "Virtual disk", - }, - Key: "virtualDisk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 589828, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Read latency", - Summary: "The average time a read from the virtual disk takes", - }, - Key: "totalReadLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual disk", - Summary: "Virtual disk", - }, - Key: "virtualDisk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 589829, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Write latency", - Summary: "The average time a write to the virtual disk takes", - }, - Key: "totalWriteLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual disk", - Summary: "Virtual disk", - }, - Key: "virtualDisk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 589830, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Average number of outstanding read requests", - Summary: "Average number of outstanding read requests to the virtual disk during the collection interval", - }, - Key: "readOIO", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual disk", - Summary: "Virtual disk", - }, - Key: "virtualDisk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 589831, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Average number of outstanding write requests", - Summary: "Average number of outstanding write requests to the virtual disk during the collection interval", - }, - Key: "writeOIO", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual disk", - Summary: "Virtual disk", - }, - Key: "virtualDisk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 589832, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Read workload metric", - Summary: "Storage DRS virtual disk metric for the read workload model", - }, - Key: "readLoadMetric", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual disk", - Summary: "Virtual disk", - }, - Key: "virtualDisk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 589833, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Write workload metric", - Summary: "Storage DRS virtual disk metric for the write workload model", - }, - Key: "writeLoadMetric", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual disk", - Summary: "Virtual disk", - }, - Key: "virtualDisk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 589834, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Read request size", - Summary: "Average read request size in bytes", - }, - Key: "readIOSize", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual disk", - Summary: "Virtual disk", - }, - Key: "virtualDisk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 589835, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Write request size", - Summary: "Average write request size in bytes", - }, - Key: "writeIOSize", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual disk", - Summary: "Virtual disk", - }, - Key: "virtualDisk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 589836, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Number of small seeks", - Summary: "Number of seeks during the interval that were less than 64 LBNs apart", - }, - Key: "smallSeeks", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual disk", - Summary: "Virtual disk", - }, - Key: "virtualDisk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 589837, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Number of medium seeks", - Summary: "Number of seeks during the interval that were between 64 and 8192 LBNs apart", - }, - Key: "mediumSeeks", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual disk", - Summary: "Virtual disk", - }, - Key: "virtualDisk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 589838, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Number of large seeks", - Summary: "Number of seeks during the interval that were greater than 8192 LBNs apart", - }, - Key: "largeSeeks", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual disk", - Summary: "Virtual disk", - }, - Key: "virtualDisk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 589839, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Read Latency (us)", - Summary: "Read latency in microseconds", - }, - Key: "readLatencyUS", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual disk", - Summary: "Virtual disk", - }, - Key: "virtualDisk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "µs", - Summary: "Microsecond", - }, - Key: "microsecond", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 589840, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Write Latency (us)", - Summary: "Write latency in microseconds", - }, - Key: "writeLatencyUS", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual disk", - Summary: "Virtual disk", - }, - Key: "virtualDisk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "µs", - Summary: "Microsecond", - }, - Key: "microsecond", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 589841, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual Flash Read Cache I/Os per second for the virtual disk", - Summary: "The average virtual Flash Read Cache I/Os per second value for the virtual disk", - }, - Key: "vFlashCacheIops", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual disk", - Summary: "Virtual disk", - }, - Key: "virtualDisk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 589842, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual Flash Read Cache latency for the virtual disk", - Summary: "The average virtual Flash Read Cache latency value for the virtual disk", - }, - Key: "vFlashCacheLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual disk", - Summary: "Virtual disk", - }, - Key: "virtualDisk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "µs", - Summary: "Microsecond", - }, - Key: "microsecond", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 589843, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual Flash Read Cache throughput for virtual disk", - Summary: "The average virtual Flash Read Cache throughput value for the virtual disk", - }, - Key: "vFlashCacheThroughput", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual disk", - Summary: "Virtual disk", - }, - Key: "virtualDisk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 655360, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Average read requests per second", - Summary: "Average number of read commands issued per second to the datastore during the collection interval", - }, - Key: "numberReadAveraged", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 655361, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Average write requests per second", - Summary: "Average number of write commands issued per second to the datastore during the collection interval", - }, - Key: "numberWriteAveraged", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 655362, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Read rate", - Summary: "Rate of reading data from the datastore", - }, - Key: "read", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 655363, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Write rate", - Summary: "Rate of writing data to the datastore", - }, - Key: "write", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 655364, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Read latency", - Summary: "The average time a read from the datastore takes", - }, - Key: "totalReadLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 655365, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Write latency", - Summary: "The average time a write to the datastore takes", - }, - Key: "totalWriteLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 655366, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage I/O Control normalized latency", - Summary: "Storage I/O Control size-normalized I/O latency", - }, - Key: "sizeNormalizedDatastoreLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "µs", - Summary: "Microsecond", - }, - Key: "microsecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 655367, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage I/O Control aggregated IOPS", - Summary: "Storage I/O Control aggregated IOPS", - }, - Key: "datastoreIops", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 655368, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage DRS datastore bytes read", - Summary: "Storage DRS datastore bytes read", - }, - Key: "datastoreReadBytes", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 655369, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage DRS datastore bytes written", - Summary: "Storage DRS datastore bytes written", - }, - Key: "datastoreWriteBytes", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 655370, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage DRS datastore read I/O rate", - Summary: "Storage DRS datastore read I/O rate", - }, - Key: "datastoreReadIops", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 655371, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage DRS datastore write I/O rate", - Summary: "Storage DRS datastore write I/O rate", - }, - Key: "datastoreWriteIops", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 655372, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage DRS datastore normalized read latency", - Summary: "Storage DRS datastore normalized read latency", - }, - Key: "datastoreNormalReadLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 655373, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage DRS datastore normalized write latency", - Summary: "Storage DRS datastore normalized write latency", - }, - Key: "datastoreNormalWriteLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 655374, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage DRS datastore outstanding read requests", - Summary: "Storage DRS datastore outstanding read requests", - }, - Key: "datastoreReadOIO", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 655375, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage DRS datastore outstanding write requests", - Summary: "Storage DRS datastore outstanding write requests", - }, - Key: "datastoreWriteOIO", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 655376, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage I/O Control datastore maximum queue depth", - Summary: "Storage I/O Control datastore maximum queue depth", - }, - Key: "datastoreMaxQueueDepth", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 655377, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage DRS datastore read workload metric", - Summary: "Storage DRS datastore metric for read workload model", - }, - Key: "datastoreReadLoadMetric", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 655378, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage DRS datastore write workload metric", - Summary: "Storage DRS datastore metric for write workload model", - }, - Key: "datastoreWriteLoadMetric", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 655379, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Highest latency", - Summary: "Highest latency value across all datastores used by the host", - }, - Key: "maxTotalLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 655380, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage I/O Control active time percentage", - Summary: "Percentage of time Storage I/O Control actively controlled datastore latency", - }, - Key: "siocActiveTimePercentage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 655381, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore latency observed by VMs", - Summary: "The average datastore latency as seen by virtual machines", - }, - Key: "datastoreVMObservedLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "µs", - Summary: "Microsecond", - }, - Key: "microsecond", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 720896, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Usage", - Summary: "Current power usage", - }, - Key: "power", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Power", - Summary: "Power", - }, - Key: "power", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "W", - Summary: "Watt", - }, - Key: "watt", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 720897, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Cap", - Summary: "Maximum allowed power usage", - }, - Key: "powerCap", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Power", - Summary: "Power", - }, - Key: "power", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "W", - Summary: "Watt", - }, - Key: "watt", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 720898, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Energy usage", - Summary: "Total energy used since last stats reset", - }, - Key: "energy", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Power", - Summary: "Power", - }, - Key: "power", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "J", - Summary: "Joule", - }, - Key: "joule", - }, - RollupType: "summation", - StatsType: "delta", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 786432, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vSphere Replication VM Count", - Summary: "Current number of replicated virtual machines", - }, - Key: "hbrNumVms", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vSphere Replication", - Summary: "vSphere Replication", - }, - Key: "hbr", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 786433, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Replication Data Receive Rate", - Summary: "Average amount of data received per second", - }, - Key: "hbrNetRx", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vSphere Replication", - Summary: "vSphere Replication", - }, - Key: "hbr", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 786434, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Replication Data Transmit Rate", - Summary: "Average amount of data transmitted per second", - }, - Key: "hbrNetTx", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vSphere Replication", - Summary: "vSphere Replication", - }, - Key: "hbr", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 851968, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Number of caches controlled by the virtual flash module", - Summary: "Number of caches controlled by the virtual flash module", - }, - Key: "numActiveVMDKs", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual flash", - Summary: "Virtual flash module related statistical values", - }, - Key: "vflashModule", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 1245184, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Read IOPS", - Summary: "Read IOPS", - }, - Key: "readIops", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VSAN DOM Objects", - Summary: "VSAN DOM object related statistical values", - }, - Key: "vsanDomObj", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 1245185, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Read throughput", - Summary: "Read throughput in kBps", - }, - Key: "readThroughput", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VSAN DOM Objects", - Summary: "VSAN DOM object related statistical values", - }, - Key: "vsanDomObj", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 1245186, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Average read latency", - Summary: "Average read latency in ms", - }, - Key: "readAvgLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VSAN DOM Objects", - Summary: "VSAN DOM object related statistical values", - }, - Key: "vsanDomObj", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 1245187, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Max read latency", - Summary: "Max read latency in ms", - }, - Key: "readMaxLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VSAN DOM Objects", - Summary: "VSAN DOM object related statistical values", - }, - Key: "vsanDomObj", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 1245188, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Cache hit rate", - Summary: "Cache hit rate percentage", - }, - Key: "readCacheHitRate", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VSAN DOM Objects", - Summary: "VSAN DOM object related statistical values", - }, - Key: "vsanDomObj", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 1245189, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Read congestion per sampling interval", - Summary: "Read congestion", - }, - Key: "readCongestion", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VSAN DOM Objects", - Summary: "VSAN DOM object related statistical values", - }, - Key: "vsanDomObj", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 1245190, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Write IOPS", - Summary: "Write IOPS", - }, - Key: "writeIops", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VSAN DOM Objects", - Summary: "VSAN DOM object related statistical values", - }, - Key: "vsanDomObj", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 1245191, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Write throughput", - Summary: "Write throughput in kBps", - }, - Key: "writeThroughput", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VSAN DOM Objects", - Summary: "VSAN DOM object related statistical values", - }, - Key: "vsanDomObj", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 1245192, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Average write latency", - Summary: "Average write latency in ms", - }, - Key: "writeAvgLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VSAN DOM Objects", - Summary: "VSAN DOM object related statistical values", - }, - Key: "vsanDomObj", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 1245193, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Max write latency", - Summary: "Max write latency in ms", - }, - Key: "writeMaxLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VSAN DOM Objects", - Summary: "VSAN DOM object related statistical values", - }, - Key: "vsanDomObj", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 1245194, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Write congestion per sampling interval", - Summary: "Write congestion", - }, - Key: "writeCongestion", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VSAN DOM Objects", - Summary: "VSAN DOM object related statistical values", - }, - Key: "vsanDomObj", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 1245195, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Recovery write IOPS", - Summary: "Recovery write IOPS", - }, - Key: "recoveryWriteIops", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VSAN DOM Objects", - Summary: "VSAN DOM object related statistical values", - }, - Key: "vsanDomObj", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 1245196, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Recovery write through-put", - Summary: "Recovery write through-put in kBps", - }, - Key: "recoveryWriteThroughput", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VSAN DOM Objects", - Summary: "VSAN DOM object related statistical values", - }, - Key: "vsanDomObj", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 1245197, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Average recovery write latency", - Summary: "Average recovery write latency in ms", - }, - Key: "recoveryWriteAvgLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VSAN DOM Objects", - Summary: "VSAN DOM object related statistical values", - }, - Key: "vsanDomObj", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 1245198, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Max recovery write latency", - Summary: "Max recovery write latency in ms", - }, - Key: "recoveryWriteMaxLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VSAN DOM Objects", - Summary: "VSAN DOM object related statistical values", - }, - Key: "vsanDomObj", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 1245199, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Recovery write congestion per sampling interval", - Summary: "Recovery write congestion", - }, - Key: "recoveryWriteCongestion", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VSAN DOM Objects", - Summary: "VSAN DOM object related statistical values", - }, - Key: "vsanDomObj", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 1310720, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Utilization", - Summary: "The utilization of a GPU in percentages", - }, - Key: "utilization", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "GPU", - Summary: "GPU", - }, - Key: "gpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "none", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: []int32{1310721, 1310722, 1310723}, - }, - { - Key: 1310721, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Utilization", - Summary: "The utilization of a GPU in percentages", - }, - Key: "utilization", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "GPU", - Summary: "GPU", - }, - Key: "gpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 1310722, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Utilization", - Summary: "The utilization of a GPU in percentages", - }, - Key: "utilization", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "GPU", - Summary: "GPU", - }, - Key: "gpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 1310723, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Utilization", - Summary: "The utilization of a GPU in percentages", - }, - Key: "utilization", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "GPU", - Summary: "GPU", - }, - Key: "gpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 1310724, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory used", - Summary: "The amount of GPU memory used in kilobytes", - }, - Key: "mem.used", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "GPU", - Summary: "GPU", - }, - Key: "gpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "none", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: []int32{1310725, 1310726, 1310727}, - }, - { - Key: 1310725, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory used", - Summary: "The amount of GPU memory used in kilobytes", - }, - Key: "mem.used", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "GPU", - Summary: "GPU", - }, - Key: "gpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 1310726, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory used", - Summary: "The amount of GPU memory used in kilobytes", - }, - Key: "mem.used", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "GPU", - Summary: "GPU", - }, - Key: "gpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 1310727, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory used", - Summary: "The amount of GPU memory used in kilobytes", - }, - Key: "mem.used", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "GPU", - Summary: "GPU", - }, - Key: "gpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 1310728, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory usage", - Summary: "The amount of GPU memory used in percentages of the total available", - }, - Key: "mem.usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "GPU", - Summary: "GPU", - }, - Key: "gpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "none", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: []int32{1310729, 1310730, 1310731}, - }, - { - Key: 1310729, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory usage", - Summary: "The amount of GPU memory used in percentages of the total available", - }, - Key: "mem.usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "GPU", - Summary: "GPU", - }, - Key: "gpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 1310730, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory usage", - Summary: "The amount of GPU memory used in percentages of the total available", - }, - Key: "mem.usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "GPU", - Summary: "GPU", - }, - Key: "gpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 1310731, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory usage", - Summary: "The amount of GPU memory used in percentages of the total available", - }, - Key: "mem.usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "GPU", - Summary: "GPU", - }, - Key: "gpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 1310732, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Temperature", - Summary: "The temperature of a GPU in degrees celsius", - }, - Key: "temperature", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "GPU", - Summary: "GPU", - }, - Key: "gpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "℃", - Summary: "Temperature in degrees Celsius", - }, - Key: "celsius", - }, - RollupType: "average", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, - { - Key: 1376256, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Persistent memory available reservation", - Summary: "Persistent memory available reservation on a host.", - }, - Key: "available.reservation", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "PMEM", - Summary: "PMEM", - }, - Key: "pmem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MB", - Summary: "Megabyte", - }, - Key: "megaBytes", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 0, - PerDeviceLevel: 0, - AssociatedCounterId: nil, - }, -} - -// *********************************** VM Metrics ************************************ -var VmMetrics = []types.PerfMetricId{ - { - CounterId: 11, - Instance: "$cpu", - }, - { - CounterId: 1, - Instance: "", - }, - { - CounterId: 12, - Instance: "", - }, - { - CounterId: 9, - Instance: "", - }, - { - CounterId: 29, - Instance: "", - }, - { - CounterId: 30, - Instance: "$cpu", - }, - { - CounterId: 24, - Instance: "", - }, - { - CounterId: 13, - Instance: "", - }, - { - CounterId: 10, - Instance: "$cpu", - }, - { - CounterId: 14, - Instance: "$cpu", - }, - { - CounterId: 27, - Instance: "$cpu", - }, - { - CounterId: 25, - Instance: "", - }, - { - CounterId: 5, - Instance: "$cpu", - }, - { - CounterId: 32, - Instance: "$cpu", - }, - { - CounterId: 14, - Instance: "", - }, - { - CounterId: 12, - Instance: "$cpu", - }, - { - CounterId: 10, - Instance: "", - }, - { - CounterId: 28, - Instance: "$cpu", - }, - { - CounterId: 5, - Instance: "", - }, - { - CounterId: 27, - Instance: "", - }, - { - CounterId: 31, - Instance: "", - }, - { - CounterId: 32, - Instance: "", - }, - { - CounterId: 26, - Instance: "", - }, - { - CounterId: 13, - Instance: "$cpu", - }, - { - CounterId: 28, - Instance: "", - }, - { - CounterId: 30, - Instance: "", - }, - { - CounterId: 11, - Instance: "", - }, - { - CounterId: 655379, - Instance: "", - }, - - { - CounterId: 655362, - Instance: "$physDisk", - }, - { - CounterId: 655363, - Instance: "$physDisk", - }, - { - CounterId: 655360, - Instance: "$physDisk", - }, - { - CounterId: 655364, - Instance: "$physDisk", - }, - { - CounterId: 655361, - Instance: "$physDisk", - }, - { - CounterId: 655365, - Instance: "$physDisk", - }, - - { - CounterId: 131095, - Instance: "", - }, - { - CounterId: 65549, - Instance: "", - }, - { - CounterId: 65595, - Instance: "", - }, - { - CounterId: 65632, - Instance: "", - }, - { - CounterId: 65591, - Instance: "", - }, - { - CounterId: 65623, - Instance: "", - }, - { - CounterId: 65628, - Instance: "", - }, - { - CounterId: 65621, - Instance: "", - }, - { - CounterId: 65618, - Instance: "", - }, - { - CounterId: 65634, - Instance: "", - }, - { - CounterId: 65624, - Instance: "", - }, - { - CounterId: 65586, - Instance: "", - }, - { - CounterId: 65545, - Instance: "", - }, - { - CounterId: 65633, - Instance: "", - }, - { - CounterId: 65607, - Instance: "", - }, - { - CounterId: 65541, - Instance: "", - }, - { - CounterId: 65626, - Instance: "", - }, - { - CounterId: 65620, - Instance: "", - }, - { - CounterId: 65611, - Instance: "", - }, - { - CounterId: 65629, - Instance: "", - }, - { - CounterId: 65622, - Instance: "", - }, - { - CounterId: 65619, - Instance: "", - }, - { - CounterId: 65553, - Instance: "", - }, - { - CounterId: 65627, - Instance: "", - }, - { - CounterId: 65635, - Instance: "", - }, - { - CounterId: 65599, - Instance: "", - }, - { - CounterId: 65582, - Instance: "", - }, - { - CounterId: 65537, - Instance: "", - }, - { - CounterId: 65603, - Instance: "", - }, - { - CounterId: 196622, - Instance: "4000", - }, - { - CounterId: 196612, - Instance: "", - }, - { - CounterId: 196617, - Instance: "", - }, - { - CounterId: 196613, - Instance: "", - }, - { - CounterId: 196619, - Instance: "4000", - }, - { - CounterId: 196618, - Instance: "4000", - }, - { - CounterId: 196617, - Instance: "4000", - }, - { - CounterId: 196621, - Instance: "4000", - }, - { - CounterId: 196616, - Instance: "4000", - }, - { - CounterId: 196615, - Instance: "4000", - }, - { - CounterId: 196614, - Instance: "4000", - }, - { - CounterId: 196618, - Instance: "", - }, - { - CounterId: 196609, - Instance: "4000", - }, - { - CounterId: 196619, - Instance: "", - }, - { - CounterId: 196622, - Instance: "", - }, - { - CounterId: 196628, - Instance: "4000", - }, - { - CounterId: 196609, - Instance: "", - }, - { - CounterId: 196612, - Instance: "4000", - }, - { - CounterId: 196628, - Instance: "", - }, - { - CounterId: 196627, - Instance: "", - }, - { - CounterId: 196616, - Instance: "", - }, - { - CounterId: 196613, - Instance: "4000", - }, - { - CounterId: 196627, - Instance: "4000", - }, - { - CounterId: 196614, - Instance: "", - }, - { - CounterId: 196621, - Instance: "", - }, - { - CounterId: 196620, - Instance: "4000", - }, - { - CounterId: 196620, - Instance: "", - }, - { - CounterId: 196623, - Instance: "", - }, - { - CounterId: 196615, - Instance: "", - }, - { - CounterId: 196623, - Instance: "4000", - }, - { - CounterId: 720898, - Instance: "", - }, - { - CounterId: 720896, - Instance: "", - }, - { - CounterId: 327684, - Instance: "", - }, - { - CounterId: 327687, - Instance: "", - }, - { - CounterId: 327693, - Instance: "", - }, - { - CounterId: 327680, - Instance: "", - }, - { - CounterId: 327685, - Instance: "", - }, - { - CounterId: 327694, - Instance: "", - }, - { - CounterId: 327686, - Instance: "", - }, - { - CounterId: 327692, - Instance: "", - }, - { - CounterId: 327688, - Instance: "", - }, - { - CounterId: 327695, - Instance: "", - }, - { - CounterId: 327689, - Instance: "", - }, - { - CounterId: 327681, - Instance: "", - }, - { - CounterId: 327696, - Instance: "", - }, - { - CounterId: 327683, - Instance: "", - }, - { - CounterId: 327691, - Instance: "", - }, - { - CounterId: 327690, - Instance: "", - }, - { - CounterId: 327682, - Instance: "", - }, - { - CounterId: 262144, - Instance: "", - }, - { - CounterId: 262145, - Instance: "", - }, - { - CounterId: 262170, - Instance: "", - }, - { - CounterId: 589827, - Instance: "", - }, - { - CounterId: 589826, - Instance: "", - }, -} - -// **************************** Host metrics ********************************* - -var HostMetrics = []types.PerfMetricId{ - { - CounterId: 23, - Instance: "", - }, - { - CounterId: 14, - Instance: "", - }, - { - CounterId: 1, - Instance: "", - }, - { - CounterId: 11, - Instance: "", - }, - { - CounterId: 20, - Instance: "$cpu", - }, - { - CounterId: 13, - Instance: "", - }, - { - CounterId: 5, - Instance: "", - }, - { - CounterId: 32, - Instance: "", - }, - { - CounterId: 26, - Instance: "", - }, - { - CounterId: 24, - Instance: "", - }, - { - CounterId: 16, - Instance: "$cpu", - }, - { - CounterId: 27, - Instance: "", - }, - { - CounterId: 16, - Instance: "", - }, - - { - CounterId: 10, - Instance: "", - }, - { - CounterId: 12, - Instance: "", - }, - { - CounterId: 1, - Instance: "$cpu", - }, - { - CounterId: 12, - Instance: "$cpu", - }, - { - CounterId: 13, - Instance: "$cpu", - }, - { - CounterId: 8, - Instance: "", - }, - { - CounterId: 655380, - Instance: "$physDisk", - }, - { - CounterId: 655370, - Instance: "$physDisk", - }, - { - CounterId: 655377, - Instance: "$physDisk", - }, - { - CounterId: 655379, - Instance: "", - }, - { - CounterId: 655375, - Instance: "$physDisk", - }, - { - CounterId: 655378, - Instance: "$physDisk", - }, - { - CounterId: 655372, - Instance: "$physDisk", - }, - { - CounterId: 655369, - Instance: "$physDisk", - }, - { - CounterId: 655373, - Instance: "$physDisk", - }, - { - CounterId: 655362, - Instance: "$physDisk", - }, - { - CounterId: 655374, - Instance: "$physDisk", - }, - { - CounterId: 655368, - Instance: "$physDisk", - }, - { - CounterId: 655365, - Instance: "$physDisk", - }, - { - CounterId: 655366, - Instance: "$physDisk", - }, - { - CounterId: 655367, - Instance: "$physDisk", - }, - { - CounterId: 655371, - Instance: "$physDisk", - }, - { - CounterId: 655361, - Instance: "$physDisk", - }, - { - CounterId: 655376, - Instance: "$physDisk", - }, - { - CounterId: 655363, - Instance: "$physDisk", - }, - { - CounterId: 655360, - Instance: "$physDisk", - }, - { - CounterId: 655381, - Instance: "$physDisk", - }, - { - CounterId: 131073, - Instance: "", - }, - { - CounterId: 131090, - Instance: "$physDisk", - }, - { - CounterId: 131079, - Instance: "", - }, - { - CounterId: 131086, - Instance: "$physDisk", - }, - { - CounterId: 131098, - Instance: "$physDisk", - }, - { - CounterId: 131081, - Instance: "$physDisk", - }, - { - CounterId: 131082, - Instance: "mpx.vmhba32:C0:T0:L0", - }, - { - CounterId: 131090, - Instance: "mpx.vmhba32:C0:T0:L0", - }, - { - CounterId: 131081, - Instance: "mpx.vmhba32:C0:T0:L0", - }, - { - CounterId: 131086, - Instance: "mpx.vmhba32:C0:T0:L0", - }, - { - CounterId: 131088, - Instance: "$physDisk", - }, - { - CounterId: 131098, - Instance: "mpx.vmhba32:C0:T0:L0", - }, - { - CounterId: 131078, - Instance: "mpx.vmhba32:C0:T0:L0", - }, - { - CounterId: 131079, - Instance: "mpx.vmhba32:C0:T0:L0", - }, - { - CounterId: 131099, - Instance: "$physDisk", - }, - { - CounterId: 131087, - Instance: "$physDisk", - }, - { - CounterId: 131089, - Instance: "$physDisk", - }, - { - CounterId: 131078, - Instance: "$physDisk", - }, - { - CounterId: 131096, - Instance: "$physDisk", - }, - { - CounterId: 131091, - Instance: "$physDisk", - }, - { - CounterId: 131080, - Instance: "$physDisk", - }, - { - CounterId: 131078, - Instance: "", - }, - { - CounterId: 131076, - Instance: "mpx.vmhba32:C0:T0:L0", - }, - { - CounterId: 131092, - Instance: "$physDisk", - }, - { - CounterId: 131080, - Instance: "mpx.vmhba32:C0:T0:L0", - }, - { - CounterId: 131095, - Instance: "", - }, - { - CounterId: 131097, - Instance: "$physDisk", - }, - { - CounterId: 131093, - Instance: "mpx.vmhba32:C0:T0:L0", - }, - { - CounterId: 131092, - Instance: "mpx.vmhba32:C0:T0:L0", - }, - { - CounterId: 131084, - Instance: "mpx.vmhba32:C0:T0:L0", - }, - { - CounterId: 131099, - Instance: "mpx.vmhba32:C0:T0:L0", - }, - { - CounterId: 131079, - Instance: "$physDisk", - }, - { - CounterId: 131085, - Instance: "$physDisk", - }, - { - CounterId: 131083, - Instance: "mpx.vmhba32:C0:T0:L0", - }, - { - CounterId: 131076, - Instance: "$physDisk", - }, - { - CounterId: 131096, - Instance: "mpx.vmhba32:C0:T0:L0", - }, - { - CounterId: 131094, - Instance: "$physDisk", - }, - { - CounterId: 131088, - Instance: "mpx.vmhba32:C0:T0:L0", - }, - { - CounterId: 131089, - Instance: "mpx.vmhba32:C0:T0:L0", - }, - { - CounterId: 131077, - Instance: "mpx.vmhba32:C0:T0:L0", - }, - { - CounterId: 131077, - Instance: "$physDisk", - }, - { - CounterId: 131093, - Instance: "$physDisk", - }, - { - CounterId: 131087, - Instance: "mpx.vmhba32:C0:T0:L0", - }, - { - CounterId: 131085, - Instance: "mpx.vmhba32:C0:T0:L0", - }, - { - CounterId: 131091, - Instance: "mpx.vmhba32:C0:T0:L0", - }, - { - CounterId: 131097, - Instance: "mpx.vmhba32:C0:T0:L0", - }, - { - CounterId: 131082, - Instance: "$physDisk", - }, - { - CounterId: 131094, - Instance: "mpx.vmhba32:C0:T0:L0", - }, - { - CounterId: 131084, - Instance: "$physDisk", - }, - { - CounterId: 131083, - Instance: "$physDisk", - }, - { - CounterId: 786433, - Instance: "", - }, - { - CounterId: 786434, - Instance: "", - }, - { - CounterId: 786432, - Instance: "", - }, - { - CounterId: 65573, - Instance: "", - }, - { - CounterId: 65618, - Instance: "", - }, - { - CounterId: 65632, - Instance: "", - }, - { - CounterId: 65623, - Instance: "", - }, - { - CounterId: 65582, - Instance: "", - }, - { - CounterId: 65611, - Instance: "", - }, - { - CounterId: 65541, - Instance: "", - }, - { - CounterId: 65586, - Instance: "", - }, - { - CounterId: 65621, - Instance: "", - }, - { - CounterId: 65561, - Instance: "", - }, - { - CounterId: 65569, - Instance: "", - }, - { - CounterId: 65580, - Instance: "", - }, - { - CounterId: 65553, - Instance: "", - }, - { - CounterId: 65646, - Instance: "", - }, - { - CounterId: 65603, - Instance: "", - }, - { - CounterId: 65647, - Instance: "", - }, - { - CounterId: 65628, - Instance: "", - }, - { - CounterId: 65557, - Instance: "", - }, - { - CounterId: 65635, - Instance: "", - }, - { - CounterId: 65589, - Instance: "", - }, - { - CounterId: 65643, - Instance: "", - }, - { - CounterId: 65545, - Instance: "", - }, - { - CounterId: 65537, - Instance: "", - }, - { - CounterId: 65622, - Instance: "", - }, - { - CounterId: 65639, - Instance: "", - }, - { - CounterId: 65599, - Instance: "", - }, - { - CounterId: 65633, - Instance: "", - }, - { - CounterId: 65650, - Instance: "", - }, - { - CounterId: 65649, - Instance: "", - }, - { - CounterId: 65615, - Instance: "", - }, - { - CounterId: 65577, - Instance: "", - }, - { - CounterId: 65648, - Instance: "", - }, - { - CounterId: 65619, - Instance: "", - }, - { - CounterId: 65630, - Instance: "", - }, - { - CounterId: 65651, - Instance: "", - }, - { - CounterId: 65620, - Instance: "", - }, - { - CounterId: 65625, - Instance: "", - }, - { - CounterId: 65549, - Instance: "", - }, - { - CounterId: 196616, - Instance: "vmnic0", - }, - { - CounterId: 196612, - Instance: "vmnic0", - }, - { - CounterId: 196621, - Instance: "", - }, - { - CounterId: 196618, - Instance: "vmnic0", - }, - { - CounterId: 196609, - Instance: "vmnic1", - }, - { - CounterId: 196622, - Instance: "", - }, - { - CounterId: 196623, - Instance: "vmnic0", - }, - { - CounterId: 196626, - Instance: "", - }, - { - CounterId: 196614, - Instance: "", - }, - { - CounterId: 196616, - Instance: "vmnic1", - }, - { - CounterId: 196615, - Instance: "vmnic0", - }, - { - CounterId: 196621, - Instance: "vmnic1", - }, - { - CounterId: 196622, - Instance: "vmnic0", - }, - { - CounterId: 196614, - Instance: "vmnic0", - }, - { - CounterId: 196620, - Instance: "", - }, - { - CounterId: 196622, - Instance: "vmnic1", - }, - { - CounterId: 196617, - Instance: "", - }, - { - CounterId: 196616, - Instance: "", - }, - { - CounterId: 196613, - Instance: "vmnic0", - }, - { - CounterId: 196614, - Instance: "vmnic1", - }, - { - CounterId: 196625, - Instance: "", - }, - { - CounterId: 196609, - Instance: "vmnic0", - }, - { - CounterId: 196624, - Instance: "", - }, - { - CounterId: 196619, - Instance: "vmnic1", - }, - { - CounterId: 196625, - Instance: "vmnic0", - }, - { - CounterId: 196617, - Instance: "vmnic1", - }, - { - CounterId: 196619, - Instance: "", - }, - { - CounterId: 196618, - Instance: "vmnic1", - }, - { - CounterId: 196626, - Instance: "vmnic0", - }, - { - CounterId: 196612, - Instance: "vmnic1", - }, - { - CounterId: 196613, - Instance: "", - }, - { - CounterId: 196621, - Instance: "vmnic0", - }, - { - CounterId: 196615, - Instance: "", - }, - { - CounterId: 196620, - Instance: "vmnic1", - }, - { - CounterId: 196612, - Instance: "", - }, - { - CounterId: 196624, - Instance: "vmnic1", - }, - { - CounterId: 196617, - Instance: "vmnic0", - }, - { - CounterId: 196625, - Instance: "vmnic1", - }, - { - CounterId: 196618, - Instance: "", - }, - { - CounterId: 196623, - Instance: "vmnic1", - }, - { - CounterId: 196623, - Instance: "", - }, - { - CounterId: 196609, - Instance: "", - }, - { - CounterId: 196613, - Instance: "vmnic1", - }, - { - CounterId: 196620, - Instance: "vmnic0", - }, - { - CounterId: 196619, - Instance: "vmnic0", - }, - { - CounterId: 196624, - Instance: "vmnic0", - }, - { - CounterId: 196615, - Instance: "vmnic1", - }, - { - CounterId: 196626, - Instance: "vmnic1", - }, - { - CounterId: 720898, - Instance: "", - }, - { - CounterId: 720897, - Instance: "", - }, - { - CounterId: 720896, - Instance: "", - }, - { - CounterId: 327681, - Instance: "", - }, - { - CounterId: 327694, - Instance: "", - }, - { - CounterId: 327689, - Instance: "", - }, - { - CounterId: 327696, - Instance: "", - }, - { - CounterId: 327685, - Instance: "", - }, - { - CounterId: 327680, - Instance: "", - }, - { - CounterId: 327690, - Instance: "", - }, - { - CounterId: 327693, - Instance: "", - }, - { - CounterId: 327683, - Instance: "", - }, - { - CounterId: 327688, - Instance: "", - }, - { - CounterId: 327687, - Instance: "", - }, - { - CounterId: 327684, - Instance: "", - }, - { - CounterId: 327691, - Instance: "", - }, - { - CounterId: 327682, - Instance: "", - }, - { - CounterId: 327695, - Instance: "", - }, - { - CounterId: 327686, - Instance: "", - }, - { - CounterId: 327692, - Instance: "", - }, - { - CounterId: 458755, - Instance: "vmhba64", - }, - { - CounterId: 458755, - Instance: "vmhba1", - }, - { - CounterId: 458756, - Instance: "vmhba1", - }, - { - CounterId: 458757, - Instance: "vmhba32", - }, - { - CounterId: 458753, - Instance: "vmhba1", - }, - { - CounterId: 458754, - Instance: "vmhba1", - }, - { - CounterId: 458752, - Instance: "vmhba0", - }, - { - CounterId: 458755, - Instance: "vmhba32", - }, - { - CounterId: 458757, - Instance: "vmhba64", - }, - { - CounterId: 458753, - Instance: "vmhba64", - }, - { - CounterId: 458754, - Instance: "vmhba64", - }, - { - CounterId: 458752, - Instance: "vmhba64", - }, - { - CounterId: 458759, - Instance: "", - }, - { - CounterId: 458758, - Instance: "vmhba1", - }, - { - CounterId: 458753, - Instance: "vmhba32", - }, - { - CounterId: 458758, - Instance: "vmhba0", - }, - { - CounterId: 458756, - Instance: "vmhba64", - }, - { - CounterId: 458754, - Instance: "vmhba32", - }, - { - CounterId: 458753, - Instance: "vmhba0", - }, - { - CounterId: 458757, - Instance: "vmhba0", - }, - { - CounterId: 458754, - Instance: "vmhba0", - }, - { - CounterId: 458756, - Instance: "vmhba0", - }, - { - CounterId: 458752, - Instance: "vmhba1", - }, - { - CounterId: 458752, - Instance: "vmhba32", - }, - { - CounterId: 458756, - Instance: "vmhba32", - }, - { - CounterId: 458755, - Instance: "vmhba0", - }, - { - CounterId: 458758, - Instance: "vmhba64", - }, - { - CounterId: 458757, - Instance: "vmhba1", - }, - { - CounterId: 458758, - Instance: "vmhba32", - }, - { - CounterId: 524290, - Instance: "$physDisk", - }, - { - CounterId: 524288, - Instance: "$physDisk", - }, - { - CounterId: 524291, - Instance: "$physDisk", - }, - { - CounterId: 524292, - Instance: "$physDisk", - }, - { - CounterId: 524295, - Instance: "", - }, - { - CounterId: 524289, - Instance: "$physDisk", - }, - { - CounterId: 524293, - Instance: "$physDisk", - }, - { - CounterId: 524294, - Instance: "$physDisk", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/vmkeventd", - }, - { - CounterId: 262168, - Instance: "host/system", - }, - { - CounterId: 262172, - Instance: "host/iofilters/vmwarevmcrypt", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/snmpd", - }, - { - CounterId: 262166, - Instance: "host/system", - }, - { - CounterId: 262157, - Instance: "host/system/svmotion", - }, - { - CounterId: 262157, - Instance: "host/system/drivers", - }, - { - CounterId: 262163, - Instance: "host/system", - }, - { - CounterId: 262156, - Instance: "host/system", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/dhclient", - }, - { - CounterId: 262153, - Instance: "host/vim/vimuser/terminal/ssh", - }, - { - CounterId: 262161, - Instance: "host/system/vmotion", - }, - { - CounterId: 262172, - Instance: "host/system/kernel/tmp", - }, - { - CounterId: 262171, - Instance: "host", - }, - { - CounterId: 262156, - Instance: "host", - }, - { - CounterId: 262152, - Instance: "host", - }, - { - CounterId: 262153, - Instance: "host/vim", - }, - { - CounterId: 262151, - Instance: "host/system/drivers", - }, - { - CounterId: 262148, - Instance: "host/system/kernel/opt", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/logging", - }, - { - CounterId: 262172, - Instance: "host/system/kernel", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/hostd-probe/stats/ls", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/nscd", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/logging", - }, - { - CounterId: 262155, - Instance: "host/system/kernel/var", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/sfcb", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/ntpd", - }, - { - CounterId: 262153, - Instance: "host/system/ft", - }, - { - CounterId: 262153, - Instance: "host/system/kernel/tmp", - }, - { - CounterId: 262148, - Instance: "host/system/kernel", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/vmfstraced", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/hostdCgiServer", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/likewise", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/snmpd", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/osfsd", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/swapobjd", - }, - { - CounterId: 262156, - Instance: "host/system/kernel", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/vpxa", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/hostd-probe/stats/logger", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/usbArbitrator", - }, - { - CounterId: 262151, - Instance: "host/system/kernel/tmp", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/init", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/wsman", - }, - { - CounterId: 262165, - Instance: "host/system/vmotion", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/hostd-probe", - }, - { - CounterId: 262171, - Instance: "host/iofilters", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/vmkiscsid", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/lbt", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/nscd", - }, - { - CounterId: 262151, - Instance: "host/system/kernel/root", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/dhclientrelease", - }, - { - CounterId: 262157, - Instance: "host/system/kernel", - }, - { - CounterId: 262153, - Instance: "host/system/kernel/root", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/vsfwd", - }, - { - CounterId: 262156, - Instance: "host/system/kernel/root", - }, - { - CounterId: 262153, - Instance: "host", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/vsanperfsvc", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/aam", - }, - { - CounterId: 262153, - Instance: "host/system/kernel/etc", - }, - { - CounterId: 262172, - Instance: "host/vim/vimuser/terminal/ssh", - }, - { - CounterId: 262154, - Instance: "host/system/kernel/etc", - }, - { - CounterId: 262148, - Instance: "host/system/kernel/var", - }, - { - CounterId: 262151, - Instance: "host/system/kernel", - }, - { - CounterId: 262171, - Instance: "host/system/kernel/etc", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/vmkeventd", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/hostd-probe/stats/head", - }, - { - CounterId: 262172, - Instance: "host/system/kernel/opt", - }, - { - CounterId: 262172, - Instance: "host/vim", - }, - { - CounterId: 262172, - Instance: "host/system/kernel/var", - }, - { - CounterId: 262151, - Instance: "host/system/kernel/opt", - }, - { - CounterId: 262155, - Instance: "host/system/kernel/opt", - }, - { - CounterId: 262151, - Instance: "host/system/kernel/var", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/hostd-probe/stats/vmkbacktrace", - }, - { - CounterId: 262148, - Instance: "host/system", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/hostd-probe/stats", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/hostd-probe/stats/pgrep", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/hostdCgiServer", - }, - { - CounterId: 262155, - Instance: "host/system/drivers", - }, - { - CounterId: 262154, - Instance: "host/system/kernel/var", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/vsanperfsvc", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/plugins", - }, - { - CounterId: 262153, - Instance: "host/system/vmotion", - }, - { - CounterId: 262148, - Instance: "host/vim/vimuser", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/sfcb_aux", - }, - { - CounterId: 262152, - Instance: "host/vim/vimuser/terminal/shell", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/netcpa", - }, - { - CounterId: 262171, - Instance: "host/system/kernel/tmp", - }, - { - CounterId: 262172, - Instance: "host", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/memScrubber", - }, - { - CounterId: 262162, - Instance: "host/vim", - }, - { - CounterId: 262151, - Instance: "host/system/kernel/iofilters", - }, - { - CounterId: 262153, - Instance: "host/system", - }, - { - CounterId: 262153, - Instance: "host/system/kernel/iofilters", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/hostd-probe/stats", - }, - { - CounterId: 262171, - Instance: "host/system/kernel/iofilters", - }, - { - CounterId: 262152, - Instance: "host/system/kernel/tmp", - }, - { - CounterId: 262155, - Instance: "host/vim/vimuser", - }, - { - CounterId: 262148, - Instance: "host/system/kernel/hostdstats", - }, - { - CounterId: 262154, - Instance: "host", - }, - { - CounterId: 262157, - Instance: "host/system", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/net-daemons", - }, - { - CounterId: 262156, - Instance: "host/system/kernel/var", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/upittraced", - }, - { - CounterId: 262153, - Instance: "host/vim/vmci", - }, - { - CounterId: 262171, - Instance: "host/system/kernel/hostdstats", - }, - { - CounterId: 262148, - Instance: "host/iofilters", - }, - { - CounterId: 262153, - Instance: "host/system/kernel/var", - }, - { - CounterId: 262152, - Instance: "host/system/kernel", - }, - { - CounterId: 262154, - Instance: "host/system/kernel/root", - }, - { - CounterId: 262151, - Instance: "host/system/kernel/hostdstats", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/hostd-probe/stats/awk", - }, - { - CounterId: 262171, - Instance: "host/iofilters/iofiltervpd", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/vsanperfsvc", - }, - { - CounterId: 262151, - Instance: "host/vim/vimuser", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/plugins", - }, - { - CounterId: 262152, - Instance: "host/system/kernel/hostdstats", - }, - { - CounterId: 262154, - Instance: "host/system/kernel/tmp", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/slp", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/hostd-probe/stats/probe", - }, - { - CounterId: 262172, - Instance: "host/system/helper", - }, - { - CounterId: 262154, - Instance: "host/system/kernel/hostdstats", - }, - { - CounterId: 262155, - Instance: "host/system/kernel/hostdstats", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/hostd", - }, - { - CounterId: 262156, - Instance: "host/system/kernel/hostdstats", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/hostd-probe/stats/vmkbacktrace", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/uwdaemons", - }, - { - CounterId: 262154, - Instance: "host/system/helper", - }, - { - CounterId: 262151, - Instance: "host/iofilters/spm", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/vvoltraced", - }, - { - CounterId: 262155, - Instance: "host/system/helper", - }, - { - CounterId: 262156, - Instance: "host/vim/tmp", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/boot", - }, - { - CounterId: 262171, - Instance: "host/vim/vimuser/terminal/ssh", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/logging", - }, - { - CounterId: 262157, - Instance: "host/system/kernel/iofilters", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/vobd", - }, - { - CounterId: 262157, - Instance: "host/system/kernel/root", - }, - { - CounterId: 262154, - Instance: "host/vim/vimuser", - }, - { - CounterId: 262152, - Instance: "host/system/kernel/opt", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/upitd", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/dcui", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/sensord", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/hbrca", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/hostd-probe/stats/awk", - }, - { - CounterId: 262157, - Instance: "host/vim/vimuser/terminal/shell", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/swapobjd", - }, - { - CounterId: 262148, - Instance: "host/system/drivers", - }, - { - CounterId: 262152, - Instance: "host/system/helper", - }, - { - CounterId: 262171, - Instance: "host/vim/vimuser/terminal/shell", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/pcscd", - }, - { - CounterId: 262155, - Instance: "host/system/kernel/root", - }, - { - CounterId: 262153, - Instance: "host/iofilters/spm", - }, - { - CounterId: 262154, - Instance: "host/system/svmotion", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/pcscd", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/pcscd", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/pcscd", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/hostd-probe", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/sensord", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/sfcb", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/snmpd", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/lbt", - }, - { - CounterId: 262161, - Instance: "host/system", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/vvold", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/hostdCgiServer", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/pcscd", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/usbArbitrator", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/pcscd", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/vmkeventd", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/plugins", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/plugins", - }, - { - CounterId: 262152, - Instance: "host/system/svmotion", - }, - { - CounterId: 262152, - Instance: "host/system/kernel/var", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/plugins", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/usbArbitrator", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/hostd-probe/stats/logger", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/plugins", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/swapobjd", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/plugins", - }, - { - CounterId: 262158, - Instance: "host/system", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/rabbitmqproxy", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/hostd-probe/stats/vsish", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/vpxa", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/rabbitmqproxy", - }, - { - CounterId: 262148, - Instance: "host/iofilters/vmwarevmcrypt", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/init", - }, - { - CounterId: 262148, - Instance: "host/system/helper", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/hostd-probe/stats/awk", - }, - { - CounterId: 262171, - Instance: "host/iofilters/spm", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/rabbitmqproxy", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/sfcb_aux", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/hostd-probe/stats/pgrep", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/rabbitmqproxy", - }, - { - CounterId: 262152, - Instance: "host/system/drivers", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/dhclientrelease", - }, - { - CounterId: 262158, - Instance: "host/system/vmotion", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/slp", - }, - { - CounterId: 262157, - Instance: "host/system/kernel/hostdstats", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/rabbitmqproxy", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/vmkiscsid", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/rabbitmqproxy", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/smartd", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/lbt", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/sensord", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/hostd-probe/stats/logger", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/init", - }, - { - CounterId: 262156, - Instance: "host/system/kernel/opt", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/sensord", - }, - { - CounterId: 262152, - Instance: "host/vim", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/sensord", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/sfcb", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/sensord", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/sensord", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/sensord", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/smartd", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/sensord", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/hostd-probe/stats/logger", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/memScrubber", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/sioc", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/sfcb", - }, - { - CounterId: 262151, - Instance: "host/system/vmotion", - }, - { - CounterId: 262148, - Instance: "host/system/kernel/tmp", - }, - { - CounterId: 262144, - Instance: "", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/wsman", - }, - { - CounterId: 262157, - Instance: "host/system/kernel/var", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/sfcb", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/sfcb", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/hostdCgiServer", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/nfcd", - }, - { - CounterId: 262152, - Instance: "host/system/kernel/iofilters", - }, - { - CounterId: 262171, - Instance: "host/vim/vmci", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/upitd", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/sfcb_aux", - }, - { - CounterId: 262151, - Instance: "host/system/kernel/etc", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/sfcb", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/sfcb", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/swapobjd", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/hostd-probe", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/vvoltraced", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/sfcb", - }, - { - CounterId: 262164, - Instance: "host/system", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/vobd", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/hostd-probe/stats/pgrep", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/sfcb_aux", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/sfcb_aux", - }, - { - CounterId: 262163, - Instance: "host/vim", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/sfcb_aux", - }, - { - CounterId: 262171, - Instance: "host/vim/vimuser", - }, - { - CounterId: 262172, - Instance: "host/system/kernel/hostdstats", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/sfcb_aux", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/hostd-probe/stats/head", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/init", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/sfcb_aux", - }, - { - CounterId: 262157, - Instance: "host/system/kernel/opt", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/sioc", - }, - { - CounterId: 262155, - Instance: "host/iofilters/vmwarevmcrypt", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/hostdCgiServer", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/sioc", - }, - { - CounterId: 262171, - Instance: "host/system/kernel", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/sioc", - }, - { - CounterId: 262160, - Instance: "host/system/vmotion", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/sioc", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/lbt", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/aam", - }, - { - CounterId: 262151, - Instance: "host/system", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/sioc", - }, - { - CounterId: 262155, - Instance: "host/system/kernel/etc", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/sioc", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/memScrubber", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/vmfstraced", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/hostd-probe", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/vmkdevmgr", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/sioc", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/init", - }, - { - CounterId: 262155, - Instance: "host/user", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/hostd-probe/stats/vmkbacktrace", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/slp", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/smartd", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/slp", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/nscd", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/osfsd", - }, - { - CounterId: 262160, - Instance: "host/system", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/lbt", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/sensord", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/slp", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/slp", - }, - { - CounterId: 262148, - Instance: "host/iofilters/iofiltervpd", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/slp", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/hostd-probe/stats/sh", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/slp", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/slp", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/smartd", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/smartd", - }, - { - CounterId: 262155, - Instance: "host/system/svmotion", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/smartd", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/smartd", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/smartd", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor", - }, - { - CounterId: 262155, - Instance: "host/system", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/osfsd", - }, - { - CounterId: 262167, - Instance: "host/system", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/hostd-probe/stats/head", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/snmpd", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/snmpd", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/snmpd", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/snmpd", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/logging", - }, - { - CounterId: 262156, - Instance: "host/system/kernel/tmp", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/snmpd", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/swapobjd", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/vmkiscsid", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/swapobjd", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/swapobjd", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/swapobjd", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/lbt", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/upitd", - }, - { - CounterId: 262148, - Instance: "host/vim/vmci", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/upitd", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/snmpd", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/upitd", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/hostd-probe/stats/vmkbacktrace", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/vvoltraced", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/hostd-probe/stats/probe", - }, - { - CounterId: 262156, - Instance: "host/system/drivers", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/upitd", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/upitd", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/upitd", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/upitd", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/hostd", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/pktcap-agent", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/upittraced", - }, - { - CounterId: 262157, - Instance: "host/system/kernel/etc", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/likewise", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/upittraced", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/vsanperfsvc", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/upittraced", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/pcscd", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/vsanmgmtdWatchdog", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/vvold", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/upittraced", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/hostd", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/upittraced", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/hostd-probe/stats/vsish", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/dhclientrelease", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/upittraced", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/upittraced", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/upittraced", - }, - { - CounterId: 262165, - Instance: "host/vim", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/vsanmgmtdWatchdog", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/lacpd", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/usbArbitrator", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/usbArbitrator", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/usbArbitrator", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/usbArbitrator", - }, - { - CounterId: 262159, - Instance: "host/system", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/snmpd", - }, - { - CounterId: 262172, - Instance: "host/vim/vmci", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/hostd-probe/stats/awk", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/usbArbitrator", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/uwdaemons", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/vmkdevmgr", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/pktcap-agent", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/nfcd", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/uwdaemons", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/uwdaemons", - }, - { - CounterId: 262157, - Instance: "host/iofilters/spm", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/vmkdevmgr", - }, - { - CounterId: 262153, - Instance: "host/system/helper", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/uwdaemons", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/hostd-probe/stats/awk", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/uwdaemons", - }, - { - CounterId: 262163, - Instance: "host/system/vmotion", - }, - { - CounterId: 262151, - Instance: "host/user", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/netcpa", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/uwdaemons", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/uwdaemons", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/vmfstraced", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/vmfstraced", - }, - { - CounterId: 262155, - Instance: "host/iofilters", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/osfsd", - }, - { - CounterId: 262171, - Instance: "host/vim/tmp", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/vmfstraced", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/vmfstraced", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/vmfstraced", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/vmkdevmgr", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/likewise", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/vmkdevmgr", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/vmkdevmgr", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/vmkdevmgr", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/vmkdevmgr", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/vmkeventd", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/vmkeventd", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/vmkeventd", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/likewise", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/memScrubber", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/vmkeventd", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/hostd-probe/stats/logger", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/likewise", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/vmkeventd", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/vmkiscsid", - }, - { - CounterId: 262154, - Instance: "host/iofilters/spm", - }, - { - CounterId: 262171, - Instance: "host/system", - }, - { - CounterId: 262156, - Instance: "host/system/kernel/etc", - }, - { - CounterId: 262153, - Instance: "host/system/kernel/hostdstats", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/hostdCgiServer", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/hostdCgiServer", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/logging", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/vmkiscsid", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/pcscd", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/vmkiscsid", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/netcpa", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/vmkiscsid", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/vmkiscsid", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/vobd", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/vobd", - }, - { - CounterId: 262153, - Instance: "host/iofilters", - }, - { - CounterId: 262148, - Instance: "host/system/kernel/iofilters", - }, - { - CounterId: 262171, - Instance: "host/system/kernel/root", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/vobd", - }, - { - CounterId: 262151, - Instance: "host/vim/tmp", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/vobd", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/vobd", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/vdpi", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/vobd", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/wsman", - }, - { - CounterId: 262148, - Instance: "host/system/vmotion", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/vobd", - }, - { - CounterId: 262157, - Instance: "host/iofilters", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/vobd", - }, - { - CounterId: 262157, - Instance: "host", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/hostd", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/memScrubber", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/usbArbitrator", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/vpxa", - }, - { - CounterId: 262171, - Instance: "host/system/helper", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/vpxa", - }, - { - CounterId: 262156, - Instance: "host/vim/vimuser", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/vpxa", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/vpxa", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/vpxa", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/vpxa", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/dcui", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/hostd-probe/stats/probe", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/vpxa", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/logging", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/nfcd", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/vvold", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/vvold", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/hostd-probe/stats/vmkbacktrace", - }, - { - CounterId: 262171, - Instance: "host/system/kernel/var", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/vvold", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/vmkeventd", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/vvold", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/vvold", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/rabbitmqproxy", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/aam", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/netcpa", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/nfcd", - }, - { - CounterId: 262172, - Instance: "host/system/kernel/root", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/vvold", - }, - { - CounterId: 262157, - Instance: "host/system/helper", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/nfsgssd", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/uwdaemons", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/vvold", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/vvold", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/hostd-probe/stats/vsish", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/swapobjd", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/vvoltraced", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/vvoltraced", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/vmfstraced", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/lacpd", - }, - { - CounterId: 262157, - Instance: "host/system/kernel/tmp", - }, - { - CounterId: 262152, - Instance: "host/vim/tmp", - }, - { - CounterId: 262154, - Instance: "host/vim/vimuser/terminal", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/vvoltraced", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/vvoltraced", - }, - { - CounterId: 262168, - Instance: "host/system/vmotion", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/vvoltraced", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/wsman", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/dhclient", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/wsman", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/hostd-probe/stats/pgrep", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/slp", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/wsman", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/wsman", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/wsman", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/vdpi", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/wsman", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/wsman", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/hostd", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/vmkdevmgr", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/vsanperfsvc", - }, - { - CounterId: 262172, - Instance: "host/user", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/ntpd", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/vsanperfsvc", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/vsanperfsvc", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/vdpi", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/vsanperfsvc", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/aam", - }, - { - CounterId: 262154, - Instance: "host/system/kernel/opt", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/vsanperfsvc", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/vsanperfsvc", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/vsanmgmtdWatchdog", - }, - { - CounterId: 262152, - Instance: "host/user", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/vsanmgmtdWatchdog", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/pktcap-agent", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/hostd-probe/stats/awk", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/plugins", - }, - { - CounterId: 262152, - Instance: "host/system", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/lacpd", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/pktcap-agent", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/pktcap-agent", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/pktcap-agent", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/pktcap-agent", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/vdpi", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/hostdCgiServer", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/vdpi", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/vdpi", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/hostd", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/vdpi", - }, - { - CounterId: 262157, - Instance: "host/vim/vimuser/terminal", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/vdpi", - }, - { - CounterId: 262153, - Instance: "host/system/drivers", - }, - { - CounterId: 262153, - Instance: "host/system/kernel/opt", - }, - { - CounterId: 262162, - Instance: "host/system", - }, - { - CounterId: 262154, - Instance: "host/system/drivers", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/hostd-probe/stats/head", - }, - { - CounterId: 262172, - Instance: "host/system/ft", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/memScrubber", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/hostd-probe/stats/pgrep", - }, - { - CounterId: 262148, - Instance: "host/system/ft", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/sioc", - }, - { - CounterId: 262152, - Instance: "host/system/ft", - }, - { - CounterId: 262155, - Instance: "host/system/ft", - }, - { - CounterId: 262156, - Instance: "host/system/ft", - }, - { - CounterId: 262148, - Instance: "host/iofilters/spm", - }, - { - CounterId: 262157, - Instance: "host/system/ft", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/vsfwd", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/hbrca", - }, - { - CounterId: 262148, - Instance: "host/vim/vimuser/terminal/ssh", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/vsfwd", - }, - { - CounterId: 262172, - Instance: "host/system/vmotion", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/hostdCgiServer", - }, - { - CounterId: 262152, - Instance: "host/system/vmotion", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/vsfwd", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/hostd-probe/stats/logger", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/vsfwd", - }, - { - CounterId: 262154, - Instance: "host/system/vmotion", - }, - { - CounterId: 262155, - Instance: "host/system/kernel", - }, - { - CounterId: 262155, - Instance: "host/system/vmotion", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/pcscd", - }, - { - CounterId: 262156, - Instance: "host/system/vmotion", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/net-daemons", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/hostd-probe/stats", - }, - { - CounterId: 262157, - Instance: "host/system/vmotion", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/hostd-probe/stats/head", - }, - { - CounterId: 262171, - Instance: "host/system/vmotion", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/hostd-probe/stats/sh", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/vsfwd", - }, - { - CounterId: 262159, - Instance: "host/system/vmotion", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/dcui", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/hostd-probe/stats/vsish", - }, - { - CounterId: 262164, - Instance: "host/system/vmotion", - }, - { - CounterId: 262167, - Instance: "host/system/vmotion", - }, - { - CounterId: 262153, - Instance: "host/vim/vimuser/terminal", - }, - { - CounterId: 262167, - Instance: "host/vim", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/rabbitmqproxy", - }, - { - CounterId: 262169, - Instance: "host/system/vmotion", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/vsfwd", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/dhclientrelease", - }, - { - CounterId: 262166, - Instance: "host/system/vmotion", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/osfsd", - }, - { - CounterId: 262172, - Instance: "host/system/svmotion", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/rabbitmqproxy", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/vsfwd", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/vsfwd", - }, - { - CounterId: 262151, - Instance: "host/system/svmotion", - }, - { - CounterId: 262156, - Instance: "host/system/helper", - }, - { - CounterId: 262153, - Instance: "host/system/svmotion", - }, - { - CounterId: 262171, - Instance: "host/system/svmotion", - }, - { - CounterId: 262148, - Instance: "host/vim", - }, - { - CounterId: 262165, - Instance: "host/system", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/hostd-probe/stats", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/hbrca", - }, - { - CounterId: 262151, - Instance: "host/vim", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/logging", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/vsfwd", - }, - { - CounterId: 262154, - Instance: "host/vim", - }, - { - CounterId: 262169, - Instance: "host/system", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/hostd-probe/stats/sh", - }, - { - CounterId: 262155, - Instance: "host/vim", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/plugins", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/boot", - }, - { - CounterId: 262154, - Instance: "host/vim/vimuser/terminal/shell", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/vsanmgmtdWatchdog", - }, - { - CounterId: 262154, - Instance: "host/system/kernel", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/lacpd", - }, - { - CounterId: 262157, - Instance: "host/vim", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/vsanmgmtdWatchdog", - }, - { - CounterId: 262171, - Instance: "host/vim", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor", - }, - { - CounterId: 262158, - Instance: "host/vim", - }, - { - CounterId: 262159, - Instance: "host/vim", - }, - { - CounterId: 262160, - Instance: "host/vim", - }, - { - CounterId: 262161, - Instance: "host/vim", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/sfcb_aux", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/osfsd", - }, - { - CounterId: 262172, - Instance: "host/vim/vimuser", - }, - { - CounterId: 262164, - Instance: "host/vim", - }, - { - CounterId: 262157, - Instance: "host/vim/vimuser/terminal/ssh", - }, - { - CounterId: 262166, - Instance: "host/vim", - }, - { - CounterId: 262168, - Instance: "host/vim", - }, - { - CounterId: 262169, - Instance: "host/vim", - }, - { - CounterId: 262153, - Instance: "host/vim/vimuser", - }, - { - CounterId: 262155, - Instance: "host/system/kernel/iofilters", - }, - { - CounterId: 262151, - Instance: "host/vim/vmci", - }, - { - CounterId: 262152, - Instance: "host/vim/vmci", - }, - { - CounterId: 262152, - Instance: "host/vim/vimuser", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/vmkeventd", - }, - { - CounterId: 262154, - Instance: "host/vim/vmci", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/boot", - }, - { - CounterId: 262155, - Instance: "host/vim/vmci", - }, - { - CounterId: 262157, - Instance: "host/vim/vimuser", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/dhclient", - }, - { - CounterId: 262172, - Instance: "host/vim/vimuser/terminal", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/ntpd", - }, - { - CounterId: 262148, - Instance: "host/vim/vimuser/terminal", - }, - { - CounterId: 262156, - Instance: "host/vim/vmci", - }, - { - CounterId: 262152, - Instance: "host/vim/vimuser/terminal", - }, - { - CounterId: 262157, - Instance: "host/vim/vmci", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/init", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/aam", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/smartd", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/aam", - }, - { - CounterId: 262148, - Instance: "host/system/kernel/root", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/hostd-probe/stats/ls", - }, - { - CounterId: 262155, - Instance: "host/vim/vimuser/terminal", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/aam", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/vsanmgmtdWatchdog", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/init", - }, - { - CounterId: 262171, - Instance: "host/user", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/aam", - }, - { - CounterId: 262171, - Instance: "host/system/ft", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/aam", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/boot", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/hostd-probe/stats/probe", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/boot", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/upitd", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/boot", - }, - { - CounterId: 262151, - Instance: "host/vim/vimuser/terminal", - }, - { - CounterId: 262156, - Instance: "host/vim/vimuser/terminal", - }, - { - CounterId: 262171, - Instance: "host/vim/vimuser/terminal", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/boot", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/vmkiscsid", - }, - { - CounterId: 262172, - Instance: "host/vim/vimuser/terminal/shell", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/hostd-probe/stats/logger", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/boot", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/boot", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/dcui", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/smartd", - }, - { - CounterId: 262148, - Instance: "host", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/dcui", - }, - { - CounterId: 262148, - Instance: "host/system/svmotion", - }, - { - CounterId: 262148, - Instance: "host/vim/vimuser/terminal/shell", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/hostd-probe/stats/pgrep", - }, - { - CounterId: 262156, - Instance: "host/system/svmotion", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/dcui", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/hostd-probe/stats/vsish", - }, - { - CounterId: 262151, - Instance: "host/vim/vimuser/terminal/shell", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/dcui", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/dcui", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/hostd-probe/stats/vmkbacktrace", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/dcui", - }, - { - CounterId: 262153, - Instance: "host/vim/vimuser/terminal/shell", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/hbrca", - }, - { - CounterId: 262155, - Instance: "host/vim/vimuser/terminal/shell", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/dhclient", - }, - { - CounterId: 262155, - Instance: "host", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/dhclient", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/osfsd", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/dhclient", - }, - { - CounterId: 262151, - Instance: "host/vim/vimuser/terminal/ssh", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/dhclient", - }, - { - CounterId: 262162, - Instance: "host/system/vmotion", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/dhclient", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/dhclient", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/hostd-probe/stats/pgrep", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/dhclientrelease", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/vmkiscsid", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/dhclientrelease", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/dhclientrelease", - }, - { - CounterId: 262155, - Instance: "host/iofilters/spm", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/dhclientrelease", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/dhclientrelease", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/sioc", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/hbrca", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/hbrca", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/hostd-probe/stats/pgrep", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/hbrca", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/ntpd", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/hbrca", - }, - { - CounterId: 262152, - Instance: "host/system/kernel/etc", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/hbrca", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/vmkdevmgr", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/hostd", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/hostd", - }, - { - CounterId: 262154, - Instance: "host/vim/vimuser/terminal/ssh", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/dhclientrelease", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/hostd", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/hostd", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/pktcap-agent", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/hostd-probe", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/init", - }, - { - CounterId: 262151, - Instance: "host/system/helper", - }, - { - CounterId: 262172, - Instance: "host/vim/tmp", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/hostd-probe", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/hostd-probe", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/rabbitmqproxy", - }, - { - CounterId: 262148, - Instance: "host/vim/tmp", - }, - { - CounterId: 262153, - Instance: "host/vim/tmp", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/hostd-probe", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/hostd-probe", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/hostd-probe/stats", - }, - { - CounterId: 262172, - Instance: "host/system", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/hostd-probe/stats", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/hostd-probe/stats", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/init", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/netcpa", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/hostd-probe/stats", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/vsanmgmtdWatchdog", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/vmfstraced", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/hostd-probe/stats", - }, - { - CounterId: 262155, - Instance: "host/vim/tmp", - }, - { - CounterId: 262157, - Instance: "host/vim/tmp", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/net-daemons", - }, - { - CounterId: 262156, - Instance: "host/iofilters/spm", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/nfsgssd", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/hostd-probe/stats/awk", - }, - { - CounterId: 262171, - Instance: "host/system/drivers", - }, - { - CounterId: 262172, - Instance: "host/iofilters", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/hostd-probe/stats/awk", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/hostd-probe/stats/ls", - }, - { - CounterId: 262154, - Instance: "host/system", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/hostd-probe/stats/awk", - }, - { - CounterId: 262151, - Instance: "host/iofilters", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/hostd-probe/stats/awk", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/nscd", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/pktcap-agent", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/osfsd", - }, - { - CounterId: 262156, - Instance: "host/vim/vimuser/terminal/ssh", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/hostd-probe/stats/head", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/vsanmgmtdWatchdog", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/dhclient", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/hostd-probe/stats/head", - }, - { - CounterId: 262156, - Instance: "host/iofilters/iofiltervpd", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/hostd-probe/stats/head", - }, - { - CounterId: 262152, - Instance: "host/iofilters", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/hostd-probe/stats/head", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/plugins", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/nfcd", - }, - { - CounterId: 262155, - Instance: "host/system/kernel/tmp", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/hostd-probe/stats/head", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/hostd-probe/stats/logger", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/vpxa", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/lacpd", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/sfcb_aux", - }, - { - CounterId: 262154, - Instance: "host/iofilters", - }, - { - CounterId: 262156, - Instance: "host/iofilters", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/hostd-probe/stats/logger", - }, - { - CounterId: 262172, - Instance: "host/iofilters/iofiltervpd", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/hostd-probe/stats/logger", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/hostd-probe/stats/ls", - }, - { - CounterId: 262154, - Instance: "host/system/ft", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/net-daemons", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/hostd-probe/stats/ls", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor", - }, - { - CounterId: 262151, - Instance: "host/iofilters/iofiltervpd", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/hostd-probe/stats/ls", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/hostd-probe/stats/ls", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/usbArbitrator", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/hostd-probe/stats/ls", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/hostd-probe/stats/ls", - }, - { - CounterId: 262152, - Instance: "host/iofilters/iofiltervpd", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/hostd-probe/stats/ls", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/vsanmgmtdWatchdog", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/hostd-probe/stats/pgrep", - }, - { - CounterId: 262153, - Instance: "host/iofilters/iofiltervpd", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/hostd-probe/stats/pgrep", - }, - { - CounterId: 262154, - Instance: "host/iofilters/iofiltervpd", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/hostd-probe/stats/probe", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/hostd-probe/stats/probe", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/hostd-probe/stats/probe", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/hostd-probe/stats/sh", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/hostd-probe/stats/probe", - }, - { - CounterId: 262172, - Instance: "host/system/kernel/etc", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/hostd-probe/stats/probe", - }, - { - CounterId: 262155, - Instance: "host/iofilters/iofiltervpd", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/hostd-probe/stats/probe", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/hostd-probe/stats/sh", - }, - { - CounterId: 262157, - Instance: "host/iofilters/iofiltervpd", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/hostd-probe/stats/sh", - }, - { - CounterId: 262151, - Instance: "host/iofilters/vmwarevmcrypt", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/pktcap-agent", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/netcpa", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/vvoltraced", - }, - { - CounterId: 262153, - Instance: "host/system/kernel", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/hostd-probe/stats/sh", - }, - { - CounterId: 262152, - Instance: "host/iofilters/vmwarevmcrypt", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/hostd-probe/stats/sh", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/hostd-probe/stats/sh", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/hostd-probe/stats/vmkbacktrace", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/hostd-probe/stats/vmkbacktrace", - }, - { - CounterId: 262154, - Instance: "host/vim/tmp", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/hostd-probe/stats/vmkbacktrace", - }, - { - CounterId: 262155, - Instance: "host/vim/vimuser/terminal/ssh", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/vmfstraced", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/hostd-probe/stats/vmkbacktrace", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/nfsgssd", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/vdpi", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/hostd-probe/stats/vsish", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/vdpi", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/hostd-probe/stats/vsish", - }, - { - CounterId: 262152, - Instance: "host/vim/vimuser/terminal/ssh", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/hostd-probe/stats/vsish", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/hostd-probe/stats/vsish", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/hostdCgiServer", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/hbrca", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/init", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/lacpd", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/lacpd", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/nscd", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/lacpd", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/uwdaemons", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/lacpd", - }, - { - CounterId: 262172, - Instance: "host/system/drivers", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/lacpd", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/lbt", - }, - { - CounterId: 262171, - Instance: "host/system/kernel/opt", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/lbt", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/lbt", - }, - { - CounterId: 262153, - Instance: "host/iofilters/vmwarevmcrypt", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/lbt", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/likewise", - }, - { - CounterId: 262154, - Instance: "host/iofilters/vmwarevmcrypt", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/aam", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/hostd-probe/stats/vsish", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/likewise", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/likewise", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/likewise", - }, - { - CounterId: 262156, - Instance: "host/iofilters/vmwarevmcrypt", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/memScrubber", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/hostd-probe/stats", - }, - { - CounterId: 262154, - Instance: "host/system/kernel/iofilters", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/logging", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/logging", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/logging", - }, - { - CounterId: 262156, - Instance: "host/system/kernel/iofilters", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/memScrubber", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/hostd-probe", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/memScrubber", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/osfsd", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/memScrubber", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/likewise", - }, - { - CounterId: 262157, - Instance: "host/iofilters/vmwarevmcrypt", - }, - { - CounterId: 262171, - Instance: "host/iofilters/vmwarevmcrypt", - }, - { - CounterId: 262156, - Instance: "host/vim", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/net-daemons", - }, - { - CounterId: 262172, - Instance: "host/iofilters/spm", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/ntpd", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/net-daemons", - }, - { - CounterId: 262152, - Instance: "host/system/kernel/root", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/net-daemons", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/net-daemons", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/net-daemons", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/net-daemons", - }, - { - CounterId: 262152, - Instance: "host/iofilters/spm", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/netcpa", - }, - { - CounterId: 262156, - Instance: "host/vim/vimuser/terminal/shell", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/netcpa", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/sfcb", - }, - { - CounterId: 262151, - Instance: "host/system/ft", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/osfsd", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/netcpa", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/netcpa", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/swapobjd", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/nfcd", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/hostd-probe/stats/sh", - }, - { - CounterId: 262151, - Instance: "host", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/nfcd", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/vvoltraced", - }, - { - CounterId: 262148, - Instance: "host/system/kernel/etc", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/nfcd", - }, - { - CounterId: 262148, - Instance: "host/user", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/nfcd", - }, - { - CounterId: 262154, - Instance: "host/vim/vmvisor/dcui", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/nfcd", - }, - { - CounterId: 262172, - Instance: "host/vim/vmvisor/nfsgssd", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/nfsgssd", - }, - { - CounterId: 262153, - Instance: "host/user", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/nfsgssd", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/nfsgssd", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/upittraced", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/nfsgssd", - }, - { - CounterId: 262154, - Instance: "host/user", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/nfsgssd", - }, - { - CounterId: 262156, - Instance: "host/user", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/nfsgssd", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/nscd", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/nscd", - }, - { - CounterId: 262156, - Instance: "host/vim/vmvisor/nscd", - }, - { - CounterId: 262172, - Instance: "host/system/kernel/iofilters", - }, - { - CounterId: 262157, - Instance: "host/user", - }, - { - CounterId: 262157, - Instance: "host/vim/vmvisor/nscd", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/nscd", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/ntpd", - }, - { - CounterId: 262151, - Instance: "host/vim/vmvisor/ntpd", - }, - { - CounterId: 262152, - Instance: "host/vim/vmvisor/ntpd", - }, - { - CounterId: 262153, - Instance: "host/vim/vmvisor/ntpd", - }, - { - CounterId: 262171, - Instance: "host/vim/vmvisor/boot", - }, - { - CounterId: 262155, - Instance: "host/vim/vmvisor/ntpd", - }, - { - CounterId: 262148, - Instance: "host/vim/vmvisor/pcscd", - }, - { - CounterId: 851968, - Instance: "vfc", - }, -} - -// ********************************* Resource pool metrics ********************************** -var ResourcePoolMetrics = []types.PerfMetricId{ - { - CounterId: 5, - Instance: "", - }, - { - CounterId: 65586, - Instance: "", - }, - { - CounterId: 65591, - Instance: "", - }, - { - CounterId: 65545, - Instance: "", - }, - { - CounterId: 65553, - Instance: "", - }, - { - CounterId: 65541, - Instance: "", - }, - { - CounterId: 65549, - Instance: "", - }, - { - CounterId: 65582, - Instance: "", - }, -} diff --git a/vendor/github.com/vmware/govmomi/simulator/esx/performance_manager_data.go b/vendor/github.com/vmware/govmomi/simulator/esx/performance_manager_data.go deleted file mode 100644 index 8d0eaca304b..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/esx/performance_manager_data.go +++ /dev/null @@ -1,1213 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ -package esx - -var MetricData = map[string]map[int32][]int64{ - "VirtualMachine": VmMetricData, - "HostSystem": HostMetricData, - "ResourcePool": ResourcePoolMetricData, -} - -var VmMetricData = map[int32][]int64{ - 131078: []int64{105, 91, 90, 120, 103, 65, 84, 486, 377, 483, 268, 3788, 5638, 417, 114, 51, 50, 31, 388, 22, - 19, 24, 83, 69, 22, 21, 47, 9, 68, 22, 12, 34, 137, 94, 68, 82, 53, 88, 73, 24, - 45, 35, 42, 52, 104, 103, 112, 124, 91, 111, 183, 82, 85, 40, 54, 27, 29, 17, 30, 23, - 32, 20, 30, 17, 38, 16, 14, 134, 92, 27, 16, 34, 28, 45, 39, 21, 37, 46, 65, 187, - 122, 551, 295, 121, 130, 84, 207, 128, 57, 34, 18, 38, 25, 25, 42, 21, 16, 117, 78, 20, - }, - 262144: []int64{2953459, 2953479, 2953499, 2953519, 2953539, 2953559, 2953579, 2953599, 2953619, 2953639, 2953659, 2953679, 2953699, 2953719, 2953739, 2953759, 2953779, 2953799, 2953819, 2953839, - 2953859, 2953879, 2953899, 2953919, 2953939, 2953959, 2953979, 2953999, 2954019, 2954039, 2954059, 2954079, 2954099, 2954119, 2954139, 2954159, 2954179, 2954199, 2954219, 2954239, - 2954259, 2954279, 2954299, 2954319, 2954339, 2954359, 2954379, 2954399, 2954419, 2954439, 2954459, 2954479, 2954499, 2954519, 2954539, 2954559, 2954579, 2954599, 2954619, 2954639, - 2954659, 2954679, 2954699, 2954719, 2954739, 2954759, 2954779, 2954799, 2954819, 2954839, 2954859, 2954879, 2954899, 2954919, 2954939, 2954959, 2954979, 2954999, 2955019, 2955039, - 2955059, 2955079, 2955099, 2955119, 2955139, 2955159, 2955179, 2955199, 2955219, 2955239, 2955259, 2955279, 2955299, 2955319, 2955339, 2955359, 2955379, 2955399, 2955419, 2955439, - }, - 589826: []int64{0, 1, 0, 23, 0, 0, 0, 62, 2, 5, 2, 3134, 4717, 81, 3, 0, 2, 0, 73, 0, - 1, 0, 4, 0, 0, 3, 0, 0, 1, 0, 0, 4, 0, 0, 0, 0, 10, 0, 0, 0, - 0, 3, 5, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 3, 0, 0, 2, 0, - 0, 1, 0, 0, 1, 0, 0, 4, 0, 0, 1, 3, 2, 0, 1, 1, 1, 0, 0, 0, - 0, 352, 62, 0, 0, 0, 17, 1, 0, 1, 1, 0, 0, 0, 0, 2, 0, 5, 0, 0, - }, - 27: []int64{0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 327684: []int64{2100, 1900, 2100, 2100, 2100, 2100, 2100, 2500, 3900, 4000, 4200, 4500, 4600, 7200, 7200, 7200, 7200, 7200, 7200, 7200, - 7200, 7200, 5700, 5700, 5700, 5700, 5100, 3800, 2300, 1900, 1900, 2100, 2100, 2000, 2000, 2000, 2000, 2000, 2100, 2000, - 2000, 2000, 2000, 2000, 2000, 2000, 1800, 1800, 1800, 1800, 1800, 1800, 1700, 1700, 1800, 1800, 1800, 1800, 1800, 1800, - 1800, 1900, 2000, 2000, 2000, 2000, 2000, 2600, 3700, 3700, 3700, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, - 4000, 6400, 2200, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 1900, 2100, 2100, 2100, - }, - 589827: []int64{185, 221, 201, 190, 213, 180, 183, 3167, 675, 806, 640, 1307, 1853, 985, 283, 202, 244, 188, 189, 223, - 190, 193, 516, 150, 100, 135, 127, 92, 160, 103, 101, 160, 203, 188, 238, 195, 206, 1006, 215, 168, - 234, 202, 185, 238, 197, 195, 229, 199, 207, 244, 696, 179, 231, 155, 122, 100, 153, 107, 107, 140, - 107, 91, 145, 100, 120, 147, 99, 3340, 2031, 123, 101, 153, 103, 120, 152, 89, 123, 236, 194, 234, - 181, 397, 536, 205, 210, 238, 201, 188, 205, 234, 183, 192, 222, 183, 238, 189, 185, 2573, 269, 168, - }, - 65591: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 262145: []int64{30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, - 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, - 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 28, 30, 30, 30, 30, 30, - 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, - 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, - }, - 131095: []int64{0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, - 0, 0, 0, 1, 0, 1, 1, 1, 3, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, - 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 13, 0, 1, 1, 1, 1, 1, - 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, - }, - 327680: []int64{900, 900, 1100, 1200, 1200, 1000, 900, 2100, 3100, 4200, 4000, 4300, 4500, 6200, 5300, 3900, 1400, 1000, 1100, 1100, - 1000, 900, 1100, 1100, 1300, 1000, 1400, 1200, 1400, 1000, 1000, 900, 1000, 1100, 1000, 1000, 900, 1000, 1200, 1100, - 1000, 1200, 1200, 1300, 900, 900, 900, 900, 1100, 1000, 1100, 900, 900, 1200, 1400, 1300, 1300, 1100, 1200, 900, - 1000, 900, 1000, 1100, 1200, 1000, 900, 2600, 4400, 4400, 2600, 1300, 1200, 1300, 1000, 1000, 1000, 900, 1100, 1000, - 1000, 1500, 1700, 1800, 1200, 1000, 1300, 1300, 1400, 1000, 1000, 900, 1000, 1100, 1000, 1000, 900, 1800, 1900, 1900, - }, - 65628: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 196612: []int64{2225, 3281, 1618, 2063, 1848, 1873, 2184, 7480, 8118, 10104, 10870, 9808, 10400, 13222, 2843, 2012, 3354, 1841, 2146, 1756, - 1978, 2008, 1907, 1994, 2224, 3298, 2051, 2094, 1828, 2006, 2211, 3199, 1709, 1954, 1759, 1851, 2318, 1896, 1896, 2121, - 3276, 1983, 2205, 1779, 1689, 2019, 3311, 1876, 2034, 1907, 1961, 2015, 1749, 1927, 2294, 3313, 2048, 1981, 1967, 1848, - 2192, 3359, 1871, 1895, 1966, 1923, 2129, 3255, 1851, 1869, 3261, 1965, 2286, 1853, 1894, 1937, 3358, 1834, 2190, 1876, - 1949, 2031, 1892, 1787, 2014, 3183, 1621, 1724, 1817, 1774, 2141, 3293, 1798, 2044, 1798, 1832, 2108, 1780, 1946, 2000, - }, - 196619: []int64{338, 541, 275, 276, 274, 277, 338, 518, 546, 597, 677, 545, 606, 600, 305, 280, 542, 274, 351, 275, - 276, 275, 277, 276, 339, 391, 292, 275, 274, 276, 337, 541, 275, 275, 275, 276, 340, 277, 276, 276, - 389, 292, 337, 274, 276, 275, 542, 274, 339, 275, 274, 275, 278, 274, 340, 389, 293, 276, 274, 277, - 339, 543, 289, 274, 277, 275, 337, 280, 274, 274, 390, 290, 339, 276, 274, 277, 542, 276, 339, 275, - 274, 277, 277, 274, 340, 404, 275, 274, 277, 275, 338, 541, 274, 275, 275, 274, 340, 275, 276, 275, - }, - 196628: []int64{346, 555, 281, 282, 280, 283, 347, 528, 557, 609, 691, 554, 618, 611, 312, 286, 556, 280, 360, 281, - 282, 281, 281, 282, 347, 400, 298, 282, 280, 282, 346, 555, 281, 281, 281, 282, 348, 283, 282, 282, - 399, 298, 345, 280, 282, 281, 556, 281, 348, 282, 281, 281, 284, 280, 348, 398, 300, 283, 280, 283, - 347, 557, 295, 280, 284, 282, 345, 286, 280, 280, 399, 297, 347, 282, 280, 283, 556, 282, 347, 281, - 280, 283, 283, 280, 348, 414, 281, 280, 283, 282, 347, 555, 280, 282, 282, 281, 348, 281, 282, 282, - }, - 196613: []int64{1045, 1729, 698, 934, 692, 804, 938, 5133, 5837, 7138, 7639, 7081, 7420, 9237, 1494, 953, 1727, 787, 1039, 739, - 801, 815, 800, 881, 1148, 1807, 970, 803, 770, 845, 1084, 1932, 824, 883, 844, 832, 1204, 818, 873, 810, - 1834, 920, 972, 857, 841, 804, 1671, 793, 1068, 782, 832, 851, 831, 776, 1161, 1701, 922, 809, 777, 765, - 1029, 1893, 788, 772, 790, 815, 1050, 1463, 736, 768, 1782, 864, 1144, 923, 780, 890, 1645, 766, 1146, 827, - 829, 938, 914, 787, 1153, 1815, 786, 735, 752, 821, 1070, 1742, 773, 760, 759, 850, 1071, 798, 809, 788, - }, - 1: []int64{459, 568, 565, 667, 468, 400, 428, 2434, 1844, 1903, 2087, 2129, 2462, 4030, 755, 424, 599, 426, 669, 421, - 421, 458, 761, 611, 443, 740, 651, 400, 594, 441, 430, 545, 481, 579, 452, 435, 462, 584, 708, 389, - 765, 566, 439, 554, 417, 402, 579, 414, 645, 412, 538, 417, 465, 1149, 429, 746, 521, 388, 596, 389, - 445, 556, 566, 592, 488, 399, 457, 3707, 2176, 486, 774, 638, 457, 560, 475, 405, 579, 405, 663, 406, - 388, 1451, 624, 592, 474, 771, 662, 429, 588, 387, 452, 564, 452, 586, 451, 404, 444, 1771, 690, 397, - }, - 196614: []int64{246, 416, 202, 245, 203, 203, 245, 510, 474, 664, 776, 792, 927, 1261, 318, 259, 416, 203, 245, 203, - 217, 245, 218, 218, 246, 309, 216, 245, 203, 203, 246, 415, 203, 245, 203, 203, 260, 204, 203, 245, - 309, 215, 245, 203, 203, 245, 416, 203, 248, 203, 203, 245, 203, 203, 246, 308, 216, 245, 203, 203, - 246, 416, 203, 244, 203, 203, 245, 562, 203, 244, 308, 215, 246, 203, 203, 244, 416, 203, 245, 203, - 203, 245, 204, 203, 245, 320, 203, 244, 203, 203, 245, 416, 203, 245, 203, 203, 245, 203, 203, 245, - }, - 30: []int64{1889, 2375, 2401, 2804, 2005, 1726, 1848, 10236, 7642, 7872, 8787, 8676, 10432, 16327, 3168, 1797, 2525, 1766, 2769, 1788, - 1770, 1909, 3236, 2649, 1853, 3209, 2727, 1711, 2510, 1865, 1802, 2296, 2000, 2470, 1920, 1817, 1960, 2477, 2940, 1641, - 3366, 2229, 1820, 2288, 1733, 1693, 2534, 1742, 2643, 1721, 2257, 1705, 1966, 4724, 1806, 3226, 2100, 1688, 2475, 1648, - 1920, 2305, 2364, 2465, 1997, 1649, 1950, 15409, 8946, 2036, 3316, 2566, 1886, 2273, 2041, 1687, 2450, 1777, 2788, 1725, - 1647, 5924, 2638, 2466, 1963, 3281, 2712, 1828, 2480, 1654, 1898, 2356, 1888, 2469, 1915, 1691, 1840, 7415, 2902, 1648, - }, - 327683: []int64{1000, 1000, 1100, 1100, 1100, 1100, 1100, 1300, 1500, 1700, 1900, 2100, 2400, 2900, 3000, 3000, 3000, 2900, 2900, 2900, - 2900, 2900, 2700, 2500, 2300, 2200, 2000, 1700, 1200, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, - 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1000, 1100, 1000, 1100, 1100, 1000, 1100, 1100, 1100, 1100, 1100, 1100, 1100, - 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1400, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, - 1700, 1800, 1500, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1100, 1200, 1200, 1200, - }, - 65627: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 655379: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 196622: []int64{20, 20, 20, 20, 21, 20, 20, 24, 20, 20, 22, 20, 20, 20, 20, 20, 20, 21, 20, 20, - 20, 20, 20, 21, 20, 20, 20, 20, 20, 21, 20, 20, 20, 20, 20, 22, 20, 24, 20, 20, - 20, 20, 21, 20, 20, 20, 20, 20, 21, 20, 20, 20, 20, 20, 21, 20, 20, 20, 21, 20, - 21, 20, 20, 20, 20, 20, 20, 25, 20, 20, 20, 20, 20, 21, 20, 20, 20, 20, 20, 21, - 20, 20, 20, 20, 20, 21, 21, 20, 20, 20, 19, 20, 21, 20, 20, 20, 20, 20, 21, 20, - }, - 65603: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 327685: []int64{1000, 1000, 1000, 1000, 1000, 1000, 1000, 1200, 1400, 1600, 1800, 2000, 2200, 2700, 2800, 2800, 2800, 2800, 2800, 2800, - 2800, 2800, 2600, 2400, 2200, 2000, 1800, 1600, 1100, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, - 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, - 1000, 1000, 1100, 1000, 1100, 1000, 1000, 1400, 1600, 1600, 1600, 1600, 1600, 1600, 1700, 1600, 1700, 1600, 1600, 1600, - 1600, 1800, 1400, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1000, 1200, 1200, 1200, - }, - 196615: []int64{338, 541, 275, 276, 274, 277, 338, 518, 546, 597, 677, 545, 606, 600, 305, 280, 542, 274, 351, 275, - 276, 275, 277, 276, 339, 391, 292, 275, 274, 276, 337, 541, 275, 275, 275, 276, 340, 277, 276, 276, - 389, 292, 337, 274, 276, 275, 542, 274, 339, 275, 274, 275, 278, 274, 340, 389, 293, 276, 274, 277, - 339, 543, 289, 274, 277, 275, 337, 280, 274, 274, 390, 290, 339, 276, 274, 277, 542, 276, 339, 275, - 274, 277, 277, 274, 340, 404, 275, 274, 277, 275, 338, 541, 274, 275, 275, 274, 340, 275, 276, 275, - }, - 327689: []int64{1300, 1700, 2000, 2200, 2200, 2200, 1200, 7000, 7000, 7000, 4800, 7500, 7500, 11300, 11300, 11300, 4800, 1800, 2300, 2300, - 2300, 1300, 2600, 2600, 2600, 2200, 3700, 3700, 3700, 1900, 1900, 1900, 1900, 1900, 1800, 1800, 1500, 2100, 2600, 2600, - 2600, 3700, 3700, 3700, 1800, 1800, 1700, 1700, 1900, 1900, 1900, 1500, 1500, 4100, 4100, 4100, 3700, 3700, 3700, 1800, - 1800, 1900, 1900, 1900, 1900, 1700, 1500, 11100, 11100, 11100, 10400, 4000, 4000, 4000, 1800, 1800, 2100, 2100, 2100, 2100, - 2100, 7600, 7600, 7600, 2000, 2000, 3800, 3800, 3800, 1900, 1900, 1900, 1900, 2000, 2000, 2000, 1500, 9100, 9100, 9100, - }, - 196609: []int64{584, 957, 478, 521, 477, 480, 584, 1029, 1020, 1261, 1453, 1337, 1533, 1861, 624, 539, 959, 477, 597, 478, - 494, 520, 496, 494, 585, 700, 508, 521, 477, 480, 583, 957, 478, 520, 478, 479, 600, 481, 479, 521, - 699, 507, 583, 477, 479, 520, 958, 478, 588, 479, 478, 520, 481, 478, 586, 698, 509, 521, 478, 480, - 585, 959, 492, 519, 481, 479, 583, 843, 478, 519, 699, 506, 585, 479, 478, 522, 958, 479, 585, 478, - 478, 522, 481, 478, 585, 724, 478, 518, 480, 479, 584, 958, 478, 520, 479, 478, 586, 478, 480, 520, - }, - 196627: []int64{240, 397, 197, 239, 197, 198, 239, 491, 467, 656, 767, 778, 921, 1255, 312, 253, 398, 197, 239, 197, - 212, 239, 198, 212, 240, 301, 204, 239, 197, 198, 240, 397, 197, 239, 197, 198, 254, 198, 198, 239, - 301, 204, 239, 197, 197, 239, 398, 198, 242, 198, 198, 239, 197, 198, 240, 301, 205, 239, 198, 198, - 240, 398, 198, 238, 198, 198, 239, 547, 198, 238, 301, 204, 240, 197, 198, 238, 398, 197, 239, 198, - 198, 239, 198, 197, 239, 307, 197, 238, 197, 197, 239, 398, 197, 239, 197, 197, 239, 198, 198, 239, - }, - 327691: []int64{1900, 1700, 2000, 2000, 2000, 2000, 2000, 2300, 3600, 3900, 3900, 4200, 4300, 6900, 6900, 6900, 6900, 6900, 6900, 6900, - 6900, 6900, 5200, 5200, 5200, 5200, 4800, 3700, 2200, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, - 1900, 1900, 1900, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1700, 1700, 1800, 1800, 1800, 1800, 1800, 1800, - 1800, 1900, 1900, 1900, 1900, 1900, 1900, 2500, 3700, 3700, 3700, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, - 4000, 6000, 2100, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, - }, - 196623: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 65549: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 327688: []int64{2300, 2300, 2300, 2300, 2300, 2400, 2400, 2400, 2400, 2200, 2100, 1900, 1800, 1700, 1800, 1800, 1800, 1800, 1800, 1800, - 1800, 1800, 1700, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, - 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1500, 1500, 1400, 1400, 1300, 1200, 1000, 1000, - 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1100, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, - 1200, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - }, - 65582: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 32: []int64{25, 24, 26, 25, 30, 27, 29, 68, 43, 51, 54, 65, 48, 46, 30, 24, 28, 26, 25, 29, - 24, 27, 35, 28, 28, 36, 34, 23, 32, 24, 22, 28, 20, 24, 25, 26, 27, 24, 26, 24, - 29, 25, 26, 23, 24, 29, 26, 25, 26, 22, 23, 26, 28, 22, 23, 25, 26, 24, 20, 25, - 31, 25, 19, 21, 22, 21, 30, 35, 32, 29, 27, 27, 24, 25, 24, 24, 23, 24, 25, 24, - 26, 26, 24, 23, 21, 30, 34, 23, 25, 25, 28, 29, 23, 22, 28, 24, 26, 33, 27, 23, - }, - 196616: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 26: []int64{217, 224, 259, 290, 282, 249, 216, 489, 724, 988, 925, 1006, 1057, 1432, 1233, 916, 342, 231, 273, 255, - 244, 208, 264, 269, 299, 239, 325, 290, 323, 235, 240, 228, 238, 259, 249, 239, 221, 242, 286, 273, - 247, 282, 293, 311, 229, 221, 218, 225, 260, 242, 254, 220, 229, 297, 330, 318, 300, 265, 296, 227, - 232, 217, 252, 276, 276, 240, 222, 617, 1020, 1019, 617, 300, 299, 315, 241, 230, 231, 229, 272, 249, - 236, 357, 392, 426, 276, 246, 305, 300, 326, 233, 231, 225, 242, 262, 248, 233, 213, 417, 449, 458, - }, - 31: []int64{43400, 44800, 51800, 58000, 56400, 49800, 43200, 97800, 144800, 197600, 185000, 201200, 211400, 286400, 246600, 183200, 68400, 46200, 54600, 51000, - 48800, 41600, 52800, 53800, 59800, 47800, 65000, 58000, 64600, 47000, 48000, 45600, 47600, 51800, 49800, 47800, 44200, 48400, 57200, 54600, - 49400, 56400, 58600, 62200, 45800, 44200, 43600, 45000, 52000, 48400, 50800, 44000, 45800, 59400, 66000, 63600, 60000, 53000, 59200, 45400, - 46400, 43400, 50400, 55200, 55200, 48000, 44400, 123400, 204000, 203800, 123400, 60000, 59800, 63000, 48200, 46000, 46200, 45800, 54400, 49800, - 47200, 71400, 78400, 85200, 55200, 49200, 61000, 60000, 65200, 46600, 46200, 45000, 48400, 52400, 49600, 46600, 42600, 83400, 89800, 91600, - }, - 25: []int64{50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - }, - 65553: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 65607: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 28: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 327681: []int64{1400, 1900, 2100, 2200, 2200, 2200, 1300, 7200, 7200, 7200, 5200, 8000, 8000, 11800, 11800, 11800, 5100, 1800, 2300, 2300, - 2300, 1400, 2700, 2700, 2700, 2300, 3800, 3800, 3800, 1900, 1900, 2100, 2100, 2100, 2000, 2000, 1600, 2100, 2700, 2700, - 2700, 4100, 4100, 4100, 1800, 1800, 1700, 1700, 1900, 1900, 1900, 1600, 1600, 4100, 4100, 4100, 3700, 3700, 3700, 1800, - 1800, 2000, 2000, 2000, 2000, 1800, 1600, 11400, 11400, 11400, 10900, 4000, 4000, 4000, 1800, 1800, 2200, 2200, 2200, 2200, - 2200, 7700, 7700, 7700, 2100, 2100, 3800, 3800, 3800, 1900, 1900, 2200, 2200, 2200, 2100, 2100, 1600, 9400, 9400, 9400, - }, - 262170: []int64{2861015, 2861045, 2861045, 2861075, 2861105, 2861105, 2861135, 2861165, 2861165, 2861195, 2861225, 2861225, 2861255, 2861285, 2861285, 2861315, 2861345, 2861345, 2861375, 2861405, - 2861405, 2861435, 2861465, 2861465, 2861495, 2861525, 2861525, 2861555, 2861585, 2861585, 2861615, 2861645, 2861645, 2861675, 2861705, 2861705, 2861735, 2861765, 2861765, 2861795, - 2861825, 2861825, 2861855, 2861885, 2861885, 2861915, 2861945, 2861945, 2861975, 2862005, 2862005, 2862035, 2862065, 2862065, 2862095, 2862125, 2862125, 2862155, 2862185, 2862185, - 2862215, 2862245, 2862245, 2862275, 2862305, 2862305, 2862335, 2862365, 2862365, 2862395, 2862425, 2862425, 2862455, 2862485, 2862485, 2862515, 2862545, 2862545, 2862575, 2862605, - 2862605, 2862635, 2862665, 2862665, 2862695, 2862725, 2862725, 2862755, 2862785, 2862785, 2862815, 2862845, 2862845, 2862875, 2862905, 2862905, 2862935, 2862965, 2862965, 2862995, - }, - 327686: []int64{2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2300, 2200, 2100, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, - 1900, 1900, 1800, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, - 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1600, 1600, 1500, 1400, 1400, 1300, 1100, 1100, - 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1200, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1400, 1400, 1400, - }, - 327690: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 327694: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 720898: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 65619: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 5: []int64{211, 261, 260, 307, 215, 184, 197, 1121, 849, 876, 961, 980, 1134, 1856, 347, 195, 276, 196, 308, 193, - 194, 211, 350, 281, 204, 341, 300, 184, 273, 203, 198, 251, 221, 267, 208, 200, 212, 269, 326, 179, - 352, 260, 202, 255, 192, 185, 266, 191, 297, 189, 248, 192, 214, 529, 198, 344, 240, 178, 274, 179, - 205, 256, 260, 273, 225, 183, 210, 1708, 1002, 224, 356, 294, 211, 258, 218, 186, 266, 186, 305, 187, - 179, 668, 287, 273, 218, 355, 305, 197, 271, 178, 208, 260, 208, 270, 208, 186, 204, 816, 317, 183, - }, - 12: []int64{1711, 2153, 2171, 2558, 1771, 1503, 1598, 9515, 7128, 7337, 8062, 8181, 9498, 15824, 2927, 1603, 2297, 1593, 2559, 1573, - 1578, 1731, 2944, 2338, 1647, 2816, 2499, 1511, 2280, 1659, 1629, 2050, 1832, 2202, 1711, 1617, 1743, 2257, 2729, 1455, - 2939, 2164, 1645, 2127, 1545, 1509, 2199, 1561, 2466, 1539, 2068, 1561, 1767, 4473, 1625, 2855, 1997, 1445, 2282, 1465, - 1664, 2104, 2168, 2258, 1855, 1498, 1716, 14725, 8581, 1833, 2979, 2449, 1722, 2119, 1846, 1524, 2224, 1522, 2550, 1509, - 1477, 5683, 2386, 2276, 1781, 2955, 2527, 1618, 2245, 1464, 1687, 2148, 1688, 2238, 1720, 1516, 1656, 6995, 2664, 1458, - }, - 131079: []int64{185, 221, 201, 190, 213, 180, 183, 3168, 675, 806, 641, 1307, 1853, 985, 283, 202, 244, 188, 189, 223, - 190, 193, 516, 150, 100, 135, 127, 92, 160, 103, 101, 160, 203, 188, 238, 195, 206, 1006, 215, 168, - 234, 202, 185, 238, 197, 195, 229, 199, 207, 244, 700, 179, 231, 155, 122, 100, 153, 107, 107, 140, - 107, 91, 145, 100, 120, 147, 99, 3340, 2031, 123, 101, 153, 103, 120, 152, 89, 123, 236, 194, 234, - 181, 397, 544, 197, 221, 227, 201, 188, 205, 234, 183, 192, 222, 183, 238, 189, 185, 2573, 269, 168, - }, - 29: []int64{9, 10, 10, 10, 11, 8, 10, 43, 34, 38, 34, 67, 101, 52, 14, 8, 10, 9, 16, 7, - 8, 7, 14, 9, 8, 11, 12, 6, 9, 8, 7, 8, 10, 8, 9, 10, 9, 11, 11, 7, - 10, 9, 7, 9, 10, 8, 12, 9, 10, 10, 13, 9, 9, 10, 8, 9, 9, 5, 8, 7, - 8, 8, 8, 7, 9, 6, 7, 27, 19, 7, 10, 9, 7, 8, 8, 6, 9, 8, 9, 11, - 9, 19, 15, 10, 10, 11, 13, 10, 9, 9, 7, 8, 9, 7, 8, 7, 8, 18, 10, 7, - }, - 65537: []int64{3500, 3500, 3500, 3199, 3199, 3199, 3699, 3699, 3699, 3799, 3799, 3799, 3799, 3799, 3799, 3500, 3500, 3500, 3299, 3299, - 3299, 3399, 3399, 3399, 3399, 3399, 3399, 3199, 3199, 3199, 3299, 3299, 3299, 3299, 3299, 3299, 3199, 3199, 3199, 3199, - 3199, 3199, 3399, 3399, 3399, 3399, 3399, 3399, 3099, 3099, 3099, 3299, 3299, 3299, 3799, 3799, 3799, 3099, 3099, 3099, - 3500, 3500, 3500, 3399, 3399, 3399, 3399, 3399, 3399, 3699, 3699, 3699, 3699, 3699, 3699, 4000, 4000, 4000, 3899, 3899, - 3899, 3500, 3500, 3500, 3299, 3299, 3299, 3599, 3599, 3599, 3299, 3299, 3299, 3199, 3199, 3199, 3199, 3199, 3199, 3099, - }, - 65635: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 65611: []int64{10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, - 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, - 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, - 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, - 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, - }, - 65622: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 14: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 65541: []int64{10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, - 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, - 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, - 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, - 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, - }, - 327687: []int64{10500, 10500, 10500, 10500, 10500, 10500, 10500, 10500, 10500, 9400, 6400, 4600, 4400, 4400, 4500, 4500, 4500, 4500, 4500, 4500, - 4500, 4500, 4200, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, - 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 3900, 3800, 2700, 2600, 2100, 1900, 1800, - 1800, 1900, 1900, 1900, 1900, 1900, 1900, 2000, 2100, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2100, 2100, - 2100, 2200, 2200, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2200, 2200, 2200, 2200, 2200, 2200, 2200, 2200, 2200, - }, - 65545: []int64{3670016, 3670016, 3670016, 3355440, 3355440, 3355440, 3879728, 3879728, 3879728, 3984588, 3984588, 3984588, 3984588, 3984588, 3984588, 3670016, 3670016, 3670016, 3460300, 3460300, - 3460300, 3565156, 3565156, 3565156, 3565156, 3565156, 3565156, 3355440, 3355440, 3355440, 3460300, 3460300, 3460300, 3460300, 3460300, 3460300, 3355440, 3355440, 3355440, 3355440, - 3355440, 3355440, 3565156, 3565156, 3565156, 3565156, 3565156, 3565156, 3250584, 3250584, 3250584, 3460300, 3460300, 3460300, 3984588, 3984588, 3984588, 3250584, 3250584, 3250584, - 3670016, 3670016, 3670016, 3565156, 3565156, 3565156, 3565156, 3565156, 3565156, 3879728, 3879728, 3879728, 3879728, 3879728, 3879728, 4194304, 4194304, 4194304, 4089444, 4089444, - 4089444, 3670016, 3670016, 3670016, 3460300, 3460300, 3460300, 3774872, 3774872, 3774872, 3460300, 3460300, 3460300, 3355440, 3355440, 3355440, 3355440, 3355440, 3355440, 3250584, - }, - 65586: []int64{57744, 57744, 57744, 57760, 57760, 57760, 57760, 57760, 57760, 57792, 57792, 57792, 57712, 57712, 57712, 57824, 57824, 57824, 57840, 57840, - 57840, 57856, 57856, 57856, 57776, 57776, 57776, 57888, 57888, 57888, 57696, 57696, 57696, 57712, 57712, 57712, 57824, 57824, 57824, 57856, - 57856, 57856, 57888, 57888, 57888, 57904, 57904, 57904, 57904, 57904, 57904, 57920, 57920, 57920, 57936, 57936, 57936, 57856, 57856, 57856, - 57968, 57968, 57872, 57984, 57984, 57984, 58000, 57904, 57904, 57824, 57824, 57824, 57840, 57840, 57840, 57760, 57760, 57760, 57776, 57888, - 57888, 57696, 57696, 57696, 57808, 57808, 57808, 57712, 57936, 57936, 57840, 57840, 57840, 57840, 57952, 57952, 57760, 57872, 57872, 57872, - }, - 65624: []int64{84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, - 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, - 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, - 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, - 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, - }, - 65634: []int64{57744, 57744, 57744, 57760, 57760, 57760, 57760, 57760, 57760, 57792, 57792, 57792, 57712, 57712, 57712, 57824, 57824, 57824, 57840, 57840, - 57840, 57856, 57856, 57856, 57776, 57776, 57776, 57888, 57888, 57888, 57696, 57696, 57696, 57712, 57712, 57712, 57824, 57824, 57824, 57856, - 57856, 57856, 57888, 57888, 57888, 57904, 57904, 57904, 57904, 57904, 57904, 57920, 57920, 57920, 57936, 57936, 57936, 57856, 57856, 57856, - 57968, 57968, 57872, 57984, 57984, 57984, 58000, 57904, 57904, 57824, 57824, 57824, 57840, 57840, 57840, 57760, 57760, 57760, 57776, 57888, - 57888, 57696, 57696, 57696, 57808, 57808, 57808, 57712, 57936, 57936, 57840, 57840, 57840, 57840, 57952, 57952, 57760, 57872, 57872, 57872, - }, - 65626: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 65629: []int64{10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, - 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, - 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, - 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, - 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, - }, - 65621: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 65623: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 327695: []int64{160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - }, - 13: []int64{37978, 37501, 37462, 37066, 37839, 38140, 38011, 29354, 32106, 31822, 30939, 30913, 29139, 23406, 36679, 38089, 37345, 38110, 37061, 38081, - 38120, 37966, 36595, 37207, 38021, 36634, 37109, 38187, 37335, 38029, 38098, 37573, 37880, 37394, 37941, 38053, 37909, 37384, 36931, 38248, - 36492, 37654, 38055, 37596, 38126, 38157, 37319, 38123, 37220, 38150, 37587, 38157, 37893, 32654, 38076, 36665, 37776, 38207, 37424, 38241, - 37941, 37582, 37542, 37439, 37894, 38254, 37917, 24375, 30881, 37834, 36563, 37313, 37999, 37605, 37848, 38206, 37440, 38100, 37089, 38127, - 38208, 33912, 37191, 37407, 37916, 36568, 37091, 38034, 37393, 38237, 37976, 37508, 38001, 37419, 37956, 38192, 38043, 32389, 36953, 38248, - }, - 327682: []int64{800, 900, 1000, 1200, 1100, 1000, 800, 1900, 2900, 4000, 3700, 4000, 4200, 5800, 5000, 3700, 1400, 900, 1100, 1000, - 1000, 800, 1000, 1100, 1200, 900, 1300, 1100, 1300, 900, 900, 900, 900, 1000, 1000, 900, 800, 900, 1100, 1100, - 1000, 1100, 1100, 1200, 900, 900, 900, 900, 1000, 1000, 1000, 900, 900, 1200, 1300, 1300, 1200, 1100, 1200, 900, - 900, 800, 1000, 1100, 1100, 900, 800, 2500, 4200, 4200, 2500, 1200, 1200, 1300, 1000, 900, 900, 900, 1100, 1000, - 900, 1400, 1600, 1700, 1100, 900, 1200, 1200, 1300, 900, 900, 900, 900, 1000, 1000, 900, 800, 1700, 1800, 1900, - }, - 65595: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 65618: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 196621: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 196620: []int64{53, 31, 40, 39, 38, 34, 42, 276, 414, 530, 550, 290, 179, 96, 38, 51, 46, 34, 40, 35, - 43, 38, 42, 31, 47, 47, 34, 43, 42, 39, 39, 36, 35, 42, 42, 41, 42, 47, 43, 41, - 36, 32, 40, 50, 36, 38, 43, 39, 36, 32, 35, 41, 45, 35, 36, 43, 42, 35, 43, 36, - 49, 41, 32, 51, 44, 45, 38, 49, 34, 47, 38, 42, 45, 49, 40, 28, 48, 34, 40, 34, - 47, 34, 48, 43, 33, 39, 34, 39, 39, 46, 36, 49, 38, 34, 33, 44, 40, 37, 51, 36, - }, - 24: []int64{83, 108, 82, 102, 104, 96, 105, 276, 193, 208, 261, 221, 312, 203, 105, 85, 105, 79, 92, 103, - 85, 85, 122, 120, 94, 151, 106, 87, 104, 91, 79, 106, 76, 104, 93, 89, 96, 93, 94, 84, - 150, 54, 83, 77, 85, 88, 130, 83, 84, 79, 82, 74, 89, 97, 81, 132, 65, 97, 82, 84, - 108, 89, 81, 86, 71, 71, 104, 225, 136, 94, 128, 72, 77, 78, 87, 79, 95, 100, 98, 90, - 83, 102, 99, 84, 82, 123, 100, 90, 98, 85, 95, 109, 74, 92, 91, 82, 86, 152, 98, 84, - }, - 65632: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 65633: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 131073: []int64{290, 313, 292, 310, 317, 245, 267, 3654, 1052, 1289, 909, 5095, 7491, 1402, 397, 253, 294, 220, 577, 245, - 210, 217, 600, 219, 122, 157, 175, 101, 229, 125, 113, 194, 340, 282, 306, 277, 259, 1095, 289, 192, - 280, 238, 227, 291, 301, 299, 341, 324, 299, 355, 884, 262, 316, 195, 176, 127, 183, 124, 137, 164, - 139, 111, 175, 117, 159, 163, 114, 3475, 2124, 150, 117, 187, 132, 166, 192, 111, 160, 282, 259, 421, - 304, 948, 840, 318, 352, 312, 408, 316, 263, 269, 201, 230, 248, 208, 281, 211, 202, 2690, 347, 189, - }, - 10: []int64{38008, 37528, 37491, 37093, 37873, 38166, 38033, 29492, 32179, 31921, 30994, 31066, 29370, 23484, 36708, 38107, 37359, 38126, 37127, 38097, - 38132, 37979, 36623, 37238, 38032, 36645, 37131, 38194, 37359, 38040, 38105, 37590, 37920, 37431, 37973, 38079, 37929, 37422, 36953, 38261, - 36518, 37666, 38075, 37616, 38170, 38191, 37362, 38155, 37250, 38189, 37648, 38186, 37925, 35180, 38096, 36675, 37795, 38213, 37441, 38251, - 37950, 37594, 37558, 37443, 37914, 38263, 37927, 24447, 30924, 37848, 36574, 37326, 38012, 37623, 37861, 38214, 37454, 38126, 37111, 38178, - 38246, 33970, 37262, 37439, 37949, 36598, 37151, 38072, 37418, 38245, 37985, 37527, 38015, 37441, 37972, 38208, 38054, 32457, 36985, 38260, - }, - 327696: []int64{6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, - 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, - 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, - 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, - 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, - }, - 196618: []int64{246, 416, 202, 245, 203, 203, 245, 510, 474, 664, 776, 792, 927, 1261, 318, 259, 416, 203, 245, 203, - 217, 245, 218, 218, 246, 309, 216, 245, 203, 203, 246, 415, 203, 245, 203, 203, 260, 204, 203, 245, - 309, 215, 245, 203, 203, 245, 416, 203, 248, 203, 203, 245, 203, 203, 246, 308, 216, 245, 203, 203, - 246, 416, 203, 244, 203, 203, 245, 562, 203, 244, 308, 215, 246, 203, 203, 244, 416, 203, 245, 203, - 203, 245, 204, 203, 245, 320, 203, 244, 203, 203, 245, 416, 203, 245, 203, 203, 245, 203, 203, 245, - }, - 65620: []int64{3145728, 3145728, 3145728, 2831152, 2831152, 2831152, 3145728, 3145728, 3145728, 3145728, 3145728, 3145728, 3145728, 3145728, 3145728, 2831152, 2831152, 2831152, 2621440, 2621440, - 2621440, 2516580, 2516580, 2516580, 2411724, 2411724, 2516580, 2516580, 2516580, 2516580, 2516580, 2516580, 2516580, 2726296, 2726296, 2726296, 2726296, 2726296, 2726296, 2411724, - 2411724, 2411724, 2621440, 2726296, 2726296, 2831152, 2831152, 2831152, 2411724, 2411724, 2411724, 2516580, 2516580, 2516580, 3040868, 3040868, 3040868, 2411724, 2621440, 2621440, - 2936012, 2936012, 2936012, 2936012, 2936012, 2936012, 2411724, 2411724, 2411724, 2936012, 2936012, 2936012, 2936012, 2936012, 2936012, 2621440, 2621440, 2621440, 2621440, 2621440, - 2621440, 2411724, 2411724, 2411724, 2306864, 2306864, 2306864, 2726296, 2726296, 2726296, 2306864, 2411724, 2621440, 2621440, 2621440, 2621440, 2411724, 2411724, 2411724, 2411724, - }, - 720896: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 65599: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 327693: []int64{10000, 10000, 10000, 10000, 10000, 10000, 10000, 10000, 10000, 9300, 6200, 4300, 4100, 4100, 4200, 4200, 4200, 4200, 4200, 4200, - 4200, 4200, 3900, 3800, 3800, 3800, 3800, 3800, 3800, 3800, 3800, 3800, 3800, 3800, 3800, 3800, 3800, 3800, 3800, 3800, - 3800, 3700, 3700, 3700, 3700, 3700, 3700, 3700, 3700, 3700, 3700, 3700, 3700, 3600, 3500, 2600, 2500, 1900, 1800, 1800, - 1800, 1800, 1900, 1800, 1800, 1800, 1800, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 2100, 2100, - 2100, 2100, 2100, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2100, 2100, 2000, - }, - 327692: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 196617: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 9: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 11: []int64{102, 98, 107, 101, 122, 108, 120, 272, 175, 206, 218, 262, 194, 187, 120, 97, 115, 108, 103, 117, - 97, 111, 140, 113, 115, 145, 140, 92, 130, 97, 90, 114, 80, 100, 103, 108, 109, 100, 106, 98, - 117, 103, 104, 95, 97, 116, 105, 101, 107, 91, 93, 108, 113, 92, 96, 101, 104, 97, 84, 102, - 127, 102, 80, 87, 91, 88, 123, 143, 128, 116, 109, 109, 98, 104, 99, 99, 95, 97, 101, 96, - 107, 105, 99, 94, 88, 121, 138, 95, 104, 100, 115, 118, 96, 90, 113, 98, 105, 133, 108, 94, - }, -} - -var HostMetricData = map[int32][]int64{ - 786434: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 786433: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 196621: []int64{12, 6, 12, 14, 14, 3, 9, 10, 8, 8, 7, 4, 13, 10, 2, 10, 12, 5, 8, 14, - 4, 10, 10, 5, 7, 13, 4, 9, 13, 6, 10, 11, 5, 5, 15, 6, 7, 8, 6, 11, - 11, 3, 6, 16, 4, 5, 9, 11, 9, 9, 6, 10, 14, 4, 4, 13, 11, 4, 14, 7, - 10, 12, 4, 7, 14, 9, 3, 12, 9, 8, 9, 9, 3, 14, 9, 4, 11, 9, 5, 12, - 10, 3, 13, 10, 4, 8, 12, 7, 10, 8, 4, 14, 11, 2, 8, 15, 7, 6, 8, 9, - }, - 65648: []int64{125627793408, 125627793408, 129922760704, 129922760704, 132070244352, 132070244352, 133143986176, 133143986176, 133143986176, 134217728000, 134217728000, 134217728000, 134217728000, 134217728000, 134217728000, 134217728000, 134217728000, 134217728000, 134217728000, 134217728000, - 134217728000, 134217728000, 134217728000, 134217728000, 134217728000, 134217728000, 134217728000, 134217728000, 135291469824, 135291469824, 135291469824, 135291469824, 135291469824, 135291469824, 135291469824, 135291469824, 135291469824, 135291469824, 135291469824, 135291469824, - 135291469824, 135291469824, 135291469824, 135291469824, 135291469824, 135291469824, 135291469824, 135291469824, 135291469824, 135291469824, 135291469824, 135291469824, 135291469824, 135291469824, 135291469824, 135291469824, 135291469824, 135291469824, 135291469824, 135291469824, - 136365211648, 136365211648, 136365211648, 136365211648, 136365211648, 136365211648, 136365211648, 136365211648, 136365211648, 136365211648, 136365211648, 136365211648, 136365211648, 136365211648, 136365211648, 136365211648, 136365211648, 136365211648, 136365211648, 136365211648, - 136365211648, 136365211648, 136365211648, 136365211648, 136365211648, 136365211648, 136365211648, 136365211648, 136365211648, 136365211648, 136365211648, 136365211648, 136365211648, 136365211648, 136365211648, 136365211648, 136365211648, 136365211648, 136365211648, 136365211648, - }, - 196617: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 720897: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 655379: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 786432: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 65580: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 65553: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 327688: []int64{3000, 2800, 2700, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2500, 2400, 2300, 2300, 2300, 2300, 2300, 2400, - 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2300, 2400, 2400, 2300, 2400, 2300, 2300, - 2300, 2300, 2300, 2300, 2200, 2200, 2100, 2000, 2000, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1900, 2000, - 2000, 2000, 2000, 2000, 1900, 2000, 1900, 1900, 1900, 1900, 1900, 1900, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, - 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2100, 2000, 2000, 2000, 2000, 2000, 2100, 2100, 2100, 2100, 2000, 2000, - }, - 65569: []int64{8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - }, - 65618: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 65599: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 65651: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 65623: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 65621: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 65545: []int64{5148100, 5152036, 5152036, 5068216, 5066748, 5066748, 4668288, 4667468, 4667532, 4415832, 4414556, 4414556, 4645244, 4643896, 4643832, 4476060, 4477808, 4477328, 4393504, 4394380, - 4394380, 4415352, 4414368, 4414368, 4582080, 4667244, 4709192, 4604396, 4601648, 4601236, 4223616, 4266064, 4308068, 4517720, 4517808, 4517808, 4895296, 4894212, 4894148, 4160148, - 4160652, 4160716, 4496260, 4497200, 4497260, 4895660, 4894568, 4894504, 4160500, 4160176, 4160176, 4789388, 4790264, 4790264, 4517628, 4559080, 4601088, 4601024, 4601032, 4601032, - 4831780, 4833388, 4833324, 4833324, 4831012, 4831076, 5313912, 5314316, 5314316, 4999740, 5003640, 5003544, 4584148, 4622376, 4622376, 4412724, 4580436, 4664320, 5146664, 5147684, - 5147684, 4833048, 4411892, 4453836, 4349040, 4394232, 4394168, 4394168, 4770512, 4770576, 4665656, 4202908, 4202908, 4832052, 5002572, 5002508, 4583080, 4498160, 4498224, 4707940, - }, - 5: []int64{1092, 1227, 1198, 1351, 2006, 529, 356, 461, 353, 508, 352, 354, 418, 546, 477, 362, 521, 476, 472, 467, - 369, 363, 431, 383, 462, 367, 360, 372, 469, 509, 343, 534, 408, 402, 416, 353, 346, 445, 390, 461, - 353, 411, 357, 437, 690, 353, 508, 424, 482, 434, 339, 363, 479, 426, 430, 387, 342, 406, 1875, 1155, - 393, 520, 501, 373, 419, 381, 366, 466, 353, 465, 344, 378, 822, 463, 435, 380, 575, 460, 481, 428, - 342, 409, 444, 367, 427, 374, 386, 366, 982, 485, 364, 584, 411, 372, 568, 374, 341, 454, 345, 445, - }, - 14: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 65622: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 65628: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 65537: []int64{5407, 5407, 5407, 5407, 5411, 5407, 5407, 5407, 5407, 5410, 5407, 5407, 5407, 5407, 5410, 5407, 5407, 5407, 5407, 5407, - 5407, 5407, 5407, 5407, 5407, 5407, 5407, 5407, 5409, 5406, 5406, 5406, 5406, 5409, 5406, 5406, 5406, 5406, 5407, 5406, - 5406, 5406, 5406, 5406, 5406, 5406, 5406, 5409, 5406, 5406, 5406, 5406, 5411, 5406, 5406, 5406, 5406, 5408, 5406, 5406, - 5406, 5406, 5406, 5406, 5406, 5406, 5411, 5407, 5407, 5407, 5407, 5412, 5407, 5407, 5407, 5407, 5409, 5407, 5407, 5407, - 5407, 5407, 5407, 5407, 5407, 5407, 5407, 5407, 5407, 5407, 5409, 5407, 5407, 5407, 5407, 5411, 5407, 5407, 5407, 5407, - }, - 65643: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 65649: []int64{35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, - 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, - 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, - 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, - 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, - }, - 11: []int64{442, 507, 594, 440, 424, 313, 293, 343, 303, 291, 355, 295, 320, 387, 294, 337, 379, 376, 322, 354, - 304, 291, 320, 275, 295, 307, 327, 336, 316, 316, 327, 311, 310, 310, 279, 324, 311, 311, 310, 297, - 280, 279, 313, 325, 283, 316, 303, 305, 340, 324, 308, 342, 322, 292, 292, 287, 278, 332, 401, 322, - 341, 342, 318, 296, 319, 300, 309, 337, 290, 313, 301, 327, 343, 293, 309, 272, 342, 365, 353, 315, - 308, 317, 362, 266, 291, 334, 325, 319, 352, 302, 333, 362, 308, 302, 315, 320, 291, 325, 337, 340, - }, - 24: []int64{201, 234, 226, 256, 192, 156, 146, 161, 149, 153, 164, 147, 150, 169, 162, 154, 186, 161, 153, 162, - 154, 143, 157, 143, 158, 153, 155, 155, 154, 149, 149, 180, 136, 152, 149, 150, 152, 171, 153, 146, - 149, 147, 144, 148, 146, 150, 168, 141, 161, 153, 152, 161, 153, 148, 146, 143, 145, 162, 200, 161, - 151, 169, 143, 145, 149, 150, 148, 158, 159, 152, 156, 152, 154, 155, 149, 148, 168, 157, 159, 158, - 150, 152, 166, 143, 151, 155, 148, 146, 180, 154, 151, 171, 152, 148, 204, 149, 148, 153, 149, 159, - }, - 196620: []int64{527, 555, 283, 168, 82, 35, 43, 38, 26, 32, 28, 39, 25, 32, 29, 37, 37, 29, 36, 28, - 35, 30, 26, 30, 35, 29, 37, 33, 34, 37, 31, 26, 27, 35, 35, 30, 31, 35, 33, 25, - 21, 32, 35, 29, 31, 31, 34, 31, 26, 34, 31, 39, 27, 28, 47, 31, 34, 34, 35, 27, - 37, 26, 38, 38, 35, 31, 25, 36, 25, 32, 25, 38, 32, 33, 34, 29, 28, 25, 34, 27, - 36, 33, 36, 28, 31, 25, 32, 33, 27, 44, 32, 36, 24, 38, 33, 24, 37, 28, 41, 27, - }, - 65586: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 524295: []int64{1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 10, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 65639: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 720898: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 196613: []int64{12359, 13847, 11628, 12730, 13984, 5095, 4435, 8374, 4211, 5373, 4141, 4239, 4236, 4183, 4305, 5360, 7261, 5387, 4253, 4244, - 4291, 5295, 8625, 4227, 4310, 4256, 4233, 5376, 4226, 4323, 4232, 6436, 4482, 5155, 4311, 4271, 4243, 8395, 4262, 5290, - 4203, 4287, 4263, 4216, 4202, 5297, 6340, 4482, 4240, 4213, 4195, 5192, 8610, 4389, 4234, 4243, 4247, 5229, 4940, 4221, - 4192, 6390, 4424, 5325, 4357, 4193, 4315, 8399, 4195, 5331, 4307, 4246, 4339, 4309, 4229, 5336, 6628, 4303, 4215, 4213, - 4307, 5349, 8433, 4218, 4244, 4217, 4311, 5227, 4256, 4254, 4257, 7483, 4206, 5174, 4195, 4301, 4249, 8539, 4218, 5243, - }, - 1: []int64{2371, 2663, 2602, 2933, 4356, 1149, 773, 1002, 766, 1103, 764, 769, 908, 1187, 1035, 787, 1132, 1034, 1025, 1014, - 801, 789, 937, 832, 1004, 796, 783, 808, 1018, 1105, 745, 1161, 886, 874, 904, 766, 752, 967, 847, 1002, - 766, 893, 775, 950, 1499, 766, 1102, 920, 1047, 943, 737, 790, 1040, 926, 935, 840, 744, 883, 4070, 2508, - 853, 1129, 1088, 809, 909, 828, 795, 1012, 766, 1010, 748, 820, 1784, 1005, 944, 825, 1248, 1000, 1045, 929, - 743, 888, 965, 796, 927, 813, 838, 795, 2131, 1053, 790, 1269, 892, 807, 1233, 813, 742, 985, 749, 967, - }, - 720896: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 65577: []int64{30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, - 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, - 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, - 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, - 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, 30618, - }, - 65620: []int64{4099524, 4103460, 4103460, 4061584, 4060116, 4060116, 3619708, 3618888, 3618952, 3451144, 3449868, 3449868, 3428896, 3427548, 3427484, 3196796, 3282432, 3386808, 3386872, 3387748, - 3387748, 3387748, 3386764, 3386764, 3764188, 3807412, 3807416, 3807480, 3804732, 3804320, 3196012, 3196516, 3238524, 3448176, 3553120, 3553120, 3909636, 3908552, 3908488, 3195456, - 3279848, 3279912, 3384768, 3385708, 3385768, 3826108, 3825016, 3824952, 3237752, 3447144, 3447144, 3887608, 3888484, 3888484, 3720712, 3887992, 3888056, 3363704, 3363712, 3363712, - 3762236, 3763844, 3763780, 3679896, 3677584, 3677648, 3573272, 3573676, 3573676, 3363964, 3367864, 3367768, 3116140, 3280200, 3280200, 3175404, 3343112, 3343112, 3804488, 3805508, - 3805508, 3386012, 3279432, 3489148, 3489212, 3492460, 3492396, 3282680, 3533196, 3533260, 3533196, 3196276, 3196276, 3615704, 3744280, 3744216, 3534504, 3491528, 3596448, 3596448, - }, - 65633: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 196625: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 196615: []int64{608, 692, 553, 618, 611, 312, 287, 556, 280, 360, 281, 282, 282, 281, 282, 347, 459, 357, 282, 280, - 282, 346, 555, 282, 281, 281, 282, 348, 283, 282, 282, 399, 299, 345, 281, 282, 281, 556, 281, 348, - 282, 281, 281, 284, 280, 348, 398, 300, 283, 280, 283, 347, 557, 296, 280, 284, 282, 345, 287, 281, - 280, 399, 297, 347, 282, 280, 283, 556, 282, 347, 282, 281, 283, 283, 281, 349, 414, 282, 280, 283, - 282, 347, 555, 281, 282, 282, 281, 348, 281, 282, 282, 470, 282, 347, 280, 282, 281, 558, 280, 347, - }, - 65630: []int64{961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, - 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, - 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, - 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, - 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, 961912, - }, - 65541: []int64{14892144, 14892144, 14892144, 14892144, 14892144, 14892144, 14892144, 14892144, 14892144, 14892148, 14892144, 14892132, 14892144, 14892144, 14892144, 14892144, 14892916, 14892208, 14892208, 14892208, - 14892196, 14892208, 14892208, 14892208, 14892196, 14892208, 14892208, 14892208, 14892208, 14890776, 14890304, 14890304, 14890304, 14890292, 14890304, 14890304, 14890304, 14890292, 14890304, 14890304, - 14890304, 14890304, 14890304, 14890304, 14890504, 14890304, 14890292, 14890304, 14890304, 14890304, 14890292, 14890304, 14890304, 14890304, 14890304, 14890304, 14890304, 14890304, 14890304, 14890292, - 14890304, 14890304, 14890304, 14890292, 14890304, 14890304, 14891100, 14893012, 14893012, 14893012, 14893012, 14892932, 14893000, 14893012, 14893012, 14893012, 14893000, 14893012, 14893012, 14893012, - 14893012, 14893012, 14893012, 14893012, 14893012, 14893000, 14893012, 14893012, 14893012, 14893012, 14893012, 14893012, 14893012, 14893012, 14893012, 14893012, 14893012, 14893012, 14893000, 14893012, - }, - 65647: []int64{268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, - 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, - 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, - 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, - 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, - }, - 131078: []int64{489, 365, 4041, 5640, 417, 114, 51, 51, 31, 388, 22, 19, 26, 83, 81, 28, 23, 48, 9, 68, - 22, 13, 156, 137, 94, 69, 83, 53, 88, 86, 31, 46, 36, 42, 52, 105, 103, 112, 124, 92, - 111, 183, 82, 87, 55, 60, 27, 29, 18, 30, 23, 32, 20, 31, 17, 38, 16, 15, 136, 104, - 34, 16, 37, 28, 45, 39, 23, 37, 46, 65, 187, 123, 551, 296, 134, 136, 86, 208, 128, 57, - 36, 18, 38, 25, 25, 43, 21, 16, 117, 91, 27, 51, 31, 13, 118, 23, 8, 18, 20, 10, - }, - 65632: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 65635: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 196609: []int64{1283, 1482, 1350, 1564, 1898, 633, 548, 966, 484, 607, 485, 501, 529, 486, 501, 595, 773, 571, 529, 484, - 487, 593, 965, 485, 528, 485, 486, 610, 487, 487, 529, 709, 509, 593, 484, 486, 528, 966, 485, 598, - 486, 485, 528, 488, 485, 596, 709, 511, 529, 485, 488, 594, 967, 500, 527, 488, 486, 593, 850, 485, - 526, 710, 508, 595, 487, 485, 530, 966, 486, 594, 486, 485, 530, 488, 485, 596, 730, 485, 526, 487, - 486, 594, 965, 485, 529, 486, 485, 595, 485, 487, 528, 791, 486, 594, 484, 486, 528, 967, 485, 593, - }, - 65582: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 26: []int64{1144, 1078, 1165, 1217, 1592, 1383, 1058, 480, 367, 409, 392, 381, 359, 415, 420, 435, 374, 462, 470, 503, - 416, 378, 368, 376, 396, 384, 374, 357, 381, 425, 411, 385, 421, 435, 450, 367, 358, 355, 362, 396, - 379, 391, 358, 367, 434, 465, 452, 436, 446, 477, 407, 369, 354, 390, 414, 413, 375, 358, 755, 1160, - 1158, 755, 437, 438, 454, 380, 367, 368, 367, 411, 388, 373, 493, 529, 564, 415, 384, 444, 486, 512, - 417, 368, 364, 380, 400, 384, 370, 349, 554, 587, 597, 394, 435, 430, 505, 427, 414, 346, 357, 398, - }, - 196616: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 65611: []int64{18083012, 18083020, 18082672, 18082320, 18096832, 18082492, 18082612, 18082524, 18082524, 18094536, 18082572, 18082408, 18082572, 18082524, 18091984, 18082412, 18083304, 18082412, 18082488, 18082560, - 18082556, 18082328, 18082328, 18082284, 18082288, 18082452, 18082412, 18082580, 18091268, 18081104, 18080724, 18080880, 18080836, 18088572, 18080924, 18080884, 18080764, 18080712, 18084604, 18080908, - 18080908, 18080864, 18080828, 18080828, 18081120, 18080800, 18080680, 18090892, 18080764, 18080764, 18080556, 18080876, 18095260, 18080768, 18080844, 18080848, 18080800, 18085776, 18080908, 18080480, - 18080556, 18080468, 18080424, 18080408, 18080532, 18080488, 18097776, 18083388, 18083248, 18083168, 18083548, 18099296, 18083164, 18083484, 18083440, 18083264, 18089172, 18083424, 18083264, 18083420, - 18083376, 18083632, 18083432, 18083388, 18083420, 18083300, 18083420, 18083340, 18083400, 18083356, 18091760, 18083240, 18083196, 18083212, 18083080, 18096856, 18083148, 18083208, 18083116, 18083196, - }, - 65557: []int64{26247692, 26247660, 26247884, 26247936, 26247912, 26247896, 26247884, 26248064, 26248056, 26247924, 26247980, 26248084, 26247812, 26247964, 26247916, 26247912, 26247996, 26248112, 26248032, 26248068, - 26248188, 26248088, 26247940, 26248096, 26248200, 26248040, 26248044, 26248052, 26248092, 26248084, 26248036, 26248056, 26248096, 26248080, 26248056, 26248052, 26248104, 26248164, 26248020, 26247996, - 26248016, 26248084, 26247964, 26247956, 26247908, 26247840, 26247932, 26247888, 26247920, 26247812, 26247900, 26247864, 26247840, 26247900, 26247916, 26247768, 26247876, 26247864, 26247660, 26248168, - 26248068, 26248104, 26248184, 26248232, 26248032, 26248144, 26247996, 26248160, 26248172, 26248112, 26248140, 26248100, 26248176, 26248064, 26248072, 26248076, 26248100, 26248084, 26248156, 26248076, - 26248180, 26248100, 26248064, 26248184, 26248076, 26248112, 26248100, 26248164, 26248012, 26248072, 26248100, 26247996, 26248064, 26248116, 26248068, 26248112, 26248084, 26248016, 26248144, 26248148, - }, - 327695: []int64{160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - }, - 27: []int64{0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 327690: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 65561: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 327685: []int64{2400, 2500, 2800, 3000, 3500, 3600, 3600, 3600, 3500, 3500, 3500, 3500, 3500, 3400, 3200, 3000, 2800, 2600, 2400, 1900, - 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, - 1700, 1700, 1700, 1700, 1700, 1800, 1700, 1700, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 2100, 2400, - 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2400, 2300, 2400, 2300, 2300, 2500, 2200, 1900, 1800, 1800, 1800, 1900, 1900, - 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1700, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, - }, - 23: []int64{114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, - 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, - 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, - 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, - 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, - }, - 327680: []int64{5200, 4900, 5300, 5600, 7200, 6200, 4800, 2300, 1800, 2000, 1900, 1800, 1700, 2000, 2000, 2100, 1800, 2200, 2300, 2400, - 2000, 1800, 1800, 1800, 1900, 1900, 1800, 1700, 1800, 2000, 2000, 1800, 2000, 2100, 2100, 1800, 1700, 1700, 1800, 1900, - 1800, 1900, 1700, 1800, 2100, 2200, 2100, 2100, 2100, 2200, 1900, 1800, 1700, 1900, 2000, 2000, 1800, 1700, 3500, 5200, - 5200, 3400, 2100, 2100, 2200, 1800, 1800, 1800, 1800, 2000, 1800, 1800, 2300, 2500, 2600, 2000, 1800, 2100, 2300, 2400, - 2000, 1800, 1800, 1800, 1900, 1800, 1800, 1700, 2600, 2700, 2800, 1900, 2100, 2100, 2400, 2000, 2000, 1700, 1700, 1900, - }, - 327682: []int64{4800, 4500, 4900, 5100, 6700, 5800, 4500, 2100, 1600, 1800, 1700, 1600, 1600, 1800, 1900, 1900, 1600, 2000, 2100, 2200, - 1800, 1600, 1600, 1700, 1800, 1700, 1600, 1500, 1600, 1800, 1800, 1700, 1800, 1800, 1900, 1600, 1600, 1600, 1600, 1800, - 1700, 1700, 1600, 1600, 1900, 2000, 2000, 1900, 2000, 2100, 1800, 1600, 1600, 1700, 1800, 1800, 1600, 1500, 3200, 4900, - 4900, 3200, 1900, 1900, 2000, 1700, 1600, 1600, 1600, 1800, 1700, 1600, 2200, 2300, 2400, 1800, 1600, 1900, 2100, 2200, - 1800, 1600, 1600, 1700, 1700, 1700, 1600, 1500, 2400, 2500, 2600, 1700, 1900, 1900, 2200, 1800, 1800, 1500, 1600, 1700, - }, - 13: []int64{30507, 29370, 29577, 28286, 22549, 35395, 36907, 35994, 36930, 35587, 36940, 36931, 36357, 35252, 35857, 36852, 35470, 35858, 35896, 35942, - 36795, 36838, 36254, 36675, 35972, 36812, 36872, 36765, 35918, 35578, 37015, 35361, 36446, 36500, 36382, 36939, 36991, 36129, 36612, 35981, - 36941, 36419, 36901, 36198, 34003, 36927, 35597, 36310, 35809, 36222, 37054, 36835, 35841, 36294, 36256, 36635, 37025, 36485, 23728, 29935, - 36589, 35483, 35638, 36758, 36361, 36690, 36815, 35951, 36933, 35958, 37004, 36727, 32864, 35963, 36220, 36703, 35029, 35973, 35809, 36283, - 37029, 36442, 36143, 36809, 36288, 36751, 36645, 36831, 31459, 35776, 36844, 34924, 36427, 36770, 35067, 36742, 37038, 36052, 37007, 36133, - }, - 327696: []int64{6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, - 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, - 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, - 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, - 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, - }, - 327684: []int64{5000, 5300, 5500, 5600, 8100, 8100, 8100, 8100, 8100, 8100, 8100, 8100, 8100, 6600, 6600, 6600, 6600, 6300, 5000, 3000, - 3000, 3000, 3000, 3000, 3000, 3000, 3000, 3000, 3000, 3100, 3000, 3000, 3000, 2800, 2800, 2800, 2800, 2800, 2800, 2800, - 2800, 2800, 2800, 2600, 2600, 2800, 2800, 2800, 2800, 2800, 2800, 2800, 2800, 2800, 2800, 2800, 2800, 2800, 3600, 4800, - 4800, 4800, 5200, 5200, 5200, 5200, 5200, 5200, 5200, 5200, 5200, 5200, 7100, 3300, 2900, 2900, 2900, 2900, 2900, 2900, - 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2800, 2900, 2900, 2900, 2900, 2900, 2800, 3100, 3100, 3100, 3100, 3100, 3100, - }, - 327691: []int64{4900, 4900, 5000, 5200, 7700, 7700, 7700, 7700, 7700, 7700, 7700, 7700, 7700, 6000, 6000, 6000, 6000, 5700, 4800, 2900, - 2800, 2800, 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2600, 2600, 2600, 2600, 2600, 2600, 2600, - 2600, 2600, 2600, 2500, 2500, 2600, 2600, 2600, 2700, 2700, 2700, 2700, 2700, 2700, 2700, 2700, 2700, 2700, 3300, 4600, - 4600, 4600, 5000, 5000, 5000, 5000, 5000, 5000, 5000, 5000, 5000, 5000, 6800, 3100, 2700, 2700, 2700, 2700, 2700, 2700, - 2700, 2700, 2700, 2700, 2700, 2700, 2700, 2600, 2700, 2800, 2800, 2800, 2800, 2600, 2900, 2900, 2900, 2900, 2900, 2900, - }, - 327692: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 65549: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 10: []int64{70023, 69041, 68994, 67423, 61621, 74879, 76270, 75520, 76292, 75277, 76212, 76328, 75767, 74735, 75448, 76202, 74760, 75242, 75240, 75507, - 76158, 76286, 75747, 76105, 75603, 76122, 76222, 76086, 75538, 75135, 76414, 74674, 75772, 76192, 75750, 76329, 76346, 75522, 76299, 75414, - 76309, 75807, 76331, 76055, 73442, 76254, 74847, 75925, 75240, 75555, 76395, 76106, 75712, 75715, 75632, 76070, 76416, 76057, 62685, 69153, - 75966, 74759, 75466, 76168, 75749, 76032, 76373, 75576, 76225, 75289, 76308, 76384, 72178, 75402, 75594, 76098, 74719, 75249, 75086, 75570, - 76411, 76151, 75617, 76196, 75625, 76105, 76373, 76233, 70604, 75121, 76386, 74489, 75778, 76169, 73856, 76442, 76439, 75576, 76432, 75432, - }, - 196623: []int64{0, 5, 4, 5, 2, 0, 1, 4, 3, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 4, - 2, 0, 0, 0, 4, 6, 2, 3, 8, 0, 0, 4, 0, 3, 0, 0, 0, 4, 0, 3, - 0, 0, 0, 4, 0, 2, 7, 1, 0, 5, 0, 1, 2, 0, 0, 4, 0, 0, 10, 0, - 0, 4, 0, 0, 3, 0, 0, 9, 1, 1, 4, 0, 0, 4, 0, 0, 1, 1, 0, 4, - 0, 0, 0, 3, 0, 4, 0, 0, 3, 5, 1, 4, 1, 0, 0, 2, 1, 4, 0, 0, - }, - 65646: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 262144: []int64{2953795, 2953815, 2953835, 2953855, 2953875, 2953895, 2953915, 2953935, 2953955, 2953975, 2953995, 2954015, 2954035, 2954055, 2954075, 2954095, 2954115, 2954135, 2954155, 2954175, - 2954195, 2954215, 2954235, 2954255, 2954275, 2954295, 2954315, 2954335, 2954355, 2954375, 2954395, 2954415, 2954435, 2954455, 2954475, 2954495, 2954515, 2954535, 2954555, 2954575, - 2954595, 2954615, 2954635, 2954655, 2954675, 2954695, 2954715, 2954735, 2954755, 2954775, 2954795, 2954815, 2954835, 2954855, 2954875, 2954895, 2954915, 2954935, 2954955, 2954975, - 2954995, 2955015, 2955035, 2955055, 2955075, 2955095, 2955115, 2955135, 2955155, 2955175, 2955195, 2955215, 2955235, 2955255, 2955275, 2955295, 2955315, 2955335, 2955355, 2955375, - 2955395, 2955415, 2955435, 2955455, 2955475, 2955495, 2955515, 2955535, 2955555, 2955575, 2955595, 2955615, 2955635, 2955655, 2955675, 2955695, 2955715, 2955735, 2955755, 2955775, - }, - 8: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 131079: []int64{807, 777, 1425, 1861, 991, 291, 217, 255, 197, 198, 231, 200, 611, 546, 162, 101, 143, 145, 102, 168, - 126, 113, 166, 213, 189, 245, 205, 206, 1023, 228, 170, 242, 219, 193, 245, 207, 196, 236, 209, 212, - 252, 710, 180, 253, 167, 124, 108, 171, 117, 122, 152, 112, 98, 156, 107, 127, 156, 100, 3353, 2054, - 129, 119, 173, 110, 130, 163, 90, 131, 247, 198, 244, 191, 398, 575, 209, 230, 234, 218, 203, 224, - 251, 188, 199, 233, 185, 250, 199, 186, 2582, 315, 176, 231, 266, 201, 256, 244, 190, 111, 158, 106, - }, - 131073: []int64{1296, 1143, 5467, 7501, 1409, 406, 269, 306, 228, 587, 254, 220, 638, 630, 243, 130, 167, 194, 111, 237, - 148, 126, 323, 350, 283, 315, 288, 259, 1112, 315, 202, 288, 255, 236, 298, 312, 299, 348, 334, 305, - 364, 894, 263, 340, 222, 184, 136, 200, 136, 153, 175, 144, 119, 187, 124, 166, 172, 116, 3489, 2158, - 163, 135, 210, 138, 175, 203, 114, 168, 293, 263, 431, 315, 949, 871, 343, 366, 321, 427, 331, 281, - 287, 206, 237, 258, 211, 294, 221, 203, 2699, 406, 203, 283, 297, 215, 374, 267, 199, 129, 179, 116, - }, - 65589: []int64{131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, - 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, - 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, - 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, - 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, 131, - }, - 65625: []int64{25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, - 25763, 25763, 25763, 25763, 25764, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, - 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, - 25763, 25763, 25763, 25764, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, - 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, 25763, - }, - 196612: []int64{16073, 18141, 16872, 19194, 25039, 6049, 4761, 7618, 3957, 4738, 3863, 4232, 4595, 3991, 4294, 4812, 7141, 4722, 4705, 3940, - 4134, 4807, 7470, 3830, 4575, 3872, 3968, 5070, 3991, 4036, 4699, 6582, 4164, 4810, 3901, 3809, 4601, 7575, 4003, 4657, - 4015, 4071, 4631, 3860, 4051, 4897, 6622, 4210, 4588, 4105, 4011, 4776, 7653, 3964, 4498, 4075, 4043, 4714, 9240, 3980, - 4452, 6584, 4162, 4865, 3995, 3999, 4528, 7621, 3956, 4759, 3999, 4062, 4604, 4019, 3924, 4620, 6589, 3762, 4330, 3922, - 3887, 4735, 7568, 3912, 4638, 3918, 3941, 4691, 3897, 4093, 4584, 7166, 3790, 4669, 3988, 3857, 4563, 7553, 3992, 4641, - }, - 196619: []int64{608, 692, 553, 618, 611, 312, 287, 556, 280, 360, 281, 282, 282, 281, 282, 347, 459, 357, 282, 280, - 282, 346, 555, 282, 281, 281, 282, 348, 283, 282, 282, 399, 299, 345, 281, 282, 281, 556, 281, 348, - 282, 281, 281, 284, 280, 348, 398, 300, 283, 280, 283, 347, 557, 296, 280, 284, 282, 345, 287, 281, - 280, 399, 297, 347, 282, 280, 283, 556, 282, 347, 282, 281, 283, 283, 281, 349, 414, 282, 280, 283, - 282, 347, 555, 281, 282, 282, 281, 348, 281, 282, 282, 470, 282, 347, 280, 282, 281, 558, 280, 347, - }, - 196622: []int64{65, 61, 48, 47, 49, 52, 55, 36, 53, 43, 38, 36, 60, 53, 67, 50, 53, 59, 58, 39, - 70, 71, 48, 62, 86, 46, 47, 71, 40, 44, 62, 42, 37, 77, 57, 39, 53, 45, 48, 72, - 40, 49, 82, 55, 45, 78, 69, 55, 65, 58, 91, 59, 67, 45, 67, 51, 50, 46, 57, 48, - 54, 41, 40, 47, 71, 39, 53, 39, 46, 52, 55, 41, 51, 61, 38, 51, 60, 53, 54, 37, - 37, 43, 42, 53, 62, 40, 40, 43, 48, 55, 51, 52, 39, 43, 40, 76, 52, 38, 62, 44, - }, - 65603: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 196626: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 327689: []int64{8200, 5600, 9100, 9100, 12000, 12000, 12000, 5700, 2700, 2800, 2800, 2800, 2000, 3600, 3600, 3600, 3000, 4800, 4800, 4800, - 2900, 2600, 2900, 2900, 2900, 2400, 2400, 2200, 2900, 3400, 3400, 3400, 4800, 4800, 4800, 2600, 2600, 2700, 2700, 2700, - 2500, 2500, 2300, 2300, 4800, 4800, 4800, 4600, 4600, 4600, 2700, 2500, 2900, 2900, 2900, 2600, 2300, 2200, 11900, 11900, - 11900, 11300, 5000, 5000, 5000, 2600, 2600, 3100, 3100, 3100, 2700, 2700, 8200, 8200, 8200, 2700, 2700, 4700, 4700, 4700, - 2800, 2600, 2900, 2900, 2900, 2600, 2600, 2200, 9900, 9900, 9900, 2900, 4700, 4700, 5100, 5100, 5100, 3000, 3000, 3000, - }, - 16: []int64{1450, 1649, 1581, 1756, 2475, 782, 586, 716, 585, 756, 591, 582, 652, 816, 737, 597, 810, 731, 710, 720, - 604, 594, 686, 614, 715, 606, 595, 611, 711, 756, 571, 803, 651, 642, 653, 580, 580, 710, 629, 698, - 583, 647, 579, 673, 943, 586, 781, 651, 736, 674, 570, 603, 731, 667, 669, 612, 570, 676, 2294, 1460, - 626, 790, 736, 602, 651, 614, 597, 722, 596, 709, 580, 620, 1087, 713, 672, 611, 846, 704, 728, 672, - 572, 647, 693, 602, 666, 605, 615, 599, 1292, 736, 596, 864, 650, 605, 889, 610, 569, 703, 571, 688, - }, - 196624: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 65573: []int64{14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, - 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, - 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, - 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, - 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, - }, - 458759: []int64{1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 10, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 327681: []int64{8600, 6200, 9900, 9900, 12600, 12600, 12600, 6300, 2900, 3000, 3000, 3000, 2200, 3800, 3800, 3800, 3200, 5000, 5000, 5000, - 3000, 2800, 3200, 3200, 3200, 2600, 2600, 2400, 3100, 3600, 3600, 3600, 5300, 5300, 5300, 2800, 2800, 2900, 2900, 2900, - 2600, 2600, 2400, 2400, 4900, 4900, 4900, 4800, 4800, 4800, 2800, 2700, 3100, 3100, 3100, 2800, 2400, 2500, 12200, 12200, - 12200, 12000, 5200, 5200, 5200, 2700, 2700, 3300, 3300, 3300, 2900, 2900, 8400, 8400, 8400, 2900, 2900, 5000, 5000, 5000, - 2900, 2800, 3400, 3400, 3400, 2800, 2800, 2400, 10300, 10300, 10300, 3100, 4900, 4900, 5600, 5600, 5600, 3300, 3300, 3300, - }, - 131095: []int64{1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 15, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 65650: []int64{5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, - }, - 65615: []int64{1747308, 1747308, 1746928, 1746884, 1746996, 1746840, 1746928, 1746840, 1746840, 1747020, 1746840, 1746704, 1746884, 1746840, 1746840, 1746884, 1746976, 1746708, 1746752, 1746752, - 1746708, 1746752, 1746752, 1746708, 1746616, 1746752, 1746708, 1746752, 1746752, 1746708, 1746752, 1746796, 1746752, 1746796, 1746796, 1746752, 1746796, 1746660, 1746752, 1746796, - 1746796, 1746752, 1746796, 1746796, 1746884, 1746928, 1746836, 1746928, 1746972, 1746972, 1746792, 1746972, 1746972, 1746928, 1746972, 1746972, 1746928, 1746972, 1746972, 1746572, - 1746752, 1746708, 1746664, 1746664, 1746708, 1746664, 1746912, 1746708, 1746664, 1746664, 1746708, 1746664, 1746528, 1746708, 1746664, 1746664, 1746752, 1746708, 1746708, 1746752, - 1746708, 1746708, 1746752, 1746708, 1746708, 1746616, 1746708, 1746708, 1746752, 1746708, 1746708, 1746752, 1746708, 1746708, 1746752, 1746708, 1746708, 1746752, 1746616, 1746708, - }, - 327694: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 327683: []int64{2600, 2800, 3000, 3200, 3800, 3900, 3900, 3900, 3800, 3800, 3800, 3800, 3900, 3600, 3400, 3200, 3000, 2800, 2600, 2100, - 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 1900, 2000, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, - 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 2000, 1900, 2000, 1900, 1900, 2300, 2600, - 2600, 2600, 2600, 2600, 2500, 2600, 2600, 2600, 2500, 2500, 2500, 2500, 2700, 2300, 2000, 2000, 2000, 2000, 2100, 2100, - 2100, 2100, 2100, 2100, 2100, 2100, 2100, 1900, 2100, 2100, 2100, 2100, 2100, 2000, 2100, 2100, 2100, 2100, 2100, 2100, - }, - 327693: []int64{10000, 6800, 5200, 4900, 4900, 4900, 4900, 4900, 4900, 4900, 4900, 4900, 4900, 4900, 4700, 4700, 4700, 4700, 4700, 4700, - 4700, 4700, 4700, 4700, 4700, 4700, 4700, 4700, 4700, 4700, 4700, 4700, 4700, 4700, 4700, 4700, 4700, 4700, 4700, 4700, - 4700, 4700, 4700, 4500, 4400, 4200, 3600, 3300, 2900, 2700, 2700, 2700, 2700, 2700, 2600, 2600, 2600, 2600, 2700, 2900, - 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2700, 2700, 2700, 2700, 2800, 2800, - 2800, 2800, 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2900, 2900, - }, - 12: []int64{9486, 10654, 10409, 11735, 17425, 4598, 3092, 4011, 3066, 4413, 3059, 3076, 3635, 4749, 4143, 3150, 4531, 4138, 4101, 4058, - 3206, 3159, 3748, 3332, 4018, 3188, 3132, 3236, 4073, 4423, 2984, 4644, 3548, 3498, 3617, 3065, 3011, 3870, 3391, 4010, - 3066, 3575, 3102, 3801, 5998, 3066, 4411, 3683, 4191, 3775, 2950, 3160, 4163, 3706, 3741, 3364, 2977, 3533, 16280, 10036, - 3415, 4519, 4354, 3240, 3639, 3314, 3183, 4051, 3065, 4041, 2994, 3283, 7138, 4024, 3780, 3302, 4995, 4000, 4182, 3719, - 2974, 3554, 3863, 3186, 3710, 3254, 3354, 3184, 8526, 4216, 3161, 5076, 3568, 3231, 4932, 3254, 2968, 3942, 2997, 3871, - }, - 327687: []int64{10200, 7100, 5600, 5300, 5300, 5500, 5500, 5500, 5500, 5500, 5500, 5500, 5500, 5200, 4900, 4900, 4900, 5000, 5000, 5000, - 5000, 5000, 5000, 5000, 5000, 5000, 5000, 5000, 5000, 5000, 5000, 5000, 5000, 5000, 5000, 5000, 5000, 5000, 5000, 5000, - 5000, 5000, 5000, 4800, 4800, 4700, 3800, 3600, 3000, 2900, 2800, 2800, 2800, 2800, 2800, 2800, 2800, 2800, 2900, 3100, - 3100, 3100, 3100, 3100, 3100, 3100, 3100, 3100, 3100, 3100, 3100, 3100, 3100, 3100, 2900, 2900, 2900, 2900, 2900, 2900, - 2900, 2900, 3100, 3100, 3100, 3100, 3100, 3100, 3100, 3100, 3100, 3100, 3100, 3100, 3100, 3100, 3100, 3100, 3100, 3100, - }, - 65619: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 32: []int64{55, 63, 74, 55, 53, 39, 36, 42, 37, 36, 44, 36, 40, 48, 36, 42, 47, 47, 40, 44, - 38, 36, 40, 34, 36, 38, 40, 42, 39, 39, 40, 38, 38, 38, 34, 40, 38, 38, 38, 37, - 35, 34, 39, 40, 35, 39, 37, 38, 42, 40, 38, 42, 40, 36, 36, 35, 34, 41, 50, 40, - 42, 42, 39, 37, 39, 37, 38, 42, 36, 39, 37, 40, 42, 36, 38, 34, 42, 45, 44, 39, - 38, 39, 45, 33, 36, 41, 40, 39, 44, 37, 41, 45, 38, 37, 39, 40, 36, 40, 42, 42, - }, - 196618: []int64{674, 789, 796, 945, 1287, 321, 261, 410, 203, 247, 203, 218, 246, 204, 219, 247, 314, 214, 247, 203, - 204, 247, 409, 203, 246, 203, 204, 262, 204, 204, 246, 310, 210, 247, 203, 203, 246, 409, 204, 250, - 204, 204, 246, 204, 204, 247, 310, 211, 246, 204, 204, 247, 410, 204, 246, 204, 204, 247, 563, 204, - 246, 310, 210, 247, 204, 204, 246, 409, 204, 247, 204, 204, 246, 204, 204, 247, 316, 203, 246, 203, - 203, 247, 409, 204, 246, 203, 203, 247, 204, 204, 246, 320, 203, 247, 204, 203, 247, 409, 204, 246, - }, - 196614: []int64{674, 789, 796, 945, 1287, 321, 261, 410, 203, 247, 203, 218, 246, 204, 219, 247, 314, 214, 247, 203, - 204, 247, 409, 203, 246, 203, 204, 262, 204, 204, 246, 310, 210, 247, 203, 203, 246, 409, 204, 250, - 204, 204, 246, 204, 204, 247, 310, 211, 246, 204, 204, 247, 410, 204, 246, 204, 204, 247, 563, 204, - 246, 310, 210, 247, 204, 204, 246, 409, 204, 247, 204, 204, 246, 204, 204, 247, 316, 203, 246, 203, - 203, 247, 409, 204, 246, 203, 203, 247, 204, 204, 246, 320, 203, 247, 204, 203, 247, 409, 204, 246, - }, - 20: []int64{2651, 2993, 2857, 3209, 4556, 1453, 1097, 1315, 1091, 1417, 1095, 1082, 1225, 1503, 1371, 1105, 1499, 1360, 1335, 1345, - 1119, 1109, 1261, 1150, 1332, 1129, 1105, 1138, 1324, 1407, 1063, 1485, 1207, 1186, 1221, 1078, 1082, 1317, 1174, 1316, - 1090, 1213, 1084, 1259, 1786, 1093, 1448, 1209, 1372, 1262, 1070, 1118, 1359, 1244, 1247, 1152, 1066, 1215, 4266, 2733, - 1167, 1466, 1366, 1122, 1225, 1146, 1113, 1333, 1104, 1325, 1076, 1151, 2059, 1314, 1256, 1142, 1566, 1299, 1363, 1257, - 1063, 1205, 1289, 1123, 1250, 1128, 1155, 1119, 2410, 1370, 1113, 1592, 1193, 1122, 1559, 1138, 1063, 1292, 1069, 1281, - }, - 327686: []int64{3200, 3000, 2900, 2700, 2700, 2800, 2800, 2800, 2800, 2800, 2800, 2800, 2800, 2700, 2600, 2600, 2600, 2600, 2600, 2600, - 2600, 2600, 2600, 2600, 2600, 2600, 2600, 2600, 2600, 2600, 2600, 2600, 2600, 2600, 2600, 2600, 2600, 2600, 2600, 2600, - 2600, 2600, 2600, 2500, 2400, 2400, 2300, 2200, 2100, 2000, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 2000, 2100, - 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2200, 2200, 2200, 2200, 2200, 2200, 2200, 2200, - 2200, 2200, 2200, 2200, 2200, 2200, 2200, 2200, 2200, 2200, 2200, 2200, 2200, 2200, 2200, 2200, 2200, 2200, 2200, 2200, - }, -} - -var ResourcePoolMetricData = map[int32][]int64{ - 65586: []int64{100088, 100088, 100088, 100120, 100136, 100136, 100088, 100088, 100088, 99928, 100040, 100040, 100072, 100184, 100184, 99912, 99912, 99912, 100040, 100040, - 100040, 100168, 100168, 100168, 100216, 100328, 100328, 100376, 100376, 100376, 100216, 100328, 100328, 100360, 100360, 100360, 100280, 100280, 100280, 100120, - 100120, 100120, 100040, 100040, 100040, 100152, 100184, 100088, 100120, 100120, 100120, 100056, 100184, 100184, 100104, 100008, 100008, 99960, 100072, 100072, - 100104, 100216, 100120, 100136, 100376, 100376, 100088, 100312, 100312, 100328, 100248, 100248, 100152, 100200, 100200, 100104, 100216, 100216, 100216, 100248, - 100248, 100056, 100184, 100184, 100184, 100024, 100024, 100024, 99864, 99864, 99976, 99992, 100104, 99912, 99944, 99944, 99752, 100008, 100008, 99912, - }, - 65582: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 65591: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 65545: []int64{4675424, 4674976, 4674976, 4423348, 4422168, 4422168, 4652808, 4652812, 4652812, 4484880, 4484988, 4484988, 4401132, 4401248, 4401248, 4421948, 4421944, 4421944, 4589848, 4673740, - 4715684, 4610952, 4610976, 4610976, 4233536, 4275568, 4317508, 4527272, 4527268, 4527268, 4904596, 4904704, 4904704, 4170736, 4170740, 4170740, 4506204, 4506196, 4506196, 4904496, - 4904508, 4904508, 4170424, 4170416, 4170416, 4799676, 4799708, 4799612, 4527008, 4568956, 4610900, 4610836, 4610956, 4610956, 4841560, 4841508, 4841508, 4841460, 4841536, 4841536, - 5323920, 5324036, 5323940, 5009380, 5009608, 5009608, 4589892, 4632056, 4632056, 4422356, 4590056, 4673940, 5156188, 5156236, 5156236, 4841568, 4422256, 4464200, 4359340, 4401308, - 4401308, 4401116, 4778724, 4778724, 4673868, 4212344, 4212344, 4841488, 5009132, 5009132, 4589816, 4505964, 4506076, 4715600, 4547796, 4547796, 4337888, 4338148, 4338148, 4233192, - }, - 65553: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 65541: []int64{14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, - 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, - 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, - 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, - 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, 14712240, - }, - 65549: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 5: []int64{311, 393, 308, 427, 310, 310, 370, 475, 399, 319, 460, 422, 426, 389, 327, 315, 372, 336, 386, 326, - 316, 328, 391, 446, 296, 489, 366, 319, 372, 308, 302, 386, 304, 417, 309, 367, 311, 340, 646, 307, - 467, 357, 422, 391, 296, 324, 376, 378, 389, 342, 300, 328, 1836, 1120, 349, 471, 419, 327, 374, 338, - 300, 386, 312, 422, 304, 296, 783, 409, 389, 337, 486, 421, 438, 389, 293, 328, 381, 324, 387, 328, - 302, 323, 937, 437, 301, 503, 369, 327, 539, 295, 297, 392, 293, 403, 323, 341, 337, 506, 397, 318, - }, -} diff --git a/vendor/github.com/vmware/govmomi/simulator/esx/resource_pool.go b/vendor/github.com/vmware/govmomi/simulator/esx/resource_pool.go deleted file mode 100644 index 90382dd326b..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/esx/resource_pool.go +++ /dev/null @@ -1,165 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package esx - -import ( - "time" - - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/types" -) - -// ResourcePool is the default template for ResourcePool properties. -// Capture method: -// govc pool.info "*" -dump -var ResourcePool = mo.ResourcePool{ - ManagedEntity: mo.ManagedEntity{ - ExtensibleManagedObject: mo.ExtensibleManagedObject{ - Self: types.ManagedObjectReference{Type: "ResourcePool", Value: "ha-root-pool"}, - Value: nil, - AvailableField: nil, - }, - Parent: &types.ManagedObjectReference{Type: "ComputeResource", Value: "ha-compute-res"}, - CustomValue: nil, - OverallStatus: "green", - ConfigStatus: "green", - ConfigIssue: nil, - EffectiveRole: []int32{-1}, - Permission: nil, - Name: "Resources", - DisabledMethod: []string{"CreateVApp", "CreateChildVM_Task"}, - RecentTask: nil, - DeclaredAlarmState: nil, - TriggeredAlarmState: nil, - AlarmActionsEnabled: (*bool)(nil), - Tag: nil, - }, - Summary: &types.ResourcePoolSummary{ - DynamicData: types.DynamicData{}, - Name: "Resources", - Config: types.ResourceConfigSpec{ - DynamicData: types.DynamicData{}, - Entity: &types.ManagedObjectReference{Type: "ResourcePool", Value: "ha-root-pool"}, - ChangeVersion: "", - LastModified: (*time.Time)(nil), - CpuAllocation: types.ResourceAllocationInfo{ - DynamicData: types.DynamicData{}, - Reservation: types.NewInt64(4121), - ExpandableReservation: types.NewBool(false), - Limit: types.NewInt64(4121), - Shares: &types.SharesInfo{ - DynamicData: types.DynamicData{}, - Shares: 9000, - Level: "custom", - }, - OverheadLimit: nil, - }, - MemoryAllocation: types.ResourceAllocationInfo{ - DynamicData: types.DynamicData{}, - Reservation: types.NewInt64(961), - ExpandableReservation: types.NewBool(false), - Limit: types.NewInt64(961), - Shares: &types.SharesInfo{ - DynamicData: types.DynamicData{}, - Shares: 9000, - Level: "custom", - }, - OverheadLimit: nil, - }, - }, - Runtime: types.ResourcePoolRuntimeInfo{ - DynamicData: types.DynamicData{}, - Memory: types.ResourcePoolResourceUsage{ - DynamicData: types.DynamicData{}, - ReservationUsed: 0, - ReservationUsedForVm: 0, - UnreservedForPool: 1007681536, - UnreservedForVm: 1007681536, - OverallUsage: 0, - MaxUsage: 1007681536, - }, - Cpu: types.ResourcePoolResourceUsage{ - DynamicData: types.DynamicData{}, - ReservationUsed: 0, - ReservationUsedForVm: 0, - UnreservedForPool: 4121, - UnreservedForVm: 4121, - OverallUsage: 0, - MaxUsage: 4121, - }, - OverallStatus: "green", - }, - QuickStats: (*types.ResourcePoolQuickStats)(nil), - ConfiguredMemoryMB: 0, - }, - Runtime: types.ResourcePoolRuntimeInfo{ - DynamicData: types.DynamicData{}, - Memory: types.ResourcePoolResourceUsage{ - DynamicData: types.DynamicData{}, - ReservationUsed: 0, - ReservationUsedForVm: 0, - UnreservedForPool: 1007681536, - UnreservedForVm: 1007681536, - OverallUsage: 0, - MaxUsage: 1007681536, - }, - Cpu: types.ResourcePoolResourceUsage{ - DynamicData: types.DynamicData{}, - ReservationUsed: 0, - ReservationUsedForVm: 0, - UnreservedForPool: 4121, - UnreservedForVm: 4121, - OverallUsage: 0, - MaxUsage: 4121, - }, - OverallStatus: "green", - }, - Owner: types.ManagedObjectReference{Type: "ComputeResource", Value: "ha-compute-res"}, - ResourcePool: nil, - Vm: nil, - Config: types.ResourceConfigSpec{ - DynamicData: types.DynamicData{}, - Entity: &types.ManagedObjectReference{Type: "ResourcePool", Value: "ha-root-pool"}, - ChangeVersion: "", - LastModified: (*time.Time)(nil), - CpuAllocation: types.ResourceAllocationInfo{ - DynamicData: types.DynamicData{}, - Reservation: types.NewInt64(4121), - ExpandableReservation: types.NewBool(false), - Limit: types.NewInt64(4121), - Shares: &types.SharesInfo{ - DynamicData: types.DynamicData{}, - Shares: 9000, - Level: "custom", - }, - OverheadLimit: nil, - }, - MemoryAllocation: types.ResourceAllocationInfo{ - DynamicData: types.DynamicData{}, - Reservation: types.NewInt64(961), - ExpandableReservation: types.NewBool(false), - Limit: types.NewInt64(961), - Shares: &types.SharesInfo{ - DynamicData: types.DynamicData{}, - Shares: 9000, - Level: "custom", - }, - OverheadLimit: nil, - }, - }, - ChildConfiguration: nil, -} diff --git a/vendor/github.com/vmware/govmomi/simulator/esx/root_folder.go b/vendor/github.com/vmware/govmomi/simulator/esx/root_folder.go deleted file mode 100644 index 3aefd1d812d..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/esx/root_folder.go +++ /dev/null @@ -1,76 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package esx - -import ( - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/types" -) - -// RootFolder is the default template for the ServiceContent rootFolder property. -// Capture method: -// govc folder.info -dump / -var RootFolder = mo.Folder{ - ManagedEntity: mo.ManagedEntity{ - ExtensibleManagedObject: mo.ExtensibleManagedObject{ - Self: types.ManagedObjectReference{Type: "Folder", Value: "ha-folder-root"}, - Value: nil, - AvailableField: nil, - }, - Parent: (*types.ManagedObjectReference)(nil), - CustomValue: nil, - OverallStatus: "green", - ConfigStatus: "green", - ConfigIssue: nil, - EffectiveRole: []int32{-1}, - Permission: []types.Permission{ - { - DynamicData: types.DynamicData{}, - Entity: &types.ManagedObjectReference{Type: "Folder", Value: "ha-folder-root"}, - Principal: "vpxuser", - Group: false, - RoleId: -1, - Propagate: true, - }, - { - DynamicData: types.DynamicData{}, - Entity: &types.ManagedObjectReference{Type: "Folder", Value: "ha-folder-root"}, - Principal: "dcui", - Group: false, - RoleId: -1, - Propagate: true, - }, - { - DynamicData: types.DynamicData{}, - Entity: &types.ManagedObjectReference{Type: "Folder", Value: "ha-folder-root"}, - Principal: "root", - Group: false, - RoleId: -1, - Propagate: true, - }, - }, - Name: "ha-folder-root", - DisabledMethod: nil, - RecentTask: nil, - DeclaredAlarmState: nil, - TriggeredAlarmState: nil, - AlarmActionsEnabled: (*bool)(nil), - Tag: nil, - }, - ChildType: []string{"Datacenter"}, - ChildEntity: nil, -} diff --git a/vendor/github.com/vmware/govmomi/simulator/esx/service_content.go b/vendor/github.com/vmware/govmomi/simulator/esx/service_content.go deleted file mode 100644 index cc8938f8782..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/esx/service_content.go +++ /dev/null @@ -1,86 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package esx - -import "github.com/vmware/govmomi/vim25/types" - -// ServiceContent is the default template for the ServiceInstance content property. -// Capture method: -// govc object.collect -s -dump - content -var ServiceContent = types.ServiceContent{ - RootFolder: types.ManagedObjectReference{Type: "Folder", Value: "ha-folder-root"}, - PropertyCollector: types.ManagedObjectReference{Type: "PropertyCollector", Value: "ha-property-collector"}, - ViewManager: &types.ManagedObjectReference{Type: "ViewManager", Value: "ViewManager"}, - About: types.AboutInfo{ - Name: "VMware ESXi", - FullName: "VMware ESXi 6.5.0 build-5969303", - Vendor: "VMware, Inc.", - Version: "6.5.0", - Build: "5969303", - LocaleVersion: "INTL", - LocaleBuild: "000", - OsType: "vmnix-x86", - ProductLineId: "embeddedEsx", - ApiType: "HostAgent", - ApiVersion: "6.5", - InstanceUuid: "", - LicenseProductName: "VMware ESX Server", - LicenseProductVersion: "6.0", - }, - Setting: &types.ManagedObjectReference{Type: "OptionManager", Value: "HostAgentSettings"}, - UserDirectory: &types.ManagedObjectReference{Type: "UserDirectory", Value: "ha-user-directory"}, - SessionManager: &types.ManagedObjectReference{Type: "SessionManager", Value: "ha-sessionmgr"}, - AuthorizationManager: &types.ManagedObjectReference{Type: "AuthorizationManager", Value: "ha-authmgr"}, - ServiceManager: &types.ManagedObjectReference{Type: "ServiceManager", Value: "ha-servicemanager"}, - PerfManager: &types.ManagedObjectReference{Type: "PerformanceManager", Value: "ha-perfmgr"}, - ScheduledTaskManager: (*types.ManagedObjectReference)(nil), - AlarmManager: (*types.ManagedObjectReference)(nil), - EventManager: &types.ManagedObjectReference{Type: "EventManager", Value: "ha-eventmgr"}, - TaskManager: &types.ManagedObjectReference{Type: "TaskManager", Value: "ha-taskmgr"}, - ExtensionManager: (*types.ManagedObjectReference)(nil), - CustomizationSpecManager: (*types.ManagedObjectReference)(nil), - CustomFieldsManager: (*types.ManagedObjectReference)(nil), - AccountManager: &types.ManagedObjectReference{Type: "HostLocalAccountManager", Value: "ha-localacctmgr"}, - DiagnosticManager: &types.ManagedObjectReference{Type: "DiagnosticManager", Value: "ha-diagnosticmgr"}, - LicenseManager: &types.ManagedObjectReference{Type: "LicenseManager", Value: "ha-license-manager"}, - SearchIndex: &types.ManagedObjectReference{Type: "SearchIndex", Value: "ha-searchindex"}, - FileManager: &types.ManagedObjectReference{Type: "FileManager", Value: "ha-nfc-file-manager"}, - DatastoreNamespaceManager: &types.ManagedObjectReference{Type: "DatastoreNamespaceManager", Value: "ha-datastore-namespace-manager"}, - VirtualDiskManager: &types.ManagedObjectReference{Type: "VirtualDiskManager", Value: "ha-vdiskmanager"}, - VirtualizationManager: (*types.ManagedObjectReference)(nil), - SnmpSystem: (*types.ManagedObjectReference)(nil), - VmProvisioningChecker: (*types.ManagedObjectReference)(nil), - VmCompatibilityChecker: (*types.ManagedObjectReference)(nil), - OvfManager: &types.ManagedObjectReference{Type: "OvfManager", Value: "ha-ovf-manager"}, - IpPoolManager: (*types.ManagedObjectReference)(nil), - DvSwitchManager: &types.ManagedObjectReference{Type: "DistributedVirtualSwitchManager", Value: "ha-dvsmanager"}, - HostProfileManager: (*types.ManagedObjectReference)(nil), - ClusterProfileManager: (*types.ManagedObjectReference)(nil), - ComplianceManager: (*types.ManagedObjectReference)(nil), - LocalizationManager: &types.ManagedObjectReference{Type: "LocalizationManager", Value: "ha-l10n-manager"}, - StorageResourceManager: &types.ManagedObjectReference{Type: "StorageResourceManager", Value: "ha-storage-resource-manager"}, - GuestOperationsManager: &types.ManagedObjectReference{Type: "GuestOperationsManager", Value: "ha-guest-operations-manager"}, - OverheadMemoryManager: (*types.ManagedObjectReference)(nil), - CertificateManager: (*types.ManagedObjectReference)(nil), - IoFilterManager: (*types.ManagedObjectReference)(nil), - VStorageObjectManager: &types.ManagedObjectReference{Type: "HostVStorageObjectManager", Value: "ha-vstorage-object-manager"}, - HostSpecManager: (*types.ManagedObjectReference)(nil), - CryptoManager: &types.ManagedObjectReference{Type: "CryptoManager", Value: "ha-crypto-manager"}, - HealthUpdateManager: (*types.ManagedObjectReference)(nil), - FailoverClusterConfigurator: (*types.ManagedObjectReference)(nil), - FailoverClusterManager: (*types.ManagedObjectReference)(nil), -} diff --git a/vendor/github.com/vmware/govmomi/simulator/esx/setting.go b/vendor/github.com/vmware/govmomi/simulator/esx/setting.go deleted file mode 100644 index 757dfc039c9..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/esx/setting.go +++ /dev/null @@ -1,33 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package esx - -import "github.com/vmware/govmomi/vim25/types" - -// HardwareVersion is the default VirtualMachine.Config.Version -var HardwareVersion = "vmx-13" - -// Setting is captured from ESX's HostSystem.configManager.advancedOption -// Capture method: -// govc object.collect -s -dump $(govc object.collect -s HostSystem:ha-host configManager.advancedOption) setting -var Setting = []types.BaseOptionValue{ - // This list is currently pruned to include a single option for testing - &types.OptionValue{ - Key: "Config.HostAgent.log.level", - Value: "info", - }, -} diff --git a/vendor/github.com/vmware/govmomi/simulator/esx/task_manager.go b/vendor/github.com/vmware/govmomi/simulator/esx/task_manager.go deleted file mode 100644 index b429ad4902e..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/esx/task_manager.go +++ /dev/null @@ -1,10412 +0,0 @@ -/* -Copyright (c) 2017-2018 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package esx - -import "github.com/vmware/govmomi/vim25/types" - -// Description is the default template for the TaskManager description property. -// Capture method: -// govc object.collect -s -dump TaskManager:ha-taskmgr description -var Description = types.TaskDescription{ - MethodInfo: []types.BaseElementDescription{ - &types.ElementDescription{ - Description: types.Description{ - Label: "Set cluster resource custom value", - Summary: "Sets the value of a custom field for a cluster of objects as a unified compute-resource", - }, - Key: "ClusterComputeResource.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reload cluster", - Summary: "Reloads the cluster", - }, - Key: "ClusterComputeResource.reload", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rename cluster", - Summary: "Rename the compute-resource", - }, - Key: "ClusterComputeResource.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove cluster", - Summary: "Deletes the cluster compute-resource and removes it from its parent folder (if any)", - }, - Key: "ClusterComputeResource.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add tag", - Summary: "Add a set of tags to the cluster", - }, - Key: "ClusterComputeResource.addTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove tag", - Summary: "Removes a set of tags from the cluster", - }, - Key: "ClusterComputeResource.removeTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveCustomValues", - Summary: "retrieveCustomValues", - }, - Key: "ClusterComputeResource.retrieveCustomValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigure cluster", - Summary: "Reconfigures a cluster", - }, - Key: "ClusterComputeResource.reconfigureEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigure cluster", - Summary: "Reconfigures a cluster", - }, - Key: "ClusterComputeResource.reconfigure", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Apply recommendation", - Summary: "Applies a recommendation", - }, - Key: "ClusterComputeResource.applyRecommendation", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Cancel recommendation", - Summary: "Cancels a recommendation", - }, - Key: "ClusterComputeResource.cancelRecommendation", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Recommended power On hosts", - Summary: "Get recommendations for a location to power on a specific virtual machine", - }, - Key: "ClusterComputeResource.recommendHostsForVm", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add host", - Summary: "Adds a new host to the cluster", - }, - Key: "ClusterComputeResource.addHost", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add host and enable lockdown", - Summary: "Adds a new host to the cluster and enables lockdown mode on the host", - }, - Key: "ClusterComputeResource.addHostWithAdminDisabled", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Move host into cluster", - Summary: "Moves a set of existing hosts into the cluster", - }, - Key: "ClusterComputeResource.moveInto", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Move host into cluster", - Summary: "Moves a host into the cluster", - }, - Key: "ClusterComputeResource.moveHostInto", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Refresh recommendations", - Summary: "Refreshes the list of recommendations", - }, - Key: "ClusterComputeResource.refreshRecommendation", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve EVC", - Summary: "Retrieve Enhanced vMotion Compatibility information for this cluster", - }, - Key: "ClusterComputeResource.evcManager", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve transitional EVC manager", - Summary: "Retrieve the transitional EVC manager for this cluster", - }, - Key: "ClusterComputeResource.transitionalEVCManager", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve DAS advanced runtime information", - Summary: "Retrieve DAS advanced runtime information for this cluster", - }, - Key: "ClusterComputeResource.retrieveDasAdvancedRuntimeInfo", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve vShpere HA data for cluster", - Summary: "Retrieves HA data for a cluster", - }, - Key: "ClusterComputeResource.retrieveDasData", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check VM admission in vSphere HA cluster", - Summary: "Checks if HA admission control allows a set of virtual machines to be powered on in the cluster", - }, - Key: "ClusterComputeResource.checkDasAdmission", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check cluster for vSphere HA configuration", - Summary: "Check how the specified HA config will affect the cluster state if high availability is enabled", - }, - Key: "ClusterComputeResource.checkReconfigureDas", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "checkReconfigureDasVmcp", - Summary: "checkReconfigureDasVmcp", - }, - Key: "ClusterComputeResource.checkReconfigureDasVmcp", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "DRS recommends hosts to evacuate", - Summary: "DRS recommends hosts to evacuate", - }, - Key: "ClusterComputeResource.enterMaintenanceMode", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Find Fault Tolerance compatible hosts for placing secondary VM", - Summary: "Find the set of Fault Tolerance compatible hosts for placing secondary of a given primary virtual machine", - }, - Key: "ClusterComputeResource.queryFaultToleranceCompatibleHosts", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Find Fault Tolerance compatible datastores for a VM", - Summary: "Find the set of Fault Tolerance compatible datastores for a given virtual machine", - }, - Key: "ClusterComputeResource.queryFaultToleranceCompatibleDatastores", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Verify FaultToleranceConfigSpec", - Summary: "Verify whether a given FaultToleranceConfigSpec satisfies the requirements for Fault Tolerance", - }, - Key: "ClusterComputeResource.verifyFaultToleranceConfigSpec", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check Fault Tolerance compatibility for VM", - Summary: "Check whether a VM is compatible for turning on Fault Tolerance", - }, - Key: "ClusterComputeResource.queryCompatibilityForFaultTolerance", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Call DRS for cross vMotion placement recommendations", - Summary: "Calls vSphere DRS for placement recommendations when migrating a VM across vCenter Server instances and virtual switches", - }, - Key: "ClusterComputeResource.placeVm", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Find rules for VM", - Summary: "Locates all affinity and anti-affinity rules the specified VM participates in", - }, - Key: "ClusterComputeResource.findRulesForVm", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "stampAllRulesWithUuid", - Summary: "stampAllRulesWithUuid", - }, - Key: "ClusterComputeResource.stampAllRulesWithUuid", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "getResourceUsage", - Summary: "getResourceUsage", - }, - Key: "ClusterComputeResource.getResourceUsage", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryDrmDumpHistory", - Summary: "queryDrmDumpHistory", - }, - Key: "ClusterComputeResource.queryDrmDumpHistory", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "generateDrmBundle", - Summary: "generateDrmBundle", - }, - Key: "ClusterComputeResource.generateDrmBundle", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set datastore cluster custom value", - Summary: "Sets the value of a custom field of a datastore cluster", - }, - Key: "StoragePod.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reload datastore cluster", - Summary: "Reloads the datastore cluster", - }, - Key: "StoragePod.reload", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rename a datastore cluster", - Summary: "Rename a datastore cluster", - }, - Key: "StoragePod.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove a datastore cluster", - Summary: "Remove a datastore cluster", - }, - Key: "StoragePod.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add tags to datastore cluster", - Summary: "Adds a set of tags to a datastore cluster", - }, - Key: "StoragePod.addTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove tags from datastore cluster", - Summary: "Removes a set of tags from a datastore cluster", - }, - Key: "StoragePod.removeTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveCustomValues", - Summary: "retrieveCustomValues", - }, - Key: "StoragePod.retrieveCustomValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create folder", - Summary: "Creates a new folder", - }, - Key: "StoragePod.createFolder", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Move datastores into a datastore cluster", - Summary: "Move datastores into a datastore cluster", - }, - Key: "StoragePod.moveInto", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create virtual machine", - Summary: "Creates a new virtual machine", - }, - Key: "StoragePod.createVm", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Register virtual machine", - Summary: "Adds an existing virtual machine to this datastore cluster", - }, - Key: "StoragePod.registerVm", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create cluster", - Summary: "Creates a new cluster compute-resource in this datastore cluster", - }, - Key: "StoragePod.createCluster", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create cluster", - Summary: "Creates a new cluster compute-resource in this datastore cluster", - }, - Key: "StoragePod.createClusterEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add standalone host", - Summary: "Creates a new single-host compute-resource", - }, - Key: "StoragePod.addStandaloneHost", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add standalone host and enable lockdown mode", - Summary: "Creates a new single-host compute-resource and enables lockdown mode on the host", - }, - Key: "StoragePod.addStandaloneHostWithAdminDisabled", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create datacenter", - Summary: "Create a new datacenter with the given name", - }, - Key: "StoragePod.createDatacenter", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Unregister and delete", - Summary: "Recursively deletes all child virtual machine folders and unregisters all virtual machines", - }, - Key: "StoragePod.unregisterAndDestroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create vSphere Distributed Switch", - Summary: "Creates a vSphere Distributed Switch", - }, - Key: "StoragePod.createDistributedVirtualSwitch", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create datastore cluster", - Summary: "Creates a new datastore cluster", - }, - Key: "StoragePod.createStoragePod", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "vSphere Distributed Switch set custom value", - Summary: "vSphere Distributed Switch set custom value", - }, - Key: "DistributedVirtualSwitch.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "vSphere Distributed Switch reload", - Summary: "vSphere Distributed Switch reload", - }, - Key: "DistributedVirtualSwitch.reload", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rename vSphere Distributed Switch", - Summary: "Rename vSphere Distributed Switch", - }, - Key: "DistributedVirtualSwitch.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete vSphere Distributed Switch", - Summary: "Delete vSphere Distributed Switch", - }, - Key: "DistributedVirtualSwitch.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "vSphere Distributed Switch add tag", - Summary: "vSphere Distributed Switch add tag", - }, - Key: "DistributedVirtualSwitch.addTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "vSphere Distributed Switch remove tag", - Summary: "vSphere Distributed Switch remove tag", - }, - Key: "DistributedVirtualSwitch.removeTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveCustomValues", - Summary: "retrieveCustomValues", - }, - Key: "DistributedVirtualSwitch.retrieveCustomValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve dvPort keys", - Summary: "Retrieve dvPort keys", - }, - Key: "DistributedVirtualSwitch.fetchPortKeys", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve dvPorts", - Summary: "Retrieve dvPorts", - }, - Key: "DistributedVirtualSwitch.fetchPorts", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query vSphere Distributed Switch used virtual LAN ID", - Summary: "Query vSphere Distributed Switch used virtual LAN ID", - }, - Key: "DistributedVirtualSwitch.queryUsedVlanId", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigure vSphere Distributed Switch", - Summary: "Reconfigure vSphere Distributed Switch", - }, - Key: "DistributedVirtualSwitch.reconfigure", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "vSphere Distributed Switch product specification operation", - Summary: "vSphere Distributed Switch product specification operation", - }, - Key: "DistributedVirtualSwitch.performProductSpecOperation", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Merge vSphere Distributed Switches", - Summary: "Merge vSphere Distributed Switches", - }, - Key: "DistributedVirtualSwitch.merge", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add Distributed Port Group", - Summary: "Add Distributed Port Group", - }, - Key: "DistributedVirtualSwitch.addPortgroups", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Move dvPorts", - Summary: "Move dvPorts", - }, - Key: "DistributedVirtualSwitch.movePort", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update vSphere Distributed Switch capability", - Summary: "Update vSphere Distributed Switch capability", - }, - Key: "DistributedVirtualSwitch.updateCapability", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigure dvPort", - Summary: "Reconfigure dvPort", - }, - Key: "DistributedVirtualSwitch.reconfigurePort", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Refresh dvPort state", - Summary: "Refresh dvPort state", - }, - Key: "DistributedVirtualSwitch.refreshPortState", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rectify host in vSphere Distributed Switch", - Summary: "Rectify host in vSphere Distributed Switch", - }, - Key: "DistributedVirtualSwitch.rectifyHost", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update network resource pools on vSphere Distributed Switch", - Summary: "Update network resource pools on vSphere Distributed Switch", - }, - Key: "DistributedVirtualSwitch.updateNetworkResourcePool", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add network resource pools on vSphere Distributed Switch", - Summary: "Add network resource pools on vSphere Distributed Switch", - }, - Key: "DistributedVirtualSwitch.addNetworkResourcePool", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove network resource pools on vSphere Distributed Switch", - Summary: "Remove network resource pools on vSphere Distributed Switch", - }, - Key: "DistributedVirtualSwitch.removeNetworkResourcePool", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigure a network resource pool on a distributed switch", - Summary: "Reconfigures the network resource pool on a distributed switch", - }, - Key: "DistributedVirtualSwitch.reconfigureVmVnicNetworkResourcePool", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update network I/O control on vSphere Distributed Switch", - Summary: "Update network I/O control on vSphere Distributed Switch", - }, - Key: "DistributedVirtualSwitch.enableNetworkResourceManagement", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get vSphere Distributed Switch configuration spec to rollback", - Summary: "Get vSphere Distributed Switch configuration spec to rollback", - }, - Key: "DistributedVirtualSwitch.rollback", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add Distributed Port Group", - Summary: "Add Distributed Port Group", - }, - Key: "DistributedVirtualSwitch.addPortgroup", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update health check configuration on vSphere Distributed Switch", - Summary: "Update health check configuration on vSphere Distributed Switch", - }, - Key: "DistributedVirtualSwitch.updateHealthCheckConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Look up portgroup based on portgroup key", - Summary: "Look up portgroup based on portgroup key", - }, - Key: "DistributedVirtualSwitch.lookupPortgroup", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set datacenter custom value", - Summary: "Sets the value of a custom field of a datacenter", - }, - Key: "Datacenter.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reload datacenter", - Summary: "Reloads the datacenter", - }, - Key: "Datacenter.reload", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rename datacenter", - Summary: "Rename the datacenter", - }, - Key: "Datacenter.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove datacenter", - Summary: "Deletes the datacenter and removes it from its parent folder (if any)", - }, - Key: "Datacenter.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add tag", - Summary: "Add a set of tags to the datacenter", - }, - Key: "Datacenter.addTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove tag", - Summary: "Remove a set of tags from the datacenter", - }, - Key: "Datacenter.removeTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveCustomValues", - Summary: "retrieveCustomValues", - }, - Key: "Datacenter.retrieveCustomValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query connection information", - Summary: "Gets information of a host that can be used in the connection wizard", - }, - Key: "Datacenter.queryConnectionInfo", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryConnectionInfoViaSpec", - Summary: "queryConnectionInfoViaSpec", - }, - Key: "Datacenter.queryConnectionInfoViaSpec", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Initialize powering On", - Summary: "Initialize tasks for powering on virtual machines", - }, - Key: "Datacenter.powerOnVm", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query configuration option descriptor", - Summary: "Retrieve the list of configuration option keys available in this datacenter", - }, - Key: "Datacenter.queryConfigOptionDescriptor", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigure datacenter", - Summary: "Reconfigures the datacenter", - }, - Key: "Datacenter.reconfigure", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set virtual machine custom value", - Summary: "Sets the value of a custom field of a virtual machine", - }, - Key: "VirtualMachine.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reload virtual machine", - Summary: "Reloads the virtual machine", - }, - Key: "VirtualMachine.reload", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rename virtual machine", - Summary: "Rename the virtual machine", - }, - Key: "VirtualMachine.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete virtual machine", - Summary: "Delete this virtual machine. Deleting this virtual machine also deletes its contents and removes it from its parent folder (if any).", - }, - Key: "VirtualMachine.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add Tag", - Summary: "Add a set of tags to the virtual machine", - }, - Key: "VirtualMachine.addTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove tag", - Summary: "Remove a set of tags from the virtual machine", - }, - Key: "VirtualMachine.removeTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveCustomValues", - Summary: "retrieveCustomValues", - }, - Key: "VirtualMachine.retrieveCustomValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Refresh virtual machine storage information", - Summary: "Refresh storage information for the virtual machine", - }, - Key: "VirtualMachine.refreshStorageInfo", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve virtual machine backup agent", - Summary: "Retrieves the backup agent for the virtual machine", - }, - Key: "VirtualMachine.retrieveBackupAgent", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create virtual machine snapshot", - Summary: "Create a new snapshot of this virtual machine", - }, - Key: "VirtualMachine.createSnapshot", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create virtual machine snapshot", - Summary: "Create a new snapshot of this virtual machine", - }, - Key: "VirtualMachine.createSnapshotEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Revert to current snapshot", - Summary: "Reverts the virtual machine to the current snapshot", - }, - Key: "VirtualMachine.revertToCurrentSnapshot", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove all snapshots", - Summary: "Remove all the snapshots associated with this virtual machine", - }, - Key: "VirtualMachine.removeAllSnapshots", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Consolidate virtual machine disk files", - Summary: "Consolidate disk files of this virtual machine", - }, - Key: "VirtualMachine.consolidateDisks", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Estimate virtual machine disks consolidation space requirement", - Summary: "Estimate the temporary space required to consolidate disk files.", - }, - Key: "VirtualMachine.estimateStorageRequirementForConsolidate", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigure virtual machine", - Summary: "Reconfigure this virtual machine", - }, - Key: "VirtualMachine.reconfigure", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Upgrade VM compatibility", - Summary: "Upgrade virtual machine compatibility to the latest version", - }, - Key: "VirtualMachine.upgradeVirtualHardware", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Extract OVF environment", - Summary: "Returns the XML document that represents the OVF environment", - }, - Key: "VirtualMachine.extractOvfEnvironment", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Power On virtual machine", - Summary: "Power On this virtual machine", - }, - Key: "VirtualMachine.powerOn", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Power Off virtual machine", - Summary: "Power Off this virtual machine", - }, - Key: "VirtualMachine.powerOff", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Suspend virtual machine", - Summary: "Suspend virtual machine", - }, - Key: "VirtualMachine.suspend", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reset virtual machine", - Summary: "Reset this virtual machine", - }, - Key: "VirtualMachine.reset", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Initiate guest OS shutdown", - Summary: "Issues a command to the guest operating system to perform a clean shutdown of all services", - }, - Key: "VirtualMachine.shutdownGuest", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Initiate guest OS reboot", - Summary: "Issues a command to the guest operating system asking it to perform a reboot", - }, - Key: "VirtualMachine.rebootGuest", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Initiate guest OS standby", - Summary: "Issues a command to the guest operating system to prepare for a suspend operation", - }, - Key: "VirtualMachine.standbyGuest", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Answer virtual machine question", - Summary: "Respond to a question that is blocking this virtual machine", - }, - Key: "VirtualMachine.answer", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Customize virtual machine guest OS", - Summary: "Customize a virtual machine's guest operating system", - }, - Key: "VirtualMachine.customize", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check customization specification", - Summary: "Check the customization specification against the virtual machine configuration", - }, - Key: "VirtualMachine.checkCustomizationSpec", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Migrate virtual machine", - Summary: "Migrate a virtual machine's execution to a specific resource pool or host", - }, - Key: "VirtualMachine.migrate", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Relocate virtual machine", - Summary: "Relocate the virtual machine to a specific location", - }, - Key: "VirtualMachine.relocate", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Clone virtual machine", - Summary: "Creates a clone of this virtual machine", - }, - Key: "VirtualMachine.clone", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "instantClone", - Summary: "instantClone", - }, - Key: "VirtualMachine.instantClone", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveInstantCloneChildren", - Summary: "retrieveInstantCloneChildren", - }, - Key: "VirtualMachine.retrieveInstantCloneChildren", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveInstantCloneParent", - Summary: "retrieveInstantCloneParent", - }, - Key: "VirtualMachine.retrieveInstantCloneParent", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "markAsInstantCloneParent", - Summary: "markAsInstantCloneParent", - }, - Key: "VirtualMachine.markAsInstantCloneParent", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "unmarkAsInstantCloneParent", - Summary: "unmarkAsInstantCloneParent", - }, - Key: "VirtualMachine.unmarkAsInstantCloneParent", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "createForkChild", - Summary: "createForkChild", - }, - Key: "VirtualMachine.createForkChild", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "enableForkParent", - Summary: "enableForkParent", - }, - Key: "VirtualMachine.enableForkParent", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "disableForkParent", - Summary: "disableForkParent", - }, - Key: "VirtualMachine.disableForkParent", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveForkChildren", - Summary: "retrieveForkChildren", - }, - Key: "VirtualMachine.retrieveForkChildren", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveForkParent", - Summary: "retrieveForkParent", - }, - Key: "VirtualMachine.retrieveForkParent", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Export OVF template", - Summary: "Exports the virtual machine as an OVF template", - }, - Key: "VirtualMachine.exportVm", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Mark virtual machine as template", - Summary: "Virtual machine is marked as a template", - }, - Key: "VirtualMachine.markAsTemplate", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Mark as virtual machine", - Summary: "Reassociate a virtual machine with a host or resource pool", - }, - Key: "VirtualMachine.markAsVirtualMachine", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Unregister virtual machine", - Summary: "Removes this virtual machine from the inventory without removing any of the virtual machine files on disk", - }, - Key: "VirtualMachine.unregister", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reset guest OS information", - Summary: "Clears cached guest OS information", - }, - Key: "VirtualMachine.resetGuestInformation", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Initiated VMware Tools Installer Mount", - Summary: "Mounts the tools CD installer as a CD-ROM for the guest", - }, - Key: "VirtualMachine.mountToolsInstaller", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Connect VMware Tools CD", - Summary: "Connects the VMware Tools CD image to the guest", - }, - Key: "VirtualMachine.mountToolsInstallerImage", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Unmount tools installer", - Summary: "Unmounts the tools installer", - }, - Key: "VirtualMachine.unmountToolsInstaller", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Initiated VMware Tools install or upgrade", - Summary: "Issues a command to the guest operating system to install VMware Tools or upgrade to the latest revision", - }, - Key: "VirtualMachine.upgradeTools", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Initiated VMware Tools upgrade", - Summary: "Upgrades VMware Tools in the virtual machine from specified CD image", - }, - Key: "VirtualMachine.upgradeToolsFromImage", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Acquire virtual machine Mouse Keyboard Screen Ticket", - Summary: "Establishing a Mouse Keyboard Screen Ticket", - }, - Key: "VirtualMachine.acquireMksTicket", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Acquire virtual machine service ticket", - Summary: "Establishing a specific remote virtual machine connection ticket", - }, - Key: "VirtualMachine.acquireTicket", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set console window screen resolution", - Summary: "Sets the console window's resolution as specified", - }, - Key: "VirtualMachine.setScreenResolution", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Defragment all disks", - Summary: "Defragment all virtual disks attached to this virtual machine", - }, - Key: "VirtualMachine.defragmentAllDisks", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Turn On Fault Tolerance", - Summary: "Secondary VM created", - }, - Key: "VirtualMachine.createSecondary", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Turn On Fault Tolerance", - Summary: "Creates a secondary VM", - }, - Key: "VirtualMachine.createSecondaryEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Turn Off Fault Tolerance", - Summary: "Remove all secondaries for this virtual machine and turn off Fault Tolerance", - }, - Key: "VirtualMachine.turnOffFaultTolerance", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Test failover", - Summary: "Test Fault Tolerance failover by making a Secondary VM in a Fault Tolerance pair the Primary VM", - }, - Key: "VirtualMachine.makePrimary", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Test restarting Secondary VM", - Summary: "Test restart Secondary VM by stopping a Secondary VM in the Fault Tolerance pair", - }, - Key: "VirtualMachine.terminateFaultTolerantVM", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Suspend Fault Tolerance", - Summary: "Suspend Fault Tolerance on this virtual machine", - }, - Key: "VirtualMachine.disableSecondary", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Resume Fault Tolerance", - Summary: "Resume Fault Tolerance on this virtual machine", - }, - Key: "VirtualMachine.enableSecondary", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set virtual machine display topology", - Summary: "Set the display topology for the virtual machine", - }, - Key: "VirtualMachine.setDisplayTopology", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Start recording", - Summary: "Start a recording session on this virtual machine", - }, - Key: "VirtualMachine.startRecording", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Stop recording", - Summary: "Stop a currently active recording session on this virtual machine", - }, - Key: "VirtualMachine.stopRecording", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Start replaying", - Summary: "Start a replay session on this virtual machine", - }, - Key: "VirtualMachine.startReplaying", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Stop replaying", - Summary: "Stop a replay session on this virtual machine", - }, - Key: "VirtualMachine.stopReplaying", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Promote virtual machine disks", - Summary: "Promote disks of the virtual machine that have delta disk backings", - }, - Key: "VirtualMachine.promoteDisks", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Take virtual machine screenshot", - Summary: "Take a screenshot of a virtual machine's guest OS console", - }, - Key: "VirtualMachine.createScreenshot", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Put USB HID scan codes", - Summary: "Injects a sequence of USB HID scan codes into the keyboard", - }, - Key: "VirtualMachine.putUsbScanCodes", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query virtual machine disk changes", - Summary: "Query for changes to the virtual machine's disks since a given point in the past", - }, - Key: "VirtualMachine.queryChangedDiskAreas", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query unowned virtual machine files", - Summary: "Query files of the virtual machine not owned by the datastore principal user", - }, - Key: "VirtualMachine.queryUnownedFiles", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reload virtual machine from new configuration", - Summary: "Reloads the virtual machine from a new configuration file", - }, - Key: "VirtualMachine.reloadFromPath", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query Virtual Machine Fault Tolerance Compatibility", - Summary: "Check if virtual machine is compatible for Fault Tolerance", - }, - Key: "VirtualMachine.queryFaultToleranceCompatibility", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryFaultToleranceCompatibilityEx", - Summary: "queryFaultToleranceCompatibilityEx", - }, - Key: "VirtualMachine.queryFaultToleranceCompatibilityEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Suspend and resume the virtual machine", - Summary: "Suspend and resume the virtual machine", - }, - Key: "VirtualMachine.invokeFSR", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Hard stop virtual machine", - Summary: "Hard stop virtual machine", - }, - Key: "VirtualMachine.terminate", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get native clone capability", - Summary: "Check if native clone is supported on the virtual machine", - }, - Key: "VirtualMachine.isNativeSnapshotCapable", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Configure quorum file path prefix", - Summary: "Configures the quorum file path prefix for the virtual machine", - }, - Key: "VirtualMachine.configureQuorumFilePathPrefix", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve quorum file path prefix", - Summary: "Retrieves the quorum file path prefix for the virtual machine", - }, - Key: "VirtualMachine.retrieveQuorumFilePathPrefix", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Inject OVF Environment into virtual machine", - Summary: "Specifies the OVF Environments to be injected into and returned for a virtual machine", - }, - Key: "VirtualMachine.injectOvfEnvironment", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Wipe a Flex-SE virtual disk", - Summary: "Wipes a Flex-SE virtual disk", - }, - Key: "VirtualMachine.wipeDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Shrink a Flex-SE virtual disk", - Summary: "Shrinks a Flex-SE virtual disk", - }, - Key: "VirtualMachine.shrinkDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Send NMI", - Summary: "Sends a non-maskable interrupt (NMI) to the virtual machine", - }, - Key: "VirtualMachine.sendNMI", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reload virtual machine", - Summary: "Reloads the virtual machine", - }, - Key: "VirtualMachine.reloadEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Attach a virtual disk", - Summary: "Attach an existing virtual disk to the virtual machine", - }, - Key: "VirtualMachine.attachDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Detach a virtual disk", - Summary: "Detach a virtual disk from the virtual machine", - }, - Key: "VirtualMachine.detachDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Apply EVC Mode", - Summary: "Apply EVC Mode to a virtual machine", - }, - Key: "VirtualMachine.applyEvcMode", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set vApp custom value", - Summary: "Sets the value of a custom field on a vApp", - }, - Key: "VirtualApp.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reload vApp", - Summary: "Reload the vApp", - }, - Key: "VirtualApp.reload", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rename vApp", - Summary: "Rename the vApp", - }, - Key: "VirtualApp.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete vApp", - Summary: "Delete the vApp, including all child vApps and virtual machines", - }, - Key: "VirtualApp.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add tag", - Summary: "Add a set of tags to the vApp", - }, - Key: "VirtualApp.addTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove tag", - Summary: "Remove a set of tags from the vApp", - }, - Key: "VirtualApp.removeTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveCustomValues", - Summary: "retrieveCustomValues", - }, - Key: "VirtualApp.retrieveCustomValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update vApp resource configuration", - Summary: "Updates the resource configuration for the vApp", - }, - Key: "VirtualApp.updateConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Move into vApp", - Summary: "Moves a set of entities into this vApp", - }, - Key: "VirtualApp.moveInto", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update child resource configuration", - Summary: "Change resource configuration of a set of children of the vApp", - }, - Key: "VirtualApp.updateChildResourceConfiguration", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create resource pool", - Summary: "Creates a new resource pool", - }, - Key: "VirtualApp.createResourcePool", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete vApp children", - Summary: "Deletes all child resource pools recursively", - }, - Key: "VirtualApp.destroyChildren", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create vApp", - Summary: "Creates a child vApp of this vApp", - }, - Key: "VirtualApp.createVApp", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create virtual machine", - Summary: "Creates a virtual machine in this vApp", - }, - Key: "VirtualApp.createVm", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Register virtual machine", - Summary: "Adds an existing virtual machine to this vApp", - }, - Key: "VirtualApp.registerVm", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Deploy OVF template", - Summary: "Deploys a virtual machine or vApp", - }, - Key: "VirtualApp.importVApp", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query Virtual App resource configuration options", - Summary: "Returns configuration options for a set of resources for a Virtual App", - }, - Key: "VirtualApp.queryResourceConfigOption", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Refresh Virtual App runtime information", - Summary: "Refreshes the resource usage runtime information for a Virtual App", - }, - Key: "VirtualApp.refreshRuntime", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update vApp Configuration", - Summary: "Updates the vApp configuration", - }, - Key: "VirtualApp.updateVAppConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update linked children", - Summary: "Updates the list of linked children", - }, - Key: "VirtualApp.updateLinkedChildren", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Clone vApp", - Summary: "Clone the vApp, including all child entities", - }, - Key: "VirtualApp.clone", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Export OVF template", - Summary: "Exports the vApp as an OVF template", - }, - Key: "VirtualApp.exportVApp", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Start vApp", - Summary: "Starts the vApp", - }, - Key: "VirtualApp.powerOn", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Stop vApp", - Summary: "Stops the vApp", - }, - Key: "VirtualApp.powerOff", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Suspend vApp", - Summary: "Suspends the vApp", - }, - Key: "VirtualApp.suspend", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Unregister vApp", - Summary: "Unregister all child virtual machines and remove the vApp", - }, - Key: "VirtualApp.unregister", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set a custom property to an opaque network", - Summary: "Sets the value of a custom field of an opaque network", - }, - Key: "OpaqueNetwork.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reload an opaque network", - Summary: "Reloads the information about the opaque network", - }, - Key: "OpaqueNetwork.reload", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rename an opaque network", - Summary: "Renames an opaque network", - }, - Key: "OpaqueNetwork.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete opaque network", - Summary: "Deletes an opaque network if it is not used by any host or virtual machine", - }, - Key: "OpaqueNetwork.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add a tag to an opaque network", - Summary: "Adds a set of tags to the opaque network", - }, - Key: "OpaqueNetwork.addTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove a tag from an opaque network", - Summary: "Removes a set of tags from the opaque network", - }, - Key: "OpaqueNetwork.removeTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveCustomValues", - Summary: "retrieveCustomValues", - }, - Key: "OpaqueNetwork.retrieveCustomValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove an opaque network", - Summary: "Removes an opaque network", - }, - Key: "OpaqueNetwork.destroyNetwork", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set network custom Value", - Summary: "Sets the value of a custom field of a network", - }, - Key: "Network.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reload network", - Summary: "Reload information about the network", - }, - Key: "Network.reload", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rename network", - Summary: "Rename network", - }, - Key: "Network.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete network", - Summary: "Deletes a network if it is not used by any host or virtual machine", - }, - Key: "Network.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add tag", - Summary: "Add a set of tags to the network", - }, - Key: "Network.addTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove tag", - Summary: "Remove a set of tags from the network", - }, - Key: "Network.removeTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveCustomValues", - Summary: "retrieveCustomValues", - }, - Key: "Network.retrieveCustomValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove network", - Summary: "Remove network", - }, - Key: "Network.destroyNetwork", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add role", - Summary: "Add a new role", - }, - Key: "AuthorizationManager.addRole", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove role", - Summary: "Remove a role", - }, - Key: "AuthorizationManager.removeRole", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update role", - Summary: "Update a role's name and/or privileges", - }, - Key: "AuthorizationManager.updateRole", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reassign permissions", - Summary: "Reassign all permissions of a role to another role", - }, - Key: "AuthorizationManager.mergePermissions", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get role permissions", - Summary: "Gets all the permissions that use a particular role", - }, - Key: "AuthorizationManager.retrieveRolePermissions", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get entity permissions", - Summary: "Get permissions defined on an entity", - }, - Key: "AuthorizationManager.retrieveEntityPermissions", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get permissions", - Summary: "Get the permissions defined for all users", - }, - Key: "AuthorizationManager.retrieveAllPermissions", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrievePermissions", - Summary: "retrievePermissions", - }, - Key: "AuthorizationManager.retrievePermissions", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set entity permission rules", - Summary: "Define or update permission rules on an entity", - }, - Key: "AuthorizationManager.setEntityPermissions", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reset entity permission rules", - Summary: "Reset permission rules on an entity to the provided set", - }, - Key: "AuthorizationManager.resetEntityPermissions", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove entity permission", - Summary: "Remove a permission rule from the entity", - }, - Key: "AuthorizationManager.removeEntityPermission", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query disabled methods", - Summary: "Get the list of source objects that have been disabled on the target entity", - }, - Key: "AuthorizationManager.queryDisabledMethods", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Disable authorization methods", - Summary: "Gets the set of method names to be disabled", - }, - Key: "AuthorizationManager.disableMethods", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Enable authorization methods", - Summary: "Gets the set of method names to be enabled", - }, - Key: "AuthorizationManager.enableMethods", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check privileges on a managed entity", - Summary: "Checks whether a session holds a set of privileges on a managed entity", - }, - Key: "AuthorizationManager.hasPrivilegeOnEntity", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check privileges on a set of managed entities", - Summary: "Checks whether a session holds a set of privileges on a set of managed entities", - }, - Key: "AuthorizationManager.hasPrivilegeOnEntities", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "hasUserPrivilegeOnEntities", - Summary: "hasUserPrivilegeOnEntities", - }, - Key: "AuthorizationManager.hasUserPrivilegeOnEntities", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "fetchUserPrivilegeOnEntities", - Summary: "fetchUserPrivilegeOnEntities", - }, - Key: "AuthorizationManager.fetchUserPrivilegeOnEntities", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check method invocation privileges", - Summary: "Checks whether a session holds a set of privileges required to invoke a specified method", - }, - Key: "AuthorizationManager.checkMethodInvocation", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query required permissions", - Summary: "Get the permission requirements for the specified request", - }, - Key: "AuthorizationManager.queryPermissions", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "performUpgradePreflightCheck", - Summary: "performUpgradePreflightCheck", - }, - Key: "VsanUpgradeSystem.performUpgradePreflightCheck", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryUpgradeStatus", - Summary: "queryUpgradeStatus", - }, - Key: "VsanUpgradeSystem.queryUpgradeStatus", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "performUpgrade", - Summary: "performUpgrade", - }, - Key: "VsanUpgradeSystem.performUpgrade", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create virtual disk", - Summary: "Create the disk, either a datastore path or a URL referring to the virtual disk", - }, - Key: "VirtualDiskManager.createVirtualDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete virtual disk", - Summary: "Delete the disk, either a datastore path or a URL referring to the virtual disk", - }, - Key: "VirtualDiskManager.deleteVirtualDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query virtual disk information", - Summary: "Queries information about a virtual disk", - }, - Key: "VirtualDiskManager.queryVirtualDiskInfo", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Move virtual disk", - Summary: "Move the disk, either a datastore path or a URL referring to the virtual disk", - }, - Key: "VirtualDiskManager.moveVirtualDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Copy virtual disk", - Summary: "Copy the disk, either a datastore path or a URL referring to the virtual disk", - }, - Key: "VirtualDiskManager.copyVirtualDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Extend virtual disk", - Summary: "Expand the capacity of a virtual disk to the new capacity", - }, - Key: "VirtualDiskManager.extendVirtualDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query virtual disk fragmentation", - Summary: "Return the percentage of fragmentation of the sparse virtual disk", - }, - Key: "VirtualDiskManager.queryVirtualDiskFragmentation", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Defragment virtual disk", - Summary: "Defragment a sparse virtual disk", - }, - Key: "VirtualDiskManager.defragmentVirtualDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Shrink virtual disk", - Summary: "Shrink a sparse virtual disk", - }, - Key: "VirtualDiskManager.shrinkVirtualDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Inflate virtual disk", - Summary: "Inflate a sparse virtual disk up to the full size", - }, - Key: "VirtualDiskManager.inflateVirtualDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Zero out virtual disk", - Summary: "Explicitly zero out the virtual disk.", - }, - Key: "VirtualDiskManager.eagerZeroVirtualDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Fill virtual disk", - Summary: "Overwrite all blocks of the virtual disk with zeros", - }, - Key: "VirtualDiskManager.zeroFillVirtualDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Optimally eager zero the virtual disk", - Summary: "Optimally eager zero a VMFS thick virtual disk.", - }, - Key: "VirtualDiskManager.optimizeEagerZeroVirtualDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set virtual disk UUID", - Summary: "Set the UUID for the disk, either a datastore path or a URL referring to the virtual disk", - }, - Key: "VirtualDiskManager.setVirtualDiskUuid", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query virtual disk UUID", - Summary: "Get the virtual disk SCSI inquiry page data", - }, - Key: "VirtualDiskManager.queryVirtualDiskUuid", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query virtual disk geometry", - Summary: "Get the disk geometry information for the virtual disk", - }, - Key: "VirtualDiskManager.queryVirtualDiskGeometry", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reparent disks", - Summary: "Reparent disks", - }, - Key: "VirtualDiskManager.reparentDisks", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create a child disk", - Summary: "Create a new disk and attach it to the end of disk chain specified", - }, - Key: "VirtualDiskManager.createChildDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "revertToChildDisk", - Summary: "revertToChildDisk", - }, - Key: "VirtualDiskManager.revertToChildDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Consolidate disks", - Summary: "Consolidate a list of disks to the parent most disk", - }, - Key: "VirtualDiskManager.consolidateDisks", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "importUnmanagedSnapshot", - Summary: "importUnmanagedSnapshot", - }, - Key: "VirtualDiskManager.importUnmanagedSnapshot", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "releaseManagedSnapshot", - Summary: "releaseManagedSnapshot", - }, - Key: "VirtualDiskManager.releaseManagedSnapshot", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "enableUPIT", - Summary: "enableUPIT", - }, - Key: "VirtualDiskManager.enableUPIT", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "disableUPIT", - Summary: "disableUPIT", - }, - Key: "VirtualDiskManager.disableUPIT", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryObjectInfo", - Summary: "queryObjectInfo", - }, - Key: "VirtualDiskManager.queryObjectInfo", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryObjectTypes", - Summary: "queryObjectTypes", - }, - Key: "VirtualDiskManager.queryObjectTypes", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Configure Storage I/O Control on datastore", - Summary: "Configure Storage I/O Control on datastore", - }, - Key: "StorageResourceManager.ConfigureDatastoreIORM", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Configure Storage I/O Control on datastore", - Summary: "Configure Storage I/O Control on datastore", - }, - Key: "StorageResourceManager.ConfigureDatastoreIORMOnHost", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query Storage I/O Control configuration options", - Summary: "Query Storage I/O Control configuration options", - }, - Key: "StorageResourceManager.QueryIORMConfigOption", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get storage I/O resource management device model", - Summary: "Returns the device model computed for a given datastore by storage DRS", - }, - Key: "StorageResourceManager.GetStorageIORMDeviceModel", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query datastore performance summary", - Summary: "Query datastore performance metrics in summary form", - }, - Key: "StorageResourceManager.queryDatastorePerformanceSummary", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Apply a Storage DRS recommendation", - Summary: "Apply a Storage DRS recommendation", - }, - Key: "StorageResourceManager.applyRecommendationToPod", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Apply Storage DRS recommendations", - Summary: "Apply Storage DRS recommendations", - }, - Key: "StorageResourceManager.applyRecommendation", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Cancel storage DRS recommendation", - Summary: "Cancels a storage DRS recommendation", - }, - Key: "StorageResourceManager.cancelRecommendation", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Refresh storage DRS recommendation", - Summary: "Refreshes the storage DRS recommendations on the specified datastore cluster", - }, - Key: "StorageResourceManager.refreshRecommendation", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "refreshRecommendationsForPod", - Summary: "refreshRecommendationsForPod", - }, - Key: "StorageResourceManager.refreshRecommendationsForPod", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Configure Storage DRS", - Summary: "Configure Storage DRS on a datastore cluster", - }, - Key: "StorageResourceManager.configureStorageDrsForPod", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Invoke storage DRS for placement recommendations", - Summary: "Invokes storage DRS for placement recommendations", - }, - Key: "StorageResourceManager.recommendDatastores", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "rankForPlacement", - Summary: "rankForPlacement", - }, - Key: "StorageResourceManager.rankForPlacement", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryStorageStatisticsByProfile", - Summary: "queryStorageStatisticsByProfile", - }, - Key: "StorageResourceManager.queryStorageStatisticsByProfile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Execute client service", - Summary: "Execute the client service", - }, - Key: "SimpleCommand.Execute", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update global message", - Summary: "Updates the system global message", - }, - Key: "SessionManager.updateMessage", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Login by token", - Summary: "Logs on to the server through token representing principal identity", - }, - Key: "SessionManager.loginByToken", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Login", - Summary: "Create a login session", - }, - Key: "SessionManager.login", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Login by SSPI", - Summary: "Log on to the server using SSPI passthrough authentication", - }, - Key: "SessionManager.loginBySSPI", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Login by SSL thumbprint", - Summary: "Log on to the server using SSL thumbprint authentication", - }, - Key: "SessionManager.loginBySSLThumbprint", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Login by session ticket", - Summary: "Log on to the server using a session ticket", - }, - Key: "SessionManager.loginBySessionTicket", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Acquire session ticket", - Summary: "Acquire a ticket for authenticating to a remote service", - }, - Key: "SessionManager.acquireSessionTicket", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Logout", - Summary: "Logout and end the current session", - }, - Key: "SessionManager.logout", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Acquire local ticket", - Summary: "Acquire one-time ticket for authenticating server-local client", - }, - Key: "SessionManager.acquireLocalTicket", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Acquire generic service ticket", - Summary: "Acquire a one-time credential that may be used to make the specified request", - }, - Key: "SessionManager.acquireGenericServiceTicket", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Terminate session", - Summary: "Logout and end the provided list of sessions", - }, - Key: "SessionManager.terminate", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set locale", - Summary: "Set the session locale for determining the languages used for messages and formatting data", - }, - Key: "SessionManager.setLocale", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Login extension", - Summary: "Creates a privileged login session for an extension", - }, - Key: "SessionManager.loginExtension", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Login extension", - Summary: "Invalid subject name", - }, - Key: "SessionManager.loginExtensionBySubjectName", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Login extension by certificate", - Summary: "Login extension by certificate", - }, - Key: "SessionManager.loginExtensionByCertificate", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Impersonate user", - Summary: "Convert session to impersonate specified user", - }, - Key: "SessionManager.impersonateUser", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Session active query", - Summary: "Validates that a currently active session exists", - }, - Key: "SessionManager.sessionIsActive", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Acquire clone ticket", - Summary: "Acquire a session-specific ticket string that can be used to clone the current session", - }, - Key: "SessionManager.acquireCloneTicket", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Clone session", - Summary: "Clone the specified session and associate it with the current connection", - }, - Key: "SessionManager.cloneSession", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add end point", - Summary: "Add a service whose connections are to be proxied", - }, - Key: "ProxyService.addEndpoint", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove end point", - Summary: "End point to be detached", - }, - Key: "ProxyService.removeEndpoint", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Validate host for OVF package compatibility", - Summary: "Validates if a host is compatible with the requirements in an OVF package", - }, - Key: "OvfManager.validateHost", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Parse OVF descriptor", - Summary: "Parses and validates an OVF descriptor", - }, - Key: "OvfManager.parseDescriptor", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Convert OVF descriptor", - Summary: "Convert OVF descriptor to entity specification", - }, - Key: "OvfManager.createImportSpec", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create an OVF descriptor", - Summary: "Creates an OVF descriptor from either a VM or vApp", - }, - Key: "OvfManager.createDescriptor", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Parse OVF Descriptor at URL", - Summary: "Parses and validates an OVF descriptor at a given URL", - }, - Key: "OvfManager.parseDescriptorAtUrl", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Deploy OVF template", - Summary: "Deploys an OVF template from a URL", - }, - Key: "OvfManager.importOvfAtUrl", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Export as OVF template", - Summary: "Uploads OVF template to a remote server", - }, - Key: "OvfManager.exportOvfToUrl", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Download overhead computation script", - Summary: "Download overhead computation scheme script", - }, - Key: "OverheadService.downloadScript", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Download host configuration", - Summary: "Download host configuration consumed by overhead computation script", - }, - Key: "OverheadService.downloadHostConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Download VM configuration", - Summary: "Download VM configuration consumed by overhead computation script", - }, - Key: "OverheadService.downloadVMXConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "lookupVmOverheadMemory", - Summary: "lookupVmOverheadMemory", - }, - Key: "OverheadMemoryManager.lookupVmOverheadMemory", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Open remote disk for read/write", - Summary: "Opens a disk on a virtual machine for read/write access", - }, - Key: "NfcService.randomAccessOpen", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Open remote disk for read", - Summary: "Opens a disk on a virtual machine for read access", - }, - Key: "NfcService.randomAccessOpenReadonly", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "randomAccessFileOpen", - Summary: "randomAccessFileOpen", - }, - Key: "NfcService.randomAccessFileOpen", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Read virtual machine files", - Summary: "Read files associated with a virtual machine", - }, - Key: "NfcService.getVmFiles", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Write virtual machine files", - Summary: "Write files associated with a virtual machine", - }, - Key: "NfcService.putVmFiles", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Manipulate file paths", - Summary: "Permission to manipulate file paths", - }, - Key: "NfcService.fileManagement", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Manipulate system-related file paths", - Summary: "Permission to manipulate all system related file paths", - }, - Key: "NfcService.systemManagement", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "getServerNfcLibVersion", - Summary: "getServerNfcLibVersion", - }, - Key: "NfcService.getServerNfcLibVersion", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve associated License Data objects", - Summary: "Retrieves all the associated License Data objects", - }, - Key: "LicenseDataManager.queryEntityLicenseData", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve license data associated with managed entity", - Summary: "Retrieves the license data associated with a specified managed entity", - }, - Key: "LicenseDataManager.queryAssociatedLicenseData", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update entity license container", - Summary: "Updates the license container associated with a specified managed entity", - }, - Key: "LicenseDataManager.updateAssociatedLicenseData", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Apply associated license data to managed entity", - Summary: "Applies associated license data to a managed entity", - }, - Key: "LicenseDataManager.applyAssociatedLicenseData", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query network protocol profiles", - Summary: "Queries the list of network protocol profiles for a datacenter", - }, - Key: "IpPoolManager.queryIpPools", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create network protocol profile", - Summary: "Creates a new network protocol profile", - }, - Key: "IpPoolManager.createIpPool", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update network protocol profile", - Summary: "Updates a network protocol profile on a datacenter", - }, - Key: "IpPoolManager.updateIpPool", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Destroy network protocol profile", - Summary: "Destroys a network protocol profile on the given datacenter", - }, - Key: "IpPoolManager.destroyIpPool", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Allocates an IPv4 address", - Summary: "Allocates an IPv4 address from an IP pool", - }, - Key: "IpPoolManager.allocateIpv4Address", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Allocates an IPv6 address", - Summary: "Allocates an IPv6 address from an IP pool", - }, - Key: "IpPoolManager.allocateIpv6Address", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Releases an IP allocation", - Summary: "Releases an IP allocation back to an IP pool", - }, - Key: "IpPoolManager.releaseIpAllocation", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query IP allocations", - Summary: "Query IP allocations by IP pool and extension key", - }, - Key: "IpPoolManager.queryIPAllocations", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Install IO Filter", - Summary: "Installs an IO Filter on a compute resource", - }, - Key: "IoFilterManager.installIoFilter", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Uninstall IO Filter", - Summary: "Uninstalls an IO Filter from a compute resource", - }, - Key: "IoFilterManager.uninstallIoFilter", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Upgrade IO Filter", - Summary: "Upgrades an IO Filter on a compute resource", - }, - Key: "IoFilterManager.upgradeIoFilter", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query IO Filter installation issues", - Summary: "Queries IO Filter installation issues on a compute resource", - }, - Key: "IoFilterManager.queryIssue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryIoFilterInfo", - Summary: "queryIoFilterInfo", - }, - Key: "IoFilterManager.queryIoFilterInfo", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Resolve IO Filter installation errors on host", - Summary: "Resolves IO Filter installation errors on a host", - }, - Key: "IoFilterManager.resolveInstallationErrorsOnHost", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Resolve IO Filter installation errors on cluster", - Summary: "Resolves IO Filter installation errors on a cluster", - }, - Key: "IoFilterManager.resolveInstallationErrorsOnCluster", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query information about virtual disks using IO Filter", - Summary: "Queries information about virtual disks that use an IO Filter installed on a compute resource", - }, - Key: "IoFilterManager.queryDisksUsingFilter", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update IO Filter policy", - Summary: "Updates the policy to IO Filter mapping in vCenter Server", - }, - Key: "IoFilterManager.updateIoFilterPolicy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add an image library", - Summary: "Register an image library server with vCenter", - }, - Key: "ImageLibraryManager.addLibrary", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update image library", - Summary: "Update image library information", - }, - Key: "ImageLibraryManager.updateLibrary", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove an image library", - Summary: "Unregister an image library server from vCenter", - }, - Key: "ImageLibraryManager.removeLibrary", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Import from image library", - Summary: "Import files from the image library", - }, - Key: "ImageLibraryManager.importLibraryMedia", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Export to image library", - Summary: "Export files to the image library", - }, - Key: "ImageLibraryManager.exportMediaToLibrary", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Publish to image library", - Summary: "Publish files from datastore to image library", - }, - Key: "ImageLibraryManager.publishMediaToLibrary", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get lease download manifest", - Summary: "Gets the download manifest for this lease", - }, - Key: "HttpNfcLease.getManifest", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Complete the lease", - Summary: "The lease completed successfully", - }, - Key: "HttpNfcLease.complete", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "End the lease", - Summary: "The lease has ended", - }, - Key: "HttpNfcLease.abort", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update lease progress", - Summary: "Updates lease progress", - }, - Key: "HttpNfcLease.progress", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set latest page size", - Summary: "Set the last page viewed size and contain at most maxCount items in the page", - }, - Key: "HistoryCollector.setLatestPageSize", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rewind", - Summary: "Move the scroll position to the oldest item", - }, - Key: "HistoryCollector.rewind", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reset", - Summary: "Move the scroll position to the item just above the last page viewed", - }, - Key: "HistoryCollector.reset", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove collector", - Summary: "Remove the collector from server", - }, - Key: "HistoryCollector.remove", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Enable replication of virtual machine", - Summary: "Enable replication of virtual machine", - }, - Key: "HbrManager.enableReplication", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Disable replication of virtual machine", - Summary: "Disable replication of virtual machine", - }, - Key: "HbrManager.disableReplication", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigure replication for virtual machine", - Summary: "Reconfigure replication for virtual machine", - }, - Key: "HbrManager.reconfigureReplication", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve replication configuration of virtual machine", - Summary: "Retrieve replication configuration of virtual machine", - }, - Key: "HbrManager.retrieveReplicationConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Pause replication of virtual machine", - Summary: "Pause replication of virtual machine", - }, - Key: "HbrManager.pauseReplication", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Resume replication of virtual machine", - Summary: "Resume replication of virtual machine", - }, - Key: "HbrManager.resumeReplication", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Start a replication resynchronization for virtual machine", - Summary: "Start a replication resynchronization for virtual machine", - }, - Key: "HbrManager.fullSync", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Start new replication instance for virtual machine", - Summary: "Start extraction and transfer of a new replication instance for virtual machine", - }, - Key: "HbrManager.createInstance", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Replicate powered-off virtual machine", - Summary: "Transfer a replication instance for powered-off virtual machine", - }, - Key: "HbrManager.startOfflineInstance", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Stop replication of powered-off virtual machine", - Summary: "Stop replication of powered-off virtual machine", - }, - Key: "HbrManager.stopOfflineInstance", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query virtual machine replication state", - Summary: "Qureies the current state of a replicated virtual machine", - }, - Key: "HbrManager.queryReplicationState", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryReplicationCapabilities", - Summary: "queryReplicationCapabilities", - }, - Key: "HbrManager.queryReplicationCapabilities", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Unregister extension", - Summary: "Unregisters an extension", - }, - Key: "ExtensionManager.unregisterExtension", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Find extension", - Summary: "Find an extension", - }, - Key: "ExtensionManager.findExtension", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Register extension", - Summary: "Registers an extension", - }, - Key: "ExtensionManager.registerExtension", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update extension", - Summary: "Updates extension information", - }, - Key: "ExtensionManager.updateExtension", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get server public key", - Summary: "Get vCenter Server's public key", - }, - Key: "ExtensionManager.getPublicKey", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set extension public key", - Summary: "Set public key of the extension", - }, - Key: "ExtensionManager.setPublicKey", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set extension certificate", - Summary: "Update the stored authentication certificate for a specified extension", - }, - Key: "ExtensionManager.setCertificate", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update extension data", - Summary: "Updates extension-specific data associated with an extension", - }, - Key: "ExtensionManager.updateExtensionData", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query extension data", - Summary: "Retrieves extension-specific data associated with an extension", - }, - Key: "ExtensionManager.queryExtensionData", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query extension data keys", - Summary: "Retrieves extension-specific data keys associated with an extension", - }, - Key: "ExtensionManager.queryExtensionDataKeys", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Clear extension data", - Summary: "Clears extension-specific data associated with an extension", - }, - Key: "ExtensionManager.clearExtensionData", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query extension data usage", - Summary: "Retrieves statistics about the amount of data being stored by extensions registered with vCenter Server", - }, - Key: "ExtensionManager.queryExtensionDataUsage", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query entities managed by extension", - Summary: "Finds entities managed by an extension", - }, - Key: "ExtensionManager.queryManagedBy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query statistics about IP allocation usage", - Summary: "Query statistics about IP allocation usage, system-wide or for specified extensions", - }, - Key: "ExtensionManager.queryExtensionIpAllocationUsage", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create directory", - Summary: "Creates a top-level directory on the specified datastore", - }, - Key: "DatastoreNamespaceManager.CreateDirectory", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete directory", - Summary: "Deletes the specified top-level directory from the datastore", - }, - Key: "DatastoreNamespaceManager.DeleteDirectory", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "ConvertNamespacePathToUuidPath", - Summary: "ConvertNamespacePathToUuidPath", - }, - Key: "DatastoreNamespaceManager.ConvertNamespacePathToUuidPath", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Configure virtual disk digest", - Summary: "Controls the configuration of the digests for the virtual disks", - }, - Key: "CbrcManager.configureDigest", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Recompute virtual disk digest", - Summary: "Recomputes the digest for the given virtual disks, if necessary", - }, - Key: "CbrcManager.recomputeDigest", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query virtual disk digest configuration", - Summary: "Returns the current configuration of the digest for the given digest-enabled virtual disks", - }, - Key: "CbrcManager.queryDigestInfo", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query virtual disk digest runtime information", - Summary: "Returns the status of runtime digest usage for the given digest-enabled virtual disks", - }, - Key: "CbrcManager.queryDigestRuntimeInfo", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Prepare to upgrade", - Summary: "Deletes the content of the temporary directory on the host", - }, - Key: "AgentManager.prepareToUpgrade", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Upgrade", - Summary: "Validates and executes the installer/uninstaller executable uploaded to the temporary directory", - }, - Key: "AgentManager.upgrade", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Estimate database size", - Summary: "Estimates the database size required to store VirtualCenter data", - }, - Key: "ResourcePlanningManager.estimateDatabaseSize", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "registerProvider", - Summary: "registerProvider", - }, - Key: "HealthUpdateManager.registerProvider", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "unregisterProvider", - Summary: "unregisterProvider", - }, - Key: "HealthUpdateManager.unregisterProvider", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryProviderList", - Summary: "queryProviderList", - }, - Key: "HealthUpdateManager.queryProviderList", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "hasProvider", - Summary: "hasProvider", - }, - Key: "HealthUpdateManager.hasProvider", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryProviderName", - Summary: "queryProviderName", - }, - Key: "HealthUpdateManager.queryProviderName", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryHealthUpdateInfos", - Summary: "queryHealthUpdateInfos", - }, - Key: "HealthUpdateManager.queryHealthUpdateInfos", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "addMonitoredEntities", - Summary: "addMonitoredEntities", - }, - Key: "HealthUpdateManager.addMonitoredEntities", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "removeMonitoredEntities", - Summary: "removeMonitoredEntities", - }, - Key: "HealthUpdateManager.removeMonitoredEntities", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryMonitoredEntities", - Summary: "queryMonitoredEntities", - }, - Key: "HealthUpdateManager.queryMonitoredEntities", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "hasMonitoredEntity", - Summary: "hasMonitoredEntity", - }, - Key: "HealthUpdateManager.hasMonitoredEntity", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryUnmonitoredHosts", - Summary: "queryUnmonitoredHosts", - }, - Key: "HealthUpdateManager.queryUnmonitoredHosts", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "postHealthUpdates", - Summary: "postHealthUpdates", - }, - Key: "HealthUpdateManager.postHealthUpdates", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryHealthUpdates", - Summary: "queryHealthUpdates", - }, - Key: "HealthUpdateManager.queryHealthUpdates", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "addFilter", - Summary: "addFilter", - }, - Key: "HealthUpdateManager.addFilter", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryFilterList", - Summary: "queryFilterList", - }, - Key: "HealthUpdateManager.queryFilterList", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryFilterName", - Summary: "queryFilterName", - }, - Key: "HealthUpdateManager.queryFilterName", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryFilterInfoIds", - Summary: "queryFilterInfoIds", - }, - Key: "HealthUpdateManager.queryFilterInfoIds", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryFilterEntities", - Summary: "queryFilterEntities", - }, - Key: "HealthUpdateManager.queryFilterEntities", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "addFilterEntities", - Summary: "addFilterEntities", - }, - Key: "HealthUpdateManager.addFilterEntities", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "removeFilterEntities", - Summary: "removeFilterEntities", - }, - Key: "HealthUpdateManager.removeFilterEntities", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "removeFilter", - Summary: "removeFilter", - }, - Key: "HealthUpdateManager.removeFilter", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Find entity by UUID", - Summary: "Finds a virtual machine or host by UUID", - }, - Key: "SearchIndex.findByUuid", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Find virtual machine by datastore path", - Summary: "Finds a virtual machine by its location on a datastore", - }, - Key: "SearchIndex.findByDatastorePath", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Find entity by DNS", - Summary: "Finds a virtual machine or host by its DNS name", - }, - Key: "SearchIndex.findByDnsName", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Find entity by IP", - Summary: "Finds a virtual machine or host by IP address", - }, - Key: "SearchIndex.findByIp", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Find entity by inventory path", - Summary: "Finds a virtual machine or host based on its location in the inventory", - }, - Key: "SearchIndex.findByInventoryPath", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Find folder child", - Summary: "Finds an immediate child of a folder", - }, - Key: "SearchIndex.findChild", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Find by UUID", - Summary: "Find entities based on their UUID", - }, - Key: "SearchIndex.findAllByUuid", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Find by DNS name", - Summary: "Find by DNS name", - }, - Key: "SearchIndex.findAllByDnsName", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Find by IP address", - Summary: "Find entities based on their IP address", - }, - Key: "SearchIndex.findAllByIp", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "findAllInstantCloneParentInGroup", - Summary: "findAllInstantCloneParentInGroup", - }, - Key: "SearchIndex.findAllInstantCloneParentInGroup", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "findAllInstantCloneChildrenOfGroup", - Summary: "findAllInstantCloneChildrenOfGroup", - }, - Key: "SearchIndex.findAllInstantCloneChildrenOfGroup", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "fetchRelocatedMACAddress", - Summary: "fetchRelocatedMACAddress", - }, - Key: "NetworkManager.fetchRelocatedMACAddress", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check MAC addresses in use", - Summary: "Checks the MAC addresses used by this vCenter Server instance", - }, - Key: "NetworkManager.checkIfMACAddressInUse", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reclaim MAC addresses", - Summary: "Reclaims the MAC addresses that are not used by remote vCenter Server instances", - }, - Key: "NetworkManager.reclaimMAC", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check group membership", - Summary: "Check whether a user is a member of a given list of groups", - }, - Key: "UserDirectory.checkGroupMembership", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get user groups", - Summary: "Searches for users and groups", - }, - Key: "UserDirectory.retrieveUserGroups", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set task custom value", - Summary: "Sets the value of a custom field of a task", - }, - Key: "Task.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Cancel", - Summary: "Cancels a running/queued task", - }, - Key: "Task.cancel", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update progress", - Summary: "Update task progress", - }, - Key: "Task.UpdateProgress", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set task state", - Summary: "Sets task state", - }, - Key: "Task.setState", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update task description", - Summary: "Updates task description with the current phase of the task", - }, - Key: "Task.UpdateDescription", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query configuration option descriptor", - Summary: "Get the list of configuration option keys available in this browser", - }, - Key: "EnvironmentBrowser.queryConfigOptionDescriptor", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Configure option query", - Summary: "Search for a specific configuration option", - }, - Key: "EnvironmentBrowser.queryConfigOption", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryConfigOptionEx", - Summary: "queryConfigOptionEx", - }, - Key: "EnvironmentBrowser.queryConfigOptionEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query configuration target", - Summary: "Search for a specific configuration target", - }, - Key: "EnvironmentBrowser.queryConfigTarget", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query target capabilities", - Summary: "Query for compute-resource capabilities associated with this browser", - }, - Key: "EnvironmentBrowser.queryTargetCapabilities", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query virtual machine provisioning operation policy", - Summary: "Query environment browser for information about the virtual machine provisioning operation policy", - }, - Key: "EnvironmentBrowser.queryProvisioningPolicy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryConfigTargetSpec", - Summary: "queryConfigTargetSpec", - }, - Key: "EnvironmentBrowser.queryConfigTargetSpec", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set snapshot custom value", - Summary: "Sets the value of a custom field of a virtual machine snapshot", - }, - Key: "vm.Snapshot.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Revert snapshot", - Summary: "Change the execution state of the virtual machine to the state of this snapshot", - }, - Key: "vm.Snapshot.revert", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove snapshot", - Summary: "Remove snapshot and delete its associated storage", - }, - Key: "vm.Snapshot.remove", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rename snapshot", - Summary: "Rename the snapshot", - }, - Key: "vm.Snapshot.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create Linked Clone", - Summary: "Create a linked clone from this snapshot", - }, - Key: "vm.Snapshot.createLinkedClone", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Export OVF template", - Summary: "Export the snapshot as an OVF template", - }, - Key: "vm.Snapshot.exportSnapshot", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Pause", - Summary: "Pauses a virtual machine", - }, - Key: "vm.PauseManager.pause", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Unpause", - Summary: "Unpauses a virtual machine", - }, - Key: "vm.PauseManager.unpause", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Power on and pause", - Summary: "Powers on a virtual machine and pauses it immediately", - }, - Key: "vm.PauseManager.powerOnPaused", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create namespace", - Summary: "Create a virtual machine namespace", - }, - Key: "vm.NamespaceManager.createNamespace", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete namespace", - Summary: "Delete the virtual machine namespace", - }, - Key: "vm.NamespaceManager.deleteNamespace", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete all namespaces", - Summary: "Delete all namespaces associated with the virtual machine", - }, - Key: "vm.NamespaceManager.deleteAllNamespaces", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update namespace", - Summary: "Reconfigure the virtual machine namespace", - }, - Key: "vm.NamespaceManager.updateNamespace", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query namespace", - Summary: "Retrieve detailed information about the virtual machine namespace", - }, - Key: "vm.NamespaceManager.queryNamespace", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "List namespaces", - Summary: "Retrieve the list of all namespaces for a virtual machine", - }, - Key: "vm.NamespaceManager.listNamespaces", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Send event to the virtual machine", - Summary: "Queue event for delivery to the agent in the virtual machine", - }, - Key: "vm.NamespaceManager.sendEventToGuest", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Fetch events from the virtual machine", - Summary: "Retrieve events sent by the agent in the virtual machine", - }, - Key: "vm.NamespaceManager.fetchEventsFromGuest", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update data", - Summary: "Update key/value pairs accessible by the agent in the virtual machine", - }, - Key: "vm.NamespaceManager.updateData", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve data", - Summary: "Retrieve key/value pairs set by the agent in the virtual machine", - }, - Key: "vm.NamespaceManager.retrieveData", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "", - Summary: "", - }, - Key: "ServiceDirectory.queryServiceEndpointList", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Register service endpoint", - Summary: "Registers a service endpoint", - }, - Key: "ServiceDirectory.registerService", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Unregister service endpoint", - Summary: "Unregisters a service endpoint", - }, - Key: "ServiceDirectory.unregisterService", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Annotate OVF section tree", - Summary: "Annotates the given OVF section tree with configuration choices for this OVF consumer", - }, - Key: "OvfConsumer.annotateOst", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Validate instantiation OVF section tree", - Summary: "Validates that this OVF consumer can accept an instantiation OVF section tree", - }, - Key: "OvfConsumer.validateInstantiationOst", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Request registration of OVF section tree nodes", - Summary: "Notifies the OVF consumer that the specified OVF section tree nodes should be registered", - }, - Key: "OvfConsumer.registerEntities", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Request managed entities unregistration from OVF consumer", - Summary: "Notifies the OVF consumer that the specified managed entities should be unregistered", - }, - Key: "OvfConsumer.unregisterEntities", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Notify OVF consumer for cloned entities", - Summary: "Notifies the OVF consumer that the specified entities have been cloned", - }, - Key: "OvfConsumer.cloneEntities", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Populate entity OVF section tree", - Summary: "Create OVF sections for the given managed entities and populate the entity OVF section tree", - }, - Key: "OvfConsumer.populateEntityOst", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve public OVF environment sections for virtual machine ", - Summary: "Retrieves the public OVF environment sections that this OVF consumer has for a given virtual machine", - }, - Key: "OvfConsumer.retrievePublicOvfEnvironmentSections", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Notify OVF consumer for virtual machine power on", - Summary: "Notifies the OVF consumer that a virtual machine is about to be powered on", - }, - Key: "OvfConsumer.notifyPowerOn", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Specification exists", - Summary: "Check the existence of a specification", - }, - Key: "CustomizationSpecManager.exists", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get specification", - Summary: "Gets a specification", - }, - Key: "CustomizationSpecManager.get", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create new specification", - Summary: "Create a new specification", - }, - Key: "CustomizationSpecManager.create", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Overwrite specification", - Summary: "Overwrite an existing specification", - }, - Key: "CustomizationSpecManager.overwrite", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete specification", - Summary: "Delete a specification", - }, - Key: "CustomizationSpecManager.delete", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Duplicate specification", - Summary: "Duplicate a specification", - }, - Key: "CustomizationSpecManager.duplicate", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rename specification", - Summary: "Rename a specification", - }, - Key: "CustomizationSpecManager.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Convert specification item", - Summary: "Convert a specification item to XML text", - }, - Key: "CustomizationSpecManager.specItemToXml", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Convert XML item", - Summary: "Convert an XML string to a specification item", - }, - Key: "CustomizationSpecManager.xmlToSpecItem", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Validate required resources", - Summary: "Validate that required resources are available on the server to customize a particular guest operating system", - }, - Key: "CustomizationSpecManager.checkResources", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query supported features", - Summary: "Searches the current license source for licenses available from this system", - }, - Key: "LicenseManager.querySupportedFeatures", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query license source", - Summary: "Searches the current license source for licenses available for each feature known to this system", - }, - Key: "LicenseManager.querySourceAvailability", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query license usage", - Summary: "Returns the list of features and the number of licenses that have been reserved", - }, - Key: "LicenseManager.queryUsage", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set product edition", - Summary: "Defines the product edition", - }, - Key: "LicenseManager.setEdition", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check feature", - Summary: "Checks if a feature is enabled", - }, - Key: "LicenseManager.checkFeature", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Enable license", - Summary: "Enable a feature that is marked as user-configurable", - }, - Key: "LicenseManager.enable", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Disable license", - Summary: "Release licenses for a user-configurable feature", - }, - Key: "LicenseManager.disable", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Configure license source", - Summary: "Allows reconfiguration of the License Manager license source", - }, - Key: "LicenseManager.configureSource", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Installing license", - Summary: "Installing license", - }, - Key: "LicenseManager.updateLicense", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add license", - Summary: "Adds a new license to the license inventory", - }, - Key: "LicenseManager.addLicense", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove license", - Summary: "Removes a license from the license inventory", - }, - Key: "LicenseManager.removeLicense", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Decode license", - Summary: "Decodes the license to return the properties of that license key", - }, - Key: "LicenseManager.decodeLicense", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update license label", - Summary: "Update a license's label", - }, - Key: "LicenseManager.updateLabel", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove license label", - Summary: "Removes a license's label", - }, - Key: "LicenseManager.removeLabel", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get License Data Manager", - Summary: "Gets the License Data Manager", - }, - Key: "LicenseManager.queryLicenseDataManager", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Activate remote hard enforcement", - Summary: "Activates the remote hard enforcement", - }, - Key: "LicenseManager.activateRemoteHardEnforcement", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set datastore custom value", - Summary: "Sets the value of a custom field of a datastore", - }, - Key: "Datastore.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reload datastore", - Summary: "Reload information about the datastore", - }, - Key: "Datastore.reload", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rename datastore", - Summary: "Renames a datastore", - }, - Key: "Datastore.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove datastore", - Summary: "Removes a datastore if it is not used by any host or virtual machine", - }, - Key: "Datastore.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add Tag", - Summary: "Add a set of tags to the datastore", - }, - Key: "Datastore.addTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove tag", - Summary: "Remove a set of tags from the datastore", - }, - Key: "Datastore.removeTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveCustomValues", - Summary: "retrieveCustomValues", - }, - Key: "Datastore.retrieveCustomValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Refresh datastore", - Summary: "Refreshes free space on this datastore", - }, - Key: "Datastore.refresh", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Refresh storage information", - Summary: "Refresh the storage information of the datastore", - }, - Key: "Datastore.refreshStorageInfo", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update virtual machine files", - Summary: "Update virtual machine files on the datastore", - }, - Key: "Datastore.updateVirtualMachineFiles", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rename datastore", - Summary: "Rename the datastore", - }, - Key: "Datastore.renameDatastore", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete datastore", - Summary: "Delete datastore", - }, - Key: "Datastore.destroyDatastore", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Replace embedded file paths", - Summary: "Replace embedded file paths on the datastore", - }, - Key: "Datastore.replaceEmbeddedFilePaths", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Enter SDRS maintenance mode", - Summary: "Virtual machine evacuation recommendations from the selected datastore are generated for SDRS maintenance mode", - }, - Key: "Datastore.enterMaintenanceMode", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Exit SDRS maintenance mode", - Summary: "Exit SDRS maintenance mode", - }, - Key: "Datastore.exitMaintenanceMode", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get native clone capability", - Summary: "Check if the datastore supports native clone", - }, - Key: "Datastore.isNativeCloneCapable", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Cleanup locks", - Summary: "Cleanup lock files on NFSV3 datastore", - }, - Key: "Datastore.cleanupLocks", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "updateVVolVirtualMachineFiles", - Summary: "updateVVolVirtualMachineFiles", - }, - Key: "Datastore.updateVVolVirtualMachineFiles", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get current time", - Summary: "Returns the current time on the server", - }, - Key: "ServiceInstance.currentTime", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve content", - Summary: "Get the properties of the service instance", - }, - Key: "ServiceInstance.retrieveContent", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve internal properties", - Summary: "Retrieves the internal properties of the service instance", - }, - Key: "ServiceInstance.retrieveInternalContent", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Validate migration", - Summary: "Checks for errors and warnings of virtual machines migrated from one host to another", - }, - Key: "ServiceInstance.validateMigration", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query vMotion compatibility", - Summary: "Validates the vMotion compatibility of a set of hosts", - }, - Key: "ServiceInstance.queryVMotionCompatibility", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve product components", - Summary: "Component information for bundled products", - }, - Key: "ServiceInstance.retrieveProductComponents", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Refresh the CA certificates on the host", - Summary: "Refreshes the CA certificates on the host", - }, - Key: "CertificateManager.refreshCACertificatesAndCRLs", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Refresh the subject certificate on the host", - Summary: "Refreshes the subject certificate on the host", - }, - Key: "CertificateManager.refreshCertificates", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Revoke the subject certificate of a host", - Summary: "Revokes the subject certificate of a host", - }, - Key: "CertificateManager.revokeCertificates", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query service list", - Summary: "Location information that needs to match a service", - }, - Key: "ServiceManager.queryServiceList", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Creates a registry key", - Summary: "Creates a registry key in the Windows guest operating system", - }, - Key: "vm.guest.WindowsRegistryManager.createRegistryKey", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Lists all registry subkeys for a specified registry key", - Summary: "Lists all registry subkeys for a specified registry key in the Windows guest operating system.", - }, - Key: "vm.guest.WindowsRegistryManager.listRegistryKeys", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Deletes a registry key", - Summary: "Deletes a registry key in the Windows guest operating system", - }, - Key: "vm.guest.WindowsRegistryManager.deleteRegistryKey", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Sets and creates a registry value", - Summary: "Sets and creates a registry value in the Windows guest operating system", - }, - Key: "vm.guest.WindowsRegistryManager.setRegistryValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Lists all registry values for a specified registry key", - Summary: "Lists all registry values for a specified registry key in the Windows guest operating system", - }, - Key: "vm.guest.WindowsRegistryManager.listRegistryValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Deletes a registry value", - Summary: "Deletes a registry value in the Windows guest operating system", - }, - Key: "vm.guest.WindowsRegistryManager.deleteRegistryValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Start a program in the guest", - Summary: "Start a program in the guest operating system", - }, - Key: "vm.guest.ProcessManager.startProgram", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "List processes in the guest", - Summary: "List processes in the guest operating system", - }, - Key: "vm.guest.ProcessManager.listProcesses", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Terminate a process in the guest", - Summary: "Terminate a process in the guest operating system", - }, - Key: "vm.guest.ProcessManager.terminateProcess", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Read an environment variable in the guest", - Summary: "Read an environment variable in the guest operating system", - }, - Key: "vm.guest.ProcessManager.readEnvironmentVariable", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query disabled guest operations", - Summary: "Returns a list of guest operations not supported by a virtual machine", - }, - Key: "vm.guest.GuestOperationsManager.queryDisabledMethods", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create a directory in the guest", - Summary: "Create a directory in the guest operating system", - }, - Key: "vm.guest.FileManager.makeDirectory", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete a file in the guest", - Summary: "Delete a file in the guest operating system", - }, - Key: "vm.guest.FileManager.deleteFile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete a directory in the guest", - Summary: "Delete a directory in the guest operating system", - }, - Key: "vm.guest.FileManager.deleteDirectory", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Move or rename a directory in the guest", - Summary: "Move or rename a directory in the guest operating system", - }, - Key: "vm.guest.FileManager.moveDirectory", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Move or rename a file in the guest", - Summary: "Move or rename a file in the guest operating system", - }, - Key: "vm.guest.FileManager.moveFile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create a temporary file in the guest", - Summary: "Create a temporary file in the guest operating system", - }, - Key: "vm.guest.FileManager.createTemporaryFile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create a temporary directory in the guest", - Summary: "Create a temporary directory in the guest operating system", - }, - Key: "vm.guest.FileManager.createTemporaryDirectory", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "List files or directories in the guest", - Summary: "List files or directories in the guest operating system", - }, - Key: "vm.guest.FileManager.listFiles", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Change the attributes of a file in the guest", - Summary: "Change the attributes of a file in the guest operating system", - }, - Key: "vm.guest.FileManager.changeFileAttributes", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Initiates an operation to transfer a file from the guest", - Summary: "Initiates an operation to transfer a file from the guest operating system", - }, - Key: "vm.guest.FileManager.initiateFileTransferFromGuest", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Initiates an operation to transfer a file to the guest", - Summary: "Initiates an operation to transfer a file to the guest operating system", - }, - Key: "vm.guest.FileManager.initiateFileTransferToGuest", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add an alias to the alias store in the guest", - Summary: "Add an alias to the alias store in the guest operating system", - }, - Key: "vm.guest.AliasManager.addAlias", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove an alias from the alias store in the guest", - Summary: "Remove an alias from the alias store in the guest operating system", - }, - Key: "vm.guest.AliasManager.removeAlias", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove all aliases associated with a SSO Server certificate from the guest", - Summary: "Remove all aliases associated with a SSO Server certificate from the guest operating system", - }, - Key: "vm.guest.AliasManager.removeAliasByCert", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "List all aliases for a user in the guest", - Summary: "List all aliases for a user in the guest operating system", - }, - Key: "vm.guest.AliasManager.listAliases", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "List all mapped aliases in the guest", - Summary: "List all mapped aliases in the guest operating system", - }, - Key: "vm.guest.AliasManager.listMappedAliases", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Configure workload model calculation parameters for datastore", - Summary: "Configures calculation parameters used for computation of workload model for a datastore", - }, - Key: "DrsStatsManager.configureWorkloadCharacterization", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query current workload model calculation parameters", - Summary: "Queries a host for the current workload model calculation parameters", - }, - Key: "DrsStatsManager.queryWorkloadCharacterization", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Configure datastore correlation detector", - Summary: "Configures datastore correlation detector with datastore to datastore cluster mappings", - }, - Key: "DrsStatsManager.configureCorrelationDetector", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query datastore correlation result", - Summary: "Queries correlation detector for a list of datastores correlated to a given datastore", - }, - Key: "DrsStatsManager.queryCorrelationResult", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set firewall custom value", - Summary: "Sets the value of a custom field of a host firewall system", - }, - Key: "host.FirewallSystem.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update default firewall policy", - Summary: "Updates the default firewall policy", - }, - Key: "host.FirewallSystem.updateDefaultPolicy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Open firewall ports", - Summary: "Open the firewall ports belonging to the specified ruleset", - }, - Key: "host.FirewallSystem.enableRuleset", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Block firewall ports", - Summary: "Block the firewall ports belonging to the specified ruleset", - }, - Key: "host.FirewallSystem.disableRuleset", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update allowed IP list of the firewall ruleset", - Summary: "Update the allowed IP list of the specified ruleset", - }, - Key: "host.FirewallSystem.updateRuleset", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Refresh firewall information", - Summary: "Refresh the firewall information and settings to detect any changes made directly on the host", - }, - Key: "host.FirewallSystem.refresh", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update local swap datastore", - Summary: "Changes the datastore for virtual machine swap files", - }, - Key: "host.DatastoreSystem.updateLocalSwapDatastore", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve disks for VMFS datastore", - Summary: "Retrieves the list of disks that can be used to contain VMFS datastore extents", - }, - Key: "host.DatastoreSystem.queryAvailableDisksForVmfs", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query datastore create options", - Summary: "Queries options for creating a new VMFS datastore for a disk", - }, - Key: "host.DatastoreSystem.queryVmfsDatastoreCreateOptions", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create VMFS datastore", - Summary: "Creates a new VMFS datastore", - }, - Key: "host.DatastoreSystem.createVmfsDatastore", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query datastore extend options", - Summary: "Queries options for extending an existing VMFS datastore for a disk", - }, - Key: "host.DatastoreSystem.queryVmfsDatastoreExtendOptions", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query VMFS datastore expand options", - Summary: "Query the options available for expanding the extents of a VMFS datastore", - }, - Key: "host.DatastoreSystem.queryVmfsDatastoreExpandOptions", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Extend datastore", - Summary: "Extends an existing VMFS datastore", - }, - Key: "host.DatastoreSystem.extendVmfsDatastore", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Expand VMFS datastore", - Summary: "Expand the capacity of a VMFS datastore extent", - }, - Key: "host.DatastoreSystem.expandVmfsDatastore", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "processVmfsDatastoreUpdate", - Summary: "processVmfsDatastoreUpdate", - }, - Key: "host.DatastoreSystem.processVmfsDatastoreUpdate", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create NAS datastore", - Summary: "Creates a new Network Attached Storage (NAS) datastore", - }, - Key: "host.DatastoreSystem.createNasDatastore", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create local datastore", - Summary: "Creates a new local datastore", - }, - Key: "host.DatastoreSystem.createLocalDatastore", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update Virtual Volume datastore", - Summary: "Updates the Virtual Volume datastore configuration according to the provided settings", - }, - Key: "host.DatastoreSystem.UpdateVvolDatastoreInternal", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create Virtual Volume datastore", - Summary: "Creates a datastore backed by a Virtual Volume storage container", - }, - Key: "host.DatastoreSystem.createVvolDatastoreInternal", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create Virtual Volume datastore", - Summary: "Creates a Virtuial Volume datastore", - }, - Key: "host.DatastoreSystem.createVvolDatastore", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove datastore", - Summary: "Removes a datastore from a host", - }, - Key: "host.DatastoreSystem.removeDatastore", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove datastores", - Summary: "Removes one or more datastores from a host", - }, - Key: "host.DatastoreSystem.removeDatastoreEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Configure datastore principal", - Summary: "Configures datastore principal user for the host", - }, - Key: "host.DatastoreSystem.configureDatastorePrincipal", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query unbound VMFS volumes", - Summary: "Gets the list of unbound VMFS volumes", - }, - Key: "host.DatastoreSystem.queryUnresolvedVmfsVolumes", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Resignature unresolved VMFS volume", - Summary: "Resignature unresolved VMFS volume with new VMFS identifier", - }, - Key: "host.DatastoreSystem.resignatureUnresolvedVmfsVolume", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "NotifyDatastore", - Summary: "NotifyDatastore", - }, - Key: "host.DatastoreSystem.NotifyDatastore", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check accessibility", - Summary: "Check if the file objects for the specified virtual machine IDs are accessible", - }, - Key: "host.DatastoreSystem.checkVmFileAccessibility", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Join Windows Domain", - Summary: "Enables ActiveDirectory authentication on the host", - }, - Key: "host.ActiveDirectoryAuthentication.joinDomain", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Join Windows Domain through vSphere Authentication Proxy service", - Summary: "Enables Active Directory authentication on the host using a vSphere Authentication Proxy server", - }, - Key: "host.ActiveDirectoryAuthentication.joinDomainWithCAM", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Import the certificate of vSphere Authentication Proxy server", - Summary: "Import the certificate of vSphere Authentication Proxy server to ESXi's authentication store", - }, - Key: "host.ActiveDirectoryAuthentication.importCertificateForCAM", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Leave Windows Domain", - Summary: "Disables ActiveDirectory authentication on the host", - }, - Key: "host.ActiveDirectoryAuthentication.leaveCurrentDomain", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Enable Smart Card Authentication", - Summary: "Enables smart card authentication of ESXi Direct Console UI users", - }, - Key: "host.ActiveDirectoryAuthentication.enableSmartCardAuthentication", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Install a Smart Card Trust Anchor", - Summary: "Installs a smart card trust anchor on the host", - }, - Key: "host.ActiveDirectoryAuthentication.installSmartCardTrustAnchor", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "replaceSmartCardTrustAnchors", - Summary: "replaceSmartCardTrustAnchors", - }, - Key: "host.ActiveDirectoryAuthentication.replaceSmartCardTrustAnchors", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove a Smart Card Trust Anchor", - Summary: "Removes an installed smart card trust anchor from the host", - }, - Key: "host.ActiveDirectoryAuthentication.removeSmartCardTrustAnchor", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove Smart Card Trust Anchor", - Summary: "Removes the installed smart card trust anchor from the host", - }, - Key: "host.ActiveDirectoryAuthentication.removeSmartCardTrustAnchorByFingerprint", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "List Smart Card Trust Anchors", - Summary: "Lists the smart card trust anchors installed on the host", - }, - Key: "host.ActiveDirectoryAuthentication.listSmartCardTrustAnchors", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Disable Smart Card Authentication", - Summary: "Disables smart card authentication of ESXi Direct Console UI users", - }, - Key: "host.ActiveDirectoryAuthentication.disableSmartCardAuthentication", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update VMCI access rights", - Summary: "Updates VMCI (Virtual Machine Communication Interface) access rights for one or more virtual machines", - }, - Key: "host.VmciAccessManager.updateAccess", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve VMCI service rights granted to virtual machine", - Summary: "Retrieve VMCI (Virtual Machine Communication Interface) service rights granted to a VM", - }, - Key: "host.VmciAccessManager.retrieveGrantedServices", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query virtual machines with access to VMCI service", - Summary: "Gets the VMs with granted access to a service", - }, - Key: "host.VmciAccessManager.queryAccessToService", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create new identity binding", - Summary: "Creates a new identity binding between the host and vCenter Server", - }, - Key: "host.TpmManager.requestIdentity", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Verify authenticity of credential", - Summary: "Verifies the authenticity and correctness of the supplied attestation credential", - }, - Key: "host.TpmManager.verifyCredential", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Generate integrity report", - Summary: "Generates an integrity report for the selected components", - }, - Key: "host.TpmManager.generateReport", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigure SNMP agent", - Summary: "Reconfigure the SNMP agent", - }, - Key: "host.SnmpSystem.reconfigureSnmpAgent", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Send test notification", - Summary: "Send test notification", - }, - Key: "host.SnmpSystem.sendTestNotification", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set service custom value", - Summary: "Sets the value of a custom field of a host service system.", - }, - Key: "host.ServiceSystem.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update service activation policy", - Summary: "Updates the activation policy of the service", - }, - Key: "host.ServiceSystem.updatePolicy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Start service", - Summary: "Starts the service", - }, - Key: "host.ServiceSystem.start", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Stop service", - Summary: "Stops the service", - }, - Key: "host.ServiceSystem.stop", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Restart service", - Summary: "Restarts the service", - }, - Key: "host.ServiceSystem.restart", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Uninstall service", - Summary: "Uninstalls the service", - }, - Key: "host.ServiceSystem.uninstall", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Refresh service information", - Summary: "Refresh the service information and settings to detect any changes made directly on the host", - }, - Key: "host.ServiceSystem.refresh", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check", - Summary: "Check for dependencies, conflicts, and obsolete updates", - }, - Key: "host.PatchManager.Check", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Scan", - Summary: "Scan the host for patch status", - }, - Key: "host.PatchManager.Scan", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Scan", - Summary: "Scan the host for patch status", - }, - Key: "host.PatchManager.ScanV2", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Stage", - Summary: "Stage the updates to the host", - }, - Key: "host.PatchManager.Stage", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Install", - Summary: "Install the patch", - }, - Key: "host.PatchManager.Install", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Install", - Summary: "Install the patch", - }, - Key: "host.PatchManager.InstallV2", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Uninstall", - Summary: "Uninstall the patch", - }, - Key: "host.PatchManager.Uninstall", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query", - Summary: "Query the host for installed bulletins", - }, - Key: "host.PatchManager.Query", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "createEntry", - Summary: "createEntry", - }, - Key: "host.OperationCleanupManager.createEntry", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "updateEntry", - Summary: "updateEntry", - }, - Key: "host.OperationCleanupManager.updateEntry", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryEntry", - Summary: "queryEntry", - }, - Key: "host.OperationCleanupManager.queryEntry", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set memory manager custom value", - Summary: "Sets the value of a custom field of a host memory manager system", - }, - Key: "host.MemoryManagerSystem.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set console memory reservation", - Summary: "Set the configured service console memory reservation", - }, - Key: "host.MemoryManagerSystem.reconfigureServiceConsoleReservation", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigure virtual machine reservation", - Summary: "Updates the virtual machine reservation information", - }, - Key: "host.MemoryManagerSystem.reconfigureVirtualMachineReservation", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "promoteDisks", - Summary: "promoteDisks", - }, - Key: "host.LowLevelProvisioningManager.promoteDisks", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create virtual machine", - Summary: "Creates a virtual machine on disk", - }, - Key: "host.LowLevelProvisioningManager.createVm", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete virtual machine", - Summary: "Deletes a virtual machine on disk", - }, - Key: "host.LowLevelProvisioningManager.deleteVm", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete virtual machine without deleting its virtual disks", - Summary: "Deletes a virtual machine from its storage, all virtual machine files are deleted except its associated virtual disks", - }, - Key: "host.LowLevelProvisioningManager.deleteVmExceptDisks", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve virtual machine recovery information", - Summary: "Retrieves virtual machine recovery information", - }, - Key: "host.LowLevelProvisioningManager.retrieveVmRecoveryInfo", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve last virtual machine migration status", - Summary: "Retrieves the last virtual machine migration status if available", - }, - Key: "host.LowLevelProvisioningManager.retrieveLastVmMigrationStatus", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigure virtual machine", - Summary: "Reconfigures the virtual machine", - }, - Key: "host.LowLevelProvisioningManager.reconfigVM", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reload disks", - Summary: "Reloads virtual disk information", - }, - Key: "host.LowLevelProvisioningManager.reloadDisks", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Consolidate disks", - Summary: "Consolidates virtual disks", - }, - Key: "host.LowLevelProvisioningManager.consolidateDisks", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update snapshot layout information", - Summary: "Updates the snapshot layout information of a virtual machine and reloads its snapshots", - }, - Key: "host.LowLevelProvisioningManager.relayoutSnapshots", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reserve files for provisioning", - Summary: "Reserves files or directories on a datastore to be used for a provisioning", - }, - Key: "host.LowLevelProvisioningManager.reserveFiles", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete files", - Summary: "Deletes a list of files from a datastore", - }, - Key: "host.LowLevelProvisioningManager.deleteFiles", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Extract NVRAM content", - Summary: "Extracts the NVRAM content from a checkpoint file", - }, - Key: "host.LowLevelProvisioningManager.extractNvramContent", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set resource pool custom value", - Summary: "Sets the value of a custom field of a resource pool of physical resources", - }, - Key: "ResourcePool.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reload resource pool", - Summary: "Reload the resource pool", - }, - Key: "ResourcePool.reload", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rename resource pool", - Summary: "Rename the resource pool", - }, - Key: "ResourcePool.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete resource pool", - Summary: "Delete the resource pool, which also deletes its contents and removes it from its parent folder (if any)", - }, - Key: "ResourcePool.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add tag", - Summary: "Add a set of tags to the resource pool", - }, - Key: "ResourcePool.addTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove tag", - Summary: "Remove a set of tags from the resource pool", - }, - Key: "ResourcePool.removeTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveCustomValues", - Summary: "retrieveCustomValues", - }, - Key: "ResourcePool.retrieveCustomValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update resource pool configuration", - Summary: "Updates the resource pool configuration", - }, - Key: "ResourcePool.updateConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Move into resource pool", - Summary: "Moves a set of resource pools or virtual machines into this pool", - }, - Key: "ResourcePool.moveInto", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update child resource configuration", - Summary: "Change the resource configuration of a set of children of the resource pool", - }, - Key: "ResourcePool.updateChildResourceConfiguration", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create resource pool", - Summary: "Creates a new resource pool", - }, - Key: "ResourcePool.createResourcePool", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete resource pool children", - Summary: "Removes all child resource pools recursively", - }, - Key: "ResourcePool.destroyChildren", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create vApp", - Summary: "Creates a child vApp of this resource pool", - }, - Key: "ResourcePool.createVApp", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create virtual machine", - Summary: "Creates a virtual machine in this resource pool", - }, - Key: "ResourcePool.createVm", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Register virtual machine", - Summary: "Adds an existing virtual machine to this resource pool", - }, - Key: "ResourcePool.registerVm", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Deploy OVF template", - Summary: "Deploys a virtual machine or vApp", - }, - Key: "ResourcePool.importVApp", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query resource pool resource configuration options", - Summary: "Returns configuration options for a set of resources for a resource pool", - }, - Key: "ResourcePool.queryResourceConfigOption", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Refresh resource runtime information", - Summary: "Refreshes the resource usage runtime information", - }, - Key: "ResourcePool.refreshRuntime", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create user", - Summary: "Creates a local user account", - }, - Key: "host.LocalAccountManager.createUser", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update user", - Summary: "Updates a local user account", - }, - Key: "host.LocalAccountManager.updateUser", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create group", - Summary: "Creates a local group account", - }, - Key: "host.LocalAccountManager.createGroup", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete user", - Summary: "Removes a local user account", - }, - Key: "host.LocalAccountManager.removeUser", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove group", - Summary: "Removes a local group account", - }, - Key: "host.LocalAccountManager.removeGroup", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Assign user to group", - Summary: "Assign user to group", - }, - Key: "host.LocalAccountManager.assignUserToGroup", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Unassign user from group", - Summary: "Unassigns a user from a group", - }, - Key: "host.LocalAccountManager.unassignUserFromGroup", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query whether virtual NIC is used by iSCSI multi-pathing", - Summary: "Query whether virtual NIC is used by iSCSI multi-pathing", - }, - Key: "host.IscsiManager.queryVnicStatus", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query whether physical NIC is used by iSCSI multi-pathing", - Summary: "Query whether physical NIC is used by iSCSI multi-pathing", - }, - Key: "host.IscsiManager.queryPnicStatus", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query all the virtual NICs used by iSCSI multi-pathing", - Summary: "Query all the virtual NICs used by iSCSI multi-pathing", - }, - Key: "host.IscsiManager.queryBoundVnics", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query candidate virtual NICs that can be used for iSCSI multi-pathing", - Summary: "Query candidate virtual NICs that can be used for iSCSI multi-pathing", - }, - Key: "host.IscsiManager.queryCandidateNics", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add virtual NIC to iSCSI Adapter", - Summary: "Add virtual NIC to iSCSI Adapter", - }, - Key: "host.IscsiManager.bindVnic", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove virtual NIC from iSCSI Adapter", - Summary: "Remove virtual NIC from iSCSI Adapter", - }, - Key: "host.IscsiManager.unbindVnic", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query migration dependencies for migrating the physical and virtual NICs", - Summary: "Query migration dependencies for migrating the physical and virtual NICs", - }, - Key: "host.IscsiManager.queryMigrationDependencies", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get acceptance level for host image configuration", - Summary: "Get acceptance level settings for host image configuration", - }, - Key: "host.ImageConfigManager.queryHostAcceptanceLevel", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query host image profile", - Summary: "Queries the current host image profile information", - }, - Key: "host.ImageConfigManager.queryHostImageProfile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update acceptance level", - Summary: "Updates the acceptance level of a host", - }, - Key: "host.ImageConfigManager.updateAcceptanceLevel", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "fetchSoftwarePackages", - Summary: "fetchSoftwarePackages", - }, - Key: "host.ImageConfigManager.fetchSoftwarePackages", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "installDate", - Summary: "installDate", - }, - Key: "host.ImageConfigManager.installDate", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve access entries", - Summary: "Retrieves the access mode for each user or group with access permissions on the host", - }, - Key: "host.HostAccessManager.retrieveAccessEntries", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Change access mode", - Summary: "Changes the access mode for a user or group on the host", - }, - Key: "host.HostAccessManager.changeAccessMode", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve special DCUI access users", - Summary: "Retrieves the list of users with special access to DCUI", - }, - Key: "host.HostAccessManager.queryDcuiAccess", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update special DCUI access users", - Summary: "Updates the list of users with special access to DCUI", - }, - Key: "host.HostAccessManager.updateDcuiAccess", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve system users", - Summary: "Retrieve the list of special system users on the host", - }, - Key: "host.HostAccessManager.querySystemUsers", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update system users", - Summary: "Updates the list of special system users on the host", - }, - Key: "host.HostAccessManager.updateSystemUsers", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query lockdown exceptions", - Summary: "Queries the current list of user exceptions for lockdown mode", - }, - Key: "host.HostAccessManager.queryLockdownExceptions", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update lockdown exceptions", - Summary: "Updates the current list of user exceptions for lockdown mode", - }, - Key: "host.HostAccessManager.updateLockdownExceptions", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Change lockdown mode", - Summary: "Changes lockdown mode on the host", - }, - Key: "host.HostAccessManager.changeLockdownMode", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reset to factory default", - Summary: "Reset the configuration to factory default", - }, - Key: "host.FirmwareSystem.resetToFactoryDefaults", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Backup configuration", - Summary: "Backup the configuration of the host", - }, - Key: "host.FirmwareSystem.backupConfiguration", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query configuration upload URL", - Summary: "Host configuration must be uploaded for a restore operation", - }, - Key: "host.FirmwareSystem.queryConfigUploadURL", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Restore configuration", - Summary: "Restore configuration of the host", - }, - Key: "host.FirmwareSystem.restoreConfiguration", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Flush firmware configuration", - Summary: "Writes the configuration of the firmware system to persistent storage", - }, - Key: "host.FirmwareSystem.syncConfiguration", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryQuantumMinutes", - Summary: "queryQuantumMinutes", - }, - Key: "host.FirmwareSystem.queryQuantumMinutes", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "querySyncsPerQuantum", - Summary: "querySyncsPerQuantum", - }, - Key: "host.FirmwareSystem.querySyncsPerQuantum", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update ESX agent configuration", - Summary: "Updates the ESX agent configuration of a host", - }, - Key: "host.EsxAgentHostManager.updateConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Renew disk lease", - Summary: "Renew a lease to prevent it from timing out", - }, - Key: "host.DiskManager.Lease.renew", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Release disk lease", - Summary: "End the lease if it is still active", - }, - Key: "host.DiskManager.Lease.release", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Allocate blocks", - Summary: "Prepare for writing to blocks", - }, - Key: "host.DiskManager.Lease.allocateBlocks", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Clear lazy zero", - Summary: "Honor the contents of a block range", - }, - Key: "host.DiskManager.Lease.clearLazyZero", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Map disk region", - Summary: "Mapping a specified region of a virtual disk", - }, - Key: "host.DiskManager.Lease.MapDiskRegion", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Acquire disk lease", - Summary: "Acquire a lease for the files associated with the virtual disk referenced by the given datastore path", - }, - Key: "host.DiskManager.acquireLease", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Acquire lease extension", - Summary: "Acquires a lease for the files associated with the virtual disk of a virtual machine", - }, - Key: "host.DiskManager.acquireLeaseExt", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Renew all leases", - Summary: "Resets the watchdog timer and confirms that all the locks for all the disks managed by this watchdog are still valid", - }, - Key: "host.DiskManager.renewAllLeases", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update configuration", - Summary: "Update the date and time on the host", - }, - Key: "host.DateTimeSystem.updateConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query available time zones", - Summary: "Retrieves the list of available time zones on the host", - }, - Key: "host.DateTimeSystem.queryAvailableTimeZones", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query date and time", - Summary: "Get the current date and time on the host", - }, - Key: "host.DateTimeSystem.queryDateTime", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update date or time", - Summary: "Update the date/time on the host", - }, - Key: "host.DateTimeSystem.updateDateTime", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Refresh", - Summary: "Refresh the date and time settings", - }, - Key: "host.DateTimeSystem.refresh", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Search datastore", - Summary: "Returns the information for the files that match the given search criteria", - }, - Key: "host.DatastoreBrowser.search", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Search datastore subfolders", - Summary: "Returns the information for the files that match the given search criteria", - }, - Key: "host.DatastoreBrowser.searchSubFolders", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete datastore file", - Summary: "Deletes the specified files from the datastore", - }, - Key: "host.DatastoreBrowser.deleteFile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set CPU scheduler system custom value", - Summary: "Sets the value of a custom field of a host CPU scheduler", - }, - Key: "host.CpuSchedulerSystem.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Enable hyperthreading", - Summary: "Enable hyperthreads as schedulable resources", - }, - Key: "host.CpuSchedulerSystem.enableHyperThreading", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Disable hyperthreading", - Summary: "Disable hyperthreads as schedulable resources", - }, - Key: "host.CpuSchedulerSystem.disableHyperThreading", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Generate a certificate signing request", - Summary: "Generates a certificate signing request (CSR) for the host", - }, - Key: "host.CertificateManager.generateCertificateSigningRequest", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Generate a certificate signing request using the specified Distinguished Name", - Summary: "Generates a certificate signing request (CSR) for the host using the specified Distinguished Name", - }, - Key: "host.CertificateManager.generateCertificateSigningRequestByDn", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Install a server certificate", - Summary: "Installs a server certificate for the host", - }, - Key: "host.CertificateManager.installServerCertificate", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Replace CA certificates and certificate revocation lists", - Summary: "Replaces the CA certificates and certificate revocation lists (CRLs) on the host", - }, - Key: "host.CertificateManager.replaceCACertificatesAndCRLs", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Notify services affected by SSL credentials change", - Summary: "Notifies the host services affected by SSL credentials change", - }, - Key: "host.CertificateManager.notifyAffectedServices", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "List CA certificates", - Summary: "Lists the CA certificates on the host", - }, - Key: "host.CertificateManager.listCACertificates", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "List CA certificate revocation lists", - Summary: "Lists the CA certificate revocation lists (CRLs) on the host", - }, - Key: "host.CertificateManager.listCACertificateRevocationLists", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get boot devices", - Summary: "Get available boot devices for the host system", - }, - Key: "host.BootDeviceSystem.queryBootDevices", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update boot device", - Summary: "Update the boot device on the host system", - }, - Key: "host.BootDeviceSystem.updateBootDevice", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set latest page size", - Summary: "Set the last page viewed size and contain at most maxCount items in the page", - }, - Key: "TaskHistoryCollector.setLatestPageSize", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rewind", - Summary: "Move the scroll position to the oldest item", - }, - Key: "TaskHistoryCollector.rewind", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reset", - Summary: "Move the scroll position to the item just above the last page viewed", - }, - Key: "TaskHistoryCollector.reset", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove collector", - Summary: "Remove the collector from server", - }, - Key: "TaskHistoryCollector.remove", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Read next", - Summary: "The scroll position is moved to the next new page after the read", - }, - Key: "TaskHistoryCollector.readNext", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Read previous", - Summary: "The scroll position is moved to the next older page after the read", - }, - Key: "TaskHistoryCollector.readPrev", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "waitForChanges", - Summary: "waitForChanges", - }, - Key: "cdc.ChangeLogCollector.waitForChanges", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "initializeSequence", - Summary: "initializeSequence", - }, - Key: "cdc.ChangeLogCollector.initializeSequence", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "exchangeSequence", - Summary: "exchangeSequence", - }, - Key: "cdc.ChangeLogCollector.exchangeSequence", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set alarm custom value", - Summary: "Sets the value of a custom field of an alarm", - }, - Key: "alarm.Alarm.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove alarm", - Summary: "Remove the alarm", - }, - Key: "alarm.Alarm.remove", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigure alarm", - Summary: "Reconfigure the alarm", - }, - Key: "alarm.Alarm.reconfigure", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove managed object", - Summary: "Remove the managed objects", - }, - Key: "view.ManagedObjectView.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create scheduled task", - Summary: "Create a scheduled task", - }, - Key: "scheduler.ScheduledTaskManager.create", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve scheduled task", - Summary: "Available scheduled tasks defined on the entity", - }, - Key: "scheduler.ScheduledTaskManager.retrieveEntityScheduledTask", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create scheduled task", - Summary: "Create a scheduled task", - }, - Key: "scheduler.ScheduledTaskManager.createObjectScheduledTask", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve scheduled task", - Summary: "Available scheduled tasks defined on the object", - }, - Key: "scheduler.ScheduledTaskManager.retrieveObjectScheduledTask", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set scheduled task custom value", - Summary: "Sets the value of a custom field of a scheduled task", - }, - Key: "scheduler.ScheduledTask.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove scheduled task", - Summary: "Remove the scheduled task", - }, - Key: "scheduler.ScheduledTask.remove", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigure scheduled task", - Summary: "Reconfigure the scheduled task properties", - }, - Key: "scheduler.ScheduledTask.reconfigure", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Run scheduled task", - Summary: "Run the scheduled task immediately", - }, - Key: "scheduler.ScheduledTask.run", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create inventory view", - Summary: "Create a view for browsing the inventory and tracking changes to open folders", - }, - Key: "view.ViewManager.createInventoryView", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create container view", - Summary: "Create a view for monitoring the contents of a single container", - }, - Key: "view.ViewManager.createContainerView", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create list view", - Summary: "Create a view for getting updates", - }, - Key: "view.ViewManager.createListView", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create list view", - Summary: "Create a list view from an existing view", - }, - Key: "view.ViewManager.createListViewFromView", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove view", - Summary: "Remove view", - }, - Key: "view.View.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create vSphere Distributed Switch", - Summary: "Create vSphere Distributed Switch", - }, - Key: "dvs.HostDistributedVirtualSwitchManager.createDistributedVirtualSwitch", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove vSphere Distributed Switch", - Summary: "Remove vSphere Distributed Switch", - }, - Key: "dvs.HostDistributedVirtualSwitchManager.removeDistributedVirtualSwitch", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigure vSphere Distributed Switch", - Summary: "Reconfigure vSphere Distributed Switch", - }, - Key: "dvs.HostDistributedVirtualSwitchManager.reconfigureDistributedVirtualSwitch", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update dvPort", - Summary: "Update dvPort", - }, - Key: "dvs.HostDistributedVirtualSwitchManager.updatePorts", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete ports", - Summary: "Delete ports", - }, - Key: "dvs.HostDistributedVirtualSwitchManager.deletePorts", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve port state", - Summary: "Retrieve port state", - }, - Key: "dvs.HostDistributedVirtualSwitchManager.fetchPortState", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Clone port", - Summary: "Clone port", - }, - Key: "dvs.HostDistributedVirtualSwitchManager.clonePort", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve vSphere Distributed Switch configuration specification", - Summary: "Retrieve vSphere Distributed Switch configuration specification", - }, - Key: "dvs.HostDistributedVirtualSwitchManager.retrieveDvsConfigSpec", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update Distributed Port Groups", - Summary: "Update Distributed Port Group", - }, - Key: "dvs.HostDistributedVirtualSwitchManager.updateDVPortgroups", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve port group keys for vSphere Distributed Switch", - Summary: "Retrieve the list of port group keys on a given vSphere Distributed Switch", - }, - Key: "dvs.HostDistributedVirtualSwitchManager.retrieveDVPortgroup", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve distributed virtual port group specification", - Summary: "Retrievs the configuration specification for distributed virtual port groups", - }, - Key: "dvs.HostDistributedVirtualSwitchManager.retrieveDVPortgroupConfigSpec", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Load port", - Summary: "Load port", - }, - Key: "dvs.HostDistributedVirtualSwitchManager.loadDVPort", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve the list of port keys on the given vSphere Distributed Switch", - Summary: "Retrieve the list of port keys on the given vSphere Distributed Switch", - }, - Key: "dvs.HostDistributedVirtualSwitchManager.retrieveDVPort", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update dvPorts", - Summary: "Update dvPort", - }, - Key: "dvs.HostDistributedVirtualSwitchManager.applyDVPort", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update Distributed Port Groups", - Summary: "Update Distributed Port Group", - }, - Key: "dvs.HostDistributedVirtualSwitchManager.applyDVPortgroup", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update vSphere Distributed Switch", - Summary: "Update vSphere Distributed Switch", - }, - Key: "dvs.HostDistributedVirtualSwitchManager.applyDvs", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update vSphere Distributed Switch list", - Summary: "Update vSphere Distributed Switch list", - }, - Key: "dvs.HostDistributedVirtualSwitchManager.applyDvsList", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update Distributed Port Group list", - Summary: "Update Distributed Port Group list", - }, - Key: "dvs.HostDistributedVirtualSwitchManager.applyDVPortgroupList", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update dvPort list", - Summary: "Update dvPort list", - }, - Key: "dvs.HostDistributedVirtualSwitchManager.applyDVPortList", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Execute opaque command", - Summary: "Execute opaque command", - }, - Key: "dvs.HostDistributedVirtualSwitchManager.executeOpaqueCommand", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set compute-resource custom value", - Summary: "Sets the value of a custom field for a unified compute resource", - }, - Key: "ComputeResource.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reload resource", - Summary: "Reloads the resource", - }, - Key: "ComputeResource.reload", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rename compute-resource", - Summary: "Rename the compute-resource", - }, - Key: "ComputeResource.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove host", - Summary: "Removes the host resource", - }, - Key: "ComputeResource.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add tag", - Summary: "Add a set of tags to this object", - }, - Key: "ComputeResource.addTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove tag", - Summary: "Removes a set of tags from this object", - }, - Key: "ComputeResource.removeTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveCustomValues", - Summary: "retrieveCustomValues", - }, - Key: "ComputeResource.retrieveCustomValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigure compute-resource", - Summary: "Reconfigures a compute-resource", - }, - Key: "ComputeResource.reconfigureEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "vSphere Distributed Switch set custom value", - Summary: "vSphere Distributed Switch set custom value", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reload vSphere Distributed Switch", - Summary: "Reload vSphere Distributed Switch", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.reload", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rename vSphere Distributed Switch", - Summary: "Rename vSphere Distributed Switch", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove vSphere Distributed Switch", - Summary: "Remove vSphere Distributed Switch", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "vSphere Distributed Switch add tag", - Summary: "vSphere Distributed Switch add tag", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.addTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "vSphere Distributed Switch remove tag", - Summary: "vSphere Distributed Switch remove tag", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.removeTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveCustomValues", - Summary: "retrieveCustomValues", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.retrieveCustomValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve dvPort keys", - Summary: "Retrieve dvPort keys", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.fetchPortKeys", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve dvPorts", - Summary: "Retrieve dvPorts", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.fetchPorts", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query used virtual LAN ID", - Summary: "Query used virtual LAN ID", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.queryUsedVlanId", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigure vSphere Distributed Switch", - Summary: "Reconfigure vSphere Distributed Switch", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.reconfigure", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "vSphere Distributed Switch product specification operation", - Summary: "vSphere Distributed Switch product specification operation", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.performProductSpecOperation", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Merge vSphere Distributed Switch", - Summary: "Merge vSphere Distributed Switch", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.merge", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add Distributed Port Groups", - Summary: "Add Distributed Port Groups", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.addPortgroups", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Move dvPort", - Summary: "Move dvPort", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.movePort", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update vSphere Distributed Switch capability", - Summary: "Update vSphere Distributed Switch capability", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.updateCapability", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigure dvPort", - Summary: "Reconfigure dvPort", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.reconfigurePort", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Refresh dvPort state", - Summary: "Refresh dvPort state", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.refreshPortState", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rectify vSphere Distributed Switch host", - Summary: "Rectify vSphere Distributed Switch host", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.rectifyHost", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update network resource pools on vSphere Distributed Switch", - Summary: "Update network resource pools on vSphere Distributed Switch", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.updateNetworkResourcePool", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add network resource pools on vSphere Distributed Switch", - Summary: "Add network resource pools on vSphere Distributed Switch", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.addNetworkResourcePool", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove network resource pools on vSphere Distributed Switch", - Summary: "Remove network resource pools on vSphere Distributed Switch", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.removeNetworkResourcePool", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigure a network resource pool on a distributed switch", - Summary: "Reconfigures a network resource pool on a distributed switch", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.reconfigureVmVnicNetworkResourcePool", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update network I/O control on vSphere Distributed Switch", - Summary: "Update network I/O control on vSphere Distributed Switch", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.enableNetworkResourceManagement", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get vSphere Distributed Switch configuration spec to rollback", - Summary: "Get vSphere Distributed Switch configuration spec to rollback", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.rollback", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add Distributed Port Group", - Summary: "Add Distributed Port Group", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.addPortgroup", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update health check configuration on vSphere Distributed Switch", - Summary: "Update health check configuration on vSphere Distributed Switch", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.updateHealthCheckConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Look up portgroup based on portgroup key", - Summary: "Look up portgroup based on portgroup key", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.lookupPortgroup", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update Link Aggregation Control Protocol groups on vSphere Distributed Switch", - Summary: "Update Link Aggregation Control Protocol groups on vSphere Distributed Switch", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.updateLacpGroupConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Prepare vMotion send operation", - Summary: "Prepare a vMotion send operation", - }, - Key: "host.VMotionManager.prepareSource", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Prepare VMotion send operation asynchronously", - Summary: "Prepares a VMotion send operation asynchronously", - }, - Key: "host.VMotionManager.prepareSourceEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Prepare vMotion receive operation", - Summary: "Prepare a vMotion receive operation", - }, - Key: "host.VMotionManager.prepareDestination", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Prepare vMotion receive operation asynchronously", - Summary: "Prepares a vMotion receive operation asynchronously", - }, - Key: "host.VMotionManager.prepareDestinationEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Initiate vMotion receive operation", - Summary: "Initiate a vMotion receive operation", - }, - Key: "host.VMotionManager.initiateDestination", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Initiate vMotion send operation", - Summary: "Initiate a vMotion send operation", - }, - Key: "host.VMotionManager.initiateSource", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Initiate VMotion send operation", - Summary: "Initiates a VMotion send operation", - }, - Key: "host.VMotionManager.initiateSourceEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Complete vMotion source notification", - Summary: "Tell the source that vMotion migration is complete (success or failure)", - }, - Key: "host.VMotionManager.completeSource", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Complete vMotion receive notification", - Summary: "Tell the destination that vMotion migration is complete (success or failure)", - }, - Key: "host.VMotionManager.completeDestination", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Commit vMotion destination upgrade", - Summary: "Reparent the disks at destination and commit the redo logs at the end of a vMotion migration", - }, - Key: "host.VMotionManager.upgradeDestination", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update VMotionManager memory mirror migrate flag", - Summary: "Enables or disables VMotionManager memory mirror migrate", - }, - Key: "host.VMotionManager.updateMemMirrorFlag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryMigrationIds", - Summary: "queryMigrationIds", - }, - Key: "host.VMotionManager.queryMigrationIds", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove list view", - Summary: "Remove the list view object", - }, - Key: "view.ListView.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Modify list view", - Summary: "Modify the list view", - }, - Key: "view.ListView.modify", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reset list view", - Summary: "Reset the list view", - }, - Key: "view.ListView.reset", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reset view", - Summary: "Resets a set of objects in a given view", - }, - Key: "view.ListView.resetFromView", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "registerProvider", - Summary: "registerProvider", - }, - Key: "ExternalStatsManager.registerProvider", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "unregisterProvider", - Summary: "unregisterProvider", - }, - Key: "ExternalStatsManager.unregisterProvider", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "isRegistered", - Summary: "isRegistered", - }, - Key: "ExternalStatsManager.isRegistered", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "getRegisteredProviders", - Summary: "getRegisteredProviders", - }, - Key: "ExternalStatsManager.getRegisteredProviders", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "getEnabledClusters", - Summary: "getEnabledClusters", - }, - Key: "ExternalStatsManager.getEnabledClusters", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "updateStats", - Summary: "updateStats", - }, - Key: "ExternalStatsManager.updateStats", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set vMotion custom value", - Summary: "Sets the value of a custom field of a host vMotion system", - }, - Key: "host.VMotionSystem.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update IP configuration", - Summary: "Update the IP configuration of the vMotion virtual NIC", - }, - Key: "host.VMotionSystem.updateIpConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Select vMotion virtual NIC", - Summary: "Select the virtual NIC to be used for vMotion", - }, - Key: "host.VMotionSystem.selectVnic", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Deselect vMotion virtual NIC", - Summary: "Deselect the virtual NIC to be used for vMotion", - }, - Key: "host.VMotionSystem.deselectVnic", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check compliance", - Summary: "Check compliance of host or cluster against a profile", - }, - Key: "profile.ComplianceManager.checkCompliance", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query compliance status", - Summary: "Query compliance status", - }, - Key: "profile.ComplianceManager.queryComplianceStatus", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryEntitiesByComplianceStatus", - Summary: "queryEntitiesByComplianceStatus", - }, - Key: "profile.ComplianceManager.queryEntitiesByComplianceStatus", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Clear compliance history", - Summary: "Clear historical compliance data", - }, - Key: "profile.ComplianceManager.clearComplianceStatus", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query expression metadata", - Summary: "Query expression metadata", - }, - Key: "profile.ComplianceManager.queryExpressionMetadata", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "setCustomValue", - Summary: "setCustomValue", - }, - Key: "external.ContentLibrary.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "reload", - Summary: "reload", - }, - Key: "external.ContentLibrary.reload", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "rename", - Summary: "rename", - }, - Key: "external.ContentLibrary.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "destroy", - Summary: "destroy", - }, - Key: "external.ContentLibrary.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "addTag", - Summary: "addTag", - }, - Key: "external.ContentLibrary.addTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "removeTag", - Summary: "removeTag", - }, - Key: "external.ContentLibrary.removeTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveCustomValues", - Summary: "retrieveCustomValues", - }, - Key: "external.ContentLibrary.retrieveCustomValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query entity provider summary", - Summary: "Get information about the performance statistics that can be queried for a particular entity", - }, - Key: "PerformanceManager.queryProviderSummary", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query available metrics", - Summary: "Gets available performance statistic metrics for the specified managed entity between begin and end times", - }, - Key: "PerformanceManager.queryAvailableMetric", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query counter", - Summary: "Get counter information for the list of counter IDs passed in", - }, - Key: "PerformanceManager.queryCounter", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query counter by level", - Summary: "All performance data over 1 year old are deleted from the vCenter database", - }, - Key: "PerformanceManager.queryCounterByLevel", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query performance statistics", - Summary: "Gets the performance statistics for the entity", - }, - Key: "PerformanceManager.queryStats", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get composite statistics", - Summary: "Get performance statistics for the entity and the breakdown across its child entities", - }, - Key: "PerformanceManager.queryCompositeStats", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Summarizes performance statistics", - Summary: "Summarizes performance statistics at the specified interval", - }, - Key: "PerformanceManager.summarizeStats", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create historical interval", - Summary: "Add a new historical interval configuration", - }, - Key: "PerformanceManager.createHistoricalInterval", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove historical interval", - Summary: "Remove a historical interval configuration", - }, - Key: "PerformanceManager.removeHistoricalInterval", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update historical interval", - Summary: "Update a historical interval configuration if it exists", - }, - Key: "PerformanceManager.updateHistoricalInterval", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update counter level mapping", - Summary: "Update counter to level mapping", - }, - Key: "PerformanceManager.updateCounterLevelMapping", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reset counter level mapping", - Summary: "Reset counter to level mapping to the default values", - }, - Key: "PerformanceManager.resetCounterLevelMapping", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query internal performance counters", - Summary: "Queries all internal counters, supported by this performance manager", - }, - Key: "PerformanceManager.queryPerfCounterInt", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Enable performance counters", - Summary: "Enable a counter or a set of counters in the counters collection of this performance manager", - }, - Key: "PerformanceManager.enableStat", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Disable performance counters", - Summary: "Exclude a counter or a set of counters from the counters collection of this performance manager", - }, - Key: "PerformanceManager.disableStat", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "CreateVRP", - Summary: "CreateVRP", - }, - Key: "VRPResourceManager.CreateVRP", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "UpdateVRP", - Summary: "UpdateVRP", - }, - Key: "VRPResourceManager.UpdateVRP", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "DeleteVRP", - Summary: "DeleteVRP", - }, - Key: "VRPResourceManager.DeleteVRP", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "DeployVM", - Summary: "DeployVM", - }, - Key: "VRPResourceManager.DeployVM", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "UndeployVM", - Summary: "UndeployVM", - }, - Key: "VRPResourceManager.UndeployVM", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "SetManagedByVDC", - Summary: "SetManagedByVDC", - }, - Key: "VRPResourceManager.SetManagedByVDC", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "GetAllVRPIds", - Summary: "GetAllVRPIds", - }, - Key: "VRPResourceManager.GetAllVRPIds", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "GetRPSettings", - Summary: "GetRPSettings", - }, - Key: "VRPResourceManager.GetRPSettings", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "GetVRPSettings", - Summary: "GetVRPSettings", - }, - Key: "VRPResourceManager.GetVRPSettings", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "GetVRPUsage", - Summary: "GetVRPUsage", - }, - Key: "VRPResourceManager.GetVRPUsage", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "GetVRPofVM", - Summary: "GetVRPofVM", - }, - Key: "VRPResourceManager.GetVRPofVM", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "GetChildRPforHub", - Summary: "GetChildRPforHub", - }, - Key: "VRPResourceManager.GetChildRPforHub", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set PCI passthrough system custom value", - Summary: "Set PCI Passthrough system custom value", - }, - Key: "host.PciPassthruSystem.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Refresh PCI passthrough device information", - Summary: "Refresh the available PCI passthrough device information", - }, - Key: "host.PciPassthruSystem.refresh", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update PCI passthrough configuration", - Summary: "Update PCI passthrough device configuration", - }, - Key: "host.PciPassthruSystem.updatePassthruConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check virtual machine's compatibility on host", - Summary: "Checks whether a virtual machine is compatible on a host", - }, - Key: "vm.check.CompatibilityChecker.checkCompatibility", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check compatibility of a VM specification on a host", - Summary: "Checks compatibility of a VM specification on a host", - }, - Key: "vm.check.CompatibilityChecker.checkVMCompatibility", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check compliance of host against profile", - Summary: "Checks compliance of a host against a profile", - }, - Key: "profile.host.profileEngine.ComplianceManager.checkHostCompliance", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query expression metadata", - Summary: "Queries the metadata for the given expression names", - }, - Key: "profile.host.profileEngine.ComplianceManager.queryExpressionMetadata", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get the default compliance from host configuration subprofiles", - Summary: "Get the default compliance from host configuration subprofiles", - }, - Key: "profile.host.profileEngine.ComplianceManager.getDefaultCompliance", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update specific metadata", - Summary: "Update specific metadata for the given owner and list of virtual machine IDs", - }, - Key: "vm.MetadataManager.updateMetadata", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve specific metadata", - Summary: "Retrieve specific metadata for the given owner and list of virtual machine IDs", - }, - Key: "vm.MetadataManager.retrieveMetadata", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve all metadata", - Summary: "Retrieve all metadata for the given owner and datastore", - }, - Key: "vm.MetadataManager.retrieveAllMetadata", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Clear metadata", - Summary: "Clear all metadata for the given owner and datastore", - }, - Key: "vm.MetadataManager.clearMetadata", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "setCustomValue", - Summary: "setCustomValue", - }, - Key: "external.AntiAffinityGroup.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "reload", - Summary: "reload", - }, - Key: "external.AntiAffinityGroup.reload", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "rename", - Summary: "rename", - }, - Key: "external.AntiAffinityGroup.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "destroy", - Summary: "destroy", - }, - Key: "external.AntiAffinityGroup.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "addTag", - Summary: "addTag", - }, - Key: "external.AntiAffinityGroup.addTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "removeTag", - Summary: "removeTag", - }, - Key: "external.AntiAffinityGroup.removeTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveCustomValues", - Summary: "retrieveCustomValues", - }, - Key: "external.AntiAffinityGroup.retrieveCustomValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "validate", - Summary: "validate", - }, - Key: "vdcs.NicManager.validate", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "bind", - Summary: "bind", - }, - Key: "vdcs.NicManager.bind", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "unbind", - Summary: "unbind", - }, - Key: "vdcs.NicManager.unbind", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "executeStep", - Summary: "executeStep", - }, - Key: "modularity.WorkflowStepHandler.executeStep", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "undoStep", - Summary: "undoStep", - }, - Key: "modularity.WorkflowStepHandler.undoStep", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "finalizeStep", - Summary: "finalizeStep", - }, - Key: "modularity.WorkflowStepHandler.finalizeStep", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add key", - Summary: "Add the specified key to the current host", - }, - Key: "encryption.CryptoManager.addKey", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add keys", - Summary: "Add the specified keys to the current host", - }, - Key: "encryption.CryptoManager.addKeys", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove key", - Summary: "Remove the specified key from the current host", - }, - Key: "encryption.CryptoManager.removeKey", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove keys", - Summary: "Remove the specified keys from the current host", - }, - Key: "encryption.CryptoManager.removeKeys", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "List all keys", - Summary: "List all the keys registered on the current host", - }, - Key: "encryption.CryptoManager.listKeys", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set vCenter HA cluster mode", - Summary: "Set vCenter HA cluster mode", - }, - Key: "vcha.FailoverClusterManager.setClusterMode", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "getClusterMode", - Summary: "getClusterMode", - }, - Key: "vcha.FailoverClusterManager.getClusterMode", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "getClusterHealth", - Summary: "getClusterHealth", - }, - Key: "vcha.FailoverClusterManager.getClusterHealth", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Initiate failover", - Summary: "Initiate a failover from active vCenter Server node to the passive node", - }, - Key: "vcha.FailoverClusterManager.initiateFailover", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query proxy information", - Summary: "Query the common message bus proxy service information", - }, - Key: "host.MessageBusProxy.retrieveInfo", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Configure proxy", - Summary: "Configure the common message bus proxy service", - }, - Key: "host.MessageBusProxy.configure", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove proxy configuration", - Summary: "Remove the common message proxy service configuration and disable the service", - }, - Key: "host.MessageBusProxy.unconfigure", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Start proxy", - Summary: "Start the common message bus proxy service", - }, - Key: "host.MessageBusProxy.start", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Stop proxy", - Summary: "Stop the common message bus proxy service", - }, - Key: "host.MessageBusProxy.stop", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reload proxy", - Summary: "Reload the common message bus proxy service and enable any configuration changes", - }, - Key: "host.MessageBusProxy.reload", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create a virtual disk object", - Summary: "Create a virtual disk object", - }, - Key: "vslm.host.VStorageObjectManager.createDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Register a legacy disk to be a virtual disk object", - Summary: "Register a legacy disk to be a virtual disk object", - }, - Key: "vslm.host.VStorageObjectManager.registerDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Extend a virtual disk to the new capacity", - Summary: "Extend a virtual disk to the new capacity", - }, - Key: "vslm.host.VStorageObjectManager.extendDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Inflate a thin virtual disk", - Summary: "Inflate a thin virtual disk", - }, - Key: "vslm.host.VStorageObjectManager.inflateDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rename a virtual storage object", - Summary: "Rename a virtual storage object", - }, - Key: "vslm.host.VStorageObjectManager.renameVStorageObject", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update storage policy on a virtual storage object", - Summary: "Update storage policy on a virtual storage object", - }, - Key: "vslm.host.VStorageObjectManager.updateVStorageObjectPolicy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete a virtual storage object", - Summary: "Delete a virtual storage object", - }, - Key: "vslm.host.VStorageObjectManager.deleteVStorageObject", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve a virtual storage object", - Summary: "Retrieve a virtual storage object", - }, - Key: "vslm.host.VStorageObjectManager.retrieveVStorageObject", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveVStorageObjectState", - Summary: "retrieveVStorageObjectState", - }, - Key: "vslm.host.VStorageObjectManager.retrieveVStorageObjectState", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "List virtual storage objects on a datastore", - Summary: "List virtual storage objects on a datastore", - }, - Key: "vslm.host.VStorageObjectManager.listVStorageObject", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Clone a virtual storage object", - Summary: "Clone a virtual storage object", - }, - Key: "vslm.host.VStorageObjectManager.cloneVStorageObject", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Relocate a virtual storage object", - Summary: "Relocate a virtual storage object", - }, - Key: "vslm.host.VStorageObjectManager.relocateVStorageObject", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconcile datastore inventory", - Summary: "Reconcile datastore inventory", - }, - Key: "vslm.host.VStorageObjectManager.reconcileDatastoreInventory", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Schedule reconcile datastore inventory", - Summary: "Schedule reconcile datastore inventory", - }, - Key: "vslm.host.VStorageObjectManager.scheduleReconcileDatastoreInventory", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve cluster profile description", - Summary: "Retrieve cluster profile description", - }, - Key: "profile.cluster.ClusterProfile.retrieveDescription", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete cluster profile", - Summary: "Delete cluster profile", - }, - Key: "profile.cluster.ClusterProfile.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Attach cluster profile", - Summary: "Attach cluster profile to cluster", - }, - Key: "profile.cluster.ClusterProfile.associateEntities", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Detach cluster profile", - Summary: "Detach cluster profile from cluster", - }, - Key: "profile.cluster.ClusterProfile.dissociateEntities", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check compliance", - Summary: "Check compliance of a cluster against a cluster profile", - }, - Key: "profile.cluster.ClusterProfile.checkCompliance", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Export cluster profile", - Summary: "Export cluster profile to a file", - }, - Key: "profile.cluster.ClusterProfile.exportProfile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update cluster profile", - Summary: "Update configuration of cluster profile", - }, - Key: "profile.cluster.ClusterProfile.update", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create task collector", - Summary: "Creates a task collector to retrieve all tasks that have executed on the server based on a filter", - }, - Key: "TaskManager.createCollector", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create task", - Summary: "Create a task", - }, - Key: "TaskManager.createTask", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "createTaskWithEntityName", - Summary: "createTaskWithEntityName", - }, - Key: "TaskManager.createTaskWithEntityName", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query disks for use in vSAN cluster", - Summary: "Queries disk eligibility for use in the vSAN cluster", - }, - Key: "host.VsanSystem.queryDisksForVsan", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add disks to vSAN", - Summary: "Adds the selected disks to the vSAN cluster", - }, - Key: "host.VsanSystem.addDisks", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Initialize disks in the vSAN cluster", - Summary: "Initializes the selected disks to be used in the vSAN cluster", - }, - Key: "host.VsanSystem.initializeDisks", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove disk from vSAN", - Summary: "Removes the disks that are used in the vSAN cluster", - }, - Key: "host.VsanSystem.removeDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove disk group from vSAN", - Summary: "Removes the selected disk group from the vSAN cluster", - }, - Key: "host.VsanSystem.removeDiskMapping", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "unmountDiskMapping", - Summary: "unmountDiskMapping", - }, - Key: "host.VsanSystem.unmountDiskMapping", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update vSAN configuration", - Summary: "Updates the vSAN configuration for this host", - }, - Key: "host.VsanSystem.update", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve vSAN runtime information", - Summary: "Retrieves the current vSAN runtime information for this host", - }, - Key: "host.VsanSystem.queryHostStatus", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Evacuate this host from vSAN cluster", - Summary: "Evacuates the specified host from the vSAN cluster", - }, - Key: "host.VsanSystem.evacuateNode", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Recommission this host back to vSAN cluster", - Summary: "Recommissions the host back to vSAN cluster", - }, - Key: "host.VsanSystem.recommissionNode", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve a ticket to register the vSAN VASA Provider", - Summary: "Retrieves a ticket to register the VASA Provider for vSAN in the Storage Monitoring Service", - }, - Key: "host.VsanSystem.fetchVsanSharedSecret", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "setCustomValue", - Summary: "setCustomValue", - }, - Key: "external.TagPolicy.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "reload", - Summary: "reload", - }, - Key: "external.TagPolicy.reload", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "rename", - Summary: "rename", - }, - Key: "external.TagPolicy.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "destroy", - Summary: "destroy", - }, - Key: "external.TagPolicy.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "addTag", - Summary: "addTag", - }, - Key: "external.TagPolicy.addTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "removeTag", - Summary: "removeTag", - }, - Key: "external.TagPolicy.removeTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveCustomValues", - Summary: "retrieveCustomValues", - }, - Key: "external.TagPolicy.retrieveCustomValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create alarm", - Summary: "Create a new alarm", - }, - Key: "alarm.AlarmManager.create", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve alarm", - Summary: "Get available alarms defined on the entity", - }, - Key: "alarm.AlarmManager.getAlarm", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get alarm actions enabled", - Summary: "Checks if alarm actions are enabled for an entity", - }, - Key: "alarm.AlarmManager.getAlarmActionsEnabled", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set alarm actions enabled", - Summary: "Enables or disables firing alarm actions for an entity", - }, - Key: "alarm.AlarmManager.setAlarmActionsEnabled", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get alarm state", - Summary: "The state of instantiated alarms on the entity", - }, - Key: "alarm.AlarmManager.getAlarmState", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Acknowledge alarm", - Summary: "Stops alarm actions from firing until the alarm next triggers on an entity", - }, - Key: "alarm.AlarmManager.acknowledgeAlarm", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set alarm status", - Summary: "Sets the status of an alarm for an entity", - }, - Key: "alarm.AlarmManager.setAlarmStatus", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "clearTriggeredAlarms", - Summary: "clearTriggeredAlarms", - }, - Key: "alarm.AlarmManager.clearTriggeredAlarms", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "testSMTPSetup", - Summary: "testSMTPSetup", - }, - Key: "alarm.AlarmManager.testSMTPSetup", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create private alarm on managed entity", - Summary: "Creates a Private (trigger-only) Alarm on a managed entity", - }, - Key: "alarm.AlarmManager.createPrivateAlarm", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query private alarms on managed entity", - Summary: "Retrieves all of the Private (trigger-only) Alarms defined on the specified managed entity", - }, - Key: "alarm.AlarmManager.queryPrivateAlarms", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Sync triggered alarms list", - Summary: "Retrieves the full list of currently-triggered Alarms, as a list of triggers", - }, - Key: "alarm.AlarmManager.syncTriggeredAlarms", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve queued-up alarm triggers", - Summary: "Retrieves any queued-up alarm triggers representing Alarm state changes since the last time this method was called", - }, - Key: "alarm.AlarmManager.retrieveTriggers", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Distributed Port Group set custom value", - Summary: "Distributed Port Group set custom value", - }, - Key: "dvs.DistributedVirtualPortgroup.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reload Distributed Port Group", - Summary: "Reload Distributed Port Group", - }, - Key: "dvs.DistributedVirtualPortgroup.reload", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rename Distributed Port Group", - Summary: "Rename Distributed Port Group", - }, - Key: "dvs.DistributedVirtualPortgroup.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete Distributed Port Group", - Summary: "Delete Distributed Port Group", - }, - Key: "dvs.DistributedVirtualPortgroup.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add tag to Distributed Port Group", - Summary: "Add tag to Distributed Port Group", - }, - Key: "dvs.DistributedVirtualPortgroup.addTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Distributed Port Group remove tag", - Summary: "Distributed Port Group remove tag", - }, - Key: "dvs.DistributedVirtualPortgroup.removeTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveCustomValues", - Summary: "retrieveCustomValues", - }, - Key: "dvs.DistributedVirtualPortgroup.retrieveCustomValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Distributed Port Group delete network", - Summary: "Distributed Port Group delete network", - }, - Key: "dvs.DistributedVirtualPortgroup.destroyNetwork", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigure Distributed Port Group", - Summary: "Reconfigure Distributed Port Group", - }, - Key: "dvs.DistributedVirtualPortgroup.reconfigure", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get Distributed Port Group configuration spec to rollback", - Summary: "Get Distributed Port Group configuration spec to rollback", - }, - Key: "dvs.DistributedVirtualPortgroup.rollback", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query CMMDS", - Summary: "Queries CMMDS contents in the vSAN cluster", - }, - Key: "host.VsanInternalSystem.queryCmmds", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query physical vSAN disks", - Summary: "Queries the physical vSAN disks", - }, - Key: "host.VsanInternalSystem.queryPhysicalVsanDisks", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query vSAN objects", - Summary: "Queries the vSAN objects in the cluster", - }, - Key: "host.VsanInternalSystem.queryVsanObjects", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query vSAN objects on physical disks", - Summary: "Queries the vSAN objects that have at least one component on the current set of physical disks", - }, - Key: "host.VsanInternalSystem.queryObjectsOnPhysicalVsanDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Drop ownership of DOM objects", - Summary: "Drop ownership of the DOM objects that are owned by this host", - }, - Key: "host.VsanInternalSystem.abdicateDomOwnership", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query vSAN statistics", - Summary: "Gathers low level statistic counters from the vSAN cluster", - }, - Key: "host.VsanInternalSystem.queryVsanStatistics", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigures vSAN objects", - Summary: "Reconfigures the vSAN objects in the cluster", - }, - Key: "host.VsanInternalSystem.reconfigureDomObject", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query vSAN objects that are currently synchronizing data", - Summary: "Queries vSAN objects that are updating stale components or synchronizing new replicas", - }, - Key: "host.VsanInternalSystem.querySyncingVsanObjects", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Run diagnostics on vSAN disks", - Summary: "Runs diagnostic tests on vSAN physical disks and verifies if objects are successfully created on the disks", - }, - Key: "host.VsanInternalSystem.runVsanPhysicalDiskDiagnostics", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Attributes of vSAN objects", - Summary: "Shows the extended attributes of the vSAN objects", - }, - Key: "host.VsanInternalSystem.getVsanObjExtAttrs", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Configurable vSAN objects", - Summary: "Identifies the vSAN objects that can be reconfigured using the assigned storage policy in the current cluster", - }, - Key: "host.VsanInternalSystem.reconfigurationSatisfiable", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "vSAN objects available for provisioning", - Summary: "Identifies the vSAN objects that are available for provisioning using the assigned storage policy in the current cluster", - }, - Key: "host.VsanInternalSystem.canProvisionObjects", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "deleteVsanObjects", - Summary: "deleteVsanObjects", - }, - Key: "host.VsanInternalSystem.deleteVsanObjects", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Upgrade vSAN object format", - Summary: "Upgrade vSAN object format, to fit in vSAN latest features", - }, - Key: "host.VsanInternalSystem.upgradeVsanObjects", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryVsanObjectUuidsByFilter", - Summary: "queryVsanObjectUuidsByFilter", - }, - Key: "host.VsanInternalSystem.queryVsanObjectUuidsByFilter", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "vSAN entities available for decommissioning", - Summary: "Identifies the vSAN entities that are available for decommissioning in the current cluster", - }, - Key: "host.VsanInternalSystem.canDecommission", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "getNetworkIpSettings", - Summary: "getNetworkIpSettings", - }, - Key: "vdcs.IpManager.getNetworkIpSettings", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "allocate", - Summary: "allocate", - }, - Key: "vdcs.IpManager.allocate", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "release", - Summary: "release", - }, - Key: "vdcs.IpManager.release", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "releaseAll", - Summary: "releaseAll", - }, - Key: "vdcs.IpManager.releaseAll", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryAll", - Summary: "queryAll", - }, - Key: "vdcs.IpManager.queryAll", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve profile description", - Summary: "Retrieve profile description", - }, - Key: "profile.Profile.retrieveDescription", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove profile", - Summary: "Remove profile", - }, - Key: "profile.Profile.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Associate entities", - Summary: "Associate entities with the profile", - }, - Key: "profile.Profile.associateEntities", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Dissociate entities", - Summary: "Dissociate entities from the profile", - }, - Key: "profile.Profile.dissociateEntities", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check compliance", - Summary: "Check compliance against the profile", - }, - Key: "profile.Profile.checkCompliance", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Export profile", - Summary: "Export profile to a file", - }, - Key: "profile.Profile.exportProfile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Authenticate credentials in guest", - Summary: "Authenticate credentials in the guest operating system", - }, - Key: "vm.guest.AuthManager.validateCredentials", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Acquire credentials in guest", - Summary: "Acquire credentials in the guest operating system", - }, - Key: "vm.guest.AuthManager.acquireCredentials", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Release credentials in guest", - Summary: "Release credentials in the guest operating system", - }, - Key: "vm.guest.AuthManager.releaseCredentials", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "setCustomValue", - Summary: "setCustomValue", - }, - Key: "external.TagPolicyOption.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "reload", - Summary: "reload", - }, - Key: "external.TagPolicyOption.reload", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "rename", - Summary: "rename", - }, - Key: "external.TagPolicyOption.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "destroy", - Summary: "destroy", - }, - Key: "external.TagPolicyOption.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "addTag", - Summary: "addTag", - }, - Key: "external.TagPolicyOption.addTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "removeTag", - Summary: "removeTag", - }, - Key: "external.TagPolicyOption.removeTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveCustomValues", - Summary: "retrieveCustomValues", - }, - Key: "external.TagPolicyOption.retrieveCustomValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update assigned license", - Summary: "Updates the license assigned to an entity", - }, - Key: "LicenseAssignmentManager.updateAssignedLicense", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove assigned license", - Summary: "Removes an assignment of a license to an entity", - }, - Key: "LicenseAssignmentManager.removeAssignedLicense", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query assigned licenses", - Summary: "Queries for all the licenses assigned to an entity or all entities", - }, - Key: "LicenseAssignmentManager.queryAssignedLicenses", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check feature availability", - Summary: "Checks if the corresponding features are licensed for a list of entities", - }, - Key: "LicenseAssignmentManager.isFeatureAvailable", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update in-use status of a licensed feature", - Summary: "Updates in-use status of a licensed feature", - }, - Key: "LicenseAssignmentManager.updateFeatureInUse", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Register licenseable entity", - Summary: "Registers a licenseable entity", - }, - Key: "LicenseAssignmentManager.registerEntity", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Unregister licenseable entity", - Summary: "Unregisters an existing licenseable entity and releases any serial numbers assigned to it.", - }, - Key: "LicenseAssignmentManager.unregisterEntity", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update license entity usage count", - Summary: "Updates the usage count of a license entity", - }, - Key: "LicenseAssignmentManager.updateUsage", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Upload license file", - Summary: "Uploads a license file to vCenter Server", - }, - Key: "LicenseAssignmentManager.uploadLicenseFile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryAssignedLicensesEx", - Summary: "queryAssignedLicensesEx", - }, - Key: "LicenseAssignmentManager.queryAssignedLicensesEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "updateEntity", - Summary: "updateEntity", - }, - Key: "LicenseAssignmentManager.updateEntity", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "updateEntitiesProperties", - Summary: "updateEntitiesProperties", - }, - Key: "LicenseAssignmentManager.updateEntitiesProperties", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "setCustomValue", - Summary: "setCustomValue", - }, - Key: "external.VirtualDatacenter.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "reload", - Summary: "reload", - }, - Key: "external.VirtualDatacenter.reload", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "rename", - Summary: "rename", - }, - Key: "external.VirtualDatacenter.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "destroy", - Summary: "destroy", - }, - Key: "external.VirtualDatacenter.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "addTag", - Summary: "addTag", - }, - Key: "external.VirtualDatacenter.addTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "removeTag", - Summary: "removeTag", - }, - Key: "external.VirtualDatacenter.removeTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveCustomValues", - Summary: "retrieveCustomValues", - }, - Key: "external.VirtualDatacenter.retrieveCustomValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query options view", - Summary: "Returns nodes in the option hierarchy", - }, - Key: "option.OptionManager.queryView", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update option values", - Summary: "Updates one or more properties", - }, - Key: "option.OptionManager.updateValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get diagnostic files", - Summary: "Gets the list of diagnostic files for a given system", - }, - Key: "DiagnosticManager.queryDescriptions", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Browse diagnostic manager", - Summary: "Returns part of a log file", - }, - Key: "DiagnosticManager.browse", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Generate system logs bundles", - Summary: "Instructs the server to generate system logs bundles", - }, - Key: "DiagnosticManager.generateLogBundles", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query file hash", - Summary: "Queries file integrity information", - }, - Key: "DiagnosticManager.queryFileHash", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "setCustomValue", - Summary: "setCustomValue", - }, - Key: "external.ContentLibraryItem.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "reload", - Summary: "reload", - }, - Key: "external.ContentLibraryItem.reload", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "rename", - Summary: "rename", - }, - Key: "external.ContentLibraryItem.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "destroy", - Summary: "destroy", - }, - Key: "external.ContentLibraryItem.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "addTag", - Summary: "addTag", - }, - Key: "external.ContentLibraryItem.addTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "removeTag", - Summary: "removeTag", - }, - Key: "external.ContentLibraryItem.removeTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveCustomValues", - Summary: "retrieveCustomValues", - }, - Key: "external.ContentLibraryItem.retrieveCustomValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create a host profile", - Summary: "Create a host profile", - }, - Key: "profile.host.ProfileManager.createProfile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query policy metadata", - Summary: "Query policy metadata", - }, - Key: "profile.host.ProfileManager.queryPolicyMetadata", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Find associated profile", - Summary: "Find associated profile", - }, - Key: "profile.host.ProfileManager.findAssociatedProfile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Apply host configuration", - Summary: "Apply host configuration", - }, - Key: "profile.host.ProfileManager.applyHostConfiguration", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryMetadata", - Summary: "queryMetadata", - }, - Key: "profile.host.ProfileManager.queryMetadata", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Generate configuration task list for host profile", - Summary: "Generates a list of configuration tasks to be performed when applying a host profile", - }, - Key: "profile.host.ProfileManager.generateConfigTaskList", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Generate task list", - Summary: "Generate task list", - }, - Key: "profile.host.ProfileManager.generateTaskList", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query profile metadata", - Summary: "Query profile metadata", - }, - Key: "profile.host.ProfileManager.queryProfileMetadata", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query metadata for profile categories", - Summary: "Retrieves the metadata for a set of profile categories", - }, - Key: "profile.host.ProfileManager.queryProfileCategoryMetadata", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query metadata for profile components", - Summary: "Retrieves the metadata for a set of profile components", - }, - Key: "profile.host.ProfileManager.queryProfileComponentMetadata", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query profile structure", - Summary: "Gets information about the structure of a profile", - }, - Key: "profile.host.ProfileManager.queryProfileStructure", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create default profile", - Summary: "Create default profile", - }, - Key: "profile.host.ProfileManager.createDefaultProfile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update host customizations", - Summary: "Update host customizations for host", - }, - Key: "profile.host.ProfileManager.updateAnswerFile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Validate host customizations", - Summary: "Validate host customizations for host", - }, - Key: "profile.host.ProfileManager.validateAnswerFile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve host customizations", - Summary: "Returns the host customization data associated with a particular host", - }, - Key: "profile.host.ProfileManager.retrieveAnswerFile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveAnswerFileForProfile", - Summary: "retrieveAnswerFileForProfile", - }, - Key: "profile.host.ProfileManager.retrieveAnswerFileForProfile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Export host customizations", - Summary: "Export host customizations for host", - }, - Key: "profile.host.ProfileManager.exportAnswerFile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check host customizations status", - Summary: "Check the status of the host customizations against associated profile", - }, - Key: "profile.host.ProfileManager.checkAnswerFileStatus", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query host customization status", - Summary: "Returns the status of the host customization data associated with the specified hosts", - }, - Key: "profile.host.ProfileManager.queryAnswerFileStatus", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update host customizations", - Summary: "Update host customizations", - }, - Key: "profile.host.ProfileManager.updateHostCustomizations", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "validateHostCustomizations", - Summary: "validateHostCustomizations", - }, - Key: "profile.host.ProfileManager.validateHostCustomizations", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveHostCustomizations", - Summary: "retrieveHostCustomizations", - }, - Key: "profile.host.ProfileManager.retrieveHostCustomizations", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveHostCustomizationsForProfile", - Summary: "retrieveHostCustomizationsForProfile", - }, - Key: "profile.host.ProfileManager.retrieveHostCustomizationsForProfile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Export host customizations", - Summary: "Export host customizations", - }, - Key: "profile.host.ProfileManager.exportCustomizations", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Import host customizations", - Summary: "Import host customizations", - }, - Key: "profile.host.ProfileManager.importCustomizations", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Pre-check Remediation", - Summary: "Checks customization data and host state is valid for remediation", - }, - Key: "profile.host.ProfileManager.generateHostConfigTaskSpec", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Batch apply host configuration", - Summary: "Batch apply host configuration", - }, - Key: "profile.host.ProfileManager.applyEntitiesConfiguration", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Prepare validation of settings to be copied", - Summary: "Generate differences between source and target host profile to validate settings to be copied", - }, - Key: "profile.host.ProfileManager.validateComposition", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Copy settings to host profiles", - Summary: "Copy settings to host profiles", - }, - Key: "profile.host.ProfileManager.compositeProfile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update the VASA provider state", - Summary: "Updates the VASA provider state for the specified datastores", - }, - Key: "VasaVvolManager.updateVasaProviderState", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create Virtual Volume datastore", - Summary: "Creates a new Virtual Volume datastore", - }, - Key: "VasaVvolManager.createVVolDatastore", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove Virtual Volume datastore", - Summary: "Remove Virtual Volume datastore from specified hosts", - }, - Key: "VasaVvolManager.removeVVolDatastore", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update the VASA client context", - Summary: "Updates the VASA client context on the host", - }, - Key: "VasaVvolManager.updateVasaClientContext", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Evaluate vMotion migration of VMs to hosts", - Summary: "Checks whether the specified VMs can be migrated with vMotion to all the specified hosts", - }, - Key: "vm.check.ProvisioningChecker.queryVMotionCompatibilityEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Evaluate migration of VM to destination", - Summary: "Checks whether the VM can be migrated to the specified destination host, resource pool, and datastores", - }, - Key: "vm.check.ProvisioningChecker.checkMigrate", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Evaluate relocation of VM to destination", - Summary: "Checks whether the VM can be relocated to the specified destination host, resource pool, and datastores", - }, - Key: "vm.check.ProvisioningChecker.checkRelocate", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Evaluate cloning VM to destination", - Summary: "Checks whether the VM can be cloned to the specified destination host, resource pool, and datastores", - }, - Key: "vm.check.ProvisioningChecker.checkClone", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "checkInstantClone", - Summary: "checkInstantClone", - }, - Key: "vm.check.ProvisioningChecker.checkInstantClone", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove inventory view", - Summary: "Remove the inventory view object", - }, - Key: "view.InventoryView.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Open inventory view folder", - Summary: "Adds the child objects of a given managed entity to the view", - }, - Key: "view.InventoryView.openFolder", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Close inventory view", - Summary: "Notify the server that folders have been closed", - }, - Key: "view.InventoryView.closeFolder", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete container view", - Summary: "Remove a list view object from current contents of this view", - }, - Key: "view.ContainerView.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create profile", - Summary: "Create profile", - }, - Key: "profile.ProfileManager.createProfile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query policy metadata", - Summary: "Query policy metadata", - }, - Key: "profile.ProfileManager.queryPolicyMetadata", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Find associated profile", - Summary: "Find associated profile", - }, - Key: "profile.ProfileManager.findAssociatedProfile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set event history latest page size", - Summary: "Set the last page viewed size of event history", - }, - Key: "event.EventHistoryCollector.setLatestPageSize", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rewind event history", - Summary: "Moves view to the oldest item of event history", - }, - Key: "event.EventHistoryCollector.rewind", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reset event history", - Summary: "Moves view to the newest item of event history", - }, - Key: "event.EventHistoryCollector.reset", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove event history", - Summary: "Removes the event history collector", - }, - Key: "event.EventHistoryCollector.remove", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Read next event history", - Summary: "Reads view from current position of event history, and then the position is moved to the next newer page", - }, - Key: "event.EventHistoryCollector.readNext", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Read previous event history", - Summary: "Reads view from current position of event history and moves the position to the next older page", - }, - Key: "event.EventHistoryCollector.readPrev", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "updateHostSubSpecificationByFile", - Summary: "updateHostSubSpecificationByFile", - }, - Key: "profile.host.profileEngine.HostSpecificationAgent.updateHostSubSpecificationByFile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "updateHostSubSpecificationByData", - Summary: "updateHostSubSpecificationByData", - }, - Key: "profile.host.profileEngine.HostSpecificationAgent.updateHostSubSpecificationByData", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveHostSpecification", - Summary: "retrieveHostSpecification", - }, - Key: "profile.host.profileEngine.HostSpecificationAgent.retrieveHostSpecification", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "deleteHostSubSpecification", - Summary: "deleteHostSubSpecification", - }, - Key: "profile.host.profileEngine.HostSpecificationAgent.deleteHostSubSpecification", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set virtual NIC custom value", - Summary: "Set the value of a custom filed of a host's virtual NIC manager", - }, - Key: "host.VirtualNicManager.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query network configuration", - Summary: "Gets the network configuration for the specified NIC type", - }, - Key: "host.VirtualNicManager.queryNetConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Select virtual NIC", - Summary: "Select the virtual NIC to be used for the specified NIC type", - }, - Key: "host.VirtualNicManager.selectVnic", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Deselect virtual NIC", - Summary: "Deselect the virtual NIC used for the specified NIC type", - }, - Key: "host.VirtualNicManager.deselectVnic", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query latest statistics for a virtual machine", - Summary: "Queries the latest values of performance statistics of a virtual machine", - }, - Key: "InternalStatsCollector.queryLatestVmStats", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Configure host power management policy", - Summary: "Configure host power management policy", - }, - Key: "host.PowerSystem.configurePolicy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set a custom value for EVC manager", - Summary: "Sets a value in the custom field for Enhanced vMotion Compatibility manager", - }, - Key: "cluster.EVCManager.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Enable/reconfigure EVC", - Summary: "Enable/reconfigure Enhanced vMotion Compatibility in a cluster", - }, - Key: "cluster.EVCManager.configureEvc", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Disable cluster EVC", - Summary: "Disable Enhanced vMotion Compatibility in a cluster", - }, - Key: "cluster.EVCManager.disableEvc", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Validate EVC configuration", - Summary: "Validates the configuration of Enhanced vMotion Compatibility mode in the managed cluster", - }, - Key: "cluster.EVCManager.checkConfigureEvc", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Validate hosts in EVC", - Summary: "Validates new hosts in the Enhanced vMotion Compatibility cluster", - }, - Key: "cluster.EVCManager.checkAddHostEvc", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Configure virtual flash resource", - Summary: "Configures virtual flash resource on a list of SSD devices", - }, - Key: "host.VFlashManager.configureVFlashResourceEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Configure virtual flash resource", - Summary: "Configures virtual flash resource on a host", - }, - Key: "host.VFlashManager.configureVFlashResource", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove virtual flash resource", - Summary: "Removes virtual flash resource from a host", - }, - Key: "host.VFlashManager.removeVFlashResource", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Configure virtual flash host swap cache", - Summary: "Configures virtual flash host swap cache", - }, - Key: "host.VFlashManager.configureHostVFlashCache", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve virtual flash module configuration options from a host", - Summary: "Retrieves virtual flash module configuration options from a host", - }, - Key: "host.VFlashManager.getVFlashModuleDefaultConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set managed entity custom value", - Summary: "Sets the value of a custom field of a managed entity", - }, - Key: "ManagedEntity.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reload managed entity", - Summary: "Reload the entity state", - }, - Key: "ManagedEntity.reload", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rename managed entity", - Summary: "Rename this entity", - }, - Key: "ManagedEntity.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove entity", - Summary: "Deletes the entity and removes it from parent folder", - }, - Key: "ManagedEntity.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add tag", - Summary: "Add a set of tags to the entity", - }, - Key: "ManagedEntity.addTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove tag", - Summary: "Remove a set of tags from the entity", - }, - Key: "ManagedEntity.removeTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveCustomValues", - Summary: "retrieveCustomValues", - }, - Key: "ManagedEntity.retrieveCustomValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve host profile description", - Summary: "Retrieve host profile description", - }, - Key: "profile.host.HostProfile.retrieveDescription", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete host profile", - Summary: "Delete host profile", - }, - Key: "profile.host.HostProfile.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Attach host profile", - Summary: "Attach host profile to host or cluster", - }, - Key: "profile.host.HostProfile.associateEntities", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Detach host profile", - Summary: "Detach host profile from host or cluster", - }, - Key: "profile.host.HostProfile.dissociateEntities", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check compliance", - Summary: "Check compliance of a host or cluster against a host profile", - }, - Key: "profile.host.HostProfile.checkCompliance", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Export host profile", - Summary: "Export host profile to a file", - }, - Key: "profile.host.HostProfile.exportProfile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update reference host", - Summary: "Update reference host", - }, - Key: "profile.host.HostProfile.updateReferenceHost", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update host profile", - Summary: "Update host profile", - }, - Key: "profile.host.HostProfile.update", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "validate", - Summary: "validate", - }, - Key: "profile.host.HostProfile.validate", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Execute profile", - Summary: "Execute profile", - }, - Key: "profile.host.HostProfile.execute", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigure AutoStart Manager", - Summary: "Changes the power on or power off sequence", - }, - Key: "host.AutoStartManager.reconfigure", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Auto power On", - Summary: "Powers On virtual machines according to the current AutoStart configuration", - }, - Key: "host.AutoStartManager.autoPowerOn", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Auto power Off", - Summary: "Powers Off virtual machines according to the current AutoStart configuration", - }, - Key: "host.AutoStartManager.autoPowerOff", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Register Fault Tolerant Secondary VM", - Summary: "Registers a Secondary VM with a Fault Tolerant Primary VM", - }, - Key: "host.FaultToleranceManager.registerSecondary", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Unregister Fault Tolerant Secondary VM", - Summary: "Unregister a Secondary VM from the associated Primary VM", - }, - Key: "host.FaultToleranceManager.unregisterSecondary", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Make Primary VM", - Summary: "Test Fault Tolerance failover by making a Secondary VM in a Fault Tolerance pair the Primary VM", - }, - Key: "host.FaultToleranceManager.makePrimary", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Make peer VM primary", - Summary: "Makes the peer VM primary and terminates the local virtual machine", - }, - Key: "host.FaultToleranceManager.goLivePeerVM", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Stop Fault Tolerant virtual machine", - Summary: "Stop a specified virtual machine in a Fault Tolerant pair", - }, - Key: "host.FaultToleranceManager.terminateFaultTolerantVM", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Disable Secondary VM", - Summary: "Disable Fault Tolerance on a specified Secondary VM", - }, - Key: "host.FaultToleranceManager.disableSecondary", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Enable Secondary VM", - Summary: "Enable Fault Tolerance on a specified Secondary VM", - }, - Key: "host.FaultToleranceManager.enableSecondary", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Start Fault Tolerant Secondary VM", - Summary: "Start Fault Tolerant Secondary VM on remote host", - }, - Key: "host.FaultToleranceManager.startSecondaryOnRemoteHost", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Unregister Fault Tolerance", - Summary: "Unregister the Fault Tolerance service", - }, - Key: "host.FaultToleranceManager.unregister", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set local VM component health", - Summary: "Sets the component health information of the specified local virtual machine", - }, - Key: "host.FaultToleranceManager.setLocalVMComponentHealth", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get peer VM component health", - Summary: "Gets component health information of the FT peer of the specified local virtual machine", - }, - Key: "host.FaultToleranceManager.getPeerVMComponentHealth", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add custom field", - Summary: "Creates a new custom property", - }, - Key: "CustomFieldsManager.addFieldDefinition", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove custom field", - Summary: "Removes a custom property", - }, - Key: "CustomFieldsManager.removeFieldDefinition", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rename custom property", - Summary: "Renames a custom property", - }, - Key: "CustomFieldsManager.renameFieldDefinition", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set custom field", - Summary: "Assigns a value to a custom property", - }, - Key: "CustomFieldsManager.setField", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get ManagedEntities", - Summary: "Get the list of ManagedEntities that the name is a Substring of the custom field name and the value is a Substring of the field value.", - }, - Key: "CustomFieldsManager.getEntitiesWithCustomFieldAndValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveCustomFields", - Summary: "retrieveCustomFields", - }, - Key: "CustomFieldsManager.retrieveCustomFields", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update agent virtual machine information", - Summary: "Updates agent virtual machine information", - }, - Key: "EsxAgentConfigManager.updateAgentVmInfo", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query agent virtual machine information", - Summary: "Returns the state for each of the specified agent virtual machines", - }, - Key: "EsxAgentConfigManager.queryAgentVmInfo", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update compute resource agent information", - Summary: "Updates the number of required agent virtual machines for one or more compute resources", - }, - Key: "EsxAgentConfigManager.updateComputeResourceAgentInfo", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query compute resource agent information", - Summary: "Retrieves the agent information for one or more compute resources", - }, - Key: "EsxAgentConfigManager.queryComputeResourceAgentInfo", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set folder custom value", - Summary: "Sets the value of a custom field of a folder", - }, - Key: "Folder.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reload folder", - Summary: "Reloads the folder", - }, - Key: "Folder.reload", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rename folder", - Summary: "Rename the folder", - }, - Key: "Folder.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete folder", - Summary: "Delete this object, deleting its contents and removing it from its parent folder (if any)", - }, - Key: "Folder.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add tag", - Summary: "Add a set of tags to the folder", - }, - Key: "Folder.addTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove tag", - Summary: "Remove a set of tags from the folder", - }, - Key: "Folder.removeTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveCustomValues", - Summary: "retrieveCustomValues", - }, - Key: "Folder.retrieveCustomValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create folder", - Summary: "Creates a new folder", - }, - Key: "Folder.createFolder", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Move entities", - Summary: "Moves a set of managed entities into this folder", - }, - Key: "Folder.moveInto", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create virtual machine", - Summary: "Create a new virtual machine", - }, - Key: "Folder.createVm", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Register virtual machine", - Summary: "Adds an existing virtual machine to the folder", - }, - Key: "Folder.registerVm", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create cluster", - Summary: "Create a new cluster compute-resource in this folder", - }, - Key: "Folder.createCluster", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create cluster", - Summary: "Create a new cluster compute-resource in this folder", - }, - Key: "Folder.createClusterEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add standalone host", - Summary: "Create a new single-host compute-resource", - }, - Key: "Folder.addStandaloneHost", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add standalone host and enable lockdown", - Summary: "Create a new single-host compute-resource and enable lockdown mode on the host", - }, - Key: "Folder.addStandaloneHostWithAdminDisabled", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create datacenter", - Summary: "Create a new datacenter with the given name", - }, - Key: "Folder.createDatacenter", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Unregister and Delete", - Summary: "Recursively deletes all child virtual machine folders and unregisters all virtual machines", - }, - Key: "Folder.unregisterAndDestroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create a vSphere Distributed Switch", - Summary: "Create a vSphere Distributed Switch", - }, - Key: "Folder.createDistributedVirtualSwitch", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create a datastore cluster", - Summary: "Create a datastore cluster", - }, - Key: "Folder.createStoragePod", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "updateHostSpecification", - Summary: "updateHostSpecification", - }, - Key: "profile.host.HostSpecificationManager.updateHostSpecification", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "updateHostSubSpecification", - Summary: "updateHostSubSpecification", - }, - Key: "profile.host.HostSpecificationManager.updateHostSubSpecification", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveHostSpecification", - Summary: "retrieveHostSpecification", - }, - Key: "profile.host.HostSpecificationManager.retrieveHostSpecification", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "deleteHostSubSpecification", - Summary: "deleteHostSubSpecification", - }, - Key: "profile.host.HostSpecificationManager.deleteHostSubSpecification", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "deleteHostSpecification", - Summary: "deleteHostSpecification", - }, - Key: "profile.host.HostSpecificationManager.deleteHostSpecification", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "getUpdatedHosts", - Summary: "getUpdatedHosts", - }, - Key: "profile.host.HostSpecificationManager.getUpdatedHosts", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create cluster profile", - Summary: "Create cluster profile", - }, - Key: "profile.cluster.ProfileManager.createProfile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query policy metadata", - Summary: "Query policy metadata", - }, - Key: "profile.cluster.ProfileManager.queryPolicyMetadata", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Find associated profile", - Summary: "Find associated profile", - }, - Key: "profile.cluster.ProfileManager.findAssociatedProfile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query host kernel modules", - Summary: "Retrieves information about the kernel modules on the host", - }, - Key: "host.KernelModuleSystem.queryModules", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update kernel module option", - Summary: "Specifies the options to be passed to the kernel module when loaded", - }, - Key: "host.KernelModuleSystem.updateModuleOptionString", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query kernel module options", - Summary: "Retrieves the options configured to be passed to a kernel module when loaded", - }, - Key: "host.KernelModuleSystem.queryConfiguredModuleOptionString", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set storage custom value", - Summary: "Sets the value of a custom field of a host storage system", - }, - Key: "host.StorageSystem.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve disk partition information", - Summary: "Gets the partition information for the disks named by the device names", - }, - Key: "host.StorageSystem.retrieveDiskPartitionInfo", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Compute disk partition information", - Summary: "Computes the disk partition information given the desired disk layout", - }, - Key: "host.StorageSystem.computeDiskPartitionInfo", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Compute disk partition information for resize", - Summary: "Compute disk partition information for resizing a partition", - }, - Key: "host.StorageSystem.computeDiskPartitionInfoForResize", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update disk partitions", - Summary: "Change the partitions on the disk by supplying a partition specification and the device name", - }, - Key: "host.StorageSystem.updateDiskPartitions", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Format VMFS", - Summary: "Formats a new VMFS on a disk partition", - }, - Key: "host.StorageSystem.formatVmfs", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Mount VMFS volume", - Summary: "Mounts an unmounted VMFS volume", - }, - Key: "host.StorageSystem.mountVmfsVolume", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Unmount VMFS volume", - Summary: "Unmount a mounted VMFS volume", - }, - Key: "host.StorageSystem.unmountVmfsVolume", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Unmount VMFS volumes", - Summary: "Unmounts one or more mounted VMFS volumes", - }, - Key: "host.StorageSystem.unmountVmfsVolumeEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "mountVmfsVolumeEx", - Summary: "mountVmfsVolumeEx", - }, - Key: "host.StorageSystem.mountVmfsVolumeEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "unmapVmfsVolumeEx", - Summary: "unmapVmfsVolumeEx", - }, - Key: "host.StorageSystem.unmapVmfsVolumeEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete state information for unmounted VMFS volume", - Summary: "Removes the state information for a previously unmounted VMFS volume", - }, - Key: "host.StorageSystem.deleteVmfsVolumeState", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rescan VMFS", - Summary: "Rescan for new VMFS volumes", - }, - Key: "host.StorageSystem.rescanVmfs", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Extend VMFS", - Summary: "Extend a VMFS by attaching a disk partition", - }, - Key: "host.StorageSystem.attachVmfsExtent", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Expand VMFS extent", - Summary: "Expand the capacity of the VMFS extent", - }, - Key: "host.StorageSystem.expandVmfsExtent", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Upgrade VMFS", - Summary: "Upgrade the VMFS to the current VMFS version", - }, - Key: "host.StorageSystem.upgradeVmfs", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Relocate virtual machine disks", - Summary: "Relocate the disks for all virtual machines into directories if stored in the ROOT", - }, - Key: "host.StorageSystem.upgradeVmLayout", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query unbound VMFS volumes", - Summary: "Query for the list of unbound VMFS volumes", - }, - Key: "host.StorageSystem.queryUnresolvedVmfsVolume", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Resolve VMFS volumes", - Summary: "Resolve the detected copies of VMFS volumes", - }, - Key: "host.StorageSystem.resolveMultipleUnresolvedVmfsVolumes", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Resolve VMFS volumes", - Summary: "Resolves the detected copies of VMFS volumes", - }, - Key: "host.StorageSystem.resolveMultipleUnresolvedVmfsVolumesEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Unmount force mounted VMFS", - Summary: "Unmounts a force mounted VMFS volume", - }, - Key: "host.StorageSystem.unmountForceMountedVmfsVolume", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rescan HBA", - Summary: "Rescan a specific storage adapter for new storage devices", - }, - Key: "host.StorageSystem.rescanHba", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rescan all HBAs", - Summary: "Rescan all storage adapters for new storage devices", - }, - Key: "host.StorageSystem.rescanAllHba", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Change Software Internet SCSI Status", - Summary: "Enables or disables Software Internet SCSI", - }, - Key: "host.StorageSystem.updateSoftwareInternetScsiEnabled", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update Internet SCSI discovery properties", - Summary: "Updates the discovery properties for an Internet SCSI host bus adapter", - }, - Key: "host.StorageSystem.updateInternetScsiDiscoveryProperties", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update Internet SCSI authentication properties", - Summary: "Updates the authentication properties for an Internet SCSI host bus adapter", - }, - Key: "host.StorageSystem.updateInternetScsiAuthenticationProperties", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update Internet SCSI digest properties", - Summary: "Update the digest properties of an Internet SCSI host bus adapter or target", - }, - Key: "host.StorageSystem.updateInternetScsiDigestProperties", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update Internet SCSI advanced options", - Summary: "Update the advanced options of an Internet SCSI host bus adapter or target", - }, - Key: "host.StorageSystem.updateInternetScsiAdvancedOptions", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update Internet SCSI IP properties", - Summary: "Updates the IP properties for an Internet SCSI host bus adapter", - }, - Key: "host.StorageSystem.updateInternetScsiIPProperties", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update Internet SCSI name", - Summary: "Updates the name of an Internet SCSI host bus adapter", - }, - Key: "host.StorageSystem.updateInternetScsiName", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update Internet SCSI alias", - Summary: "Updates the alias of an Internet SCSI host bus adapter", - }, - Key: "host.StorageSystem.updateInternetScsiAlias", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add Internet SCSI send targets", - Summary: "Adds send target entries to the host bus adapter discovery list", - }, - Key: "host.StorageSystem.addInternetScsiSendTargets", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove Internet SCSI send targets", - Summary: "Removes send target entries from the host bus adapter discovery list", - }, - Key: "host.StorageSystem.removeInternetScsiSendTargets", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add Internet SCSI static targets ", - Summary: "Adds static target entries to the host bus adapter discovery list", - }, - Key: "host.StorageSystem.addInternetScsiStaticTargets", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove Internet SCSI static targets", - Summary: "Removes static target entries from the host bus adapter discovery list", - }, - Key: "host.StorageSystem.removeInternetScsiStaticTargets", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Enable multiple path", - Summary: "Enable a path for a logical unit", - }, - Key: "host.StorageSystem.enableMultipathPath", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Disable multiple path", - Summary: "Disable a path for a logical unit", - }, - Key: "host.StorageSystem.disableMultipathPath", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set logical unit policy", - Summary: "Set the multipath policy for a logical unit ", - }, - Key: "host.StorageSystem.setMultipathLunPolicy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query path selection policy options", - Summary: "Queries the set of path selection policy options", - }, - Key: "host.StorageSystem.queryPathSelectionPolicyOptions", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query storage array type policy options", - Summary: "Queries the set of storage array type policy options", - }, - Key: "host.StorageSystem.queryStorageArrayTypePolicyOptions", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update SCSI LUN display name", - Summary: "Updates the display name of a SCSI LUN", - }, - Key: "host.StorageSystem.updateScsiLunDisplayName", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Detach SCSI LUN", - Summary: "Blocks I/O operations to the attached SCSI LUN", - }, - Key: "host.StorageSystem.detachScsiLun", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Detach SCSI LUNs", - Summary: "Blocks I/O operations to one or more attached SCSI LUNs", - }, - Key: "host.StorageSystem.detachScsiLunEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete state information for detached SCSI LUN", - Summary: "Removes the state information for a previously detached SCSI LUN", - }, - Key: "host.StorageSystem.deleteScsiLunState", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Attach SCSI LUN", - Summary: "Allow I/O issue to the specified detached SCSI LUN", - }, - Key: "host.StorageSystem.attachScsiLun", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Attach SCSI LUNs", - Summary: "Enables I/O operations to one or more detached SCSI LUNs", - }, - Key: "host.StorageSystem.attachScsiLunEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Refresh host storage system", - Summary: "Refresh the storage information and settings to pick up any changes that have occurred", - }, - Key: "host.StorageSystem.refresh", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Discover FCOE storage", - Summary: "Discovers new storage using FCOE", - }, - Key: "host.StorageSystem.discoverFcoeHbas", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update FCOE HBA state", - Summary: "Mark or unmark the specified FCOE HBA for removal from the host system", - }, - Key: "host.StorageSystem.markForRemoval", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Format VFFS", - Summary: "Formats a new VFFS on a SSD disk", - }, - Key: "host.StorageSystem.formatVffs", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Extend VFFS", - Summary: "Extends a VFFS by attaching a SSD disk", - }, - Key: "host.StorageSystem.extendVffs", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete VFFS", - Summary: "Deletes a VFFS from the host", - }, - Key: "host.StorageSystem.destroyVffs", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Mounts VFFS volume", - Summary: "Mounts an unmounted VFFS volume", - }, - Key: "host.StorageSystem.mountVffsVolume", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Unmounts VFFS volume", - Summary: "Unmounts a mounted VFFS volume", - }, - Key: "host.StorageSystem.unmountVffsVolume", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete state information for unmounted VFFS volume", - Summary: "Removes the state information for a previously unmounted VFFS volume", - }, - Key: "host.StorageSystem.deleteVffsVolumeState", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rescan VFFS", - Summary: "Rescans for new VFFS volumes", - }, - Key: "host.StorageSystem.rescanVffs", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query available SSD disks", - Summary: "Queries available SSD disks", - }, - Key: "host.StorageSystem.queryAvailableSsds", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set NFS user", - Summary: "Sets an NFS user", - }, - Key: "host.StorageSystem.setNFSUser", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Change NFS user password", - Summary: "Changes the password of an NFS user", - }, - Key: "host.StorageSystem.changeNFSUserPassword", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query NFS user", - Summary: "Queries an NFS user", - }, - Key: "host.StorageSystem.queryNFSUser", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Clear NFS user", - Summary: "Deletes an NFS user", - }, - Key: "host.StorageSystem.clearNFSUser", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Turn on disk locator LEDs", - Summary: "Turns on one or more disk locator LEDs", - }, - Key: "host.StorageSystem.turnDiskLocatorLedOn", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Turn off locator LEDs", - Summary: "Turns off one or more disk locator LEDs", - }, - Key: "host.StorageSystem.turnDiskLocatorLedOff", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Mark the disk as a flash disk", - Summary: "Marks the disk as a flash disk", - }, - Key: "host.StorageSystem.markAsSsd", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Mark the disk as a HDD disk", - Summary: "Marks the disk as a HDD disk", - }, - Key: "host.StorageSystem.markAsNonSsd", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Mark the disk as a local disk", - Summary: "Marks the disk as a local disk", - }, - Key: "host.StorageSystem.markAsLocal", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Mark the disk as a remote disk", - Summary: "Marks the disk as a remote disk", - }, - Key: "host.StorageSystem.markAsNonLocal", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "QueryIoFilterProviderId", - Summary: "QueryIoFilterProviderId", - }, - Key: "host.StorageSystem.QueryIoFilterProviderId", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "FetchIoFilterSharedSecret", - Summary: "FetchIoFilterSharedSecret", - }, - Key: "host.StorageSystem.FetchIoFilterSharedSecret", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update VMFS unmap priority", - Summary: "Updates the priority of VMFS space reclamation operation", - }, - Key: "host.StorageSystem.updateVmfsUnmapPriority", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query VMFS config option", - Summary: "Query VMFS config option", - }, - Key: "host.StorageSystem.queryVmfsConfigOption", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set EVC manager custom value", - Summary: "Sets the value of a custom field for an Enhanced vMotion Compatibility manager", - }, - Key: "cluster.TransitionalEVCManager.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Configure cluster EVC", - Summary: "Enable/reconfigure Enhanced vMotion Compatibility for a cluster", - }, - Key: "cluster.TransitionalEVCManager.configureEVC", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Disable cluster EVC", - Summary: "Disable Enhanced vMotion Compatibility for a cluster", - }, - Key: "cluster.TransitionalEVCManager.disableEVC", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Validate EVC mode for cluster", - Summary: "Test the validity of configuring Enhanced vMotion Compatibility mode on the managed cluster", - }, - Key: "cluster.TransitionalEVCManager.checkConfigureEVC", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Validate host for EVC cluster", - Summary: "Tests the validity of adding a host into the Enhanced vMotion Compatibility cluster", - }, - Key: "cluster.TransitionalEVCManager.checkAddHost", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve argument description for event type", - Summary: "Retrieves the argument meta-data for a given event type", - }, - Key: "event.EventManager.retrieveArgumentDescription", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create event collector", - Summary: "Creates an event collector to retrieve all server events based on a filter", - }, - Key: "event.EventManager.createCollector", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Log user event", - Summary: "Logs a user-defined event", - }, - Key: "event.EventManager.logUserEvent", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get events", - Summary: "Provides the events selected by the specified filter", - }, - Key: "event.EventManager.QueryEvent", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query events by IDs", - Summary: "Returns the events specified by a list of IDs", - }, - Key: "event.EventManager.queryEventsById", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Post event", - Summary: "Posts the specified event", - }, - Key: "event.EventManager.postEvent", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query latest events in event filter", - Summary: "Query the latest events in the specified filter", - }, - Key: "event.EventManager.queryLastEvent", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create default host profile of specified type", - Summary: "Creates a default host profile of the specified type", - }, - Key: "profile.host.profileEngine.HostProfileManager.createDefaultProfile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query profile policy option metadata", - Summary: "Gets the profile policy option metadata for the specified policy names", - }, - Key: "profile.host.profileEngine.HostProfileManager.queryPolicyMetadata", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query profile metadata", - Summary: "Gets the profile metadata for the specified profile names and profile types", - }, - Key: "profile.host.profileEngine.HostProfileManager.queryProfileMetadata", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query profile category metadata", - Summary: "Gets the profile category metadata for the specified category names", - }, - Key: "profile.host.profileEngine.HostProfileManager.queryProfileCategoryMetadata", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query profile component metadata", - Summary: "Gets the profile component metadata for the specified component names", - }, - Key: "profile.host.profileEngine.HostProfileManager.queryProfileComponentMetadata", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Execute host profile manager engine", - Summary: "Executes the host profile manager engine", - }, - Key: "profile.host.profileEngine.HostProfileManager.execute", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Bookkeep host profile", - Summary: "Bookkeep host profile", - }, - Key: "profile.host.profileEngine.HostProfileManager.bookKeep", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve profile description", - Summary: "Retrieves description of a profile", - }, - Key: "profile.host.profileEngine.HostProfileManager.retrieveProfileDescription", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update configuration tasks from host configuration", - Summary: "Update configuration tasks from host configuration", - }, - Key: "profile.host.profileEngine.HostProfileManager.updateTaskConfigSpec", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "generateTaskList", - Summary: "generateTaskList", - }, - Key: "profile.host.profileEngine.HostProfileManager.generateTaskList", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "generateHostConfigTaskSpec", - Summary: "generateHostConfigTaskSpec", - }, - Key: "profile.host.profileEngine.HostProfileManager.generateHostConfigTaskSpec", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve profile from host configuration", - Summary: "Retrieves a profile from the host's configuration", - }, - Key: "profile.host.profileEngine.HostProfileManager.retrieveProfile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Prepare host profile for export", - Summary: "Prepares a host profile for export", - }, - Key: "profile.host.profileEngine.HostProfileManager.prepareExport", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query user input policy options", - Summary: "Gets a list of policy options that are set to require user inputs", - }, - Key: "profile.host.profileEngine.HostProfileManager.queryUserInputPolicyOptions", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query profile structure", - Summary: "Gets information about the structure of a profile", - }, - Key: "profile.host.profileEngine.HostProfileManager.queryProfileStructure", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Apply host configuration", - Summary: "Applies the specified host configuration to the host", - }, - Key: "profile.host.profileEngine.HostProfileManager.applyHostConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query host profile manager state", - Summary: "Gets the current state of the host profile manager and plug-ins on a host", - }, - Key: "profile.host.profileEngine.HostProfileManager.queryState", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set backup agent custom value", - Summary: "Set backup agent custom value", - }, - Key: "vm.BackupAgent.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Start virtual machine backup", - Summary: "Start a backup operation inside the virtual machine guest", - }, - Key: "vm.BackupAgent.startBackup", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Stop virtual machine backup", - Summary: "Stop a backup operation in a virtual machine", - }, - Key: "vm.BackupAgent.abortBackup", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Notify virtual machine snapshot completion", - Summary: "Notify the virtual machine when a snapshot operation is complete", - }, - Key: "vm.BackupAgent.notifySnapshotCompletion", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Wait for guest event", - Summary: "Wait for an event delivered by the virtual machine guest", - }, - Key: "vm.BackupAgent.waitForEvent", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Refresh hardware information", - Summary: "Refresh hardware information", - }, - Key: "host.HealthStatusSystem.refresh", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reset system health sensors", - Summary: "Resets the state of the sensors of the IPMI subsystem", - }, - Key: "host.HealthStatusSystem.resetSystemHealthInfo", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Clear hardware IPMI System Event Log", - Summary: "Clear hardware IPMI System Event Log", - }, - Key: "host.HealthStatusSystem.clearSystemEventLog", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Refresh hardware IPMI System Event Log", - Summary: "Refresh hardware IPMI System Event Log", - }, - Key: "host.HealthStatusSystem.FetchSystemEventLog", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create a virtual disk object", - Summary: "Create a virtual disk object", - }, - Key: "vslm.vcenter.VStorageObjectManager.createDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Register a legacy disk to be a virtual disk object", - Summary: "Register a legacy disk to be a virtual disk object", - }, - Key: "vslm.vcenter.VStorageObjectManager.registerDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Extend a virtual disk to the new capacity", - Summary: "Extend a virtual disk to the new capacity", - }, - Key: "vslm.vcenter.VStorageObjectManager.extendDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Inflate a thin virtual disk", - Summary: "Inflate a thin virtual disk", - }, - Key: "vslm.vcenter.VStorageObjectManager.inflateDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rename a virtual storage object", - Summary: "Rename a virtual storage object", - }, - Key: "vslm.vcenter.VStorageObjectManager.renameVStorageObject", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update storage policy on a virtual storage object", - Summary: "Update storage policy on a virtual storage object", - }, - Key: "vslm.vcenter.VStorageObjectManager.updateVStorageObjectPolicy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete a virtual storage object", - Summary: "Delete a virtual storage object", - }, - Key: "vslm.vcenter.VStorageObjectManager.deleteVStorageObject", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve a virtual storage object", - Summary: "Retrieve a virtual storage object", - }, - Key: "vslm.vcenter.VStorageObjectManager.retrieveVStorageObject", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveVStorageObjectState", - Summary: "retrieveVStorageObjectState", - }, - Key: "vslm.vcenter.VStorageObjectManager.retrieveVStorageObjectState", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "List virtual storage objects on a datastore", - Summary: "List virtual storage objects on a datastore", - }, - Key: "vslm.vcenter.VStorageObjectManager.listVStorageObject", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Clone a virtual storage object", - Summary: "Clone a virtual storage object", - }, - Key: "vslm.vcenter.VStorageObjectManager.cloneVStorageObject", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Relocate a virtual storage object", - Summary: "Relocate a virtual storage object", - }, - Key: "vslm.vcenter.VStorageObjectManager.relocateVStorageObject", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "attachTagToVStorageObject", - Summary: "attachTagToVStorageObject", - }, - Key: "vslm.vcenter.VStorageObjectManager.attachTagToVStorageObject", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "detachTagFromVStorageObject", - Summary: "detachTagFromVStorageObject", - }, - Key: "vslm.vcenter.VStorageObjectManager.detachTagFromVStorageObject", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "listVStorageObjectsAttachedToTag", - Summary: "listVStorageObjectsAttachedToTag", - }, - Key: "vslm.vcenter.VStorageObjectManager.listVStorageObjectsAttachedToTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "listTagsAttachedToVStorageObject", - Summary: "listTagsAttachedToVStorageObject", - }, - Key: "vslm.vcenter.VStorageObjectManager.listTagsAttachedToVStorageObject", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconcile datastore inventory", - Summary: "Reconcile datastore inventory", - }, - Key: "vslm.vcenter.VStorageObjectManager.reconcileDatastoreInventory", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Schedule reconcile datastore inventory", - Summary: "Schedule reconcile datastore inventory", - }, - Key: "vslm.vcenter.VStorageObjectManager.scheduleReconcileDatastoreInventory", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Prepare a vCenter HA setup", - Summary: "Prepare vCenter HA setup on the local vCenter Server", - }, - Key: "vcha.FailoverClusterConfigurator.prepare", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Deploy a vCenter HA cluster", - Summary: "Deploy and configure vCenter HA on the local vCenter Server", - }, - Key: "vcha.FailoverClusterConfigurator.deploy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Configure a vCenter HA cluster", - Summary: "Configure vCenter HA on the local vCenter Server", - }, - Key: "vcha.FailoverClusterConfigurator.configure", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create passive node", - Summary: "Create a passive node in a vCenter HA Cluster", - }, - Key: "vcha.FailoverClusterConfigurator.createPassiveNode", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create witness node", - Summary: "Create a witness node in a vCenter HA Cluster", - }, - Key: "vcha.FailoverClusterConfigurator.createWitnessNode", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "getConfig", - Summary: "getConfig", - }, - Key: "vcha.FailoverClusterConfigurator.getConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Destroy the vCenter HA cluster", - Summary: "Destroy the vCenter HA cluster setup and remove all configuration files", - }, - Key: "vcha.FailoverClusterConfigurator.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set graphics manager custom value", - Summary: "Sets the value of a custom field of the graphics manager", - }, - Key: "host.GraphicsManager.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Refresh graphics information", - Summary: "Refresh graphics device information", - }, - Key: "host.GraphicsManager.refresh", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check if shared graphics is active", - Summary: "Check if shared graphics is active on the host", - }, - Key: "host.GraphicsManager.isSharedGraphicsActive", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "updateGraphicsConfig", - Summary: "updateGraphicsConfig", - }, - Key: "host.GraphicsManager.updateGraphicsConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "addKey", - Summary: "addKey", - }, - Key: "encryption.CryptoManagerKmip.addKey", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "addKeys", - Summary: "addKeys", - }, - Key: "encryption.CryptoManagerKmip.addKeys", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "removeKey", - Summary: "removeKey", - }, - Key: "encryption.CryptoManagerKmip.removeKey", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "removeKeys", - Summary: "removeKeys", - }, - Key: "encryption.CryptoManagerKmip.removeKeys", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "listKeys", - Summary: "listKeys", - }, - Key: "encryption.CryptoManagerKmip.listKeys", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "registerKmipServer", - Summary: "registerKmipServer", - }, - Key: "encryption.CryptoManagerKmip.registerKmipServer", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "markDefault", - Summary: "markDefault", - }, - Key: "encryption.CryptoManagerKmip.markDefault", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "updateKmipServer", - Summary: "updateKmipServer", - }, - Key: "encryption.CryptoManagerKmip.updateKmipServer", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "removeKmipServer", - Summary: "removeKmipServer", - }, - Key: "encryption.CryptoManagerKmip.removeKmipServer", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "listKmipServers", - Summary: "listKmipServers", - }, - Key: "encryption.CryptoManagerKmip.listKmipServers", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveKmipServersStatus", - Summary: "retrieveKmipServersStatus", - }, - Key: "encryption.CryptoManagerKmip.retrieveKmipServersStatus", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "generateKey", - Summary: "generateKey", - }, - Key: "encryption.CryptoManagerKmip.generateKey", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveKmipServerCert", - Summary: "retrieveKmipServerCert", - }, - Key: "encryption.CryptoManagerKmip.retrieveKmipServerCert", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "uploadKmipServerCert", - Summary: "uploadKmipServerCert", - }, - Key: "encryption.CryptoManagerKmip.uploadKmipServerCert", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "generateSelfSignedClientCert", - Summary: "generateSelfSignedClientCert", - }, - Key: "encryption.CryptoManagerKmip.generateSelfSignedClientCert", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "generateClientCsr", - Summary: "generateClientCsr", - }, - Key: "encryption.CryptoManagerKmip.generateClientCsr", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveSelfSignedClientCert", - Summary: "retrieveSelfSignedClientCert", - }, - Key: "encryption.CryptoManagerKmip.retrieveSelfSignedClientCert", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveClientCsr", - Summary: "retrieveClientCsr", - }, - Key: "encryption.CryptoManagerKmip.retrieveClientCsr", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveClientCert", - Summary: "retrieveClientCert", - }, - Key: "encryption.CryptoManagerKmip.retrieveClientCert", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "updateSelfSignedClientCert", - Summary: "updateSelfSignedClientCert", - }, - Key: "encryption.CryptoManagerKmip.updateSelfSignedClientCert", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "updateKmsSignedCsrClientCert", - Summary: "updateKmsSignedCsrClientCert", - }, - Key: "encryption.CryptoManagerKmip.updateKmsSignedCsrClientCert", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "uploadClientCert", - Summary: "uploadClientCert", - }, - Key: "encryption.CryptoManagerKmip.uploadClientCert", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set host custom value", - Summary: "Sets the value of a custom field of an host", - }, - Key: "HostSystem.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reload host system", - Summary: "Reloads the host system", - }, - Key: "HostSystem.reload", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rename host", - Summary: "Rename this host", - }, - Key: "HostSystem.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove host", - Summary: "Removes the host", - }, - Key: "HostSystem.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add tag", - Summary: "Add a set of tags to the host", - }, - Key: "HostSystem.addTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove tag", - Summary: "Remove a set of tags from the host", - }, - Key: "HostSystem.removeTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveCustomValues", - Summary: "retrieveCustomValues", - }, - Key: "HostSystem.retrieveCustomValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query TPM attestation information", - Summary: "Provides details of the secure boot and TPM status", - }, - Key: "HostSystem.queryTpmAttestationReport", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query connection information", - Summary: "Connection information about a host", - }, - Key: "HostSystem.queryConnectionInfo", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve internal host capabilities", - Summary: "Retrieves vCenter Server-specific internal host capabilities", - }, - Key: "HostSystem.retrieveInternalCapability", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "", - Summary: "", - }, - Key: "HostSystem.retrieveInternalConfigManager", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update system resources", - Summary: "Update the configuration of the system resource hierarchy", - }, - Key: "HostSystem.updateSystemResources", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update system swap configuration", - Summary: "Update the configuration of the system swap", - }, - Key: "HostSystem.updateSystemSwapConfiguration", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconnect host", - Summary: "Reconnects to a host", - }, - Key: "HostSystem.reconnect", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Disconnect host", - Summary: "Disconnects from a host", - }, - Key: "HostSystem.disconnect", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Enter maintenance mode", - Summary: "Puts the host in maintenance mode", - }, - Key: "HostSystem.enterMaintenanceMode", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Exit maintenance mode", - Summary: "Disables maintenance mode", - }, - Key: "HostSystem.exitMaintenanceMode", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Initiate host reboot", - Summary: "Initiates a host reboot", - }, - Key: "HostSystem.reboot", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Initiate host shutdown", - Summary: "Initiates a host shutdown", - }, - Key: "HostSystem.shutdown", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Enter standby mode", - Summary: "Puts this host into standby mode", - }, - Key: "HostSystem.enterStandbyMode", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Exit standby mode", - Summary: "Brings this host out of standby mode", - }, - Key: "HostSystem.exitStandbyMode", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query host overhead", - Summary: "Determines the amount of memory overhead necessary to power on a virtual machine with the specified characteristics", - }, - Key: "HostSystem.queryOverhead", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query memory overhead", - Summary: "Query memory overhead", - }, - Key: "HostSystem.queryOverheadEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigure vSphere HA host", - Summary: "Reconfigures the host for vSphere HA", - }, - Key: "HostSystem.reconfigureDAS", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve Patch Manager", - Summary: "Retrieves a reference to Patch Manager", - }, - Key: "HostSystem.retrievePatchManager", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update host system flags", - Summary: "Update the flags of the host system", - }, - Key: "HostSystem.updateFlags", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Send Wake-on-LAN packet", - Summary: "Send Wake-on-LAN packets to the physical NICs specified", - }, - Key: "HostSystem.sendWakeOnLanPacket", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Enable lockdown mode", - Summary: "Enable lockdown mode on this host", - }, - Key: "HostSystem.disableAdmin", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Disable lockdown mode", - Summary: "Disable lockdown mode on this host", - }, - Key: "HostSystem.enableAdmin", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Enable lockdown mode", - Summary: "Enable lockdown mode on this host", - }, - Key: "HostSystem.enterLockdownMode", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Disable lockdown mode", - Summary: "Disable lockdown mode on this host", - }, - Key: "HostSystem.exitLockdownMode", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update management server IP", - Summary: "Update information about the vCenter Server managing this host", - }, - Key: "HostSystem.updateManagementServerIp", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Acquire CIM service", - Summary: "Establish a remote connection to a CIM interface", - }, - Key: "HostSystem.acquireCimServicesTicket", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update IPMI or ILO information used by DPM", - Summary: "Update IPMI or ILO information for this host used by DPM", - }, - Key: "HostSystem.updateIpmi", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update SSL thumbprint registry", - Summary: "Updates the SSL thumbprint registry on the host", - }, - Key: "HostSystem.updateSslThumbprintInfo", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve host hardware uptime", - Summary: "Retrieves the hardware uptime for the host in seconds", - }, - Key: "HostSystem.retrieveHardwareUptime", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve Dynamic Type Manager", - Summary: "Retrieves a reference to Dynamic Type Manager", - }, - Key: "HostSystem.retrieveDynamicTypeManager", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve Managed Method Executer", - Summary: "Retrieves a reference to Managed Method Executer", - }, - Key: "HostSystem.retrieveManagedMethodExecuter", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query virtual machine memory overhead", - Summary: "Query memory overhead for a virtual machine power on", - }, - Key: "HostSystem.queryOverheadEx2", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Test EVC mode", - Summary: "Test an EVC mode on a host", - }, - Key: "HostSystem.testEvcMode", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Apply EVC mode", - Summary: "Applies an EVC mode to a host", - }, - Key: "HostSystem.applyEvcMode", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check whether the certificate is trusted by vCenter Server", - Summary: "Checks whether the certificate matches the host certificate that vCenter Server trusts", - }, - Key: "HostSystem.checkCertificateTrusted", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Prepare host", - Summary: "Prepare host for encryption", - }, - Key: "HostSystem.prepareCrypto", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Enable encryption", - Summary: "Enable encryption on the current host", - }, - Key: "HostSystem.enableCrypto", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Configure the host key", - Summary: "Configure the encryption key on the current host", - }, - Key: "HostSystem.configureCryptoKey", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query supported switch specification", - Summary: "Query supported switch specification", - }, - Key: "dvs.DistributedVirtualSwitchManager.querySupportedSwitchSpec", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query compatible hosts for a vSphere Distributed Switch specification", - Summary: "Returns a list of hosts that are compatible with a given vSphere Distributed Switch specification", - }, - Key: "dvs.DistributedVirtualSwitchManager.queryCompatibleHostForNewDvs", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query compatible hosts for existing vSphere Distributed Switch", - Summary: "Returns a list of hosts that are compatible with an existing vSphere Distributed Switch", - }, - Key: "dvs.DistributedVirtualSwitchManager.queryCompatibleHostForExistingDvs", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query compatible host specification", - Summary: "Query compatible host specification", - }, - Key: "dvs.DistributedVirtualSwitchManager.queryCompatibleHostSpec", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query feature capabilities for vSphere Distributed Switch specification", - Summary: "Queries feature capabilities available for a given vSphere Distributed Switch specification", - }, - Key: "dvs.DistributedVirtualSwitchManager.queryFeatureCapability", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query switch by UUID", - Summary: "Query switch by UUID", - }, - Key: "dvs.DistributedVirtualSwitchManager.querySwitchByUuid", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query configuration target", - Summary: "Query configuration target", - }, - Key: "dvs.DistributedVirtualSwitchManager.queryDvsConfigTarget", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check compatibility of hosts against a vSphere Distributed Switch version", - Summary: "Check compatibility of hosts against a vSphere Distributed Switch version", - }, - Key: "dvs.DistributedVirtualSwitchManager.checkCompatibility", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update opaque data for set of entities", - Summary: "Update opaque data for set of entities", - }, - Key: "dvs.DistributedVirtualSwitchManager.updateOpaqueData", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update opaque data for set of entities", - Summary: "Update opaque data for set of entities", - }, - Key: "dvs.DistributedVirtualSwitchManager.updateOpaqueDataEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Fetch opaque data for set of entities", - Summary: "Fetch opaque data for set of entities", - }, - Key: "dvs.DistributedVirtualSwitchManager.fetchOpaqueData", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Fetch opaque data for set of entities", - Summary: "Fetch opaque data for set of entities", - }, - Key: "dvs.DistributedVirtualSwitchManager.fetchOpaqueDataEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Execute opaque command for set of entities", - Summary: "Execute opaque command for set of entities", - }, - Key: "dvs.DistributedVirtualSwitchManager.executeOpaqueCommand", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rectify vNetwork Distributed Switch host", - Summary: "Rectify vNetwork Distributed Switch host", - }, - Key: "dvs.DistributedVirtualSwitchManager.rectifyHost", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Export configuration of the entity", - Summary: "Export configuration of the entity", - }, - Key: "dvs.DistributedVirtualSwitchManager.exportEntity", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Import configuration of the entity", - Summary: "Import configuration of the entity", - }, - Key: "dvs.DistributedVirtualSwitchManager.importEntity", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Look up portgroup based on portgroup key", - Summary: "Look up portgroup based on portgroup key", - }, - Key: "dvs.DistributedVirtualSwitchManager.lookupPortgroup", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query uplink team information", - Summary: "Query uplink team information", - }, - Key: "dvs.DistributedVirtualSwitchManager.QueryDvpgUplinkTeam", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryHostNetworkResource", - Summary: "queryHostNetworkResource", - }, - Key: "dvs.DistributedVirtualSwitchManager.queryHostNetworkResource", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryVwirePort", - Summary: "queryVwirePort", - }, - Key: "dvs.DistributedVirtualSwitchManager.queryVwirePort", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Move file", - Summary: "Move the file, folder, or disk from source datacenter to destination datacenter", - }, - Key: "FileManager.move", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Move file", - Summary: "Move the source file or folder to destination datacenter", - }, - Key: "FileManager.moveFile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Copy file", - Summary: "Copy the file, folder, or disk from source datacenter to destination datacenter", - }, - Key: "FileManager.copy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Copy file", - Summary: "Copy the source file or folder to destination datacenter", - }, - Key: "FileManager.copyFile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete file", - Summary: "Delete the file, folder, or disk from source datacenter", - }, - Key: "FileManager.delete", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete file", - Summary: "Delete the source file or folder from the datastore", - }, - Key: "FileManager.deleteFile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Make Directory", - Summary: "Create a directory using the specified name", - }, - Key: "FileManager.makeDirectory", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Change owner", - Summary: "Change the owner of the specified file to the specified user", - }, - Key: "FileManager.changeOwner", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query process information", - Summary: "Retrieves information regarding processes", - }, - Key: "host.SystemDebugManager.queryProcessInfo", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set network custom value", - Summary: "Sets the value of a custom field of a host network system", - }, - Key: "host.NetworkSystem.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update network configuration", - Summary: "Network configuration information", - }, - Key: "host.NetworkSystem.updateNetworkConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update DNS configuration", - Summary: "Update the DNS configuration for the host", - }, - Key: "host.NetworkSystem.updateDnsConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update IP route configuration", - Summary: "Update IP route configuration", - }, - Key: "host.NetworkSystem.updateIpRouteConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update console IP route configuration", - Summary: "Update console IP route configuration", - }, - Key: "host.NetworkSystem.updateConsoleIpRouteConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update IP route table configuration", - Summary: "Applies the IP route table configuration for the host", - }, - Key: "host.NetworkSystem.updateIpRouteTableConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add virtual switch", - Summary: "Add a new virtual switch to the system", - }, - Key: "host.NetworkSystem.addVirtualSwitch", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove virtual switch", - Summary: "Remove an existing virtual switch from the system", - }, - Key: "host.NetworkSystem.removeVirtualSwitch", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update virtual switch", - Summary: "Updates the properties of the virtual switch", - }, - Key: "host.NetworkSystem.updateVirtualSwitch", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add port group", - Summary: "Add a port group to the virtual switch", - }, - Key: "host.NetworkSystem.addPortGroup", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove port group", - Summary: "Remove a port group from the virtual switch", - }, - Key: "host.NetworkSystem.removePortGroup", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigure port group", - Summary: "Reconfigure a port group on the virtual switch", - }, - Key: "host.NetworkSystem.updatePortGroup", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update physical NIC link speed", - Summary: "Configure link speed and duplexity", - }, - Key: "host.NetworkSystem.updatePhysicalNicLinkSpeed", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query network hint", - Summary: "Request network hint information for a physical NIC", - }, - Key: "host.NetworkSystem.queryNetworkHint", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add virtual NIC", - Summary: "Add a virtual host or service console NIC", - }, - Key: "host.NetworkSystem.addVirtualNic", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove virtual NIC", - Summary: "Remove a virtual host or service console NIC", - }, - Key: "host.NetworkSystem.removeVirtualNic", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update virtual NIC", - Summary: "Configure virtual host or VMkernel NIC", - }, - Key: "host.NetworkSystem.updateVirtualNic", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add service console virtual NIC", - Summary: "Add a virtual service console NIC", - }, - Key: "host.NetworkSystem.addServiceConsoleVirtualNic", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove service console virtual NIC", - Summary: "Remove a virtual service console NIC", - }, - Key: "host.NetworkSystem.removeServiceConsoleVirtualNic", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update service console virtual NIC", - Summary: "Update IP configuration for a service console virtual NIC", - }, - Key: "host.NetworkSystem.updateServiceConsoleVirtualNic", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Restart virtual network adapter interface", - Summary: "Restart the service console virtual network adapter interface", - }, - Key: "host.NetworkSystem.restartServiceConsoleVirtualNic", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Refresh network information", - Summary: "Refresh the network information and settings to detect any changes that have occurred", - }, - Key: "host.NetworkSystem.refresh", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Invoke API call on host with transactionId", - Summary: "Invoke API call on host with transactionId", - }, - Key: "host.NetworkSystem.invokeHostTransactionCall", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Commit transaction to confirm that host is connected to vCenter Server", - Summary: "Commit transaction to confirm that host is connected to vCenter Server", - }, - Key: "host.NetworkSystem.commitTransaction", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "performHostOpaqueNetworkDataOperation", - Summary: "performHostOpaqueNetworkDataOperation", - }, - Key: "host.NetworkSystem.performHostOpaqueNetworkDataOperation", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve available diagnostic partitions", - Summary: "Retrieves a list of available diagnostic partitions", - }, - Key: "host.DiagnosticSystem.queryAvailablePartition", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Change active diagnostic partition", - Summary: "Changes the active diagnostic partition to a different partition", - }, - Key: "host.DiagnosticSystem.selectActivePartition", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve diagnostic partitionable disks", - Summary: "Retrieves a list of disks that can be used to contain a diagnostic partition", - }, - Key: "host.DiagnosticSystem.queryPartitionCreateOptions", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve diagnostic partition creation description", - Summary: "Retrieves the diagnostic partition creation description for a disk", - }, - Key: "host.DiagnosticSystem.queryPartitionCreateDesc", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create diagnostic partition", - Summary: "Creates a diagnostic partition according to the provided creation specification", - }, - Key: "host.DiagnosticSystem.createDiagnosticPartition", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Configure host cache performance enhancement", - Summary: "Configures host cache by allocating space on a low latency device (usually a solid state drive) for enhanced system performance", - }, - Key: "host.CacheConfigurationManager.configureCache", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigure host update proxy", - Summary: "Reconfigure host update proxy", - }, - Key: "host.HostUpdateProxyManager.reconfigureHostUpdateProxy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve configuration of the host update proxy", - Summary: "Retrieve configuration of the host update proxy", - }, - Key: "host.HostUpdateProxyManager.retrieveHostUpdateProxyConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set extensible custom value", - Summary: "Sets the value of a custom field of an extensible managed object", - }, - Key: "ExtensibleManagedObject.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Configuring vSphere HA", - Summary: "Configuring vSphere HA", - }, - Key: "DasConfig.ConfigureHost", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Unconfiguring vSphere HA", - Summary: "Unconfiguring vSphere HA", - }, - Key: "DasConfig.UnconfigureHost", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Migrate virtual machine", - Summary: "Migrates a virtual machine from one host to another", - }, - Key: "Drm.ExecuteVMotionLRO", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Power On virtual machine", - Summary: "Power on this virtual machine", - }, - Key: "Drm.ExecuteVmPowerOnLRO", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Enter standby mode", - Summary: "Puts this host into standby mode", - }, - Key: "Drm.EnterStandbyLRO", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Exit standby mode", - Summary: "Brings this host out of standby mode", - }, - Key: "Drm.ExitStandbyLRO", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Power On virtual machine", - Summary: "Power On this virtual machine", - }, - Key: "Datacenter.ExecuteVmPowerOnLRO", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Upgrade vCenter Agent", - Summary: "Upgrade the vCenter Agent", - }, - Key: "Upgrade.UpgradeAgent", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Upgrade vCenter Agents on cluster hosts", - Summary: "Upgrade the vCenter Agents on all cluster hosts", - }, - Key: "ClusterUpgrade.UpgradeAgent", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Deploy OVF template", - Summary: "Deploys a virtual machine or vApp", - }, - Key: "ResourcePool.ImportVAppLRO", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set cluster suspended state", - Summary: "Set suspended state of the cluster", - }, - Key: "ClusterComputeResource.setSuspendedState", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Export OVF template", - Summary: "Exports the virtual machine as an OVF template", - }, - Key: "VirtualMachine.ExportVmLRO", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Export OVF template", - Summary: "Exports the vApp as an OVF template", - }, - Key: "VirtualApp.ExportVAppLRO", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Start Fault Tolerance Secondary VM", - Summary: "Start Secondary VM as the Primary VM is powered on", - }, - Key: "FaultTolerance.PowerOnSecondaryLRO", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Execute Storage vMotion for Storage DRS", - Summary: "Execute Storage vMotion migrations for Storage DRS", - }, - Key: "Drm.ExecuteStorageVmotionLro", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Apply recommendations for SDRS maintenance mode", - Summary: "Apply recommendations to enter into SDRS maintenance mode", - }, - Key: "Drm.ExecuteMaintenanceRecommendationsLro", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Enter SDRS maintenance mode monitor task", - Summary: "Task that monitors the SDRS maintenance mode activity", - }, - Key: "Drm.TrackEnterMaintenanceLro", - }, - }, - State: []types.BaseElementDescription{ - &types.ElementDescription{ - Description: types.Description{ - Label: "Queued", - Summary: "Task is queued", - }, - Key: "queued", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Running", - Summary: "Task is in progress", - }, - Key: "running", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Success", - Summary: "Task completed successfully", - }, - Key: "success", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Error", - Summary: "Task completed with a failure", - }, - Key: "error", - }, - }, - Reason: []types.BaseTypeDescription{ - &types.TypeDescription{ - Description: types.Description{ - Label: "Alarm task", - Summary: "Task started by an alarm", - }, - Key: "TaskReasonAlarm", - }, - &types.TypeDescription{ - Description: types.Description{ - Label: "System task", - Summary: "Task started by the server", - }, - Key: "TaskReasonSystem", - }, - &types.TypeDescription{ - Description: types.Description{ - Label: "User task", - Summary: "Task started by a specific user", - }, - Key: "TaskReasonUser", - }, - &types.TypeDescription{ - Description: types.Description{ - Label: "Scheduled task", - Summary: "Task started by a scheduled task", - }, - Key: "TaskReasonSchedule", - }, - }, -} diff --git a/vendor/github.com/vmware/govmomi/simulator/esx/virtual_device.go b/vendor/github.com/vmware/govmomi/simulator/esx/virtual_device.go deleted file mode 100644 index 628d7e053d7..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/esx/virtual_device.go +++ /dev/null @@ -1,242 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package esx - -import "github.com/vmware/govmomi/vim25/types" - -// VirtualDevice is the default set of VirtualDevice types created for a VirtualMachine -// Capture method: -// govc vm.create foo -// govc object.collect -s -dump vm/foo config.hardware.device -var VirtualDevice = []types.BaseVirtualDevice{ - &types.VirtualIDEController{ - VirtualController: types.VirtualController{ - VirtualDevice: types.VirtualDevice{ - DynamicData: types.DynamicData{}, - Key: 200, - DeviceInfo: &types.Description{ - DynamicData: types.DynamicData{}, - Label: "IDE 0", - Summary: "IDE 0", - }, - Backing: nil, - Connectable: (*types.VirtualDeviceConnectInfo)(nil), - SlotInfo: nil, - ControllerKey: 0, - UnitNumber: (*int32)(nil), - }, - BusNumber: 0, - Device: nil, - }, - }, - &types.VirtualIDEController{ - VirtualController: types.VirtualController{ - VirtualDevice: types.VirtualDevice{ - DynamicData: types.DynamicData{}, - Key: 201, - DeviceInfo: &types.Description{ - DynamicData: types.DynamicData{}, - Label: "IDE 1", - Summary: "IDE 1", - }, - Backing: nil, - Connectable: (*types.VirtualDeviceConnectInfo)(nil), - SlotInfo: nil, - ControllerKey: 0, - UnitNumber: (*int32)(nil), - }, - BusNumber: 1, - Device: nil, - }, - }, - &types.VirtualPS2Controller{ - VirtualController: types.VirtualController{ - VirtualDevice: types.VirtualDevice{ - DynamicData: types.DynamicData{}, - Key: 300, - DeviceInfo: &types.Description{ - DynamicData: types.DynamicData{}, - Label: "PS2 controller 0", - Summary: "PS2 controller 0", - }, - Backing: nil, - Connectable: (*types.VirtualDeviceConnectInfo)(nil), - SlotInfo: nil, - ControllerKey: 0, - UnitNumber: (*int32)(nil), - }, - BusNumber: 0, - Device: []int32{600, 700}, - }, - }, - &types.VirtualPCIController{ - VirtualController: types.VirtualController{ - VirtualDevice: types.VirtualDevice{ - DynamicData: types.DynamicData{}, - Key: 100, - DeviceInfo: &types.Description{ - DynamicData: types.DynamicData{}, - Label: "PCI controller 0", - Summary: "PCI controller 0", - }, - Backing: nil, - Connectable: (*types.VirtualDeviceConnectInfo)(nil), - SlotInfo: nil, - ControllerKey: 0, - UnitNumber: (*int32)(nil), - }, - BusNumber: 0, - Device: []int32{500, 12000}, - }, - }, - &types.VirtualSIOController{ - VirtualController: types.VirtualController{ - VirtualDevice: types.VirtualDevice{ - DynamicData: types.DynamicData{}, - Key: 400, - DeviceInfo: &types.Description{ - DynamicData: types.DynamicData{}, - Label: "SIO controller 0", - Summary: "SIO controller 0", - }, - Backing: nil, - Connectable: (*types.VirtualDeviceConnectInfo)(nil), - SlotInfo: nil, - ControllerKey: 0, - UnitNumber: (*int32)(nil), - }, - BusNumber: 0, - Device: nil, - }, - }, - &types.VirtualKeyboard{ - VirtualDevice: types.VirtualDevice{ - DynamicData: types.DynamicData{}, - Key: 600, - DeviceInfo: &types.Description{ - DynamicData: types.DynamicData{}, - Label: "Keyboard ", - Summary: "Keyboard", - }, - Backing: nil, - Connectable: (*types.VirtualDeviceConnectInfo)(nil), - SlotInfo: nil, - ControllerKey: 300, - UnitNumber: types.NewInt32(0), - }, - }, - &types.VirtualPointingDevice{ - VirtualDevice: types.VirtualDevice{ - DynamicData: types.DynamicData{}, - Key: 700, - DeviceInfo: &types.Description{ - DynamicData: types.DynamicData{}, - Label: "Pointing device", - Summary: "Pointing device; Device", - }, - Backing: &types.VirtualPointingDeviceDeviceBackingInfo{ - VirtualDeviceDeviceBackingInfo: types.VirtualDeviceDeviceBackingInfo{ - VirtualDeviceBackingInfo: types.VirtualDeviceBackingInfo{}, - DeviceName: "", - UseAutoDetect: types.NewBool(false), - }, - HostPointingDevice: "autodetect", - }, - Connectable: (*types.VirtualDeviceConnectInfo)(nil), - SlotInfo: nil, - ControllerKey: 300, - UnitNumber: types.NewInt32(1), - }, - }, - &types.VirtualMachineVideoCard{ - VirtualDevice: types.VirtualDevice{ - DynamicData: types.DynamicData{}, - Key: 500, - DeviceInfo: &types.Description{ - DynamicData: types.DynamicData{}, - Label: "Video card ", - Summary: "Video card", - }, - Backing: nil, - Connectable: (*types.VirtualDeviceConnectInfo)(nil), - SlotInfo: nil, - ControllerKey: 100, - UnitNumber: types.NewInt32(0), - }, - VideoRamSizeInKB: 4096, - NumDisplays: 1, - UseAutoDetect: types.NewBool(false), - Enable3DSupport: types.NewBool(false), - Use3dRenderer: "automatic", - GraphicsMemorySizeInKB: 262144, - }, - &types.VirtualMachineVMCIDevice{ - VirtualDevice: types.VirtualDevice{ - DynamicData: types.DynamicData{}, - Key: 12000, - DeviceInfo: &types.Description{ - DynamicData: types.DynamicData{}, - Label: "VMCI device", - Summary: "Device on the virtual machine PCI bus that provides support for the virtual machine communication interface", - }, - Backing: nil, - Connectable: (*types.VirtualDeviceConnectInfo)(nil), - SlotInfo: nil, - ControllerKey: 100, - UnitNumber: types.NewInt32(17), - }, - Id: -1, - AllowUnrestrictedCommunication: types.NewBool(false), - FilterEnable: types.NewBool(true), - FilterInfo: (*types.VirtualMachineVMCIDeviceFilterInfo)(nil), - }, -} - -// EthernetCard template for types.VirtualEthernetCard -var EthernetCard = types.VirtualE1000{ - VirtualEthernetCard: types.VirtualEthernetCard{ - VirtualDevice: types.VirtualDevice{ - DynamicData: types.DynamicData{}, - Key: 4000, - Backing: &types.VirtualEthernetCardNetworkBackingInfo{ - VirtualDeviceDeviceBackingInfo: types.VirtualDeviceDeviceBackingInfo{ - VirtualDeviceBackingInfo: types.VirtualDeviceBackingInfo{}, - DeviceName: "VM Network", - UseAutoDetect: types.NewBool(false), - }, - Network: (*types.ManagedObjectReference)(nil), - InPassthroughMode: types.NewBool(false), - }, - Connectable: &types.VirtualDeviceConnectInfo{ - DynamicData: types.DynamicData{}, - StartConnected: true, - AllowGuestControl: true, - Connected: false, - Status: "untried", - }, - SlotInfo: &types.VirtualDevicePciBusSlotInfo{ - VirtualDeviceBusSlotInfo: types.VirtualDeviceBusSlotInfo{}, - PciSlotNumber: 32, - }, - ControllerKey: 100, - UnitNumber: types.NewInt32(7), - }, - AddressType: "generated", - MacAddress: "", - WakeOnLanEnabled: types.NewBool(true), - }, -} diff --git a/vendor/github.com/vmware/govmomi/simulator/event_manager.go b/vendor/github.com/vmware/govmomi/simulator/event_manager.go deleted file mode 100644 index 329a761eaca..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/event_manager.go +++ /dev/null @@ -1,512 +0,0 @@ -/* -Copyright (c) 2018 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "bytes" - "container/list" - "log" - "reflect" - "text/template" - "time" - - "github.com/vmware/govmomi/simulator/esx" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -var ( - maxPageSize = 1000 - logEvents = false -) - -type EventManager struct { - mo.EventManager - - root types.ManagedObjectReference - - history *list.List - key int32 - - collectors map[types.ManagedObjectReference]*EventHistoryCollector - templates map[string]*template.Template -} - -func (m *EventManager) init(r *Registry) { - if len(m.Description.EventInfo) == 0 { - m.Description.EventInfo = esx.EventInfo - } - if m.MaxCollector == 0 { - m.MaxCollector = 1000 - } - m.root = r.content().RootFolder - m.history = list.New() - m.collectors = make(map[types.ManagedObjectReference]*EventHistoryCollector) - m.templates = make(map[string]*template.Template) -} - -func (m *EventManager) createCollector(ctx *Context, req *types.CreateCollectorForEvents) (*EventHistoryCollector, *soap.Fault) { - size, err := validatePageSize(req.Filter.MaxCount) - if err != nil { - return nil, err - } - - if len(m.collectors) >= int(m.MaxCollector) { - return nil, Fault("Too many event collectors to create", new(types.InvalidState)) - } - - collector := &EventHistoryCollector{ - m: m, - page: list.New(), - size: size, - } - collector.Filter = req.Filter - collector.fillPage() - - return collector, nil -} - -func (m *EventManager) CreateCollectorForEvents(ctx *Context, req *types.CreateCollectorForEvents) soap.HasFault { - body := new(methods.CreateCollectorForEventsBody) - collector, err := m.createCollector(ctx, req) - if err != nil { - body.Fault_ = err - return body - } - - ref := ctx.Session.Put(collector).Reference() - m.collectors[ref] = collector - - body.Res = &types.CreateCollectorForEventsResponse{ - Returnval: ref, - } - - return body -} - -func (m *EventManager) QueryEvents(ctx *Context, req *types.QueryEvents) soap.HasFault { - if Map.IsESX() { - return &methods.QueryEventsBody{ - Fault_: Fault("", new(types.NotImplemented)), - } - } - - body := new(methods.QueryEventsBody) - collector, err := m.createCollector(ctx, &types.CreateCollectorForEvents{Filter: req.Filter}) - if err != nil { - body.Fault_ = err - return body - } - - body.Res = &types.QueryEventsResponse{ - Returnval: collector.GetLatestPage(), - } - - return body -} - -// formatMessage applies the EventDescriptionEventDetail.FullFormat template to the given event's FullFormattedMessage field. -func (m *EventManager) formatMessage(event types.BaseEvent) { - id := reflect.ValueOf(event).Elem().Type().Name() - e := event.GetEvent() - - t, ok := m.templates[id] - if !ok { - for _, info := range m.Description.EventInfo { - if info.Key == id { - t = template.Must(template.New(id).Parse(info.FullFormat)) - m.templates[id] = t - break - } - } - } - - if t != nil { - var buf bytes.Buffer - if err := t.Execute(&buf, event); err != nil { - log.Print(err) - } - e.FullFormattedMessage = buf.String() - } - - if logEvents { - log.Printf("[%s] %s", id, e.FullFormattedMessage) - } -} - -func pushEvent(l *list.List, event types.BaseEvent) { - if l.Len() > maxPageSize*5 { - l.Remove(l.Front()) // Prune history - } - l.PushBack(event) -} - -func (m *EventManager) PostEvent(ctx *Context, req *types.PostEvent) soap.HasFault { - m.key++ - event := req.EventToPost.GetEvent() - event.Key = m.key - event.ChainId = event.Key - event.CreatedTime = time.Now() - event.UserName = ctx.Session.UserName - - m.formatMessage(req.EventToPost) - - pushEvent(m.history, req.EventToPost) - - for _, c := range m.collectors { - ctx.WithLock(c, func() { - if c.eventMatches(req.EventToPost) { - pushEvent(c.page, req.EventToPost) - Map.Update(c, []types.PropertyChange{{Name: "latestPage", Val: c.GetLatestPage()}}) - } - }) - } - - return &methods.PostEventBody{ - Res: new(types.PostEventResponse), - } -} - -type EventHistoryCollector struct { - mo.EventHistoryCollector - - m *EventManager - size int - page *list.List - pos *list.Element -} - -// doEntityEventArgument calls f for each entity argument in the event. -// If f returns true, the iteration stops. -func doEntityEventArgument(event types.BaseEvent, f func(types.ManagedObjectReference, *types.EntityEventArgument) bool) bool { - e := event.GetEvent() - - if arg := e.Vm; arg != nil { - if f(arg.Vm, &arg.EntityEventArgument) { - return true - } - } - - if arg := e.Host; arg != nil { - if f(arg.Host, &arg.EntityEventArgument) { - return true - } - } - - if arg := e.ComputeResource; arg != nil { - if f(arg.ComputeResource, &arg.EntityEventArgument) { - return true - } - } - - if arg := e.Ds; arg != nil { - if f(arg.Datastore, &arg.EntityEventArgument) { - return true - } - } - - if arg := e.Net; arg != nil { - if f(arg.Network, &arg.EntityEventArgument) { - return true - } - } - - if arg := e.Dvs; arg != nil { - if f(arg.Dvs, &arg.EntityEventArgument) { - return true - } - } - - if arg := e.Datacenter; arg != nil { - if f(arg.Datacenter, &arg.EntityEventArgument) { - return true - } - } - - return false -} - -// eventFilterSelf returns true if self is one of the entity arguments in the event. -func eventFilterSelf(event types.BaseEvent, self types.ManagedObjectReference) bool { - return doEntityEventArgument(event, func(ref types.ManagedObjectReference, _ *types.EntityEventArgument) bool { - return self == ref - }) -} - -// eventFilterChildren returns true if a child of self is one of the entity arguments in the event. -func eventFilterChildren(event types.BaseEvent, self types.ManagedObjectReference) bool { - return doEntityEventArgument(event, func(ref types.ManagedObjectReference, _ *types.EntityEventArgument) bool { - seen := false - - var match func(types.ManagedObjectReference) - - match = func(child types.ManagedObjectReference) { - if child == self { - seen = true - return - } - - walk(child, match) - } - - walk(ref, match) - - return seen - }) -} - -// entityMatches returns true if the spec Entity filter matches the event. -func (c *EventHistoryCollector) entityMatches(event types.BaseEvent, spec *types.EventFilterSpec) bool { - e := spec.Entity - if e == nil { - return true - } - - isRootFolder := c.m.root == e.Entity - - switch e.Recursion { - case types.EventFilterSpecRecursionOptionSelf: - return isRootFolder || eventFilterSelf(event, e.Entity) - case types.EventFilterSpecRecursionOptionChildren: - return eventFilterChildren(event, e.Entity) - case types.EventFilterSpecRecursionOptionAll: - if isRootFolder || eventFilterSelf(event, e.Entity) { - return true - } - return eventFilterChildren(event, e.Entity) - } - - return false -} - -// typeMatches returns true if one of the spec EventTypeId types matches the event. -func (c *EventHistoryCollector) typeMatches(event types.BaseEvent, spec *types.EventFilterSpec) bool { - if len(spec.EventTypeId) == 0 { - return true - } - - matches := func(name string) bool { - for _, id := range spec.EventTypeId { - if id == name { - return true - } - } - return false - } - kind := reflect.ValueOf(event).Elem().Type() - - if matches(kind.Name()) { - return true // concrete type - } - - field, ok := kind.FieldByNameFunc(matches) - if ok { - return field.Anonymous // base type (embedded field) - } - return false -} - -func (c *EventHistoryCollector) timeMatches(event types.BaseEvent, spec *types.EventFilterSpec) bool { - if spec.Time == nil { - return true - } - - created := event.GetEvent().CreatedTime - - if begin := spec.Time.BeginTime; begin != nil { - if created.Before(*begin) { - return false - } - } - - if end := spec.Time.EndTime; end != nil { - if created.After(*end) { - return false - } - } - - return true -} - -// eventMatches returns true one of the filters matches the event. -func (c *EventHistoryCollector) eventMatches(event types.BaseEvent) bool { - spec := c.Filter.(types.EventFilterSpec) - - matchers := []func(types.BaseEvent, *types.EventFilterSpec) bool{ - c.typeMatches, - c.timeMatches, - c.entityMatches, - // TODO: spec.UserName, etc - } - - for _, match := range matchers { - if !match(event, &spec) { - return false - } - } - - return true -} - -// fillPage copies the manager's latest events into the collector's page with Filter applied. -func (c *EventHistoryCollector) fillPage() { - for e := c.m.history.Front(); e != nil; e = e.Next() { - event := e.Value.(types.BaseEvent) - - if c.eventMatches(event) { - c.page.PushBack(event) - } - } -} - -func validatePageSize(count int32) (int, *soap.Fault) { - size := int(count) - - if size == 0 { - size = 10 // defaultPageSize - } else if size < 0 || size > maxPageSize { - return -1, Fault("", &types.InvalidArgument{InvalidProperty: "maxCount"}) - } - - return size, nil -} - -func (c *EventHistoryCollector) SetCollectorPageSize(ctx *Context, req *types.SetCollectorPageSize) soap.HasFault { - body := new(methods.SetCollectorPageSizeBody) - size, err := validatePageSize(req.MaxCount) - if err != nil { - body.Fault_ = err - return body - } - - c.size = size - c.page = list.New() - ctx.WithLock(c.m, c.fillPage) - - body.Res = new(types.SetCollectorPageSizeResponse) - return body -} - -func (c *EventHistoryCollector) ResetCollector(ctx *Context, req *types.ResetCollector) soap.HasFault { - c.pos = c.page.Back() - - return &methods.ResetCollectorBody{ - Res: new(types.ResetCollectorResponse), - } -} - -func (c *EventHistoryCollector) RewindCollector(ctx *Context, req *types.RewindCollector) soap.HasFault { - c.pos = c.page.Front() - - return &methods.RewindCollectorBody{ - Res: new(types.RewindCollectorResponse), - } -} - -// readEvents returns the next max Events from the EventManager's history -func (c *EventHistoryCollector) readEvents(ctx *Context, max int32, next func() *list.Element) []types.BaseEvent { - var events []types.BaseEvent - - for i := 0; i < int(max); i++ { - e := next() - if e == nil { - break - } - - events = append(events, e.Value.(types.BaseEvent)) - c.pos = e - } - - return events -} - -func (c *EventHistoryCollector) ReadNextEvents(ctx *Context, req *types.ReadNextEvents) soap.HasFault { - body := &methods.ReadNextEventsBody{} - if req.MaxCount <= 0 { - body.Fault_ = Fault("", &types.InvalidArgument{InvalidProperty: "maxCount"}) - return body - } - body.Res = new(types.ReadNextEventsResponse) - - next := func() *list.Element { - if c.pos != nil { - return c.pos.Next() - } - return c.page.Front() - } - - body.Res.Returnval = c.readEvents(ctx, req.MaxCount, next) - - return body -} - -func (c *EventHistoryCollector) ReadPreviousEvents(ctx *Context, req *types.ReadPreviousEvents) soap.HasFault { - body := &methods.ReadPreviousEventsBody{} - if req.MaxCount <= 0 { - body.Fault_ = Fault("", &types.InvalidArgument{InvalidProperty: "maxCount"}) - return body - } - body.Res = new(types.ReadPreviousEventsResponse) - - next := func() *list.Element { - if c.pos != nil { - return c.pos.Prev() - } - return c.page.Back() - } - - body.Res.Returnval = c.readEvents(ctx, req.MaxCount, next) - - return body -} - -func (c *EventHistoryCollector) DestroyCollector(ctx *Context, req *types.DestroyCollector) soap.HasFault { - ctx.Session.Remove(ctx, req.This) - - ctx.WithLock(c.m, func() { - delete(c.m.collectors, req.This) - }) - - return &methods.DestroyCollectorBody{ - Res: new(types.DestroyCollectorResponse), - } -} - -func (c *EventHistoryCollector) GetLatestPage() []types.BaseEvent { - var latestPage []types.BaseEvent - - e := c.page.Back() - for i := 0; i < c.size; i++ { - if e == nil { - break - } - latestPage = append(latestPage, e.Value.(types.BaseEvent)) - e = e.Prev() - } - - return latestPage -} - -func (c *EventHistoryCollector) Get() mo.Reference { - clone := *c - - clone.LatestPage = clone.GetLatestPage() - - return &clone -} diff --git a/vendor/github.com/vmware/govmomi/simulator/file_manager.go b/vendor/github.com/vmware/govmomi/simulator/file_manager.go deleted file mode 100644 index 161ebf73f8f..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/file_manager.go +++ /dev/null @@ -1,252 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "io" - "os" - "path" - "path/filepath" - - "github.com/vmware/govmomi/simulator/esx" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -type FileManager struct { - mo.FileManager -} - -func (f *FileManager) findDatastore(ref mo.Reference, name string) (*Datastore, types.BaseMethodFault) { - var refs []types.ManagedObjectReference - - if d, ok := asFolderMO(ref); ok { - refs = d.ChildEntity - } - if p, ok := ref.(*StoragePod); ok { - refs = p.ChildEntity - } - - for _, ref := range refs { - obj := Map.Get(ref) - - if ds, ok := obj.(*Datastore); ok && ds.Name == name { - return ds, nil - } - if p, ok := obj.(*StoragePod); ok { - ds, _ := f.findDatastore(p, name) - if ds != nil { - return ds, nil - } - } - if d, ok := asFolderMO(obj); ok { - ds, _ := f.findDatastore(d, name) - if ds != nil { - return ds, nil - } - } - } - - return nil, &types.InvalidDatastore{Name: name} -} - -func (f *FileManager) resolve(dc *types.ManagedObjectReference, name string) (string, types.BaseMethodFault) { - p, fault := parseDatastorePath(name) - if fault != nil { - return "", fault - } - - if dc == nil { - if Map.IsESX() { - dc = &esx.Datacenter.Self - } else { - return "", &types.InvalidArgument{InvalidProperty: "dc"} - } - } - - folder := Map.Get(*dc).(*Datacenter).DatastoreFolder - - ds, fault := f.findDatastore(Map.Get(folder), p.Datastore) - if fault != nil { - return "", fault - } - - dir := ds.Info.GetDatastoreInfo().Url - - return path.Join(dir, p.Path), nil -} - -func (f *FileManager) fault(name string, err error, fault types.BaseFileFault) types.BaseMethodFault { - switch { - case os.IsNotExist(err): - fault = new(types.FileNotFound) - case os.IsExist(err): - fault = new(types.FileAlreadyExists) - } - - fault.GetFileFault().File = name - - return fault.(types.BaseMethodFault) -} - -func (f *FileManager) deleteDatastoreFile(req *types.DeleteDatastoreFile_Task) types.BaseMethodFault { - file, fault := f.resolve(req.Datacenter, req.Name) - if fault != nil { - return fault - } - - _, err := os.Stat(file) - if err != nil { - if os.IsNotExist(err) { - return f.fault(file, err, new(types.CannotDeleteFile)) - } - } - - err = os.RemoveAll(file) - if err != nil { - return f.fault(file, err, new(types.CannotDeleteFile)) - } - - return nil -} - -func (f *FileManager) DeleteDatastoreFileTask(ctx *Context, req *types.DeleteDatastoreFile_Task) soap.HasFault { - task := CreateTask(f, "deleteDatastoreFile", func(*Task) (types.AnyType, types.BaseMethodFault) { - return nil, f.deleteDatastoreFile(req) - }) - - return &methods.DeleteDatastoreFile_TaskBody{ - Res: &types.DeleteDatastoreFile_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} - -func (f *FileManager) MakeDirectory(req *types.MakeDirectory) soap.HasFault { - body := &methods.MakeDirectoryBody{} - - name, fault := f.resolve(req.Datacenter, req.Name) - if fault != nil { - body.Fault_ = Fault("", fault) - return body - } - - mkdir := os.Mkdir - - if isTrue(req.CreateParentDirectories) { - mkdir = os.MkdirAll - } - - err := mkdir(name, 0700) - if err != nil { - fault = f.fault(req.Name, err, new(types.CannotCreateFile)) - body.Fault_ = Fault(err.Error(), fault) - return body - } - - body.Res = new(types.MakeDirectoryResponse) - return body -} - -func (f *FileManager) moveDatastoreFile(req *types.MoveDatastoreFile_Task) types.BaseMethodFault { - src, fault := f.resolve(req.SourceDatacenter, req.SourceName) - if fault != nil { - return fault - } - - dst, fault := f.resolve(req.DestinationDatacenter, req.DestinationName) - if fault != nil { - return fault - } - - if !isTrue(req.Force) { - _, err := os.Stat(dst) - if err == nil { - return f.fault(dst, nil, new(types.FileAlreadyExists)) - } - } - - err := os.Rename(src, dst) - if err != nil { - return f.fault(src, err, new(types.CannotAccessFile)) - } - - return nil -} - -func (f *FileManager) MoveDatastoreFileTask(ctx *Context, req *types.MoveDatastoreFile_Task) soap.HasFault { - task := CreateTask(f, "moveDatastoreFile", func(*Task) (types.AnyType, types.BaseMethodFault) { - return nil, f.moveDatastoreFile(req) - }) - - return &methods.MoveDatastoreFile_TaskBody{ - Res: &types.MoveDatastoreFile_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} - -func (f *FileManager) copyDatastoreFile(req *types.CopyDatastoreFile_Task) types.BaseMethodFault { - src, fault := f.resolve(req.SourceDatacenter, req.SourceName) - if fault != nil { - return fault - } - - dst, fault := f.resolve(req.DestinationDatacenter, req.DestinationName) - if fault != nil { - return fault - } - - if !isTrue(req.Force) { - _, err := os.Stat(dst) - if err == nil { - return f.fault(dst, nil, new(types.FileAlreadyExists)) - } - } - - r, err := os.Open(filepath.Clean(src)) - if err != nil { - return f.fault(dst, err, new(types.CannotAccessFile)) - } - defer r.Close() - - w, err := os.Create(dst) - if err != nil { - return f.fault(dst, err, new(types.CannotCreateFile)) - } - defer w.Close() - - if _, err = io.Copy(w, r); err != nil { - return f.fault(dst, err, new(types.CannotCreateFile)) - } - - return nil -} - -func (f *FileManager) CopyDatastoreFileTask(ctx *Context, req *types.CopyDatastoreFile_Task) soap.HasFault { - task := CreateTask(f, "copyDatastoreFile", func(*Task) (types.AnyType, types.BaseMethodFault) { - return nil, f.copyDatastoreFile(req) - }) - - return &methods.CopyDatastoreFile_TaskBody{ - Res: &types.CopyDatastoreFile_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} diff --git a/vendor/github.com/vmware/govmomi/simulator/folder.go b/vendor/github.com/vmware/govmomi/simulator/folder.go deleted file mode 100644 index a30094383aa..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/folder.go +++ /dev/null @@ -1,876 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "errors" - "fmt" - "math/rand" - "net/url" - "path" - "strings" - "time" - - "github.com/google/uuid" - - "github.com/vmware/govmomi/object" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -type Folder struct { - mo.Folder -} - -func asFolderMO(obj mo.Reference) (*mo.Folder, bool) { - if obj == nil { - return nil, false - } - f, ok := getManagedObject(obj).Addr().Interface().(*mo.Folder) - return f, ok -} - -func folderEventArgument(f *mo.Folder) types.FolderEventArgument { - return types.FolderEventArgument{ - Folder: f.Self, - EntityEventArgument: types.EntityEventArgument{Name: f.Name}, - } -} - -// update references when objects are added/removed from a Folder -func folderUpdate(ctx *Context, f *mo.Folder, o mo.Reference, u func(*Context, mo.Reference, *[]types.ManagedObjectReference, types.ManagedObjectReference)) { - ref := o.Reference() - - if f.Parent == nil { - return // this is the root folder - } - - switch ref.Type { - case "Datacenter", "Folder": - return // nothing to update - } - - dc := ctx.Map.getEntityDatacenter(f) - - switch ref.Type { - case "Network", "DistributedVirtualSwitch", "DistributedVirtualPortgroup": - u(ctx, dc, &dc.Network, ref) - case "Datastore": - u(ctx, dc, &dc.Datastore, ref) - } -} - -func networkSummary(n *mo.Network) types.BaseNetworkSummary { - if n.Summary != nil { - return n.Summary - } - return &types.NetworkSummary{ - Network: &n.Self, - Name: n.Name, - Accessible: true, - } -} - -func folderPutChild(ctx *Context, f *mo.Folder, o mo.Entity) { - ctx.WithLock(f, func() { - // Need to update ChildEntity before Map.Put for ContainerView updates to work properly - f.ChildEntity = append(f.ChildEntity, ctx.Map.reference(o)) - ctx.Map.PutEntity(f, o) - - folderUpdate(ctx, f, o, ctx.Map.AddReference) - - ctx.WithLock(o, func() { - switch e := o.(type) { - case *mo.Network: - e.Summary = networkSummary(e) - case *mo.OpaqueNetwork: - e.Summary = networkSummary(&e.Network) - case *DistributedVirtualPortgroup: - e.Summary = networkSummary(&e.Network) - } - }) - }) -} - -func folderRemoveChild(ctx *Context, f *mo.Folder, o mo.Reference) { - ctx.Map.Remove(ctx, o.Reference()) - - ctx.WithLock(f, func() { - RemoveReference(&f.ChildEntity, o.Reference()) - - folderUpdate(ctx, f, o, ctx.Map.RemoveReference) - }) -} - -func folderHasChildType(f *mo.Folder, kind string) bool { - for _, t := range f.ChildType { - if t == kind { - return true - } - } - return false -} - -func (f *Folder) typeNotSupported() *soap.Fault { - return Fault(fmt.Sprintf("%s supports types: %#v", f.Self, f.ChildType), &types.NotSupported{}) -} - -// AddOpaqueNetwork adds an OpaqueNetwork type to the inventory, with default backing to that of an nsx.LogicalSwitch. -// The vSphere API does not have a method to add this directly, so it must either be called directly or via Model.OpaqueNetwork setting. -func (f *Folder) AddOpaqueNetwork(ctx *Context, summary types.OpaqueNetworkSummary) error { - if !folderHasChildType(&f.Folder, "Network") { - return errors.New("not a network folder") - } - - if summary.OpaqueNetworkId == "" { - summary.OpaqueNetworkId = uuid.New().String() - } - if summary.OpaqueNetworkType == "" { - summary.OpaqueNetworkType = "nsx.LogicalSwitch" - } - if summary.Name == "" { - summary.Name = summary.OpaqueNetworkType + "-" + summary.OpaqueNetworkId - } - - net := new(mo.OpaqueNetwork) - if summary.Network == nil { - summary.Network = &net.Self - } else { - net.Self = *summary.Network - } - summary.Accessible = true - net.Network.Name = summary.Name - net.Summary = &summary - - folderPutChild(ctx, &f.Folder, net) - - return nil -} - -type addStandaloneHost struct { - *Folder - ctx *Context - req *types.AddStandaloneHost_Task -} - -func (add *addStandaloneHost) Run(task *Task) (types.AnyType, types.BaseMethodFault) { - host, err := CreateStandaloneHost(add.ctx, add.Folder, add.req.Spec) - if err != nil { - return nil, err - } - - if add.req.AddConnected { - host.Runtime.ConnectionState = types.HostSystemConnectionStateConnected - } - - return host.Reference(), nil -} - -func (f *Folder) AddStandaloneHostTask(ctx *Context, a *types.AddStandaloneHost_Task) soap.HasFault { - r := &methods.AddStandaloneHost_TaskBody{} - - if folderHasChildType(&f.Folder, "ComputeResource") && folderHasChildType(&f.Folder, "Folder") { - r.Res = &types.AddStandaloneHost_TaskResponse{ - Returnval: NewTask(&addStandaloneHost{f, ctx, a}).Run(ctx), - } - } else { - r.Fault_ = f.typeNotSupported() - } - - return r -} - -func (f *Folder) CreateFolder(ctx *Context, c *types.CreateFolder) soap.HasFault { - r := &methods.CreateFolderBody{} - - if folderHasChildType(&f.Folder, "Folder") { - name := escapeSpecialCharacters(c.Name) - - if obj := ctx.Map.FindByName(name, f.ChildEntity); obj != nil { - r.Fault_ = Fault("", &types.DuplicateName{ - Name: name, - Object: f.Self, - }) - - return r - } - - folder := &Folder{} - - folder.Name = name - folder.ChildType = f.ChildType - - folderPutChild(ctx, &f.Folder, folder) - - r.Res = &types.CreateFolderResponse{ - Returnval: folder.Self, - } - } else { - r.Fault_ = f.typeNotSupported() - } - - return r -} - -func escapeSpecialCharacters(name string) string { - name = strings.ReplaceAll(name, `%`, strings.ToLower(url.QueryEscape(`%`))) - name = strings.ReplaceAll(name, `/`, strings.ToLower(url.QueryEscape(`/`))) - name = strings.ReplaceAll(name, `\`, strings.ToLower(url.QueryEscape(`\`))) - return name -} - -// StoragePod aka "Datastore Cluster" -type StoragePod struct { - mo.StoragePod -} - -func (f *Folder) CreateStoragePod(ctx *Context, c *types.CreateStoragePod) soap.HasFault { - r := &methods.CreateStoragePodBody{} - - if folderHasChildType(&f.Folder, "StoragePod") { - if obj := ctx.Map.FindByName(c.Name, f.ChildEntity); obj != nil { - r.Fault_ = Fault("", &types.DuplicateName{ - Name: c.Name, - Object: f.Self, - }) - - return r - } - - pod := &StoragePod{} - - pod.Name = c.Name - pod.ChildType = []string{"Datastore"} - pod.Summary = new(types.StoragePodSummary) - pod.PodStorageDrsEntry = new(types.PodStorageDrsEntry) - pod.PodStorageDrsEntry.StorageDrsConfig.PodConfig.Enabled = true - - folderPutChild(ctx, &f.Folder, pod) - - r.Res = &types.CreateStoragePodResponse{ - Returnval: pod.Self, - } - } else { - r.Fault_ = f.typeNotSupported() - } - - return r -} - -func (p *StoragePod) MoveIntoFolderTask(ctx *Context, c *types.MoveIntoFolder_Task) soap.HasFault { - task := CreateTask(p, "moveIntoFolder", func(*Task) (types.AnyType, types.BaseMethodFault) { - f := &Folder{Folder: p.Folder} - id := f.MoveIntoFolderTask(ctx, c).(*methods.MoveIntoFolder_TaskBody).Res.Returnval - ftask := ctx.Map.Get(id).(*Task) - ftask.Wait() - if ftask.Info.Error != nil { - return nil, ftask.Info.Error.Fault - } - p.ChildEntity = append(p.ChildEntity, f.ChildEntity...) - return nil, nil - }) - return &methods.MoveIntoFolder_TaskBody{ - Res: &types.MoveIntoFolder_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} - -func (f *Folder) CreateDatacenter(ctx *Context, c *types.CreateDatacenter) soap.HasFault { - r := &methods.CreateDatacenterBody{} - - if folderHasChildType(&f.Folder, "Datacenter") && folderHasChildType(&f.Folder, "Folder") { - dc := NewDatacenter(ctx, &f.Folder) - - ctx.Map.Update(dc, []types.PropertyChange{ - {Name: "name", Val: c.Name}, - }) - - r.Res = &types.CreateDatacenterResponse{ - Returnval: dc.Self, - } - - ctx.postEvent(&types.DatacenterCreatedEvent{ - DatacenterEvent: types.DatacenterEvent{ - Event: types.Event{ - Datacenter: datacenterEventArgument(dc), - }, - }, - Parent: folderEventArgument(&f.Folder), - }) - } else { - r.Fault_ = f.typeNotSupported() - } - - return r -} - -func (f *Folder) CreateClusterEx(ctx *Context, c *types.CreateClusterEx) soap.HasFault { - r := &methods.CreateClusterExBody{} - - if folderHasChildType(&f.Folder, "ComputeResource") && folderHasChildType(&f.Folder, "Folder") { - cluster, err := CreateClusterComputeResource(ctx, f, c.Name, c.Spec) - if err != nil { - r.Fault_ = Fault("", err) - return r - } - - r.Res = &types.CreateClusterExResponse{ - Returnval: cluster.Self, - } - } else { - r.Fault_ = f.typeNotSupported() - } - - return r -} - -type createVM struct { - *Folder - - ctx *Context - req *types.CreateVM_Task - - register bool -} - -// hostsWithDatastore returns hosts that have access to the given datastore path -func hostsWithDatastore(hosts []types.ManagedObjectReference, path string) []types.ManagedObjectReference { - attached := hosts[:0] - var p object.DatastorePath - p.FromString(path) - - for _, host := range hosts { - h := Map.Get(host).(*HostSystem) - if Map.FindByName(p.Datastore, h.Datastore) != nil { - attached = append(attached, host) - } - } - - return attached -} - -func (c *createVM) Run(task *Task) (types.AnyType, types.BaseMethodFault) { - config := &c.req.Config - // escape special characters in vm name - if config.Name != escapeSpecialCharacters(config.Name) { - deepCopy(c.req.Config, config) - config.Name = escapeSpecialCharacters(config.Name) - } - - vm, err := NewVirtualMachine(c.ctx, c.Folder.Self, &c.req.Config) - if err != nil { - return nil, err - } - - vm.ResourcePool = &c.req.Pool - - if c.req.Host == nil { - pool := c.ctx.Map.Get(c.req.Pool).(mo.Entity) - cr := c.ctx.Map.getEntityComputeResource(pool) - - c.ctx.WithLock(cr, func() { - var hosts []types.ManagedObjectReference - switch cr := cr.(type) { - case *mo.ComputeResource: - hosts = cr.Host - case *ClusterComputeResource: - hosts = cr.Host - } - - hosts = hostsWithDatastore(hosts, c.req.Config.Files.VmPathName) - host := hosts[rand.Intn(len(hosts))] - vm.Runtime.Host = &host - }) - } else { - vm.Runtime.Host = c.req.Host - } - - vm.Guest = &types.GuestInfo{ - ToolsStatus: types.VirtualMachineToolsStatusToolsNotInstalled, - ToolsVersion: "0", - ToolsRunningStatus: string(types.VirtualMachineToolsRunningStatusGuestToolsNotRunning), - } - - vm.Summary.Guest = &types.VirtualMachineGuestSummary{ - ToolsStatus: vm.Guest.ToolsStatus, - } - vm.Summary.Config.VmPathName = vm.Config.Files.VmPathName - vm.Summary.Runtime.Host = vm.Runtime.Host - - err = vm.create(c.ctx, &c.req.Config, c.register) - if err != nil { - folderRemoveChild(c.ctx, &c.Folder.Folder, vm) - return nil, err - } - - host := c.ctx.Map.Get(*vm.Runtime.Host).(*HostSystem) - c.ctx.Map.AppendReference(c.ctx, host, &host.Vm, vm.Self) - vm.EnvironmentBrowser = *hostParent(&host.HostSystem).EnvironmentBrowser - - for i := range vm.Datastore { - ds := c.ctx.Map.Get(vm.Datastore[i]).(*Datastore) - c.ctx.Map.AppendReference(c.ctx, ds, &ds.Vm, vm.Self) - } - - pool := c.ctx.Map.Get(*vm.ResourcePool) - // This can be an internal call from VirtualApp.CreateChildVMTask, where pool is already locked. - c.ctx.WithLock(pool, func() { - if rp, ok := asResourcePoolMO(pool); ok { - rp.Vm = append(rp.Vm, vm.Self) - } - if vapp, ok := pool.(*VirtualApp); ok { - vapp.Vm = append(vapp.Vm, vm.Self) - } - }) - - event := vm.event() - c.ctx.postEvent( - &types.VmBeingCreatedEvent{ - VmEvent: event, - ConfigSpec: &c.req.Config, - }, - &types.VmInstanceUuidAssignedEvent{ - VmEvent: event, - InstanceUuid: vm.Config.InstanceUuid, - }, - &types.VmUuidAssignedEvent{ - VmEvent: event, - Uuid: vm.Config.Uuid, - }, - &types.VmCreatedEvent{ - VmEvent: event, - }, - ) - - vm.RefreshStorageInfo(c.ctx, nil) - - c.ctx.Map.Update(vm, []types.PropertyChange{ - {Name: "name", Val: c.req.Config.Name}, - }) - - return vm.Reference(), nil -} - -func (f *Folder) CreateVMTask(ctx *Context, c *types.CreateVM_Task) soap.HasFault { - return &methods.CreateVM_TaskBody{ - Res: &types.CreateVM_TaskResponse{ - Returnval: NewTask(&createVM{f, ctx, c, false}).Run(ctx), - }, - } -} - -type registerVM struct { - *Folder - - ctx *Context - req *types.RegisterVM_Task -} - -func (c *registerVM) Run(task *Task) (types.AnyType, types.BaseMethodFault) { - host := c.req.Host - pool := c.req.Pool - - if c.req.AsTemplate { - if host == nil { - return nil, &types.InvalidArgument{InvalidProperty: "host"} - } else if pool != nil { - return nil, &types.InvalidArgument{InvalidProperty: "pool"} - } - - pool = hostParent(&c.ctx.Map.Get(*host).(*HostSystem).HostSystem).ResourcePool - } else { - if pool == nil { - return nil, &types.InvalidArgument{InvalidProperty: "pool"} - } - } - - if c.req.Path == "" { - return nil, &types.InvalidArgument{InvalidProperty: "path"} - } - - s := c.ctx.Map.SearchIndex() - r := s.FindByDatastorePath(&types.FindByDatastorePath{ - This: s.Reference(), - Path: c.req.Path, - Datacenter: c.ctx.Map.getEntityDatacenter(c.Folder).Reference(), - }) - - if ref := r.(*methods.FindByDatastorePathBody).Res.Returnval; ref != nil { - return nil, &types.AlreadyExists{Name: ref.Value} - } - - if c.req.Name == "" { - p, err := parseDatastorePath(c.req.Path) - if err != nil { - return nil, err - } - - c.req.Name = path.Dir(p.Path) - } - - create := NewTask(&createVM{ - Folder: c.Folder, - register: true, - ctx: c.ctx, - req: &types.CreateVM_Task{ - This: c.Folder.Reference(), - Config: types.VirtualMachineConfigSpec{ - Name: c.req.Name, - Files: &types.VirtualMachineFileInfo{ - VmPathName: c.req.Path, - }, - }, - Pool: *pool, - Host: host, - }, - }) - - create.RunBlocking(c.ctx) - - if create.Info.Error != nil { - return nil, create.Info.Error.Fault - } - - return create.Info.Result, nil -} - -func (f *Folder) RegisterVMTask(ctx *Context, c *types.RegisterVM_Task) soap.HasFault { - return &methods.RegisterVM_TaskBody{ - Res: &types.RegisterVM_TaskResponse{ - Returnval: NewTask(®isterVM{f, ctx, c}).Run(ctx), - }, - } -} - -func (f *Folder) MoveIntoFolderTask(ctx *Context, c *types.MoveIntoFolder_Task) soap.HasFault { - task := CreateTask(f, "moveIntoFolder", func(t *Task) (types.AnyType, types.BaseMethodFault) { - for _, ref := range c.List { - obj := ctx.Map.Get(ref).(mo.Entity) - - parent, ok := ctx.Map.Get(*(obj.Entity()).Parent).(*Folder) - - if !ok || !folderHasChildType(&f.Folder, ref.Type) { - return nil, &types.NotSupported{} - } - - folderRemoveChild(ctx, &parent.Folder, ref) - folderPutChild(ctx, &f.Folder, obj) - } - - return nil, nil - }) - - return &methods.MoveIntoFolder_TaskBody{ - Res: &types.MoveIntoFolder_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} - -func (f *Folder) CreateDVSTask(ctx *Context, req *types.CreateDVS_Task) soap.HasFault { - task := CreateTask(f, "createDVS", func(t *Task) (types.AnyType, types.BaseMethodFault) { - spec := req.Spec.ConfigSpec.GetDVSConfigSpec() - dvs := &DistributedVirtualSwitch{} - dvs.Name = spec.Name - dvs.Entity().Name = dvs.Name - - if ctx.Map.FindByName(dvs.Name, f.ChildEntity) != nil { - return nil, &types.InvalidArgument{InvalidProperty: "name"} - } - - dvs.Uuid = newUUID(dvs.Name) - - folderPutChild(ctx, &f.Folder, dvs) - - dvs.Summary = types.DVSSummary{ - Name: dvs.Name, - Uuid: dvs.Uuid, - NumPorts: spec.NumStandalonePorts, - ProductInfo: req.Spec.ProductInfo, - Description: spec.Description, - } - - configInfo := &types.VMwareDVSConfigInfo{ - DVSConfigInfo: types.DVSConfigInfo{ - Uuid: dvs.Uuid, - Name: spec.Name, - ConfigVersion: spec.ConfigVersion, - NumStandalonePorts: spec.NumStandalonePorts, - MaxPorts: spec.MaxPorts, - UplinkPortPolicy: spec.UplinkPortPolicy, - UplinkPortgroup: spec.UplinkPortgroup, - DefaultPortConfig: spec.DefaultPortConfig, - ExtensionKey: spec.ExtensionKey, - Description: spec.Description, - Policy: spec.Policy, - VendorSpecificConfig: spec.VendorSpecificConfig, - SwitchIpAddress: spec.SwitchIpAddress, - DefaultProxySwitchMaxNumPorts: spec.DefaultProxySwitchMaxNumPorts, - InfrastructureTrafficResourceConfig: spec.InfrastructureTrafficResourceConfig, - NetworkResourceControlVersion: spec.NetworkResourceControlVersion, - }, - } - - if spec.Contact != nil { - configInfo.Contact = *spec.Contact - } - - dvs.Config = configInfo - - if dvs.Summary.ProductInfo == nil { - product := ctx.Map.content().About - dvs.Summary.ProductInfo = &types.DistributedVirtualSwitchProductSpec{ - Name: "DVS", - Vendor: product.Vendor, - Version: product.Version, - Build: product.Build, - ForwardingClass: "etherswitch", - } - } - - dvs.AddDVPortgroupTask(ctx, &types.AddDVPortgroup_Task{ - Spec: []types.DVPortgroupConfigSpec{{ - Name: dvs.Name + "-DVUplinks" + strings.TrimPrefix(dvs.Self.Value, "dvs"), - Type: string(types.DistributedVirtualPortgroupPortgroupTypeEarlyBinding), - NumPorts: 1, - DefaultPortConfig: &types.VMwareDVSPortSetting{ - Vlan: &types.VmwareDistributedVirtualSwitchTrunkVlanSpec{ - VlanId: []types.NumericRange{{Start: 0, End: 4094}}, - }, - UplinkTeamingPolicy: &types.VmwareUplinkPortTeamingPolicy{ - Policy: &types.StringPolicy{ - Value: "loadbalance_srcid", - }, - ReversePolicy: &types.BoolPolicy{ - Value: types.NewBool(true), - }, - NotifySwitches: &types.BoolPolicy{ - Value: types.NewBool(true), - }, - RollingOrder: &types.BoolPolicy{ - Value: types.NewBool(true), - }, - }, - }, - }}, - }) - - return dvs.Reference(), nil - }) - - return &methods.CreateDVS_TaskBody{ - Res: &types.CreateDVS_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} - -func (f *Folder) RenameTask(ctx *Context, r *types.Rename_Task) soap.HasFault { - return RenameTask(ctx, f, r) -} - -func (f *Folder) DestroyTask(ctx *Context, req *types.Destroy_Task) soap.HasFault { - type destroyer interface { - mo.Reference - DestroyTask(*types.Destroy_Task) soap.HasFault - } - - task := CreateTask(f, "destroy", func(*Task) (types.AnyType, types.BaseMethodFault) { - // Attempt to destroy all children - for _, c := range f.ChildEntity { - obj, ok := ctx.Map.Get(c).(destroyer) - if !ok { - continue - } - - var fault types.BaseMethodFault - ctx.WithLock(obj, func() { - id := obj.DestroyTask(&types.Destroy_Task{ - This: c, - }).(*methods.Destroy_TaskBody).Res.Returnval - - t := ctx.Map.Get(id).(*Task) - t.Wait() - if t.Info.Error != nil { - fault = t.Info.Error.Fault // For example, can't destroy a powered on VM - } - }) - if fault != nil { - return nil, fault - } - } - - // Remove the folder itself - folderRemoveChild(ctx, &ctx.Map.Get(*f.Parent).(*Folder).Folder, f.Self) - return nil, nil - }) - - return &methods.Destroy_TaskBody{ - Res: &types.Destroy_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} - -func (f *Folder) PlaceVmsXCluster(ctx *Context, req *types.PlaceVmsXCluster) soap.HasFault { - body := new(methods.PlaceVmsXClusterBody) - - // Reject the request if it is against any folder other than the root folder. - if req.This != ctx.Map.content().RootFolder { - body.Fault_ = Fault("", new(types.InvalidRequest)) - return body - } - - pools := req.PlacementSpec.ResourcePools - specs := req.PlacementSpec.VmPlacementSpecs - - if len(pools) == 0 { - body.Fault_ = Fault("", &types.InvalidArgument{InvalidProperty: "resourcePools"}) - return body - } - - // Do not allow duplicate clusters. - clusters := map[mo.Reference]struct{}{} - for _, obj := range pools { - o := ctx.Map.Get(obj) - pool, ok := o.(*ResourcePool) - if !ok { - body.Fault_ = Fault("", &types.InvalidArgument{InvalidProperty: "resourcePool"}) - return body - } - if _, exists := clusters[pool.Owner]; exists { - body.Fault_ = Fault("", &types.InvalidArgument{InvalidProperty: "clusters"}) - return body - } - clusters[pool.Owner] = struct{}{} - } - - // MVP: Only a single VM is supported. - if len(specs) != 1 { - body.Fault_ = Fault("", &types.InvalidArgument{InvalidProperty: "vmPlacementSpecs"}) - return body - } - - for _, spec := range specs { - if spec.ConfigSpec.Name == "" { - body.Fault_ = Fault("", &types.InvalidArgument{InvalidProperty: "configSpec.name"}) - return body - } - } - - body.Res = new(types.PlaceVmsXClusterResponse) - hostRequired := req.PlacementSpec.HostRecommRequired != nil && *req.PlacementSpec.HostRecommRequired - datastoreRequired := req.PlacementSpec.DatastoreRecommRequired != nil && *req.PlacementSpec.DatastoreRecommRequired - - for _, spec := range specs { - pool := ctx.Map.Get(pools[rand.Intn(len(pools))]).(*ResourcePool) - cluster := ctx.Map.Get(pool.Owner).(*ClusterComputeResource) - - if len(cluster.Host) == 0 { - faults := types.PlaceVmsXClusterResultPlacementFaults{ - VmName: spec.ConfigSpec.Name, - ResourcePool: pool.Self, - Faults: []types.LocalizedMethodFault{ - { - Fault: &types.GenericDrsFault{}, - }, - }, - } - body.Res.Returnval.Faults = append(body.Res.Returnval.Faults, faults) - } else { - var configSpec *types.VirtualMachineConfigSpec - - res := types.ClusterRecommendation{ - Key: "1", - Type: "V1", - Time: time.Now(), - Rating: 1, - Reason: string(types.RecommendationReasonCodeXClusterPlacement), - ReasonText: string(types.RecommendationReasonCodeXClusterPlacement), - Target: &cluster.Self, - } - - placementAction := types.ClusterClusterInitialPlacementAction{ - Pool: pool.Self, - } - - if hostRequired { - randomHost := cluster.Host[rand.Intn(len(cluster.Host))] - placementAction.TargetHost = &randomHost - } - - if datastoreRequired { - configSpec = &spec.ConfigSpec - - // TODO: This is just an initial implementation aimed at returning some data but it is not - // necessarily fully consistent, like we should ensure the host, if also required, has the - // datastore mounted. - ds := ctx.Map.Get(cluster.Datastore[rand.Intn(len(cluster.Datastore))]).(*Datastore) - - if configSpec.Files == nil { - configSpec.Files = new(types.VirtualMachineFileInfo) - } - configSpec.Files.VmPathName = fmt.Sprintf("[%[1]s] %[2]s/%[2]s.vmx", ds.Name, spec.ConfigSpec.Name) - - for _, change := range configSpec.DeviceChange { - dspec := change.GetVirtualDeviceConfigSpec() - - if dspec.FileOperation != types.VirtualDeviceConfigSpecFileOperationCreate { - continue - } - - switch dspec.Operation { - case types.VirtualDeviceConfigSpecOperationAdd: - device := dspec.Device - d := device.GetVirtualDevice() - - switch device.(type) { - case *types.VirtualDisk: - switch b := d.Backing.(type) { - case types.BaseVirtualDeviceFileBackingInfo: - info := b.GetVirtualDeviceFileBackingInfo() - info.Datastore = types.NewReference(ds.Reference()) - - var dsPath object.DatastorePath - if dsPath.FromString(info.FileName) { - dsPath.Datastore = ds.Name - info.FileName = dsPath.String() - } - } - } - } - } - - placementAction.ConfigSpec = configSpec - } - - res.Action = append(res.Action, &placementAction) - - body.Res.Returnval.PlacementInfos = append(body.Res.Returnval.PlacementInfos, - types.PlaceVmsXClusterResultPlacementInfo{ - VmName: spec.ConfigSpec.Name, - Recommendation: res, - }, - ) - } - } - - return body -} diff --git a/vendor/github.com/vmware/govmomi/simulator/guest_id.go b/vendor/github.com/vmware/govmomi/simulator/guest_id.go deleted file mode 100644 index ce107a81de0..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/guest_id.go +++ /dev/null @@ -1,218 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import "github.com/vmware/govmomi/vim25/types" - -// GuestID is the list of valid types.VirtualMachineGuestOsIdentifier -var GuestID = []types.VirtualMachineGuestOsIdentifier{ - types.VirtualMachineGuestOsIdentifierDosGuest, - types.VirtualMachineGuestOsIdentifierWin31Guest, - types.VirtualMachineGuestOsIdentifierWin95Guest, - types.VirtualMachineGuestOsIdentifierWin98Guest, - types.VirtualMachineGuestOsIdentifierWinMeGuest, - types.VirtualMachineGuestOsIdentifierWinNTGuest, - types.VirtualMachineGuestOsIdentifierWin2000ProGuest, - types.VirtualMachineGuestOsIdentifierWin2000ServGuest, - types.VirtualMachineGuestOsIdentifierWin2000AdvServGuest, - types.VirtualMachineGuestOsIdentifierWinXPHomeGuest, - types.VirtualMachineGuestOsIdentifierWinXPProGuest, - types.VirtualMachineGuestOsIdentifierWinXPPro64Guest, - types.VirtualMachineGuestOsIdentifierWinNetWebGuest, - types.VirtualMachineGuestOsIdentifierWinNetStandardGuest, - types.VirtualMachineGuestOsIdentifierWinNetEnterpriseGuest, - types.VirtualMachineGuestOsIdentifierWinNetDatacenterGuest, - types.VirtualMachineGuestOsIdentifierWinNetBusinessGuest, - types.VirtualMachineGuestOsIdentifierWinNetStandard64Guest, - types.VirtualMachineGuestOsIdentifierWinNetEnterprise64Guest, - types.VirtualMachineGuestOsIdentifierWinLonghornGuest, - types.VirtualMachineGuestOsIdentifierWinLonghorn64Guest, - types.VirtualMachineGuestOsIdentifierWinNetDatacenter64Guest, - types.VirtualMachineGuestOsIdentifierWinVistaGuest, - types.VirtualMachineGuestOsIdentifierWinVista64Guest, - types.VirtualMachineGuestOsIdentifierWindows7Guest, - types.VirtualMachineGuestOsIdentifierWindows7_64Guest, - types.VirtualMachineGuestOsIdentifierWindows7Server64Guest, - types.VirtualMachineGuestOsIdentifierWindows8Guest, - types.VirtualMachineGuestOsIdentifierWindows8_64Guest, - types.VirtualMachineGuestOsIdentifierWindows8Server64Guest, - types.VirtualMachineGuestOsIdentifierWindows9Guest, - types.VirtualMachineGuestOsIdentifierWindows9_64Guest, - types.VirtualMachineGuestOsIdentifierWindows9Server64Guest, - types.VirtualMachineGuestOsIdentifierWindows11_64Guest, - types.VirtualMachineGuestOsIdentifierWindows12_64Guest, - types.VirtualMachineGuestOsIdentifierWindowsHyperVGuest, - types.VirtualMachineGuestOsIdentifierWindows2019srv_64Guest, - types.VirtualMachineGuestOsIdentifierWindows2019srvNext_64Guest, - types.VirtualMachineGuestOsIdentifierWindows2022srvNext_64Guest, - types.VirtualMachineGuestOsIdentifierFreebsdGuest, - types.VirtualMachineGuestOsIdentifierFreebsd64Guest, - types.VirtualMachineGuestOsIdentifierFreebsd11Guest, - types.VirtualMachineGuestOsIdentifierFreebsd11_64Guest, - types.VirtualMachineGuestOsIdentifierFreebsd12Guest, - types.VirtualMachineGuestOsIdentifierFreebsd12_64Guest, - types.VirtualMachineGuestOsIdentifierFreebsd13Guest, - types.VirtualMachineGuestOsIdentifierFreebsd13_64Guest, - types.VirtualMachineGuestOsIdentifierFreebsd14Guest, - types.VirtualMachineGuestOsIdentifierFreebsd14_64Guest, - types.VirtualMachineGuestOsIdentifierRedhatGuest, - types.VirtualMachineGuestOsIdentifierRhel2Guest, - types.VirtualMachineGuestOsIdentifierRhel3Guest, - types.VirtualMachineGuestOsIdentifierRhel3_64Guest, - types.VirtualMachineGuestOsIdentifierRhel4Guest, - types.VirtualMachineGuestOsIdentifierRhel4_64Guest, - types.VirtualMachineGuestOsIdentifierRhel5Guest, - types.VirtualMachineGuestOsIdentifierRhel5_64Guest, - types.VirtualMachineGuestOsIdentifierRhel6Guest, - types.VirtualMachineGuestOsIdentifierRhel6_64Guest, - types.VirtualMachineGuestOsIdentifierRhel7Guest, - types.VirtualMachineGuestOsIdentifierRhel7_64Guest, - types.VirtualMachineGuestOsIdentifierRhel8_64Guest, - types.VirtualMachineGuestOsIdentifierRhel9_64Guest, - types.VirtualMachineGuestOsIdentifierCentosGuest, - types.VirtualMachineGuestOsIdentifierCentos64Guest, - types.VirtualMachineGuestOsIdentifierCentos6Guest, - types.VirtualMachineGuestOsIdentifierCentos6_64Guest, - types.VirtualMachineGuestOsIdentifierCentos7Guest, - types.VirtualMachineGuestOsIdentifierCentos7_64Guest, - types.VirtualMachineGuestOsIdentifierCentos8_64Guest, - types.VirtualMachineGuestOsIdentifierCentos9_64Guest, - types.VirtualMachineGuestOsIdentifierOracleLinuxGuest, - types.VirtualMachineGuestOsIdentifierOracleLinux64Guest, - types.VirtualMachineGuestOsIdentifierOracleLinux6Guest, - types.VirtualMachineGuestOsIdentifierOracleLinux6_64Guest, - types.VirtualMachineGuestOsIdentifierOracleLinux7Guest, - types.VirtualMachineGuestOsIdentifierOracleLinux7_64Guest, - types.VirtualMachineGuestOsIdentifierOracleLinux8_64Guest, - types.VirtualMachineGuestOsIdentifierOracleLinux9_64Guest, - types.VirtualMachineGuestOsIdentifierSuseGuest, - types.VirtualMachineGuestOsIdentifierSuse64Guest, - types.VirtualMachineGuestOsIdentifierSlesGuest, - types.VirtualMachineGuestOsIdentifierSles64Guest, - types.VirtualMachineGuestOsIdentifierSles10Guest, - types.VirtualMachineGuestOsIdentifierSles10_64Guest, - types.VirtualMachineGuestOsIdentifierSles11Guest, - types.VirtualMachineGuestOsIdentifierSles11_64Guest, - types.VirtualMachineGuestOsIdentifierSles12Guest, - types.VirtualMachineGuestOsIdentifierSles12_64Guest, - types.VirtualMachineGuestOsIdentifierSles15_64Guest, - types.VirtualMachineGuestOsIdentifierSles16_64Guest, - types.VirtualMachineGuestOsIdentifierNld9Guest, - types.VirtualMachineGuestOsIdentifierOesGuest, - types.VirtualMachineGuestOsIdentifierSjdsGuest, - types.VirtualMachineGuestOsIdentifierMandrakeGuest, - types.VirtualMachineGuestOsIdentifierMandrivaGuest, - types.VirtualMachineGuestOsIdentifierMandriva64Guest, - types.VirtualMachineGuestOsIdentifierTurboLinuxGuest, - types.VirtualMachineGuestOsIdentifierTurboLinux64Guest, - types.VirtualMachineGuestOsIdentifierUbuntuGuest, - types.VirtualMachineGuestOsIdentifierUbuntu64Guest, - types.VirtualMachineGuestOsIdentifierDebian4Guest, - types.VirtualMachineGuestOsIdentifierDebian4_64Guest, - types.VirtualMachineGuestOsIdentifierDebian5Guest, - types.VirtualMachineGuestOsIdentifierDebian5_64Guest, - types.VirtualMachineGuestOsIdentifierDebian6Guest, - types.VirtualMachineGuestOsIdentifierDebian6_64Guest, - types.VirtualMachineGuestOsIdentifierDebian7Guest, - types.VirtualMachineGuestOsIdentifierDebian7_64Guest, - types.VirtualMachineGuestOsIdentifierDebian8Guest, - types.VirtualMachineGuestOsIdentifierDebian8_64Guest, - types.VirtualMachineGuestOsIdentifierDebian9Guest, - types.VirtualMachineGuestOsIdentifierDebian9_64Guest, - types.VirtualMachineGuestOsIdentifierDebian10Guest, - types.VirtualMachineGuestOsIdentifierDebian10_64Guest, - types.VirtualMachineGuestOsIdentifierDebian11Guest, - types.VirtualMachineGuestOsIdentifierDebian11_64Guest, - types.VirtualMachineGuestOsIdentifierDebian12Guest, - types.VirtualMachineGuestOsIdentifierDebian12_64Guest, - types.VirtualMachineGuestOsIdentifierAsianux3Guest, - types.VirtualMachineGuestOsIdentifierAsianux3_64Guest, - types.VirtualMachineGuestOsIdentifierAsianux4Guest, - types.VirtualMachineGuestOsIdentifierAsianux4_64Guest, - types.VirtualMachineGuestOsIdentifierAsianux5_64Guest, - types.VirtualMachineGuestOsIdentifierAsianux7_64Guest, - types.VirtualMachineGuestOsIdentifierAsianux8_64Guest, - types.VirtualMachineGuestOsIdentifierAsianux9_64Guest, - types.VirtualMachineGuestOsIdentifierOpensuseGuest, - types.VirtualMachineGuestOsIdentifierOpensuse64Guest, - types.VirtualMachineGuestOsIdentifierFedoraGuest, - types.VirtualMachineGuestOsIdentifierFedora64Guest, - types.VirtualMachineGuestOsIdentifierCoreos64Guest, - types.VirtualMachineGuestOsIdentifierVmwarePhoton64Guest, - types.VirtualMachineGuestOsIdentifierOther24xLinuxGuest, - types.VirtualMachineGuestOsIdentifierOther26xLinuxGuest, - types.VirtualMachineGuestOsIdentifierOtherLinuxGuest, - types.VirtualMachineGuestOsIdentifierOther3xLinuxGuest, - types.VirtualMachineGuestOsIdentifierOther4xLinuxGuest, - types.VirtualMachineGuestOsIdentifierOther5xLinuxGuest, - types.VirtualMachineGuestOsIdentifierOther6xLinuxGuest, - types.VirtualMachineGuestOsIdentifierGenericLinuxGuest, - types.VirtualMachineGuestOsIdentifierOther24xLinux64Guest, - types.VirtualMachineGuestOsIdentifierOther26xLinux64Guest, - types.VirtualMachineGuestOsIdentifierOther3xLinux64Guest, - types.VirtualMachineGuestOsIdentifierOther4xLinux64Guest, - types.VirtualMachineGuestOsIdentifierOther5xLinux64Guest, - types.VirtualMachineGuestOsIdentifierOther6xLinux64Guest, - types.VirtualMachineGuestOsIdentifierOtherLinux64Guest, - types.VirtualMachineGuestOsIdentifierSolaris6Guest, - types.VirtualMachineGuestOsIdentifierSolaris7Guest, - types.VirtualMachineGuestOsIdentifierSolaris8Guest, - types.VirtualMachineGuestOsIdentifierSolaris9Guest, - types.VirtualMachineGuestOsIdentifierSolaris10Guest, - types.VirtualMachineGuestOsIdentifierSolaris10_64Guest, - types.VirtualMachineGuestOsIdentifierSolaris11_64Guest, - types.VirtualMachineGuestOsIdentifierOs2Guest, - types.VirtualMachineGuestOsIdentifierEComStationGuest, - types.VirtualMachineGuestOsIdentifierEComStation2Guest, - types.VirtualMachineGuestOsIdentifierNetware4Guest, - types.VirtualMachineGuestOsIdentifierNetware5Guest, - types.VirtualMachineGuestOsIdentifierNetware6Guest, - types.VirtualMachineGuestOsIdentifierOpenServer5Guest, - types.VirtualMachineGuestOsIdentifierOpenServer6Guest, - types.VirtualMachineGuestOsIdentifierUnixWare7Guest, - types.VirtualMachineGuestOsIdentifierDarwinGuest, - types.VirtualMachineGuestOsIdentifierDarwin64Guest, - types.VirtualMachineGuestOsIdentifierDarwin10Guest, - types.VirtualMachineGuestOsIdentifierDarwin10_64Guest, - types.VirtualMachineGuestOsIdentifierDarwin11Guest, - types.VirtualMachineGuestOsIdentifierDarwin11_64Guest, - types.VirtualMachineGuestOsIdentifierDarwin12_64Guest, - types.VirtualMachineGuestOsIdentifierDarwin13_64Guest, - types.VirtualMachineGuestOsIdentifierDarwin14_64Guest, - types.VirtualMachineGuestOsIdentifierDarwin15_64Guest, - types.VirtualMachineGuestOsIdentifierDarwin16_64Guest, - types.VirtualMachineGuestOsIdentifierDarwin17_64Guest, - types.VirtualMachineGuestOsIdentifierDarwin18_64Guest, - types.VirtualMachineGuestOsIdentifierDarwin19_64Guest, - types.VirtualMachineGuestOsIdentifierDarwin20_64Guest, - types.VirtualMachineGuestOsIdentifierDarwin21_64Guest, - types.VirtualMachineGuestOsIdentifierDarwin22_64Guest, - types.VirtualMachineGuestOsIdentifierDarwin23_64Guest, - types.VirtualMachineGuestOsIdentifierVmkernelGuest, - types.VirtualMachineGuestOsIdentifierVmkernel5Guest, - types.VirtualMachineGuestOsIdentifierVmkernel6Guest, - types.VirtualMachineGuestOsIdentifierVmkernel65Guest, - types.VirtualMachineGuestOsIdentifierVmkernel7Guest, - types.VirtualMachineGuestOsIdentifierVmkernel8Guest, - types.VirtualMachineGuestOsIdentifierAmazonlinux2_64Guest, - types.VirtualMachineGuestOsIdentifierAmazonlinux3_64Guest, - types.VirtualMachineGuestOsIdentifierCrxPod1Guest, - types.VirtualMachineGuestOsIdentifierRockylinux_64Guest, - types.VirtualMachineGuestOsIdentifierAlmalinux_64Guest, - types.VirtualMachineGuestOsIdentifierOtherGuest, - types.VirtualMachineGuestOsIdentifierOtherGuest64, -} diff --git a/vendor/github.com/vmware/govmomi/simulator/guest_id.sh b/vendor/github.com/vmware/govmomi/simulator/guest_id.sh deleted file mode 100644 index e7981633758..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/guest_id.sh +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/bash -e - -pushd "$(dirname "$0")" >/dev/null - -{ - cat < guest_id.go - -goimports -w guest_id.go diff --git a/vendor/github.com/vmware/govmomi/simulator/guest_operations_manager.go b/vendor/github.com/vmware/govmomi/simulator/guest_operations_manager.go deleted file mode 100644 index 780f44a040a..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/guest_operations_manager.go +++ /dev/null @@ -1,457 +0,0 @@ -/* -Copyright (c) 2020 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "bufio" - "fmt" - "net/url" - "strings" - "syscall" - "time" - - "github.com/vmware/govmomi/toolbox/process" - "github.com/vmware/govmomi/toolbox/vix" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -type GuestOperationsManager struct { - mo.GuestOperationsManager -} - -func (m *GuestOperationsManager) init(r *Registry) { - fm := new(GuestFileManager) - if m.FileManager == nil { - m.FileManager = &types.ManagedObjectReference{ - Type: "GuestFileManager", - Value: "guestOperationsFileManager", - } - } - fm.Self = *m.FileManager - r.Put(fm) - - pm := new(GuestProcessManager) - if m.ProcessManager == nil { - m.ProcessManager = &types.ManagedObjectReference{ - Type: "GuestProcessManager", - Value: "guestOperationsProcessManager", - } - } - pm.Self = *m.ProcessManager - pm.Manager = process.NewManager() - r.Put(pm) -} - -type GuestFileManager struct { - mo.GuestFileManager -} - -func guestURL(ctx *Context, vm *VirtualMachine, path string) string { - return (&url.URL{ - Scheme: ctx.svc.Listen.Scheme, - Host: "*", // See guest.FileManager.TransferURL - Path: guestPrefix + strings.TrimPrefix(path, "/"), - RawQuery: url.Values{ - "id": []string{vm.run.id}, - "token": []string{ctx.Session.Key}, - }.Encode(), - }).String() -} - -func (m *GuestFileManager) InitiateFileTransferToGuest(ctx *Context, req *types.InitiateFileTransferToGuest) soap.HasFault { - body := new(methods.InitiateFileTransferToGuestBody) - - vm := ctx.Map.Get(req.Vm).(*VirtualMachine) - err := vm.run.prepareGuestOperation(vm, req.Auth) - if err != nil { - body.Fault_ = Fault("", err) - return body - } - - body.Res = &types.InitiateFileTransferToGuestResponse{ - Returnval: guestURL(ctx, vm, req.GuestFilePath), - } - - return body -} - -func (m *GuestFileManager) InitiateFileTransferFromGuest(ctx *Context, req *types.InitiateFileTransferFromGuest) soap.HasFault { - body := new(methods.InitiateFileTransferFromGuestBody) - - vm := ctx.Map.Get(req.Vm).(*VirtualMachine) - err := vm.run.prepareGuestOperation(vm, req.Auth) - if err != nil { - body.Fault_ = Fault("", err) - return body - } - - body.Res = &types.InitiateFileTransferFromGuestResponse{ - Returnval: types.FileTransferInformation{ - Attributes: nil, // TODO - Size: 0, // TODO - Url: guestURL(ctx, vm, req.GuestFilePath), - }, - } - - return body -} - -type GuestProcessManager struct { - mo.GuestProcessManager - *process.Manager -} - -func (m *GuestProcessManager) StartProgramInGuest(ctx *Context, req *types.StartProgramInGuest) soap.HasFault { - body := new(methods.StartProgramInGuestBody) - - spec := req.Spec.(*types.GuestProgramSpec) - auth := req.Auth.(*types.NamePasswordAuthentication) - - vm := ctx.Map.Get(req.Vm).(*VirtualMachine) - - fault := vm.run.prepareGuestOperation(vm, auth) - if fault != nil { - body.Fault_ = Fault("", fault) - } - - args := []string{"exec"} - - if spec.WorkingDirectory != "" { - args = append(args, "-w", spec.WorkingDirectory) - } - - for _, e := range spec.EnvVariables { - args = append(args, "-e", e) - } - - args = append(args, vm.run.id, spec.ProgramPath, spec.Arguments) - - spec.ProgramPath = "docker" - spec.Arguments = strings.Join(args, " ") - - start := &vix.StartProgramRequest{ - ProgramPath: spec.ProgramPath, - Arguments: spec.Arguments, - } - - proc := process.New() - proc.Owner = auth.Username - - pid, err := m.Start(start, proc) - if err != nil { - panic(err) // only happens if LookPath("docker") fails, which it should't at this point - } - - body.Res = &types.StartProgramInGuestResponse{ - Returnval: pid, - } - - return body -} - -func (m *GuestProcessManager) ListProcessesInGuest(ctx *Context, req *types.ListProcessesInGuest) soap.HasFault { - body := &methods.ListProcessesInGuestBody{ - Res: new(types.ListProcessesInGuestResponse), - } - - procs := m.List(req.Pids) - - for _, proc := range procs { - var end *time.Time - if proc.EndTime != 0 { - end = types.NewTime(time.Unix(proc.EndTime, 0)) - } - - body.Res.Returnval = append(body.Res.Returnval, types.GuestProcessInfo{ - Name: proc.Name, - Pid: proc.Pid, - Owner: proc.Owner, - CmdLine: proc.Name + " " + proc.Args, - StartTime: time.Unix(proc.StartTime, 0), - EndTime: end, - ExitCode: proc.ExitCode, - }) - } - - return body -} - -func (m *GuestProcessManager) TerminateProcessInGuest(ctx *Context, req *types.TerminateProcessInGuest) soap.HasFault { - body := new(methods.TerminateProcessInGuestBody) - - if m.Kill(req.Pid) { - body.Res = new(types.TerminateProcessInGuestResponse) - } else { - body.Fault_ = Fault("", &types.GuestProcessNotFound{Pid: req.Pid}) - } - - return body -} - -func (m *GuestFileManager) mktemp(ctx *Context, req *types.CreateTemporaryFileInGuest, dir bool) (string, types.BaseMethodFault) { - args := []string{"mktemp", fmt.Sprintf("--tmpdir=%s", req.DirectoryPath), req.Prefix + "vcsim-XXXXX" + req.Suffix} - if dir { - args = append(args, "-d") - } - - vm := ctx.Map.Get(req.Vm).(*VirtualMachine) - - return vm.run.exec(ctx, vm, req.Auth, args) -} - -func (m *GuestFileManager) CreateTemporaryFileInGuest(ctx *Context, req *types.CreateTemporaryFileInGuest) soap.HasFault { - body := new(methods.CreateTemporaryFileInGuestBody) - - res, fault := m.mktemp(ctx, req, false) - if fault != nil { - body.Fault_ = Fault("", fault) - return body - } - - body.Res = &types.CreateTemporaryFileInGuestResponse{Returnval: res} - - return body -} - -func (m *GuestFileManager) CreateTemporaryDirectoryInGuest(ctx *Context, req *types.CreateTemporaryDirectoryInGuest) soap.HasFault { - body := new(methods.CreateTemporaryDirectoryInGuestBody) - - dir := types.CreateTemporaryFileInGuest(*req) - res, fault := m.mktemp(ctx, &dir, true) - if fault != nil { - body.Fault_ = Fault("", fault) - return body - } - - body.Res = &types.CreateTemporaryDirectoryInGuestResponse{Returnval: res} - - return body -} - -func listFiles(req *types.ListFilesInGuest) []string { - args := []string{"find", req.FilePath} - if req.MatchPattern != "" { - args = append(args, "-name", req.MatchPattern) - } - return append(args, "-maxdepth", "1", "-exec", "stat", "-c", "%s %u %g %f %X %Y %n", "{}", "+") -} - -func toFileInfo(s string) []types.GuestFileInfo { - var res []types.GuestFileInfo - - scanner := bufio.NewScanner(strings.NewReader(s)) - - for scanner.Scan() { - var mode, atime, mtime int64 - attr := &types.GuestPosixFileAttributes{OwnerId: new(int32), GroupId: new(int32)} - info := types.GuestFileInfo{Attributes: attr} - - _, err := fmt.Sscanf(scanner.Text(), "%d %d %d %x %d %d %s", - &info.Size, attr.OwnerId, attr.GroupId, &mode, &atime, &mtime, &info.Path) - if err != nil { - panic(err) - } - - attr.AccessTime = types.NewTime(time.Unix(atime, 0)) - attr.ModificationTime = types.NewTime(time.Unix(mtime, 0)) - attr.Permissions = mode & 0777 - - switch mode & syscall.S_IFMT { - case syscall.S_IFDIR: - info.Type = string(types.GuestFileTypeDirectory) - case syscall.S_IFLNK: - info.Type = string(types.GuestFileTypeSymlink) - default: - info.Type = string(types.GuestFileTypeFile) - } - - res = append(res, info) - } - - return res -} - -func (m *GuestFileManager) ListFilesInGuest(ctx *Context, req *types.ListFilesInGuest) soap.HasFault { - body := new(methods.ListFilesInGuestBody) - - vm := ctx.Map.Get(req.Vm).(*VirtualMachine) - - if req.FilePath == "" { - body.Fault_ = Fault("", new(types.InvalidArgument)) - return body - } - - res, fault := vm.run.exec(ctx, vm, req.Auth, listFiles(req)) - if fault != nil { - body.Fault_ = Fault("", fault) - return body - } - - body.Res = new(types.ListFilesInGuestResponse) - body.Res.Returnval.Files = toFileInfo(res) - - return body -} - -func (m *GuestFileManager) DeleteFileInGuest(ctx *Context, req *types.DeleteFileInGuest) soap.HasFault { - body := new(methods.DeleteFileInGuestBody) - - args := []string{"rm", req.FilePath} - - vm := ctx.Map.Get(req.Vm).(*VirtualMachine) - - _, fault := vm.run.exec(ctx, vm, req.Auth, args) - if fault != nil { - body.Fault_ = Fault("", fault) - return body - } - - body.Res = new(types.DeleteFileInGuestResponse) - - return body -} - -func (m *GuestFileManager) DeleteDirectoryInGuest(ctx *Context, req *types.DeleteDirectoryInGuest) soap.HasFault { - body := new(methods.DeleteDirectoryInGuestBody) - - args := []string{"rmdir", req.DirectoryPath} - if req.Recursive { - args = []string{"rm", "-rf", req.DirectoryPath} - } - - vm := ctx.Map.Get(req.Vm).(*VirtualMachine) - - _, fault := vm.run.exec(ctx, vm, req.Auth, args) - if fault != nil { - body.Fault_ = Fault("", fault) - return body - } - - body.Res = new(types.DeleteDirectoryInGuestResponse) - - return body -} - -func (m *GuestFileManager) MakeDirectoryInGuest(ctx *Context, req *types.MakeDirectoryInGuest) soap.HasFault { - body := new(methods.MakeDirectoryInGuestBody) - - args := []string{"mkdir", req.DirectoryPath} - if req.CreateParentDirectories { - args = []string{"mkdir", "-p", req.DirectoryPath} - } - - vm := ctx.Map.Get(req.Vm).(*VirtualMachine) - - _, fault := vm.run.exec(ctx, vm, req.Auth, args) - if fault != nil { - body.Fault_ = Fault("", fault) - return body - } - - body.Res = new(types.MakeDirectoryInGuestResponse) - - return body -} - -func (m *GuestFileManager) MoveFileInGuest(ctx *Context, req *types.MoveFileInGuest) soap.HasFault { - body := new(methods.MoveFileInGuestBody) - - args := []string{"mv"} - if !req.Overwrite { - args = append(args, "-n") - } - args = append(args, req.SrcFilePath, req.DstFilePath) - - vm := ctx.Map.Get(req.Vm).(*VirtualMachine) - - _, fault := vm.run.exec(ctx, vm, req.Auth, args) - if fault != nil { - body.Fault_ = Fault("", fault) - return body - } - - body.Res = new(types.MoveFileInGuestResponse) - - return body -} - -func (m *GuestFileManager) MoveDirectoryInGuest(ctx *Context, req *types.MoveDirectoryInGuest) soap.HasFault { - body := new(methods.MoveDirectoryInGuestBody) - - args := []string{"mv", req.SrcDirectoryPath, req.DstDirectoryPath} - - vm := ctx.Map.Get(req.Vm).(*VirtualMachine) - - _, fault := vm.run.exec(ctx, vm, req.Auth, args) - if fault != nil { - body.Fault_ = Fault("", fault) - return body - } - - body.Res = new(types.MoveDirectoryInGuestResponse) - - return body -} - -func (m *GuestFileManager) ChangeFileAttributesInGuest(ctx *Context, req *types.ChangeFileAttributesInGuest) soap.HasFault { - body := new(methods.ChangeFileAttributesInGuestBody) - - vm := ctx.Map.Get(req.Vm).(*VirtualMachine) - - attr, ok := req.FileAttributes.(*types.GuestPosixFileAttributes) - if !ok { - body.Fault_ = Fault("", new(types.OperationNotSupportedByGuest)) - return body - } - - if attr.Permissions != 0 { - args := []string{"chmod", fmt.Sprintf("%#o", attr.Permissions), req.GuestFilePath} - - _, fault := vm.run.exec(ctx, vm, req.Auth, args) - if fault != nil { - body.Fault_ = Fault("", fault) - return body - } - } - - change := []struct { - cmd string - id *int32 - }{ - {"chown", attr.OwnerId}, - {"chgrp", attr.GroupId}, - } - - for _, c := range change { - if c.id != nil { - args := []string{c.cmd, fmt.Sprintf("%d", *c.id), req.GuestFilePath} - - _, fault := vm.run.exec(ctx, vm, req.Auth, args) - if fault != nil { - body.Fault_ = Fault("", fault) - return body - } - } - } - - body.Res = new(types.ChangeFileAttributesInGuestResponse) - - return body -} diff --git a/vendor/github.com/vmware/govmomi/simulator/host_datastore_browser.go b/vendor/github.com/vmware/govmomi/simulator/host_datastore_browser.go deleted file mode 100644 index 185ebbd8533..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/host_datastore_browser.go +++ /dev/null @@ -1,255 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "io/ioutil" - "os" - "path" - "strings" - - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -type HostDatastoreBrowser struct { - mo.HostDatastoreBrowser -} - -type searchDatastore struct { - *HostDatastoreBrowser - - DatastorePath string - SearchSpec *types.HostDatastoreBrowserSearchSpec - - res []types.HostDatastoreBrowserSearchResults - - recurse bool -} - -func (s *searchDatastore) addFile(file os.FileInfo, res *types.HostDatastoreBrowserSearchResults) { - details := s.SearchSpec.Details - if details == nil { - details = new(types.FileQueryFlags) - } - - name := file.Name() - - info := types.FileInfo{ - Path: name, - } - - var finfo types.BaseFileInfo = &info - - if details.FileSize { - info.FileSize = file.Size() - } - - if details.Modification { - mtime := file.ModTime() - info.Modification = &mtime - } - - if isTrue(details.FileOwner) { - // Assume for now this process created all files in the datastore - user := os.Getenv("USER") - - info.Owner = user - } - - if file.IsDir() { - finfo = &types.FolderFileInfo{FileInfo: info} - } else if details.FileType { - switch path.Ext(name) { - case ".img": - finfo = &types.FloppyImageFileInfo{FileInfo: info} - case ".iso": - finfo = &types.IsoImageFileInfo{FileInfo: info} - case ".log": - finfo = &types.VmLogFileInfo{FileInfo: info} - case ".nvram": - finfo = &types.VmNvramFileInfo{FileInfo: info} - case ".vmdk": - // TODO: lookup device to set other fields - finfo = &types.VmDiskFileInfo{FileInfo: info} - case ".vmx": - finfo = &types.VmConfigFileInfo{FileInfo: info} - } - } - - res.File = append(res.File, finfo) -} - -func (s *searchDatastore) queryMatch(file os.FileInfo) bool { - if len(s.SearchSpec.Query) == 0 { - return true - } - - name := file.Name() - ext := path.Ext(name) - - for _, q := range s.SearchSpec.Query { - switch q.(type) { - case *types.FileQuery: - return true - case *types.FolderFileQuery: - if file.IsDir() { - return true - } - case *types.FloppyImageFileQuery: - if ext == ".img" { - return true - } - case *types.IsoImageFileQuery: - if ext == ".iso" { - return true - } - case *types.VmConfigFileQuery: - if ext == ".vmx" { - // TODO: check Filter and Details fields - return true - } - case *types.VmDiskFileQuery: - if ext == ".vmdk" { - // TODO: check Filter and Details fields - return !strings.HasSuffix(name, "-flat.vmdk") - } - case *types.VmLogFileQuery: - if ext == ".log" { - return strings.HasPrefix(name, "vmware") - } - case *types.VmNvramFileQuery: - if ext == ".nvram" { - return true - } - case *types.VmSnapshotFileQuery: - if ext == ".vmsn" { - return true - } - } - } - - return false -} - -func (s *searchDatastore) search(ds *types.ManagedObjectReference, folder string, dir string) error { - files, err := ioutil.ReadDir(dir) - if err != nil { - tracef("search %s: %s", dir, err) - return err - } - - res := types.HostDatastoreBrowserSearchResults{ - Datastore: ds, - FolderPath: folder, - } - - for _, file := range files { - name := file.Name() - - if s.queryMatch(file) { - for _, m := range s.SearchSpec.MatchPattern { - if ok, _ := path.Match(m, name); ok { - s.addFile(file, &res) - break - } - } - } - - if s.recurse && file.IsDir() { - _ = s.search(ds, path.Join(folder, name), path.Join(dir, name)) - } - } - - s.res = append(s.res, res) - - return nil -} - -func (s *searchDatastore) Run(task *Task) (types.AnyType, types.BaseMethodFault) { - p, fault := parseDatastorePath(s.DatastorePath) - if fault != nil { - return nil, fault - } - - ref := Map.FindByName(p.Datastore, s.Datastore) - if ref == nil { - return nil, &types.InvalidDatastore{Name: p.Datastore} - } - - ds := ref.(*Datastore) - - isolatedLockContext := &Context{} // we don't need/want to share the task lock - Map.WithLock(isolatedLockContext, task, func() { - task.Info.Entity = &ds.Self // TODO: CreateTask() should require mo.Entity, rather than mo.Reference - task.Info.EntityName = ds.Name - }) - - dir := path.Join(ds.Info.GetDatastoreInfo().Url, p.Path) - - err := s.search(&ds.Self, s.DatastorePath, dir) - if err != nil { - ff := types.FileFault{ - File: p.Path, - } - - if os.IsNotExist(err) { - return nil, &types.FileNotFound{FileFault: ff} - } - - return nil, &types.InvalidArgument{InvalidProperty: p.Path} - } - - if s.recurse { - return types.ArrayOfHostDatastoreBrowserSearchResults{ - HostDatastoreBrowserSearchResults: s.res, - }, nil - } - - return s.res[0], nil -} - -func (b *HostDatastoreBrowser) SearchDatastoreTask(ctx *Context, s *types.SearchDatastore_Task) soap.HasFault { - task := NewTask(&searchDatastore{ - HostDatastoreBrowser: b, - DatastorePath: s.DatastorePath, - SearchSpec: s.SearchSpec, - }) - - return &methods.SearchDatastore_TaskBody{ - Res: &types.SearchDatastore_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} - -func (b *HostDatastoreBrowser) SearchDatastoreSubFoldersTask(ctx *Context, s *types.SearchDatastoreSubFolders_Task) soap.HasFault { - task := NewTask(&searchDatastore{ - HostDatastoreBrowser: b, - DatastorePath: s.DatastorePath, - SearchSpec: s.SearchSpec, - recurse: true, - }) - - return &methods.SearchDatastoreSubFolders_TaskBody{ - Res: &types.SearchDatastoreSubFolders_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} diff --git a/vendor/github.com/vmware/govmomi/simulator/host_datastore_system.go b/vendor/github.com/vmware/govmomi/simulator/host_datastore_system.go deleted file mode 100644 index da6436917d0..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/host_datastore_system.go +++ /dev/null @@ -1,209 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "os" - "path" - - "github.com/vmware/govmomi/units" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -type HostDatastoreSystem struct { - mo.HostDatastoreSystem - - Host *mo.HostSystem -} - -func (dss *HostDatastoreSystem) add(ctx *Context, ds *Datastore) *soap.Fault { - info := ds.Info.GetDatastoreInfo() - - info.Name = ds.Name - - if e := ctx.Map.FindByName(ds.Name, dss.Datastore); e != nil { - return Fault(e.Reference().Value, &types.DuplicateName{ - Name: ds.Name, - Object: e.Reference(), - }) - } - - fi, err := os.Stat(info.Url) - if err == nil && !fi.IsDir() { - err = os.ErrInvalid - } - - if err != nil { - switch { - case os.IsNotExist(err): - return Fault(err.Error(), &types.NotFound{}) - default: - return Fault(err.Error(), &types.HostConfigFault{}) - } - } - - folder := ctx.Map.getEntityFolder(dss.Host, "datastore") - - found := false - if e := ctx.Map.FindByName(ds.Name, folder.ChildEntity); e != nil { - if e.Reference().Type != "Datastore" { - return Fault(e.Reference().Value, &types.DuplicateName{ - Name: ds.Name, - Object: e.Reference(), - }) - } - - // if datastore already exists, use current reference - found = true - ds.Self = e.Reference() - } else { - // put datastore to folder and generate reference - folderPutChild(ctx, folder, ds) - } - - ds.Summary.Datastore = &ds.Self - ds.Summary.Name = ds.Name - ds.Summary.Url = info.Url - ds.Capability = types.DatastoreCapability{ - DirectoryHierarchySupported: true, - RawDiskMappingsSupported: false, - PerFileThinProvisioningSupported: true, - StorageIORMSupported: types.NewBool(true), - NativeSnapshotSupported: types.NewBool(false), - TopLevelDirectoryCreateSupported: types.NewBool(true), - SeSparseSupported: types.NewBool(true), - } - - dss.Datastore = append(dss.Datastore, ds.Self) - dss.Host.Datastore = dss.Datastore - parent := hostParent(dss.Host) - ctx.Map.AddReference(ctx, parent, &parent.Datastore, ds.Self) - - // NOTE: browser must be created after ds is appended to dss.Datastore - if !found { - browser := &HostDatastoreBrowser{} - browser.Datastore = dss.Datastore - ds.Browser = ctx.Map.Put(browser).Reference() - - ds.Summary.Capacity = int64(units.TB * 10) - ds.Summary.FreeSpace = ds.Summary.Capacity - - info.FreeSpace = ds.Summary.FreeSpace - info.MaxMemoryFileSize = ds.Summary.Capacity - info.MaxFileSize = ds.Summary.Capacity - } - - return nil -} - -func (dss *HostDatastoreSystem) CreateLocalDatastore(ctx *Context, c *types.CreateLocalDatastore) soap.HasFault { - r := &methods.CreateLocalDatastoreBody{} - - ds := &Datastore{} - ds.Name = c.Name - - ds.Info = &types.LocalDatastoreInfo{ - DatastoreInfo: types.DatastoreInfo{ - Name: c.Name, - Url: c.Path, - }, - Path: c.Path, - } - - ds.Summary.Type = string(types.HostFileSystemVolumeFileSystemTypeOTHER) - ds.Summary.MaintenanceMode = string(types.DatastoreSummaryMaintenanceModeStateNormal) - ds.Summary.Accessible = true - - if err := dss.add(ctx, ds); err != nil { - r.Fault_ = err - return r - } - - ds.Host = append(ds.Host, types.DatastoreHostMount{ - Key: dss.Host.Reference(), - MountInfo: types.HostMountInfo{ - AccessMode: string(types.HostMountModeReadWrite), - Mounted: types.NewBool(true), - Accessible: types.NewBool(true), - }, - }) - - _ = ds.RefreshDatastore(&types.RefreshDatastore{This: ds.Self}) - - r.Res = &types.CreateLocalDatastoreResponse{ - Returnval: ds.Self, - } - - return r -} - -func (dss *HostDatastoreSystem) CreateNasDatastore(ctx *Context, c *types.CreateNasDatastore) soap.HasFault { - r := &methods.CreateNasDatastoreBody{} - - // validate RemoteHost and RemotePath are specified - if c.Spec.RemoteHost == "" { - r.Fault_ = Fault( - "A specified parameter was not correct: Spec.RemoteHost", - &types.InvalidArgument{InvalidProperty: "RemoteHost"}, - ) - return r - } - if c.Spec.RemotePath == "" { - r.Fault_ = Fault( - "A specified parameter was not correct: Spec.RemotePath", - &types.InvalidArgument{InvalidProperty: "RemotePath"}, - ) - return r - } - - ds := &Datastore{} - ds.Name = path.Base(c.Spec.LocalPath) - - ds.Info = &types.NasDatastoreInfo{ - DatastoreInfo: types.DatastoreInfo{ - Url: c.Spec.LocalPath, - }, - Nas: &types.HostNasVolume{ - HostFileSystemVolume: types.HostFileSystemVolume{ - Name: c.Spec.LocalPath, - Type: c.Spec.Type, - }, - RemoteHost: c.Spec.RemoteHost, - RemotePath: c.Spec.RemotePath, - }, - } - - ds.Summary.Type = c.Spec.Type - ds.Summary.MaintenanceMode = string(types.DatastoreSummaryMaintenanceModeStateNormal) - ds.Summary.Accessible = true - - if err := dss.add(ctx, ds); err != nil { - r.Fault_ = err - return r - } - - _ = ds.RefreshDatastore(&types.RefreshDatastore{This: ds.Self}) - - r.Res = &types.CreateNasDatastoreResponse{ - Returnval: ds.Self, - } - - return r -} diff --git a/vendor/github.com/vmware/govmomi/simulator/host_firewall_system.go b/vendor/github.com/vmware/govmomi/simulator/host_firewall_system.go deleted file mode 100644 index fd596386aa1..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/host_firewall_system.go +++ /dev/null @@ -1,87 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "github.com/vmware/govmomi/simulator/esx" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -type HostFirewallSystem struct { - mo.HostFirewallSystem -} - -func NewHostFirewallSystem(_ *mo.HostSystem) *HostFirewallSystem { - info := esx.HostFirewallInfo - - return &HostFirewallSystem{ - HostFirewallSystem: mo.HostFirewallSystem{ - FirewallInfo: &info, - }, - } -} - -func DisableRuleset(info *types.HostFirewallInfo, id string) bool { - for i := range info.Ruleset { - if info.Ruleset[i].Key == id { - info.Ruleset[i].Enabled = false - return true - } - } - - return false -} - -func (s *HostFirewallSystem) DisableRuleset(req *types.DisableRuleset) soap.HasFault { - body := &methods.DisableRulesetBody{} - - if DisableRuleset(s.HostFirewallSystem.FirewallInfo, req.Id) { - body.Res = new(types.DisableRulesetResponse) - return body - } - - body.Fault_ = Fault("", &types.NotFound{}) - - return body -} - -func EnableRuleset(info *types.HostFirewallInfo, id string) bool { - for i := range info.Ruleset { - if info.Ruleset[i].Key == id { - info.Ruleset[i].Enabled = true - return true - } - } - - return false -} - -func (s *HostFirewallSystem) EnableRuleset(req *types.EnableRuleset) soap.HasFault { - body := &methods.EnableRulesetBody{} - - if EnableRuleset(s.HostFirewallSystem.FirewallInfo, req.Id) { - body.Res = new(types.EnableRulesetResponse) - return body - } - - body.Fault_ = Fault("", &types.NotFound{}) - - return body -} diff --git a/vendor/github.com/vmware/govmomi/simulator/host_local_account_manager.go b/vendor/github.com/vmware/govmomi/simulator/host_local_account_manager.go deleted file mode 100644 index 993e3fe8790..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/host_local_account_manager.go +++ /dev/null @@ -1,72 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -// As of vSphere API 5.1, local groups operations are deprecated, so it's not supported here. - -type HostLocalAccountManager struct { - mo.HostLocalAccountManager -} - -func (h *HostLocalAccountManager) CreateUser(req *types.CreateUser) soap.HasFault { - spec := req.User.GetHostAccountSpec() - userDirectory := Map.UserDirectory() - - found := userDirectory.search(true, false, compareFunc(spec.Id, true)) - if len(found) > 0 { - return &methods.CreateUserBody{ - Fault_: Fault("", &types.AlreadyExists{}), - } - } - - userDirectory.addUser(spec.Id) - - return &methods.CreateUserBody{ - Res: &types.CreateUserResponse{}, - } -} - -func (h *HostLocalAccountManager) RemoveUser(req *types.RemoveUser) soap.HasFault { - userDirectory := Map.UserDirectory() - - found := userDirectory.search(true, false, compareFunc(req.UserName, true)) - - if len(found) == 0 { - return &methods.RemoveUserBody{ - Fault_: Fault("", &types.UserNotFound{}), - } - } - - userDirectory.removeUser(req.UserName) - - return &methods.RemoveUserBody{ - Res: &types.RemoveUserResponse{}, - } -} - -func (h *HostLocalAccountManager) UpdateUser(req *types.UpdateUser) soap.HasFault { - return &methods.CreateUserBody{ - Res: &types.CreateUserResponse{}, - } -} diff --git a/vendor/github.com/vmware/govmomi/simulator/host_network_system.go b/vendor/github.com/vmware/govmomi/simulator/host_network_system.go deleted file mode 100644 index 4afdda0a16b..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/host_network_system.go +++ /dev/null @@ -1,206 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -type HostNetworkSystem struct { - mo.HostNetworkSystem - - Host *mo.HostSystem - - types.QueryNetworkHintResponse -} - -func NewHostNetworkSystem(host *mo.HostSystem) *HostNetworkSystem { - return &HostNetworkSystem{ - Host: host, - HostNetworkSystem: mo.HostNetworkSystem{ - NetworkInfo: &types.HostNetworkInfo{ - Vswitch: []types.HostVirtualSwitch{ - { - Name: "vSwitch0", - Portgroup: []string{"VM Network"}, - }, - }, - Portgroup: host.Config.Network.Portgroup, - }, - }, - } -} - -func (s *HostNetworkSystem) init(r *Registry) { - for _, obj := range r.objects { - if h, ok := obj.(*HostSystem); ok { - if h.ConfigManager.NetworkSystem.Value == s.Self.Value { - s.Host = &h.HostSystem - } - } - } -} - -func (s *HostNetworkSystem) folder() *Folder { - f := Map.getEntityDatacenter(s.Host).NetworkFolder - return Map.Get(f).(*Folder) -} - -func (s *HostNetworkSystem) AddVirtualSwitch(c *types.AddVirtualSwitch) soap.HasFault { - r := &methods.AddVirtualSwitchBody{} - - for _, vswitch := range s.NetworkInfo.Vswitch { - if vswitch.Name == c.VswitchName { - r.Fault_ = Fault("", &types.AlreadyExists{Name: c.VswitchName}) - return r - } - } - - s.NetworkInfo.Vswitch = append(s.NetworkInfo.Vswitch, types.HostVirtualSwitch{ - Name: c.VswitchName, - }) - - r.Res = &types.AddVirtualSwitchResponse{} - - return r -} - -func (s *HostNetworkSystem) RemoveVirtualSwitch(c *types.RemoveVirtualSwitch) soap.HasFault { - r := &methods.RemoveVirtualSwitchBody{} - - vs := s.NetworkInfo.Vswitch - - for i, v := range vs { - if v.Name == c.VswitchName { - s.NetworkInfo.Vswitch = append(vs[:i], vs[i+1:]...) - r.Res = &types.RemoveVirtualSwitchResponse{} - return r - } - } - - r.Fault_ = Fault("", &types.NotFound{}) - - return r -} - -func (s *HostNetworkSystem) AddPortGroup(ctx *Context, c *types.AddPortGroup) soap.HasFault { - var vswitch *types.HostVirtualSwitch - - r := &methods.AddPortGroupBody{} - - if c.Portgrp.Name == "" { - r.Fault_ = Fault("", &types.InvalidArgument{InvalidProperty: "name"}) - return r - } - - for i := range s.NetworkInfo.Vswitch { - if s.NetworkInfo.Vswitch[i].Name == c.Portgrp.VswitchName { - vswitch = &s.NetworkInfo.Vswitch[i] - break - } - } - - if vswitch == nil { - r.Fault_ = Fault("", &types.NotFound{}) - return r - } - - network := &mo.Network{} - network.Name = c.Portgrp.Name - network.Entity().Name = network.Name - - folder := s.folder() - - if obj := ctx.Map.FindByName(c.Portgrp.Name, folder.ChildEntity); obj != nil { - r.Fault_ = Fault("", &types.DuplicateName{ - Name: c.Portgrp.Name, - Object: obj.Reference(), - }) - - return r - } - - folderPutChild(ctx, &folder.Folder, network) - - vswitch.Portgroup = append(vswitch.Portgroup, c.Portgrp.Name) - - s.NetworkInfo.Portgroup = append(s.NetworkInfo.Portgroup, types.HostPortGroup{ - Key: "key-vim.host.PortGroup-" + c.Portgrp.Name, - Port: nil, - Spec: c.Portgrp, - }) - - r.Res = &types.AddPortGroupResponse{} - - return r -} - -func (s *HostNetworkSystem) RemovePortGroup(ctx *Context, c *types.RemovePortGroup) soap.HasFault { - var vswitch *types.HostVirtualSwitch - - r := &methods.RemovePortGroupBody{} - - for i, v := range s.NetworkInfo.Vswitch { - for j, pg := range v.Portgroup { - if pg == c.PgName { - vswitch = &s.NetworkInfo.Vswitch[i] - vswitch.Portgroup = append(vswitch.Portgroup[:j], vswitch.Portgroup[j+1:]...) - } - } - } - - if vswitch == nil { - r.Fault_ = Fault("", &types.NotFound{}) - return r - } - - folder := s.folder() - e := ctx.Map.FindByName(c.PgName, folder.ChildEntity) - folderRemoveChild(ctx, &folder.Folder, e.Reference()) - - for i, pg := range s.NetworkInfo.Portgroup { - if pg.Spec.Name == c.PgName { - var portgroup = s.NetworkInfo.Portgroup - s.NetworkInfo.Portgroup = append(portgroup[:i], portgroup[i+1:]...) - } - } - - r.Res = &types.RemovePortGroupResponse{} - - return r -} - -func (s *HostNetworkSystem) UpdateNetworkConfig(req *types.UpdateNetworkConfig) soap.HasFault { - s.NetworkConfig = &req.Config - - return &methods.UpdateNetworkConfigBody{ - Res: &types.UpdateNetworkConfigResponse{ - Returnval: types.HostNetworkConfigResult{}, - }, - } -} - -func (s *HostNetworkSystem) QueryNetworkHint(req *types.QueryNetworkHint) soap.HasFault { - return &methods.QueryNetworkHintBody{ - Res: &types.QueryNetworkHintResponse{ - Returnval: s.QueryNetworkHintResponse.Returnval, - }, - } -} diff --git a/vendor/github.com/vmware/govmomi/simulator/host_storage_system.go b/vendor/github.com/vmware/govmomi/simulator/host_storage_system.go deleted file mode 100644 index da2fd528c2f..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/host_storage_system.go +++ /dev/null @@ -1,134 +0,0 @@ -/* -Copyright (c) 2020 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "github.com/vmware/govmomi/simulator/esx" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -type HostStorageSystem struct { - mo.HostStorageSystem - - Host *mo.HostSystem - HBA []types.BaseHostHostBusAdapter -} - -func NewHostStorageSystem(h *mo.HostSystem) *HostStorageSystem { - s := &HostStorageSystem{Host: h} - - s.StorageDeviceInfo = &esx.HostStorageDeviceInfo - - s.HBA = fibreChannelHBA - - return s -} - -// RescanAllHba swaps HostStorageSystem.HBA and StorageDeviceInfo.HostBusAdapter. -// This allows testing HBA with and without Fibre Channel data. -func (s *HostStorageSystem) RescanAllHba(ctx *Context, _ *types.RescanAllHba) soap.HasFault { - hba := s.StorageDeviceInfo.HostBusAdapter - s.StorageDeviceInfo.HostBusAdapter = s.HBA - s.HBA = hba - - ctx.WithLock(s.Host, func() { - s.Host.Config.StorageDevice.HostBusAdapter = s.StorageDeviceInfo.HostBusAdapter - }) - - return &methods.RescanAllHbaBody{ - Res: new(types.RescanAllHbaResponse), - } -} - -func (s *HostStorageSystem) RescanVmfs(*Context, *types.RescanVmfs) soap.HasFault { - return &methods.RescanVmfsBody{Res: new(types.RescanVmfsResponse)} -} - -func (s *HostStorageSystem) RefreshStorageSystem(*Context, *types.RefreshStorageSystem) soap.HasFault { - return &methods.RefreshStorageSystemBody{Res: new(types.RefreshStorageSystemResponse)} -} - -// HBA with FibreChannel data, see RescanAllHba() -var fibreChannelHBA = []types.BaseHostHostBusAdapter{ - &types.HostBlockHba{ - HostHostBusAdapter: types.HostHostBusAdapter{ - Key: "key-vim.host.BlockHba-vmhba0", - Device: "vmhba0", - Bus: 0, - Status: "unknown", - Model: "Lewisburg SATA AHCI Controller", - Driver: "vmw_ahci", - Pci: "0000:00:11.5", - }, - }, - &types.HostBlockHba{ - HostHostBusAdapter: types.HostHostBusAdapter{ - Key: "key-vim.host.BlockHba-vmhba1", - Device: "vmhba1", - Bus: 0, - Status: "unknown", - Model: "Lewisburg SATA AHCI Controller", - Driver: "vmw_ahci", - Pci: "0000:00:17.0", - }, - }, - &types.HostFibreChannelHba{ - HostHostBusAdapter: types.HostHostBusAdapter{ - Key: "key-vim.host.FibreChannelHba-vmhba2", - Device: "vmhba2", - Bus: 59, - Status: "online", - Model: "Emulex LightPulse LPe32000 PCIe Fibre Channel Adapter", - Driver: "lpfc", - Pci: "0000:3b:00.0", - }, - PortWorldWideName: 1152922127287604726, - NodeWorldWideName: 2305843631894451702, - PortType: "unknown", - Speed: 16, - }, - &types.HostFibreChannelHba{ - HostHostBusAdapter: types.HostHostBusAdapter{ - Key: "key-vim.host.FibreChannelHba-vmhba3", - Device: "vmhba3", - Bus: 95, - Status: "online", - Model: "Emulex LightPulse LPe32000 PCIe Fibre Channel Adapter", - Driver: "lpfc", - Pci: "0000:5f:00.0", - }, - PortWorldWideName: 1152922127287604554, - NodeWorldWideName: 2305843631894451530, - PortType: "unknown", - Speed: 16, - }, - &types.HostSerialAttachedHba{ - HostHostBusAdapter: types.HostHostBusAdapter{ - Key: "key-vim.host.SerialAttachedHba-vmhba4", - Device: "vmhba4", - Bus: 24, - Status: "unknown", - Model: "PERC H330 Adapter", - Driver: "lsi_mr3", - Pci: "0000:18:00.0", - }, - NodeWorldWideName: "5d0946606e78ac00", - }, -} diff --git a/vendor/github.com/vmware/govmomi/simulator/host_system.go b/vendor/github.com/vmware/govmomi/simulator/host_system.go deleted file mode 100644 index f28101a8c3e..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/host_system.go +++ /dev/null @@ -1,311 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "net" - "os" - "time" - - "github.com/vmware/govmomi/simulator/esx" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -var ( - hostPortUnique = os.Getenv("VCSIM_HOST_PORT_UNIQUE") == "true" -) - -type HostSystem struct { - mo.HostSystem -} - -func asHostSystemMO(obj mo.Reference) (*mo.HostSystem, bool) { - h, ok := getManagedObject(obj).Addr().Interface().(*mo.HostSystem) - return h, ok -} - -func NewHostSystem(host mo.HostSystem) *HostSystem { - if hostPortUnique { // configure unique port for each host - port := &esx.HostSystem.Summary.Config.Port - *port++ - host.Summary.Config.Port = *port - } - - now := time.Now() - - hs := &HostSystem{ - HostSystem: host, - } - - hs.Name = hs.Summary.Config.Name - hs.Summary.Runtime = &hs.Runtime - hs.Summary.Runtime.BootTime = &now - - // shallow copy Summary.Hardware, as each host will be assigned its own .Uuid - hardware := *host.Summary.Hardware - hs.Summary.Hardware = &hardware - - if hs.Hardware == nil { - // shallow copy Hardware, as each host will be assigned its own .Uuid - info := *esx.HostHardwareInfo - hs.Hardware = &info - } - - cfg := new(types.HostConfigInfo) - deepCopy(hs.Config, cfg) - hs.Config = cfg - - config := []struct { - ref **types.ManagedObjectReference - obj mo.Reference - }{ - {&hs.ConfigManager.DatastoreSystem, &HostDatastoreSystem{Host: &hs.HostSystem}}, - {&hs.ConfigManager.NetworkSystem, NewHostNetworkSystem(&hs.HostSystem)}, - {&hs.ConfigManager.AdvancedOption, NewOptionManager(nil, esx.Setting)}, - {&hs.ConfigManager.FirewallSystem, NewHostFirewallSystem(&hs.HostSystem)}, - {&hs.ConfigManager.StorageSystem, NewHostStorageSystem(&hs.HostSystem)}, - } - - for _, c := range config { - ref := Map.Put(c.obj).Reference() - - *c.ref = &ref - } - - return hs -} - -func (h *HostSystem) configure(spec types.HostConnectSpec, connected bool) { - h.Runtime.ConnectionState = types.HostSystemConnectionStateDisconnected - if connected { - h.Runtime.ConnectionState = types.HostSystemConnectionStateConnected - } - if net.ParseIP(spec.HostName) != nil { - h.Config.Network.Vnic[0].Spec.Ip.IpAddress = spec.HostName - } - - h.Summary.Config.Name = spec.HostName - h.Name = h.Summary.Config.Name - id := newUUID(h.Name) - h.Summary.Hardware.Uuid = id - h.Hardware.SystemInfo.Uuid = id -} - -func (h *HostSystem) event() types.HostEvent { - return types.HostEvent{ - Event: types.Event{ - Datacenter: datacenterEventArgument(h), - ComputeResource: h.eventArgumentParent(), - Host: h.eventArgument(), - }, - } -} - -func (h *HostSystem) eventArgument() *types.HostEventArgument { - return &types.HostEventArgument{ - Host: h.Self, - EntityEventArgument: types.EntityEventArgument{Name: h.Name}, - } -} - -func (h *HostSystem) eventArgumentParent() *types.ComputeResourceEventArgument { - parent := hostParent(&h.HostSystem) - - return &types.ComputeResourceEventArgument{ - ComputeResource: parent.Self, - EntityEventArgument: types.EntityEventArgument{Name: parent.Name}, - } -} - -func hostParent(host *mo.HostSystem) *mo.ComputeResource { - switch parent := Map.Get(*host.Parent).(type) { - case *mo.ComputeResource: - return parent - case *ClusterComputeResource: - return &parent.ComputeResource - default: - return nil - } -} - -func addComputeResource(s *types.ComputeResourceSummary, h *HostSystem) { - s.TotalCpu += h.Summary.Hardware.CpuMhz - s.TotalMemory += h.Summary.Hardware.MemorySize - s.NumCpuCores += h.Summary.Hardware.NumCpuCores - s.NumCpuThreads += h.Summary.Hardware.NumCpuThreads - s.EffectiveCpu += h.Summary.Hardware.CpuMhz - s.EffectiveMemory += h.Summary.Hardware.MemorySize - s.NumHosts++ - s.NumEffectiveHosts++ - s.OverallStatus = types.ManagedEntityStatusGreen -} - -// CreateDefaultESX creates a standalone ESX -// Adds objects of type: Datacenter, Network, ComputeResource, ResourcePool and HostSystem -func CreateDefaultESX(ctx *Context, f *Folder) { - dc := NewDatacenter(ctx, &f.Folder) - - host := NewHostSystem(esx.HostSystem) - - summary := new(types.ComputeResourceSummary) - addComputeResource(summary, host) - - cr := &mo.ComputeResource{ - Summary: summary, - Network: esx.Datacenter.Network, - } - cr.EnvironmentBrowser = newEnvironmentBrowser() - cr.Self = *host.Parent - cr.Name = host.Name - cr.Host = append(cr.Host, host.Reference()) - host.Network = cr.Network - ctx.Map.PutEntity(cr, host) - - pool := NewResourcePool() - cr.ResourcePool = &pool.Self - ctx.Map.PutEntity(cr, pool) - pool.Owner = cr.Self - - folderPutChild(ctx, &ctx.Map.Get(dc.HostFolder).(*Folder).Folder, cr) -} - -// CreateStandaloneHost uses esx.HostSystem as a template, applying the given spec -// and creating the ComputeResource parent and ResourcePool sibling. -func CreateStandaloneHost(ctx *Context, f *Folder, spec types.HostConnectSpec) (*HostSystem, types.BaseMethodFault) { - if spec.HostName == "" { - return nil, &types.NoHost{} - } - - template := esx.HostSystem - network := ctx.Map.getEntityDatacenter(f).defaultNetwork() - - if p := ctx.Map.FindByName(spec.UserName, f.ChildEntity); p != nil { - cr := p.(*mo.ComputeResource) - h := ctx.Map.Get(cr.Host[0]) - // "clone" an existing host from the inventory - template = h.(*HostSystem).HostSystem - template.Vm = nil - network = cr.Network - } - - pool := NewResourcePool() - host := NewHostSystem(template) - host.configure(spec, false) - - summary := new(types.ComputeResourceSummary) - addComputeResource(summary, host) - - cr := &mo.ComputeResource{ - ConfigurationEx: &types.ComputeResourceConfigInfo{ - VmSwapPlacement: string(types.VirtualMachineConfigInfoSwapPlacementTypeVmDirectory), - }, - Summary: summary, - EnvironmentBrowser: newEnvironmentBrowser(), - } - - ctx.Map.PutEntity(cr, ctx.Map.NewEntity(host)) - host.Summary.Host = &host.Self - - ctx.Map.PutEntity(cr, ctx.Map.NewEntity(pool)) - - cr.Name = host.Name - cr.Network = network - cr.Host = append(cr.Host, host.Reference()) - cr.ResourcePool = &pool.Self - - folderPutChild(ctx, &f.Folder, cr) - pool.Owner = cr.Self - host.Network = cr.Network - - return host, nil -} - -func (h *HostSystem) DestroyTask(ctx *Context, req *types.Destroy_Task) soap.HasFault { - task := CreateTask(h, "destroy", func(t *Task) (types.AnyType, types.BaseMethodFault) { - if len(h.Vm) > 0 { - return nil, &types.ResourceInUse{} - } - - ctx.postEvent(&types.HostRemovedEvent{HostEvent: h.event()}) - - f := ctx.Map.getEntityParent(h, "Folder").(*Folder) - folderRemoveChild(ctx, &f.Folder, h.Reference()) - - return nil, nil - }) - - return &methods.Destroy_TaskBody{ - Res: &types.Destroy_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} - -func (h *HostSystem) EnterMaintenanceModeTask(ctx *Context, spec *types.EnterMaintenanceMode_Task) soap.HasFault { - task := CreateTask(h, "enterMaintenanceMode", func(t *Task) (types.AnyType, types.BaseMethodFault) { - h.Runtime.InMaintenanceMode = true - return nil, nil - }) - - return &methods.EnterMaintenanceMode_TaskBody{ - Res: &types.EnterMaintenanceMode_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} - -func (h *HostSystem) ExitMaintenanceModeTask(ctx *Context, spec *types.ExitMaintenanceMode_Task) soap.HasFault { - task := CreateTask(h, "exitMaintenanceMode", func(t *Task) (types.AnyType, types.BaseMethodFault) { - h.Runtime.InMaintenanceMode = false - return nil, nil - }) - - return &methods.ExitMaintenanceMode_TaskBody{ - Res: &types.ExitMaintenanceMode_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} - -func (h *HostSystem) DisconnectHostTask(ctx *Context, spec *types.DisconnectHost_Task) soap.HasFault { - task := CreateTask(h, "disconnectHost", func(t *Task) (types.AnyType, types.BaseMethodFault) { - h.Runtime.ConnectionState = types.HostSystemConnectionStateDisconnected - return nil, nil - }) - - return &methods.DisconnectHost_TaskBody{ - Res: &types.DisconnectHost_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} - -func (h *HostSystem) ReconnectHostTask(ctx *Context, spec *types.ReconnectHost_Task) soap.HasFault { - task := CreateTask(h, "reconnectHost", func(t *Task) (types.AnyType, types.BaseMethodFault) { - h.Runtime.ConnectionState = types.HostSystemConnectionStateConnected - return nil, nil - }) - - return &methods.ReconnectHost_TaskBody{ - Res: &types.ReconnectHost_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} diff --git a/vendor/github.com/vmware/govmomi/simulator/http_nfc_lease.go b/vendor/github.com/vmware/govmomi/simulator/http_nfc_lease.go deleted file mode 100644 index 26e0d299fc1..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/http_nfc_lease.go +++ /dev/null @@ -1,137 +0,0 @@ -/* -Copyright (c) 2019 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "fmt" - "io" - "io/ioutil" - "log" - "net/http" - "os" - "strings" - "sync" - - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -type HttpNfcLease struct { - mo.HttpNfcLease - files map[string]string -} - -var ( - nfcLease sync.Map // HTTP access to NFC leases are token based and do not require Session auth - nfcPrefix = "/nfc/" -) - -// ServeNFC handles NFC file upload/download -func ServeNFC(w http.ResponseWriter, r *http.Request) { - p := strings.Split(r.URL.Path, "/") - id, name := p[len(p)-2], p[len(p)-1] - ref := types.ManagedObjectReference{Type: "HttpNfcLease", Value: id} - l, ok := nfcLease.Load(ref) - if !ok { - log.Printf("invalid NFC lease: %s", id) - http.NotFound(w, r) - return - } - lease := l.(*HttpNfcLease) - file, ok := lease.files[name] - if !ok { - log.Printf("invalid NFC device id: %s", name) - http.NotFound(w, r) - return - } - - status := http.StatusOK - var dst io.Writer - var src io.ReadCloser - - switch r.Method { - case http.MethodPut, http.MethodPost: - dst = ioutil.Discard - src = r.Body - case http.MethodGet: - f, err := os.Open(file) - if err != nil { - http.NotFound(w, r) - return - } - src = f - default: - status = http.StatusMethodNotAllowed - } - - n, err := io.Copy(dst, src) - _ = src.Close() - - msg := fmt.Sprintf("transferred %d bytes", n) - if err != nil { - status = http.StatusInternalServerError - msg = err.Error() - } - tracef("nfc %s %s: %s", r.Method, file, msg) - w.WriteHeader(status) -} - -func NewHttpNfcLease(ctx *Context, entity types.ManagedObjectReference) *HttpNfcLease { - lease := &HttpNfcLease{ - HttpNfcLease: mo.HttpNfcLease{ - Info: &types.HttpNfcLeaseInfo{ - Entity: entity, - LeaseTimeout: 30000, - }, - State: types.HttpNfcLeaseStateReady, - }, - files: make(map[string]string), - } - - ctx.Session.Put(lease) - nfcLease.Store(lease.Reference(), lease) - - return lease -} - -func (l *HttpNfcLease) HttpNfcLeaseComplete(ctx *Context, req *types.HttpNfcLeaseComplete) soap.HasFault { - ctx.Session.Remove(ctx, req.This) - nfcLease.Delete(req.This) - - return &methods.HttpNfcLeaseCompleteBody{ - Res: new(types.HttpNfcLeaseCompleteResponse), - } -} - -func (l *HttpNfcLease) HttpNfcLeaseAbort(ctx *Context, req *types.HttpNfcLeaseAbort) soap.HasFault { - ctx.Session.Remove(ctx, req.This) - nfcLease.Delete(req.This) - - return &methods.HttpNfcLeaseAbortBody{ - Res: new(types.HttpNfcLeaseAbortResponse), - } -} - -func (l *HttpNfcLease) HttpNfcLeaseProgress(ctx *Context, req *types.HttpNfcLeaseProgress) soap.HasFault { - l.TransferProgress = req.Percent - - return &methods.HttpNfcLeaseProgressBody{ - Res: new(types.HttpNfcLeaseProgressResponse), - } -} diff --git a/vendor/github.com/vmware/govmomi/simulator/internal/object_lock.go b/vendor/github.com/vmware/govmomi/simulator/internal/object_lock.go deleted file mode 100644 index fdc6c9bd9b1..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/internal/object_lock.go +++ /dev/null @@ -1,102 +0,0 @@ -/* -Copyright (c) 2014-2022 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package internal - -import ( - "fmt" - "sync" -) - -// SharedLockingContext is used to identify when locks can be shared. In -// practice, simulator code uses the simulator.Context for a request, but in -// principle this could be anything. -type SharedLockingContext interface{} - -// ObjectLock implements a basic "reference-counted" mutex, where a single -// SharedLockingContext can "share" the lock across code paths or child tasks. -type ObjectLock struct { - lock sync.Locker - - stateLock sync.Mutex - heldBy SharedLockingContext - count int64 -} - -// NewObjectLock creates a new ObjectLock. Pass new(sync.Mutex) if you don't -// have a custom sync.Locker. -func NewObjectLock(lock sync.Locker) *ObjectLock { - return &ObjectLock{ - lock: lock, - } -} - -// try returns true if the lock has been acquired; false otherwise -func (l *ObjectLock) try(onBehalfOf SharedLockingContext) bool { - l.stateLock.Lock() - defer l.stateLock.Unlock() - - if l.heldBy == onBehalfOf { - l.count = l.count + 1 - return true - } - - if l.heldBy == nil { - // we expect no contention for this lock (unless the object has a custom Locker) - l.lock.Lock() - l.count = 1 - l.heldBy = onBehalfOf - return true - } - - return false -} - -// wait returns when there's a chance that try() might succeed. -// It is intended to be better than busy-waiting or sleeping. -func (l *ObjectLock) wait() { - l.lock.Lock() - l.lock.Unlock() -} - -// Release decrements the reference count. The caller should pass their -// context, which is used to sanity check that the Unlock() call is valid. If -// this is the last reference to the lock for this SharedLockingContext, the lock -// is Unlocked and can be acquired by another SharedLockingContext. -func (l *ObjectLock) Release(onBehalfOf SharedLockingContext) { - l.stateLock.Lock() - defer l.stateLock.Unlock() - if l.heldBy != onBehalfOf { - panic(fmt.Sprintf("Attempt to unlock on behalf of %#v, but is held by %#v", onBehalfOf, l.heldBy)) - } - l.count = l.count - 1 - if l.count == 0 { - l.heldBy = nil - l.lock.Unlock() - } -} - -// Acquire blocks until it can acquire the lock for onBehalfOf -func (l *ObjectLock) Acquire(onBehalfOf SharedLockingContext) { - acquired := false - for !acquired { - if l.try(onBehalfOf) { - return - } else { - l.wait() - } - } -} diff --git a/vendor/github.com/vmware/govmomi/simulator/internal/server.go b/vendor/github.com/vmware/govmomi/simulator/internal/server.go deleted file mode 100644 index 1f814dea29d..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/internal/server.go +++ /dev/null @@ -1,353 +0,0 @@ -/* -Copyright (c) 2014-2022 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package internal - -import ( - "crypto/tls" - "crypto/x509" - "fmt" - "log" - "net" - "net/http" - "strings" - "sync" - "time" -) - -// A Server is an HTTP server listening on a system-chosen port on the -// local loopback interface, for use in end-to-end HTTP tests. -type Server struct { - URL string // base URL of form http://ipaddr:port with no trailing slash - Listener net.Listener - - // TLS is the optional TLS configuration, populated with a new config - // after TLS is started. If set on an unstarted server before StartTLS - // is called, existing fields are copied into the new config. - TLS *tls.Config - - // Config may be changed after calling NewUnstartedServer and - // before Start or StartTLS. - Config *http.Server - - // certificate is a parsed version of the TLS config certificate, if present. - certificate *x509.Certificate - - // wg counts the number of outstanding HTTP requests on this server. - // Close blocks until all requests are finished. - wg sync.WaitGroup - - mu sync.Mutex // guards closed and conns - closed bool - conns map[net.Conn]http.ConnState // except terminal states - - // client is configured for use with the server. - // Its transport is automatically closed when Close is called. - client *http.Client -} - -func newLocalListener(serve string) net.Listener { - if serve != "" { - l, err := net.Listen("tcp", serve) - if err != nil { - panic(fmt.Sprintf("httptest: failed to listen on %v: %v", serve, err)) - } - return l - } - l, err := net.Listen("tcp", "127.0.0.1:0") - if err != nil { - if l, err = net.Listen("tcp6", "[::1]:0"); err != nil { - panic(fmt.Sprintf("httptest: failed to listen on a port: %v", err)) - } - } - return l -} - -// NewServer starts and returns a new Server. -// The caller should call Close when finished, to shut it down. -func NewServer(handler http.Handler) *Server { - ts := NewUnstartedServer(handler, "") - ts.Start() - return ts -} - -// NewUnstartedServer returns a new Server but doesn't start it. -// -// After changing its configuration, the caller should call Start or -// StartTLS. -// -// The caller should call Close when finished, to shut it down. -// serve allows the server's listen address to be specified. -func NewUnstartedServer(handler http.Handler, serve string) *Server { - return &Server{ - Listener: newLocalListener(serve), - Config: &http.Server{Handler: handler}, - } -} - -// Start starts a server from NewUnstartedServer. -func (s *Server) Start() { - if s.URL != "" { - panic("Server already started") - } - if s.client == nil { - s.client = &http.Client{Transport: &http.Transport{}} - } - s.URL = "http://" + s.Listener.Addr().String() - s.wrap() - s.goServe() -} - -// StartTLS starts TLS on a server from NewUnstartedServer. -func (s *Server) StartTLS() { - if s.URL != "" { - panic("Server already started") - } - if s.client == nil { - s.client = &http.Client{Transport: &http.Transport{}} - } - cert, err := tls.X509KeyPair(LocalhostCert, LocalhostKey) - if err != nil { - panic(fmt.Sprintf("httptest: NewTLSServer: %v", err)) - } - - existingConfig := s.TLS - if existingConfig != nil { - s.TLS = existingConfig.Clone() - } else { - s.TLS = new(tls.Config) - } - if s.TLS.NextProtos == nil { - s.TLS.NextProtos = []string{"http/1.1"} - } - if len(s.TLS.Certificates) == 0 { - s.TLS.Certificates = []tls.Certificate{cert} - } - s.certificate, err = x509.ParseCertificate(s.TLS.Certificates[0].Certificate[0]) - if err != nil { - panic(fmt.Sprintf("httptest: NewTLSServer: %v", err)) - } - certpool := x509.NewCertPool() - certpool.AddCert(s.certificate) - s.client.Transport = &http.Transport{ - TLSClientConfig: &tls.Config{ - RootCAs: certpool, - }, - } - s.Listener = tls.NewListener(s.Listener, s.TLS) - s.URL = "https://" + s.Listener.Addr().String() - s.wrap() - s.goServe() -} - -// NewTLSServer starts and returns a new Server using TLS. -// The caller should call Close when finished, to shut it down. -func NewTLSServer(handler http.Handler) *Server { - ts := NewUnstartedServer(handler, "") - ts.StartTLS() - return ts -} - -type closeIdleTransport interface { - CloseIdleConnections() -} - -// Close shuts down the server and blocks until all outstanding -// requests on this server have completed. -func (s *Server) Close() { - s.mu.Lock() - if !s.closed { - s.closed = true - s.Listener.Close() - s.Config.SetKeepAlivesEnabled(false) - for c, st := range s.conns { - // Force-close any idle connections (those between - // requests) and new connections (those which connected - // but never sent a request). StateNew connections are - // super rare and have only been seen (in - // previously-flaky tests) in the case of - // socket-late-binding races from the http Client - // dialing this server and then getting an idle - // connection before the dial completed. There is thus - // a connected connection in StateNew with no - // associated Request. We only close StateIdle and - // StateNew because they're not doing anything. It's - // possible StateNew is about to do something in a few - // milliseconds, but a previous CL to check again in a - // few milliseconds wasn't liked (early versions of - // https://golang.org/cl/15151) so now we just - // forcefully close StateNew. The docs for Server.Close say - // we wait for "outstanding requests", so we don't close things - // in StateActive. - if st == http.StateIdle || st == http.StateNew { - s.closeConn(c) - } - } - // If this server doesn't shut down in 5 seconds, tell the user why. - t := time.AfterFunc(5*time.Second, s.logCloseHangDebugInfo) - defer t.Stop() - } - s.mu.Unlock() - - // Not part of httptest.Server's correctness, but assume most - // users of httptest.Server will be using the standard - // transport, so help them out and close any idle connections for them. - if t, ok := http.DefaultTransport.(closeIdleTransport); ok { - t.CloseIdleConnections() - } - - // Also close the client idle connections. - if s.client != nil { - if t, ok := s.client.Transport.(closeIdleTransport); ok { - t.CloseIdleConnections() - } - } - - s.wg.Wait() -} - -func (s *Server) logCloseHangDebugInfo() { - s.mu.Lock() - defer s.mu.Unlock() - var buf strings.Builder - buf.WriteString("httptest.Server blocked in Close after 5 seconds, waiting for connections:\n") - for c, st := range s.conns { - fmt.Fprintf(&buf, " %T %p %v in state %v\n", c, c, c.RemoteAddr(), st) - } - log.Print(buf.String()) -} - -// CloseClientConnections closes any open HTTP connections to the test Server. -func (s *Server) CloseClientConnections() { - s.mu.Lock() - nconn := len(s.conns) - ch := make(chan struct{}, nconn) - for c := range s.conns { - go s.closeConnChan(c, ch) - } - s.mu.Unlock() - - // Wait for outstanding closes to finish. - // - // Out of paranoia for making a late change in Go 1.6, we - // bound how long this can wait, since golang.org/issue/14291 - // isn't fully understood yet. At least this should only be used - // in tests. - timer := time.NewTimer(5 * time.Second) - defer timer.Stop() - for i := 0; i < nconn; i++ { - select { - case <-ch: - case <-timer.C: - // Too slow. Give up. - return - } - } -} - -// Certificate returns the certificate used by the server, or nil if -// the server doesn't use TLS. -func (s *Server) Certificate() *x509.Certificate { - return s.certificate -} - -// Client returns an HTTP client configured for making requests to the server. -// It is configured to trust the server's TLS test certificate and will -// close its idle connections on Server.Close. -func (s *Server) Client() *http.Client { - return s.client -} - -func (s *Server) goServe() { - s.wg.Add(1) - go func() { - defer s.wg.Done() - s.Config.Serve(s.Listener) - }() -} - -// wrap installs the connection state-tracking hook to know which -// connections are idle. -func (s *Server) wrap() { - oldHook := s.Config.ConnState - s.Config.ConnState = func(c net.Conn, cs http.ConnState) { - s.mu.Lock() - defer s.mu.Unlock() - switch cs { - case http.StateNew: - s.wg.Add(1) - if _, exists := s.conns[c]; exists { - panic("invalid state transition") - } - if s.conns == nil { - s.conns = make(map[net.Conn]http.ConnState) - } - s.conns[c] = cs - if s.closed { - // Probably just a socket-late-binding dial from - // the default transport that lost the race (and - // thus this connection is now idle and will - // never be used). - s.closeConn(c) - } - case http.StateActive: - if oldState, ok := s.conns[c]; ok { - if oldState != http.StateNew && oldState != http.StateIdle { - panic("invalid state transition") - } - s.conns[c] = cs - } - case http.StateIdle: - if oldState, ok := s.conns[c]; ok { - if oldState != http.StateActive { - panic("invalid state transition") - } - s.conns[c] = cs - } - if s.closed { - s.closeConn(c) - } - case http.StateHijacked, http.StateClosed: - s.forgetConn(c) - } - if oldHook != nil { - oldHook(c, cs) - } - } -} - -// closeConn closes c. -// s.mu must be held. -func (s *Server) closeConn(c net.Conn) { s.closeConnChan(c, nil) } - -// closeConnChan is like closeConn, but takes an optional channel to receive a value -// when the goroutine closing c is done. -func (s *Server) closeConnChan(c net.Conn, done chan<- struct{}) { - c.Close() - if done != nil { - done <- struct{}{} - } -} - -// forgetConn removes c from the set of tracked conns and decrements it from the -// waitgroup, unless it was previously removed. -// s.mu must be held. -func (s *Server) forgetConn(c net.Conn) { - if _, ok := s.conns[c]; ok { - delete(s.conns, c) - s.wg.Done() - } -} diff --git a/vendor/github.com/vmware/govmomi/simulator/internal/testcert.go b/vendor/github.com/vmware/govmomi/simulator/internal/testcert.go deleted file mode 100644 index 3c8640e2cf5..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/internal/testcert.go +++ /dev/null @@ -1,76 +0,0 @@ -/* -Copyright (c) 2014-2022 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package internal - -// LocalhostCert is a PEM-encoded TLS cert with SAN IPs -// "127.0.0.1" and "[::1]", expiring at Jan 29 16:00:00 2084 GMT. -// generated from src/crypto/tls: -// go run generate_cert.go --rsa-bits 2048 --host 127.0.0.1,::1,example.com --ca --start-date "Jan 1 00:00:00 1970" --duration=1000000h -// -// Please note the certificate was updated to 2048 bits due to macOS now -// requiring RSA keys of at least 2048 bits. For more information, please see: -// https://developer.apple.com/documentation/security/preventing_insecure_network_connections -var LocalhostCert = []byte(`-----BEGIN CERTIFICATE----- -MIIDOjCCAiKgAwIBAgIRAK6d/JpGL75P2wOSYc6WalEwDQYJKoZIhvcNAQELBQAw -EjEQMA4GA1UEChMHQWNtZSBDbzAgFw03MDAxMDEwMDAwMDBaGA8yMDg0MDEyOTE2 -MDAwMFowEjEQMA4GA1UEChMHQWNtZSBDbzCCASIwDQYJKoZIhvcNAQEBBQADggEP -ADCCAQoCggEBAK9lInM4OAKI4z+wDNkvcZC6S6exFSOysp7NPJyaEAhW93kPY7gO -f6H5aP3V3YU0vYpCSnz/UhyDD+/knBof1J3Do7FVwYtC293vrtXffNtAvygfJodW -1dPllp17ZJbq76ei9oWq1Y5Hox/sVYmNVNztvBfK1mtpS8z8Qrk1LWCyLiDHkvDA -hCy2OjuaopxC6qQejdWT1PxwbqptuLVakQmecpiFrupy8DTG0x0rxxdMdAATywhY -Gm49A/FroagZ6HMz3bm39we/w6VIx3pX1lbUUyrfjvBgfUlRwxyZABBj2STGsOQJ -a451eEcESXcSEWzjGjUQ1Wf+zzxr2GAHmI8CAwEAAaOBiDCBhTAOBgNVHQ8BAf8E -BAMCAqQwEwYDVR0lBAwwCgYIKwYBBQUHAwEwDwYDVR0TAQH/BAUwAwEB/zAdBgNV -HQ4EFgQUjtR2VSuxchTxe0UNDVqWDNMR37AwLgYDVR0RBCcwJYILZXhhbXBsZS5j -b22HBH8AAAGHEAAAAAAAAAAAAAAAAAAAAAEwDQYJKoZIhvcNAQELBQADggEBACK7 -1L15IeYPiQHFDml3EgDoRnd/tAaZP9nUZIIPLRgUnQITNAtjFgBvqneQZwlQtco2 -s8YXSivBQiATlBEtGBzVxv36R4tTXldIgJxaCUxxZtqALLwyGqSaI/cwE0pWa6Z0 -Op2wkzUmoQ5rRrJfRM+C6HR/+lWkNtHRzaUFOSlxNJbPo53K53OoDriwEc1PvEYP -wFeUXwTzCZ68pAlWUmDKCyp+lPhjIt2Gznig+BSPCNJqmwKM76oFyywi3HIP56rD -/cwUtoplF68uVuD8HXb1ggGsqtGiAT4GLT8tU5w+BtK8ZIs/LK7mdi7W8aIOhUUH -l1lgeV3oEQue3A7SogA= ------END CERTIFICATE-----`) - -// LocalhostKey is the private key for localhostCert. -var LocalhostKey = []byte(`-----BEGIN PRIVATE KEY----- -MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCvZSJzODgCiOM/ -sAzZL3GQukunsRUjsrKezTycmhAIVvd5D2O4Dn+h+Wj91d2FNL2KQkp8/1Icgw/v -5JwaH9Sdw6OxVcGLQtvd767V33zbQL8oHyaHVtXT5Zade2SW6u+novaFqtWOR6Mf -7FWJjVTc7bwXytZraUvM/EK5NS1gsi4gx5LwwIQstjo7mqKcQuqkHo3Vk9T8cG6q -bbi1WpEJnnKYha7qcvA0xtMdK8cXTHQAE8sIWBpuPQPxa6GoGehzM925t/cHv8Ol -SMd6V9ZW1FMq347wYH1JUcMcmQAQY9kkxrDkCWuOdXhHBEl3EhFs4xo1ENVn/s88 -a9hgB5iPAgMBAAECggEAEpeS3knQThx6kk60HfWUgTXuPRldV0pi+shgq2z9VBT7 -6J5EAMewqdfJVFbuQ2eCy/wY70UVTCZscw51qaNEI3EQkgS4Hm345n64tr0Y/BjR -6ovaxq/ivLJyk8D3ubOvscJphWPFfW6EkSa5LnqHy197972tmvcvbMw0unMzmzM7 -DenXdoIJQu1SqLiLUiDXEfkvCReekqhe1jATCwTzIBTCnTWxgI4Ox2qsBaxuwrnl -D1GpWy4sh8NpDB0EBwdrjAOmLDOyvsy2X65DIlHS/k7901tvzyNjRrsr2Ig0sAz4 -w0ke6CUKQ2B+Pqn3p6bvxRYMP08+ZjlQpPuU4RrxGQKBgQDd3HCrZCgUJAGcfzYX -ZzSmSoxB9+sEuVUZGU+ICMPlG0Dd8aEkXIyDjGMWsLFMIvzNBf4wB1FwdLaCJu6y -0PbX3KVfg/Yc4lvYUuQ+1nD/3gm2hE46lZuSfbmExH5SQVLSbSQf9S/5BTHAWQO9 -PNie71AZ8fO5YDBM18tq2V7dBQKBgQDKYk1+Zup5p0BeRyCNnVYnpngO+pAZZmld -gYiRn8095QJ/Y+yV0kYc2+0+5f6St462E+PVH3tX1l9OG3ujVQnWfu2iSsRJRMUf -0blxqTWvqdcGi8SLpVjkrHn30scFNWmojhJv3k42H3nUMC1+WU3rp2f7+W58afyd -NY9x4sqzgwKBgQCoeMq9+3JLyQPIOPl0UBS06gsT1RUMI0gxpPy1yiInich6QRAi -snypMCPWiRo5PKBHd/OLuSLoiFhHARVliDTJum2B2I09Zc5kuJ1F8kUgpxUtGc7l -wdG/LeWAok1iXORtkh9KfT+Ok5kx/OZP/zJnjkZ/TTHMZPSIhZ2cZ7AXmQKBgHMP -HjWNtyKApsSytVwtpgyWxMznQMNgCOkjOoxoCJx2tUvNeHTY/glsM14+DdRFzTnQ -5weEhXAzrS1PzKPYNeafdOR+k0eAdH2Zk09+PspmyZusHIqz72zabeEqEQHyEubE -FtFI1rhIfs/WsBaUGQuvuhtz/I95BiguiiXaJRmXAoGADwcO6YXoWXga07gGRwZP -LYKwt5wBh13LAGbSsUyCSK5FG6ZrTmzaFdAGV1U4wc/wgiIgv33m8BG4Ikxvpa0r -Wg3dbhBx9Oya8QWIMBPk72KKEzsSDfi+Cn52ZmxTkWbBDCnkRhG77Ooi8vJ3dhq4 -fHeAu1F9OwF83SBi1oNySd8= ------END PRIVATE KEY-----`) diff --git a/vendor/github.com/vmware/govmomi/simulator/internal/types.go b/vendor/github.com/vmware/govmomi/simulator/internal/types.go deleted file mode 100644 index 8ba22088116..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/internal/types.go +++ /dev/null @@ -1,73 +0,0 @@ -/* -Copyright (c) 2014-2022 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package internal - -import ( - "reflect" - - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -// Minimal set of internal types and methods: -// - Fetch() - used by ovftool to collect various managed object properties -// - RetrieveInternalContent() - used by ovftool to obtain a reference to NfcService (which it does not use by default) - -func init() { - types.Add("Fetch", reflect.TypeOf((*Fetch)(nil)).Elem()) -} - -type Fetch struct { - This types.ManagedObjectReference `xml:"_this"` - Prop string `xml:"prop"` -} - -type FetchResponse struct { - Returnval types.AnyType `xml:"returnval,omitempty,typeattr"` -} - -type FetchBody struct { - Res *FetchResponse `xml:"FetchResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *FetchBody) Fault() *soap.Fault { return b.Fault_ } - -func init() { - types.Add("RetrieveInternalContent", reflect.TypeOf((*RetrieveInternalContent)(nil)).Elem()) -} - -type RetrieveInternalContent struct { - This types.ManagedObjectReference `xml:"_this"` -} - -type RetrieveInternalContentResponse struct { - Returnval InternalServiceInstanceContent `xml:"returnval"` -} - -type RetrieveInternalContentBody struct { - Res *RetrieveInternalContentResponse `xml:"RetrieveInternalContentResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RetrieveInternalContentBody) Fault() *soap.Fault { return b.Fault_ } - -type InternalServiceInstanceContent struct { - types.DynamicData - - NfcService types.ManagedObjectReference `xml:"nfcService"` -} diff --git a/vendor/github.com/vmware/govmomi/simulator/ip_pool_manager.go b/vendor/github.com/vmware/govmomi/simulator/ip_pool_manager.go deleted file mode 100644 index d8ef992a369..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/ip_pool_manager.go +++ /dev/null @@ -1,387 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "errors" - "fmt" - "net" - "strconv" - "strings" - - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -var ipPool = MustNewIpPool(&types.IpPool{ - Id: 1, - Name: "ip-pool", - AvailableIpv4Addresses: 250, - AvailableIpv6Addresses: 250, - AllocatedIpv6Addresses: 0, - AllocatedIpv4Addresses: 0, - Ipv4Config: &types.IpPoolIpPoolConfigInfo{ - Netmask: "10.10.10.255", - Gateway: "10.10.10.1", - SubnetAddress: "10.10.10.0", - Range: "10.10.10.2#250", - }, - Ipv6Config: &types.IpPoolIpPoolConfigInfo{ - Netmask: "2001:4860:0:2001::ff", - Gateway: "2001:4860:0:2001::1", - SubnetAddress: "2001:4860:0:2001::0", - Range: "2001:4860:0:2001::2#250", - }, -}) - -// IpPoolManager implements a simple IP Pool manager in which all pools are shared -// across different datacenters. -type IpPoolManager struct { - mo.IpPoolManager - - pools map[int32]*IpPool - nextPoolId int32 -} - -func (m *IpPoolManager) init(*Registry) { - m.pools = map[int32]*IpPool{ - 1: ipPool, - } - m.nextPoolId = 2 -} - -func (m *IpPoolManager) CreateIpPool(req *types.CreateIpPool) soap.HasFault { - body := &methods.CreateIpPoolBody{} - id := m.nextPoolId - - var err error - m.pools[id], err = NewIpPool(&req.Pool) - if err != nil { - body.Fault_ = Fault("", &types.RuntimeFault{}) - return body - } - - m.nextPoolId++ - - body.Res = &types.CreateIpPoolResponse{ - Returnval: id, - } - - return body -} - -func (m *IpPoolManager) DestroyIpPool(req *types.DestroyIpPool) soap.HasFault { - delete(m.pools, req.Id) - - return &methods.DestroyIpPoolBody{ - Res: &types.DestroyIpPoolResponse{}, - } -} - -func (m *IpPoolManager) QueryIpPools(req *types.QueryIpPools) soap.HasFault { - pools := []types.IpPool{} - - for i := int32(1); i < m.nextPoolId; i++ { - if p, ok := m.pools[i]; ok { - pools = append(pools, *p.config) - } - } - - return &methods.QueryIpPoolsBody{ - Res: &types.QueryIpPoolsResponse{ - Returnval: pools, - }, - } -} - -func (m *IpPoolManager) UpdateIpPool(req *types.UpdateIpPool) soap.HasFault { - body := &methods.UpdateIpPoolBody{} - - var pool *IpPool - var err error - var ok bool - - if pool, ok = m.pools[req.Pool.Id]; !ok { - body.Fault_ = Fault("", &types.NotFoundFault{}) - return body - } - - if pool.config.AllocatedIpv4Addresses+pool.config.AllocatedIpv6Addresses != 0 { - body.Fault_ = Fault("update a pool has been used is not supported", &types.RuntimeFault{}) - return body - } - - m.pools[req.Pool.Id], err = NewIpPool(&req.Pool) - if err != nil { - body.Fault_ = Fault(err.Error(), &types.RuntimeFault{}) - return body - } - - body.Res = &types.UpdateIpPoolResponse{} - - return body -} - -func (m *IpPoolManager) AllocateIpv4Address(req *types.AllocateIpv4Address) soap.HasFault { - body := &methods.AllocateIpv4AddressBody{} - - pool, ok := m.pools[req.PoolId] - if !ok { - body.Fault_ = Fault("", &types.InvalidArgument{}) - return body - } - - ip, err := pool.AllocateIPv4(req.AllocationId) - if err != nil { - body.Fault_ = Fault(err.Error(), &types.RuntimeFault{}) - return body - } - - body.Res = &types.AllocateIpv4AddressResponse{ - Returnval: ip, - } - - return body -} - -func (m *IpPoolManager) AllocateIpv6Address(req *types.AllocateIpv6Address) soap.HasFault { - body := &methods.AllocateIpv6AddressBody{} - - pool, ok := m.pools[req.PoolId] - if !ok { - body.Fault_ = Fault("", &types.InvalidArgument{}) - return body - } - - ip, err := pool.AllocateIpv6(req.AllocationId) - if err != nil { - body.Fault_ = Fault(err.Error(), &types.RuntimeFault{}) - return body - } - - body.Res = &types.AllocateIpv6AddressResponse{ - Returnval: ip, - } - - return body -} - -func (m *IpPoolManager) ReleaseIpAllocation(req *types.ReleaseIpAllocation) soap.HasFault { - body := &methods.ReleaseIpAllocationBody{} - - pool, ok := m.pools[req.PoolId] - if !ok { - body.Fault_ = Fault("", &types.InvalidArgument{}) - return body - } - - pool.ReleaseIpv4(req.AllocationId) - pool.ReleaseIpv6(req.AllocationId) - - body.Res = &types.ReleaseIpAllocationResponse{} - - return body -} - -func (m *IpPoolManager) QueryIPAllocations(req *types.QueryIPAllocations) soap.HasFault { - body := &methods.QueryIPAllocationsBody{} - - pool, ok := m.pools[req.PoolId] - if !ok { - body.Fault_ = Fault("", &types.InvalidArgument{}) - return body - } - - body.Res = &types.QueryIPAllocationsResponse{} - - ipv4, ok := pool.ipv4Allocation[req.ExtensionKey] - if ok { - body.Res.Returnval = append(body.Res.Returnval, types.IpPoolManagerIpAllocation{ - IpAddress: ipv4, - AllocationId: req.ExtensionKey, - }) - } - - ipv6, ok := pool.ipv6Allocation[req.ExtensionKey] - if ok { - body.Res.Returnval = append(body.Res.Returnval, types.IpPoolManagerIpAllocation{ - IpAddress: ipv6, - AllocationId: req.ExtensionKey, - }) - } - - return body -} - -var ( - errNoIpAvailable = errors.New("no ip address available") - errInvalidAllocation = errors.New("allocation id not recognized") -) - -type IpPool struct { - config *types.IpPool - ipv4Allocation map[string]string - ipv6Allocation map[string]string - ipv4Pool []string - ipv6Pool []string -} - -func MustNewIpPool(config *types.IpPool) *IpPool { - pool, err := NewIpPool(config) - if err != nil { - panic(err) - } - - return pool -} - -func NewIpPool(config *types.IpPool) (*IpPool, error) { - pool := &IpPool{ - config: config, - ipv4Allocation: make(map[string]string), - ipv6Allocation: make(map[string]string), - } - - return pool, pool.init() -} - -func (p *IpPool) init() error { - // IPv4 range - if p.config.Ipv4Config != nil { - ranges := strings.Split(p.config.Ipv4Config.Range, ",") - for _, r := range ranges { - sp := strings.Split(r, "#") - if len(sp) != 2 { - return fmt.Errorf("format of range should be ip#number; got %q", r) - } - - ip := net.ParseIP(strings.TrimSpace(sp[0])).To4() - if ip == nil { - return fmt.Errorf("bad ip format: %q", sp[0]) - } - - length, err := strconv.Atoi(sp[1]) - if err != nil { - return err - } - - for i := 0; i < length; i++ { - p.ipv4Pool = append(p.ipv4Pool, net.IPv4(ip[0], ip[1], ip[2], ip[3]+byte(i)).String()) - } - } - } - - // IPv6 range - if p.config.Ipv6Config != nil { - ranges := strings.Split(p.config.Ipv6Config.Range, ",") - for _, r := range ranges { - sp := strings.Split(r, "#") - if len(sp) != 2 { - return fmt.Errorf("format of range should be ip#number; got %q", r) - } - - ip := net.ParseIP(strings.TrimSpace(sp[0])).To16() - if ip == nil { - return fmt.Errorf("bad ip format: %q", sp[0]) - } - - length, err := strconv.Atoi(sp[1]) - if err != nil { - return err - } - - for i := 0; i < length; i++ { - var ipv6 [16]byte - copy(ipv6[:], ip) - ipv6[15] += byte(i) - p.ipv6Pool = append(p.ipv6Pool, net.IP(ipv6[:]).String()) - } - } - } - - return nil -} - -func (p *IpPool) AllocateIPv4(allocation string) (string, error) { - if ip, ok := p.ipv4Allocation[allocation]; ok { - return ip, nil - } - - l := len(p.ipv4Pool) - if l == 0 { - return "", errNoIpAvailable - } - - ip := p.ipv4Pool[l-1] - - p.config.AvailableIpv4Addresses-- - p.config.AllocatedIpv4Addresses++ - p.ipv4Pool = p.ipv4Pool[:l-1] - p.ipv4Allocation[allocation] = ip - - return ip, nil -} - -func (p *IpPool) ReleaseIpv4(allocation string) error { - ip, ok := p.ipv4Allocation[allocation] - if !ok { - return errInvalidAllocation - } - - delete(p.ipv4Allocation, allocation) - p.config.AvailableIpv4Addresses++ - p.config.AllocatedIpv4Addresses-- - p.ipv4Pool = append(p.ipv4Pool, ip) - - return nil -} - -func (p *IpPool) AllocateIpv6(allocation string) (string, error) { - if ip, ok := p.ipv6Allocation[allocation]; ok { - return ip, nil - } - - l := len(p.ipv6Pool) - if l == 0 { - return "", errNoIpAvailable - } - - ip := p.ipv6Pool[l-1] - - p.config.AvailableIpv6Addresses-- - p.config.AllocatedIpv6Addresses++ - p.ipv6Pool = p.ipv6Pool[:l-1] - p.ipv6Allocation[allocation] = ip - - return ip, nil -} - -func (p *IpPool) ReleaseIpv6(allocation string) error { - ip, ok := p.ipv6Allocation[allocation] - if !ok { - return errInvalidAllocation - } - - delete(p.ipv6Allocation, allocation) - p.config.AvailableIpv6Addresses++ - p.config.AllocatedIpv6Addresses-- - p.ipv6Pool = append(p.ipv6Pool, ip) - - return nil -} diff --git a/vendor/github.com/vmware/govmomi/simulator/license_manager.go b/vendor/github.com/vmware/govmomi/simulator/license_manager.go deleted file mode 100644 index 6097359663d..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/license_manager.go +++ /dev/null @@ -1,188 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ -// Copyright 2017 VMware, Inc. All Rights Reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -package simulator - -import ( - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -// EvalLicense is the default license -var EvalLicense = types.LicenseManagerLicenseInfo{ - LicenseKey: "00000-00000-00000-00000-00000", - EditionKey: "eval", - Name: "Evaluation Mode", - Properties: []types.KeyAnyValue{ - { - Key: "feature", - Value: types.KeyValue{ - Key: "serialuri:2", - Value: "Remote virtual Serial Port Concentrator", - }, - }, - { - Key: "feature", - Value: types.KeyValue{ - Key: "dvs", - Value: "vSphere Distributed Switch", - }, - }, - }, -} - -type LicenseManager struct { - mo.LicenseManager -} - -func (m *LicenseManager) init(r *Registry) { - m.Licenses = []types.LicenseManagerLicenseInfo{EvalLicense} - - if r.IsVPX() { - am := Map.Put(&LicenseAssignmentManager{}).Reference() - m.LicenseAssignmentManager = &am - } -} - -func (m *LicenseManager) AddLicense(req *types.AddLicense) soap.HasFault { - body := &methods.AddLicenseBody{ - Res: &types.AddLicenseResponse{}, - } - - for _, license := range m.Licenses { - if license.LicenseKey == req.LicenseKey { - body.Res.Returnval = licenseInfo(license.LicenseKey, license.Labels) - return body - } - } - - m.Licenses = append(m.Licenses, types.LicenseManagerLicenseInfo{ - LicenseKey: req.LicenseKey, - Labels: req.Labels, - }) - - body.Res.Returnval = licenseInfo(req.LicenseKey, req.Labels) - - return body -} - -func (m *LicenseManager) RemoveLicense(req *types.RemoveLicense) soap.HasFault { - body := &methods.RemoveLicenseBody{ - Res: &types.RemoveLicenseResponse{}, - } - - for i, license := range m.Licenses { - if req.LicenseKey == license.LicenseKey { - m.Licenses = append(m.Licenses[:i], m.Licenses[i+1:]...) - return body - } - } - return body -} - -func (m *LicenseManager) UpdateLicenseLabel(req *types.UpdateLicenseLabel) soap.HasFault { - body := &methods.UpdateLicenseLabelBody{} - - for i := range m.Licenses { - license := &m.Licenses[i] - - if req.LicenseKey != license.LicenseKey { - continue - } - - body.Res = new(types.UpdateLicenseLabelResponse) - - for j := range license.Labels { - label := &license.Labels[j] - - if label.Key == req.LabelKey { - if req.LabelValue == "" { - license.Labels = append(license.Labels[:i], license.Labels[i+1:]...) - } else { - label.Value = req.LabelValue - } - return body - } - } - - license.Labels = append(license.Labels, types.KeyValue{ - Key: req.LabelKey, - Value: req.LabelValue, - }) - - return body - } - - body.Fault_ = Fault("", &types.InvalidArgument{InvalidProperty: "licenseKey"}) - return body -} - -type LicenseAssignmentManager struct { - mo.LicenseAssignmentManager -} - -func (m *LicenseAssignmentManager) QueryAssignedLicenses(req *types.QueryAssignedLicenses) soap.HasFault { - body := &methods.QueryAssignedLicensesBody{ - Res: &types.QueryAssignedLicensesResponse{}, - } - - // EntityId can be a HostSystem or the vCenter InstanceUuid - if req.EntityId != "" { - if req.EntityId != Map.content().About.InstanceUuid { - id := types.ManagedObjectReference{ - Type: "HostSystem", - Value: req.EntityId, - } - - if Map.Get(id) == nil { - return body - } - } - } - - body.Res.Returnval = []types.LicenseAssignmentManagerLicenseAssignment{ - { - EntityId: req.EntityId, - AssignedLicense: EvalLicense, - }, - } - - return body -} - -func licenseInfo(key string, labels []types.KeyValue) types.LicenseManagerLicenseInfo { - info := EvalLicense - - info.LicenseKey = key - info.Labels = labels - - return info -} diff --git a/vendor/github.com/vmware/govmomi/simulator/model.go b/vendor/github.com/vmware/govmomi/simulator/model.go deleted file mode 100644 index 7d137dd2be4..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/model.go +++ /dev/null @@ -1,967 +0,0 @@ -/* -Copyright (c) 2017-2021 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "context" - "crypto/tls" - "fmt" - "io/ioutil" - "log" - "math/rand" - "os" - "path" - "path/filepath" - "reflect" - "strings" - "time" - - "github.com/google/uuid" - - "github.com/vmware/govmomi" - "github.com/vmware/govmomi/object" - "github.com/vmware/govmomi/simulator/esx" - "github.com/vmware/govmomi/simulator/vpx" - "github.com/vmware/govmomi/units" - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/types" - "github.com/vmware/govmomi/vim25/xml" -) - -type DelayConfig struct { - // Delay specifies the number of milliseconds to delay serving a SOAP call. 0 means no delay. - // This can be used to simulate a poorly performing vCenter or network lag. - Delay int - - // Delay specifies the number of milliseconds to delay serving a specific method. - // Each entry in the map represents the name of a method and its associated delay in milliseconds, - // This can be used to simulate a poorly performing vCenter or network lag. - MethodDelay map[string]int - - // DelayJitter defines the delay jitter as a coefficient of variation (stddev/mean). - // This can be used to simulate unpredictable delay. 0 means no jitter, i.e. all invocations get the same delay. - DelayJitter float64 -} - -// Model is used to populate a Model with an initial set of managed entities. -// This is a simple helper for tests running against a simulator, to populate an inventory -// with commonly used models. -// The inventory names generated by a Model have a string prefix per-type and integer suffix per-instance. -// The names are concatenated with their ancestor names and delimited by '_', making the generated names unique. -type Model struct { - Service *Service `json:"-"` - - ServiceContent types.ServiceContent `json:"-"` - RootFolder mo.Folder `json:"-"` - - // Autostart will power on Model created VMs when true - Autostart bool `json:"-"` - - // Datacenter specifies the number of Datacenter entities to create - // Name prefix: DC, vcsim flag: -dc - Datacenter int - - // Portgroup specifies the number of DistributedVirtualPortgroup entities to create per Datacenter - // Name prefix: DVPG, vcsim flag: -pg - Portgroup int - - // PortgroupNSX specifies the number NSX backed DistributedVirtualPortgroup entities to create per Datacenter - // Name prefix: NSXPG, vcsim flag: -nsx-pg - PortgroupNSX int - - // OpaqueNetwork specifies the number of OpaqueNetwork entities to create per Datacenter, - // with Summary.OpaqueNetworkType set to nsx.LogicalSwitch and Summary.OpaqueNetworkId to a random uuid. - // Name prefix: NSX, vcsim flag: -nsx - OpaqueNetwork int - - // Host specifies the number of standalone HostSystems entities to create per Datacenter - // Name prefix: H, vcsim flag: -standalone-host - Host int `json:",omitempty"` - - // Cluster specifies the number of ClusterComputeResource entities to create per Datacenter - // Name prefix: C, vcsim flag: -cluster - Cluster int - - // ClusterHost specifies the number of HostSystems entities to create within a Cluster - // Name prefix: H, vcsim flag: -host - ClusterHost int `json:",omitempty"` - - // Pool specifies the number of ResourcePool entities to create per Cluster - // Note that every cluster has a root ResourcePool named "Resources", as real vCenter does. - // For example: /DC0/host/DC0_C0/Resources - // The root ResourcePool is named "RP0" within other object names. - // When Model.Pool is set to 1 or higher, this creates child ResourcePools under the root pool. - // Note that this flag is not effective on standalone hosts. - // For example: /DC0/host/DC0_C0/Resources/DC0_C0_RP1 - // Name prefix: RP, vcsim flag: -pool - Pool int - - // Datastore specifies the number of Datastore entities to create - // Each Datastore will have temporary local file storage and will be mounted - // on every HostSystem created by the ModelConfig - // Name prefix: LocalDS, vcsim flag: -ds - Datastore int - - // Machine specifies the number of VirtualMachine entities to create per - // ResourcePool. If the pool flag is specified, the specified number of virtual - // machines will be deployed to each child pool and prefixed with the child - // resource pool name. Otherwise they are deployed into the root resource pool, - // prefixed with RP0. On standalone hosts, machines are always deployed into the - // root resource pool without any prefix. - // Name prefix: VM, vcsim flag: -vm - Machine int - - // Folder specifies the number of Datacenter to place within a Folder. - // This includes a folder for the Datacenter itself and its host, vm, network and datastore folders. - // All resources for the Datacenter are placed within these folders, rather than the top-level folders. - // Name prefix: F, vcsim flag: -folder - Folder int - - // App specifies the number of VirtualApp to create per Cluster - // Name prefix: APP, vcsim flag: -app - App int - - // Pod specifies the number of StoragePod to create per Cluster - // Name prefix: POD, vcsim flag: -pod - Pod int - - // Delay configurations - DelayConfig DelayConfig `json:"-"` - - // total number of inventory objects, set by Count() - total int - - dirs []string -} - -// ESX is the default Model for a standalone ESX instance -func ESX() *Model { - return &Model{ - ServiceContent: esx.ServiceContent, - RootFolder: esx.RootFolder, - Autostart: true, - Datastore: 1, - Machine: 2, - DelayConfig: DelayConfig{ - Delay: 0, - DelayJitter: 0, - MethodDelay: nil, - }, - } -} - -// VPX is the default Model for a vCenter instance -func VPX() *Model { - return &Model{ - ServiceContent: vpx.ServiceContent, - RootFolder: vpx.RootFolder, - Autostart: true, - Datacenter: 1, - Portgroup: 1, - Host: 1, - Cluster: 1, - ClusterHost: 3, - Datastore: 1, - Machine: 2, - DelayConfig: DelayConfig{ - Delay: 0, - DelayJitter: 0, - MethodDelay: nil, - }, - } -} - -// Count returns a Model with total number of each existing type -func (m *Model) Count() Model { - count := Model{} - - for ref, obj := range Map.objects { - if _, ok := obj.(mo.Entity); !ok { - continue - } - - count.total++ - - switch ref.Type { - case "Datacenter": - count.Datacenter++ - case "DistributedVirtualPortgroup": - count.Portgroup++ - case "ClusterComputeResource": - count.Cluster++ - case "Datastore": - count.Datastore++ - case "HostSystem": - count.Host++ - case "VirtualMachine": - count.Machine++ - case "ResourcePool": - count.Pool++ - case "VirtualApp": - count.App++ - case "Folder": - count.Folder++ - case "StoragePod": - count.Pod++ - case "OpaqueNetwork": - count.OpaqueNetwork++ - } - } - - return count -} - -func (*Model) fmtName(prefix string, num int) string { - return fmt.Sprintf("%s%d", prefix, num) -} - -// kinds maps managed object types to their vcsim wrapper types -var kinds = map[string]reflect.Type{ - "AuthorizationManager": reflect.TypeOf((*AuthorizationManager)(nil)).Elem(), - "ClusterComputeResource": reflect.TypeOf((*ClusterComputeResource)(nil)).Elem(), - "CustomFieldsManager": reflect.TypeOf((*CustomFieldsManager)(nil)).Elem(), - "CustomizationSpecManager": reflect.TypeOf((*CustomizationSpecManager)(nil)).Elem(), - "Datacenter": reflect.TypeOf((*Datacenter)(nil)).Elem(), - "Datastore": reflect.TypeOf((*Datastore)(nil)).Elem(), - "DistributedVirtualPortgroup": reflect.TypeOf((*DistributedVirtualPortgroup)(nil)).Elem(), - "DistributedVirtualSwitch": reflect.TypeOf((*DistributedVirtualSwitch)(nil)).Elem(), - "DistributedVirtualSwitchManager": reflect.TypeOf((*DistributedVirtualSwitchManager)(nil)).Elem(), - "EnvironmentBrowser": reflect.TypeOf((*EnvironmentBrowser)(nil)).Elem(), - "EventManager": reflect.TypeOf((*EventManager)(nil)).Elem(), - "FileManager": reflect.TypeOf((*FileManager)(nil)).Elem(), - "Folder": reflect.TypeOf((*Folder)(nil)).Elem(), - "GuestOperationsManager": reflect.TypeOf((*GuestOperationsManager)(nil)).Elem(), - "HostDatastoreBrowser": reflect.TypeOf((*HostDatastoreBrowser)(nil)).Elem(), - "HostLocalAccountManager": reflect.TypeOf((*HostLocalAccountManager)(nil)).Elem(), - "HostNetworkSystem": reflect.TypeOf((*HostNetworkSystem)(nil)).Elem(), - "HostSystem": reflect.TypeOf((*HostSystem)(nil)).Elem(), - "IpPoolManager": reflect.TypeOf((*IpPoolManager)(nil)).Elem(), - "LicenseManager": reflect.TypeOf((*LicenseManager)(nil)).Elem(), - "OptionManager": reflect.TypeOf((*OptionManager)(nil)).Elem(), - "OvfManager": reflect.TypeOf((*OvfManager)(nil)).Elem(), - "PerformanceManager": reflect.TypeOf((*PerformanceManager)(nil)).Elem(), - "PropertyCollector": reflect.TypeOf((*PropertyCollector)(nil)).Elem(), - "ResourcePool": reflect.TypeOf((*ResourcePool)(nil)).Elem(), - "SearchIndex": reflect.TypeOf((*SearchIndex)(nil)).Elem(), - "SessionManager": reflect.TypeOf((*SessionManager)(nil)).Elem(), - "StoragePod": reflect.TypeOf((*StoragePod)(nil)).Elem(), - "StorageResourceManager": reflect.TypeOf((*StorageResourceManager)(nil)).Elem(), - "TaskManager": reflect.TypeOf((*TaskManager)(nil)).Elem(), - "TenantTenantManager": reflect.TypeOf((*TenantManager)(nil)).Elem(), - "UserDirectory": reflect.TypeOf((*UserDirectory)(nil)).Elem(), - "VcenterVStorageObjectManager": reflect.TypeOf((*VcenterVStorageObjectManager)(nil)).Elem(), - "ViewManager": reflect.TypeOf((*ViewManager)(nil)).Elem(), - "VirtualApp": reflect.TypeOf((*VirtualApp)(nil)).Elem(), - "VirtualDiskManager": reflect.TypeOf((*VirtualDiskManager)(nil)).Elem(), - "VirtualMachine": reflect.TypeOf((*VirtualMachine)(nil)).Elem(), - "VmwareDistributedVirtualSwitch": reflect.TypeOf((*DistributedVirtualSwitch)(nil)).Elem(), -} - -func loadObject(content types.ObjectContent) (mo.Reference, error) { - var obj mo.Reference - id := content.Obj - - kind, ok := kinds[id.Type] - if ok { - obj = reflect.New(kind).Interface().(mo.Reference) - } - - if obj == nil { - // No vcsim wrapper for this type, e.g. IoFilterManager - x, err := mo.ObjectContentToType(content, true) - if err != nil { - return nil, err - } - obj = x.(mo.Reference) - } else { - if len(content.PropSet) == 0 { - // via NewServiceInstance() - Map.setReference(obj, id) - } else { - // via Model.Load() - dst := getManagedObject(obj).Addr().Interface().(mo.Reference) - err := mo.LoadObjectContent([]types.ObjectContent{content}, dst) - if err != nil { - return nil, err - } - } - - if x, ok := obj.(interface{ init(*Registry) }); ok { - x.init(Map) - } - } - - return obj, nil -} - -// resolveReferences attempts to resolve any object references that were not included via Load() -// example: Load's dir only contains a single OpaqueNetwork, we need to create a Datacenter and -// place the OpaqueNetwork in the Datacenter's network folder. -func (m *Model) resolveReferences(ctx *Context) error { - dc, ok := ctx.Map.Any("Datacenter").(*Datacenter) - if !ok { - // Need to have at least 1 Datacenter - root := ctx.Map.Get(ctx.Map.content().RootFolder).(*Folder) - ref := root.CreateDatacenter(ctx, &types.CreateDatacenter{ - This: root.Self, - Name: "DC0", - }).(*methods.CreateDatacenterBody).Res.Returnval - dc = ctx.Map.Get(ref).(*Datacenter) - } - - for ref, val := range ctx.Map.objects { - me, ok := val.(mo.Entity) - if !ok { - continue - } - e := me.Entity() - if e.Parent == nil || ref.Type == "Folder" { - continue - } - if ctx.Map.Get(*e.Parent) == nil { - // object was loaded without its parent, attempt to foster with another parent - switch e.Parent.Type { - case "Folder": - folder := dc.folder(me) - e.Parent = &folder.Self - log.Printf("%s adopted %s", e.Parent, ref) - folderPutChild(ctx, folder, me) - default: - return fmt.Errorf("unable to foster %s with parent type=%s", ref, e.Parent.Type) - } - } - // TODO: resolve any remaining orphan references via mo.References() - } - - return nil -} - -func (m *Model) decode(path string, data interface{}) error { - f, err := os.Open(path) - if err != nil { - return err - } - - dec := xml.NewDecoder(f) - dec.TypeFunc = types.TypeFunc() - err = dec.Decode(data) - _ = f.Close() - return err -} - -func (m *Model) loadMethod(obj mo.Reference, dir string) error { - dir = filepath.Join(dir, obj.Reference().Encode()) - - info, err := ioutil.ReadDir(dir) - if err != nil { - if os.IsNotExist(err) { - return nil - } - return err - } - - zero := reflect.Value{} - for _, x := range info { - name := strings.TrimSuffix(x.Name(), ".xml") + "Response" - path := filepath.Join(dir, x.Name()) - response := reflect.ValueOf(obj).Elem().FieldByName(name) - if response == zero { - return fmt.Errorf("field %T.%s not found", obj, name) - } - if err = m.decode(path, response.Addr().Interface()); err != nil { - return err - } - } - - return nil -} - -// When simulator code needs to call other simulator code, it typically passes whatever -// context is associated with the request it's servicing. -// Model code isn't servicing a request, but still needs a context, so we spoof -// one for the purposes of calling simulator code. -// Test code also tends to do this. -func SpoofContext() *Context { - return &Context{ - Context: context.Background(), - Session: &Session{ - UserSession: types.UserSession{ - Key: uuid.New().String(), - }, - Registry: NewRegistry(), - }, - Map: Map, - } -} - -// Load Model from the given directory, as created by the 'govc object.save' command. -func (m *Model) Load(dir string) error { - ctx := SpoofContext() - var s *ServiceInstance - - err := filepath.Walk(dir, func(path string, info os.FileInfo, err error) error { - if err != nil { - return err - } - if info.IsDir() { - if path == dir { - return nil - } - return filepath.SkipDir - } - if filepath.Ext(path) != ".xml" { - return nil - } - - var content types.ObjectContent - err = m.decode(path, &content) - if err != nil { - return err - } - - if content.Obj == vim25.ServiceInstance { - s = new(ServiceInstance) - s.Self = content.Obj - Map = NewRegistry() - ctx.Map = Map - ctx.Map.Put(s) - return mo.LoadObjectContent([]types.ObjectContent{content}, &s.ServiceInstance) - } - - if s == nil { - s = NewServiceInstance(ctx, m.ServiceContent, m.RootFolder) - ctx.Map = Map - } - - obj, err := loadObject(content) - if err != nil { - return err - } - - if x, ok := obj.(interface{ model(*Model) error }); ok { - if err = x.model(m); err != nil { - return err - } - } - - return m.loadMethod(ctx.Map.Put(obj), dir) - }) - - if err != nil { - return err - } - - m.Service = New(s) - - return m.resolveReferences(ctx) -} - -// Create populates the Model with the given ModelConfig -func (m *Model) Create() error { - ctx := SpoofContext() - m.Service = New(NewServiceInstance(ctx, m.ServiceContent, m.RootFolder)) - ctx.Map = Map - - client := m.Service.client - root := object.NewRootFolder(client) - - // After all hosts are created, this var is used to mount the host datastores. - var hosts []*object.HostSystem - hostMap := make(map[string][]*object.HostSystem) - - // We need to defer VM creation until after the datastores are created. - var vms []func() error - // 1 DVS per DC, added to all hosts - var dvs *object.DistributedVirtualSwitch - // 1 NIC per VM, backed by a DVPG if Model.Portgroup > 0 - vmnet := esx.EthernetCard.Backing - - // addHost adds a cluster host or a stanalone host. - addHost := func(name string, f func(types.HostConnectSpec) (*object.Task, error)) (*object.HostSystem, error) { - spec := types.HostConnectSpec{ - HostName: name, - } - - task, err := f(spec) - if err != nil { - return nil, err - } - - info, err := task.WaitForResult(context.Background(), nil) - if err != nil { - return nil, err - } - - host := object.NewHostSystem(client, info.Result.(types.ManagedObjectReference)) - hosts = append(hosts, host) - - if dvs != nil { - config := &types.DVSConfigSpec{ - Host: []types.DistributedVirtualSwitchHostMemberConfigSpec{{ - Operation: string(types.ConfigSpecOperationAdd), - Host: host.Reference(), - }}, - } - - task, _ = dvs.Reconfigure(ctx, config) - _, _ = task.WaitForResult(context.Background(), nil) - } - - return host, nil - } - - // addMachine returns a func to create a VM. - addMachine := func(prefix string, host *object.HostSystem, pool *object.ResourcePool, folders *object.DatacenterFolders) { - nic := esx.EthernetCard - nic.Backing = vmnet - ds := types.ManagedObjectReference{} - - f := func() error { - for i := 0; i < m.Machine; i++ { - name := m.fmtName(prefix+"_VM", i) - - config := types.VirtualMachineConfigSpec{ - Name: name, - GuestId: string(types.VirtualMachineGuestOsIdentifierOtherGuest), - Files: &types.VirtualMachineFileInfo{ - VmPathName: "[LocalDS_0]", - }, - } - - if pool == nil { - pool, _ = host.ResourcePool(ctx) - } - - var devices object.VirtualDeviceList - - scsi, _ := devices.CreateSCSIController("pvscsi") - ide, _ := devices.CreateIDEController() - cdrom, _ := devices.CreateCdrom(ide.(*types.VirtualIDEController)) - disk := devices.CreateDisk(scsi.(types.BaseVirtualController), ds, - config.Files.VmPathName+" "+path.Join(name, "disk1.vmdk")) - disk.CapacityInKB = int64(units.GB*10) / units.KB - disk.StorageIOAllocation = &types.StorageIOAllocationInfo{Limit: types.NewInt64(-1)} - - devices = append(devices, scsi, cdrom, disk, &nic) - - config.DeviceChange, _ = devices.ConfigSpec(types.VirtualDeviceConfigSpecOperationAdd) - - task, err := folders.VmFolder.CreateVM(ctx, config, pool, host) - if err != nil { - return err - } - - info, err := task.WaitForResult(ctx, nil) - if err != nil { - return err - } - - vm := object.NewVirtualMachine(client, info.Result.(types.ManagedObjectReference)) - - if m.Autostart { - task, _ = vm.PowerOn(ctx) - _, _ = task.WaitForResult(ctx, nil) - } - } - - return nil - } - - vms = append(vms, f) - } - - nfolder := 0 - - for ndc := 0; ndc < m.Datacenter; ndc++ { - dcName := m.fmtName("DC", ndc) - folder := root - fName := m.fmtName("F", nfolder) - - // If Datacenter > Folder, don't create folders for the first N DCs. - if nfolder < m.Folder && ndc >= (m.Datacenter-m.Folder) { - f, err := folder.CreateFolder(ctx, fName) - if err != nil { - return err - } - folder = f - } - - dc, err := folder.CreateDatacenter(ctx, dcName) - if err != nil { - return err - } - - folders, err := dc.Folders(ctx) - if err != nil { - return err - } - - if m.Pod > 0 { - for pod := 0; pod < m.Pod; pod++ { - _, _ = folders.DatastoreFolder.CreateStoragePod(ctx, m.fmtName(dcName+"_POD", pod)) - } - } - - if folder != root { - // Create sub-folders and use them to create any resources that follow - subs := []**object.Folder{&folders.DatastoreFolder, &folders.HostFolder, &folders.NetworkFolder, &folders.VmFolder} - - for _, sub := range subs { - f, err := (*sub).CreateFolder(ctx, fName) - if err != nil { - return err - } - - *sub = f - } - - nfolder++ - } - - if m.Portgroup > 0 || m.PortgroupNSX > 0 { - var spec types.DVSCreateSpec - spec.ConfigSpec = &types.VMwareDVSConfigSpec{} - spec.ConfigSpec.GetDVSConfigSpec().Name = m.fmtName("DVS", 0) - - task, err := folders.NetworkFolder.CreateDVS(ctx, spec) - if err != nil { - return err - } - - info, err := task.WaitForResult(ctx, nil) - if err != nil { - return err - } - - dvs = object.NewDistributedVirtualSwitch(client, info.Result.(types.ManagedObjectReference)) - } - - for npg := 0; npg < m.Portgroup; npg++ { - name := m.fmtName(dcName+"_DVPG", npg) - spec := types.DVPortgroupConfigSpec{ - Name: name, - Type: string(types.DistributedVirtualPortgroupPortgroupTypeEarlyBinding), - NumPorts: 1, - } - - task, err := dvs.AddPortgroup(ctx, []types.DVPortgroupConfigSpec{spec}) - if err != nil { - return err - } - if err = task.Wait(ctx); err != nil { - return err - } - - // Use the 1st DVPG for the VMs eth0 backing - if npg == 0 { - // AddPortgroup_Task does not return the moid, so we look it up by name - net := ctx.Map.Get(folders.NetworkFolder.Reference()).(*Folder) - pg := ctx.Map.FindByName(name, net.ChildEntity) - - vmnet, _ = object.NewDistributedVirtualPortgroup(client, pg.Reference()).EthernetCardBackingInfo(ctx) - } - } - - for npg := 0; npg < m.PortgroupNSX; npg++ { - name := m.fmtName(dcName+"_NSXPG", npg) - spec := types.DVPortgroupConfigSpec{ - Name: name, - Type: string(types.DistributedVirtualPortgroupPortgroupTypeEarlyBinding), - BackingType: string(types.DistributedVirtualPortgroupBackingTypeNsx), - } - - task, err := dvs.AddPortgroup(ctx, []types.DVPortgroupConfigSpec{spec}) - if err != nil { - return err - } - if err = task.Wait(ctx); err != nil { - return err - } - } - - // Must use simulator methods directly for OpaqueNetwork - networkFolder := ctx.Map.Get(folders.NetworkFolder.Reference()).(*Folder) - - for i := 0; i < m.OpaqueNetwork; i++ { - var summary types.OpaqueNetworkSummary - summary.Name = m.fmtName(dcName+"_NSX", i) - err := networkFolder.AddOpaqueNetwork(ctx, summary) - if err != nil { - return err - } - } - - for nhost := 0; nhost < m.Host; nhost++ { - name := m.fmtName(dcName+"_H", nhost) - - host, err := addHost(name, func(spec types.HostConnectSpec) (*object.Task, error) { - return folders.HostFolder.AddStandaloneHost(ctx, spec, true, nil, nil) - }) - if err != nil { - return err - } - - addMachine(name, host, nil, folders) - } - - for ncluster := 0; ncluster < m.Cluster; ncluster++ { - clusterName := m.fmtName(dcName+"_C", ncluster) - - cluster, err := folders.HostFolder.CreateCluster(ctx, clusterName, types.ClusterConfigSpecEx{}) - if err != nil { - return err - } - - for nhost := 0; nhost < m.ClusterHost; nhost++ { - name := m.fmtName(clusterName+"_H", nhost) - - _, err = addHost(name, func(spec types.HostConnectSpec) (*object.Task, error) { - return cluster.AddHost(ctx, spec, true, nil, nil) - }) - if err != nil { - return err - } - } - - rootRP, err := cluster.ResourcePool(ctx) - if err != nil { - return err - } - - prefix := clusterName + "_RP" - - // put VMs in cluster RP if no child RP(s) configured - if m.Pool == 0 { - addMachine(prefix+"0", nil, rootRP, folders) - } - - // create child RP(s) with VMs - for childRP := 1; childRP <= m.Pool; childRP++ { - spec := types.DefaultResourceConfigSpec() - - p, err := rootRP.Create(ctx, m.fmtName(prefix, childRP), spec) - addMachine(m.fmtName(prefix, childRP), nil, p, folders) - if err != nil { - return err - } - } - - prefix = clusterName + "_APP" - - for napp := 0; napp < m.App; napp++ { - rspec := types.DefaultResourceConfigSpec() - vspec := NewVAppConfigSpec() - name := m.fmtName(prefix, napp) - - vapp, err := rootRP.CreateVApp(ctx, name, rspec, vspec, nil) - if err != nil { - return err - } - - addMachine(name, nil, vapp.ResourcePool, folders) - } - } - - hostMap[dcName] = hosts - hosts = nil - } - - if m.ServiceContent.RootFolder == esx.RootFolder.Reference() { - // ESX model - host := object.NewHostSystem(client, esx.HostSystem.Reference()) - - dc := object.NewDatacenter(client, esx.Datacenter.Reference()) - folders, err := dc.Folders(ctx) - if err != nil { - return err - } - - hostMap[dc.Reference().Value] = append(hosts, host) - - addMachine(host.Reference().Value, host, nil, folders) - } - - for dc, dchosts := range hostMap { - for i := 0; i < m.Datastore; i++ { - err := m.createLocalDatastore(dc, m.fmtName("LocalDS_", i), dchosts) - if err != nil { - return err - } - } - } - - for _, createVM := range vms { - err := createVM() - if err != nil { - return err - } - } - - // Turn on delay AFTER we're done building the service content - m.Service.delay = &m.DelayConfig - - return nil -} - -func (m *Model) createTempDir(dc string, name string) (string, error) { - dir, err := ioutil.TempDir("", fmt.Sprintf("govcsim-%s-%s-", dc, name)) - if err == nil { - m.dirs = append(m.dirs, dir) - } - return dir, err -} - -func (m *Model) createLocalDatastore(dc string, name string, hosts []*object.HostSystem) error { - ctx := context.Background() - dir, err := m.createTempDir(dc, name) - if err != nil { - return err - } - - for _, host := range hosts { - dss, err := host.ConfigManager().DatastoreSystem(ctx) - if err != nil { - return err - } - - _, err = dss.CreateLocalDatastore(ctx, name, dir) - if err != nil { - return err - } - } - - return nil -} - -// Remove cleans up items created by the Model, such as local datastore directories -func (m *Model) Remove() { - // Remove associated vm containers, if any - Map.m.Lock() - for _, obj := range Map.objects { - if vm, ok := obj.(*VirtualMachine); ok { - vm.run.remove(vm) - } - } - Map.m.Unlock() - - for _, dir := range m.dirs { - _ = os.RemoveAll(dir) - } -} - -// Run calls f with a Client connected to a simulator server instance, which is stopped after f returns. -func (m *Model) Run(f func(context.Context, *vim25.Client) error) error { - ctx := context.Background() - - defer m.Remove() - - if m.Service == nil { - err := m.Create() - if err != nil { - return err - } - } - - m.Service.TLS = new(tls.Config) - m.Service.RegisterEndpoints = true - - s := m.Service.NewServer() - defer s.Close() - - c, err := govmomi.NewClient(ctx, s.URL, true) - if err != nil { - return err - } - - defer c.Logout(ctx) - - return f(ctx, c.Client) -} - -// Run calls Model.Run for each model and will panic if f returns an error. -// If no model is specified, the VPX Model is used by default. -func Run(f func(context.Context, *vim25.Client) error, model ...*Model) { - m := model - if len(m) == 0 { - m = []*Model{VPX()} - } - - for i := range m { - err := m[i].Run(f) - if err != nil { - panic(err) - } - } -} - -// Test calls Run and expects the caller propagate any errors, via testing.T for example. -func Test(f func(context.Context, *vim25.Client), model ...*Model) { - Run(func(ctx context.Context, c *vim25.Client) error { - f(ctx, c) - return nil - }, model...) -} - -// RunContainer runs a vm container with the given args -func RunContainer(ctx context.Context, c *vim25.Client, vm mo.Reference, args string) error { - obj, ok := vm.(*object.VirtualMachine) - if !ok { - obj = object.NewVirtualMachine(c, vm.Reference()) - } - - task, err := obj.PowerOff(ctx) - if err != nil { - return err - } - _ = task.Wait(ctx) // ignore InvalidPowerState if already off - - task, err = obj.Reconfigure(ctx, types.VirtualMachineConfigSpec{ - ExtraConfig: []types.BaseOptionValue{&types.OptionValue{Key: "RUN.container", Value: args}}, - }) - if err != nil { - return err - } - if err = task.Wait(ctx); err != nil { - return err - } - - task, err = obj.PowerOn(ctx) - if err != nil { - return err - } - return task.Wait(ctx) -} - -// delay sleeps according to DelayConfig. If no delay specified, returns immediately. -func (dc *DelayConfig) delay(method string) { - d := 0 - if dc.Delay > 0 { - d = dc.Delay - } - if md, ok := dc.MethodDelay[method]; ok { - d += md - } - if dc.DelayJitter > 0 { - d += int(rand.NormFloat64() * dc.DelayJitter * float64(d)) - } - if d > 0 { - //fmt.Printf("Delaying method %s %d ms\n", method, d) - time.Sleep(time.Duration(d) * time.Millisecond) - } -} diff --git a/vendor/github.com/vmware/govmomi/simulator/object.go b/vendor/github.com/vmware/govmomi/simulator/object.go deleted file mode 100644 index b08be515f74..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/object.go +++ /dev/null @@ -1,80 +0,0 @@ -/* -Copyright (c) 2017-2018 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "bytes" - - "github.com/google/uuid" - - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" - "github.com/vmware/govmomi/vim25/xml" -) - -func SetCustomValue(ctx *Context, req *types.SetCustomValue) soap.HasFault { - body := &methods.SetCustomValueBody{} - - cfm := Map.CustomFieldsManager() - - _, field := cfm.findByNameType(req.Key, req.This.Type) - if field == nil { - body.Fault_ = Fault("", &types.InvalidArgument{InvalidProperty: "key"}) - return body - } - - res := cfm.SetField(ctx, &types.SetField{ - This: cfm.Reference(), - Entity: req.This, - Key: field.Key, - Value: req.Value, - }) - - if res.Fault() != nil { - body.Fault_ = res.Fault() - return body - } - - body.Res = &types.SetCustomValueResponse{} - return body -} - -// newUUID returns a stable UUID string based on input s -func newUUID(s string) string { - return sha1UUID(s).String() -} - -// sha1UUID returns a stable UUID based on input s -func sha1UUID(s string) uuid.UUID { - return uuid.NewSHA1(uuid.NameSpaceOID, []byte(s)) -} - -// deepCopy uses xml encode/decode to copy src to dst -func deepCopy(src, dst interface{}) { - b, err := xml.Marshal(src) - if err != nil { - panic(err) - } - - dec := xml.NewDecoder(bytes.NewReader(b)) - dec.TypeFunc = types.TypeFunc() - err = dec.Decode(dst) - if err != nil { - panic(err) - } -} diff --git a/vendor/github.com/vmware/govmomi/simulator/option_manager.go b/vendor/github.com/vmware/govmomi/simulator/option_manager.go deleted file mode 100644 index efcdee2153e..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/option_manager.go +++ /dev/null @@ -1,110 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "strings" - - "github.com/vmware/govmomi/object" - "github.com/vmware/govmomi/simulator/esx" - "github.com/vmware/govmomi/simulator/vpx" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -type OptionManager struct { - mo.OptionManager -} - -func NewOptionManager(ref *types.ManagedObjectReference, setting []types.BaseOptionValue) object.Reference { - s := &OptionManager{} - if ref != nil { - s.Self = *ref - } - s.Setting = setting - return s -} - -func (m *OptionManager) init(r *Registry) { - if len(m.Setting) == 0 { - if r.IsVPX() { - m.Setting = vpx.Setting - } else { - m.Setting = esx.Setting - } - } -} - -func (m *OptionManager) QueryOptions(req *types.QueryOptions) soap.HasFault { - body := &methods.QueryOptionsBody{} - res := &types.QueryOptionsResponse{} - - for _, opt := range m.Setting { - if strings.HasPrefix(opt.GetOptionValue().Key, req.Name) { - res.Returnval = append(res.Returnval, opt) - } - } - - if len(res.Returnval) == 0 { - body.Fault_ = Fault("", &types.InvalidName{Name: req.Name}) - } else { - body.Res = res - } - - return body -} - -func (m *OptionManager) find(key string) *types.OptionValue { - for _, opt := range m.Setting { - setting := opt.GetOptionValue() - if setting.Key == key { - return setting - } - } - return nil -} - -func (m *OptionManager) UpdateOptions(req *types.UpdateOptions) soap.HasFault { - body := new(methods.UpdateOptionsBody) - - for _, change := range req.ChangedValue { - setting := change.GetOptionValue() - - // We don't currently include the entire list of default settings for ESX and vCenter, - // this prefix is currently used to test the failure path. - // Real vCenter seems to only allow new options if Key has a "config." prefix. - // TODO: consider behaving the same, which would require including 2 long lists of options in vpx.Setting and esx.Setting - if strings.HasPrefix(setting.Key, "ENOENT.") { - body.Fault_ = Fault("", &types.InvalidName{Name: setting.Key}) - return body - } - - opt := m.find(setting.Key) - if opt != nil { - // This is an existing option. - opt.Value = setting.Value - continue - } - - m.Setting = append(m.Setting, change) - } - - body.Res = new(types.UpdateOptionsResponse) - return body -} diff --git a/vendor/github.com/vmware/govmomi/simulator/ovf_manager.go b/vendor/github.com/vmware/govmomi/simulator/ovf_manager.go deleted file mode 100644 index 1540b4038e6..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/ovf_manager.go +++ /dev/null @@ -1,292 +0,0 @@ -/* -Copyright (c) 2019 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "fmt" - "log" - "math" - "strconv" - "strings" - - "github.com/vmware/govmomi/object" - "github.com/vmware/govmomi/ovf" - "github.com/vmware/govmomi/simulator/esx" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -type OvfManager struct { - mo.OvfManager -} - -func ovfDisk(e *ovf.Envelope, diskID string) *ovf.VirtualDiskDesc { - for _, disk := range e.Disk.Disks { - if strings.HasSuffix(diskID, disk.DiskID) { - return &disk - } - } - return nil -} - -func ovfNetwork(ctx *Context, req *types.CreateImportSpec, item ovf.ResourceAllocationSettingData) types.BaseVirtualDeviceBackingInfo { - if len(item.Connection) == 0 { - return nil - } - pool := ctx.Map.Get(req.ResourcePool).(mo.Entity) - ref := ctx.Map.getEntityDatacenter(pool).defaultNetwork()[0] // Default to VM Network - c := item.Connection[0] - - for _, net := range req.Cisp.NetworkMapping { - if net.Name == c { - ref = net.Network - break - } - } - - switch obj := ctx.Map.Get(ref).(type) { - case *mo.Network: - return &types.VirtualEthernetCardNetworkBackingInfo{ - VirtualDeviceDeviceBackingInfo: types.VirtualDeviceDeviceBackingInfo{ - DeviceName: obj.Name, - }, - } - case *DistributedVirtualPortgroup: - dvs := ctx.Map.Get(*obj.Config.DistributedVirtualSwitch).(*DistributedVirtualSwitch) - return &types.VirtualEthernetCardDistributedVirtualPortBackingInfo{ - Port: types.DistributedVirtualSwitchPortConnection{ - PortgroupKey: obj.Key, - SwitchUuid: dvs.Config.GetDVSConfigInfo().Uuid, - }, - } - default: - log.Printf("ovf: unknown network type: %T", ref) - return nil - } -} - -func ovfDiskCapacity(disk *ovf.VirtualDiskDesc) int64 { - b, _ := strconv.ParseUint(disk.Capacity, 10, 64) - if disk.CapacityAllocationUnits == nil { - return int64(b) - } - c := strings.Fields(*disk.CapacityAllocationUnits) - if len(c) == 3 && c[0] == "byte" && c[1] == "*" { // "byte * 2^20" - p := strings.Split(c[2], "^") - x, _ := strconv.ParseUint(p[0], 10, 64) - if len(p) == 2 { - y, _ := strconv.ParseUint(p[1], 10, 64) - b *= uint64(math.Pow(float64(x), float64(y))) - } else { - b *= x - } - } - return int64(b / 1024) -} - -func (m *OvfManager) CreateImportSpec(ctx *Context, req *types.CreateImportSpec) soap.HasFault { - body := new(methods.CreateImportSpecBody) - - env, err := ovf.Unmarshal(strings.NewReader(req.OvfDescriptor)) - if err != nil { - body.Fault_ = Fault(err.Error(), &types.InvalidArgument{InvalidProperty: "ovfDescriptor"}) - return body - } - - ds := ctx.Map.Get(req.Datastore).(*Datastore) - path := object.DatastorePath{Datastore: ds.Name} - spec := &types.VirtualMachineImportSpec{ - ConfigSpec: types.VirtualMachineConfigSpec{ - Name: req.Cisp.EntityName, - Version: esx.HardwareVersion, - GuestId: string(types.VirtualMachineGuestOsIdentifierOtherGuest), - Files: &types.VirtualMachineFileInfo{ - VmPathName: path.String(), - }, - NumCPUs: 1, - NumCoresPerSocket: 1, - MemoryMB: 32, - }, - ResPoolEntity: &req.ResourcePool, - } - - if req.Cisp.DeploymentOption == "" && env.DeploymentOption != nil { - for _, c := range env.DeploymentOption.Configuration { - if isTrue(c.Default) { - req.Cisp.DeploymentOption = c.ID - break - } - } - } - - if os := env.VirtualSystem.OperatingSystem; len(os) != 0 { - if id := os[0].OSType; id != nil { - spec.ConfigSpec.GuestId = *id - } - } - - var device object.VirtualDeviceList - result := types.OvfCreateImportSpecResult{ - ImportSpec: spec, - } - - hw := env.VirtualSystem.VirtualHardware[0] - if vmx := hw.System.VirtualSystemType; vmx != nil { - spec.ConfigSpec.Version = *vmx - } - - ndisk := 0 - ndev := 0 - resources := make(map[string]types.BaseVirtualDevice) - - for _, item := range hw.Item { - if req.Cisp.DeploymentOption != "" && item.Configuration != nil { - if req.Cisp.DeploymentOption != *item.Configuration { - continue - } - } - - kind := func() string { - if item.ResourceSubType == nil { - return "unknown" - } - return strings.ToLower(*item.ResourceSubType) - } - - unsupported := func(err error) { - result.Error = append(result.Error, types.LocalizedMethodFault{ - Fault: &types.OvfUnsupportedType{ - Name: item.ElementName, - InstanceId: item.InstanceID, - DeviceType: int32(*item.ResourceType), - }, - LocalizedMessage: err.Error(), - }) - } - - upload := func(file ovf.File, c types.BaseVirtualDevice, n int) { - result.FileItem = append(result.FileItem, types.OvfFileItem{ - DeviceId: fmt.Sprintf("/%s/%s:%d", req.Cisp.EntityName, device.Type(c), n), - Path: file.Href, - Size: int64(file.Size), - CimType: int32(*item.ResourceType), - }) - } - - switch *item.ResourceType { - case 1: // VMCI - case 3: // Number of Virtual CPUs - spec.ConfigSpec.NumCPUs = int32(*item.VirtualQuantity) - case 4: // Memory Size - spec.ConfigSpec.MemoryMB = int64(*item.VirtualQuantity) - case 5: // IDE Controller - d, _ := device.CreateIDEController() - device = append(device, d) - resources[item.InstanceID] = d - case 6: // SCSI Controller - d, err := device.CreateSCSIController(kind()) - if err == nil { - device = append(device, d) - resources[item.InstanceID] = d - } else { - unsupported(err) - } - case 10: // Virtual Network - net := ovfNetwork(ctx, req, item) - if net != nil { - d, err := device.CreateEthernetCard(kind(), net) - if err == nil { - device = append(device, d) - } else { - unsupported(err) - } - } - case 14: // Floppy Drive - if device.PickController((*types.VirtualSIOController)(nil)) == nil { - c := &types.VirtualSIOController{} - c.Key = device.NewKey() - device = append(device, c) - } - d, err := device.CreateFloppy() - if err == nil { - device = append(device, d) - resources[item.InstanceID] = d - } else { - unsupported(err) - } - case 15: // CD/DVD - c, ok := resources[*item.Parent] - if !ok { - continue // Parent is unsupported() - } - d, _ := device.CreateCdrom(c.(*types.VirtualIDEController)) - if len(item.HostResource) != 0 { - for _, file := range env.References { - if strings.HasSuffix(item.HostResource[0], file.ID) { - path.Path = fmt.Sprintf("%s/_deviceImage%d.iso", req.Cisp.EntityName, ndev) - device.InsertIso(d, path.String()) - upload(file, d, ndev) - break - } - } - } - device = append(device, d) - ndev++ - case 17: // Virtual Disk - c, ok := resources[*item.Parent] - if !ok { - continue // Parent is unsupported() - } - path.Path = fmt.Sprintf("%s/disk-%d.vmdk", req.Cisp.EntityName, ndisk) - d := device.CreateDisk(c.(types.BaseVirtualController), ds.Reference(), path.String()) - d.VirtualDevice.DeviceInfo = &types.Description{ - Label: item.ElementName, - } - disk := ovfDisk(env, item.HostResource[0]) - for _, file := range env.References { - if file.ID == *disk.FileRef { - upload(file, d, ndisk) - break - } - } - d.CapacityInKB = ovfDiskCapacity(disk) - device = append(device, d) - ndisk++ - case 23: // USB Controller - case 24: // Video Card - default: - unsupported(fmt.Errorf("unsupported resource type: %d", *item.ResourceType)) - } - } - - spec.ConfigSpec.DeviceChange, _ = device.ConfigSpec(types.VirtualDeviceConfigSpecOperationAdd) - - for _, p := range req.Cisp.PropertyMapping { - spec.ConfigSpec.ExtraConfig = append(spec.ConfigSpec.ExtraConfig, &types.OptionValue{ - Key: p.Key, - Value: p.Value, - }) - } - - body.Res = &types.CreateImportSpecResponse{ - Returnval: result, - } - - return body -} diff --git a/vendor/github.com/vmware/govmomi/simulator/performance_manager.go b/vendor/github.com/vmware/govmomi/simulator/performance_manager.go deleted file mode 100644 index 1319b3c4966..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/performance_manager.go +++ /dev/null @@ -1,294 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "math/rand" - "strconv" - "strings" - "time" - - "github.com/vmware/govmomi/simulator/esx" - "github.com/vmware/govmomi/simulator/vpx" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -var realtimeProviderSummary = types.PerfProviderSummary{ - CurrentSupported: true, - SummarySupported: true, - RefreshRate: 20, -} - -var historicProviderSummary = types.PerfProviderSummary{ - CurrentSupported: false, - SummarySupported: true, - RefreshRate: -1, -} - -type PerformanceManager struct { - mo.PerformanceManager - vmMetrics []types.PerfMetricId - hostMetrics []types.PerfMetricId - rpMetrics []types.PerfMetricId - clusterMetrics []types.PerfMetricId - datastoreMetrics []types.PerfMetricId - datacenterMetrics []types.PerfMetricId - perfCounterIndex map[int32]types.PerfCounterInfo - metricData map[string]map[int32][]int64 -} - -func (m *PerformanceManager) init(r *Registry) { - if r.IsESX() { - m.PerfCounter = esx.PerfCounter - m.hostMetrics = esx.HostMetrics - m.vmMetrics = esx.VmMetrics - m.rpMetrics = esx.ResourcePoolMetrics - m.metricData = esx.MetricData - } else { - m.PerfCounter = vpx.PerfCounter - m.hostMetrics = vpx.HostMetrics - m.vmMetrics = vpx.VmMetrics - m.rpMetrics = vpx.ResourcePoolMetrics - m.clusterMetrics = vpx.ClusterMetrics - m.datastoreMetrics = vpx.DatastoreMetrics - m.datacenterMetrics = vpx.DatacenterMetrics - m.metricData = vpx.MetricData - } - m.perfCounterIndex = make(map[int32]types.PerfCounterInfo, len(m.PerfCounter)) - for _, p := range m.PerfCounter { - m.perfCounterIndex[p.Key] = p - } -} - -func (p *PerformanceManager) QueryPerfCounter(ctx *Context, req *types.QueryPerfCounter) soap.HasFault { - body := new(methods.QueryPerfCounterBody) - body.Res = new(types.QueryPerfCounterResponse) - body.Res.Returnval = make([]types.PerfCounterInfo, len(req.CounterId)) - for i, id := range req.CounterId { - body.Res.Returnval[i] = p.perfCounterIndex[id] - } - return body -} - -func (p *PerformanceManager) QueryPerfProviderSummary(ctx *Context, req *types.QueryPerfProviderSummary) soap.HasFault { - body := new(methods.QueryPerfProviderSummaryBody) - body.Res = new(types.QueryPerfProviderSummaryResponse) - - // The entity must exist - if ctx.Map.Get(req.Entity) == nil { - body.Fault_ = Fault("", &types.InvalidArgument{ - InvalidProperty: "Entity", - }) - return body - } - - switch req.Entity.Type { - case "VirtualMachine", "HostSystem", "ResourcePool": - body.Res.Returnval = realtimeProviderSummary - default: - body.Res.Returnval = historicProviderSummary - } - body.Res.Returnval.Entity = req.Entity - return body -} - -func (p *PerformanceManager) buildAvailablePerfMetricsQueryResponse(ids []types.PerfMetricId, numCPU int, datastoreURL string) *types.QueryAvailablePerfMetricResponse { - r := new(types.QueryAvailablePerfMetricResponse) - r.Returnval = make([]types.PerfMetricId, 0, len(ids)) - for _, id := range ids { - switch id.Instance { - case "$cpu": - for i := 0; i < numCPU; i++ { - r.Returnval = append(r.Returnval, types.PerfMetricId{CounterId: id.CounterId, Instance: strconv.Itoa(i)}) - } - case "$physDisk": - r.Returnval = append(r.Returnval, types.PerfMetricId{CounterId: id.CounterId, Instance: datastoreURL}) - case "$file": - r.Returnval = append(r.Returnval, types.PerfMetricId{CounterId: id.CounterId, Instance: "DISKFILE"}) - r.Returnval = append(r.Returnval, types.PerfMetricId{CounterId: id.CounterId, Instance: "DELTAFILE"}) - r.Returnval = append(r.Returnval, types.PerfMetricId{CounterId: id.CounterId, Instance: "SWAPFILE"}) - r.Returnval = append(r.Returnval, types.PerfMetricId{CounterId: id.CounterId, Instance: "OTHERFILE"}) - default: - r.Returnval = append(r.Returnval, types.PerfMetricId{CounterId: id.CounterId, Instance: id.Instance}) - } - } - // Add a CounterId without a corresponding PerfCounterInfo entry. See issue #2835 - r.Returnval = append(r.Returnval, types.PerfMetricId{CounterId: 10042}) - return r -} - -func (p *PerformanceManager) queryAvailablePerfMetric(entity types.ManagedObjectReference, interval int32) *types.QueryAvailablePerfMetricResponse { - switch entity.Type { - case "VirtualMachine": - vm := Map.Get(entity).(*VirtualMachine) - return p.buildAvailablePerfMetricsQueryResponse(p.vmMetrics, int(vm.Summary.Config.NumCpu), vm.Datastore[0].Value) - case "HostSystem": - host := Map.Get(entity).(*HostSystem) - return p.buildAvailablePerfMetricsQueryResponse(p.hostMetrics, int(host.Hardware.CpuInfo.NumCpuThreads), host.Datastore[0].Value) - case "ResourcePool": - return p.buildAvailablePerfMetricsQueryResponse(p.rpMetrics, 0, "") - case "ClusterComputeResource": - if interval != 20 { - return p.buildAvailablePerfMetricsQueryResponse(p.clusterMetrics, 0, "") - } - case "Datastore": - if interval != 20 { - return p.buildAvailablePerfMetricsQueryResponse(p.datastoreMetrics, 0, "") - } - case "Datacenter": - if interval != 20 { - return p.buildAvailablePerfMetricsQueryResponse(p.datacenterMetrics, 0, "") - } - } - - // Don't know how to handle this. Return empty response. - return new(types.QueryAvailablePerfMetricResponse) -} - -func (p *PerformanceManager) QueryAvailablePerfMetric(ctx *Context, req *types.QueryAvailablePerfMetric) soap.HasFault { - body := new(methods.QueryAvailablePerfMetricBody) - body.Res = p.queryAvailablePerfMetric(req.Entity, req.IntervalId) - - return body -} - -func (p *PerformanceManager) QueryPerf(ctx *Context, req *types.QueryPerf) soap.HasFault { - body := new(methods.QueryPerfBody) - body.Res = new(types.QueryPerfResponse) - body.Res.Returnval = make([]types.BasePerfEntityMetricBase, len(req.QuerySpec)) - - for i, qs := range req.QuerySpec { - // Get metric data for this entity type - metricData, ok := p.metricData[qs.Entity.Type] - if !ok { - body.Fault_ = Fault("", &types.InvalidArgument{ - InvalidProperty: "Entity", - }) - } - var start, end time.Time - if qs.StartTime == nil { - start = time.Now().Add(time.Duration(-365*24) * time.Hour) // Assume we have data for a year - } else { - start = *qs.StartTime - } - if qs.EndTime == nil { - end = time.Now() - } else { - end = *qs.EndTime - } - - // Generate metric series. Divide into n buckets of interval seconds - interval := qs.IntervalId - if interval == -1 || interval == 0 { - interval = 20 // TODO: Determine from entity type - } - n := 1 + int32(end.Sub(start).Seconds())/interval - if qs.MaxSample > 0 && n > qs.MaxSample { - n = qs.MaxSample - } - - metrics := new(types.PerfEntityMetric) - metrics.Entity = qs.Entity - - // Loop through each interval "tick" - metrics.SampleInfo = make([]types.PerfSampleInfo, n) - metrics.Value = make([]types.BasePerfMetricSeries, len(qs.MetricId)) - for tick := int32(0); tick < n; tick++ { - metrics.SampleInfo[tick] = types.PerfSampleInfo{Timestamp: end.Add(time.Duration(-interval*tick) * time.Second), Interval: interval} - } - - series := make([]*types.PerfMetricIntSeries, len(qs.MetricId)) - for j, mid := range qs.MetricId { - // Create list of metrics for this tick - series[j] = &types.PerfMetricIntSeries{Value: make([]int64, n)} - series[j].Id = mid - points := metricData[mid.CounterId] - offset := int64(start.Unix()) / int64(interval) - - for tick := int32(0); tick < n; tick++ { - var p int64 - - // Use sample data if we have it. Otherwise, just send 0. - if len(points) > 0 { - p = points[(offset+int64(tick))%int64(len(points))] - scale := p / 5 - if scale > 0 { - // Add some gaussian noise to make the data look more "real" - p += int64(rand.NormFloat64() * float64(scale)) - if p < 0 { - p = 0 - } - } - } else { - p = 0 - } - series[j].Value[tick] = p - } - metrics.Value[j] = series[j] - } - - if qs.Format == string(types.PerfFormatCsv) { - metricsCsv := new(types.PerfEntityMetricCSV) - metricsCsv.Entity = qs.Entity - - //PerfSampleInfo encoded in the following CSV format: [interval1], [date1], [interval2], [date2], and so on. - metricsCsv.SampleInfoCSV = sampleInfoCSV(metrics) - metricsCsv.Value = make([]types.PerfMetricSeriesCSV, len(qs.MetricId)) - - for j, mid := range qs.MetricId { - seriesCsv := &types.PerfMetricSeriesCSV{Value: ""} - seriesCsv.Id = mid - seriesCsv.Value = valueCSV(series[j]) - metricsCsv.Value[j] = *seriesCsv - } - - body.Res.Returnval[i] = metricsCsv - } else { - body.Res.Returnval[i] = metrics - } - } - return body -} - -// sampleInfoCSV converts the SampleInfo field to a CSV string -func sampleInfoCSV(m *types.PerfEntityMetric) string { - values := make([]string, len(m.SampleInfo)*2) - - i := 0 - for _, s := range m.SampleInfo { - values[i] = strconv.Itoa(int(s.Interval)) - i++ - values[i] = s.Timestamp.Format(time.RFC3339) - i++ - } - - return strings.Join(values, ",") -} - -// valueCSV converts the Value field to a CSV string -func valueCSV(s *types.PerfMetricIntSeries) string { - values := make([]string, len(s.Value)) - - for i := range s.Value { - values[i] = strconv.FormatInt(s.Value[i], 10) - } - - return strings.Join(values, ",") -} diff --git a/vendor/github.com/vmware/govmomi/simulator/portgroup.go b/vendor/github.com/vmware/govmomi/simulator/portgroup.go deleted file mode 100644 index a0973ae996d..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/portgroup.go +++ /dev/null @@ -1,79 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -type DistributedVirtualPortgroup struct { - mo.DistributedVirtualPortgroup -} - -func (s *DistributedVirtualPortgroup) RenameTask(ctx *Context, req *types.Rename_Task) soap.HasFault { - canDup := s.DistributedVirtualPortgroup.Config.BackingType == string(types.DistributedVirtualPortgroupBackingTypeNsx) - - return RenameTask(ctx, s, req, canDup) -} - -func (s *DistributedVirtualPortgroup) ReconfigureDVPortgroupTask(ctx *Context, req *types.ReconfigureDVPortgroup_Task) soap.HasFault { - task := CreateTask(s, "reconfigureDvPortgroup", func(t *Task) (types.AnyType, types.BaseMethodFault) { - s.Config.DefaultPortConfig = req.Spec.DefaultPortConfig - s.Config.NumPorts = req.Spec.NumPorts - s.Config.AutoExpand = req.Spec.AutoExpand - s.Config.Type = req.Spec.Type - s.Config.Description = req.Spec.Description - s.Config.DynamicData = req.Spec.DynamicData - s.Config.Name = req.Spec.Name - s.Config.Policy = req.Spec.Policy - s.Config.PortNameFormat = req.Spec.PortNameFormat - s.Config.VmVnicNetworkResourcePoolKey = req.Spec.VmVnicNetworkResourcePoolKey - s.Config.LogicalSwitchUuid = req.Spec.LogicalSwitchUuid - s.Config.BackingType = req.Spec.BackingType - - return nil, nil - }) - - return &methods.ReconfigureDVPortgroup_TaskBody{ - Res: &types.ReconfigureDVPortgroup_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} - -func (s *DistributedVirtualPortgroup) DestroyTask(ctx *Context, req *types.Destroy_Task) soap.HasFault { - task := CreateTask(s, "destroy", func(t *Task) (types.AnyType, types.BaseMethodFault) { - vswitch := ctx.Map.Get(*s.Config.DistributedVirtualSwitch).(*DistributedVirtualSwitch) - ctx.Map.RemoveReference(ctx, vswitch, &vswitch.Portgroup, s.Reference()) - ctx.Map.removeString(ctx, vswitch, &vswitch.Summary.PortgroupName, s.Name) - - f := ctx.Map.getEntityParent(vswitch, "Folder").(*Folder) - folderRemoveChild(ctx, &f.Folder, s.Reference()) - - return nil, nil - }) - - return &methods.Destroy_TaskBody{ - Res: &types.Destroy_TaskResponse{ - Returnval: task.Run(ctx), - }, - } - -} diff --git a/vendor/github.com/vmware/govmomi/simulator/property_collector.go b/vendor/github.com/vmware/govmomi/simulator/property_collector.go deleted file mode 100644 index 44112b5a228..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/property_collector.go +++ /dev/null @@ -1,854 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "context" - "errors" - "log" - "path" - "reflect" - "strings" - "sync" - "time" - - "github.com/vmware/govmomi/object" - "github.com/vmware/govmomi/simulator/internal" - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -type PropertyCollector struct { - mo.PropertyCollector - - nopLocker - updates []types.ObjectUpdate - mu sync.Mutex - cancel context.CancelFunc -} - -func NewPropertyCollector(ref types.ManagedObjectReference) object.Reference { - s := &PropertyCollector{} - s.Self = ref - return s -} - -var errMissingField = errors.New("missing field") -var errEmptyField = errors.New("empty field") -var errInvalidField = errors.New("invalid field") - -func getObject(ctx *Context, ref types.ManagedObjectReference) (reflect.Value, bool) { - var obj mo.Reference - if ctx.Session == nil { - // Even without permissions to access an object or specific fields, RetrieveProperties - // returns an ObjectContent response as long as the object exists. See retrieveResult.add() - obj = ctx.Map.Get(ref) - } else { - obj = ctx.Session.Get(ref) - } - - if obj == nil { - return reflect.Value{}, false - } - - if ctx.Session == nil && ref.Type == "SessionManager" { - // RetrieveProperties on SessionManager without a session always returns empty, - // rather than MissingSet + Fault.NotAuthenticated for each field. - obj = &mo.SessionManager{Self: ref} - } - - // For objects that use internal types that differ from that of the vim25/mo field types. - // See EventHistoryCollector for example. - type get interface { - Get() mo.Reference - } - if o, ok := obj.(get); ok { - obj = o.Get() - } - - return getManagedObject(obj), true -} - -func getManagedObject(obj mo.Reference) reflect.Value { - rval := reflect.ValueOf(obj).Elem() - rtype := rval.Type() - - // PropertyCollector is for Managed Object types only (package mo). - // If the registry object is not in the mo package, assume it is a wrapper - // type where the first field is an embedded mo type. - // We need to dig out the mo type for PropSet.All to work properly and - // for the case where the type has a field of the same name, for example: - // mo.ResourcePool.ResourcePool - for { - if path.Base(rtype.PkgPath()) == "mo" { - break - } - if rtype.Kind() != reflect.Struct || rtype.NumField() == 0 { - log.Panicf("%#v does not have an embedded mo type", obj.Reference()) - } - rval = rval.Field(0) - rtype = rval.Type() - } - - return rval -} - -// wrapValue converts slice types to the appropriate ArrayOf type used in property collector responses. -func wrapValue(rval reflect.Value, rtype reflect.Type) interface{} { - pval := rval.Interface() - - if rval.Kind() == reflect.Slice { - // Convert slice to types.ArrayOf* - switch v := pval.(type) { - case []string: - pval = &types.ArrayOfString{ - String: v, - } - case []uint8: - pval = &types.ArrayOfByte{ - Byte: v, - } - case []int16: - pval = &types.ArrayOfShort{ - Short: v, - } - case []int32: - pval = &types.ArrayOfInt{ - Int: v, - } - case []int64: - pval = &types.ArrayOfLong{ - Long: v, - } - default: - kind := rtype.Elem().Name() - // Remove govmomi interface prefix name - kind = strings.TrimPrefix(kind, "Base") - akind, _ := defaultMapType("ArrayOf" + kind) - a := reflect.New(akind) - a.Elem().FieldByName(kind).Set(rval) - pval = a.Interface() - } - } - - return pval -} - -func fieldValueInterface(f reflect.StructField, rval reflect.Value) interface{} { - if rval.Kind() == reflect.Ptr { - rval = rval.Elem() - } - - return wrapValue(rval, f.Type) -} - -func fieldValue(rval reflect.Value, p string) (interface{}, error) { - var value interface{} - fields := strings.Split(p, ".") - - for i, name := range fields { - kind := rval.Type().Kind() - - if kind == reflect.Interface { - if rval.IsNil() { - continue - } - rval = rval.Elem() - kind = rval.Type().Kind() - } - - if kind == reflect.Ptr { - if rval.IsNil() { - continue - } - rval = rval.Elem() - } - - if kind == reflect.Slice { - // field of array field cannot be specified - return nil, errInvalidField - } - - x := ucFirst(name) - val := rval.FieldByName(x) - if !val.IsValid() { - return nil, errMissingField - } - - if isEmpty(val) { - return nil, errEmptyField - } - - if i == len(fields)-1 { - ftype, _ := rval.Type().FieldByName(x) - value = fieldValueInterface(ftype, val) - break - } - - rval = val - } - - return value, nil -} - -func fieldRefs(f interface{}) []types.ManagedObjectReference { - switch fv := f.(type) { - case types.ManagedObjectReference: - return []types.ManagedObjectReference{fv} - case *types.ArrayOfManagedObjectReference: - return fv.ManagedObjectReference - case nil: - // empty field - } - - return nil -} - -func isEmpty(rval reflect.Value) bool { - switch rval.Kind() { - case reflect.Ptr: - return rval.IsNil() - case reflect.String: - return rval.Len() == 0 - } - - return false -} - -func isTrue(v *bool) bool { - return v != nil && *v -} - -func isFalse(v *bool) bool { - return v == nil || !*v -} - -func lcFirst(s string) string { - return strings.ToLower(s[:1]) + s[1:] -} - -func ucFirst(s string) string { - return strings.ToUpper(s[:1]) + s[1:] -} - -type retrieveResult struct { - *types.RetrieveResult - req *types.RetrievePropertiesEx - collected map[types.ManagedObjectReference]bool - specs map[string]*types.TraversalSpec -} - -func (rr *retrieveResult) add(ctx *Context, name string, val types.AnyType, content *types.ObjectContent) { - if ctx.Session != nil { - content.PropSet = append(content.PropSet, types.DynamicProperty{ - Name: name, - Val: val, - }) - return - } - - content.MissingSet = append(content.MissingSet, types.MissingProperty{ - Path: name, - Fault: types.LocalizedMethodFault{Fault: &types.NotAuthenticated{ - NoPermission: types.NoPermission{ - Object: &content.Obj, - PrivilegeId: "System.Read", - }}, - }, - }) -} - -func (rr *retrieveResult) collectAll(ctx *Context, rval reflect.Value, rtype reflect.Type, content *types.ObjectContent) { - for i := 0; i < rval.NumField(); i++ { - val := rval.Field(i) - - f := rtype.Field(i) - - if isEmpty(val) || f.Name == "Self" { - continue - } - - if f.Anonymous { - // recurse into embedded field - rr.collectAll(ctx, val, f.Type, content) - continue - } - - rr.add(ctx, lcFirst(f.Name), fieldValueInterface(f, val), content) - } -} - -func (rr *retrieveResult) collectFields(ctx *Context, rval reflect.Value, fields []string, content *types.ObjectContent) { - seen := make(map[string]bool) - - for i := range content.PropSet { - seen[content.PropSet[i].Name] = true // mark any already collected via embedded field - } - - for _, name := range fields { - if seen[name] { - // rvc 'ls' includes the "name" property twice, then fails with no error message or stack trace - // in RbVmomi::VIM::ObjectContent.to_hash_uncached when it sees the 2nd "name" property. - continue - } - seen[name] = true - - val, err := fieldValue(rval, name) - - switch err { - case nil, errEmptyField: - rr.add(ctx, name, val, content) - case errMissingField: - content.MissingSet = append(content.MissingSet, types.MissingProperty{ - Path: name, - Fault: types.LocalizedMethodFault{Fault: &types.InvalidProperty{ - Name: name, - }}, - }) - case errInvalidField: - content.MissingSet = append(content.MissingSet, types.MissingProperty{ - Path: name, - Fault: types.LocalizedMethodFault{Fault: &types.InvalidProperty{ - Name: name, - }}, - }) - } - } -} - -func (rr *retrieveResult) collect(ctx *Context, ref types.ManagedObjectReference) { - if rr.collected[ref] { - return - } - - content := types.ObjectContent{ - Obj: ref, - } - - rval, ok := getObject(ctx, ref) - if !ok { - // Possible if a test uses ctx.Map.Remove instead of Destroy_Task - tracef("object %s no longer exists", ref) - return - } - - rtype := rval.Type() - match := false - - for _, spec := range rr.req.SpecSet { - for _, p := range spec.PropSet { - if p.Type != ref.Type && p.Type != rtype.Name() { - // e.g. ManagedEntity, ComputeResource - field, ok := rtype.FieldByName(p.Type) - - if !(ok && field.Anonymous) { - continue - } - } - match = true - if isTrue(p.All) { - rr.collectAll(ctx, rval, rtype, &content) - continue - } - - rr.collectFields(ctx, rval, p.PathSet, &content) - } - } - - if match { - rr.Objects = append(rr.Objects, content) - } - - rr.collected[ref] = true -} - -func (rr *retrieveResult) selectSet(ctx *Context, obj reflect.Value, s []types.BaseSelectionSpec, refs *[]types.ManagedObjectReference) types.BaseMethodFault { - for _, ss := range s { - ts, ok := ss.(*types.TraversalSpec) - if ok { - if ts.Name != "" { - rr.specs[ts.Name] = ts - } - } - } - - for _, ss := range s { - ts, ok := ss.(*types.TraversalSpec) - if !ok { - ts = rr.specs[ss.GetSelectionSpec().Name] - if ts == nil { - return &types.InvalidArgument{InvalidProperty: "undefined TraversalSpec name"} - } - } - - f, _ := fieldValue(obj, ts.Path) - - for _, ref := range fieldRefs(f) { - if isFalse(ts.Skip) { - *refs = append(*refs, ref) - } - - rval, ok := getObject(ctx, ref) - if ok { - if err := rr.selectSet(ctx, rval, ts.SelectSet, refs); err != nil { - return err - } - } - } - } - - return nil -} - -func (pc *PropertyCollector) collect(ctx *Context, r *types.RetrievePropertiesEx) (*types.RetrieveResult, types.BaseMethodFault) { - var refs []types.ManagedObjectReference - - rr := &retrieveResult{ - RetrieveResult: &types.RetrieveResult{}, - req: r, - collected: make(map[types.ManagedObjectReference]bool), - specs: make(map[string]*types.TraversalSpec), - } - - // Select object references - for _, spec := range r.SpecSet { - for _, o := range spec.ObjectSet { - var rval reflect.Value - ok := false - ctx.WithLock(o.Obj, func() { rval, ok = getObject(ctx, o.Obj) }) - if !ok { - if isFalse(spec.ReportMissingObjectsInResults) { - return nil, &types.ManagedObjectNotFound{Obj: o.Obj} - } - continue - } - - if o.SelectSet == nil || isFalse(o.Skip) { - refs = append(refs, o.Obj) - } - - if err := rr.selectSet(ctx, rval, o.SelectSet, &refs); err != nil { - return nil, err - } - } - } - - for _, ref := range refs { - ctx.WithLock(ref, func() { rr.collect(ctx, ref) }) - } - - return rr.RetrieveResult, nil -} - -func (pc *PropertyCollector) CreateFilter(ctx *Context, c *types.CreateFilter) soap.HasFault { - body := &methods.CreateFilterBody{} - - filter := &PropertyFilter{ - pc: pc, - refs: make(map[types.ManagedObjectReference]struct{}), - } - filter.PartialUpdates = c.PartialUpdates - filter.Spec = c.Spec - - pc.Filter = append(pc.Filter, ctx.Session.Put(filter).Reference()) - - body.Res = &types.CreateFilterResponse{ - Returnval: filter.Self, - } - - return body -} - -func (pc *PropertyCollector) CreatePropertyCollector(ctx *Context, c *types.CreatePropertyCollector) soap.HasFault { - body := &methods.CreatePropertyCollectorBody{} - - cpc := &PropertyCollector{} - - body.Res = &types.CreatePropertyCollectorResponse{ - Returnval: ctx.Session.Put(cpc).Reference(), - } - - return body -} - -func (pc *PropertyCollector) DestroyPropertyCollector(ctx *Context, c *types.DestroyPropertyCollector) soap.HasFault { - pc.CancelWaitForUpdates(&types.CancelWaitForUpdates{This: c.This}) - - body := &methods.DestroyPropertyCollectorBody{} - - for _, ref := range pc.Filter { - filter := ctx.Session.Get(ref).(*PropertyFilter) - filter.DestroyPropertyFilter(ctx, &types.DestroyPropertyFilter{This: ref}) - } - - ctx.Session.Remove(ctx, c.This) - ctx.Map.Remove(ctx, c.This) - - body.Res = &types.DestroyPropertyCollectorResponse{} - - return body -} - -func (pc *PropertyCollector) RetrievePropertiesEx(ctx *Context, r *types.RetrievePropertiesEx) soap.HasFault { - body := &methods.RetrievePropertiesExBody{} - - res, fault := pc.collect(ctx, r) - - if fault != nil { - switch fault.(type) { - case *types.ManagedObjectNotFound: - body.Fault_ = Fault("The object has already been deleted or has not been completely created", fault) - default: - body.Fault_ = Fault("", fault) - } - } else { - objects := res.Objects[:0] - for _, o := range res.Objects { - propSet := o.PropSet[:0] - for _, p := range o.PropSet { - if p.Val != nil { - propSet = append(propSet, p) - } - } - o.PropSet = propSet - - objects = append(objects, o) - } - res.Objects = objects - body.Res = &types.RetrievePropertiesExResponse{ - Returnval: res, - } - } - - return body -} - -// RetrieveProperties is deprecated, but govmomi is still using it at the moment. -func (pc *PropertyCollector) RetrieveProperties(ctx *Context, r *types.RetrieveProperties) soap.HasFault { - body := &methods.RetrievePropertiesBody{} - - res := pc.RetrievePropertiesEx(ctx, &types.RetrievePropertiesEx{ - This: r.This, - SpecSet: r.SpecSet, - }) - - if res.Fault() != nil { - body.Fault_ = res.Fault() - } else { - body.Res = &types.RetrievePropertiesResponse{ - Returnval: res.(*methods.RetrievePropertiesExBody).Res.Returnval.Objects, - } - } - - return body -} - -func (pc *PropertyCollector) CancelWaitForUpdates(r *types.CancelWaitForUpdates) soap.HasFault { - pc.mu.Lock() - if pc.cancel != nil { - pc.cancel() - } - pc.mu.Unlock() - - return &methods.CancelWaitForUpdatesBody{Res: new(types.CancelWaitForUpdatesResponse)} -} - -func (pc *PropertyCollector) update(u types.ObjectUpdate) { - pc.mu.Lock() - pc.updates = append(pc.updates, u) - pc.mu.Unlock() -} - -func (pc *PropertyCollector) PutObject(o mo.Reference) { - pc.update(types.ObjectUpdate{ - Obj: o.Reference(), - Kind: types.ObjectUpdateKindEnter, - ChangeSet: nil, - }) -} - -func (pc *PropertyCollector) UpdateObject(o mo.Reference, changes []types.PropertyChange) { - pc.update(types.ObjectUpdate{ - Obj: o.Reference(), - Kind: types.ObjectUpdateKindModify, - ChangeSet: changes, - }) -} - -func (pc *PropertyCollector) RemoveObject(_ *Context, ref types.ManagedObjectReference) { - pc.update(types.ObjectUpdate{ - Obj: ref, - Kind: types.ObjectUpdateKindLeave, - ChangeSet: nil, - }) -} - -func (pc *PropertyCollector) apply(ctx *Context, update *types.UpdateSet) types.BaseMethodFault { - for _, ref := range pc.Filter { - filter := ctx.Session.Get(ref).(*PropertyFilter) - - r := &types.RetrievePropertiesEx{} - r.SpecSet = append(r.SpecSet, filter.Spec) - - res, fault := pc.collect(ctx, r) - if fault != nil { - return fault - } - - fu := types.PropertyFilterUpdate{ - Filter: ref, - } - - for _, o := range res.Objects { - if _, ok := filter.refs[o.Obj]; ok { - continue - } - filter.refs[o.Obj] = struct{}{} - ou := types.ObjectUpdate{ - Obj: o.Obj, - Kind: types.ObjectUpdateKindEnter, - } - - for _, p := range o.PropSet { - ou.ChangeSet = append(ou.ChangeSet, types.PropertyChange{ - Op: types.PropertyChangeOpAssign, - Name: p.Name, - Val: p.Val, - }) - } - - fu.ObjectSet = append(fu.ObjectSet, ou) - } - - if len(fu.ObjectSet) != 0 { - update.FilterSet = append(update.FilterSet, fu) - } - } - return nil -} - -func (pc *PropertyCollector) WaitForUpdatesEx(ctx *Context, r *types.WaitForUpdatesEx) soap.HasFault { - wait, cancel := context.WithCancel(context.Background()) - oneUpdate := false - if r.Options != nil { - if max := r.Options.MaxWaitSeconds; max != nil { - // A value of 0 causes WaitForUpdatesEx to do one update calculation and return any results. - oneUpdate = (*max == 0) - if *max > 0 { - wait, cancel = context.WithTimeout(context.Background(), time.Second*time.Duration(*max)) - } - } - } - pc.mu.Lock() - pc.cancel = cancel - pc.mu.Unlock() - - body := &methods.WaitForUpdatesExBody{} - - set := &types.UpdateSet{ - Version: r.Version, - } - - body.Res = &types.WaitForUpdatesExResponse{ - Returnval: set, - } - - apply := func() bool { - if fault := pc.apply(ctx, set); fault != nil { - body.Fault_ = Fault("", fault) - body.Res = nil - return false - } - return true - } - - if r.Version == "" { - ctx.Map.AddHandler(pc) // Listen for create, update, delete of managed objects - apply() // Collect current state - set.Version = "-" // Next request with Version set will wait via loop below - return body - } - - ticker := time.NewTicker(20 * time.Millisecond) // allow for updates to accumulate - defer ticker.Stop() - // Start the wait loop, returning on one of: - // - Client calls CancelWaitForUpdates - // - MaxWaitSeconds was specified and has been exceeded - // - We have updates to send to the client - for { - select { - case <-wait.Done(): - body.Res.Returnval = nil - switch wait.Err() { - case context.Canceled: - tracef("%s: WaitForUpdates canceled", pc.Self) - body.Fault_ = Fault("", new(types.RequestCanceled)) // CancelWaitForUpdates was called - body.Res = nil - case context.DeadlineExceeded: - tracef("%s: WaitForUpdates MaxWaitSeconds exceeded", pc.Self) - } - - return body - case <-ticker.C: - pc.mu.Lock() - updates := pc.updates - pc.updates = nil // clear updates collected by the managed object CRUD listeners - pc.mu.Unlock() - if len(updates) == 0 { - if oneUpdate { - body.Res.Returnval = nil - return body - } - continue - } - - tracef("%s: applying %d updates to %d filters", pc.Self, len(updates), len(pc.Filter)) - - for _, f := range pc.Filter { - filter := ctx.Session.Get(f).(*PropertyFilter) - fu := types.PropertyFilterUpdate{Filter: f} - - for _, update := range updates { - switch update.Kind { - case types.ObjectUpdateKindEnter: // Create - if !apply() { - return body - } - case types.ObjectUpdateKindModify: // Update - tracef("%s has %d changes", update.Obj, len(update.ChangeSet)) - if !apply() { // An update may apply to collector traversal specs - return body - } - if _, ok := filter.refs[update.Obj]; ok { - // This object has already been applied by the filter, - // now check if the property spec applies for this update. - update = filter.apply(ctx, update) - if len(update.ChangeSet) != 0 { - fu.ObjectSet = append(fu.ObjectSet, update) - } - } - case types.ObjectUpdateKindLeave: // Delete - if _, ok := filter.refs[update.Obj]; !ok { - continue - } - delete(filter.refs, update.Obj) - fu.ObjectSet = append(fu.ObjectSet, update) - } - } - - if len(fu.ObjectSet) != 0 { - set.FilterSet = append(set.FilterSet, fu) - } - } - if len(set.FilterSet) != 0 { - return body - } - if oneUpdate { - body.Res.Returnval = nil - return body - } - } - } -} - -// WaitForUpdates is deprecated, but pyvmomi is still using it at the moment. -func (pc *PropertyCollector) WaitForUpdates(ctx *Context, r *types.WaitForUpdates) soap.HasFault { - body := &methods.WaitForUpdatesBody{} - - res := pc.WaitForUpdatesEx(ctx, &types.WaitForUpdatesEx{ - This: r.This, - Version: r.Version, - }) - - if res.Fault() != nil { - body.Fault_ = res.Fault() - } else { - body.Res = &types.WaitForUpdatesResponse{ - Returnval: *res.(*methods.WaitForUpdatesExBody).Res.Returnval, - } - } - - return body -} - -// Fetch is not documented in the vSphere SDK, but ovftool depends on it. -// A Fetch request is converted to a RetrievePropertiesEx method call by vcsim. -func (pc *PropertyCollector) Fetch(ctx *Context, req *internal.Fetch) soap.HasFault { - body := new(internal.FetchBody) - - if req.This == vim25.ServiceInstance && req.Prop == "content" { - content := ctx.Map.content() - // ovftool uses API version for 6.0 and fails when these fields are non-nil; TODO - content.VStorageObjectManager = nil - content.HostProfileManager = nil - content.HostSpecManager = nil - content.CryptoManager = nil - content.HostProfileManager = nil - content.HealthUpdateManager = nil - content.FailoverClusterConfigurator = nil - content.FailoverClusterManager = nil - body.Res = &internal.FetchResponse{ - Returnval: content, - } - return body - } - - if ctx.Map.Get(req.This) == nil { - // The Fetch method supports use of super class types, this is a quick hack to support the cases used by ovftool - switch req.This.Type { - case "ManagedEntity": - for o := range ctx.Map.objects { - if o.Value == req.This.Value { - req.This.Type = o.Type - break - } - } - case "ComputeResource": - req.This.Type = "Cluster" + req.This.Type - } - } - - res := pc.RetrievePropertiesEx(ctx, &types.RetrievePropertiesEx{ - SpecSet: []types.PropertyFilterSpec{{ - PropSet: []types.PropertySpec{{ - Type: req.This.Type, - PathSet: []string{req.Prop}, - }}, - ObjectSet: []types.ObjectSpec{{ - Obj: req.This, - }}, - }}}) - - if res.Fault() != nil { - return res - } - - obj := res.(*methods.RetrievePropertiesExBody).Res.Returnval.Objects[0] - if len(obj.PropSet) == 0 { - fault := obj.MissingSet[0].Fault - body.Fault_ = Fault(fault.LocalizedMessage, fault.Fault) - return body - } - - body.Res = &internal.FetchResponse{ - Returnval: obj.PropSet[0].Val, - } - return body -} diff --git a/vendor/github.com/vmware/govmomi/simulator/property_filter.go b/vendor/github.com/vmware/govmomi/simulator/property_filter.go deleted file mode 100644 index b84c85e7da3..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/property_filter.go +++ /dev/null @@ -1,108 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "reflect" - "strings" - - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -type PropertyFilter struct { - mo.PropertyFilter - - pc *PropertyCollector - refs map[types.ManagedObjectReference]struct{} -} - -func (f *PropertyFilter) DestroyPropertyFilter(ctx *Context, c *types.DestroyPropertyFilter) soap.HasFault { - body := &methods.DestroyPropertyFilterBody{} - - RemoveReference(&f.pc.Filter, c.This) - - ctx.Session.Remove(ctx, c.This) - - body.Res = &types.DestroyPropertyFilterResponse{} - - return body -} - -// matches returns true if the change matches one of the filter Spec.PropSet -func (f *PropertyFilter) matches(ctx *Context, ref types.ManagedObjectReference, change *types.PropertyChange) bool { - var kind reflect.Type - - for _, p := range f.Spec.PropSet { - if p.Type != ref.Type { - if kind == nil { - kind = getManagedObject(ctx.Map.Get(ref)).Type() - } - // e.g. ManagedEntity, ComputeResource - field, ok := kind.FieldByName(p.Type) - if !(ok && field.Anonymous) { - continue - } - } - - if isTrue(p.All) { - return true - } - - for _, name := range p.PathSet { - if name == change.Name { - return true - } - - // strings.HasPrefix("runtime.powerState", "runtime") == parent field matches - if strings.HasPrefix(change.Name, name) { - if obj := ctx.Map.Get(ref); obj != nil { // object may have since been deleted - change.Name = name - change.Val, _ = fieldValue(reflect.ValueOf(obj), name) - } - - return true - } - } - } - - return false -} - -// apply the PropertyFilter.Spec to the given ObjectUpdate -func (f *PropertyFilter) apply(ctx *Context, change types.ObjectUpdate) types.ObjectUpdate { - parents := make(map[string]bool) - set := change.ChangeSet - change.ChangeSet = nil - - for i, p := range set { - if f.matches(ctx, change.Obj, &p) { - if p.Name != set[i].Name { - // update matches a parent field from the spec. - if parents[p.Name] { - continue // only return 1 instance of the parent - } - parents[p.Name] = true - } - change.ChangeSet = append(change.ChangeSet, p) - } - } - - return change -} diff --git a/vendor/github.com/vmware/govmomi/simulator/registry.go b/vendor/github.com/vmware/govmomi/simulator/registry.go deleted file mode 100644 index c91af59e2a8..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/registry.go +++ /dev/null @@ -1,661 +0,0 @@ -/* -Copyright (c) 2017-2021 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "encoding/json" - "fmt" - "log" - "os" - "reflect" - "strings" - "sync" - "sync/atomic" - - "github.com/vmware/govmomi/simulator/internal" - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -// This is a map from a reference type name to a reference value name prefix. -// It's a convention that VirtualCenter follows. The map is not complete, but -// it should cover the most popular objects. -var refValueMap = map[string]string{ - "DistributedVirtualPortgroup": "dvportgroup", - "EnvironmentBrowser": "envbrowser", - "HostSystem": "host", - "ResourcePool": "resgroup", - "VirtualMachine": "vm", - "VirtualMachineSnapshot": "snapshot", - "VmwareDistributedVirtualSwitch": "dvs", - "DistributedVirtualSwitch": "dvs", - "ClusterComputeResource": "domain-c", - "Folder": "group", - "StoragePod": "group-p", -} - -// Map is the default Registry instance. -// -// TODO/WIP: To support the eventual removal of this unsyncronized global -// variable, the Map should be accessed through any Context.Map that is passed -// in to functions that may need it. -var Map = NewRegistry() - -// RegisterObject interface supports callbacks when objects are created, updated and deleted from the Registry -type RegisterObject interface { - mo.Reference - PutObject(mo.Reference) - UpdateObject(mo.Reference, []types.PropertyChange) - RemoveObject(*Context, types.ManagedObjectReference) -} - -// Registry manages a map of mo.Reference objects -type Registry struct { - counter int64 // Keep first to ensure 64-bit alignment - m sync.Mutex - objects map[types.ManagedObjectReference]mo.Reference - handlers map[types.ManagedObjectReference]RegisterObject - locks map[types.ManagedObjectReference]*internal.ObjectLock - - Namespace string - Path string - Handler func(*Context, *Method) (mo.Reference, types.BaseMethodFault) - - tagManager tagManager -} - -// tagManager is an interface to simplify internal interaction with the vapi tag manager simulator. -type tagManager interface { - AttachedObjects(types.VslmTagEntry) ([]types.ManagedObjectReference, types.BaseMethodFault) - AttachedTags(id types.ManagedObjectReference) ([]types.VslmTagEntry, types.BaseMethodFault) - AttachTag(types.ManagedObjectReference, types.VslmTagEntry) types.BaseMethodFault - DetachTag(types.ManagedObjectReference, types.VslmTagEntry) types.BaseMethodFault -} - -// NewRegistry creates a new instances of Registry -func NewRegistry() *Registry { - r := &Registry{ - objects: make(map[types.ManagedObjectReference]mo.Reference), - handlers: make(map[types.ManagedObjectReference]RegisterObject), - locks: make(map[types.ManagedObjectReference]*internal.ObjectLock), - - Namespace: vim25.Namespace, - Path: vim25.Path, - } - - return r -} - -func (r *Registry) typeFunc(name string) (reflect.Type, bool) { - if r.Namespace != "" && r.Namespace != vim25.Namespace { - if kind, ok := defaultMapType(r.Namespace + ":" + name); ok { - return kind, ok - } - } - return defaultMapType(name) -} - -// typeName returns the type of the given object. -func typeName(item mo.Reference) string { - return reflect.TypeOf(item).Elem().Name() -} - -// valuePrefix returns the value name prefix of a given object -func valuePrefix(typeName string) string { - v, ok := refValueMap[typeName] - if ok { - if strings.Contains(v, "-") { - return v - } - } else { - v = strings.ToLower(typeName) - } - - return v + "-" -} - -// newReference returns a new MOR, where Type defaults to type of the given item -// and Value defaults to a unique id for the given type. -func (r *Registry) newReference(item mo.Reference) types.ManagedObjectReference { - ref := item.Reference() - - if ref.Type == "" { - ref.Type = typeName(item) - } - - if ref.Value == "" { - n := atomic.AddInt64(&r.counter, 1) - ref.Value = fmt.Sprintf("%s%d", valuePrefix(ref.Type), n) - } - - return ref -} - -func (r *Registry) setReference(item mo.Reference, ref types.ManagedObjectReference) { - // mo.Reference() returns a value, not a pointer so use reflect to set the Self field - reflect.ValueOf(item).Elem().FieldByName("Self").Set(reflect.ValueOf(ref)) -} - -// AddHandler adds a RegisterObject handler to the Registry. -func (r *Registry) AddHandler(h RegisterObject) { - r.m.Lock() - r.handlers[h.Reference()] = h - r.m.Unlock() -} - -// RemoveHandler removes a RegisterObject handler from the Registry. -func (r *Registry) RemoveHandler(h RegisterObject) { - r.m.Lock() - delete(r.handlers, h.Reference()) - r.m.Unlock() -} - -// NewEntity sets Entity().Self with a new, unique Value. -// Useful for creating object instances from templates. -func (r *Registry) NewEntity(item mo.Entity) mo.Entity { - e := item.Entity() - e.Self.Value = "" - e.Self = r.newReference(item) - return item -} - -// PutEntity sets item.Parent to that of parent.Self before adding item to the Registry. -func (r *Registry) PutEntity(parent mo.Entity, item mo.Entity) mo.Entity { - e := item.Entity() - - if parent != nil { - e.Parent = &parent.Entity().Self - } - - r.Put(item) - - return item -} - -// Get returns the object for the given reference. -func (r *Registry) Get(ref types.ManagedObjectReference) mo.Reference { - r.m.Lock() - defer r.m.Unlock() - - return r.objects[ref] -} - -// Any returns the first instance of entity type specified by kind. -func (r *Registry) Any(kind string) mo.Entity { - r.m.Lock() - defer r.m.Unlock() - - for ref, val := range r.objects { - if ref.Type == kind { - return val.(mo.Entity) - } - } - - return nil -} - -// All returns all entities of type specified by kind. -// If kind is empty - all entities will be returned. -func (r *Registry) All(kind string) []mo.Entity { - r.m.Lock() - defer r.m.Unlock() - - var entities []mo.Entity - for ref, val := range r.objects { - if kind == "" || ref.Type == kind { - if e, ok := val.(mo.Entity); ok { - entities = append(entities, e) - } - } - } - - return entities -} - -// AllReference returns all mo.Reference objects of type specified by kind. -// If kind is empty - all objects will be returned. -func (r *Registry) AllReference(kind string) []mo.Reference { - r.m.Lock() - defer r.m.Unlock() - - var objs []mo.Reference - for ref, val := range r.objects { - if kind == "" || ref.Type == kind { - objs = append(objs, val) - } - } - - return objs -} - -// applyHandlers calls the given func for each r.handlers -func (r *Registry) applyHandlers(f func(o RegisterObject)) { - r.m.Lock() - handlers := make([]RegisterObject, 0, len(r.handlers)) - for _, handler := range r.handlers { - handlers = append(handlers, handler) - } - r.m.Unlock() - - for i := range handlers { - f(handlers[i]) - } -} - -func (r *Registry) reference(item mo.Reference) types.ManagedObjectReference { - ref := item.Reference() - if ref.Type == "" || ref.Value == "" { - ref = r.newReference(item) - r.setReference(item, ref) - } - return ref -} - -// Put adds a new object to Registry, generating a ManagedObjectReference if not already set. -func (r *Registry) Put(item mo.Reference) mo.Reference { - r.m.Lock() - - if me, ok := item.(mo.Entity); ok { - me.Entity().ConfigStatus = types.ManagedEntityStatusGreen - me.Entity().OverallStatus = types.ManagedEntityStatusGreen - me.Entity().EffectiveRole = []int32{-1} // Admin - } - - r.objects[r.reference(item)] = item - - r.m.Unlock() - - r.applyHandlers(func(o RegisterObject) { - o.PutObject(item) - }) - - return item -} - -// Remove removes an object from the Registry. -func (r *Registry) Remove(ctx *Context, item types.ManagedObjectReference) { - r.applyHandlers(func(o RegisterObject) { - o.RemoveObject(ctx, item) - }) - - r.m.Lock() - delete(r.objects, item) - delete(r.handlers, item) - delete(r.locks, item) - r.m.Unlock() -} - -// Update dispatches object property changes to RegisterObject handlers, -// such as any PropertyCollector instances with in-progress WaitForUpdates calls. -// The changes are also applied to the given object via mo.ApplyPropertyChange, -// so there is no need to set object fields directly. -func (r *Registry) Update(obj mo.Reference, changes []types.PropertyChange) { - for i := range changes { - if changes[i].Op == "" { - changes[i].Op = types.PropertyChangeOpAssign - } - if changes[i].Val != nil { - rval := reflect.ValueOf(changes[i].Val) - changes[i].Val = wrapValue(rval, rval.Type()) - } - } - - val := getManagedObject(obj).Addr().Interface().(mo.Reference) - - mo.ApplyPropertyChange(val, changes) - - r.applyHandlers(func(o RegisterObject) { - o.UpdateObject(val, changes) - }) -} - -func (r *Registry) AtomicUpdate(ctx *Context, obj mo.Reference, changes []types.PropertyChange) { - r.WithLock(ctx, obj, func() { - r.Update(obj, changes) - }) -} - -// getEntityParent traverses up the inventory and returns the first object of type kind. -// If no object of type kind is found, the method will panic when it reaches the -// inventory root Folder where the Parent field is nil. -func (r *Registry) getEntityParent(item mo.Entity, kind string) mo.Entity { - var ok bool - for { - parent := item.Entity().Parent - - item, ok = r.Get(*parent).(mo.Entity) - if !ok { - return nil - } - if item.Reference().Type == kind { - return item - } - } -} - -// getEntityDatacenter returns the Datacenter containing the given item -func (r *Registry) getEntityDatacenter(item mo.Entity) *Datacenter { - dc, ok := r.getEntityParent(item, "Datacenter").(*Datacenter) - if ok { - return dc - } - return nil -} - -func (r *Registry) getEntityFolder(item mo.Entity, kind string) *mo.Folder { - dc := r.getEntityDatacenter(item) - - var ref types.ManagedObjectReference - - switch kind { - case "datastore": - ref = dc.DatastoreFolder - } - - folder, _ := asFolderMO(r.Get(ref)) - - // If Model was created with Folder option, use that Folder; else use top-level folder - for _, child := range folder.ChildEntity { - if child.Type == "Folder" { - folder, _ = asFolderMO(r.Get(child)) - break - } - } - - return folder -} - -// getEntityComputeResource returns the ComputeResource parent for the given item. -// A ResourcePool for example may have N Parents of type ResourcePool, but the top -// most Parent pool is always a ComputeResource child. -func (r *Registry) getEntityComputeResource(item mo.Entity) mo.Entity { - for { - parent := item.Entity().Parent - - item = r.Get(*parent).(mo.Entity) - - switch item.Reference().Type { - case "ComputeResource": - return item - case "ClusterComputeResource": - return item - } - } -} - -func entityName(e mo.Entity) string { - name := e.Entity().Name - if name != "" { - return name - } - - obj := getManagedObject(e).Addr().Interface() - - // The types below have their own 'Name' field, so ManagedEntity.Name (me.Name) is empty. - // See also mo.Ancestors - switch x := obj.(type) { - case *mo.Network: - return x.Name - case *mo.DistributedVirtualSwitch: - return x.Name - case *mo.DistributedVirtualPortgroup: - return x.Name - case *mo.OpaqueNetwork: - return x.Name - } - - log.Panicf("%T object %s does not have a Name", obj, e.Reference()) - return name -} - -// FindByName returns the first mo.Entity of the given refs whose Name field is equal to the given name. -// If there is no match, nil is returned. -// This method is useful for cases where objects are required to have a unique name, such as Datastore with -// a HostStorageSystem or HostSystem within a ClusterComputeResource. -func (r *Registry) FindByName(name string, refs []types.ManagedObjectReference) mo.Entity { - for _, ref := range refs { - if e, ok := r.Get(ref).(mo.Entity); ok { - if name == entityName(e) { - return e - } - } - } - - return nil -} - -// FindReference returns the 1st match found in refs, or nil if not found. -func FindReference(refs []types.ManagedObjectReference, match ...types.ManagedObjectReference) *types.ManagedObjectReference { - for _, ref := range refs { - for _, m := range match { - if ref == m { - return &ref - } - } - } - - return nil -} - -// AppendReference appends the given refs to field. -func (r *Registry) AppendReference(ctx *Context, obj mo.Reference, field *[]types.ManagedObjectReference, ref ...types.ManagedObjectReference) { - r.WithLock(ctx, obj, func() { - *field = append(*field, ref...) - }) -} - -// AddReference appends ref to field if not already in the given field. -func (r *Registry) AddReference(ctx *Context, obj mo.Reference, field *[]types.ManagedObjectReference, ref types.ManagedObjectReference) { - r.WithLock(ctx, obj, func() { - if FindReference(*field, ref) == nil { - *field = append(*field, ref) - } - }) -} - -// RemoveReference removes ref from the given field. -func RemoveReference(field *[]types.ManagedObjectReference, ref types.ManagedObjectReference) { - for i, r := range *field { - if r == ref { - *field = append((*field)[:i], (*field)[i+1:]...) - break - } - } -} - -// RemoveReference removes ref from the given field. -func (r *Registry) RemoveReference(ctx *Context, obj mo.Reference, field *[]types.ManagedObjectReference, ref types.ManagedObjectReference) { - r.WithLock(ctx, obj, func() { - RemoveReference(field, ref) - }) -} - -func (r *Registry) removeString(ctx *Context, obj mo.Reference, field *[]string, val string) { - r.WithLock(ctx, obj, func() { - for i, name := range *field { - if name == val { - *field = append((*field)[:i], (*field)[i+1:]...) - break - } - } - }) -} - -func (r *Registry) content() types.ServiceContent { - return r.Get(vim25.ServiceInstance).(*ServiceInstance).Content -} - -// IsESX returns true if this Registry maps an ESX model -func (r *Registry) IsESX() bool { - return r.content().About.ApiType == "HostAgent" -} - -// IsVPX returns true if this Registry maps a VPX model -func (r *Registry) IsVPX() bool { - return !r.IsESX() -} - -// SearchIndex returns the SearchIndex singleton -func (r *Registry) SearchIndex() *SearchIndex { - return r.Get(r.content().SearchIndex.Reference()).(*SearchIndex) -} - -// EventManager returns the EventManager singleton -func (r *Registry) EventManager() *EventManager { - return r.Get(r.content().EventManager.Reference()).(*EventManager) -} - -// FileManager returns the FileManager singleton -func (r *Registry) FileManager() *FileManager { - return r.Get(r.content().FileManager.Reference()).(*FileManager) -} - -type VirtualDiskManagerInterface interface { - mo.Reference - MO() mo.VirtualDiskManager - CreateVirtualDiskTask(*Context, *types.CreateVirtualDisk_Task) soap.HasFault - DeleteVirtualDiskTask(*Context, *types.DeleteVirtualDisk_Task) soap.HasFault - MoveVirtualDiskTask(*Context, *types.MoveVirtualDisk_Task) soap.HasFault - CopyVirtualDiskTask(*Context, *types.CopyVirtualDisk_Task) soap.HasFault - QueryVirtualDiskUuid(*Context, *types.QueryVirtualDiskUuid) soap.HasFault - SetVirtualDiskUuid(*Context, *types.SetVirtualDiskUuid) soap.HasFault -} - -// VirtualDiskManager returns the VirtualDiskManager singleton -func (r *Registry) VirtualDiskManager() VirtualDiskManagerInterface { - return r.Get(r.content().VirtualDiskManager.Reference()).(VirtualDiskManagerInterface) -} - -// ViewManager returns the ViewManager singleton -func (r *Registry) ViewManager() *ViewManager { - return r.Get(r.content().ViewManager.Reference()).(*ViewManager) -} - -// UserDirectory returns the UserDirectory singleton -func (r *Registry) UserDirectory() *UserDirectory { - return r.Get(r.content().UserDirectory.Reference()).(*UserDirectory) -} - -// SessionManager returns the SessionManager singleton -func (r *Registry) SessionManager() *SessionManager { - return r.Get(r.content().SessionManager.Reference()).(*SessionManager) -} - -// OptionManager returns the OptionManager singleton -func (r *Registry) OptionManager() *OptionManager { - return r.Get(r.content().Setting.Reference()).(*OptionManager) -} - -// CustomFieldsManager returns CustomFieldsManager singleton -func (r *Registry) CustomFieldsManager() *CustomFieldsManager { - return r.Get(r.content().CustomFieldsManager.Reference()).(*CustomFieldsManager) -} - -// TenantManager returns TenantManager singleton -func (r *Registry) TenantManager() *TenantManager { - return r.Get(r.content().TenantManager.Reference()).(*TenantManager) -} - -func (r *Registry) MarshalJSON() ([]byte, error) { - r.m.Lock() - defer r.m.Unlock() - - vars := struct { - Objects int - Locks int - }{ - len(r.objects), - len(r.locks), - } - - return json.Marshal(vars) -} - -func (r *Registry) locker(obj mo.Reference) *internal.ObjectLock { - var ref types.ManagedObjectReference - - switch x := obj.(type) { - case types.ManagedObjectReference: - ref = x - obj = r.Get(ref) // to check for sync.Locker - case *types.ManagedObjectReference: - ref = *x - obj = r.Get(ref) // to check for sync.Locker - default: - // Use of obj.Reference() may cause a read race, prefer the mo 'Self' field to avoid this - self := reflect.ValueOf(obj).Elem().FieldByName("Self") - if self.IsValid() { - ref = self.Interface().(types.ManagedObjectReference) - } else { - ref = obj.Reference() - } - } - - if mu, ok := obj.(sync.Locker); ok { - // Objects that opt out of default locking are responsible for - // implementing their own lock sharing, if needed. Returning - // nil as heldBy means that WithLock will call Lock/Unlock - // every time. - return internal.NewObjectLock(mu) - } - - r.m.Lock() - mu, ok := r.locks[ref] - if !ok { - mu = internal.NewObjectLock(new(sync.Mutex)) - r.locks[ref] = mu - } - r.m.Unlock() - - return mu -} - -var enableLocker = os.Getenv("VCSIM_LOCKER") != "false" - -// WithLock holds a lock for the given object while then given function is run. -func (r *Registry) WithLock(onBehalfOf *Context, obj mo.Reference, f func()) { - unlock := r.AcquireLock(onBehalfOf, obj) - f() - unlock() -} - -// AcquireLock acquires the lock for onBehalfOf then returns. The lock MUST be -// released by calling the returned function. WithLock should be preferred -// wherever possible. -func (r *Registry) AcquireLock(onBehalfOf *Context, obj mo.Reference) func() { - if onBehalfOf == nil { - panic(fmt.Sprintf("Attempt to lock %v with nil onBehalfOf", obj)) - } - - if !enableLocker { - return func() {} - } - - l := r.locker(obj) - l.Acquire(onBehalfOf) - return func() { - l.Release(onBehalfOf) - } -} - -// nopLocker can be embedded to opt-out of auto-locking (see Registry.WithLock) -type nopLocker struct{} - -func (*nopLocker) Lock() {} -func (*nopLocker) Unlock() {} diff --git a/vendor/github.com/vmware/govmomi/simulator/resource_pool.go b/vendor/github.com/vmware/govmomi/simulator/resource_pool.go deleted file mode 100644 index a5f5a9aa25d..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/resource_pool.go +++ /dev/null @@ -1,482 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "fmt" - "net/url" - "path" - "strings" - - "github.com/vmware/govmomi/object" - "github.com/vmware/govmomi/simulator/esx" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -type ResourcePool struct { - mo.ResourcePool -} - -func asResourcePoolMO(obj mo.Reference) (*mo.ResourcePool, bool) { - rp, ok := getManagedObject(obj).Addr().Interface().(*mo.ResourcePool) - return rp, ok -} - -func NewResourcePool() *ResourcePool { - pool := &ResourcePool{ - ResourcePool: esx.ResourcePool, - } - - if Map.IsVPX() { - pool.DisabledMethod = nil // Enable VApp methods for VC - } - - return pool -} - -func allResourceFieldsSet(info *types.ResourceAllocationInfo) bool { - return info.Reservation != nil && - info.Limit != nil && - info.ExpandableReservation != nil && - info.Shares != nil -} - -func allResourceFieldsValid(info *types.ResourceAllocationInfo) bool { - if info.Reservation != nil { - if *info.Reservation < 0 { - return false - } - } - - if info.Limit != nil { - if *info.Limit < -1 { - return false - } - } - - if info.Shares != nil { - if info.Shares.Level == types.SharesLevelCustom { - if info.Shares.Shares < 0 { - return false - } - } - } - - if info.OverheadLimit != nil { - return false - } - - return true -} - -func (p *ResourcePool) createChild(name string, spec types.ResourceConfigSpec) (*ResourcePool, *soap.Fault) { - if e := Map.FindByName(name, p.ResourcePool.ResourcePool); e != nil { - return nil, Fault("", &types.DuplicateName{ - Name: e.Entity().Name, - Object: e.Reference(), - }) - } - - if !(allResourceFieldsSet(&spec.CpuAllocation) && allResourceFieldsValid(&spec.CpuAllocation)) { - return nil, Fault("", &types.InvalidArgument{ - InvalidProperty: "spec.cpuAllocation", - }) - } - - if !(allResourceFieldsSet(&spec.MemoryAllocation) && allResourceFieldsValid(&spec.MemoryAllocation)) { - return nil, Fault("", &types.InvalidArgument{ - InvalidProperty: "spec.memoryAllocation", - }) - } - - child := NewResourcePool() - - child.Name = name - child.Owner = p.Owner - child.Summary.GetResourcePoolSummary().Name = name - child.Config.CpuAllocation = spec.CpuAllocation - child.Config.MemoryAllocation = spec.MemoryAllocation - child.Config.Entity = spec.Entity - - return child, nil -} - -func (p *ResourcePool) CreateResourcePool(c *types.CreateResourcePool) soap.HasFault { - body := &methods.CreateResourcePoolBody{} - - child, err := p.createChild(c.Name, c.Spec) - if err != nil { - body.Fault_ = err - return body - } - - Map.PutEntity(p, Map.NewEntity(child)) - - p.ResourcePool.ResourcePool = append(p.ResourcePool.ResourcePool, child.Reference()) - - body.Res = &types.CreateResourcePoolResponse{ - Returnval: child.Reference(), - } - - return body -} - -func updateResourceAllocation(kind string, src, dst *types.ResourceAllocationInfo) types.BaseMethodFault { - if !allResourceFieldsValid(src) { - return &types.InvalidArgument{ - InvalidProperty: fmt.Sprintf("spec.%sAllocation", kind), - } - } - - if src.Reservation != nil { - dst.Reservation = src.Reservation - } - - if src.Limit != nil { - dst.Limit = src.Limit - } - - if src.Shares != nil { - dst.Shares = src.Shares - } - - return nil -} - -func (p *ResourcePool) UpdateConfig(c *types.UpdateConfig) soap.HasFault { - body := &methods.UpdateConfigBody{} - - if c.Name != "" { - if e := Map.FindByName(c.Name, p.ResourcePool.ResourcePool); e != nil { - body.Fault_ = Fault("", &types.DuplicateName{ - Name: e.Entity().Name, - Object: e.Reference(), - }) - return body - } - - p.Name = c.Name - } - - spec := c.Config - - if spec != nil { - if err := updateResourceAllocation("memory", &spec.MemoryAllocation, &p.Config.MemoryAllocation); err != nil { - body.Fault_ = Fault("", err) - return body - } - - if err := updateResourceAllocation("cpu", &spec.CpuAllocation, &p.Config.CpuAllocation); err != nil { - body.Fault_ = Fault("", err) - return body - } - } - - body.Res = &types.UpdateConfigResponse{} - - return body -} - -func (a *VirtualApp) ImportVApp(ctx *Context, req *types.ImportVApp) soap.HasFault { - return (&ResourcePool{ResourcePool: a.ResourcePool}).ImportVApp(ctx, req) -} - -func (p *ResourcePool) ImportVApp(ctx *Context, req *types.ImportVApp) soap.HasFault { - body := new(methods.ImportVAppBody) - - spec, ok := req.Spec.(*types.VirtualMachineImportSpec) - if !ok { - body.Fault_ = Fault(fmt.Sprintf("%T: type not supported", spec), &types.InvalidArgument{InvalidProperty: "spec"}) - return body - } - - dc := ctx.Map.getEntityDatacenter(p) - folder := ctx.Map.Get(dc.VmFolder).(*Folder) - if req.Folder != nil { - if p.Self.Type == "VirtualApp" { - body.Fault_ = Fault("", &types.InvalidArgument{InvalidProperty: "pool"}) - return body - } - folder = ctx.Map.Get(*req.Folder).(*Folder) - } - - res := folder.CreateVMTask(ctx, &types.CreateVM_Task{ - This: folder.Self, - Config: spec.ConfigSpec, - Pool: p.Self, - Host: req.Host, - }) - - ctask := ctx.Map.Get(res.(*methods.CreateVM_TaskBody).Res.Returnval).(*Task) - ctask.Wait() - - if ctask.Info.Error != nil { - body.Fault_ = Fault("", ctask.Info.Error.Fault) - return body - } - - lease := NewHttpNfcLease(ctx, ctask.Info.Result.(types.ManagedObjectReference)) - ref := lease.Reference() - lease.Info.Lease = ref - - vm := ctx.Map.Get(lease.Info.Entity).(*VirtualMachine) - device := object.VirtualDeviceList(vm.Config.Hardware.Device) - ndevice := make(map[string]int) - for _, d := range device { - info, ok := d.GetVirtualDevice().Backing.(types.BaseVirtualDeviceFileBackingInfo) - if !ok { - continue - } - var file object.DatastorePath - file.FromString(info.GetVirtualDeviceFileBackingInfo().FileName) - name := path.Base(file.Path) - ds := vm.findDatastore(file.Datastore) - lease.files[name] = path.Join(ds.Info.GetDatastoreInfo().Url, file.Path) - - _, disk := d.(*types.VirtualDisk) - kind := device.Type(d) - n := ndevice[kind] - ndevice[kind]++ - - lease.Info.DeviceUrl = append(lease.Info.DeviceUrl, types.HttpNfcLeaseDeviceUrl{ - Key: fmt.Sprintf("/%s/%s:%d", vm.Self.Value, kind, n), - ImportKey: fmt.Sprintf("/%s/%s:%d", vm.Name, kind, n), - Url: (&url.URL{ - Scheme: "https", - Host: "*", - Path: nfcPrefix + path.Join(ref.Value, name), - }).String(), - SslThumbprint: "", - Disk: types.NewBool(disk), - TargetId: name, - DatastoreKey: "", - FileSize: 0, - }) - } - - body.Res = &types.ImportVAppResponse{ - Returnval: ref, - } - - return body -} - -type VirtualApp struct { - mo.VirtualApp -} - -func NewVAppConfigSpec() types.VAppConfigSpec { - spec := types.VAppConfigSpec{ - Annotation: "vcsim", - VmConfigSpec: types.VmConfigSpec{ - Product: []types.VAppProductSpec{ - { - Info: &types.VAppProductInfo{ - Name: "vcsim", - Vendor: "VMware", - VendorUrl: "http://www.vmware.com/", - Version: "0.1", - }, - ArrayUpdateSpec: types.ArrayUpdateSpec{ - Operation: types.ArrayUpdateOperationAdd, - }, - }, - }, - }, - } - - return spec -} - -func (p *ResourcePool) CreateVApp(req *types.CreateVApp) soap.HasFault { - body := &methods.CreateVAppBody{} - - pool, err := p.createChild(req.Name, req.ResSpec) - if err != nil { - body.Fault_ = err - return body - } - - child := &VirtualApp{} - child.ResourcePool = pool.ResourcePool - child.Self.Type = "VirtualApp" - child.ParentFolder = req.VmFolder - - if child.ParentFolder == nil { - folder := Map.getEntityDatacenter(p).VmFolder - child.ParentFolder = &folder - } - - child.VAppConfig = &types.VAppConfigInfo{ - VmConfigInfo: types.VmConfigInfo{}, - Annotation: req.ConfigSpec.Annotation, - } - - for _, product := range req.ConfigSpec.Product { - child.VAppConfig.Product = append(child.VAppConfig.Product, *product.Info) - } - - Map.PutEntity(p, Map.NewEntity(child)) - - p.ResourcePool.ResourcePool = append(p.ResourcePool.ResourcePool, child.Reference()) - - body.Res = &types.CreateVAppResponse{ - Returnval: child.Reference(), - } - - return body -} - -func (a *VirtualApp) CreateChildVMTask(ctx *Context, req *types.CreateChildVM_Task) soap.HasFault { - body := &methods.CreateChildVM_TaskBody{} - - folder := ctx.Map.Get(*a.ParentFolder).(*Folder) - - res := folder.CreateVMTask(ctx, &types.CreateVM_Task{ - This: folder.Self, - Config: req.Config, - Host: req.Host, - Pool: req.This, - }) - - body.Res = &types.CreateChildVM_TaskResponse{ - Returnval: res.(*methods.CreateVM_TaskBody).Res.Returnval, - } - - return body -} - -func (a *VirtualApp) CloneVAppTask(ctx *Context, req *types.CloneVApp_Task) soap.HasFault { - task := CreateTask(a, "cloneVapp", func(t *Task) (types.AnyType, types.BaseMethodFault) { - folder := req.Spec.VmFolder - if folder == nil { - folder = a.ParentFolder - } - - rspec := req.Spec.ResourceSpec - if rspec == nil { - s := types.DefaultResourceConfigSpec() - rspec = &s - } - - res := a.CreateVApp(&types.CreateVApp{ - This: a.Self, - Name: req.Name, - ResSpec: *rspec, - ConfigSpec: types.VAppConfigSpec{}, - VmFolder: folder, - }) - - if res.Fault() != nil { - return nil, res.Fault().VimFault().(types.BaseMethodFault) - } - - target := res.(*methods.CreateVAppBody).Res.Returnval - - for _, ref := range a.Vm { - vm := ctx.Map.Get(ref).(*VirtualMachine) - - res := vm.CloneVMTask(ctx, &types.CloneVM_Task{ - This: ref, - Folder: *folder, - Name: req.Name, - Spec: types.VirtualMachineCloneSpec{ - Location: types.VirtualMachineRelocateSpec{ - Pool: &target, - Host: req.Spec.Host, - }, - }, - }) - - ctask := ctx.Map.Get(res.(*methods.CloneVM_TaskBody).Res.Returnval).(*Task) - ctask.Wait() - if ctask.Info.Error != nil { - return nil, ctask.Info.Error.Fault - } - } - - return target, nil - }) - - return &methods.CloneVApp_TaskBody{ - Res: &types.CloneVApp_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} - -func (a *VirtualApp) CreateVApp(req *types.CreateVApp) soap.HasFault { - return (&ResourcePool{ResourcePool: a.ResourcePool}).CreateVApp(req) -} - -func (a *VirtualApp) DestroyTask(ctx *Context, req *types.Destroy_Task) soap.HasFault { - return (&ResourcePool{ResourcePool: a.ResourcePool}).DestroyTask(ctx, req) -} - -func (p *ResourcePool) DestroyTask(ctx *Context, req *types.Destroy_Task) soap.HasFault { - task := CreateTask(p, "destroy", func(t *Task) (types.AnyType, types.BaseMethodFault) { - if strings.HasSuffix(p.Parent.Type, "ComputeResource") { - // Can't destroy the root pool - return nil, &types.InvalidArgument{} - } - - parent, _ := asResourcePoolMO(ctx.Map.Get(*p.Parent)) - - // Remove child reference from rp - ctx.WithLock(parent, func() { - RemoveReference(&parent.ResourcePool, req.This) - - // The grandchildren become children of the parent (rp) - parent.ResourcePool = append(parent.ResourcePool, p.ResourcePool.ResourcePool...) - }) - - // And VMs move to the parent - vms := p.ResourcePool.Vm - for _, ref := range vms { - vm := ctx.Map.Get(ref).(*VirtualMachine) - ctx.WithLock(vm, func() { vm.ResourcePool = &parent.Self }) - } - - ctx.WithLock(parent, func() { - parent.Vm = append(parent.Vm, vms...) - }) - - ctx.Map.Remove(ctx, req.This) - - return nil, nil - }) - - return &methods.Destroy_TaskBody{ - Res: &types.Destroy_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} - -func (p *ResourcePool) DestroyChildren(ctx *Context, req *types.DestroyChildren) soap.HasFault { - walk(p, func(child types.ManagedObjectReference) { - if child.Type != "ResourcePool" { - return - } - ctx.Map.Get(child).(*ResourcePool).DestroyTask(ctx, &types.Destroy_Task{This: child}) - }) - - return &methods.DestroyChildrenBody{Res: new(types.DestroyChildrenResponse)} -} diff --git a/vendor/github.com/vmware/govmomi/simulator/search_index.go b/vendor/github.com/vmware/govmomi/simulator/search_index.go deleted file mode 100644 index 79193862101..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/search_index.go +++ /dev/null @@ -1,273 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "strings" - - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -type SearchIndex struct { - mo.SearchIndex -} - -func (s *SearchIndex) FindByDatastorePath(r *types.FindByDatastorePath) soap.HasFault { - res := &methods.FindByDatastorePathBody{Res: new(types.FindByDatastorePathResponse)} - - Map.m.Lock() - defer Map.m.Unlock() - - for ref, obj := range Map.objects { - vm, ok := asVirtualMachineMO(obj) - if !ok { - continue - } - - if vm.Config.Files.VmPathName == r.Path { - res.Res.Returnval = &ref - break - } - } - - return res -} - -func (s *SearchIndex) FindByInventoryPath(req *types.FindByInventoryPath) soap.HasFault { - body := &methods.FindByInventoryPathBody{Res: new(types.FindByInventoryPathResponse)} - - root := Map.content().RootFolder - o := &root - - if req.InventoryPath == "/" { - body.Res.Returnval = o - return body - } - - split := func(c rune) bool { - return c == '/' - } - path := strings.FieldsFunc(req.InventoryPath, split) - if len(path) < 1 { - return body - } - - for _, name := range path { - f := s.FindChild(&types.FindChild{Entity: *o, Name: name}) - - o = f.(*methods.FindChildBody).Res.Returnval - if o == nil { - break - } - } - - body.Res.Returnval = o - - return body -} - -func (s *SearchIndex) FindChild(req *types.FindChild) soap.HasFault { - body := &methods.FindChildBody{} - - obj := Map.Get(req.Entity) - - if obj == nil { - body.Fault_ = Fault("", &types.ManagedObjectNotFound{Obj: req.Entity}) - return body - } - - body.Res = new(types.FindChildResponse) - - var children []types.ManagedObjectReference - - switch e := obj.(type) { - case *Datacenter: - children = []types.ManagedObjectReference{e.VmFolder, e.HostFolder, e.DatastoreFolder, e.NetworkFolder} - case *Folder: - children = e.ChildEntity - case *mo.ComputeResource: - children = e.Host - children = append(children, *e.ResourcePool) - case *ClusterComputeResource: - children = e.Host - children = append(children, *e.ResourcePool) - case *ResourcePool: - children = e.ResourcePool.ResourcePool - children = append(children, e.Vm...) - case *VirtualApp: - children = e.ResourcePool.ResourcePool - children = append(children, e.Vm...) - } - - match := Map.FindByName(req.Name, children) - - if match != nil { - ref := match.Reference() - body.Res.Returnval = &ref - } - - return body -} - -func (s *SearchIndex) FindByUuid(req *types.FindByUuid) soap.HasFault { - body := &methods.FindByUuidBody{Res: new(types.FindByUuidResponse)} - - Map.m.Lock() - defer Map.m.Unlock() - - if req.VmSearch { - // Find Virtual Machine using UUID - for ref, obj := range Map.objects { - vm, ok := asVirtualMachineMO(obj) - if !ok { - continue - } - if req.InstanceUuid != nil && *req.InstanceUuid { - if vm.Config.InstanceUuid == req.Uuid { - body.Res.Returnval = &ref - break - } - } else { - if vm.Config.Uuid == req.Uuid { - body.Res.Returnval = &ref - break - } - } - } - } else { - // Find Host System using UUID - for ref, obj := range Map.objects { - host, ok := asHostSystemMO(obj) - if !ok { - continue - } - if host.Summary.Hardware.Uuid == req.Uuid { - body.Res.Returnval = &ref - break - } - } - } - - return body -} - -func (s *SearchIndex) FindByDnsName(req *types.FindByDnsName) soap.HasFault { - body := &methods.FindByDnsNameBody{Res: new(types.FindByDnsNameResponse)} - - all := types.FindAllByDnsName(*req) - - switch r := s.FindAllByDnsName(&all).(type) { - case *methods.FindAllByDnsNameBody: - if len(r.Res.Returnval) > 0 { - body.Res.Returnval = &r.Res.Returnval[0] - } - default: - // no need until FindAllByDnsName below returns a Fault - } - - return body -} - -func (s *SearchIndex) FindAllByDnsName(req *types.FindAllByDnsName) soap.HasFault { - body := &methods.FindAllByDnsNameBody{Res: new(types.FindAllByDnsNameResponse)} - - Map.m.Lock() - defer Map.m.Unlock() - - if req.VmSearch { - // Find Virtual Machine using DNS name - for ref, obj := range Map.objects { - vm, ok := asVirtualMachineMO(obj) - if !ok { - continue - } - if vm.Guest.HostName == req.DnsName { - body.Res.Returnval = append(body.Res.Returnval, ref) - } - } - } else { - // Find Host System using DNS name - for ref, obj := range Map.objects { - host, ok := asHostSystemMO(obj) - if !ok { - continue - } - for _, net := range host.Config.Network.NetStackInstance { - if net.DnsConfig.GetHostDnsConfig().HostName == req.DnsName { - body.Res.Returnval = append(body.Res.Returnval, ref) - } - } - } - } - - return body -} - -func (s *SearchIndex) FindByIp(req *types.FindByIp) soap.HasFault { - body := &methods.FindByIpBody{Res: new(types.FindByIpResponse)} - - all := types.FindAllByIp(*req) - - switch r := s.FindAllByIp(&all).(type) { - case *methods.FindAllByIpBody: - if len(r.Res.Returnval) > 0 { - body.Res.Returnval = &r.Res.Returnval[0] - } - default: - // no need until FindAllByIp below returns a Fault - } - - return body -} - -func (s *SearchIndex) FindAllByIp(req *types.FindAllByIp) soap.HasFault { - body := &methods.FindAllByIpBody{Res: new(types.FindAllByIpResponse)} - - Map.m.Lock() - defer Map.m.Unlock() - - if req.VmSearch { - // Find Virtual Machine using IP - for ref, obj := range Map.objects { - vm, ok := asVirtualMachineMO(obj) - if !ok { - continue - } - if vm.Guest.IpAddress == req.Ip { - body.Res.Returnval = append(body.Res.Returnval, ref) - } - } - } else { - // Find Host System using IP - for ref, obj := range Map.objects { - host, ok := asHostSystemMO(obj) - if !ok { - continue - } - for _, net := range host.Config.Network.Vnic { - if net.Spec.Ip.IpAddress == req.Ip { - body.Res.Returnval = append(body.Res.Returnval, ref) - } - } - } - } - - return body -} diff --git a/vendor/github.com/vmware/govmomi/simulator/service_instance.go b/vendor/github.com/vmware/govmomi/simulator/service_instance.go deleted file mode 100644 index 3524d154990..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/service_instance.go +++ /dev/null @@ -1,99 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "time" - - "github.com/google/uuid" - - "github.com/vmware/govmomi/simulator/internal" - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -type ServiceInstance struct { - mo.ServiceInstance -} - -func NewServiceInstance(ctx *Context, content types.ServiceContent, folder mo.Folder) *ServiceInstance { - // TODO: This function ignores the passed in Map and operates on the - // global Map. - Map = NewRegistry() - ctx.Map = Map - - s := &ServiceInstance{} - - s.Self = vim25.ServiceInstance - s.Content = content - - Map.Put(s) - - f := &Folder{Folder: folder} - Map.Put(f) - - if content.About.ApiType == "HostAgent" { - CreateDefaultESX(ctx, f) - } else { - content.About.InstanceUuid = uuid.New().String() - } - - refs := mo.References(content) - - for i := range refs { - if Map.Get(refs[i]) != nil { - continue - } - content := types.ObjectContent{Obj: refs[i]} - o, err := loadObject(content) - if err != nil { - panic(err) - } - Map.Put(o) - } - - return s -} - -func (s *ServiceInstance) RetrieveServiceContent(*types.RetrieveServiceContent) soap.HasFault { - return &methods.RetrieveServiceContentBody{ - Res: &types.RetrieveServiceContentResponse{ - Returnval: s.Content, - }, - } -} - -func (*ServiceInstance) CurrentTime(*types.CurrentTime) soap.HasFault { - return &methods.CurrentTimeBody{ - Res: &types.CurrentTimeResponse{ - Returnval: time.Now(), - }, - } -} - -func (s *ServiceInstance) RetrieveInternalContent(*internal.RetrieveInternalContent) soap.HasFault { - return &internal.RetrieveInternalContentBody{ - Res: &internal.RetrieveInternalContentResponse{ - Returnval: internal.InternalServiceInstanceContent{ - NfcService: types.ManagedObjectReference{Type: "NfcService", Value: "NfcService"}, - }, - }, - } -} diff --git a/vendor/github.com/vmware/govmomi/simulator/session_manager.go b/vendor/github.com/vmware/govmomi/simulator/session_manager.go deleted file mode 100644 index e9fbfcb6374..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/session_manager.go +++ /dev/null @@ -1,456 +0,0 @@ -/* -Copyright (c) 2017-2023 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - -http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "context" - "fmt" - "net/http" - "net/url" - "os" - "reflect" - "strings" - "sync" - "time" - - "github.com/google/uuid" - - "github.com/vmware/govmomi/session" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -type SessionManager struct { - mo.SessionManager - nopLocker - - ServiceHostName string - TLSCert func() string - ValidLogin func(*types.Login) bool - - sessions map[string]Session -} - -func (m *SessionManager) init(*Registry) { - m.sessions = make(map[string]Session) -} - -var ( - // SessionIdleTimeout duration used to expire idle sessions - SessionIdleTimeout time.Duration - - sessionMutex sync.Mutex - - // secureCookies enables Set-Cookie.Secure=true - // We can't do this by default as simulator.Service defaults to no TLS by default and - // Go's cookiejar does not send Secure cookies unless the URL scheme is https. - secureCookies = os.Getenv("VCSIM_SECURE_COOKIES") == "true" -) - -func createSession(ctx *Context, name string, locale string) types.UserSession { - now := time.Now().UTC() - - if locale == "" { - locale = session.Locale - } - - session := Session{ - UserSession: types.UserSession{ - Key: uuid.New().String(), - UserName: name, - FullName: name, - LoginTime: now, - LastActiveTime: now, - Locale: locale, - MessageLocale: locale, - ExtensionSession: types.NewBool(false), - }, - Registry: NewRegistry(), - } - - ctx.SetSession(session, true) - - return ctx.Session.UserSession -} - -func (m *SessionManager) getSession(id string) (Session, bool) { - sessionMutex.Lock() - defer sessionMutex.Unlock() - s, ok := m.sessions[id] - return s, ok -} - -func (m *SessionManager) delSession(id string) { - sessionMutex.Lock() - defer sessionMutex.Unlock() - delete(m.sessions, id) -} - -func (m *SessionManager) putSession(s Session) { - sessionMutex.Lock() - defer sessionMutex.Unlock() - m.sessions[s.Key] = s -} - -func (s *SessionManager) Authenticate(u url.URL, req *types.Login) bool { - if u.User == nil || u.User == DefaultLogin { - return req.UserName != "" && req.Password != "" - } - - if s.ValidLogin != nil { - return s.ValidLogin(req) - } - - pass, _ := u.User.Password() - return req.UserName == u.User.Username() && req.Password == pass -} - -func (s *SessionManager) Login(ctx *Context, req *types.Login) soap.HasFault { - body := new(methods.LoginBody) - - if ctx.Session == nil && s.Authenticate(*ctx.svc.Listen, req) { - body.Res = &types.LoginResponse{ - Returnval: createSession(ctx, req.UserName, req.Locale), - } - } else { - body.Fault_ = invalidLogin - } - - return body -} - -func (s *SessionManager) LoginExtensionByCertificate(ctx *Context, req *types.LoginExtensionByCertificate) soap.HasFault { - body := new(methods.LoginExtensionByCertificateBody) - - if ctx.req.TLS == nil || len(ctx.req.TLS.PeerCertificates) == 0 { - body.Fault_ = Fault("", new(types.NoClientCertificate)) - return body - } - - if req.ExtensionKey == "" || ctx.Session != nil { - body.Fault_ = invalidLogin - } else { - body.Res = &types.LoginExtensionByCertificateResponse{ - Returnval: createSession(ctx, req.ExtensionKey, req.Locale), - } - } - - return body -} - -func (s *SessionManager) LoginByToken(ctx *Context, req *types.LoginByToken) soap.HasFault { - body := new(methods.LoginByTokenBody) - - if ctx.Session != nil { - body.Fault_ = invalidLogin - } else { - var subject struct { - ID string `xml:"Assertion>Subject>NameID"` - } - - if s, ok := ctx.Header.Security.(*Element); ok { - _ = s.Decode(&subject) - } - - if subject.ID == "" { - body.Fault_ = invalidLogin - return body - } - - body.Res = &types.LoginByTokenResponse{ - Returnval: createSession(ctx, subject.ID, req.Locale), - } - } - - return body -} - -func (s *SessionManager) Logout(ctx *Context, _ *types.Logout) soap.HasFault { - session := ctx.Session - s.delSession(session.Key) - pc := ctx.Map.content().PropertyCollector - - for ref, obj := range ctx.Session.Registry.objects { - if ref == pc { - continue // don't unregister the PropertyCollector singleton - } - if _, ok := obj.(RegisterObject); ok { - ctx.Map.Remove(ctx, ref) // Remove RegisterObject handlers - } - } - - ctx.postEvent(&types.UserLogoutSessionEvent{ - IpAddress: session.IpAddress, - UserAgent: session.UserAgent, - SessionId: session.Key, - LoginTime: &session.LoginTime, - }) - - return &methods.LogoutBody{Res: new(types.LogoutResponse)} -} - -func (s *SessionManager) TerminateSession(ctx *Context, req *types.TerminateSession) soap.HasFault { - body := new(methods.TerminateSessionBody) - - for _, id := range req.SessionId { - if id == ctx.Session.Key { - body.Fault_ = Fault("", new(types.InvalidArgument)) - return body - } - if _, ok := s.getSession(id); !ok { - body.Fault_ = Fault("", new(types.NotFound)) - return body - } - s.delSession(id) - } - - body.Res = new(types.TerminateSessionResponse) - return body -} - -func (s *SessionManager) SessionIsActive(ctx *Context, req *types.SessionIsActive) soap.HasFault { - body := new(methods.SessionIsActiveBody) - - if ctx.Map.IsESX() { - body.Fault_ = Fault("", new(types.NotImplemented)) - return body - } - - body.Res = new(types.SessionIsActiveResponse) - - if session, exists := s.getSession(req.SessionID); exists { - body.Res.Returnval = session.UserName == req.UserName - } - - return body -} - -func (s *SessionManager) AcquireCloneTicket(ctx *Context, _ *types.AcquireCloneTicket) soap.HasFault { - session := *ctx.Session - session.Key = uuid.New().String() - s.putSession(session) - - return &methods.AcquireCloneTicketBody{ - Res: &types.AcquireCloneTicketResponse{ - Returnval: session.Key, - }, - } -} - -func (s *SessionManager) CloneSession(ctx *Context, ticket *types.CloneSession) soap.HasFault { - body := new(methods.CloneSessionBody) - - session, exists := s.getSession(ticket.CloneTicket) - - if exists { - s.delSession(ticket.CloneTicket) // A clone ticket can only be used once - session.Key = uuid.New().String() - ctx.SetSession(session, true) - - body.Res = &types.CloneSessionResponse{ - Returnval: session.UserSession, - } - } else { - body.Fault_ = invalidLogin - } - - return body -} - -func (s *SessionManager) AcquireGenericServiceTicket(ticket *types.AcquireGenericServiceTicket) soap.HasFault { - return &methods.AcquireGenericServiceTicketBody{ - Res: &types.AcquireGenericServiceTicketResponse{ - Returnval: types.SessionManagerGenericServiceTicket{ - Id: uuid.New().String(), - HostName: s.ServiceHostName, - }, - }, - } -} - -var invalidLogin = Fault("Login failure", new(types.InvalidLogin)) - -// Context provides per-request Session management. -type Context struct { - req *http.Request - res http.ResponseWriter - svc *Service - - context.Context - Session *Session - Header soap.Header - Caller *types.ManagedObjectReference - Map *Registry -} - -// mapSession maps an HTTP cookie to a Session. -func (c *Context) mapSession() { - if cookie, err := c.req.Cookie(soap.SessionCookieName); err == nil { - if val, ok := c.svc.sm.getSession(cookie.Value); ok { - c.SetSession(val, false) - } - } -} - -func (m *SessionManager) expiredSession(id string, now time.Time) bool { - expired := true - - s, ok := m.getSession(id) - if ok { - expired = now.Sub(s.LastActiveTime) > SessionIdleTimeout - if expired { - m.delSession(id) - } - } - - return expired -} - -// SessionIdleWatch starts a goroutine that calls func expired() at SessionIdleTimeout intervals. -// The goroutine exits if the func returns true. -func SessionIdleWatch(ctx context.Context, id string, expired func(string, time.Time) bool) { - if SessionIdleTimeout == 0 { - return - } - - go func() { - for t := time.NewTimer(SessionIdleTimeout); ; { - select { - case <-ctx.Done(): - return - case now := <-t.C: - if expired(id, now) { - return - } - t.Reset(SessionIdleTimeout) - } - } - }() -} - -// SetSession should be called after successful authentication. -func (c *Context) SetSession(session Session, login bool) { - session.UserAgent = c.req.UserAgent() - session.IpAddress = strings.Split(c.req.RemoteAddr, ":")[0] - session.LastActiveTime = time.Now() - session.CallCount++ - - c.svc.sm.putSession(session) - c.Session = &session - - if login { - http.SetCookie(c.res, &http.Cookie{ - Name: soap.SessionCookieName, - Value: session.Key, - Secure: secureCookies, - HttpOnly: true, - }) - - c.postEvent(&types.UserLoginSessionEvent{ - SessionId: session.Key, - IpAddress: session.IpAddress, - UserAgent: session.UserAgent, - Locale: session.Locale, - }) - - SessionIdleWatch(c.Context, session.Key, c.svc.sm.expiredSession) - } -} - -// WithLock holds a lock for the given object while the given function is run. -// It will skip locking if this context already holds the given object's lock. -func (c *Context) WithLock(obj mo.Reference, f func()) { - // TODO: This is not always going to be correct. An object should - // really be locked by the registry that "owns it", which is not always - // Map. This function will need to take the Registry as an additional - // argument to accomplish this. - // Basic mutex locking will work even if obj doesn't belong to Map, but - // if obj implements sync.Locker, that custom locking will not be used. - c.Map.WithLock(c, obj, f) -} - -// postEvent wraps EventManager.PostEvent for internal use, with a lock on the EventManager. -func (c *Context) postEvent(events ...types.BaseEvent) { - m := c.Map.EventManager() - c.WithLock(m, func() { - for _, event := range events { - m.PostEvent(c, &types.PostEvent{EventToPost: event}) - } - }) -} - -// Session combines a UserSession and a Registry for per-session managed objects. -type Session struct { - types.UserSession - *Registry -} - -func (s *Session) setReference(item mo.Reference) { - ref := item.Reference() - if ref.Value == "" { - ref.Value = fmt.Sprintf("session[%s]%s", s.Key, uuid.New()) - } - if ref.Type == "" { - ref.Type = typeName(item) - } - s.Registry.setReference(item, ref) -} - -// Put wraps Registry.Put, setting the moref value to include the session key. -func (s *Session) Put(item mo.Reference) mo.Reference { - s.setReference(item) - return s.Registry.Put(item) -} - -// Get wraps Registry.Get, session-izing singleton objects such as SessionManager and the root PropertyCollector. -func (s *Session) Get(ref types.ManagedObjectReference) mo.Reference { - obj := s.Registry.Get(ref) - if obj != nil { - return obj - } - - // Return a session "view" of certain singleton objects - switch ref.Type { - case "SessionManager": - // Clone SessionManager so the PropertyCollector can properly report CurrentSession - m := *Map.SessionManager() - m.CurrentSession = &s.UserSession - - // TODO: we could maintain SessionList as part of the SessionManager singleton - sessionMutex.Lock() - for _, session := range m.sessions { - m.SessionList = append(m.SessionList, session.UserSession) - } - sessionMutex.Unlock() - - return &m - case "PropertyCollector": - if ref == Map.content().PropertyCollector { - // Per-session instance of the PropertyCollector singleton. - // Using reflection here as PropertyCollector might be wrapped with a custom type. - obj = Map.Get(ref) - pc := reflect.New(reflect.TypeOf(obj).Elem()) - obj = pc.Interface().(mo.Reference) - s.Registry.setReference(obj, ref) - return s.Put(obj) - } - } - - return Map.Get(ref) -} diff --git a/vendor/github.com/vmware/govmomi/simulator/simulator.go b/vendor/github.com/vmware/govmomi/simulator/simulator.go deleted file mode 100644 index 673031fc950..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/simulator.go +++ /dev/null @@ -1,940 +0,0 @@ -/* -Copyright (c) 2017-2018 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "bytes" - "context" - "crypto/tls" - "crypto/x509" - "encoding/base64" - "encoding/json" - "encoding/pem" - "fmt" - "io" - "io/ioutil" - "log" - "net" - "net/http" - "net/url" - "os" - "path" - "reflect" - "sort" - "strconv" - "strings" - - "github.com/google/uuid" - - "github.com/vmware/govmomi/find" - "github.com/vmware/govmomi/object" - "github.com/vmware/govmomi/simulator/internal" - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" - "github.com/vmware/govmomi/vim25/xml" -) - -var ( - // Trace when set to true, writes SOAP traffic to stderr - Trace = false - - // TraceFile is the output file when Trace = true - TraceFile = os.Stderr - - // DefaultLogin for authentication - DefaultLogin = url.UserPassword("user", "pass") -) - -// Method encapsulates a decoded SOAP client request -type Method struct { - Name string - This types.ManagedObjectReference - Header soap.Header - Body types.AnyType -} - -// Service decodes incoming requests and dispatches to a Handler -type Service struct { - client *vim25.Client - sm *SessionManager - sdk map[string]*Registry - funcs []handleFunc - delay *DelayConfig - - readAll func(io.Reader) ([]byte, error) - - Listen *url.URL - TLS *tls.Config - ServeMux *http.ServeMux - // RegisterEndpoints will initialize any endpoints added via RegisterEndpoint - RegisterEndpoints bool -} - -// Server provides a simulator Service over HTTP -type Server struct { - *internal.Server - URL *url.URL - Tunnel int - - caFile string -} - -// New returns an initialized simulator Service instance -func New(instance *ServiceInstance) *Service { - s := &Service{ - readAll: ioutil.ReadAll, - sm: Map.SessionManager(), - sdk: make(map[string]*Registry), - } - - s.client, _ = vim25.NewClient(context.Background(), s) - - return s -} - -type serverFaultBody struct { - Reason *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *serverFaultBody) Fault() *soap.Fault { return b.Reason } - -func serverFault(msg string) soap.HasFault { - return &serverFaultBody{Reason: Fault(msg, &types.InvalidRequest{})} -} - -// Fault wraps the given message and fault in a soap.Fault -func Fault(msg string, fault types.BaseMethodFault) *soap.Fault { - f := &soap.Fault{ - Code: "ServerFaultCode", - String: msg, - } - - f.Detail.Fault = fault - - return f -} - -func tracef(format string, v ...interface{}) { - if Trace { - log.Printf(format, v...) - } -} - -func (s *Service) call(ctx *Context, method *Method) soap.HasFault { - handler := ctx.Map.Get(method.This) - session := ctx.Session - ctx.Caller = &method.This - - if ctx.Map.Handler != nil { - h, fault := ctx.Map.Handler(ctx, method) - if fault != nil { - return &serverFaultBody{Reason: Fault("", fault)} - } - if h != nil { - handler = h - } - } - - if session == nil { - switch method.Name { - case "RetrieveServiceContent", "PbmRetrieveServiceContent", "Fetch", "List", "Login", "LoginByToken", "LoginExtensionByCertificate", "RetrieveProperties", "RetrievePropertiesEx", "CloneSession": - // ok for now, TODO: authz - default: - fault := &types.NotAuthenticated{ - NoPermission: types.NoPermission{ - Object: &method.This, - PrivilegeId: "System.View", - }, - } - return &serverFaultBody{Reason: Fault("", fault)} - } - } else { - // Prefer the Session.Registry, ServiceContent.PropertyCollector filter field for example is per-session - if h := session.Get(method.This); h != nil { - handler = h - } - } - - if handler == nil { - msg := fmt.Sprintf("managed object not found: %s", method.This) - log.Print(msg) - fault := &types.ManagedObjectNotFound{Obj: method.This} - return &serverFaultBody{Reason: Fault(msg, fault)} - } - - // Lowercase methods can't be accessed outside their package - name := strings.Title(method.Name) - - if strings.HasSuffix(name, vTaskSuffix) { - // Make golint happy renaming "Foo_Task" -> "FooTask" - name = name[:len(name)-len(vTaskSuffix)] + sTaskSuffix - } - - m := reflect.ValueOf(handler).MethodByName(name) - if !m.IsValid() { - msg := fmt.Sprintf("%s does not implement: %s", method.This, method.Name) - log.Print(msg) - fault := &types.MethodNotFound{Receiver: method.This, Method: method.Name} - return &serverFaultBody{Reason: Fault(msg, fault)} - } - - if e, ok := handler.(mo.Entity); ok { - for _, dm := range e.Entity().DisabledMethod { - if name == dm { - msg := fmt.Sprintf("%s method is disabled: %s", method.This, method.Name) - fault := &types.MethodDisabled{} - return &serverFaultBody{Reason: Fault(msg, fault)} - } - } - } - - // We have a valid call. Introduce a delay if requested - if s.delay != nil { - s.delay.delay(method.Name) - } - - var args, res []reflect.Value - if m.Type().NumIn() == 2 { - args = append(args, reflect.ValueOf(ctx)) - } - args = append(args, reflect.ValueOf(method.Body)) - ctx.Map.WithLock(ctx, handler, func() { - res = m.Call(args) - }) - - return res[0].Interface().(soap.HasFault) -} - -// internalSession is the session for use by the in-memory client (Service.RoundTrip) -var internalSession = &Session{ - UserSession: types.UserSession{ - Key: uuid.New().String(), - }, - Registry: NewRegistry(), -} - -// RoundTrip implements the soap.RoundTripper interface in process. -// Rather than encode/decode SOAP over HTTP, this implementation uses reflection. -func (s *Service) RoundTrip(ctx context.Context, request, response soap.HasFault) error { - field := func(r soap.HasFault, name string) reflect.Value { - return reflect.ValueOf(r).Elem().FieldByName(name) - } - - // Every struct passed to soap.RoundTrip has "Req" and "Res" fields - req := field(request, "Req") - - // Every request has a "This" field. - this := req.Elem().FieldByName("This") - - method := &Method{ - Name: req.Elem().Type().Name(), - This: this.Interface().(types.ManagedObjectReference), - Body: req.Interface(), - } - - res := s.call(&Context{ - Map: Map, - Context: ctx, - Session: internalSession, - }, method) - - if err := res.Fault(); err != nil { - return soap.WrapSoapFault(err) - } - - field(response, "Res").Set(field(res, "Res")) - - return nil -} - -// soapEnvelope is a copy of soap.Envelope, with namespace changed to "soapenv", -// and additional namespace attributes required by some client libraries. -// Go still has issues decoding with such a namespace, but encoding is ok. -type soapEnvelope struct { - XMLName xml.Name `xml:"soapenv:Envelope"` - Enc string `xml:"xmlns:soapenc,attr"` - Env string `xml:"xmlns:soapenv,attr"` - XSD string `xml:"xmlns:xsd,attr"` - XSI string `xml:"xmlns:xsi,attr"` - Body interface{} `xml:"soapenv:Body"` -} - -type faultDetail struct { - Fault types.AnyType -} - -// soapFault is a copy of soap.Fault, with the same changes as soapEnvelope -type soapFault struct { - XMLName xml.Name `xml:"soapenv:Fault"` - Code string `xml:"faultcode"` - String string `xml:"faultstring"` - Detail struct { - Fault *faultDetail - } `xml:"detail"` -} - -// MarshalXML renames the start element from "Fault" to "${Type}Fault" -func (d *faultDetail) MarshalXML(e *xml.Encoder, start xml.StartElement) error { - kind := reflect.TypeOf(d.Fault).Elem().Name() - start.Name.Local = kind + "Fault" - start.Attr = append(start.Attr, - xml.Attr{ - Name: xml.Name{Local: "xmlns"}, - Value: "urn:" + vim25.Namespace, - }, - xml.Attr{ - Name: xml.Name{Local: "xsi:type"}, - Value: kind, - }) - return e.EncodeElement(d.Fault, start) -} - -// response sets xml.Name.Space when encoding Body. -// Note that namespace is intentionally omitted in the vim25/methods/methods.go Body.Res field tags. -type response struct { - Namespace string - Body soap.HasFault -} - -func (r *response) MarshalXML(e *xml.Encoder, start xml.StartElement) error { - val := reflect.ValueOf(r.Body).Elem().FieldByName("Res") - if !val.IsValid() { - return fmt.Errorf("%T: invalid response type (missing 'Res' field)", r.Body) - } - if val.IsNil() { - return fmt.Errorf("%T: invalid response (nil 'Res' field)", r.Body) - } - res := xml.StartElement{ - Name: xml.Name{ - Space: "urn:" + r.Namespace, - Local: val.Elem().Type().Name(), - }, - } - if err := e.EncodeToken(start); err != nil { - return err - } - if err := e.EncodeElement(val.Interface(), res); err != nil { - return err - } - return e.EncodeToken(start.End()) -} - -// About generates some info about the simulator. -func (s *Service) About(w http.ResponseWriter, r *http.Request) { - var about struct { - Methods []string - Types []string - } - - seen := make(map[string]bool) - - f := reflect.TypeOf((*soap.HasFault)(nil)).Elem() - - for _, sdk := range s.sdk { - for _, obj := range sdk.objects { - kind := obj.Reference().Type - if seen[kind] { - continue - } - seen[kind] = true - - about.Types = append(about.Types, kind) - - t := reflect.TypeOf(obj) - for i := 0; i < t.NumMethod(); i++ { - m := t.Method(i) - if seen[m.Name] { - continue - } - seen[m.Name] = true - - in := m.Type.NumIn() - if in < 2 || in > 3 { // at least 2 params (receiver and request), optionally a 3rd param (context) - continue - } - if m.Type.NumOut() != 1 || m.Type.Out(0) != f { // all methods return soap.HasFault - continue - } - - about.Methods = append(about.Methods, strings.Replace(m.Name, "Task", "_Task", 1)) - } - } - } - - sort.Strings(about.Methods) - sort.Strings(about.Types) - - w.Header().Set("Content-Type", "application/json") - enc := json.NewEncoder(w) - enc.SetIndent("", " ") - _ = enc.Encode(&about) -} - -var endpoints []func(*Service, *Registry) - -// RegisterEndpoint funcs are called after the Server is initialized if Service.RegisterEndpoints=true. -// Such a func would typically register a SOAP endpoint via Service.RegisterSDK or REST endpoint via Service.Handle -func RegisterEndpoint(endpoint func(*Service, *Registry)) { - endpoints = append(endpoints, endpoint) -} - -// Handle registers the handler for the given pattern with Service.ServeMux. -func (s *Service) Handle(pattern string, handler http.Handler) { - s.ServeMux.Handle(pattern, handler) - // Not ideal, but avoids having to add yet another registration mechanism - // so we can optionally use vapi/simulator internally. - if m, ok := handler.(tagManager); ok { - s.sdk[vim25.Path].tagManager = m - } -} - -type muxHandleFunc interface { - HandleFunc(string, func(http.ResponseWriter, *http.Request)) -} - -type handleFunc struct { - pattern string - handler func(http.ResponseWriter, *http.Request) -} - -// HandleFunc dispatches to http.ServeMux.HandleFunc after all endpoints have been registered. -// This allows dispatching to an endpoint's HandleFunc impl, such as vapi/simulator for example. -func (s *Service) HandleFunc(pattern string, handler func(http.ResponseWriter, *http.Request)) { - s.funcs = append(s.funcs, handleFunc{pattern, handler}) -} - -// RegisterSDK adds an HTTP handler for the Registry's Path and Namespace. -// If r.Path is already registered, r's objects are added to the existing Registry. -func (s *Service) RegisterSDK(r *Registry) { - if existing, ok := s.sdk[r.Path]; ok { - for id, obj := range r.objects { - existing.objects[id] = obj - } - return - } - - if s.ServeMux == nil { - s.ServeMux = http.NewServeMux() - } - - s.sdk[r.Path] = r - s.ServeMux.HandleFunc(r.Path, s.ServeSDK) -} - -// StatusSDK can be used to simulate an /sdk HTTP response code other than 200. -// The value of StatusSDK is restored to http.StatusOK after 1 response. -// This can be useful to test vim25.Retry() for example. -var StatusSDK = http.StatusOK - -// ServeSDK implements the http.Handler interface -func (s *Service) ServeSDK(w http.ResponseWriter, r *http.Request) { - if r.Method != http.MethodPost { - w.WriteHeader(http.StatusMethodNotAllowed) - return - } - - if StatusSDK != http.StatusOK { - w.WriteHeader(StatusSDK) - StatusSDK = http.StatusOK // reset - return - } - - body, err := s.readAll(r.Body) - _ = r.Body.Close() - if err != nil { - log.Printf("error reading body: %s", err) - w.WriteHeader(http.StatusBadRequest) - return - } - - if Trace { - fmt.Fprintf(TraceFile, "Request: %s\n", string(body)) - } - - ctx := &Context{ - req: r, - res: w, - svc: s, - - Map: s.sdk[r.URL.Path], - Context: context.Background(), - } - ctx.Map.WithLock(ctx, s.sm, ctx.mapSession) - - var res soap.HasFault - var soapBody interface{} - - method, err := UnmarshalBody(ctx.Map.typeFunc, body) - if err != nil { - res = serverFault(err.Error()) - } else { - ctx.Header = method.Header - if method.Name == "Fetch" { - // Redirect any Fetch method calls to the PropertyCollector singleton - method.This = ctx.Map.content().PropertyCollector - } - res = s.call(ctx, method) - } - - if f := res.Fault(); f != nil { - w.WriteHeader(http.StatusInternalServerError) - - // the generated method/*Body structs use the '*soap.Fault' type, - // so we need our own Body type to use the modified '*soapFault' type. - soapBody = struct { - Fault *soapFault - }{ - &soapFault{ - Code: f.Code, - String: f.String, - Detail: struct { - Fault *faultDetail - }{&faultDetail{f.Detail.Fault}}, - }, - } - } else { - w.WriteHeader(http.StatusOK) - - soapBody = &response{ctx.Map.Namespace, res} - } - - var out bytes.Buffer - - fmt.Fprint(&out, xml.Header) - e := xml.NewEncoder(&out) - err = e.Encode(&soapEnvelope{ - Enc: "http://schemas.xmlsoap.org/soap/encoding/", - Env: "http://schemas.xmlsoap.org/soap/envelope/", - XSD: "http://www.w3.org/2001/XMLSchema", - XSI: "http://www.w3.org/2001/XMLSchema-instance", - Body: soapBody, - }) - if err == nil { - err = e.Flush() - } - - if err != nil { - log.Printf("error encoding %s response: %s", method.Name, err) - return - } - - if Trace { - fmt.Fprintf(TraceFile, "Response: %s\n", out.String()) - } - - _, _ = w.Write(out.Bytes()) -} - -func (s *Service) findDatastore(query url.Values) (*Datastore, error) { - ctx := context.Background() - - finder := find.NewFinder(s.client, false) - dc, err := finder.DatacenterOrDefault(ctx, query.Get("dcPath")) - if err != nil { - return nil, err - } - - finder.SetDatacenter(dc) - - ds, err := finder.DatastoreOrDefault(ctx, query.Get("dsName")) - if err != nil { - return nil, err - } - - return Map.Get(ds.Reference()).(*Datastore), nil -} - -const folderPrefix = "/folder/" - -// ServeDatastore handler for Datastore access via /folder path. -func (s *Service) ServeDatastore(w http.ResponseWriter, r *http.Request) { - ds, ferr := s.findDatastore(r.URL.Query()) - if ferr != nil { - log.Printf("failed to locate datastore with query params: %s", r.URL.RawQuery) - w.WriteHeader(http.StatusNotFound) - return - } - - r.URL.Path = strings.TrimPrefix(r.URL.Path, folderPrefix) - p := path.Join(ds.Info.GetDatastoreInfo().Url, r.URL.Path) - - switch r.Method { - case http.MethodPost: - _, err := os.Stat(p) - if err == nil { - // File exists - w.WriteHeader(http.StatusConflict) - return - } - - // File does not exist, fallthrough to create via PUT logic - fallthrough - case http.MethodPut: - dir := path.Dir(p) - _ = os.MkdirAll(dir, 0700) - - f, err := os.Create(p) - if err != nil { - log.Printf("failed to %s '%s': %s", r.Method, p, err) - w.WriteHeader(http.StatusInternalServerError) - return - } - defer f.Close() - - _, _ = io.Copy(f, r.Body) - default: - fs := http.FileServer(http.Dir(ds.Info.GetDatastoreInfo().Url)) - - fs.ServeHTTP(w, r) - } -} - -// ServiceVersions handler for the /sdk/vimServiceVersions.xml path. -func (s *Service) ServiceVersions(w http.ResponseWriter, r *http.Request) { - const versions = xml.Header + ` - - urn:vim25 - %s - - 6.0 - 5.5 - - - -` - fmt.Fprintf(w, versions, s.client.ServiceContent.About.ApiVersion) -} - -// defaultIP returns addr.IP if specified, otherwise attempts to find a non-loopback ipv4 IP -func defaultIP(addr *net.TCPAddr) string { - if !addr.IP.IsUnspecified() { - return addr.IP.String() - } - - nics, err := net.Interfaces() - if err != nil { - return addr.IP.String() - } - - for _, nic := range nics { - if nic.Name == "docker0" || strings.HasPrefix(nic.Name, "vmnet") { - continue - } - addrs, aerr := nic.Addrs() - if aerr != nil { - continue - } - for _, addr := range addrs { - if ip, ok := addr.(*net.IPNet); ok && !ip.IP.IsLoopback() { - if ip.IP.To4() != nil { - return ip.IP.String() - } - } - } - } - - return addr.IP.String() -} - -// NewServer returns an http Server instance for the given service -func (s *Service) NewServer() *Server { - s.RegisterSDK(Map) - - mux := s.ServeMux - vim := Map.Path + "/vimService" - s.sdk[vim] = s.sdk[vim25.Path] - mux.HandleFunc(vim, s.ServeSDK) - mux.HandleFunc(Map.Path+"/vimServiceVersions.xml", s.ServiceVersions) - mux.HandleFunc(folderPrefix, s.ServeDatastore) - mux.HandleFunc(guestPrefix, ServeGuest) - mux.HandleFunc(nfcPrefix, ServeNFC) - mux.HandleFunc("/about", s.About) - - if s.Listen == nil { - s.Listen = new(url.URL) - } - ts := internal.NewUnstartedServer(mux, s.Listen.Host) - addr := ts.Listener.Addr().(*net.TCPAddr) - port := strconv.Itoa(addr.Port) - u := &url.URL{ - Scheme: "http", - Host: net.JoinHostPort(defaultIP(addr), port), - Path: Map.Path, - } - if s.TLS != nil { - u.Scheme += "s" - } - - // Redirect clients to this http server, rather than HostSystem.Name - Map.SessionManager().ServiceHostName = u.Host - - // Add vcsim config to OptionManager for use by SDK handlers (see lookup/simulator for example) - m := Map.OptionManager() - for i := range m.Setting { - setting := m.Setting[i].GetOptionValue() - - if strings.HasSuffix(setting.Key, ".uri") { - // Rewrite any URIs with vcsim's host:port - endpoint, err := url.Parse(setting.Value.(string)) - if err == nil { - endpoint.Scheme = u.Scheme - endpoint.Host = u.Host - setting.Value = endpoint.String() - } - } - } - m.Setting = append(m.Setting, - &types.OptionValue{ - Key: "vcsim.server.url", - Value: u.String(), - }, - ) - - u.User = s.Listen.User - if u.User == nil { - u.User = DefaultLogin - } - s.Listen = u - - if s.RegisterEndpoints { - for i := range endpoints { - endpoints[i](s, Map) - } - } - - for _, f := range s.funcs { - pattern := &url.URL{Path: f.pattern} - endpoint, _ := s.ServeMux.Handler(&http.Request{URL: pattern}) - - if mux, ok := endpoint.(muxHandleFunc); ok { - mux.HandleFunc(f.pattern, f.handler) // e.g. vapi/simulator - } else { - s.ServeMux.HandleFunc(f.pattern, f.handler) - } - } - - if s.TLS != nil { - ts.TLS = s.TLS - ts.TLS.ClientAuth = tls.RequestClientCert // Used by SessionManager.LoginExtensionByCertificate - Map.SessionManager().TLSCert = func() string { - return base64.StdEncoding.EncodeToString(ts.TLS.Certificates[0].Certificate[0]) - } - ts.StartTLS() - } else { - ts.Start() - } - - return &Server{ - Server: ts, - URL: u, - } -} - -// Certificate returns the TLS certificate for the Server if started with TLS enabled. -// This method will panic if TLS is not enabled for the server. -func (s *Server) Certificate() *x509.Certificate { - // By default httptest.StartTLS uses http/internal.LocalhostCert, which we can access here: - cert, _ := x509.ParseCertificate(s.TLS.Certificates[0].Certificate[0]) - return cert -} - -// CertificateInfo returns Server.Certificate() as object.HostCertificateInfo -func (s *Server) CertificateInfo() *object.HostCertificateInfo { - info := new(object.HostCertificateInfo) - info.FromCertificate(s.Certificate()) - return info -} - -// CertificateFile returns a file name, where the file contains the PEM encoded Server.Certificate. -// The temporary file is removed when Server.Close() is called. -func (s *Server) CertificateFile() (string, error) { - if s.caFile != "" { - return s.caFile, nil - } - - f, err := ioutil.TempFile("", "vcsim-") - if err != nil { - return "", err - } - defer f.Close() - - s.caFile = f.Name() - cert := s.Certificate() - return s.caFile, pem.Encode(f, &pem.Block{Type: "CERTIFICATE", Bytes: cert.Raw}) -} - -// proxy tunnels SDK requests -func (s *Server) proxy(w http.ResponseWriter, r *http.Request) { - if r.Method != http.MethodConnect { - http.Error(w, "", http.StatusMethodNotAllowed) - return - } - - dst, err := net.Dial("tcp", s.URL.Host) - if err != nil { - http.Error(w, err.Error(), http.StatusBadGateway) - return - } - w.WriteHeader(http.StatusOK) - - src, _, err := w.(http.Hijacker).Hijack() - if err != nil { - http.Error(w, err.Error(), http.StatusBadRequest) - return - } - - go io.Copy(src, dst) - go func() { - _, _ = io.Copy(dst, src) - _ = dst.Close() - _ = src.Close() - }() -} - -// StartTunnel runs an HTTP proxy for tunneling SDK requests that require TLS client certificate authentication. -func (s *Server) StartTunnel() error { - tunnel := &http.Server{ - Addr: fmt.Sprintf("%s:%d", s.URL.Hostname(), s.Tunnel), - Handler: http.HandlerFunc(s.proxy), - } - - l, err := net.Listen("tcp", tunnel.Addr) - if err != nil { - return err - } - - if s.Tunnel == 0 { - s.Tunnel = l.Addr().(*net.TCPAddr).Port - } - - // Set client proxy port (defaults to vCenter host port 80 in real life) - q := s.URL.Query() - q.Set("GOVMOMI_TUNNEL_PROXY_PORT", strconv.Itoa(s.Tunnel)) - s.URL.RawQuery = q.Encode() - - go tunnel.Serve(l) - - return nil -} - -// Close shuts down the server and blocks until all outstanding -// requests on this server have completed. -func (s *Server) Close() { - s.Server.Close() - if s.caFile != "" { - _ = os.Remove(s.caFile) - } -} - -var ( - vim25MapType = types.TypeFunc() -) - -func defaultMapType(name string) (reflect.Type, bool) { - typ, ok := vim25MapType(name) - if !ok { - // See TestIssue945, in which case Go does not resolve the namespace and name == "ns1:TraversalSpec" - // Without this hack, the SelectSet would be all nil's - kind := strings.SplitN(name, ":", 2) - if len(kind) == 2 { - typ, ok = vim25MapType(kind[1]) - } - } - return typ, ok -} - -// Element can be used to defer decoding of an XML node. -type Element struct { - start xml.StartElement - inner struct { - Content string `xml:",innerxml"` - } - typeFunc func(string) (reflect.Type, bool) -} - -func (e *Element) UnmarshalXML(d *xml.Decoder, start xml.StartElement) error { - e.start = start - - return d.DecodeElement(&e.inner, &start) -} - -func (e *Element) decoder() *xml.Decoder { - decoder := xml.NewDecoder(strings.NewReader(e.inner.Content)) - decoder.TypeFunc = e.typeFunc // required to decode interface types - return decoder -} - -func (e *Element) Decode(val interface{}) error { - return e.decoder().DecodeElement(val, &e.start) -} - -// UnmarshalBody extracts the Body from a soap.Envelope and unmarshals to the corresponding govmomi type -func UnmarshalBody(typeFunc func(string) (reflect.Type, bool), data []byte) (*Method, error) { - body := &Element{typeFunc: typeFunc} - req := soap.Envelope{ - Header: &soap.Header{ - Security: new(Element), - }, - Body: body, - } - - err := xml.Unmarshal(data, &req) - if err != nil { - return nil, fmt.Errorf("xml.Unmarshal: %s", err) - } - - var start xml.StartElement - var ok bool - decoder := body.decoder() - - for { - tok, derr := decoder.Token() - if derr != nil { - return nil, fmt.Errorf("decoding: %s", derr) - } - if start, ok = tok.(xml.StartElement); ok { - break - } - } - - if !ok { - return nil, fmt.Errorf("decoding: method token not found") - } - - kind := start.Name.Local - rtype, ok := typeFunc(kind) - if !ok { - return nil, fmt.Errorf("no vmomi type defined for '%s'", kind) - } - - val := reflect.New(rtype).Interface() - - err = decoder.DecodeElement(val, &start) - if err != nil { - return nil, fmt.Errorf("decoding %s: %s", kind, err) - } - - method := &Method{Name: kind, Header: *req.Header, Body: val} - - field := reflect.ValueOf(val).Elem().FieldByName("This") - - method.This = field.Interface().(types.ManagedObjectReference) - - return method, nil -} diff --git a/vendor/github.com/vmware/govmomi/simulator/snapshot.go b/vendor/github.com/vmware/govmomi/simulator/snapshot.go deleted file mode 100644 index bb1b66f6ffe..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/snapshot.go +++ /dev/null @@ -1,174 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "fmt" - "os" - "path" - - "github.com/vmware/govmomi/object" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -type VirtualMachineSnapshot struct { - mo.VirtualMachineSnapshot -} - -func (v *VirtualMachineSnapshot) createSnapshotFiles() types.BaseMethodFault { - vm := Map.Get(v.Vm).(*VirtualMachine) - - snapshotDirectory := vm.Config.Files.SnapshotDirectory - if snapshotDirectory == "" { - snapshotDirectory = vm.Config.Files.VmPathName - } - - index := 1 - for { - fileName := fmt.Sprintf("%s-Snapshot%d.vmsn", vm.Name, index) - f, err := vm.createFile(snapshotDirectory, fileName, false) - if err != nil { - switch err.(type) { - case *types.FileAlreadyExists: - index++ - continue - default: - return err - } - } - - _ = f.Close() - - p, _ := parseDatastorePath(snapshotDirectory) - vm.useDatastore(p.Datastore) - datastorePath := object.DatastorePath{ - Datastore: p.Datastore, - Path: path.Join(p.Path, fileName), - } - - dataLayoutKey := vm.addFileLayoutEx(datastorePath, 0) - vm.addSnapshotLayout(v.Self, dataLayoutKey) - vm.addSnapshotLayoutEx(v.Self, dataLayoutKey, -1) - - return nil - } -} - -func (v *VirtualMachineSnapshot) removeSnapshotFiles(ctx *Context) types.BaseMethodFault { - // TODO: also remove delta disks that were created when snapshot was taken - - vm := ctx.Map.Get(v.Vm).(*VirtualMachine) - - for idx, sLayout := range vm.Layout.Snapshot { - if sLayout.Key == v.Self { - vm.Layout.Snapshot = append(vm.Layout.Snapshot[:idx], vm.Layout.Snapshot[idx+1:]...) - break - } - } - - for idx, sLayoutEx := range vm.LayoutEx.Snapshot { - if sLayoutEx.Key == v.Self { - for _, file := range vm.LayoutEx.File { - if file.Key == sLayoutEx.DataKey || file.Key == sLayoutEx.MemoryKey { - p, fault := parseDatastorePath(file.Name) - if fault != nil { - return fault - } - - host := ctx.Map.Get(*vm.Runtime.Host).(*HostSystem) - datastore := ctx.Map.FindByName(p.Datastore, host.Datastore).(*Datastore) - dFilePath := path.Join(datastore.Info.GetDatastoreInfo().Url, p.Path) - - _ = os.Remove(dFilePath) - } - } - - vm.LayoutEx.Snapshot = append(vm.LayoutEx.Snapshot[:idx], vm.LayoutEx.Snapshot[idx+1:]...) - } - } - - vm.RefreshStorageInfo(ctx, nil) - - return nil -} - -func (v *VirtualMachineSnapshot) RemoveSnapshotTask(ctx *Context, req *types.RemoveSnapshot_Task) soap.HasFault { - task := CreateTask(v, "removeSnapshot", func(t *Task) (types.AnyType, types.BaseMethodFault) { - var changes []types.PropertyChange - - vm := ctx.Map.Get(v.Vm).(*VirtualMachine) - ctx.WithLock(vm, func() { - if vm.Snapshot.CurrentSnapshot != nil && *vm.Snapshot.CurrentSnapshot == req.This { - parent := findParentSnapshotInTree(vm.Snapshot.RootSnapshotList, req.This) - changes = append(changes, types.PropertyChange{Name: "snapshot.currentSnapshot", Val: parent}) - } - - rootSnapshots := removeSnapshotInTree(vm.Snapshot.RootSnapshotList, req.This, req.RemoveChildren) - changes = append(changes, types.PropertyChange{Name: "snapshot.rootSnapshotList", Val: rootSnapshots}) - - rootSnapshotRefs := make([]types.ManagedObjectReference, len(rootSnapshots)) - for i, rs := range rootSnapshots { - rootSnapshotRefs[i] = rs.Snapshot - } - changes = append(changes, types.PropertyChange{Name: "rootSnapshot", Val: rootSnapshotRefs}) - - if len(rootSnapshots) == 0 { - changes = []types.PropertyChange{ - {Name: "snapshot", Val: nil}, - {Name: "rootSnapshot", Val: nil}, - } - } - - ctx.Map.Get(req.This).(*VirtualMachineSnapshot).removeSnapshotFiles(ctx) - - ctx.Map.Update(vm, changes) - }) - - ctx.Map.Remove(ctx, req.This) - - return nil, nil - }) - - return &methods.RemoveSnapshot_TaskBody{ - Res: &types.RemoveSnapshot_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} - -func (v *VirtualMachineSnapshot) RevertToSnapshotTask(ctx *Context, req *types.RevertToSnapshot_Task) soap.HasFault { - task := CreateTask(v.Vm, "revertToSnapshot", func(t *Task) (types.AnyType, types.BaseMethodFault) { - vm := ctx.Map.Get(v.Vm).(*VirtualMachine) - - ctx.WithLock(vm, func() { - ctx.Map.Update(vm, []types.PropertyChange{ - {Name: "snapshot.currentSnapshot", Val: v.Self}, - }) - }) - - return nil, nil - }) - - return &methods.RevertToSnapshot_TaskBody{ - Res: &types.RevertToSnapshot_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} diff --git a/vendor/github.com/vmware/govmomi/simulator/storage_resource_manager.go b/vendor/github.com/vmware/govmomi/simulator/storage_resource_manager.go deleted file mode 100644 index d169d6d079b..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/storage_resource_manager.go +++ /dev/null @@ -1,184 +0,0 @@ -/* -Copyright (c) 2018 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "strconv" - "time" - - "github.com/vmware/govmomi/object" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -type StorageResourceManager struct { - mo.StorageResourceManager -} - -func (m *StorageResourceManager) ConfigureStorageDrsForPodTask(ctx *Context, req *types.ConfigureStorageDrsForPod_Task) soap.HasFault { - task := CreateTask(m, "configureStorageDrsForPod", func(*Task) (types.AnyType, types.BaseMethodFault) { - cluster := Map.Get(req.Pod).(*StoragePod) - - if s := req.Spec.PodConfigSpec; s != nil { - config := &cluster.PodStorageDrsEntry.StorageDrsConfig.PodConfig - - if s.Enabled != nil { - config.Enabled = *s.Enabled - } - if s.DefaultVmBehavior != "" { - config.DefaultVmBehavior = s.DefaultVmBehavior - } - } - - return nil, nil - }) - - return &methods.ConfigureStorageDrsForPod_TaskBody{ - Res: &types.ConfigureStorageDrsForPod_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} - -func (m *StorageResourceManager) pod(ref *types.ManagedObjectReference) *StoragePod { - if ref == nil { - return nil - } - cluster := Map.Get(*ref).(*StoragePod) - config := &cluster.PodStorageDrsEntry.StorageDrsConfig.PodConfig - - if !config.Enabled { - return nil - } - - if len(cluster.ChildEntity) == 0 { - return nil - } - - return cluster -} - -func (m *StorageResourceManager) RecommendDatastores(req *types.RecommendDatastores) soap.HasFault { - spec := req.StorageSpec.PodSelectionSpec - body := new(methods.RecommendDatastoresBody) - res := new(types.RecommendDatastoresResponse) - key := 0 - invalid := func(prop string) soap.HasFault { - body.Fault_ = Fault("", &types.InvalidArgument{ - InvalidProperty: prop, - }) - return body - } - add := func(cluster *StoragePod, ds types.ManagedObjectReference) { - key++ - res.Returnval.Recommendations = append(res.Returnval.Recommendations, types.ClusterRecommendation{ - Key: strconv.Itoa(key), - Type: "V1", - Time: time.Now(), - Rating: 1, - Reason: "storagePlacement", - ReasonText: "Satisfy storage initial placement requests", - WarningText: "", - WarningDetails: (*types.LocalizableMessage)(nil), - Prerequisite: nil, - Action: []types.BaseClusterAction{ - &types.StoragePlacementAction{ - ClusterAction: types.ClusterAction{ - Type: "StoragePlacementV1", - Target: (*types.ManagedObjectReference)(nil), - }, - Vm: (*types.ManagedObjectReference)(nil), - RelocateSpec: types.VirtualMachineRelocateSpec{ - Service: (*types.ServiceLocator)(nil), - Folder: (*types.ManagedObjectReference)(nil), - Datastore: &ds, - DiskMoveType: "moveAllDiskBackingsAndAllowSharing", - Pool: (*types.ManagedObjectReference)(nil), - Host: (*types.ManagedObjectReference)(nil), - Disk: nil, - Transform: "", - DeviceChange: nil, - Profile: nil, - }, - Destination: ds, - SpaceUtilBefore: 5.00297212600708, - SpaceDemandBefore: 5.00297212600708, - SpaceUtilAfter: 5.16835880279541, - SpaceDemandAfter: 5.894514083862305, - IoLatencyBefore: 0, - }, - }, - Target: &cluster.Self, - }) - } - - var devices object.VirtualDeviceList - - switch types.StoragePlacementSpecPlacementType(req.StorageSpec.Type) { - case types.StoragePlacementSpecPlacementTypeCreate: - if req.StorageSpec.ResourcePool == nil { - return invalid("resourcePool") - } - if req.StorageSpec.ConfigSpec == nil { - return invalid("configSpec") - } - for _, d := range req.StorageSpec.ConfigSpec.DeviceChange { - devices = append(devices, d.GetVirtualDeviceConfigSpec().Device) - } - cluster := m.pod(spec.StoragePod) - if cluster == nil { - if f := req.StorageSpec.ConfigSpec.Files; f == nil || f.VmPathName == "" { - return invalid("configSpec.files") - } - } - case types.StoragePlacementSpecPlacementTypeClone: - if req.StorageSpec.Folder == nil { - return invalid("folder") - } - if req.StorageSpec.Vm == nil { - return invalid("vm") - } - if req.StorageSpec.CloneName == "" { - return invalid("cloneName") - } - if req.StorageSpec.CloneSpec == nil { - return invalid("cloneSpec") - } - } - - for _, placement := range spec.InitialVmConfig { - cluster := m.pod(&placement.StoragePod) - if cluster == nil { - return invalid("podSelectionSpec.storagePod") - } - - for _, disk := range placement.Disk { - if devices.FindByKey(disk.DiskId) == nil { - return invalid("podSelectionSpec.initialVmConfig.disk.fileBacking") - } - } - - for _, ds := range cluster.ChildEntity { - add(cluster, ds) - } - } - - body.Res = res - return body -} diff --git a/vendor/github.com/vmware/govmomi/simulator/task.go b/vendor/github.com/vmware/govmomi/simulator/task.go deleted file mode 100644 index bd43f7420b9..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/task.go +++ /dev/null @@ -1,172 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "fmt" - "reflect" - "strings" - "time" - - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/types" -) - -const vTaskSuffix = "_Task" // vmomi suffix -const sTaskSuffix = "Task" // simulator suffix (avoiding golint warning) - -// TaskDelay applies to all tasks. -// Names for DelayConfig.MethodDelay will differ for task and api delays. API -// level names often look like PowerOff_Task, whereas the task name is simply -// PowerOff. -var TaskDelay = DelayConfig{} - -type Task struct { - mo.Task - - ctx *Context - Execute func(*Task) (types.AnyType, types.BaseMethodFault) -} - -func NewTask(runner TaskRunner) *Task { - ref := runner.Reference() - name := reflect.TypeOf(runner).Elem().Name() - name = strings.Replace(name, "VM", "Vm", 1) // "VM" for the type to make go-lint happy, but "Vm" for the vmodl ID - return CreateTask(ref, name, runner.Run) -} - -func CreateTask(e mo.Reference, name string, run func(*Task) (types.AnyType, types.BaseMethodFault)) *Task { - ref := e.Reference() - id := name - - if strings.HasSuffix(id, sTaskSuffix) { - id = id[:len(id)-len(sTaskSuffix)] - name = id + vTaskSuffix - } - - task := &Task{ - Execute: run, - } - - task.Self = Map.newReference(task) - task.Info.Key = task.Self.Value - task.Info.Task = task.Self - task.Info.Name = ucFirst(name) - task.Info.DescriptionId = fmt.Sprintf("%s.%s", ref.Type, id) - task.Info.Entity = &ref - task.Info.EntityName = ref.Value - task.Info.Reason = &types.TaskReasonUser{UserName: "vcsim"} // TODO: Context.Session.User - task.Info.QueueTime = time.Now() - task.Info.State = types.TaskInfoStateQueued - - Map.Put(task) - - return task -} - -type TaskRunner interface { - mo.Reference - - Run(*Task) (types.AnyType, types.BaseMethodFault) -} - -// taskReference is a helper struct so we can call AcquireLock in Run() -type taskReference struct { - Self types.ManagedObjectReference -} - -func (tr *taskReference) Reference() types.ManagedObjectReference { - return tr.Self -} - -func (t *Task) Run(ctx *Context) types.ManagedObjectReference { - t.ctx = ctx - // alias the global Map to reduce data races in tests that reset the - // global Map variable. - vimMap := Map - - vimMap.AtomicUpdate(t.ctx, t, []types.PropertyChange{ - {Name: "info.startTime", Val: time.Now()}, - {Name: "info.state", Val: types.TaskInfoStateRunning}, - }) - - tr := &taskReference{ - Self: *t.Info.Entity, - } - - // in most cases, the caller already holds this lock, and we would like - // the lock to be held across the "hand off" to the async goroutine. - unlock := vimMap.AcquireLock(ctx, tr) - - go func() { - TaskDelay.delay(t.Info.Name) - res, err := t.Execute(t) - unlock() - - state := types.TaskInfoStateSuccess - var fault interface{} - if err != nil { - state = types.TaskInfoStateError - fault = types.LocalizedMethodFault{ - Fault: err, - LocalizedMessage: fmt.Sprintf("%T", err), - } - } - - vimMap.AtomicUpdate(t.ctx, t, []types.PropertyChange{ - {Name: "info.completeTime", Val: time.Now()}, - {Name: "info.state", Val: state}, - {Name: "info.result", Val: res}, - {Name: "info.error", Val: fault}, - }) - }() - - return t.Self -} - -// RunBlocking() should only be used when an async simulator task needs to wait -// on another async simulator task. -// It polls for task completion to avoid the need to set up a PropertyCollector. -func (t *Task) RunBlocking(ctx *Context) { - _ = t.Run(ctx) - t.Wait() -} - -// Wait blocks until the task is complete. -func (t *Task) Wait() { - // we do NOT want to share our lock with the tasks's context, because - // the goroutine that executes the task will use ctx to update the - // state (among other things). - isolatedLockingContext := &Context{} - - isRunning := func() bool { - var running bool - Map.WithLock(isolatedLockingContext, t, func() { - switch t.Info.State { - case types.TaskInfoStateSuccess, types.TaskInfoStateError: - running = false - default: - running = true - } - }) - return running - } - - for isRunning() { - time.Sleep(10 * time.Millisecond) - } -} diff --git a/vendor/github.com/vmware/govmomi/simulator/task_manager.go b/vendor/github.com/vmware/govmomi/simulator/task_manager.go deleted file mode 100644 index ae84635ea8f..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/task_manager.go +++ /dev/null @@ -1,64 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "sync" - - "github.com/vmware/govmomi/simulator/esx" - "github.com/vmware/govmomi/simulator/vpx" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/types" -) - -var recentTaskMax = 200 // the VC limit - -type TaskManager struct { - mo.TaskManager - sync.Mutex -} - -func (m *TaskManager) init(r *Registry) { - if len(m.Description.MethodInfo) == 0 { - if r.IsVPX() { - m.Description = vpx.Description - } else { - m.Description = esx.Description - } - } - r.AddHandler(m) -} - -func (m *TaskManager) PutObject(obj mo.Reference) { - ref := obj.Reference() - if ref.Type != "Task" { - return - } - - m.Lock() - recent := append(m.RecentTask, ref) - if len(recent) > recentTaskMax { - recent = recent[1:] - } - - Map.Update(m, []types.PropertyChange{{Name: "recentTask", Val: recent}}) - m.Unlock() -} - -func (*TaskManager) RemoveObject(*Context, types.ManagedObjectReference) {} - -func (*TaskManager) UpdateObject(mo.Reference, []types.PropertyChange) {} diff --git a/vendor/github.com/vmware/govmomi/simulator/tenant_manager.go b/vendor/github.com/vmware/govmomi/simulator/tenant_manager.go deleted file mode 100644 index 51f06d6195d..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/tenant_manager.go +++ /dev/null @@ -1,79 +0,0 @@ -/* -Copyright (c) 2021 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -type TenantManager struct { - mo.TenantTenantManager - - spEntities map[types.ManagedObjectReference]bool -} - -func (t *TenantManager) init(r *Registry) { - t.spEntities = make(map[types.ManagedObjectReference]bool) -} - -func (t *TenantManager) markEntities(entities []types.ManagedObjectReference) { - for _, e := range entities { - t.spEntities[e] = true - } -} - -func (t *TenantManager) unmarkEntities(entities []types.ManagedObjectReference) { - for _, e := range entities { - _, ok := t.spEntities[e] - if ok { - delete(t.spEntities, e) - } - } -} - -func (t *TenantManager) getEntities() []types.ManagedObjectReference { - entities := []types.ManagedObjectReference{} - for e := range t.spEntities { - entities = append(entities, e) - } - return entities -} - -func (t *TenantManager) MarkServiceProviderEntities(req *types.MarkServiceProviderEntities) soap.HasFault { - body := new(methods.MarkServiceProviderEntitiesBody) - t.markEntities(req.Entity) - body.Res = &types.MarkServiceProviderEntitiesResponse{} - return body -} - -func (t *TenantManager) UnmarkServiceProviderEntities(req *types.UnmarkServiceProviderEntities) soap.HasFault { - body := new(methods.UnmarkServiceProviderEntitiesBody) - t.unmarkEntities(req.Entity) - body.Res = &types.UnmarkServiceProviderEntitiesResponse{} - return body -} - -func (t *TenantManager) RetrieveServiceProviderEntities(req *types.RetrieveServiceProviderEntities) soap.HasFault { - body := new(methods.RetrieveServiceProviderEntitiesBody) - body.Res = &types.RetrieveServiceProviderEntitiesResponse{ - Returnval: t.getEntities(), - } - return body -} diff --git a/vendor/github.com/vmware/govmomi/simulator/user_directory.go b/vendor/github.com/vmware/govmomi/simulator/user_directory.go deleted file mode 100644 index 929409b0fae..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/user_directory.go +++ /dev/null @@ -1,104 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "strings" - - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -var DefaultUserGroup = []*types.UserSearchResult{ - {FullName: "root", Group: true, Principal: "root"}, - {FullName: "root", Group: false, Principal: "root"}, - {FullName: "administrator", Group: false, Principal: "admin"}, -} - -type UserDirectory struct { - mo.UserDirectory - - userGroup []*types.UserSearchResult -} - -func (m *UserDirectory) init(*Registry) { - m.userGroup = DefaultUserGroup -} - -func (u *UserDirectory) RetrieveUserGroups(req *types.RetrieveUserGroups) soap.HasFault { - compare := compareFunc(req.SearchStr, req.ExactMatch) - - res := u.search(req.FindUsers, req.FindGroups, compare) - - body := &methods.RetrieveUserGroupsBody{ - Res: &types.RetrieveUserGroupsResponse{ - Returnval: res, - }, - } - - return body -} - -func (u *UserDirectory) search(findUsers, findGroups bool, compare func(string) bool) (res []types.BaseUserSearchResult) { - for _, ug := range u.userGroup { - if findUsers && !ug.Group || findGroups && ug.Group { - if compare(ug.Principal) { - res = append(res, ug) - } - } - } - - return res -} - -func (u *UserDirectory) addUser(id string) { - u.add(id, false) -} - -func (u *UserDirectory) removeUser(id string) { - u.remove(id, false) -} - -func (u *UserDirectory) add(id string, group bool) { - user := &types.UserSearchResult{ - FullName: id, - Group: group, - Principal: id, - } - - u.userGroup = append(u.userGroup, user) -} - -func (u *UserDirectory) remove(id string, group bool) { - for i, ug := range u.userGroup { - if ug.Group == group && ug.Principal == id { - u.userGroup = append(u.userGroup[:i], u.userGroup[i+1:]...) - return - } - } -} - -func compareFunc(compared string, exactly bool) func(string) bool { - return func(s string) bool { - if exactly { - return s == compared - } - return strings.Contains(strings.ToLower(s), strings.ToLower(compared)) - } -} diff --git a/vendor/github.com/vmware/govmomi/simulator/view_manager.go b/vendor/github.com/vmware/govmomi/simulator/view_manager.go deleted file mode 100644 index 1deb9ec164b..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/view_manager.go +++ /dev/null @@ -1,304 +0,0 @@ -/* -Copyright (c) 2017-2023 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "reflect" - - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -type ViewManager struct { - mo.ViewManager - - entities map[string]bool -} - -var entities = []struct { - Type reflect.Type - Container bool -}{ - {reflect.TypeOf((*mo.ManagedEntity)(nil)).Elem(), true}, - {reflect.TypeOf((*mo.Folder)(nil)).Elem(), true}, - {reflect.TypeOf((*mo.StoragePod)(nil)).Elem(), true}, - {reflect.TypeOf((*mo.Datacenter)(nil)).Elem(), true}, - {reflect.TypeOf((*mo.ComputeResource)(nil)).Elem(), true}, - {reflect.TypeOf((*mo.ClusterComputeResource)(nil)).Elem(), true}, - {reflect.TypeOf((*mo.HostSystem)(nil)).Elem(), true}, - {reflect.TypeOf((*mo.ResourcePool)(nil)).Elem(), true}, - {reflect.TypeOf((*mo.VirtualApp)(nil)).Elem(), true}, - {reflect.TypeOf((*mo.VirtualMachine)(nil)).Elem(), false}, - {reflect.TypeOf((*mo.Datastore)(nil)).Elem(), false}, - {reflect.TypeOf((*mo.Network)(nil)).Elem(), false}, - {reflect.TypeOf((*mo.OpaqueNetwork)(nil)).Elem(), false}, - {reflect.TypeOf((*mo.DistributedVirtualPortgroup)(nil)).Elem(), false}, - {reflect.TypeOf((*mo.DistributedVirtualSwitch)(nil)).Elem(), false}, - {reflect.TypeOf((*mo.VmwareDistributedVirtualSwitch)(nil)).Elem(), false}, -} - -func (m *ViewManager) init(*Registry) { - m.entities = make(map[string]bool, len(entities)) - for _, e := range entities { - m.entities[e.Type.Name()] = e.Container - } -} - -func destroyView(ref types.ManagedObjectReference) soap.HasFault { - return &methods.DestroyViewBody{ - Res: &types.DestroyViewResponse{}, - } -} - -func (m *ViewManager) CreateContainerView(ctx *Context, req *types.CreateContainerView) soap.HasFault { - body := &methods.CreateContainerViewBody{} - - root := ctx.Map.Get(req.Container) - if root == nil { - body.Fault_ = Fault("", &types.ManagedObjectNotFound{Obj: req.Container}) - return body - } - - if !m.entities[root.Reference().Type] { - body.Fault_ = Fault("", &types.InvalidArgument{InvalidProperty: "container"}) - return body - } - - container := &ContainerView{ - mo.ContainerView{ - Container: root.Reference(), - Recursive: req.Recursive, - Type: req.Type, - }, - root, - make(map[string]bool), - } - - for _, ctype := range container.Type { - if _, ok := m.entities[ctype]; !ok { - body.Fault_ = Fault("", &types.InvalidArgument{InvalidProperty: "type"}) - return body - } - - container.types[ctype] = true - - for _, e := range entities { - // Check for embedded types - if f, ok := e.Type.FieldByName(ctype); ok && f.Anonymous { - container.types[e.Type.Name()] = true - } - } - } - - ctx.Session.setReference(container) - - body.Res = &types.CreateContainerViewResponse{ - Returnval: container.Self, - } - - seen := make(map[types.ManagedObjectReference]bool) - container.add(root, seen) - - ctx.Session.Registry.Put(container) - ctx.Map.AddHandler(container) - - return body -} - -type ContainerView struct { - mo.ContainerView - - root mo.Reference - types map[string]bool -} - -func (v *ContainerView) DestroyView(ctx *Context, c *types.DestroyView) soap.HasFault { - ctx.Map.RemoveHandler(v) - ctx.Session.Remove(ctx, c.This) - return destroyView(c.This) -} - -func (v *ContainerView) include(o types.ManagedObjectReference) bool { - if len(v.types) == 0 { - return true - } - - return v.types[o.Type] -} - -func walk(root mo.Reference, f func(child types.ManagedObjectReference)) { - if _, ok := root.(types.ManagedObjectReference); ok || root == nil { - return - } - - var children []types.ManagedObjectReference - - switch e := getManagedObject(root).Addr().Interface().(type) { - case *mo.Datacenter: - children = []types.ManagedObjectReference{e.VmFolder, e.HostFolder, e.DatastoreFolder, e.NetworkFolder} - case *mo.Folder: - children = e.ChildEntity - case *mo.StoragePod: - children = e.ChildEntity - case *mo.ComputeResource: - children = e.Host - children = append(children, *e.ResourcePool) - case *mo.ClusterComputeResource: - children = e.Host - children = append(children, *e.ResourcePool) - case *mo.ResourcePool: - children = e.ResourcePool - children = append(children, e.Vm...) - case *mo.VirtualApp: - children = e.ResourcePool.ResourcePool - children = append(children, e.Vm...) - case *mo.HostSystem: - children = e.Vm - } - - for _, child := range children { - f(child) - } -} - -func (v *ContainerView) add(root mo.Reference, seen map[types.ManagedObjectReference]bool) { - walk(root, func(child types.ManagedObjectReference) { - if v.include(child) { - if !seen[child] { - seen[child] = true - v.View = append(v.View, child) - } - } - - if v.Recursive { - v.add(Map.Get(child), seen) - } - }) -} - -func (v *ContainerView) find(root mo.Reference, ref types.ManagedObjectReference, found *bool) bool { - walk(root, func(child types.ManagedObjectReference) { - if *found { - return - } - if child == ref { - *found = true - return - } - if v.Recursive { - *found = v.find(Map.Get(child), ref, found) - } - }) - - return *found -} - -func (v *ContainerView) PutObject(obj mo.Reference) { - ref := obj.Reference() - - if v.include(ref) && v.find(v.root, ref, types.NewBool(false)) { - Map.Update(v, []types.PropertyChange{{Name: "view", Val: append(v.View, ref)}}) - } -} - -func (v *ContainerView) RemoveObject(ctx *Context, obj types.ManagedObjectReference) { - ctx.Map.RemoveReference(ctx, v, &v.View, obj) -} - -func (*ContainerView) UpdateObject(mo.Reference, []types.PropertyChange) {} - -func (m *ViewManager) CreateListView(ctx *Context, req *types.CreateListView) soap.HasFault { - body := new(methods.CreateListViewBody) - list := new(ListView) - - if err := list.add(req.Obj); err != nil { - body.Fault_ = Fault("", err) - return body - } - - ctx.Session.Put(list) - - body.Res = &types.CreateListViewResponse{ - Returnval: list.Self, - } - - return body -} - -type ListView struct { - mo.ListView -} - -func (v *ListView) update() { - Map.Update(v, []types.PropertyChange{{Name: "view", Val: v.View}}) -} - -func (v *ListView) add(refs []types.ManagedObjectReference) *types.ManagedObjectNotFound { - for _, ref := range refs { - obj := Map.Get(ref) - if obj == nil { - return &types.ManagedObjectNotFound{Obj: ref} - } - v.View = append(v.View, ref) - } - return nil -} - -func (v *ListView) DestroyView(ctx *Context, c *types.DestroyView) soap.HasFault { - ctx.Session.Remove(ctx, c.This) - return destroyView(c.This) -} - -func (v *ListView) ModifyListView(req *types.ModifyListView) soap.HasFault { - body := new(methods.ModifyListViewBody) - - for _, ref := range req.Remove { - RemoveReference(&v.View, ref) - } - - if err := v.add(req.Add); err != nil { - body.Fault_ = Fault("", err) - return body - } - - body.Res = new(types.ModifyListViewResponse) - - if len(req.Remove) != 0 || len(req.Add) != 0 { - v.update() - } - - return body -} - -func (v *ListView) ResetListView(req *types.ResetListView) soap.HasFault { - body := new(methods.ResetListViewBody) - - v.View = nil - - if err := v.add(req.Obj); err != nil { - body.Fault_ = Fault("", err) - return body - } - - body.Res = new(types.ResetListViewResponse) - - v.update() - - return body -} diff --git a/vendor/github.com/vmware/govmomi/simulator/virtual_disk_manager.go b/vendor/github.com/vmware/govmomi/simulator/virtual_disk_manager.go deleted file mode 100644 index 88844b23732..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/virtual_disk_manager.go +++ /dev/null @@ -1,228 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "fmt" - "os" - "strings" - - "github.com/google/uuid" - - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -type VirtualDiskManager struct { - mo.VirtualDiskManager -} - -func (m *VirtualDiskManager) MO() mo.VirtualDiskManager { - return m.VirtualDiskManager -} - -func vdmNames(name string) []string { - return []string{ - strings.Replace(name, ".vmdk", "-flat.vmdk", 1), - name, - } -} - -func vdmCreateVirtualDisk(op types.VirtualDeviceConfigSpecFileOperation, req *types.CreateVirtualDisk_Task) types.BaseMethodFault { - fm := Map.FileManager() - - file, fault := fm.resolve(req.Datacenter, req.Name) - if fault != nil { - return fault - } - - shouldReplace := op == types.VirtualDeviceConfigSpecFileOperationReplace - shouldExist := op == "" - for _, name := range vdmNames(file) { - _, err := os.Stat(name) - if err == nil { - if shouldExist { - return nil - } - if shouldReplace { - if err = os.Truncate(file, 0); err != nil { - return fm.fault(name, err, new(types.CannotCreateFile)) - } - return nil - } - return fm.fault(name, nil, new(types.FileAlreadyExists)) - } else if shouldExist { - return fm.fault(name, nil, new(types.FileNotFound)) - } - - f, err := os.Create(name) - if err != nil { - return fm.fault(name, err, new(types.CannotCreateFile)) - } - - _ = f.Close() - } - - return nil -} - -func (m *VirtualDiskManager) CreateVirtualDiskTask(ctx *Context, req *types.CreateVirtualDisk_Task) soap.HasFault { - task := CreateTask(m, "createVirtualDisk", func(*Task) (types.AnyType, types.BaseMethodFault) { - if err := vdmCreateVirtualDisk(types.VirtualDeviceConfigSpecFileOperationCreate, req); err != nil { - return "", err - } - return req.Name, nil - }) - - return &methods.CreateVirtualDisk_TaskBody{ - Res: &types.CreateVirtualDisk_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} - -func (m *VirtualDiskManager) DeleteVirtualDiskTask(ctx *Context, req *types.DeleteVirtualDisk_Task) soap.HasFault { - task := CreateTask(m, "deleteVirtualDisk", func(*Task) (types.AnyType, types.BaseMethodFault) { - fm := Map.FileManager() - - for _, name := range vdmNames(req.Name) { - err := fm.deleteDatastoreFile(&types.DeleteDatastoreFile_Task{ - Name: name, - Datacenter: req.Datacenter, - }) - - if err != nil { - return nil, err - } - } - - return nil, nil - }) - - return &methods.DeleteVirtualDisk_TaskBody{ - Res: &types.DeleteVirtualDisk_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} - -func (m *VirtualDiskManager) MoveVirtualDiskTask(ctx *Context, req *types.MoveVirtualDisk_Task) soap.HasFault { - task := CreateTask(m, "moveVirtualDisk", func(*Task) (types.AnyType, types.BaseMethodFault) { - fm := ctx.Map.FileManager() - - dest := vdmNames(req.DestName) - - for i, name := range vdmNames(req.SourceName) { - err := fm.moveDatastoreFile(&types.MoveDatastoreFile_Task{ - SourceName: name, - SourceDatacenter: req.SourceDatacenter, - DestinationName: dest[i], - DestinationDatacenter: req.DestDatacenter, - Force: req.Force, - }) - - if err != nil { - return nil, err - } - } - - return nil, nil - }) - - return &methods.MoveVirtualDisk_TaskBody{ - Res: &types.MoveVirtualDisk_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} - -func (m *VirtualDiskManager) CopyVirtualDiskTask(ctx *Context, req *types.CopyVirtualDisk_Task) soap.HasFault { - task := CreateTask(m, "copyVirtualDisk", func(*Task) (types.AnyType, types.BaseMethodFault) { - if req.DestSpec != nil { - if ctx.Map.IsVPX() { - return nil, new(types.NotImplemented) - } - } - - fm := ctx.Map.FileManager() - - dest := vdmNames(req.DestName) - - for i, name := range vdmNames(req.SourceName) { - err := fm.copyDatastoreFile(&types.CopyDatastoreFile_Task{ - SourceName: name, - SourceDatacenter: req.SourceDatacenter, - DestinationName: dest[i], - DestinationDatacenter: req.DestDatacenter, - Force: req.Force, - }) - - if err != nil { - return nil, err - } - } - - return nil, nil - }) - - return &methods.CopyVirtualDisk_TaskBody{ - Res: &types.CopyVirtualDisk_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} - -func virtualDiskUUID(dc *types.ManagedObjectReference, file string) string { - if dc != nil { - file = dc.String() + file - } - return uuid.NewSHA1(uuid.NameSpaceOID, []byte(file)).String() -} - -func (m *VirtualDiskManager) QueryVirtualDiskUuid(ctx *Context, req *types.QueryVirtualDiskUuid) soap.HasFault { - body := new(methods.QueryVirtualDiskUuidBody) - - fm := ctx.Map.FileManager() - - file, fault := fm.resolve(req.Datacenter, req.Name) - if fault != nil { - body.Fault_ = Fault("", fault) - return body - } - - _, err := os.Stat(file) - if err != nil { - fault = fm.fault(req.Name, err, new(types.CannotAccessFile)) - body.Fault_ = Fault(fmt.Sprintf("File %s was not found", req.Name), fault) - return body - } - - body.Res = &types.QueryVirtualDiskUuidResponse{ - Returnval: virtualDiskUUID(req.Datacenter, file), - } - - return body -} - -func (m *VirtualDiskManager) SetVirtualDiskUuid(_ *Context, req *types.SetVirtualDiskUuid) soap.HasFault { - body := new(methods.SetVirtualDiskUuidBody) - // TODO: validate uuid format and persist - body.Res = new(types.SetVirtualDiskUuidResponse) - return body -} diff --git a/vendor/github.com/vmware/govmomi/simulator/virtual_machine.go b/vendor/github.com/vmware/govmomi/simulator/virtual_machine.go deleted file mode 100644 index 8deeceda7ac..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/virtual_machine.go +++ /dev/null @@ -1,2466 +0,0 @@ -/* -Copyright (c) 2017-2018 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "bytes" - "fmt" - "io/ioutil" - "log" - "net" - "os" - "path" - "path/filepath" - "reflect" - "strconv" - "strings" - "sync/atomic" - "time" - - "github.com/google/uuid" - - "github.com/vmware/govmomi/object" - "github.com/vmware/govmomi/simulator/esx" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -type VirtualMachine struct { - mo.VirtualMachine - - log string - sid int32 - run container - uid uuid.UUID - imc *types.CustomizationSpec -} - -func asVirtualMachineMO(obj mo.Reference) (*mo.VirtualMachine, bool) { - vm, ok := getManagedObject(obj).Addr().Interface().(*mo.VirtualMachine) - return vm, ok -} - -func NewVirtualMachine(ctx *Context, parent types.ManagedObjectReference, spec *types.VirtualMachineConfigSpec) (*VirtualMachine, types.BaseMethodFault) { - vm := &VirtualMachine{} - vm.Parent = &parent - ctx.Map.reference(vm) - - folder := ctx.Map.Get(parent) - - if spec.Name == "" { - return vm, &types.InvalidVmConfig{Property: "configSpec.name"} - } - - if spec.Files == nil || spec.Files.VmPathName == "" { - return vm, &types.InvalidVmConfig{Property: "configSpec.files.vmPathName"} - } - - rspec := types.DefaultResourceConfigSpec() - vm.Guest = &types.GuestInfo{} - vm.Config = &types.VirtualMachineConfigInfo{ - ExtraConfig: []types.BaseOptionValue{&types.OptionValue{Key: "govcsim", Value: "TRUE"}}, - Tools: &types.ToolsConfigInfo{}, - MemoryAllocation: &rspec.MemoryAllocation, - CpuAllocation: &rspec.CpuAllocation, - LatencySensitivity: &types.LatencySensitivity{Level: types.LatencySensitivitySensitivityLevelNormal}, - BootOptions: &types.VirtualMachineBootOptions{}, - CreateDate: types.NewTime(time.Now()), - } - vm.Layout = &types.VirtualMachineFileLayout{} - vm.LayoutEx = &types.VirtualMachineFileLayoutEx{ - Timestamp: time.Now(), - } - vm.Snapshot = nil // intentionally set to nil until a snapshot is created - vm.Storage = &types.VirtualMachineStorageInfo{ - Timestamp: time.Now(), - } - vm.Summary.Guest = &types.VirtualMachineGuestSummary{} - vm.Summary.Vm = &vm.Self - vm.Summary.Storage = &types.VirtualMachineStorageSummary{ - Timestamp: time.Now(), - } - - vmx := vm.vmx(spec) - if vmx.Path == "" { - // Append VM Name as the directory name if not specified - vmx.Path = spec.Name - } - - dc := ctx.Map.getEntityDatacenter(folder.(mo.Entity)) - ds := ctx.Map.FindByName(vmx.Datastore, dc.Datastore).(*Datastore) - dir := path.Join(ds.Info.GetDatastoreInfo().Url, vmx.Path) - - if path.Ext(vmx.Path) == ".vmx" { - dir = path.Dir(dir) - // Ignore error here, deferring to createFile - _ = os.Mkdir(dir, 0700) - } else { - // Create VM directory, renaming if already exists - name := dir - - for i := 0; i < 1024; /* just in case */ i++ { - err := os.Mkdir(name, 0700) - if err != nil { - if os.IsExist(err) { - name = fmt.Sprintf("%s (%d)", dir, i) - continue - } - return nil, &types.FileFault{File: name} - } - break - } - vmx.Path = path.Join(path.Base(name), spec.Name+".vmx") - } - - spec.Files.VmPathName = vmx.String() - - dsPath := path.Dir(spec.Files.VmPathName) - vm.uid = sha1UUID(spec.Files.VmPathName) - - defaults := types.VirtualMachineConfigSpec{ - NumCPUs: 1, - NumCoresPerSocket: 1, - MemoryMB: 32, - Uuid: vm.uid.String(), - InstanceUuid: newUUID(strings.ToUpper(spec.Files.VmPathName)), - Version: esx.HardwareVersion, - Firmware: string(types.GuestOsDescriptorFirmwareTypeBios), - Files: &types.VirtualMachineFileInfo{ - SnapshotDirectory: dsPath, - SuspendDirectory: dsPath, - LogDirectory: dsPath, - }, - } - - // Add the default devices - defaults.DeviceChange, _ = object.VirtualDeviceList(esx.VirtualDevice).ConfigSpec(types.VirtualDeviceConfigSpecOperationAdd) - - err := vm.configure(ctx, &defaults) - if err != nil { - return vm, err - } - - vm.Runtime.PowerState = types.VirtualMachinePowerStatePoweredOff - vm.Runtime.ConnectionState = types.VirtualMachineConnectionStateConnected - vm.Summary.Runtime = vm.Runtime - - vm.Capability.ChangeTrackingSupported = types.NewBool(changeTrackingSupported(spec)) - - vm.Summary.QuickStats.GuestHeartbeatStatus = types.ManagedEntityStatusGray - vm.Summary.OverallStatus = types.ManagedEntityStatusGreen - vm.ConfigStatus = types.ManagedEntityStatusGreen - - // put vm in the folder only if no errors occurred - f, _ := asFolderMO(folder) - folderPutChild(ctx, f, vm) - - return vm, nil -} - -func (o *VirtualMachine) RenameTask(ctx *Context, r *types.Rename_Task) soap.HasFault { - return RenameTask(ctx, o, r) -} - -func (*VirtualMachine) Reload(*types.Reload) soap.HasFault { - return &methods.ReloadBody{Res: new(types.ReloadResponse)} -} - -func (vm *VirtualMachine) event() types.VmEvent { - host := Map.Get(*vm.Runtime.Host).(*HostSystem) - - return types.VmEvent{ - Event: types.Event{ - Datacenter: datacenterEventArgument(host), - ComputeResource: host.eventArgumentParent(), - Host: host.eventArgument(), - Ds: Map.Get(vm.Datastore[0]).(*Datastore).eventArgument(), - Vm: &types.VmEventArgument{ - EntityEventArgument: types.EntityEventArgument{Name: vm.Name}, - Vm: vm.Self, - }, - }, - } -} - -func (vm *VirtualMachine) hostInMM(ctx *Context) bool { - return ctx.Map.Get(*vm.Runtime.Host).(*HostSystem).Runtime.InMaintenanceMode -} - -func (vm *VirtualMachine) apply(spec *types.VirtualMachineConfigSpec) { - if spec.Files == nil { - spec.Files = new(types.VirtualMachineFileInfo) - } - - apply := []struct { - src string - dst *string - }{ - {spec.AlternateGuestName, &vm.Config.AlternateGuestName}, - {spec.Annotation, &vm.Config.Annotation}, - {spec.Firmware, &vm.Config.Firmware}, - {spec.InstanceUuid, &vm.Config.InstanceUuid}, - {spec.LocationId, &vm.Config.LocationId}, - {spec.NpivWorldWideNameType, &vm.Config.NpivWorldWideNameType}, - {spec.Name, &vm.Name}, - {spec.Name, &vm.Config.Name}, - {spec.Name, &vm.Summary.Config.Name}, - {spec.GuestId, &vm.Config.GuestId}, - {spec.GuestId, &vm.Config.GuestFullName}, - {spec.GuestId, &vm.Summary.Guest.GuestId}, - {spec.GuestId, &vm.Summary.Config.GuestId}, - {spec.GuestId, &vm.Summary.Config.GuestFullName}, - {spec.Uuid, &vm.Config.Uuid}, - {spec.Uuid, &vm.Summary.Config.Uuid}, - {spec.InstanceUuid, &vm.Config.InstanceUuid}, - {spec.InstanceUuid, &vm.Summary.Config.InstanceUuid}, - {spec.Version, &vm.Config.Version}, - {spec.Files.VmPathName, &vm.Config.Files.VmPathName}, - {spec.Files.VmPathName, &vm.Summary.Config.VmPathName}, - {spec.Files.SnapshotDirectory, &vm.Config.Files.SnapshotDirectory}, - {spec.Files.SuspendDirectory, &vm.Config.Files.SuspendDirectory}, - {spec.Files.LogDirectory, &vm.Config.Files.LogDirectory}, - } - - for _, f := range apply { - if f.src != "" { - *f.dst = f.src - } - } - - applyb := []struct { - src *bool - dst **bool - }{ - {spec.NestedHVEnabled, &vm.Config.NestedHVEnabled}, - {spec.CpuHotAddEnabled, &vm.Config.CpuHotAddEnabled}, - {spec.CpuHotRemoveEnabled, &vm.Config.CpuHotRemoveEnabled}, - {spec.GuestAutoLockEnabled, &vm.Config.GuestAutoLockEnabled}, - {spec.MemoryHotAddEnabled, &vm.Config.MemoryHotAddEnabled}, - {spec.MemoryReservationLockedToMax, &vm.Config.MemoryReservationLockedToMax}, - {spec.MessageBusTunnelEnabled, &vm.Config.MessageBusTunnelEnabled}, - {spec.NpivTemporaryDisabled, &vm.Config.NpivTemporaryDisabled}, - {spec.NpivOnNonRdmDisks, &vm.Config.NpivOnNonRdmDisks}, - {spec.ChangeTrackingEnabled, &vm.Config.ChangeTrackingEnabled}, - } - - for _, f := range applyb { - if f.src != nil { - *f.dst = f.src - } - } - - if spec.Flags != nil { - vm.Config.Flags = *spec.Flags - } - - if spec.LatencySensitivity != nil { - vm.Config.LatencySensitivity = spec.LatencySensitivity - } - - if spec.ManagedBy != nil { - vm.Config.ManagedBy = spec.ManagedBy - } - - if spec.BootOptions != nil { - vm.Config.BootOptions = spec.BootOptions - } - - if spec.RepConfig != nil { - vm.Config.RepConfig = spec.RepConfig - } - - if spec.Tools != nil { - vm.Config.Tools = spec.Tools - } - - if spec.ConsolePreferences != nil { - vm.Config.ConsolePreferences = spec.ConsolePreferences - } - - if spec.CpuAffinity != nil { - vm.Config.CpuAffinity = spec.CpuAffinity - } - - if spec.CpuAllocation != nil { - vm.Config.CpuAllocation = spec.CpuAllocation - } - - if spec.MemoryAffinity != nil { - vm.Config.MemoryAffinity = spec.MemoryAffinity - } - - if spec.MemoryAllocation != nil { - vm.Config.MemoryAllocation = spec.MemoryAllocation - } - - if spec.LatencySensitivity != nil { - vm.Config.LatencySensitivity = spec.LatencySensitivity - } - - if spec.MemoryMB != 0 { - vm.Config.Hardware.MemoryMB = int32(spec.MemoryMB) - vm.Summary.Config.MemorySizeMB = vm.Config.Hardware.MemoryMB - } - - if spec.NumCPUs != 0 { - vm.Config.Hardware.NumCPU = spec.NumCPUs - vm.Summary.Config.NumCpu = vm.Config.Hardware.NumCPU - } - - if spec.NumCoresPerSocket != 0 { - vm.Config.Hardware.NumCoresPerSocket = spec.NumCoresPerSocket - } - - if spec.GuestId != "" { - vm.Guest.GuestFamily = guestFamily(spec.GuestId) - } - - vm.Config.Modified = time.Now() -} - -// updateVAppProperty updates the simulator VM with the specified VApp properties. -func (vm *VirtualMachine) updateVAppProperty(spec *types.VmConfigSpec) types.BaseMethodFault { - ps := make([]types.VAppPropertyInfo, 0) - - if vm.Config.VAppConfig != nil && vm.Config.VAppConfig.GetVmConfigInfo() != nil { - ps = vm.Config.VAppConfig.GetVmConfigInfo().Property - } - - for _, prop := range spec.Property { - var foundIndex int - exists := false - // Check if the specified property exists or not. This helps rejecting invalid - // operations (e.g., Adding a VApp property that already exists) - for i, p := range ps { - if p.Key == prop.Info.Key { - exists = true - foundIndex = i - break - } - } - - switch prop.Operation { - case types.ArrayUpdateOperationAdd: - if exists { - return new(types.InvalidArgument) - } - ps = append(ps, *prop.Info) - case types.ArrayUpdateOperationEdit: - if !exists { - return new(types.InvalidArgument) - } - ps[foundIndex] = *prop.Info - case types.ArrayUpdateOperationRemove: - if !exists { - return new(types.InvalidArgument) - } - ps = append(ps[:foundIndex], ps[foundIndex+1:]...) - } - } - - if vm.Config.VAppConfig == nil { - vm.Config.VAppConfig = &types.VmConfigInfo{} - } - - vm.Config.VAppConfig.GetVmConfigInfo().Property = ps - - return nil -} - -var extraConfigAlias = map[string]string{ - "ip0": "SET.guest.ipAddress", -} - -func extraConfigKey(key string) string { - if k, ok := extraConfigAlias[key]; ok { - return k - } - return key -} - -func (vm *VirtualMachine) applyExtraConfig(spec *types.VirtualMachineConfigSpec) { - var changes []types.PropertyChange - for _, c := range spec.ExtraConfig { - val := c.GetOptionValue() - key := strings.TrimPrefix(extraConfigKey(val.Key), "SET.") - if key == val.Key { - vm.Config.ExtraConfig = append(vm.Config.ExtraConfig, c) - continue - } - changes = append(changes, types.PropertyChange{Name: key, Val: val.Value}) - - switch key { - case "guest.ipAddress": - if len(vm.Guest.Net) > 0 { - ip := val.Value.(string) - vm.Guest.Net[0].IpAddress = []string{ip} - changes = append(changes, - types.PropertyChange{Name: "summary." + key, Val: ip}, - types.PropertyChange{Name: "guest.net", Val: vm.Guest.Net}, - ) - } - case "guest.hostName": - changes = append(changes, - types.PropertyChange{Name: "summary." + key, Val: val.Value}, - ) - } - } - if len(changes) != 0 { - Map.Update(vm, changes) - } -} - -func validateGuestID(id string) types.BaseMethodFault { - for _, x := range GuestID { - if id == string(x) { - return nil - } - } - - return &types.InvalidArgument{InvalidProperty: "configSpec.guestId"} -} - -func (vm *VirtualMachine) configure(ctx *Context, spec *types.VirtualMachineConfigSpec) types.BaseMethodFault { - vm.apply(spec) - - if spec.MemoryAllocation != nil { - if err := updateResourceAllocation("memory", spec.MemoryAllocation, vm.Config.MemoryAllocation); err != nil { - return err - } - } - - if spec.CpuAllocation != nil { - if err := updateResourceAllocation("cpu", spec.CpuAllocation, vm.Config.CpuAllocation); err != nil { - return err - } - } - - if spec.GuestId != "" { - if err := validateGuestID(spec.GuestId); err != nil { - return err - } - } - - if o := spec.BootOptions; o != nil { - if isTrue(o.EfiSecureBootEnabled) && vm.Config.Firmware != string(types.GuestOsDescriptorFirmwareTypeEfi) { - return &types.InvalidVmConfig{Property: "msg.hostd.configSpec.efi"} - } - } - - if spec.VAppConfig != nil { - if err := vm.updateVAppProperty(spec.VAppConfig.GetVmConfigSpec()); err != nil { - return err - } - } - - return vm.configureDevices(ctx, spec) -} - -func getVMFileType(fileName string) types.VirtualMachineFileLayoutExFileType { - var fileType types.VirtualMachineFileLayoutExFileType - - fileExt := path.Ext(fileName) - fileNameNoExt := strings.TrimSuffix(fileName, fileExt) - - switch fileExt { - case ".vmx": - fileType = types.VirtualMachineFileLayoutExFileTypeConfig - case ".core": - fileType = types.VirtualMachineFileLayoutExFileTypeCore - case ".vmdk": - fileType = types.VirtualMachineFileLayoutExFileTypeDiskDescriptor - if strings.HasSuffix(fileNameNoExt, "-digest") { - fileType = types.VirtualMachineFileLayoutExFileTypeDigestDescriptor - } - - extentSuffixes := []string{"-flat", "-delta", "-s", "-rdm", "-rdmp"} - for _, suffix := range extentSuffixes { - if strings.HasSuffix(fileNameNoExt, suffix) { - fileType = types.VirtualMachineFileLayoutExFileTypeDiskExtent - } else if strings.HasSuffix(fileNameNoExt, "-digest"+suffix) { - fileType = types.VirtualMachineFileLayoutExFileTypeDigestExtent - } - } - case ".psf": - fileType = types.VirtualMachineFileLayoutExFileTypeDiskReplicationState - case ".vmxf": - fileType = types.VirtualMachineFileLayoutExFileTypeExtendedConfig - case ".vmft": - fileType = types.VirtualMachineFileLayoutExFileTypeFtMetadata - case ".log": - fileType = types.VirtualMachineFileLayoutExFileTypeLog - case ".nvram": - fileType = types.VirtualMachineFileLayoutExFileTypeNvram - case ".png", ".bmp": - fileType = types.VirtualMachineFileLayoutExFileTypeScreenshot - case ".vmsn": - fileType = types.VirtualMachineFileLayoutExFileTypeSnapshotData - case ".vmsd": - fileType = types.VirtualMachineFileLayoutExFileTypeSnapshotList - case ".xml": - if strings.HasSuffix(fileNameNoExt, "-aux") { - fileType = types.VirtualMachineFileLayoutExFileTypeSnapshotManifestList - } - case ".stat": - fileType = types.VirtualMachineFileLayoutExFileTypeStat - case ".vmss": - fileType = types.VirtualMachineFileLayoutExFileTypeSuspend - case ".vmem": - if strings.Contains(fileNameNoExt, "Snapshot") { - fileType = types.VirtualMachineFileLayoutExFileTypeSnapshotMemory - } else { - fileType = types.VirtualMachineFileLayoutExFileTypeSuspendMemory - } - case ".vswp": - if strings.HasPrefix(fileNameNoExt, "vmx-") { - fileType = types.VirtualMachineFileLayoutExFileTypeUwswap - } else { - fileType = types.VirtualMachineFileLayoutExFileTypeSwap - } - case "": - if strings.HasPrefix(fileNameNoExt, "imcf-") { - fileType = types.VirtualMachineFileLayoutExFileTypeGuestCustomization - } - } - - return fileType -} - -func (vm *VirtualMachine) addFileLayoutEx(datastorePath object.DatastorePath, fileSize int64) int32 { - var newKey int32 - for _, layoutFile := range vm.LayoutEx.File { - if layoutFile.Name == datastorePath.String() { - return layoutFile.Key - } - - if layoutFile.Key >= newKey { - newKey = layoutFile.Key + 1 - } - } - - fileType := getVMFileType(filepath.Base(datastorePath.Path)) - - switch fileType { - case types.VirtualMachineFileLayoutExFileTypeNvram, types.VirtualMachineFileLayoutExFileTypeSnapshotList: - vm.addConfigLayout(datastorePath.Path) - case types.VirtualMachineFileLayoutExFileTypeLog: - vm.addLogLayout(datastorePath.Path) - case types.VirtualMachineFileLayoutExFileTypeSwap: - vm.addSwapLayout(datastorePath.String()) - } - - vm.LayoutEx.File = append(vm.LayoutEx.File, types.VirtualMachineFileLayoutExFileInfo{ - Accessible: types.NewBool(true), - BackingObjectId: "", - Key: newKey, - Name: datastorePath.String(), - Size: fileSize, - Type: string(fileType), - UniqueSize: fileSize, - }) - - vm.LayoutEx.Timestamp = time.Now() - - vm.updateStorage() - - return newKey -} - -func (vm *VirtualMachine) addConfigLayout(name string) { - for _, config := range vm.Layout.ConfigFile { - if config == name { - return - } - } - - vm.Layout.ConfigFile = append(vm.Layout.ConfigFile, name) - - vm.updateStorage() -} - -func (vm *VirtualMachine) addLogLayout(name string) { - for _, log := range vm.Layout.LogFile { - if log == name { - return - } - } - - vm.Layout.LogFile = append(vm.Layout.LogFile, name) - - vm.updateStorage() -} - -func (vm *VirtualMachine) addSwapLayout(name string) { - vm.Layout.SwapFile = name - - vm.updateStorage() -} - -func (vm *VirtualMachine) addSnapshotLayout(snapshot types.ManagedObjectReference, dataKey int32) { - for _, snapshotLayout := range vm.Layout.Snapshot { - if snapshotLayout.Key == snapshot { - return - } - } - - var snapshotFiles []string - for _, file := range vm.LayoutEx.File { - if file.Key == dataKey || file.Type == "diskDescriptor" { - snapshotFiles = append(snapshotFiles, file.Name) - } - } - - vm.Layout.Snapshot = append(vm.Layout.Snapshot, types.VirtualMachineFileLayoutSnapshotLayout{ - Key: snapshot, - SnapshotFile: snapshotFiles, - }) - - vm.updateStorage() -} - -func (vm *VirtualMachine) addSnapshotLayoutEx(snapshot types.ManagedObjectReference, dataKey int32, memoryKey int32) { - for _, snapshotLayoutEx := range vm.LayoutEx.Snapshot { - if snapshotLayoutEx.Key == snapshot { - return - } - } - - vm.LayoutEx.Snapshot = append(vm.LayoutEx.Snapshot, types.VirtualMachineFileLayoutExSnapshotLayout{ - DataKey: dataKey, - Disk: vm.LayoutEx.Disk, - Key: snapshot, - MemoryKey: memoryKey, - }) - - vm.LayoutEx.Timestamp = time.Now() - - vm.updateStorage() -} - -// Updates both vm.Layout.Disk and vm.LayoutEx.Disk -func (vm *VirtualMachine) updateDiskLayouts() types.BaseMethodFault { - var disksLayout []types.VirtualMachineFileLayoutDiskLayout - var disksLayoutEx []types.VirtualMachineFileLayoutExDiskLayout - - disks := object.VirtualDeviceList(vm.Config.Hardware.Device).SelectByType((*types.VirtualDisk)(nil)) - for _, disk := range disks { - disk := disk.(*types.VirtualDisk) - diskBacking := disk.Backing.(*types.VirtualDiskFlatVer2BackingInfo) - - diskLayout := &types.VirtualMachineFileLayoutDiskLayout{Key: disk.Key} - diskLayoutEx := &types.VirtualMachineFileLayoutExDiskLayout{Key: disk.Key} - - // Iterate through disk and its parents - for { - dFileName := diskBacking.GetVirtualDeviceFileBackingInfo().FileName - - var fileKeys []int32 - - // Add disk descriptor and extent files - for _, diskName := range vdmNames(dFileName) { - // get full path including datastore location - p, fault := parseDatastorePath(diskName) - if fault != nil { - return fault - } - - datastore := vm.useDatastore(p.Datastore) - dFilePath := path.Join(datastore.Info.GetDatastoreInfo().Url, p.Path) - - var fileSize int64 - // If file can not be opened - fileSize will be 0 - if dFileInfo, err := os.Stat(dFilePath); err == nil { - fileSize = dFileInfo.Size() - } - - diskKey := vm.addFileLayoutEx(*p, fileSize) - fileKeys = append(fileKeys, diskKey) - } - - diskLayout.DiskFile = append(diskLayout.DiskFile, dFileName) - diskLayoutEx.Chain = append(diskLayoutEx.Chain, types.VirtualMachineFileLayoutExDiskUnit{ - FileKey: fileKeys, - }) - - if parent := diskBacking.Parent; parent != nil { - diskBacking = parent - } else { - break - } - } - - disksLayout = append(disksLayout, *diskLayout) - disksLayoutEx = append(disksLayoutEx, *diskLayoutEx) - } - - vm.Layout.Disk = disksLayout - - vm.LayoutEx.Disk = disksLayoutEx - vm.LayoutEx.Timestamp = time.Now() - - vm.updateStorage() - - return nil -} - -func (vm *VirtualMachine) updateStorage() types.BaseMethodFault { - // Committed - sum of Size for each file in vm.LayoutEx.File - // Unshared - sum of Size for each disk (.vmdk) in vm.LayoutEx.File - // Uncommitted - disk capacity minus disk usage (only currently used disk) - var datastoresUsage []types.VirtualMachineUsageOnDatastore - - disks := object.VirtualDeviceList(vm.Config.Hardware.Device).SelectByType((*types.VirtualDisk)(nil)) - - for _, file := range vm.LayoutEx.File { - p, fault := parseDatastorePath(file.Name) - if fault != nil { - return fault - } - - datastore := vm.useDatastore(p.Datastore) - dsUsage := &types.VirtualMachineUsageOnDatastore{ - Datastore: datastore.Self, - } - - for idx, usage := range datastoresUsage { - if usage.Datastore == datastore.Self { - datastoresUsage = append(datastoresUsage[:idx], datastoresUsage[idx+1:]...) - dsUsage = &usage - break - } - } - - dsUsage.Committed = file.Size - - if path.Ext(file.Name) == ".vmdk" { - dsUsage.Unshared = file.Size - } - - for _, disk := range disks { - disk := disk.(*types.VirtualDisk) - backing := disk.Backing.(types.BaseVirtualDeviceFileBackingInfo).GetVirtualDeviceFileBackingInfo() - - if backing.FileName == file.Name { - dsUsage.Uncommitted = disk.CapacityInBytes - } - } - - datastoresUsage = append(datastoresUsage, *dsUsage) - } - - vm.Storage.PerDatastoreUsage = datastoresUsage - vm.Storage.Timestamp = time.Now() - - storageSummary := &types.VirtualMachineStorageSummary{ - Timestamp: time.Now(), - } - - for _, usage := range datastoresUsage { - storageSummary.Committed += usage.Committed - storageSummary.Uncommitted += usage.Uncommitted - storageSummary.Unshared += usage.Unshared - } - - vm.Summary.Storage = storageSummary - - return nil -} - -func (vm *VirtualMachine) RefreshStorageInfo(ctx *Context, req *types.RefreshStorageInfo) soap.HasFault { - body := new(methods.RefreshStorageInfoBody) - - if vm.Runtime.Host == nil { - // VM not fully created - return body - } - - // Validate that all files in vm.LayoutEx.File can still be found - for idx := len(vm.LayoutEx.File) - 1; idx >= 0; idx-- { - file := vm.LayoutEx.File[idx] - - p, fault := parseDatastorePath(file.Name) - if fault != nil { - body.Fault_ = Fault("", fault) - return body - } - - if _, err := os.Stat(p.String()); err != nil { - vm.LayoutEx.File = append(vm.LayoutEx.File[:idx], vm.LayoutEx.File[idx+1:]...) - } - } - - // Directories will be used to locate VM files. - // Does not include information about virtual disk file locations. - locations := []string{ - vm.Config.Files.VmPathName, - vm.Config.Files.SnapshotDirectory, - vm.Config.Files.LogDirectory, - vm.Config.Files.SuspendDirectory, - vm.Config.Files.FtMetadataDirectory, - } - - for _, directory := range locations { - if directory == "" { - continue - } - - p, fault := parseDatastorePath(directory) - if fault != nil { - body.Fault_ = Fault("", fault) - return body - } - - datastore := vm.useDatastore(p.Datastore) - directory := path.Join(datastore.Info.GetDatastoreInfo().Url, p.Path) - - if path.Ext(p.Path) == ".vmx" { - directory = path.Dir(directory) // vm.Config.Files.VmPathName can be a directory or full path to .vmx - } - - if _, err := os.Stat(directory); err != nil { - // Can not access the directory - continue - } - - files, err := ioutil.ReadDir(directory) - if err != nil { - body.Fault_ = Fault("", ctx.Map.FileManager().fault(directory, err, new(types.CannotAccessFile))) - return body - } - - for _, file := range files { - datastorePath := object.DatastorePath{ - Datastore: p.Datastore, - Path: strings.TrimPrefix(file.Name(), datastore.Info.GetDatastoreInfo().Url), - } - - vm.addFileLayoutEx(datastorePath, file.Size()) - } - } - - fault := vm.updateDiskLayouts() - if fault != nil { - body.Fault_ = Fault("", fault) - return body - } - - vm.LayoutEx.Timestamp = time.Now() - - body.Res = new(types.RefreshStorageInfoResponse) - - return body -} - -func (vm *VirtualMachine) findDatastore(name string) *Datastore { - host := Map.Get(*vm.Runtime.Host).(*HostSystem) - - return Map.FindByName(name, host.Datastore).(*Datastore) -} - -func (vm *VirtualMachine) useDatastore(name string) *Datastore { - ds := vm.findDatastore(name) - if FindReference(vm.Datastore, ds.Self) == nil { - vm.Datastore = append(vm.Datastore, ds.Self) - } - - return ds -} - -func (vm *VirtualMachine) vmx(spec *types.VirtualMachineConfigSpec) object.DatastorePath { - var p object.DatastorePath - vmx := vm.Config.Files.VmPathName - if spec != nil { - vmx = spec.Files.VmPathName - } - p.FromString(vmx) - return p -} - -func (vm *VirtualMachine) createFile(spec string, name string, register bool) (*os.File, types.BaseMethodFault) { - p, fault := parseDatastorePath(spec) - if fault != nil { - return nil, fault - } - - ds := vm.useDatastore(p.Datastore) - - nhost := len(ds.Host) - if ds.Name == "vsanDatastore" && nhost < 3 { - fault := new(types.CannotCreateFile) - fault.FaultMessage = []types.LocalizableMessage{ - { - Key: "vob.vsanprovider.object.creation.failed", - Message: "Failed to create object.", - }, - { - Key: "vob.vsan.clomd.needMoreFaultDomains2", - Message: fmt.Sprintf("There are currently %d usable fault domains. The operation requires %d more usable fault domains.", nhost, 3-nhost), - }, - } - fault.File = p.Path - return nil, fault - } - - file := path.Join(ds.Info.GetDatastoreInfo().Url, p.Path) - - if name != "" { - if path.Ext(p.Path) == ".vmx" { - file = path.Dir(file) // vm.Config.Files.VmPathName can be a directory or full path to .vmx - } - - file = path.Join(file, name) - } - - if register { - f, err := os.Open(filepath.Clean(file)) - if err != nil { - log.Printf("register %s: %s", vm.Reference(), err) - if os.IsNotExist(err) { - return nil, &types.NotFound{} - } - - return nil, &types.InvalidArgument{} - } - - return f, nil - } - - _, err := os.Stat(file) - if err == nil { - fault := &types.FileAlreadyExists{FileFault: types.FileFault{File: file}} - log.Printf("%T: %s", fault, file) - return nil, fault - } - - // Create parent directory if needed - dir := path.Dir(file) - _, err = os.Stat(dir) - if err != nil { - if os.IsNotExist(err) { - _ = os.Mkdir(dir, 0700) - } - } - - f, err := os.Create(file) - if err != nil { - log.Printf("create(%s): %s", file, err) - return nil, &types.FileFault{ - File: file, - } - } - - return f, nil -} - -// Rather than keep an fd open for each VM, open/close the log for each messages. -// This is ok for now as we do not do any heavy VM logging. -func (vm *VirtualMachine) logPrintf(format string, v ...interface{}) { - f, err := os.OpenFile(vm.log, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0) - if err != nil { - log.Println(err) - return - } - log.New(f, "vmx ", log.Flags()).Printf(format, v...) - _ = f.Close() -} - -func (vm *VirtualMachine) create(ctx *Context, spec *types.VirtualMachineConfigSpec, register bool) types.BaseMethodFault { - vm.apply(spec) - - if spec.Version != "" { - v := strings.TrimPrefix(spec.Version, "vmx-") - _, err := strconv.Atoi(v) - if err != nil { - log.Printf("unsupported hardware version: %s", spec.Version) - return new(types.NotSupported) - } - } - - files := []struct { - spec string - name string - use *string - }{ - {vm.Config.Files.VmPathName, "", nil}, - {vm.Config.Files.VmPathName, fmt.Sprintf("%s.nvram", vm.Name), nil}, - {vm.Config.Files.LogDirectory, "vmware.log", &vm.log}, - } - - for _, file := range files { - f, err := vm.createFile(file.spec, file.name, register) - if err != nil { - return err - } - if file.use != nil { - *file.use = f.Name() - } - _ = f.Close() - } - - vm.logPrintf("created") - - return vm.configureDevices(ctx, spec) -} - -var vmwOUI = net.HardwareAddr([]byte{0x0, 0xc, 0x29}) - -// From http://pubs.vmware.com/vsphere-60/index.jsp?topic=%2Fcom.vmware.vsphere.networking.doc%2FGUID-DC7478FF-DC44-4625-9AD7-38208C56A552.html -// "The host generates generateMAC addresses that consists of the VMware OUI 00:0C:29 and the last three octets in hexadecimal -// format of the virtual machine UUID. The virtual machine UUID is based on a hash calculated by using the UUID of the -// ESXi physical machine and the path to the configuration file (.vmx) of the virtual machine." -func (vm *VirtualMachine) generateMAC(unit int32) string { - id := []byte(vm.Config.Uuid) - - offset := len(id) - len(vmwOUI) - key := id[offset] + byte(unit) // add device unit number, giving each VM NIC a unique MAC - id = append([]byte{key}, id[offset+1:]...) - - mac := append(vmwOUI, id...) - - return mac.String() -} - -func numberToString(n int64, sep rune) string { - buf := &bytes.Buffer{} - if n < 0 { - n = -n - buf.WriteRune('-') - } - s := strconv.FormatInt(n, 10) - pos := 3 - (len(s) % 3) - for i := 0; i < len(s); i++ { - if pos == 3 { - if i != 0 { - buf.WriteRune(sep) - } - pos = 0 - } - pos++ - buf.WriteByte(s[i]) - } - - return buf.String() -} - -func getDiskSize(disk *types.VirtualDisk) int64 { - if disk.CapacityInBytes == 0 { - return disk.CapacityInKB * 1024 - } - return disk.CapacityInBytes -} - -func changedDiskSize(oldDisk *types.VirtualDisk, newDiskSpec *types.VirtualDisk) (int64, bool) { - // capacity cannot be decreased - if newDiskSpec.CapacityInBytes < oldDisk.CapacityInBytes || newDiskSpec.CapacityInKB < oldDisk.CapacityInKB { - return 0, false - } - - // NOTE: capacity is ignored if specified value is same as before - if newDiskSpec.CapacityInBytes == oldDisk.CapacityInBytes { - return newDiskSpec.CapacityInKB * 1024, true - } - if newDiskSpec.CapacityInKB == oldDisk.CapacityInKB { - return newDiskSpec.CapacityInBytes, true - } - - // CapacityInBytes and CapacityInKB indicate different values - if newDiskSpec.CapacityInBytes != newDiskSpec.CapacityInKB*1024 { - return 0, false - } - return newDiskSpec.CapacityInBytes, true -} - -func (vm *VirtualMachine) validateSwitchMembers(id string) types.BaseMethodFault { - var dswitch *DistributedVirtualSwitch - - var find func(types.ManagedObjectReference) - find = func(child types.ManagedObjectReference) { - s, ok := Map.Get(child).(*DistributedVirtualSwitch) - if ok && s.Uuid == id { - dswitch = s - return - } - walk(Map.Get(child), find) - } - f := Map.getEntityDatacenter(vm).NetworkFolder - walk(Map.Get(f), find) // search in NetworkFolder and any sub folders - - if dswitch == nil { - log.Printf("DVS %s cannot be found", id) - return new(types.NotFound) - } - - h := Map.Get(*vm.Runtime.Host).(*HostSystem) - c := hostParent(&h.HostSystem) - isMember := func(val types.ManagedObjectReference) bool { - for _, mem := range dswitch.Summary.HostMember { - if mem == val { - return true - } - } - log.Printf("%s is not a member of VDS %s", h.Name, dswitch.Name) - return false - } - - for _, ref := range c.Host { - if !isMember(ref) { - return &types.InvalidArgument{InvalidProperty: "spec.deviceChange.device.port.switchUuid"} - } - } - - return nil -} - -func (vm *VirtualMachine) configureDevice( - ctx *Context, - devices object.VirtualDeviceList, - spec *types.VirtualDeviceConfigSpec, - oldDevice types.BaseVirtualDevice) types.BaseMethodFault { - - device := spec.Device - d := device.GetVirtualDevice() - var controller types.BaseVirtualController - - if d.Key <= 0 { - // Keys can't be negative; Key 0 is reserved - d.Key = devices.NewKey() - d.Key *= -1 - } - - // Choose a unique key - for { - if devices.FindByKey(d.Key) == nil { - break - } - d.Key++ - } - - label := devices.Name(device) - summary := label - dc := ctx.Map.getEntityDatacenter(ctx.Map.Get(*vm.Parent).(mo.Entity)) - - switch x := device.(type) { - case types.BaseVirtualEthernetCard: - controller = devices.PickController((*types.VirtualPCIController)(nil)) - var net types.ManagedObjectReference - var name string - - switch b := d.Backing.(type) { - case *types.VirtualEthernetCardNetworkBackingInfo: - name = b.DeviceName - summary = name - net = ctx.Map.FindByName(b.DeviceName, dc.Network).Reference() - b.Network = &net - case *types.VirtualEthernetCardDistributedVirtualPortBackingInfo: - summary = fmt.Sprintf("DVSwitch: %s", b.Port.SwitchUuid) - net.Type = "DistributedVirtualPortgroup" - net.Value = b.Port.PortgroupKey - if err := vm.validateSwitchMembers(b.Port.SwitchUuid); err != nil { - return err - } - } - - ctx.Map.Update(vm, []types.PropertyChange{ - {Name: "summary.config.numEthernetCards", Val: vm.Summary.Config.NumEthernetCards + 1}, - {Name: "network", Val: append(vm.Network, net)}, - }) - - c := x.GetVirtualEthernetCard() - if c.MacAddress == "" { - if c.UnitNumber == nil { - devices.AssignController(device, controller) - } - c.MacAddress = vm.generateMAC(*c.UnitNumber - 7) // Note 7 == PCI offset - } - - vm.Guest.Net = append(vm.Guest.Net, types.GuestNicInfo{ - Network: name, - IpAddress: nil, - MacAddress: c.MacAddress, - Connected: true, - DeviceConfigId: c.Key, - }) - - if spec.Operation == types.VirtualDeviceConfigSpecOperationAdd { - if c.ResourceAllocation == nil { - c.ResourceAllocation = &types.VirtualEthernetCardResourceAllocation{ - Reservation: types.NewInt64(0), - Share: types.SharesInfo{ - Shares: 50, - Level: "normal", - }, - Limit: types.NewInt64(-1), - } - } - } - case *types.VirtualDisk: - if oldDevice == nil { - // NOTE: either of capacityInBytes and capacityInKB may not be specified - x.CapacityInBytes = getDiskSize(x) - x.CapacityInKB = getDiskSize(x) / 1024 - } else { - if oldDisk, ok := oldDevice.(*types.VirtualDisk); ok { - diskSize, ok := changedDiskSize(oldDisk, x) - if !ok { - return &types.InvalidDeviceOperation{} - } - x.CapacityInBytes = diskSize - x.CapacityInKB = diskSize / 1024 - } - } - - summary = fmt.Sprintf("%s KB", numberToString(x.CapacityInKB, ',')) - switch b := d.Backing.(type) { - case types.BaseVirtualDeviceFileBackingInfo: - info := b.GetVirtualDeviceFileBackingInfo() - var path object.DatastorePath - path.FromString(info.FileName) - - if path.Path == "" { - filename, err := vm.genVmdkPath(path) - if err != nil { - return err - } - - info.FileName = filename - } - - err := vdmCreateVirtualDisk(spec.FileOperation, &types.CreateVirtualDisk_Task{ - Datacenter: &dc.Self, - Name: info.FileName, - }) - if err != nil { - return err - } - - ctx.Map.Update(vm, []types.PropertyChange{ - {Name: "summary.config.numVirtualDisks", Val: vm.Summary.Config.NumVirtualDisks + 1}, - }) - - p, _ := parseDatastorePath(info.FileName) - ds := vm.findDatastore(p.Datastore) - info.Datastore = &ds.Self - - if oldDevice != nil { - if oldDisk, ok := oldDevice.(*types.VirtualDisk); ok { - // add previous capacity to datastore freespace - ctx.WithLock(ds, func() { - ds.Summary.FreeSpace += getDiskSize(oldDisk) - ds.Info.GetDatastoreInfo().FreeSpace = ds.Summary.FreeSpace - }) - } - } - - // then subtract new capacity from datastore freespace - // XXX: compare disk size and free space until windows stat is supported - ctx.WithLock(ds, func() { - ds.Summary.FreeSpace -= getDiskSize(x) - ds.Info.GetDatastoreInfo().FreeSpace = ds.Summary.FreeSpace - }) - - vm.updateDiskLayouts() - - if disk, ok := b.(*types.VirtualDiskFlatVer2BackingInfo); ok { - // These properties default to false - props := []**bool{ - &disk.EagerlyScrub, - &disk.ThinProvisioned, - &disk.WriteThrough, - &disk.Split, - &disk.DigestEnabled, - } - for _, prop := range props { - if *prop == nil { - *prop = types.NewBool(false) - } - } - disk.Uuid = virtualDiskUUID(&dc.Self, info.FileName) - } - } - case *types.VirtualCdrom: - if b, ok := d.Backing.(types.BaseVirtualDeviceFileBackingInfo); ok { - summary = "ISO " + b.GetVirtualDeviceFileBackingInfo().FileName - } - case *types.VirtualFloppy: - if b, ok := d.Backing.(types.BaseVirtualDeviceFileBackingInfo); ok { - summary = "Image " + b.GetVirtualDeviceFileBackingInfo().FileName - } - case *types.VirtualSerialPort: - switch b := d.Backing.(type) { - case types.BaseVirtualDeviceFileBackingInfo: - summary = "File " + b.GetVirtualDeviceFileBackingInfo().FileName - case *types.VirtualSerialPortURIBackingInfo: - summary = "Remote " + b.ServiceURI - } - } - - if d.UnitNumber == nil && controller != nil { - devices.AssignController(device, controller) - } - - if d.DeviceInfo == nil { - d.DeviceInfo = &types.Description{ - Label: label, - Summary: summary, - } - } else { - info := d.DeviceInfo.GetDescription() - if info.Label == "" { - info.Label = label - } - if info.Summary == "" { - info.Summary = summary - } - } - - switch device.(type) { - case types.BaseVirtualEthernetCard, *types.VirtualCdrom, *types.VirtualFloppy, *types.VirtualUSB, *types.VirtualSerialPort: - if d.Connectable == nil { - d.Connectable = &types.VirtualDeviceConnectInfo{StartConnected: true, Connected: true} - } - } - - // device can be connected only if vm is powered on - if vm.Runtime.PowerState != types.VirtualMachinePowerStatePoweredOn { - if d.Connectable != nil { - d.Connectable.Connected = false - } - } - - return nil -} - -func (vm *VirtualMachine) removeDevice(ctx *Context, devices object.VirtualDeviceList, spec *types.VirtualDeviceConfigSpec) object.VirtualDeviceList { - key := spec.Device.GetVirtualDevice().Key - - for i, d := range devices { - if d.GetVirtualDevice().Key != key { - continue - } - - devices = append(devices[:i], devices[i+1:]...) - - switch device := spec.Device.(type) { - case *types.VirtualDisk: - if spec.FileOperation == types.VirtualDeviceConfigSpecFileOperationDestroy { - var file string - - switch b := device.Backing.(type) { - case types.BaseVirtualDeviceFileBackingInfo: - file = b.GetVirtualDeviceFileBackingInfo().FileName - - p, _ := parseDatastorePath(file) - ds := vm.findDatastore(p.Datastore) - - ctx.WithLock(ds, func() { - ds.Summary.FreeSpace += getDiskSize(device) - ds.Info.GetDatastoreInfo().FreeSpace = ds.Summary.FreeSpace - }) - } - - if file != "" { - dc := ctx.Map.getEntityDatacenter(vm) - dm := ctx.Map.VirtualDiskManager() - if dc == nil { - continue // parent was destroyed - } - res := dm.DeleteVirtualDiskTask(ctx, &types.DeleteVirtualDisk_Task{ - Name: file, - Datacenter: &dc.Self, - }) - ctask := ctx.Map.Get(res.(*methods.DeleteVirtualDisk_TaskBody).Res.Returnval).(*Task) - ctask.Wait() - } - } - ctx.Map.Update(vm, []types.PropertyChange{ - {Name: "summary.config.numVirtualDisks", Val: vm.Summary.Config.NumVirtualDisks - 1}, - }) - - vm.updateDiskLayouts() - case types.BaseVirtualEthernetCard: - var net types.ManagedObjectReference - - switch b := device.GetVirtualEthernetCard().Backing.(type) { - case *types.VirtualEthernetCardNetworkBackingInfo: - net = *b.Network - case *types.VirtualEthernetCardDistributedVirtualPortBackingInfo: - net.Type = "DistributedVirtualPortgroup" - net.Value = b.Port.PortgroupKey - } - - for j, nicInfo := range vm.Guest.Net { - if nicInfo.DeviceConfigId == key { - vm.Guest.Net = append(vm.Guest.Net[:j], vm.Guest.Net[j+1:]...) - break - } - } - - networks := vm.Network - RemoveReference(&networks, net) - ctx.Map.Update(vm, []types.PropertyChange{ - {Name: "summary.config.numEthernetCards", Val: vm.Summary.Config.NumEthernetCards - 1}, - {Name: "network", Val: networks}, - }) - } - - break - } - - return devices -} - -func (vm *VirtualMachine) genVmdkPath(p object.DatastorePath) (string, types.BaseMethodFault) { - if p.Datastore == "" { - p.FromString(vm.Config.Files.VmPathName) - } - if p.Path == "" { - p.Path = vm.Config.Name - } else { - p.Path = path.Dir(p.Path) - } - vmdir := p.String() - index := 0 - for { - var filename string - if index == 0 { - filename = fmt.Sprintf("%s.vmdk", vm.Config.Name) - } else { - filename = fmt.Sprintf("%s_%d.vmdk", vm.Config.Name, index) - } - - f, err := vm.createFile(vmdir, filename, false) - if err != nil { - switch err.(type) { - case *types.FileAlreadyExists: - index++ - continue - default: - return "", err - } - } - - _ = f.Close() - _ = os.Remove(f.Name()) - - return path.Join(vmdir, filename), nil - } -} - -func (vm *VirtualMachine) configureDevices(ctx *Context, spec *types.VirtualMachineConfigSpec) types.BaseMethodFault { - devices := object.VirtualDeviceList(vm.Config.Hardware.Device) - - for i, change := range spec.DeviceChange { - dspec := change.GetVirtualDeviceConfigSpec() - device := dspec.Device.GetVirtualDevice() - invalid := &types.InvalidDeviceSpec{DeviceIndex: int32(i)} - - switch dspec.FileOperation { - case types.VirtualDeviceConfigSpecFileOperationCreate: - switch dspec.Device.(type) { - case *types.VirtualDisk: - if device.UnitNumber == nil { - return invalid - } - } - } - - switch dspec.Operation { - case types.VirtualDeviceConfigSpecOperationAdd: - if devices.FindByKey(device.Key) != nil && device.ControllerKey == 0 { - // Note: real ESX does not allow adding base controllers (ControllerKey = 0) - // after VM is created (returns success but device is not added). - continue - } else if device.UnitNumber != nil && devices.SelectByType(dspec.Device).Select(func(d types.BaseVirtualDevice) bool { - base := d.GetVirtualDevice() - if base.UnitNumber != nil { - if base.ControllerKey != device.ControllerKey { - return false - } - return *base.UnitNumber == *device.UnitNumber - } - return false - }) != nil { - // UnitNumber for this device type is taken - return invalid - } - - key := device.Key - err := vm.configureDevice(ctx, devices, dspec, nil) - if err != nil { - return err - } - - devices = append(devices, dspec.Device) - if key != device.Key { - // Update ControllerKey refs - for i := range spec.DeviceChange { - ckey := &spec.DeviceChange[i].GetVirtualDeviceConfigSpec().Device.GetVirtualDevice().ControllerKey - if *ckey == key { - *ckey = device.Key - } - } - } - case types.VirtualDeviceConfigSpecOperationEdit: - rspec := *dspec - oldDevice := devices.FindByKey(device.Key) - if oldDevice == nil { - return invalid - } - rspec.Device = oldDevice - devices = vm.removeDevice(ctx, devices, &rspec) - if device.DeviceInfo != nil { - device.DeviceInfo.GetDescription().Summary = "" // regenerate summary - } - - err := vm.configureDevice(ctx, devices, dspec, oldDevice) - if err != nil { - return err - } - - devices = append(devices, dspec.Device) - case types.VirtualDeviceConfigSpecOperationRemove: - devices = vm.removeDevice(ctx, devices, dspec) - } - } - - ctx.Map.Update(vm, []types.PropertyChange{ - {Name: "config.hardware.device", Val: []types.BaseVirtualDevice(devices)}, - }) - - vm.updateDiskLayouts() - - vm.applyExtraConfig(spec) // Do this after device config, as some may apply to the devices themselves (e.g. ethernet -> guest.net) - - return nil -} - -type powerVMTask struct { - *VirtualMachine - - state types.VirtualMachinePowerState - ctx *Context -} - -func (c *powerVMTask) Run(task *Task) (types.AnyType, types.BaseMethodFault) { - c.logPrintf("running power task: requesting %s, existing %s", - c.state, c.VirtualMachine.Runtime.PowerState) - - if c.VirtualMachine.Runtime.PowerState == c.state { - return nil, &types.InvalidPowerState{ - RequestedState: c.state, - ExistingState: c.VirtualMachine.Runtime.PowerState, - } - } - - var boot types.AnyType - if c.state == types.VirtualMachinePowerStatePoweredOn { - boot = time.Now() - } - - event := c.event() - switch c.state { - case types.VirtualMachinePowerStatePoweredOn: - if c.VirtualMachine.hostInMM(c.ctx) { - return nil, new(types.InvalidState) - } - - c.run.start(c.ctx, c.VirtualMachine) - c.ctx.postEvent( - &types.VmStartingEvent{VmEvent: event}, - &types.VmPoweredOnEvent{VmEvent: event}, - ) - c.customize(c.ctx) - case types.VirtualMachinePowerStatePoweredOff: - c.run.stop(c.ctx, c.VirtualMachine) - c.ctx.postEvent( - &types.VmStoppingEvent{VmEvent: event}, - &types.VmPoweredOffEvent{VmEvent: event}, - ) - case types.VirtualMachinePowerStateSuspended: - if c.VirtualMachine.Runtime.PowerState != types.VirtualMachinePowerStatePoweredOn { - return nil, &types.InvalidPowerState{ - RequestedState: types.VirtualMachinePowerStatePoweredOn, - ExistingState: c.VirtualMachine.Runtime.PowerState, - } - } - - c.run.pause(c.ctx, c.VirtualMachine) - c.ctx.postEvent( - &types.VmSuspendingEvent{VmEvent: event}, - &types.VmSuspendedEvent{VmEvent: event}, - ) - } - - // copy devices to prevent data race - devices := c.VirtualMachine.cloneDevice() - for _, d := range devices { - conn := d.GetVirtualDevice().Connectable - if conn == nil { - continue - } - - if c.state == types.VirtualMachinePowerStatePoweredOn { - // apply startConnected to current connection - conn.Connected = conn.StartConnected - } else { - conn.Connected = false - } - } - - c.ctx.Map.Update(c.VirtualMachine, []types.PropertyChange{ - {Name: "runtime.powerState", Val: c.state}, - {Name: "summary.runtime.powerState", Val: c.state}, - {Name: "summary.runtime.bootTime", Val: boot}, - {Name: "config.hardware.device", Val: devices}, - }) - - return nil, nil -} - -func (vm *VirtualMachine) PowerOnVMTask(ctx *Context, c *types.PowerOnVM_Task) soap.HasFault { - if vm.Config.Template { - return &methods.PowerOnVM_TaskBody{ - Fault_: Fault("cannot powerOn a template", &types.InvalidState{}), - } - } - - runner := &powerVMTask{vm, types.VirtualMachinePowerStatePoweredOn, ctx} - task := CreateTask(runner.Reference(), "powerOn", runner.Run) - - return &methods.PowerOnVM_TaskBody{ - Res: &types.PowerOnVM_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} - -func (vm *VirtualMachine) PowerOffVMTask(ctx *Context, c *types.PowerOffVM_Task) soap.HasFault { - runner := &powerVMTask{vm, types.VirtualMachinePowerStatePoweredOff, ctx} - task := CreateTask(runner.Reference(), "powerOff", runner.Run) - - return &methods.PowerOffVM_TaskBody{ - Res: &types.PowerOffVM_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} - -func (vm *VirtualMachine) SuspendVMTask(ctx *Context, req *types.SuspendVM_Task) soap.HasFault { - runner := &powerVMTask{vm, types.VirtualMachinePowerStateSuspended, ctx} - task := CreateTask(runner.Reference(), "suspend", runner.Run) - - return &methods.SuspendVM_TaskBody{ - Res: &types.SuspendVM_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} - -func (vm *VirtualMachine) ResetVMTask(ctx *Context, req *types.ResetVM_Task) soap.HasFault { - task := CreateTask(vm, "reset", func(task *Task) (types.AnyType, types.BaseMethodFault) { - res := vm.PowerOffVMTask(ctx, &types.PowerOffVM_Task{This: vm.Self}) - ctask := ctx.Map.Get(res.(*methods.PowerOffVM_TaskBody).Res.Returnval).(*Task) - ctask.Wait() - if ctask.Info.Error != nil { - return nil, ctask.Info.Error.Fault - } - - res = vm.PowerOnVMTask(ctx, &types.PowerOnVM_Task{This: vm.Self}) - ctask = ctx.Map.Get(res.(*methods.PowerOnVM_TaskBody).Res.Returnval).(*Task) - ctask.Wait() - - return nil, nil - }) - - return &methods.ResetVM_TaskBody{ - Res: &types.ResetVM_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} - -func (vm *VirtualMachine) RebootGuest(ctx *Context, req *types.RebootGuest) soap.HasFault { - body := new(methods.RebootGuestBody) - - if vm.Runtime.PowerState != types.VirtualMachinePowerStatePoweredOn { - body.Fault_ = Fault("", &types.InvalidPowerState{ - RequestedState: types.VirtualMachinePowerStatePoweredOn, - ExistingState: vm.Runtime.PowerState, - }) - return body - } - - if vm.Guest.ToolsRunningStatus == string(types.VirtualMachineToolsRunningStatusGuestToolsRunning) { - vm.run.restart(ctx, vm) - body.Res = new(types.RebootGuestResponse) - } else { - body.Fault_ = Fault("", new(types.ToolsUnavailable)) - } - - return body -} - -func (vm *VirtualMachine) ReconfigVMTask(ctx *Context, req *types.ReconfigVM_Task) soap.HasFault { - task := CreateTask(vm, "reconfigVm", func(t *Task) (types.AnyType, types.BaseMethodFault) { - ctx.postEvent(&types.VmReconfiguredEvent{ - VmEvent: vm.event(), - ConfigSpec: req.Spec, - }) - - if vm.Config.Template { - expect := types.VirtualMachineConfigSpec{ - Name: req.Spec.Name, - Annotation: req.Spec.Annotation, - } - if !reflect.DeepEqual(&req.Spec, &expect) { - log.Printf("template reconfigure only allows name and annotation change") - return nil, new(types.NotSupported) - } - } - - err := vm.configure(ctx, &req.Spec) - - return nil, err - }) - - return &methods.ReconfigVM_TaskBody{ - Res: &types.ReconfigVM_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} - -func (vm *VirtualMachine) UpgradeVMTask(ctx *Context, req *types.UpgradeVM_Task) soap.HasFault { - body := &methods.UpgradeVM_TaskBody{} - - task := CreateTask(vm, "upgradeVm", func(t *Task) (types.AnyType, types.BaseMethodFault) { - if vm.Config.Version != esx.HardwareVersion { - ctx.Map.Update(vm, []types.PropertyChange{{ - Name: "config.version", Val: esx.HardwareVersion, - }}) - } - return nil, nil - }) - - body.Res = &types.UpgradeVM_TaskResponse{ - Returnval: task.Run(ctx), - } - - return body -} - -func (vm *VirtualMachine) DestroyTask(ctx *Context, req *types.Destroy_Task) soap.HasFault { - dc := ctx.Map.getEntityDatacenter(vm) - - task := CreateTask(vm, "destroy", func(t *Task) (types.AnyType, types.BaseMethodFault) { - if dc == nil { - return nil, &types.ManagedObjectNotFound{Obj: vm.Self} // If our Parent was destroyed, so were we. - } - - r := vm.UnregisterVM(ctx, &types.UnregisterVM{ - This: req.This, - }) - - if r.Fault() != nil { - return nil, r.Fault().VimFault().(types.BaseMethodFault) - } - - // Remove all devices - devices := object.VirtualDeviceList(vm.Config.Hardware.Device) - spec, _ := devices.ConfigSpec(types.VirtualDeviceConfigSpecOperationRemove) - vm.configureDevices(ctx, &types.VirtualMachineConfigSpec{DeviceChange: spec}) - - // Delete VM files from the datastore (ignoring result for now) - m := ctx.Map.FileManager() - - _ = m.DeleteDatastoreFileTask(ctx, &types.DeleteDatastoreFile_Task{ - This: m.Reference(), - Name: vm.Config.Files.LogDirectory, - Datacenter: &dc.Self, - }) - - vm.run.remove(vm) - - return nil, nil - }) - - return &methods.Destroy_TaskBody{ - Res: &types.Destroy_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} - -func (vm *VirtualMachine) SetCustomValue(ctx *Context, req *types.SetCustomValue) soap.HasFault { - return SetCustomValue(ctx, req) -} - -func (vm *VirtualMachine) UnregisterVM(ctx *Context, c *types.UnregisterVM) soap.HasFault { - r := &methods.UnregisterVMBody{} - - if vm.Runtime.PowerState == types.VirtualMachinePowerStatePoweredOn { - r.Fault_ = Fault("", &types.InvalidPowerState{ - RequestedState: types.VirtualMachinePowerStatePoweredOff, - ExistingState: vm.Runtime.PowerState, - }) - - return r - } - - host := ctx.Map.Get(*vm.Runtime.Host).(*HostSystem) - ctx.Map.RemoveReference(ctx, host, &host.Vm, vm.Self) - - if vm.ResourcePool != nil { - switch pool := ctx.Map.Get(*vm.ResourcePool).(type) { - case *ResourcePool: - ctx.Map.RemoveReference(ctx, pool, &pool.Vm, vm.Self) - case *VirtualApp: - ctx.Map.RemoveReference(ctx, pool, &pool.Vm, vm.Self) - } - } - - for i := range vm.Datastore { - ds := ctx.Map.Get(vm.Datastore[i]).(*Datastore) - ctx.Map.RemoveReference(ctx, ds, &ds.Vm, vm.Self) - } - - ctx.postEvent(&types.VmRemovedEvent{VmEvent: vm.event()}) - if f, ok := asFolderMO(ctx.Map.getEntityParent(vm, "Folder")); ok { - folderRemoveChild(ctx, f, c.This) - } - - r.Res = new(types.UnregisterVMResponse) - - return r -} - -type vmFolder interface { - CreateVMTask(ctx *Context, c *types.CreateVM_Task) soap.HasFault -} - -func (vm *VirtualMachine) cloneDevice() []types.BaseVirtualDevice { - src := types.ArrayOfVirtualDevice{ - VirtualDevice: vm.Config.Hardware.Device, - } - dst := types.ArrayOfVirtualDevice{} - deepCopy(src, &dst) - return dst.VirtualDevice -} - -func (vm *VirtualMachine) CloneVMTask(ctx *Context, req *types.CloneVM_Task) soap.HasFault { - pool := req.Spec.Location.Pool - if pool == nil { - if !vm.Config.Template { - pool = vm.ResourcePool - } - } - - destHost := vm.Runtime.Host - - if req.Spec.Location.Host != nil { - destHost = req.Spec.Location.Host - } - - folder, _ := asFolderMO(ctx.Map.Get(req.Folder)) - host := ctx.Map.Get(*destHost).(*HostSystem) - event := vm.event() - - ctx.postEvent(&types.VmBeingClonedEvent{ - VmCloneEvent: types.VmCloneEvent{ - VmEvent: event, - }, - DestFolder: folderEventArgument(folder), - DestName: req.Name, - DestHost: *host.eventArgument(), - }) - - vmx := vm.vmx(nil) - vmx.Path = req.Name - if ref := req.Spec.Location.Datastore; ref != nil { - ds := ctx.Map.Get(*ref).(*Datastore).Name - vmx.Datastore = ds - } - - task := CreateTask(vm, "cloneVm", func(t *Task) (types.AnyType, types.BaseMethodFault) { - if pool == nil { - return nil, &types.InvalidArgument{InvalidProperty: "spec.location.pool"} - } - if obj := ctx.Map.FindByName(req.Name, folder.ChildEntity); obj != nil { - return nil, &types.DuplicateName{ - Name: req.Name, - Object: obj.Reference(), - } - } - config := types.VirtualMachineConfigSpec{ - Name: req.Name, - GuestId: vm.Config.GuestId, - Files: &types.VirtualMachineFileInfo{ - VmPathName: vmx.String(), - }, - } - if req.Spec.Config != nil { - config.ExtraConfig = req.Spec.Config.ExtraConfig - config.InstanceUuid = req.Spec.Config.InstanceUuid - } - - // Copying hardware properties - config.NumCPUs = vm.Config.Hardware.NumCPU - config.MemoryMB = int64(vm.Config.Hardware.MemoryMB) - config.NumCoresPerSocket = vm.Config.Hardware.NumCoresPerSocket - config.VirtualICH7MPresent = vm.Config.Hardware.VirtualICH7MPresent - config.VirtualSMCPresent = vm.Config.Hardware.VirtualSMCPresent - - defaultDevices := object.VirtualDeviceList(esx.VirtualDevice) - devices := vm.cloneDevice() - - for _, device := range devices { - var fop types.VirtualDeviceConfigSpecFileOperation - - if defaultDevices.Find(object.VirtualDeviceList(devices).Name(device)) != nil { - // Default devices are added during CreateVMTask - continue - } - - switch disk := device.(type) { - case *types.VirtualDisk: - // TODO: consider VirtualMachineCloneSpec.DiskMoveType - fop = types.VirtualDeviceConfigSpecFileOperationCreate - - // Leave FileName empty so CreateVM will just create a new one under VmPathName - disk.Backing.(*types.VirtualDiskFlatVer2BackingInfo).FileName = "" - disk.Backing.(*types.VirtualDiskFlatVer2BackingInfo).Parent = nil - } - - config.DeviceChange = append(config.DeviceChange, &types.VirtualDeviceConfigSpec{ - Operation: types.VirtualDeviceConfigSpecOperationAdd, - Device: device, - FileOperation: fop, - }) - } - - res := ctx.Map.Get(req.Folder).(vmFolder).CreateVMTask(ctx, &types.CreateVM_Task{ - This: folder.Self, - Config: config, - Pool: *pool, - Host: destHost, - }) - - ctask := ctx.Map.Get(res.(*methods.CreateVM_TaskBody).Res.Returnval).(*Task) - ctask.Wait() - if ctask.Info.Error != nil { - return nil, ctask.Info.Error.Fault - } - - ref := ctask.Info.Result.(types.ManagedObjectReference) - clone := ctx.Map.Get(ref).(*VirtualMachine) - clone.configureDevices(ctx, &types.VirtualMachineConfigSpec{DeviceChange: req.Spec.Location.DeviceChange}) - if req.Spec.Config != nil && req.Spec.Config.DeviceChange != nil { - clone.configureDevices(ctx, &types.VirtualMachineConfigSpec{DeviceChange: req.Spec.Config.DeviceChange}) - } - - if req.Spec.Template { - _ = clone.MarkAsTemplate(&types.MarkAsTemplate{This: clone.Self}) - } - - ctx.postEvent(&types.VmClonedEvent{ - VmCloneEvent: types.VmCloneEvent{VmEvent: clone.event()}, - SourceVm: *event.Vm, - }) - - return ref, nil - }) - - return &methods.CloneVM_TaskBody{ - Res: &types.CloneVM_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} - -func (vm *VirtualMachine) RelocateVMTask(ctx *Context, req *types.RelocateVM_Task) soap.HasFault { - task := CreateTask(vm, "relocateVm", func(t *Task) (types.AnyType, types.BaseMethodFault) { - var changes []types.PropertyChange - - if ref := req.Spec.Datastore; ref != nil { - ds := ctx.Map.Get(*ref).(*Datastore) - ctx.Map.RemoveReference(ctx, ds, &ds.Vm, *ref) - - // TODO: migrate vm.Config.Files, vm.Summary.Config.VmPathName, vm.Layout and vm.LayoutEx - - changes = append(changes, types.PropertyChange{Name: "datastore", Val: []types.ManagedObjectReference{*ref}}) - } - - if ref := req.Spec.Pool; ref != nil { - pool := ctx.Map.Get(*ref).(*ResourcePool) - ctx.Map.RemoveReference(ctx, pool, &pool.Vm, *ref) - - changes = append(changes, types.PropertyChange{Name: "resourcePool", Val: ref}) - } - - if ref := req.Spec.Host; ref != nil { - host := ctx.Map.Get(*ref).(*HostSystem) - ctx.Map.RemoveReference(ctx, host, &host.Vm, *ref) - - changes = append(changes, - types.PropertyChange{Name: "runtime.host", Val: ref}, - types.PropertyChange{Name: "summary.runtime.host", Val: ref}, - ) - } - - if ref := req.Spec.Folder; ref != nil { - folder := ctx.Map.Get(*ref).(*Folder) - folder.MoveIntoFolderTask(ctx, &types.MoveIntoFolder_Task{ - List: []types.ManagedObjectReference{vm.Self}, - }) - } - - ctx.postEvent(&types.VmMigratedEvent{ - VmEvent: vm.event(), - SourceHost: *ctx.Map.Get(*vm.Runtime.Host).(*HostSystem).eventArgument(), - SourceDatacenter: datacenterEventArgument(vm), - SourceDatastore: ctx.Map.Get(vm.Datastore[0]).(*Datastore).eventArgument(), - }) - - ctx.Map.Update(vm, changes) - - return nil, nil - }) - - return &methods.RelocateVM_TaskBody{ - Res: &types.RelocateVM_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} - -func (vm *VirtualMachine) customize(ctx *Context) { - if vm.imc == nil { - return - } - - event := types.CustomizationEvent{VmEvent: vm.event()} - ctx.postEvent(&types.CustomizationStartedEvent{CustomizationEvent: event}) - - changes := []types.PropertyChange{ - {Name: "config.tools.pendingCustomization", Val: ""}, - } - - hostname := "" - address := "" - - switch c := vm.imc.Identity.(type) { - case *types.CustomizationLinuxPrep: - hostname = customizeName(vm, c.HostName) - case *types.CustomizationSysprep: - hostname = customizeName(vm, c.UserData.ComputerName) - } - - cards := object.VirtualDeviceList(vm.Config.Hardware.Device).SelectByType((*types.VirtualEthernetCard)(nil)) - - for i, s := range vm.imc.NicSettingMap { - nic := &vm.Guest.Net[i] - if s.MacAddress != "" { - nic.MacAddress = strings.ToLower(s.MacAddress) // MacAddress in guest will always be lowercase - card := cards[i].(types.BaseVirtualEthernetCard).GetVirtualEthernetCard() - card.MacAddress = s.MacAddress // MacAddress in Virtual NIC can be any case - card.AddressType = string(types.VirtualEthernetCardMacTypeManual) - } - if nic.DnsConfig == nil { - nic.DnsConfig = new(types.NetDnsConfigInfo) - } - if s.Adapter.DnsDomain != "" { - nic.DnsConfig.DomainName = s.Adapter.DnsDomain - } - if len(s.Adapter.DnsServerList) != 0 { - nic.DnsConfig.IpAddress = s.Adapter.DnsServerList - } - if hostname != "" { - nic.DnsConfig.HostName = hostname - } - if len(vm.imc.GlobalIPSettings.DnsSuffixList) != 0 { - nic.DnsConfig.SearchDomain = vm.imc.GlobalIPSettings.DnsSuffixList - } - if nic.IpConfig == nil { - nic.IpConfig = new(types.NetIpConfigInfo) - } - - switch ip := s.Adapter.Ip.(type) { - case *types.CustomizationCustomIpGenerator: - case *types.CustomizationDhcpIpGenerator: - case *types.CustomizationFixedIp: - if address == "" { - address = ip.IpAddress - } - nic.IpAddress = []string{ip.IpAddress} - nic.IpConfig.IpAddress = []types.NetIpConfigInfoIpAddress{{ - IpAddress: ip.IpAddress, - }} - case *types.CustomizationUnknownIpGenerator: - } - } - - if len(vm.imc.NicSettingMap) != 0 { - changes = append(changes, types.PropertyChange{Name: "guest.net", Val: vm.Guest.Net}) - } - if hostname != "" { - changes = append(changes, types.PropertyChange{Name: "guest.hostName", Val: hostname}) - changes = append(changes, types.PropertyChange{Name: "summary.guest.hostName", Val: hostname}) - } - if address != "" { - changes = append(changes, types.PropertyChange{Name: "guest.ipAddress", Val: address}) - changes = append(changes, types.PropertyChange{Name: "summary.guest.ipAddress", Val: address}) - } - - vm.imc = nil - ctx.Map.Update(vm, changes) - ctx.postEvent(&types.CustomizationSucceeded{CustomizationEvent: event}) -} - -func (vm *VirtualMachine) CustomizeVMTask(ctx *Context, req *types.CustomizeVM_Task) soap.HasFault { - task := CreateTask(vm, "customizeVm", func(t *Task) (types.AnyType, types.BaseMethodFault) { - if vm.hostInMM(ctx) { - return nil, new(types.InvalidState) - } - - if vm.Runtime.PowerState == types.VirtualMachinePowerStatePoweredOn { - return nil, &types.InvalidPowerState{ - RequestedState: types.VirtualMachinePowerStatePoweredOff, - ExistingState: vm.Runtime.PowerState, - } - } - if vm.Config.Tools.PendingCustomization != "" { - return nil, new(types.CustomizationPending) - } - if len(vm.Guest.Net) != len(req.Spec.NicSettingMap) { - return nil, &types.NicSettingMismatch{ - NumberOfNicsInSpec: int32(len(req.Spec.NicSettingMap)), - NumberOfNicsInVM: int32(len(vm.Guest.Net)), - } - } - - vm.imc = &req.Spec - vm.Config.Tools.PendingCustomization = uuid.New().String() - - return nil, nil - }) - - return &methods.CustomizeVM_TaskBody{ - Res: &types.CustomizeVM_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} - -func (vm *VirtualMachine) CreateSnapshotTask(ctx *Context, req *types.CreateSnapshot_Task) soap.HasFault { - task := CreateTask(vm, "createSnapshot", func(t *Task) (types.AnyType, types.BaseMethodFault) { - var changes []types.PropertyChange - - if vm.Snapshot == nil { - vm.Snapshot = &types.VirtualMachineSnapshotInfo{} - } - - snapshot := &VirtualMachineSnapshot{} - snapshot.Vm = vm.Reference() - snapshot.Config = *vm.Config - - ctx.Map.Put(snapshot) - - treeItem := types.VirtualMachineSnapshotTree{ - Snapshot: snapshot.Self, - Vm: snapshot.Vm, - Name: req.Name, - Description: req.Description, - Id: atomic.AddInt32(&vm.sid, 1), - CreateTime: time.Now(), - State: vm.Runtime.PowerState, - Quiesced: req.Quiesce, - BackupManifest: "", - ReplaySupported: types.NewBool(false), - } - - cur := vm.Snapshot.CurrentSnapshot - if cur != nil { - parent := ctx.Map.Get(*cur).(*VirtualMachineSnapshot) - parent.ChildSnapshot = append(parent.ChildSnapshot, snapshot.Self) - - ss := findSnapshotInTree(vm.Snapshot.RootSnapshotList, *cur) - ss.ChildSnapshotList = append(ss.ChildSnapshotList, treeItem) - } else { - changes = append(changes, types.PropertyChange{ - Name: "snapshot.rootSnapshotList", - Val: append(vm.Snapshot.RootSnapshotList, treeItem), - }) - changes = append(changes, types.PropertyChange{ - Name: "rootSnapshot", - Val: append(vm.RootSnapshot, treeItem.Snapshot), - }) - } - - snapshot.createSnapshotFiles() - - changes = append(changes, types.PropertyChange{Name: "snapshot.currentSnapshot", Val: snapshot.Self}) - ctx.Map.Update(vm, changes) - - return snapshot.Self, nil - }) - - return &methods.CreateSnapshot_TaskBody{ - Res: &types.CreateSnapshot_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} - -func (vm *VirtualMachine) RevertToCurrentSnapshotTask(ctx *Context, req *types.RevertToCurrentSnapshot_Task) soap.HasFault { - body := &methods.RevertToCurrentSnapshot_TaskBody{} - - if vm.Snapshot == nil || vm.Snapshot.CurrentSnapshot == nil { - body.Fault_ = Fault("snapshot not found", &types.NotFound{}) - - return body - } - - task := CreateTask(vm, "revertSnapshot", func(t *Task) (types.AnyType, types.BaseMethodFault) { - return nil, nil - }) - - body.Res = &types.RevertToCurrentSnapshot_TaskResponse{ - Returnval: task.Run(ctx), - } - - return body -} - -func (vm *VirtualMachine) RemoveAllSnapshotsTask(ctx *Context, req *types.RemoveAllSnapshots_Task) soap.HasFault { - task := CreateTask(vm, "RemoveAllSnapshots", func(t *Task) (types.AnyType, types.BaseMethodFault) { - if vm.Snapshot == nil { - return nil, nil - } - - refs := allSnapshotsInTree(vm.Snapshot.RootSnapshotList) - - ctx.Map.Update(vm, []types.PropertyChange{ - {Name: "snapshot", Val: nil}, - {Name: "rootSnapshot", Val: nil}, - }) - - for _, ref := range refs { - ctx.Map.Get(ref).(*VirtualMachineSnapshot).removeSnapshotFiles(ctx) - ctx.Map.Remove(ctx, ref) - } - - return nil, nil - }) - - return &methods.RemoveAllSnapshots_TaskBody{ - Res: &types.RemoveAllSnapshots_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} - -func (vm *VirtualMachine) ShutdownGuest(ctx *Context, c *types.ShutdownGuest) soap.HasFault { - r := &methods.ShutdownGuestBody{} - // should be poweron - if vm.Runtime.PowerState == types.VirtualMachinePowerStatePoweredOff { - r.Fault_ = Fault("", &types.InvalidPowerState{ - RequestedState: types.VirtualMachinePowerStatePoweredOn, - ExistingState: vm.Runtime.PowerState, - }) - - return r - } - // change state - vm.Runtime.PowerState = types.VirtualMachinePowerStatePoweredOff - vm.Summary.Runtime.PowerState = types.VirtualMachinePowerStatePoweredOff - - event := vm.event() - ctx.postEvent( - &types.VmGuestShutdownEvent{VmEvent: event}, - &types.VmPoweredOffEvent{VmEvent: event}, - ) - vm.run.stop(ctx, vm) - - ctx.Map.Update(vm, []types.PropertyChange{ - {Name: "runtime.powerState", Val: types.VirtualMachinePowerStatePoweredOff}, - {Name: "summary.runtime.powerState", Val: types.VirtualMachinePowerStatePoweredOff}, - }) - - r.Res = new(types.ShutdownGuestResponse) - - return r -} - -func (vm *VirtualMachine) MarkAsTemplate(req *types.MarkAsTemplate) soap.HasFault { - r := &methods.MarkAsTemplateBody{} - - if vm.Config.Template { - r.Fault_ = Fault("", new(types.NotSupported)) - return r - } - - if vm.Runtime.PowerState != types.VirtualMachinePowerStatePoweredOff { - r.Fault_ = Fault("", &types.InvalidPowerState{ - RequestedState: types.VirtualMachinePowerStatePoweredOff, - ExistingState: vm.Runtime.PowerState, - }) - return r - } - - vm.Config.Template = true - vm.Summary.Config.Template = true - vm.ResourcePool = nil - - r.Res = new(types.MarkAsTemplateResponse) - - return r -} - -func (vm *VirtualMachine) MarkAsVirtualMachine(req *types.MarkAsVirtualMachine) soap.HasFault { - r := &methods.MarkAsVirtualMachineBody{} - - if !vm.Config.Template { - r.Fault_ = Fault("", new(types.NotSupported)) - return r - } - - if vm.Runtime.PowerState != types.VirtualMachinePowerStatePoweredOff { - r.Fault_ = Fault("", &types.InvalidPowerState{ - RequestedState: types.VirtualMachinePowerStatePoweredOff, - ExistingState: vm.Runtime.PowerState, - }) - return r - } - - vm.Config.Template = false - vm.Summary.Config.Template = false - vm.ResourcePool = &req.Pool - if req.Host != nil { - vm.Runtime.Host = req.Host - } - - r.Res = new(types.MarkAsVirtualMachineResponse) - - return r -} - -func findSnapshotInTree(tree []types.VirtualMachineSnapshotTree, ref types.ManagedObjectReference) *types.VirtualMachineSnapshotTree { - if tree == nil { - return nil - } - - for i, ss := range tree { - if ss.Snapshot == ref { - return &tree[i] - } - - target := findSnapshotInTree(ss.ChildSnapshotList, ref) - if target != nil { - return target - } - } - - return nil -} - -func findParentSnapshot(tree types.VirtualMachineSnapshotTree, ref types.ManagedObjectReference) *types.ManagedObjectReference { - for _, ss := range tree.ChildSnapshotList { - if ss.Snapshot == ref { - return &tree.Snapshot - } - - res := findParentSnapshot(ss, ref) - if res != nil { - return res - } - } - - return nil -} - -func findParentSnapshotInTree(tree []types.VirtualMachineSnapshotTree, ref types.ManagedObjectReference) *types.ManagedObjectReference { - if tree == nil { - return nil - } - - for _, ss := range tree { - res := findParentSnapshot(ss, ref) - if res != nil { - return res - } - } - - return nil -} - -func removeSnapshotInTree(tree []types.VirtualMachineSnapshotTree, ref types.ManagedObjectReference, removeChildren bool) []types.VirtualMachineSnapshotTree { - if tree == nil { - return tree - } - - var result []types.VirtualMachineSnapshotTree - - for _, ss := range tree { - if ss.Snapshot == ref { - if !removeChildren { - result = append(result, ss.ChildSnapshotList...) - } - } else { - ss.ChildSnapshotList = removeSnapshotInTree(ss.ChildSnapshotList, ref, removeChildren) - result = append(result, ss) - } - } - - return result -} - -func allSnapshotsInTree(tree []types.VirtualMachineSnapshotTree) []types.ManagedObjectReference { - var result []types.ManagedObjectReference - - if tree == nil { - return result - } - - for _, ss := range tree { - result = append(result, ss.Snapshot) - result = append(result, allSnapshotsInTree(ss.ChildSnapshotList)...) - } - - return result -} - -func changeTrackingSupported(spec *types.VirtualMachineConfigSpec) bool { - for _, device := range spec.DeviceChange { - if dev, ok := device.GetVirtualDeviceConfigSpec().Device.(*types.VirtualDisk); ok { - switch dev.Backing.(type) { - case *types.VirtualDiskFlatVer2BackingInfo: - return true - case *types.VirtualDiskSparseVer2BackingInfo: - return true - case *types.VirtualDiskRawDiskMappingVer1BackingInfo: - return true - case *types.VirtualDiskRawDiskVer2BackingInfo: - return true - default: - return false - } - } - } - return false -} diff --git a/vendor/github.com/vmware/govmomi/simulator/vpx/doc.go b/vendor/github.com/vmware/govmomi/simulator/vpx/doc.go deleted file mode 100644 index 1765887029a..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/vpx/doc.go +++ /dev/null @@ -1,20 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -/* -Package vpx contains SOAP responses from a vCenter server, captured using `govc ... -dump`. -*/ -package vpx diff --git a/vendor/github.com/vmware/govmomi/simulator/vpx/performance_manager.go b/vendor/github.com/vmware/govmomi/simulator/vpx/performance_manager.go deleted file mode 100644 index 11ca6839de3..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/vpx/performance_manager.go +++ /dev/null @@ -1,21801 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vpx - -import "github.com/vmware/govmomi/vim25/types" - -// PerfCounter is the default template for the PerformanceManager perfCounter property. -// Capture method: -// govc object.collect -s -dump PerformanceManager:PerfMgr perfCounter - -var PerfCounter = []types.PerfCounterInfo{ - { - Key: 1, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Usage", - Summary: "CPU usage as a percentage during the interval", - }, - Key: "usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "none", - StatsType: "rate", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 2, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Usage", - Summary: "CPU usage as a percentage during the interval", - }, - Key: "usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "average", - StatsType: "rate", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 3, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Usage", - Summary: "CPU usage as a percentage during the interval", - }, - Key: "usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "minimum", - StatsType: "rate", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 4, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Usage", - Summary: "CPU usage as a percentage during the interval", - }, - Key: "usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "maximum", - StatsType: "rate", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 5, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Usage in MHz", - Summary: "CPU usage in megahertz during the interval", - }, - Key: "usagemhz", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MHz", - Summary: "Megahertz", - }, - Key: "megaHertz", - }, - RollupType: "none", - StatsType: "rate", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 6, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Usage in MHz", - Summary: "CPU usage in megahertz during the interval", - }, - Key: "usagemhz", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MHz", - Summary: "Megahertz", - }, - Key: "megaHertz", - }, - RollupType: "average", - StatsType: "rate", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 7, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Usage in MHz", - Summary: "CPU usage in megahertz during the interval", - }, - Key: "usagemhz", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MHz", - Summary: "Megahertz", - }, - Key: "megaHertz", - }, - RollupType: "minimum", - StatsType: "rate", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 8, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Usage in MHz", - Summary: "CPU usage in megahertz during the interval", - }, - Key: "usagemhz", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MHz", - Summary: "Megahertz", - }, - Key: "megaHertz", - }, - RollupType: "maximum", - StatsType: "rate", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 9, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Reserved capacity", - Summary: "Total CPU capacity reserved by virtual machines", - }, - Key: "reservedCapacity", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MHz", - Summary: "Megahertz", - }, - Key: "megaHertz", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 10, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "Amount of time spent on system processes on each virtual CPU in the virtual machine", - }, - Key: "system", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "summation", - StatsType: "delta", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 11, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Wait", - Summary: "Total CPU time spent in wait state", - }, - Key: "wait", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "summation", - StatsType: "delta", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 12, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Ready", - Summary: "Time that the virtual machine was ready, but could not get scheduled to run on the physical CPU during last measurement interval", - }, - Key: "ready", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "summation", - StatsType: "delta", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 13, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Idle", - Summary: "Total time that the CPU spent in an idle state", - }, - Key: "idle", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "summation", - StatsType: "delta", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 14, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Used", - Summary: "Total CPU usage", - }, - Key: "used", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "summation", - StatsType: "delta", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 15, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU Capacity Provisioned", - Summary: "Capacity in MHz of the physical CPU cores", - }, - Key: "capacity.provisioned", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MHz", - Summary: "Megahertz", - }, - Key: "megaHertz", - }, - RollupType: "average", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 16, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU Capacity Entitlement", - Summary: "CPU resources devoted by the ESXi scheduler to the virtual machines and resource pools", - }, - Key: "capacity.entitlement", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MHz", - Summary: "Megahertz", - }, - Key: "megaHertz", - }, - RollupType: "average", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 17, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU Capacity Usage", - Summary: "CPU usage as a percent during the interval.", - }, - Key: "capacity.usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MHz", - Summary: "Megahertz", - }, - Key: "megaHertz", - }, - RollupType: "average", - StatsType: "rate", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 18, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU Capacity Demand", - Summary: "The amount of CPU resources a VM would use if there were no CPU contention or CPU limit", - }, - Key: "capacity.demand", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MHz", - Summary: "Megahertz", - }, - Key: "megaHertz", - }, - RollupType: "average", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 19, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU Capacity Contention", - Summary: "Percent of time the VM is unable to run because it is contending for access to the physical CPU(s)", - }, - Key: "capacity.contention", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "average", - StatsType: "rate", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 20, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU Core Count Provisioned", - Summary: "The number of virtual processors provisioned to the entity.", - }, - Key: "corecount.provisioned", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 21, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU Core Count Usage", - Summary: "The number of virtual processors running on the host.", - }, - Key: "corecount.usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 22, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU Core Count Contention", - Summary: "Time the VM vCPU is ready to run, but is unable to run due to co-scheduling constraints", - }, - Key: "corecount.contention", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "average", - StatsType: "rate", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 23, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Host consumed %", - Summary: "Percentage of host physical memory that has been consumed", - }, - Key: "usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "none", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 24, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Host consumed %", - Summary: "Percentage of host physical memory that has been consumed", - }, - Key: "usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "average", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 25, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Host consumed %", - Summary: "Percentage of host physical memory that has been consumed", - }, - Key: "usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 26, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Host consumed %", - Summary: "Percentage of host physical memory that has been consumed", - }, - Key: "usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 27, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Reservation consumed", - Summary: "Memory reservation consumed by powered-on virtual machines", - }, - Key: "reservedCapacity", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MB", - Summary: "Megabyte", - }, - Key: "megaBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 28, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Granted", - Summary: "Amount of host physical memory or physical memory that is mapped for a virtual machine or a host", - }, - Key: "granted", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "none", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 29, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Granted", - Summary: "Amount of host physical memory or physical memory that is mapped for a virtual machine or a host", - }, - Key: "granted", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 30, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Granted", - Summary: "Amount of host physical memory or physical memory that is mapped for a virtual machine or a host", - }, - Key: "granted", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 31, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Granted", - Summary: "Amount of host physical memory or physical memory that is mapped for a virtual machine or a host", - }, - Key: "granted", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 32, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Active", - Summary: "Amount of guest physical memory that is being actively read or written by guest. Activeness is estimated by ESXi", - }, - Key: "active", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "none", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 33, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Active", - Summary: "Amount of guest physical memory that is being actively read or written by guest. Activeness is estimated by ESXi", - }, - Key: "active", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 34, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Active", - Summary: "Amount of guest physical memory that is being actively read or written by guest. Activeness is estimated by ESXi", - }, - Key: "active", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 35, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Active", - Summary: "Amount of guest physical memory that is being actively read or written by guest. Activeness is estimated by ESXi", - }, - Key: "active", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 36, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Shared", - Summary: "Amount of guest physical memory that is shared within a single virtual machine or across virtual machines", - }, - Key: "shared", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "none", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 37, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Shared", - Summary: "Amount of guest physical memory that is shared within a single virtual machine or across virtual machines", - }, - Key: "shared", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 38, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Shared", - Summary: "Amount of guest physical memory that is shared within a single virtual machine or across virtual machines", - }, - Key: "shared", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 39, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Shared", - Summary: "Amount of guest physical memory that is shared within a single virtual machine or across virtual machines", - }, - Key: "shared", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 40, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Zero pages", - Summary: "Guest physical memory pages whose content is 0x00", - }, - Key: "zero", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "none", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 41, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Zero pages", - Summary: "Guest physical memory pages whose content is 0x00", - }, - Key: "zero", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 42, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Zero pages", - Summary: "Guest physical memory pages whose content is 0x00", - }, - Key: "zero", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 43, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Zero pages", - Summary: "Guest physical memory pages whose content is 0x00", - }, - Key: "zero", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 44, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Reservation available", - Summary: "Amount by which reservation can be raised", - }, - Key: "unreserved", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "none", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 45, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Reservation available", - Summary: "Amount by which reservation can be raised", - }, - Key: "unreserved", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 46, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Reservation available", - Summary: "Amount by which reservation can be raised", - }, - Key: "unreserved", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 47, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Reservation available", - Summary: "Amount by which reservation can be raised", - }, - Key: "unreserved", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 48, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Swap consumed", - Summary: "Swap storage space consumed", - }, - Key: "swapused", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "none", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 49, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Swap consumed", - Summary: "Swap storage space consumed", - }, - Key: "swapused", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 50, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Swap consumed", - Summary: "Swap storage space consumed", - }, - Key: "swapused", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 51, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Swap consumed", - Summary: "Swap storage space consumed", - }, - Key: "swapused", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 52, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "swapunreserved", - Summary: "swapunreserved", - }, - Key: "swapunreserved", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "none", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 53, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "swapunreserved", - Summary: "swapunreserved", - }, - Key: "swapunreserved", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 54, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "swapunreserved", - Summary: "swapunreserved", - }, - Key: "swapunreserved", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 55, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "swapunreserved", - Summary: "swapunreserved", - }, - Key: "swapunreserved", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 56, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Shared common", - Summary: "Amount of host physical memory that backs shared guest physical memory (Shared)", - }, - Key: "sharedcommon", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "none", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 57, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Shared common", - Summary: "Amount of host physical memory that backs shared guest physical memory (Shared)", - }, - Key: "sharedcommon", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 58, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Shared common", - Summary: "Amount of host physical memory that backs shared guest physical memory (Shared)", - }, - Key: "sharedcommon", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 59, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Shared common", - Summary: "Amount of host physical memory that backs shared guest physical memory (Shared)", - }, - Key: "sharedcommon", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 60, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Heap", - Summary: "Virtual address space of ESXi that is dedicated to its heap", - }, - Key: "heap", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "none", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 61, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Heap", - Summary: "Virtual address space of ESXi that is dedicated to its heap", - }, - Key: "heap", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 62, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Heap", - Summary: "Virtual address space of ESXi that is dedicated to its heap", - }, - Key: "heap", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 63, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Heap", - Summary: "Virtual address space of ESXi that is dedicated to its heap", - }, - Key: "heap", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 64, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Heap free", - Summary: "Free address space in the heap of ESXi. This is less than or equal to Heap", - }, - Key: "heapfree", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "none", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 65, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Heap free", - Summary: "Free address space in the heap of ESXi. This is less than or equal to Heap", - }, - Key: "heapfree", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 66, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Heap free", - Summary: "Free address space in the heap of ESXi. This is less than or equal to Heap", - }, - Key: "heapfree", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 67, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Heap free", - Summary: "Free address space in the heap of ESXi. This is less than or equal to Heap", - }, - Key: "heapfree", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 68, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Free state", - Summary: "Current memory availability state of ESXi. Possible values are high, clear, soft, hard, low. The state value determines the techniques used for memory reclamation from virtual machines", - }, - Key: "state", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 69, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Swapped", - Summary: "Amount of guest physical memory that is swapped out to the swap space", - }, - Key: "swapped", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "none", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 70, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Swapped", - Summary: "Amount of guest physical memory that is swapped out to the swap space", - }, - Key: "swapped", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 71, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Swapped", - Summary: "Amount of guest physical memory that is swapped out to the swap space", - }, - Key: "swapped", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 72, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Swapped", - Summary: "Amount of guest physical memory that is swapped out to the swap space", - }, - Key: "swapped", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 73, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Swap target", - Summary: "Amount of memory that ESXi needs to reclaim by swapping", - }, - Key: "swaptarget", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "none", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 74, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Swap target", - Summary: "Amount of memory that ESXi needs to reclaim by swapping", - }, - Key: "swaptarget", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 75, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Swap target", - Summary: "Amount of memory that ESXi needs to reclaim by swapping", - }, - Key: "swaptarget", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 76, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Swap target", - Summary: "Amount of memory that ESXi needs to reclaim by swapping", - }, - Key: "swaptarget", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 77, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "swapIn", - Summary: "swapIn", - }, - Key: "swapIn", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "none", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 78, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "swapIn", - Summary: "swapIn", - }, - Key: "swapIn", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 79, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "swapIn", - Summary: "swapIn", - }, - Key: "swapIn", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 80, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "swapIn", - Summary: "swapIn", - }, - Key: "swapIn", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 81, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "swapOut", - Summary: "swapOut", - }, - Key: "swapOut", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "none", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 82, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "swapOut", - Summary: "swapOut", - }, - Key: "swapOut", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 83, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "swapOut", - Summary: "swapOut", - }, - Key: "swapOut", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 84, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "swapOut", - Summary: "swapOut", - }, - Key: "swapOut", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 85, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Swap in rate", - Summary: "Rate at which guest physical memory is swapped in from the swap space", - }, - Key: "swapinRate", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 86, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Swap out rate", - Summary: "Rate at which guest physical memory is swapped out to the swap space", - }, - Key: "swapoutRate", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 87, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory swap out", - Summary: "Amount of memory that is swapped out for the Service Console", - }, - Key: "swapOut", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Management agent", - Summary: "Management agent", - }, - Key: "managementAgent", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 88, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory swap in", - Summary: "Amount of memory that is swapped in for the Service Console", - }, - Key: "swapIn", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Management agent", - Summary: "Management agent", - }, - Key: "managementAgent", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 89, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Ballooned memory", - Summary: "Amount of guest physical memory reclaimed from the virtual machine by the balloon driver in the guest", - }, - Key: "vmmemctl", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "none", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 90, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Ballooned memory", - Summary: "Amount of guest physical memory reclaimed from the virtual machine by the balloon driver in the guest", - }, - Key: "vmmemctl", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 91, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Ballooned memory", - Summary: "Amount of guest physical memory reclaimed from the virtual machine by the balloon driver in the guest", - }, - Key: "vmmemctl", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 92, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Ballooned memory", - Summary: "Amount of guest physical memory reclaimed from the virtual machine by the balloon driver in the guest", - }, - Key: "vmmemctl", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 93, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Balloon target", - Summary: "Desired amount of guest physical memory the balloon driver needs to reclaim, as determined by ESXi", - }, - Key: "vmmemctltarget", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "none", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 94, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Balloon target", - Summary: "Desired amount of guest physical memory the balloon driver needs to reclaim, as determined by ESXi", - }, - Key: "vmmemctltarget", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 95, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Balloon target", - Summary: "Desired amount of guest physical memory the balloon driver needs to reclaim, as determined by ESXi", - }, - Key: "vmmemctltarget", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 96, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Balloon target", - Summary: "Desired amount of guest physical memory the balloon driver needs to reclaim, as determined by ESXi", - }, - Key: "vmmemctltarget", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 97, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Consumed", - Summary: "Amount of host physical memory consumed for backing up guest physical memory pages", - }, - Key: "consumed", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "none", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 98, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Consumed", - Summary: "Amount of host physical memory consumed for backing up guest physical memory pages", - }, - Key: "consumed", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 99, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Consumed", - Summary: "Amount of host physical memory consumed for backing up guest physical memory pages", - }, - Key: "consumed", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 100, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Consumed", - Summary: "Amount of host physical memory consumed for backing up guest physical memory pages", - }, - Key: "consumed", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 101, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Overhead consumed", - Summary: "Host physical memory consumed by ESXi data structures for running the virtual machines", - }, - Key: "overhead", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "none", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 102, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Overhead consumed", - Summary: "Host physical memory consumed by ESXi data structures for running the virtual machines", - }, - Key: "overhead", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 1, - AssociatedCounterId: nil, - }, - { - Key: 103, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Overhead consumed", - Summary: "Host physical memory consumed by ESXi data structures for running the virtual machines", - }, - Key: "overhead", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 104, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Overhead consumed", - Summary: "Host physical memory consumed by ESXi data structures for running the virtual machines", - }, - Key: "overhead", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 105, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Compressed", - Summary: "Guest physical memory pages that have undergone memory compression", - }, - Key: "compressed", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 106, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Compression rate", - Summary: "Rate of guest physical memory page compression by ESXi", - }, - Key: "compressionRate", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 107, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Decompression rate", - Summary: "Rate of guest physical memory decompression", - }, - Key: "decompressionRate", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 108, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory Capacity Provisioned", - Summary: "Total amount of memory available to the host", - }, - Key: "capacity.provisioned", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 109, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory Capacity Entitlement", - Summary: "Amount of host physical memory the VM is entitled to, as determined by the ESXi scheduler", - }, - Key: "capacity.entitlement", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 110, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory Capacity Usable", - Summary: "Amount of physical memory available for use by virtual machines on this host", - }, - Key: "capacity.usable", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 111, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory Capacity Usage", - Summary: "Amount of physical memory actively used", - }, - Key: "capacity.usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 112, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory Capacity Contention", - Summary: "Percentage of time VMs are waiting to access swapped, compressed or ballooned memory", - }, - Key: "capacity.contention", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "average", - StatsType: "rate", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 113, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vm", - Summary: "vm", - }, - Key: "capacity.usage.vm", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 114, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vmOvrhd", - Summary: "vmOvrhd", - }, - Key: "capacity.usage.vmOvrhd", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 115, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vmkOvrhd", - Summary: "vmkOvrhd", - }, - Key: "capacity.usage.vmkOvrhd", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 116, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "userworld", - Summary: "userworld", - }, - Key: "capacity.usage.userworld", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 117, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vm", - Summary: "vm", - }, - Key: "reservedCapacity.vm", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 118, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vmOvhd", - Summary: "vmOvhd", - }, - Key: "reservedCapacity.vmOvhd", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 119, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vmkOvrhd", - Summary: "vmkOvrhd", - }, - Key: "reservedCapacity.vmkOvrhd", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 120, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "userworld", - Summary: "userworld", - }, - Key: "reservedCapacity.userworld", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 121, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory Reserved Capacity %", - Summary: "Percent of memory that has been reserved either through VMkernel use, by userworlds or due to VM memory reservations", - }, - Key: "reservedCapacityPct", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "average", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 122, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory Consumed by VMs", - Summary: "Amount of physical memory consumed by VMs on this host", - }, - Key: "consumed.vms", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 123, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory Consumed by userworlds", - Summary: "Amount of physical memory consumed by userworlds on this host", - }, - Key: "consumed.userworlds", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 124, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Usage", - Summary: "Aggregated disk I/O rate. For hosts, this metric includes the rates for all virtual machines running on the host during the collection interval.", - }, - Key: "usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "none", - StatsType: "rate", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 125, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Usage", - Summary: "Aggregated disk I/O rate. For hosts, this metric includes the rates for all virtual machines running on the host during the collection interval.", - }, - Key: "usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 126, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Usage", - Summary: "Aggregated disk I/O rate. For hosts, this metric includes the rates for all virtual machines running on the host during the collection interval.", - }, - Key: "usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "minimum", - StatsType: "rate", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 127, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Usage", - Summary: "Aggregated disk I/O rate. For hosts, this metric includes the rates for all virtual machines running on the host during the collection interval.", - }, - Key: "usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "maximum", - StatsType: "rate", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 128, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Read requests", - Summary: "Number of disk reads during the collection interval", - }, - Key: "numberRead", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 129, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Write requests", - Summary: "Number of disk writes during the collection interval", - }, - Key: "numberWrite", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 130, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Read rate", - Summary: "Average number of kilobytes read from the disk each second during the collection interval", - }, - Key: "read", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 131, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Write rate", - Summary: "Average number of kilobytes written to disk each second during the collection interval", - }, - Key: "write", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 132, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Command latency", - Summary: "Average amount of time taken during the collection interval to process a SCSI command issued by the guest OS to the virtual machine", - }, - Key: "totalLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 133, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Highest latency", - Summary: "Highest latency value across all disks used by the host", - }, - Key: "maxTotalLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 134, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Commands aborted", - Summary: "Number of SCSI commands aborted during the collection interval", - }, - Key: "commandsAborted", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 135, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Bus resets", - Summary: "Number of SCSI-bus reset commands issued during the collection interval", - }, - Key: "busResets", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 136, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Average read requests per second", - Summary: "Average number of disk reads per second during the collection interval", - }, - Key: "numberReadAveraged", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 137, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Average write requests per second", - Summary: "Average number of disk writes per second during the collection interval", - }, - Key: "numberWriteAveraged", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 138, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk Throughput Usage", - Summary: "Aggregated disk I/O rate, including the rates for all virtual machines running on the host during the collection interval", - }, - Key: "throughput.usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 139, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk Throughput Contention", - Summary: "Average amount of time for an I/O operation to complete successfully", - }, - Key: "throughput.contention", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 140, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk SCSI Reservation Conflicts", - Summary: "Number of SCSI reservation conflicts for the LUN during the collection interval", - }, - Key: "scsiReservationConflicts", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 2, - PerDeviceLevel: 2, - AssociatedCounterId: nil, - }, - { - Key: 141, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk SCSI Reservation Conflicts %", - Summary: "Number of SCSI reservation conflicts for the LUN as a percent of total commands during the collection interval", - }, - Key: "scsiReservationCnflctsPct", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "average", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 142, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Usage", - Summary: "Network utilization (combined transmit-rates and receive-rates) during the interval", - }, - Key: "usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "none", - StatsType: "rate", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 143, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Usage", - Summary: "Network utilization (combined transmit-rates and receive-rates) during the interval", - }, - Key: "usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 144, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Usage", - Summary: "Network utilization (combined transmit-rates and receive-rates) during the interval", - }, - Key: "usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "minimum", - StatsType: "rate", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 145, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Usage", - Summary: "Network utilization (combined transmit-rates and receive-rates) during the interval", - }, - Key: "usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "maximum", - StatsType: "rate", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 146, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Packets received", - Summary: "Number of packets received during the interval", - }, - Key: "packetsRx", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 147, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Packets transmitted", - Summary: "Number of packets transmitted during the interval", - }, - Key: "packetsTx", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 148, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Data receive rate", - Summary: "Average rate at which data was received during the interval", - }, - Key: "received", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 149, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Data transmit rate", - Summary: "Average rate at which data was transmitted during the interval", - }, - Key: "transmitted", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 150, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Net Throughput Provisioned", - Summary: "The maximum network bandwidth for the host", - }, - Key: "throughput.provisioned", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 151, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Net Throughput Usable", - Summary: "The current available network bandwidth for the host", - }, - Key: "throughput.usable", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 152, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Net Throughput Usage", - Summary: "The current network bandwidth usage for the host", - }, - Key: "throughput.usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 153, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Net Throughput Contention", - Summary: "The aggregate network dropped packets for the host", - }, - Key: "throughput.contention", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 154, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "pNic Packets Received and Transmitted per Second", - Summary: "Average rate of packets received and transmitted per second", - }, - Key: "throughput.packetsPerSec", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 155, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Uptime", - Summary: "Total time elapsed, in seconds, since last system startup", - }, - Key: "uptime", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "s", - Summary: "Second", - }, - Key: "second", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 156, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Heartbeat", - Summary: "Number of heartbeats issued per virtual machine during the interval", - }, - Key: "heartbeat", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 157, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Usage", - Summary: "Current power usage", - }, - Key: "power", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Power", - Summary: "Power", - }, - Key: "power", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "W", - Summary: "Watt", - }, - Key: "watt", - }, - RollupType: "average", - StatsType: "rate", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 158, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Cap", - Summary: "Maximum allowed power usage", - }, - Key: "powerCap", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Power", - Summary: "Power", - }, - Key: "power", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "W", - Summary: "Watt", - }, - Key: "watt", - }, - RollupType: "average", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 159, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Energy usage", - Summary: "Total energy used since last stats reset", - }, - Key: "energy", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Power", - Summary: "Power", - }, - Key: "power", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "J", - Summary: "Joule", - }, - Key: "joule", - }, - RollupType: "summation", - StatsType: "delta", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 160, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Host Power Capacity Provisioned", - Summary: "Current power usage as a percentage of maximum allowed power.", - }, - Key: "capacity.usagePct", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Power", - Summary: "Power", - }, - Key: "power", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "average", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 161, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Average commands issued per second", - Summary: "Average number of commands issued per second by the storage adapter during the collection interval", - }, - Key: "commandsAveraged", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage adapter", - Summary: "Storage adapter", - }, - Key: "storageAdapter", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 2, - PerDeviceLevel: 2, - AssociatedCounterId: nil, - }, - { - Key: 162, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Average read requests per second", - Summary: "Average number of read commands issued per second by the storage adapter during the collection interval", - }, - Key: "numberReadAveraged", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage adapter", - Summary: "Storage adapter", - }, - Key: "storageAdapter", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 2, - PerDeviceLevel: 2, - AssociatedCounterId: nil, - }, - { - Key: 163, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Average write requests per second", - Summary: "Average number of write commands issued per second by the storage adapter during the collection interval", - }, - Key: "numberWriteAveraged", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage adapter", - Summary: "Storage adapter", - }, - Key: "storageAdapter", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 2, - PerDeviceLevel: 2, - AssociatedCounterId: nil, - }, - { - Key: 164, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Read rate", - Summary: "Rate of reading data by the storage adapter", - }, - Key: "read", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage adapter", - Summary: "Storage adapter", - }, - Key: "storageAdapter", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 2, - PerDeviceLevel: 2, - AssociatedCounterId: nil, - }, - { - Key: 165, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Write rate", - Summary: "Rate of writing data by the storage adapter", - }, - Key: "write", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage adapter", - Summary: "Storage adapter", - }, - Key: "storageAdapter", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 2, - PerDeviceLevel: 2, - AssociatedCounterId: nil, - }, - { - Key: 166, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Read latency", - Summary: "The average time a read by the storage adapter takes", - }, - Key: "totalReadLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage adapter", - Summary: "Storage adapter", - }, - Key: "storageAdapter", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 2, - AssociatedCounterId: nil, - }, - { - Key: 167, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Write latency", - Summary: "The average time a write by the storage adapter takes", - }, - Key: "totalWriteLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage adapter", - Summary: "Storage adapter", - }, - Key: "storageAdapter", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 2, - AssociatedCounterId: nil, - }, - { - Key: 168, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Highest latency", - Summary: "Highest latency value across all storage adapters used by the host", - }, - Key: "maxTotalLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage adapter", - Summary: "Storage adapter", - }, - Key: "storageAdapter", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 169, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage Adapter Throughput Contention", - Summary: "Average amount of time for an I/O operation to complete successfully", - }, - Key: "throughput.cont", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage adapter", - Summary: "Storage adapter", - }, - Key: "storageAdapter", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 170, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage Adapter Outstanding I/Os", - Summary: "The percent of I/Os that have been issued but have not yet completed", - }, - Key: "OIOsPct", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage adapter", - Summary: "Storage adapter", - }, - Key: "storageAdapter", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "average", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 171, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Average read requests per second", - Summary: "Average number of read commands issued per second to the virtual disk during the collection interval", - }, - Key: "numberReadAveraged", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual disk", - Summary: "Virtual disk", - }, - Key: "virtualDisk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 172, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Average write requests per second", - Summary: "Average number of write commands issued per second to the virtual disk during the collection interval", - }, - Key: "numberWriteAveraged", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual disk", - Summary: "Virtual disk", - }, - Key: "virtualDisk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 173, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Read rate", - Summary: "Rate of reading data from the virtual disk", - }, - Key: "read", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual disk", - Summary: "Virtual disk", - }, - Key: "virtualDisk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 2, - PerDeviceLevel: 2, - AssociatedCounterId: nil, - }, - { - Key: 174, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Write rate", - Summary: "Rate of writing data to the virtual disk", - }, - Key: "write", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual disk", - Summary: "Virtual disk", - }, - Key: "virtualDisk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 2, - PerDeviceLevel: 2, - AssociatedCounterId: nil, - }, - { - Key: 175, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Read latency", - Summary: "The average time a read from the virtual disk takes", - }, - Key: "totalReadLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual disk", - Summary: "Virtual disk", - }, - Key: "virtualDisk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 176, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Write latency", - Summary: "The average time a write to the virtual disk takes", - }, - Key: "totalWriteLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual disk", - Summary: "Virtual disk", - }, - Key: "virtualDisk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 177, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual Disk Throughput Contention", - Summary: "Average amount of time for an I/O operation to complete successfully", - }, - Key: "throughput.cont", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual disk", - Summary: "Virtual disk", - }, - Key: "virtualDisk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 178, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Average read requests per second", - Summary: "Average number of read commands issued per second to the datastore during the collection interval", - }, - Key: "numberReadAveraged", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 179, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Average write requests per second", - Summary: "Average number of write commands issued per second to the datastore during the collection interval", - }, - Key: "numberWriteAveraged", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 180, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Read rate", - Summary: "Rate of reading data from the datastore", - }, - Key: "read", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 2, - PerDeviceLevel: 2, - AssociatedCounterId: nil, - }, - { - Key: 181, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Write rate", - Summary: "Rate of writing data to the datastore", - }, - Key: "write", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 2, - PerDeviceLevel: 2, - AssociatedCounterId: nil, - }, - { - Key: 182, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Read latency", - Summary: "The average time a read from the datastore takes", - }, - Key: "totalReadLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 183, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Write latency", - Summary: "The average time a write to the datastore takes", - }, - Key: "totalWriteLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 184, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Highest latency", - Summary: "Highest latency value across all datastores used by the host", - }, - Key: "maxTotalLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 185, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage I/O Control aggregated IOPS", - Summary: "Storage I/O Control aggregated IOPS", - }, - Key: "datastoreIops", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 186, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage I/O Control normalized latency", - Summary: "Storage I/O Control size-normalized I/O latency", - }, - Key: "sizeNormalizedDatastoreLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "µs", - Summary: "Microsecond", - }, - Key: "microsecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 187, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "usage", - Summary: "usage", - }, - Key: "throughput.usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 188, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "contention", - Summary: "contention", - }, - Key: "throughput.contention", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 189, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "busResets", - Summary: "busResets", - }, - Key: "busResets", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 2, - PerDeviceLevel: 2, - AssociatedCounterId: nil, - }, - { - Key: 190, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "commandsAborted", - Summary: "commandsAborted", - }, - Key: "commandsAborted", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 2, - PerDeviceLevel: 2, - AssociatedCounterId: nil, - }, - { - Key: 191, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage I/O Control active time percentage", - Summary: "Percentage of time Storage I/O Control actively controlled datastore latency", - }, - Key: "siocActiveTimePercentage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "average", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 192, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage Path Throughput Contention", - Summary: "Average amount of time for an I/O operation to complete successfully", - }, - Key: "throughput.cont", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage path", - Summary: "Storage path", - }, - Key: "storagePath", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 193, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Highest latency", - Summary: "Highest latency value across all storage paths used by the host", - }, - Key: "maxTotalLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage path", - Summary: "Storage path", - }, - Key: "storagePath", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 194, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual Disk Throughput Usage", - Summary: "Virtual disk I/O rate", - }, - Key: "throughput.usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual disk", - Summary: "Virtual disk", - }, - Key: "virtualDisk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 195, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual Disk Number of Terminations", - Summary: "Number of terminations to a virtual disk", - }, - Key: "commandsAborted", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual disk", - Summary: "Virtual disk", - }, - Key: "virtualDisk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 2, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 196, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual Disk Number of Resets", - Summary: "Number of resets to a virtual disk", - }, - Key: "busResets", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual disk", - Summary: "Virtual disk", - }, - Key: "virtualDisk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 2, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 197, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage Adapter Outstanding I/Os", - Summary: "The number of I/Os that have been issued but have not yet completed", - }, - Key: "outstandingIOs", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage adapter", - Summary: "Storage adapter", - }, - Key: "storageAdapter", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 2, - AssociatedCounterId: nil, - }, - { - Key: 198, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage Adapter Number Queued", - Summary: "The current number of I/Os that are waiting to be issued", - }, - Key: "queued", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage adapter", - Summary: "Storage adapter", - }, - Key: "storageAdapter", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 2, - AssociatedCounterId: nil, - }, - { - Key: 199, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage Adapter Queue Depth", - Summary: "The maximum number of I/Os that can be outstanding at a given time", - }, - Key: "queueDepth", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage adapter", - Summary: "Storage adapter", - }, - Key: "storageAdapter", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 2, - AssociatedCounterId: nil, - }, - { - Key: 200, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage Adapter Queue Command Latency", - Summary: "Average amount of time spent in the VMkernel queue, per SCSI command, during the collection interval", - }, - Key: "queueLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage adapter", - Summary: "Storage adapter", - }, - Key: "storageAdapter", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 2, - AssociatedCounterId: nil, - }, - { - Key: 201, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage Adapter Throughput Usage", - Summary: "The storage adapter's I/O rate", - }, - Key: "throughput.usag", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage adapter", - Summary: "Storage adapter", - }, - Key: "storageAdapter", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 202, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage Path Bus Resets", - Summary: "Number of SCSI-bus reset commands issued during the collection interval", - }, - Key: "busResets", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage path", - Summary: "Storage path", - }, - Key: "storagePath", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 203, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage Path Command Terminations", - Summary: "Number of SCSI commands terminated during the collection interval", - }, - Key: "commandsAborted", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage path", - Summary: "Storage path", - }, - Key: "storagePath", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 204, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage Path Throughput Usage", - Summary: "Storage path I/O rate", - }, - Key: "throughput.usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage path", - Summary: "Storage path", - }, - Key: "storagePath", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 205, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "pNic Throughput Usage for VMs", - Summary: "Average pNic I/O rate for VMs", - }, - Key: "throughput.usage.vm", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 206, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "pNic Throughput Usage for NFS", - Summary: "Average pNic I/O rate for NFS", - }, - Key: "throughput.usage.nfs", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 207, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "pNic Throughput Usage for vMotion", - Summary: "Average pNic I/O rate for vMotion", - }, - Key: "throughput.usage.vmotion", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 208, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "pNic Throughput Usage for FT", - Summary: "Average pNic I/O rate for FT", - }, - Key: "throughput.usage.ft", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 209, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "pNic Throughput Usage for iSCSI", - Summary: "Average pNic I/O rate for iSCSI", - }, - Key: "throughput.usage.iscsi", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 210, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "pNic Throughput Usage for HBR", - Summary: "Average pNic I/O rate for HBR", - }, - Key: "throughput.usage.hbr", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 211, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Host Power Capacity Usable", - Summary: "Current maximum allowed power usage.", - }, - Key: "capacity.usable", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Power", - Summary: "Power", - }, - Key: "power", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "W", - Summary: "Watt", - }, - Key: "watt", - }, - RollupType: "average", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 212, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Host Power Capacity Usage", - Summary: "Current power usage", - }, - Key: "capacity.usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Power", - Summary: "Power", - }, - Key: "power", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "W", - Summary: "Watt", - }, - Key: "watt", - }, - RollupType: "average", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 213, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Worst case allocation", - Summary: "Amount of CPU resources allocated to the virtual machine or resource pool, based on the total cluster capacity and the resource configuration of the resource hierarchy", - }, - Key: "cpuentitlement", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MHz", - Summary: "Megahertz", - }, - Key: "megaHertz", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 214, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Entitlement", - Summary: "Memory allocation as calculated by the VMkernel scheduler based on current estimated demand and reservation, limit, and shares policies set for all virtual machines and resource pools in the host or cluster", - }, - Key: "mementitlement", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MB", - Summary: "Megabyte", - }, - Key: "megaBytes", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 215, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU fairness", - Summary: "Fairness of distributed CPU resource allocation", - }, - Key: "cpufairness", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Cluster services", - Summary: "Cluster services", - }, - Key: "clusterServices", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 216, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory fairness", - Summary: "Aggregate available memory resources of all the hosts within a cluster", - }, - Key: "memfairness", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Cluster services", - Summary: "Cluster services", - }, - Key: "clusterServices", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 217, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VDS Packets Throughput Transmitted", - Summary: "The rate of transmitted packets for this VDS", - }, - Key: "throughput.pktsTx", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 218, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VDS Multicast Packets Throughput Transmitted", - Summary: "The rate of transmitted Multicast packets for this VDS", - }, - Key: "throughput.pktsTxMulticast", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 219, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VDS Broadcast Packets Throughput Transmitted", - Summary: "The rate of transmitted Broadcast packets for this VDS", - }, - Key: "throughput.pktsTxBroadcast", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 220, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VDS Packets Throughput Received", - Summary: "The rate of received packets for this vDS", - }, - Key: "throughput.pktsRx", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 221, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VDS Multicast Packets Throughput Received", - Summary: "The rate of received Multicast packets for this VDS", - }, - Key: "throughput.pktsRxMulticast", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 222, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VDS Broadcast Packets Throughput Received", - Summary: "The rate of received Broadcast packets for this VDS", - }, - Key: "throughput.pktsRxBroadcast", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 223, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VDS Dropped Transmitted Packets Throughput", - Summary: "Count of dropped transmitted packets for this VDS", - }, - Key: "throughput.droppedTx", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 224, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VDS Dropped Received Packets Throughput", - Summary: "Count of dropped received packets for this VDS", - }, - Key: "throughput.droppedRx", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 225, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "DVPort Packets Throughput Transmitted", - Summary: "The rate of transmitted packets for this DVPort", - }, - Key: "throughput.vds.pktsTx", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 226, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "DVPort Multicast Packets Throughput Transmitted", - Summary: "The rate of transmitted multicast packets for this DVPort", - }, - Key: "throughput.vds.pktsTxMcast", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 227, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "DVPort Broadcast Packets Throughput Transmitted", - Summary: "The rate of transmitted broadcast packets for this DVPort", - }, - Key: "throughput.vds.pktsTxBcast", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 228, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "DVPort Packets Throughput Received", - Summary: "The rate of received packets for this DVPort", - }, - Key: "throughput.vds.pktsRx", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 229, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "DVPort Multicast Packets Throughput Received", - Summary: "The rate of received multicast packets for this DVPort", - }, - Key: "throughput.vds.pktsRxMcast", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 230, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "DVPort Broadcast Packets Throughput Received", - Summary: "The rate of received broadcast packets for this DVPort", - }, - Key: "throughput.vds.pktsRxBcast", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 231, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "DVPort dropped transmitted packets throughput", - Summary: "Count of dropped transmitted packets for this DVPort", - }, - Key: "throughput.vds.droppedTx", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 232, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "DVPort dropped received packets throughput", - Summary: "Count of dropped received packets for this DVPort", - }, - Key: "throughput.vds.droppedRx", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 233, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "LAG Packets Throughput Transmitted", - Summary: "The rate of transmitted packets for this LAG", - }, - Key: "throughput.vds.lagTx", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 234, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "LAG Multicast Packets Throughput Transmitted", - Summary: "The rate of transmitted Multicast packets for this LAG", - }, - Key: "throughput.vds.lagTxMcast", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 235, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "LAG Broadcast Packets Throughput Transmitted", - Summary: "The rate of transmitted Broadcast packets for this LAG", - }, - Key: "throughput.vds.lagTxBcast", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 236, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "LAG packets Throughput received", - Summary: "The rate of received packets for this LAG", - }, - Key: "throughput.vds.lagRx", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 237, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "LAG multicast packets throughput received", - Summary: "The rate of received multicast packets for this LAG", - }, - Key: "throughput.vds.lagRxMcast", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 238, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "LAG Broadcast packets Throughput received", - Summary: "The rate of received Broadcast packets for this LAG", - }, - Key: "throughput.vds.lagRxBcast", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 239, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "LAG dropped transmitted packets throughput", - Summary: "Count of dropped transmitted packets for this LAG", - }, - Key: "throughput.vds.lagDropTx", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 240, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "LAG dropped received packets throughput", - Summary: "Count of dropped received packets for this LAG", - }, - Key: "throughput.vds.lagDropRx", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 241, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VXLAN network packets throughput transmitted", - Summary: "The rate of transmitted packets for this network", - }, - Key: "throughput.vds.txTotal", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 242, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VXLAN network non-unicast packets throughput transmitted", - Summary: "The rate of transmitted non-unicast packets for this network", - }, - Key: "throughput.vds.txNoUnicast", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 243, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VXLAN network cross-router packets throughput transmitted", - Summary: "The rate of transmitted cross-router packets for this network", - }, - Key: "throughput.vds.txCrsRouter", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 244, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VXLAN network dropped transmitted packets throughput", - Summary: "Count of dropped transmitted packets for this network", - }, - Key: "throughput.vds.txDrop", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 245, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VXLAN network packets throughput received", - Summary: "The rate of received packets for this network", - }, - Key: "throughput.vds.rxTotal", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 246, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VXLAN network dropped received packets due to destination IP error throughput", - Summary: "Count of dropped received packets with destination IP error for this network", - }, - Key: "throughput.vds.rxDestErr", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 247, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VXLAN network dropped received packets throughput", - Summary: "Count of dropped received packets for this network", - }, - Key: "throughput.vds.rxDrop", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 248, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VXLAN network failed to match mapping entry for a unicast MAC throughput", - Summary: "Count of transmitted packets that cannot find matched mapping entry for this network", - }, - Key: "throughput.vds.macFlood", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 249, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VXLAN network failed to allocate a new mapping entry during translation phase", - Summary: "Count of transmitted packets that failed to acquire new mapping entry during translation phase for this network", - }, - Key: "throughput.vds.macLKUPFull", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 250, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VXLAN network failed to allocate a new mapping entry during learning phase", - Summary: "Count of transmitted packets that failed to acquire new mapping entry during learning phase for this network", - }, - Key: "throughput.vds.macUPDTFull", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 251, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VXLAN Network Found Matched ARP Entry Throughput", - Summary: "Count of transmitted packets that found matched ARP entry for this network", - }, - Key: "throughput.vds.arpFound", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 252, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VXLAN Network Found Matched ARP Entry Marked as Unknown Throughput", - Summary: "Count of transmitted packets whose matched arp entry is marked as unknown for this network", - }, - Key: "throughput.vds.arpUnknown", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 253, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VXLAN Network Failed to Allocate ARP Entry During Translation Phase Throughput", - Summary: "Count of transmitted packets that failed to acquire new ARP entry during translation phase for this network", - }, - Key: "throughput.vds.arpLKUPFull", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 254, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VXLAN network found the same ARP requests have been sent into queue throughput", - Summary: "Count of transmitted packets whose ARP requests have already been sent into queue for this network", - }, - Key: "throughput.vds.arpWait", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 255, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VXLAN Network Found ARP Queries Have Been Expired Throughput", - Summary: "Count of arp queries that have been expired for this network", - }, - Key: "throughput.vds.arpTimeout", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 256, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VM power on count", - Summary: "Number of virtual machine power on operations", - }, - Key: "numPoweron", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual machine operations", - Summary: "Virtual machine operations", - }, - Key: "vmop", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 257, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VM power off count", - Summary: "Number of virtual machine power off operations", - }, - Key: "numPoweroff", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual machine operations", - Summary: "Virtual machine operations", - }, - Key: "vmop", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 258, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VM suspend count", - Summary: "Number of virtual machine suspend operations", - }, - Key: "numSuspend", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual machine operations", - Summary: "Virtual machine operations", - }, - Key: "vmop", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 259, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VM reset count", - Summary: "Number of virtual machine reset operations", - }, - Key: "numReset", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual machine operations", - Summary: "Virtual machine operations", - }, - Key: "vmop", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 260, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VM guest reboot count", - Summary: "Number of virtual machine guest reboot operations", - }, - Key: "numRebootGuest", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual machine operations", - Summary: "Virtual machine operations", - }, - Key: "vmop", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 261, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VM standby guest count", - Summary: "Number of virtual machine standby guest operations", - }, - Key: "numStandbyGuest", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual machine operations", - Summary: "Virtual machine operations", - }, - Key: "vmop", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 262, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VM guest shutdown count", - Summary: "Number of virtual machine guest shutdown operations", - }, - Key: "numShutdownGuest", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual machine operations", - Summary: "Virtual machine operations", - }, - Key: "vmop", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 263, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VM create count", - Summary: "Number of virtual machine create operations", - }, - Key: "numCreate", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual machine operations", - Summary: "Virtual machine operations", - }, - Key: "vmop", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 264, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VM delete count", - Summary: "Number of virtual machine delete operations", - }, - Key: "numDestroy", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual machine operations", - Summary: "Virtual machine operations", - }, - Key: "vmop", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 265, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VM register count", - Summary: "Number of virtual machine register operations", - }, - Key: "numRegister", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual machine operations", - Summary: "Virtual machine operations", - }, - Key: "vmop", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 266, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VM unregister count", - Summary: "Number of virtual machine unregister operations", - }, - Key: "numUnregister", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual machine operations", - Summary: "Virtual machine operations", - }, - Key: "vmop", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 267, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VM reconfigure count", - Summary: "Number of virtual machine reconfigure operations", - }, - Key: "numReconfigure", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual machine operations", - Summary: "Virtual machine operations", - }, - Key: "vmop", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 268, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VM clone count", - Summary: "Number of virtual machine clone operations", - }, - Key: "numClone", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual machine operations", - Summary: "Virtual machine operations", - }, - Key: "vmop", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 269, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VM template deploy count", - Summary: "Number of virtual machine template deploy operations", - }, - Key: "numDeploy", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual machine operations", - Summary: "Virtual machine operations", - }, - Key: "vmop", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 270, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VM host change count (non-powered-on VMs)", - Summary: "Number of host change operations for powered-off and suspended VMs", - }, - Key: "numChangeHost", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual machine operations", - Summary: "Virtual machine operations", - }, - Key: "vmop", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 271, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VM datastore change count (non-powered-on VMs)", - Summary: "Number of datastore change operations for powered-off and suspended virtual machines", - }, - Key: "numChangeDS", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual machine operations", - Summary: "Virtual machine operations", - }, - Key: "vmop", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 272, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VM host and datastore change count (non-powered-on VMs)", - Summary: "Number of host and datastore change operations for powered-off and suspended virtual machines", - }, - Key: "numChangeHostDS", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual machine operations", - Summary: "Virtual machine operations", - }, - Key: "vmop", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 273, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vMotion count", - Summary: "Number of migrations with vMotion (host change operations for powered-on VMs)", - }, - Key: "numVMotion", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual machine operations", - Summary: "Virtual machine operations", - }, - Key: "vmop", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 274, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage vMotion count", - Summary: "Number of migrations with Storage vMotion (datastore change operations for powered-on VMs)", - }, - Key: "numSVMotion", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual machine operations", - Summary: "Virtual machine operations", - }, - Key: "vmop", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 275, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VM host and datastore change count (powered-on VMs)", - Summary: "Number of host and datastore change operations for powered-on and suspended virtual machines", - }, - Key: "numXVMotion", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual machine operations", - Summary: "Virtual machine operations", - }, - Key: "vmop", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 276, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Effective CPU resources", - Summary: "Total available CPU resources of all hosts within a cluster", - }, - Key: "effectivecpu", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Cluster services", - Summary: "Cluster services", - }, - Key: "clusterServices", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MHz", - Summary: "Megahertz", - }, - Key: "megaHertz", - }, - RollupType: "average", - StatsType: "rate", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 277, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Effective memory resources", - Summary: "Total amount of machine memory of all hosts in the cluster that is available for use for virtual machine memory and overhead memory", - }, - Key: "effectivemem", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Cluster services", - Summary: "Cluster services", - }, - Key: "clusterServices", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MB", - Summary: "Megabyte", - }, - Key: "megaBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 278, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Total", - Summary: "Total amount of CPU resources of all hosts in the cluster", - }, - Key: "totalmhz", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MHz", - Summary: "Megahertz", - }, - Key: "megaHertz", - }, - RollupType: "average", - StatsType: "rate", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 279, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Total", - Summary: "Total amount of host physical memory of all hosts in the cluster that is available for virtual machine memory (physical memory for use by the guest OS) and virtual machine overhead memory", - }, - Key: "totalmb", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MB", - Summary: "Megabyte", - }, - Key: "megaBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 280, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Current failover level", - Summary: "vSphere HA number of failures that can be tolerated", - }, - Key: "failover", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Cluster services", - Summary: "Cluster services", - }, - Key: "clusterServices", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 281, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Space actually used", - Summary: "Amount of space actually used by the virtual machine or the datastore", - }, - Key: "used", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 1, - AssociatedCounterId: nil, - }, - { - Key: 282, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Space potentially used", - Summary: "Amount of storage set aside for use by a datastore or a virtual machine", - }, - Key: "provisioned", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 1, - AssociatedCounterId: nil, - }, - { - Key: 283, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Capacity", - Summary: "Configured size of the datastore", - }, - Key: "capacity", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 284, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Space not shared", - Summary: "Amount of space associated exclusively with a virtual machine", - }, - Key: "unshared", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 1, - AssociatedCounterId: nil, - }, - { - Key: 285, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Overhead due to delta disk backings", - Summary: "Storage overhead of a virtual machine or a datastore due to delta disk backings", - }, - Key: "deltaused", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 286, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "provisioned", - Summary: "provisioned", - }, - Key: "capacity.provisioned", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 287, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "usage", - Summary: "usage", - }, - Key: "capacity.usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 288, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "contention", - Summary: "contention", - }, - Key: "capacity.contention", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "average", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 289, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Activation latency", - Summary: "The latency of an activation operation in vCenter Server", - }, - Key: "activationlatencystats", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter debugging information", - Summary: "vCenter debugging information", - }, - Key: "vcDebugInfo", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 290, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Activation latency", - Summary: "The latency of an activation operation in vCenter Server", - }, - Key: "activationlatencystats", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter debugging information", - Summary: "vCenter debugging information", - }, - Key: "vcDebugInfo", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 291, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Activation latency", - Summary: "The latency of an activation operation in vCenter Server", - }, - Key: "activationlatencystats", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter debugging information", - Summary: "vCenter debugging information", - }, - Key: "vcDebugInfo", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "summation", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 1, - AssociatedCounterId: nil, - }, - { - Key: 292, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Activation count", - Summary: "Activation operations in vCenter Server", - }, - Key: "activationstats", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter debugging information", - Summary: "vCenter debugging information", - }, - Key: "vcDebugInfo", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 293, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Activation count", - Summary: "Activation operations in vCenter Server", - }, - Key: "activationstats", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter debugging information", - Summary: "vCenter debugging information", - }, - Key: "vcDebugInfo", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 294, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Activation count", - Summary: "Activation operations in vCenter Server", - }, - Key: "activationstats", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter debugging information", - Summary: "vCenter debugging information", - }, - Key: "vcDebugInfo", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 1, - AssociatedCounterId: nil, - }, - { - Key: 295, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "buffersz", - Summary: "buffersz", - }, - Key: "buffersz", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter resource usage information", - Summary: "vCenter resource usage information", - }, - Key: "vcResources", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 296, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "cachesz", - Summary: "cachesz", - }, - Key: "cachesz", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter resource usage information", - Summary: "vCenter resource usage information", - }, - Key: "vcResources", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 297, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Context switch rate", - Summary: "Number of context switches per second on the system where vCenter Server is running", - }, - Key: "ctxswitchesrate", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter resource usage information", - Summary: "vCenter resource usage information", - }, - Key: "vcResources", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 1, - PerDeviceLevel: 1, - AssociatedCounterId: nil, - }, - { - Key: 298, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "diskreadsectorrate", - Summary: "diskreadsectorrate", - }, - Key: "diskreadsectorrate", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter resource usage information", - Summary: "vCenter resource usage information", - }, - Key: "vcResources", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 299, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk read rate", - Summary: "Number of disk reads per second on the system where vCenter Server is running", - }, - Key: "diskreadsrate", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter resource usage information", - Summary: "vCenter resource usage information", - }, - Key: "vcResources", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 1, - PerDeviceLevel: 1, - AssociatedCounterId: nil, - }, - { - Key: 300, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "diskwritesectorrate", - Summary: "diskwritesectorrate", - }, - Key: "diskwritesectorrate", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter resource usage information", - Summary: "vCenter resource usage information", - }, - Key: "vcResources", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 301, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk write rate", - Summary: "Number of disk writes per second on the system where vCenter Server is running", - }, - Key: "diskwritesrate", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter resource usage information", - Summary: "vCenter resource usage information", - }, - Key: "vcResources", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 1, - PerDeviceLevel: 1, - AssociatedCounterId: nil, - }, - { - Key: 302, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Host sync latency", - Summary: "The latency of a host sync operation in vCenter Server", - }, - Key: "hostsynclatencystats", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter debugging information", - Summary: "vCenter debugging information", - }, - Key: "vcDebugInfo", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 303, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Host sync latency", - Summary: "The latency of a host sync operation in vCenter Server", - }, - Key: "hostsynclatencystats", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter debugging information", - Summary: "vCenter debugging information", - }, - Key: "vcDebugInfo", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 304, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Host sync latency", - Summary: "The latency of a host sync operation in vCenter Server", - }, - Key: "hostsynclatencystats", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter debugging information", - Summary: "vCenter debugging information", - }, - Key: "vcDebugInfo", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "summation", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 1, - AssociatedCounterId: nil, - }, - { - Key: 305, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Host sync count", - Summary: "The number of host sync operations in vCenter Server", - }, - Key: "hostsyncstats", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter debugging information", - Summary: "vCenter debugging information", - }, - Key: "vcDebugInfo", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 306, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Host sync count", - Summary: "The number of host sync operations in vCenter Server", - }, - Key: "hostsyncstats", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter debugging information", - Summary: "vCenter debugging information", - }, - Key: "vcDebugInfo", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 307, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Host sync count", - Summary: "The number of host sync operations in vCenter Server", - }, - Key: "hostsyncstats", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter debugging information", - Summary: "vCenter debugging information", - }, - Key: "vcDebugInfo", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 1, - AssociatedCounterId: nil, - }, - { - Key: 308, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Inventory statistics", - Summary: "vCenter Server inventory statistics", - }, - Key: "inventorystats", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter debugging information", - Summary: "vCenter debugging information", - }, - Key: "vcDebugInfo", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 309, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Inventory statistics", - Summary: "vCenter Server inventory statistics", - }, - Key: "inventorystats", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter debugging information", - Summary: "vCenter debugging information", - }, - Key: "vcDebugInfo", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 310, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Inventory statistics", - Summary: "vCenter Server inventory statistics", - }, - Key: "inventorystats", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter debugging information", - Summary: "vCenter debugging information", - }, - Key: "vcDebugInfo", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 1, - AssociatedCounterId: nil, - }, - { - Key: 311, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Locking statistics", - Summary: "vCenter Server locking statistics", - }, - Key: "lockstats", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter debugging information", - Summary: "vCenter debugging information", - }, - Key: "vcDebugInfo", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 312, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Locking statistics", - Summary: "vCenter Server locking statistics", - }, - Key: "lockstats", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter debugging information", - Summary: "vCenter debugging information", - }, - Key: "vcDebugInfo", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 313, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Locking statistics", - Summary: "vCenter Server locking statistics", - }, - Key: "lockstats", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter debugging information", - Summary: "vCenter debugging information", - }, - Key: "vcDebugInfo", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 1, - AssociatedCounterId: nil, - }, - { - Key: 314, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter Server LRO statistics", - Summary: "vCenter Server LRO statistics", - }, - Key: "lrostats", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter debugging information", - Summary: "vCenter debugging information", - }, - Key: "vcDebugInfo", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 315, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter Server LRO statistics", - Summary: "vCenter Server LRO statistics", - }, - Key: "lrostats", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter debugging information", - Summary: "vCenter debugging information", - }, - Key: "vcDebugInfo", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 316, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter Server LRO statistics", - Summary: "vCenter Server LRO statistics", - }, - Key: "lrostats", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter debugging information", - Summary: "vCenter debugging information", - }, - Key: "vcDebugInfo", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 1, - AssociatedCounterId: nil, - }, - { - Key: 317, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Miscellaneous", - Summary: "Miscellaneous statistics", - }, - Key: "miscstats", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter debugging information", - Summary: "vCenter debugging information", - }, - Key: "vcDebugInfo", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 318, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Miscellaneous", - Summary: "Miscellaneous statistics", - }, - Key: "miscstats", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter debugging information", - Summary: "vCenter debugging information", - }, - Key: "vcDebugInfo", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 319, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Miscellaneous", - Summary: "Miscellaneous statistics", - }, - Key: "miscstats", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter debugging information", - Summary: "vCenter debugging information", - }, - Key: "vcDebugInfo", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 1, - AssociatedCounterId: nil, - }, - { - Key: 320, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Managed object reference statistics", - Summary: "Managed object reference counts in vCenter Server", - }, - Key: "morefregstats", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter debugging information", - Summary: "vCenter debugging information", - }, - Key: "vcDebugInfo", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 321, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Managed object reference statistics", - Summary: "Managed object reference counts in vCenter Server", - }, - Key: "morefregstats", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter debugging information", - Summary: "vCenter debugging information", - }, - Key: "vcDebugInfo", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 322, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Managed object reference statistics", - Summary: "Managed object reference counts in vCenter Server", - }, - Key: "morefregstats", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter debugging information", - Summary: "vCenter debugging information", - }, - Key: "vcDebugInfo", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 1, - AssociatedCounterId: nil, - }, - { - Key: 323, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Received packet rate", - Summary: "Rate of the number of total packets received per second on the system where vCenter Server is running", - }, - Key: "packetrecvrate", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter resource usage information", - Summary: "vCenter resource usage information", - }, - Key: "vcResources", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 1, - PerDeviceLevel: 1, - AssociatedCounterId: nil, - }, - { - Key: 324, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Sent packet rate", - Summary: "Number of total packets sent per second on the system where vCenter Server is running", - }, - Key: "packetsentrate", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter resource usage information", - Summary: "vCenter resource usage information", - }, - Key: "vcResources", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 1, - PerDeviceLevel: 1, - AssociatedCounterId: nil, - }, - { - Key: 325, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU system", - Summary: "Total system CPU used on the system where vCenter Server in running", - }, - Key: "systemcpuusage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter resource usage information", - Summary: "vCenter resource usage information", - }, - Key: "vcResources", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "average", - StatsType: "rate", - Level: 1, - PerDeviceLevel: 1, - AssociatedCounterId: nil, - }, - { - Key: 326, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Page fault rate", - Summary: "Number of page faults per second on the system where vCenter Server is running", - }, - Key: "pagefaultrate", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter resource usage information", - Summary: "vCenter resource usage information", - }, - Key: "vcResources", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 1, - PerDeviceLevel: 1, - AssociatedCounterId: nil, - }, - { - Key: 327, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Physical memory", - Summary: "Physical memory used by vCenter", - }, - Key: "physicalmemusage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter resource usage information", - Summary: "vCenter resource usage information", - }, - Key: "vcResources", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 1, - AssociatedCounterId: nil, - }, - { - Key: 328, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU privileged", - Summary: "CPU used by vCenter Server in privileged mode", - }, - Key: "priviledgedcpuusage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter resource usage information", - Summary: "vCenter resource usage information", - }, - Key: "vcResources", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "average", - StatsType: "rate", - Level: 1, - PerDeviceLevel: 1, - AssociatedCounterId: nil, - }, - { - Key: 329, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Scoreboard statistics", - Summary: "Object counts in vCenter Server", - }, - Key: "scoreboard", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter debugging information", - Summary: "vCenter debugging information", - }, - Key: "vcDebugInfo", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 330, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Scoreboard statistics", - Summary: "Object counts in vCenter Server", - }, - Key: "scoreboard", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter debugging information", - Summary: "vCenter debugging information", - }, - Key: "vcDebugInfo", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 331, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Scoreboard statistics", - Summary: "Object counts in vCenter Server", - }, - Key: "scoreboard", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter debugging information", - Summary: "vCenter debugging information", - }, - Key: "vcDebugInfo", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 332, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Session statistics", - Summary: "The statistics of client sessions connected to vCenter Server", - }, - Key: "sessionstats", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter debugging information", - Summary: "vCenter debugging information", - }, - Key: "vcDebugInfo", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 333, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Session statistics", - Summary: "The statistics of client sessions connected to vCenter Server", - }, - Key: "sessionstats", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter debugging information", - Summary: "vCenter debugging information", - }, - Key: "vcDebugInfo", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 334, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Session statistics", - Summary: "The statistics of client sessions connected to vCenter Server", - }, - Key: "sessionstats", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter debugging information", - Summary: "vCenter debugging information", - }, - Key: "vcDebugInfo", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 1, - AssociatedCounterId: nil, - }, - { - Key: 335, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System call rate", - Summary: "Number of systems calls made per second on the system where vCenter Server is running", - }, - Key: "syscallsrate", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter resource usage information", - Summary: "vCenter resource usage information", - }, - Key: "vcResources", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 1, - PerDeviceLevel: 1, - AssociatedCounterId: nil, - }, - { - Key: 336, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System statistics", - Summary: "The statistics of vCenter Server as a running system such as thread statistics and heap statistics", - }, - Key: "systemstats", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter debugging information", - Summary: "vCenter debugging information", - }, - Key: "vcDebugInfo", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 337, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System statistics", - Summary: "The statistics of vCenter Server as a running system such as thread statistics and heap statistics", - }, - Key: "systemstats", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter debugging information", - Summary: "vCenter debugging information", - }, - Key: "vcDebugInfo", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 338, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System statistics", - Summary: "The statistics of vCenter Server as a running system such as thread statistics and heap statistics", - }, - Key: "systemstats", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter debugging information", - Summary: "vCenter debugging information", - }, - Key: "vcDebugInfo", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 1, - AssociatedCounterId: nil, - }, - { - Key: 339, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU user", - Summary: "CPU used by vCenter Server in user mode", - }, - Key: "usercpuusage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter resource usage information", - Summary: "vCenter resource usage information", - }, - Key: "vcResources", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "average", - StatsType: "rate", - Level: 1, - PerDeviceLevel: 1, - AssociatedCounterId: nil, - }, - { - Key: 340, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter Server service statistics", - Summary: "vCenter service statistics such as events, alarms, and tasks", - }, - Key: "vcservicestats", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter debugging information", - Summary: "vCenter debugging information", - }, - Key: "vcDebugInfo", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 341, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter Server service statistics", - Summary: "vCenter service statistics such as events, alarms, and tasks", - }, - Key: "vcservicestats", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter debugging information", - Summary: "vCenter debugging information", - }, - Key: "vcDebugInfo", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 342, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter Server service statistics", - Summary: "vCenter service statistics such as events, alarms, and tasks", - }, - Key: "vcservicestats", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter debugging information", - Summary: "vCenter debugging information", - }, - Key: "vcDebugInfo", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 1, - AssociatedCounterId: nil, - }, - { - Key: 343, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual memory", - Summary: "Virtual memory used by vCenter Server", - }, - Key: "virtualmemusage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vCenter resource usage information", - Summary: "vCenter resource usage information", - }, - Key: "vcResources", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 1, - AssociatedCounterId: nil, - }, - { - Key: 344, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Average number of outstanding read requests", - Summary: "Average number of outstanding read requests to the virtual disk during the collection interval", - }, - Key: "readOIO", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual disk", - Summary: "Virtual disk", - }, - Key: "virtualDisk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 2, - AssociatedCounterId: nil, - }, - { - Key: 345, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Average number of outstanding write requests", - Summary: "Average number of outstanding write requests to the virtual disk during the collection interval", - }, - Key: "writeOIO", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual disk", - Summary: "Virtual disk", - }, - Key: "virtualDisk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 2, - AssociatedCounterId: nil, - }, - { - Key: 346, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Read workload metric", - Summary: "Storage DRS virtual disk metric for the read workload model", - }, - Key: "readLoadMetric", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual disk", - Summary: "Virtual disk", - }, - Key: "virtualDisk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 2, - AssociatedCounterId: nil, - }, - { - Key: 347, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Write workload metric", - Summary: "Storage DRS virtual disk metric for the write workload model", - }, - Key: "writeLoadMetric", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual disk", - Summary: "Virtual disk", - }, - Key: "virtualDisk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 2, - AssociatedCounterId: nil, - }, - { - Key: 348, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Active (1 min average)", - Summary: "CPU active average over 1 minute", - }, - Key: "actav1", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource group CPU", - Summary: "Resource group CPU", - }, - Key: "rescpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 349, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage DRS datastore bytes read", - Summary: "Storage DRS datastore bytes read", - }, - Key: "datastoreReadBytes", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 2, - AssociatedCounterId: nil, - }, - { - Key: 350, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage DRS datastore bytes written", - Summary: "Storage DRS datastore bytes written", - }, - Key: "datastoreWriteBytes", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 2, - AssociatedCounterId: nil, - }, - { - Key: 351, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage DRS datastore read I/O rate", - Summary: "Storage DRS datastore read I/O rate", - }, - Key: "datastoreReadIops", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 352, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage DRS datastore write I/O rate", - Summary: "Storage DRS datastore write I/O rate", - }, - Key: "datastoreWriteIops", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 353, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage DRS datastore outstanding read requests", - Summary: "Storage DRS datastore outstanding read requests", - }, - Key: "datastoreReadOIO", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 354, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage DRS datastore outstanding write requests", - Summary: "Storage DRS datastore outstanding write requests", - }, - Key: "datastoreWriteOIO", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 355, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage DRS datastore normalized read latency", - Summary: "Storage DRS datastore normalized read latency", - }, - Key: "datastoreNormalReadLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 2, - AssociatedCounterId: nil, - }, - { - Key: 356, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage DRS datastore normalized write latency", - Summary: "Storage DRS datastore normalized write latency", - }, - Key: "datastoreNormalWriteLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 2, - AssociatedCounterId: nil, - }, - { - Key: 357, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage DRS datastore read workload metric", - Summary: "Storage DRS datastore metric for read workload model", - }, - Key: "datastoreReadLoadMetric", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 358, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage DRS datastore write workload metric", - Summary: "Storage DRS datastore metric for write workload model", - }, - Key: "datastoreWriteLoadMetric", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 359, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore latency observed by VMs", - Summary: "The average datastore latency as seen by virtual machines", - }, - Key: "datastoreVMObservedLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "µs", - Summary: "Microsecond", - }, - Key: "microsecond", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 360, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VXLAN network packets throughput transmitted", - Summary: "The rate of transmitted packets for this network", - }, - Key: "throughput.vds.txTotal", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 361, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VXLAN network non-unicast packets throughput transmitted", - Summary: "The rate of transmitted non-unicast packets for this network", - }, - Key: "throughput.vds.txNoUnicast", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 362, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VXLAN network cross-router packets throughput transmitted", - Summary: "The rate of transmitted cross-router packets for this network", - }, - Key: "throughput.vds.txCrsRouter", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 363, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VXLAN network dropped transmitted packets throughput", - Summary: "Count of dropped transmitted packets for this network", - }, - Key: "throughput.vds.txDrop", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 364, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VXLAN network packets throughput received", - Summary: "The rate of received packets for this network", - }, - Key: "throughput.vds.rxTotal", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 365, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VXLAN network dropped received packets due to destination IP error throughput", - Summary: "Count of dropped received packets with destination IP error for this network", - }, - Key: "throughput.vds.rxDestErr", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 366, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VXLAN network dropped received packets throughput", - Summary: "Count of dropped received packets for this network", - }, - Key: "throughput.vds.rxDrop", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 367, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VXLAN network failed to match mapping entry for a unicast MAC throughput", - Summary: "Count of transmitted packets that cannot find matched mapping entry for this network", - }, - Key: "throughput.vds.macFlood", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 368, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VXLAN network failed to allocate a new mapping entry during translation phase", - Summary: "Count of transmitted packets that failed to acquire new mapping entry during translation phase for this network", - }, - Key: "throughput.vds.macLKUPFull", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 369, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VXLAN network failed to allocate a new mapping entry during learning phase", - Summary: "Count of transmitted packets that failed to acquire new mapping entry during learning phase for this network", - }, - Key: "throughput.vds.macUPDTFull", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 370, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VXLAN Network Found Matched ARP Entry Throughput", - Summary: "Count of transmitted packets that found matched ARP entry for this network", - }, - Key: "throughput.vds.arpFound", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 371, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VXLAN Network Found Matched ARP Entry Marked as Unknown Throughput", - Summary: "Count of transmitted packets whose matched arp entry is marked as unknown for this network", - }, - Key: "throughput.vds.arpUnknown", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 372, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VXLAN Network Failed to Allocate ARP Entry During Translation Phase Throughput", - Summary: "Count of transmitted packets that failed to acquire new ARP entry during translation phase for this network", - }, - Key: "throughput.vds.arpLKUPFull", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 373, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VXLAN network found the same ARP requests have been sent into queue throughput", - Summary: "Count of transmitted packets whose ARP requests have already been sent into queue for this network", - }, - Key: "throughput.vds.arpWait", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 374, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VXLAN Network Found ARP Queries Have Been Expired Throughput", - Summary: "Count of arp queries that have been expired for this network", - }, - Key: "throughput.vds.arpTimeout", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 386, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Swap wait", - Summary: "CPU time spent waiting for swap-in", - }, - Key: "swapwait", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "summation", - StatsType: "delta", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 387, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Utilization", - Summary: "CPU utilization as a percentage during the interval (CPU usage and CPU utilization might be different due to power management technologies or hyper-threading)", - }, - Key: "utilization", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "none", - StatsType: "rate", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 388, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Utilization", - Summary: "CPU utilization as a percentage during the interval (CPU usage and CPU utilization might be different due to power management technologies or hyper-threading)", - }, - Key: "utilization", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "average", - StatsType: "rate", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 389, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Utilization", - Summary: "CPU utilization as a percentage during the interval (CPU usage and CPU utilization might be different due to power management technologies or hyper-threading)", - }, - Key: "utilization", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "maximum", - StatsType: "rate", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 390, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Utilization", - Summary: "CPU utilization as a percentage during the interval (CPU usage and CPU utilization might be different due to power management technologies or hyper-threading)", - }, - Key: "utilization", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "minimum", - StatsType: "rate", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 391, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Core Utilization", - Summary: "CPU utilization of the corresponding core (if hyper-threading is enabled) as a percentage during the interval (A core is utilized if either or both of its logical CPUs are utilized)", - }, - Key: "coreUtilization", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "none", - StatsType: "rate", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 392, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Core Utilization", - Summary: "CPU utilization of the corresponding core (if hyper-threading is enabled) as a percentage during the interval (A core is utilized if either or both of its logical CPUs are utilized)", - }, - Key: "coreUtilization", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "average", - StatsType: "rate", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 393, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Core Utilization", - Summary: "CPU utilization of the corresponding core (if hyper-threading is enabled) as a percentage during the interval (A core is utilized if either or both of its logical CPUs are utilized)", - }, - Key: "coreUtilization", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "maximum", - StatsType: "rate", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 394, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Core Utilization", - Summary: "CPU utilization of the corresponding core (if hyper-threading is enabled) as a percentage during the interval (A core is utilized if either or both of its logical CPUs are utilized)", - }, - Key: "coreUtilization", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "minimum", - StatsType: "rate", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 395, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Total capacity", - Summary: "Total CPU capacity reserved by and available for virtual machines", - }, - Key: "totalCapacity", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MHz", - Summary: "Megahertz", - }, - Key: "megaHertz", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 396, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Latency", - Summary: "Percent of time the virtual machine is unable to run because it is contending for access to the physical CPU(s)", - }, - Key: "latency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "average", - StatsType: "rate", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 397, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Entitlement", - Summary: "CPU resources devoted by the ESX scheduler", - }, - Key: "entitlement", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MHz", - Summary: "Megahertz", - }, - Key: "megaHertz", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 398, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Demand", - Summary: "The amount of CPU resources a virtual machine would use if there were no CPU contention or CPU limit", - }, - Key: "demand", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MHz", - Summary: "Megahertz", - }, - Key: "megaHertz", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 399, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Co-stop", - Summary: "Time the virtual machine is ready to run, but is unable to run due to co-scheduling constraints", - }, - Key: "costop", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "summation", - StatsType: "delta", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 400, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Max limited", - Summary: "Time the virtual machine is ready to run, but is not run due to maxing out its CPU limit setting", - }, - Key: "maxlimited", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "summation", - StatsType: "delta", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 401, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Overlap", - Summary: "Time the virtual machine was interrupted to perform system services on behalf of itself or other virtual machines", - }, - Key: "overlap", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "summation", - StatsType: "delta", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 402, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Run", - Summary: "Time the virtual machine is scheduled to run", - }, - Key: "run", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "summation", - StatsType: "delta", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 403, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Demand-to-entitlement ratio", - Summary: "CPU resource entitlement to CPU demand ratio (in percents)", - }, - Key: "demandEntitlementRatio", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 404, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Readiness", - Summary: "Percentage of time that the virtual machine was ready, but could not get scheduled to run on the physical CPU", - }, - Key: "readiness", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU", - Summary: "CPU", - }, - Key: "cpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "average", - StatsType: "rate", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 405, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Swap in", - Summary: "Amount of guest physical memory that is swapped in from the swap space since the virtual machine has been powered on. This value is less than or equal to the 'Swap out' counter", - }, - Key: "swapin", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "none", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 406, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Swap in", - Summary: "Amount of guest physical memory that is swapped in from the swap space since the virtual machine has been powered on. This value is less than or equal to the 'Swap out' counter", - }, - Key: "swapin", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 407, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Swap in", - Summary: "Amount of guest physical memory that is swapped in from the swap space since the virtual machine has been powered on. This value is less than or equal to the 'Swap out' counter", - }, - Key: "swapin", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 408, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Swap in", - Summary: "Amount of guest physical memory that is swapped in from the swap space since the virtual machine has been powered on. This value is less than or equal to the 'Swap out' counter", - }, - Key: "swapin", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 409, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Swap out", - Summary: "Amount of guest physical memory that is swapped out from the virtual machine to its swap space since it has been powered on.", - }, - Key: "swapout", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "none", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 410, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Swap out", - Summary: "Amount of guest physical memory that is swapped out from the virtual machine to its swap space since it has been powered on.", - }, - Key: "swapout", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 411, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Swap out", - Summary: "Amount of guest physical memory that is swapped out from the virtual machine to its swap space since it has been powered on.", - }, - Key: "swapout", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 412, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Swap out", - Summary: "Amount of guest physical memory that is swapped out from the virtual machine to its swap space since it has been powered on.", - }, - Key: "swapout", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 413, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VMkernel consumed", - Summary: "Amount of host physical memory consumed by VMkernel", - }, - Key: "sysUsage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "none", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 414, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VMkernel consumed", - Summary: "Amount of host physical memory consumed by VMkernel", - }, - Key: "sysUsage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 415, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VMkernel consumed", - Summary: "Amount of host physical memory consumed by VMkernel", - }, - Key: "sysUsage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 416, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VMkernel consumed", - Summary: "Amount of host physical memory consumed by VMkernel", - }, - Key: "sysUsage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 417, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Active write", - Summary: "Amount of guest physical memory that is being actively written by guest. Activeness is estimated by ESXi", - }, - Key: "activewrite", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 418, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Overhead reserved", - Summary: "Host physical memory reserved by ESXi, for its data structures, for running the virtual machine", - }, - Key: "overheadMax", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 419, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Total reservation", - Summary: "Total reservation, available and consumed, for powered-on virtual machines", - }, - Key: "totalCapacity", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MB", - Summary: "Megabyte", - }, - Key: "megaBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 420, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Compressed", - Summary: "Amount of guest physical memory pages compressed by ESXi", - }, - Key: "zipped", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 421, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Compression saved", - Summary: "Host physical memory, reclaimed from a virtual machine, by memory compression. This value is less than the value of 'Compressed' memory", - }, - Key: "zipSaved", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 422, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Page-fault latency", - Summary: "Percentage of time the virtual machine spent waiting to swap in or decompress guest physical memory", - }, - Key: "latency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 423, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Entitlement", - Summary: "Amount of host physical memory the virtual machine deserves, as determined by ESXi", - }, - Key: "entitlement", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 424, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Reclamation threshold", - Summary: "Threshold of free host physical memory below which ESXi will begin actively reclaiming memory from virtual machines by swapping, compression and ballooning", - }, - Key: "lowfreethreshold", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 425, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Host cache consumed", - Summary: "Storage space consumed on the host swap cache for storing swapped guest physical memory pages", - }, - Key: "llSwapUsed", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "none", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 426, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Host cache swap in rate", - Summary: "Rate at which guest physical memory is swapped in from the host swap cache", - }, - Key: "llSwapInRate", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 427, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Host cache swap out rate", - Summary: "Rate at which guest physical memory is swapped out to the host swap cache", - }, - Key: "llSwapOutRate", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 428, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Overhead active", - Summary: "Estimate of the host physical memory, from Overhead consumed, that is actively read or written to by ESXi", - }, - Key: "overheadTouched", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 429, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Host cache consumed", - Summary: "Storage space consumed on the host swap cache for storing swapped guest physical memory pages", - }, - Key: "llSwapUsed", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 430, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Host cache consumed", - Summary: "Storage space consumed on the host swap cache for storing swapped guest physical memory pages", - }, - Key: "llSwapUsed", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 431, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Host cache consumed", - Summary: "Storage space consumed on the host swap cache for storing swapped guest physical memory pages", - }, - Key: "llSwapUsed", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 432, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Host cache swap in", - Summary: "Amount of guest physical memory swapped in from host cache", - }, - Key: "llSwapIn", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "none", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 433, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Host cache swap in", - Summary: "Amount of guest physical memory swapped in from host cache", - }, - Key: "llSwapIn", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 434, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Host cache swap in", - Summary: "Amount of guest physical memory swapped in from host cache", - }, - Key: "llSwapIn", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 435, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Host cache swap in", - Summary: "Amount of guest physical memory swapped in from host cache", - }, - Key: "llSwapIn", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 436, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Host cache swap out", - Summary: "Amount of guest physical memory swapped out to the host swap cache", - }, - Key: "llSwapOut", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "none", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 437, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Host cache swap out", - Summary: "Amount of guest physical memory swapped out to the host swap cache", - }, - Key: "llSwapOut", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 438, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Host cache swap out", - Summary: "Amount of guest physical memory swapped out to the host swap cache", - }, - Key: "llSwapOut", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 439, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Host cache swap out", - Summary: "Amount of guest physical memory swapped out to the host swap cache", - }, - Key: "llSwapOut", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 440, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VMFS PB Cache Size", - Summary: "Space used for holding VMFS Pointer Blocks in memory", - }, - Key: "vmfs.pbc.size", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MB", - Summary: "Megabyte", - }, - Key: "megaBytes", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 441, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Maximum VMFS PB Cache Size", - Summary: "Maximum size the VMFS Pointer Block Cache can grow to", - }, - Key: "vmfs.pbc.sizeMax", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MB", - Summary: "Megabyte", - }, - Key: "megaBytes", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 442, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VMFS Working Set", - Summary: "Amount of file blocks whose addresses are cached in the VMFS PB Cache", - }, - Key: "vmfs.pbc.workingSet", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "TB", - Summary: "Terabyte", - }, - Key: "teraBytes", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 443, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Maximum VMFS Working Set", - Summary: "Maximum amount of file blocks whose addresses are cached in the VMFS PB Cache", - }, - Key: "vmfs.pbc.workingSetMax", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "TB", - Summary: "Terabyte", - }, - Key: "teraBytes", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 444, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VMFS PB Cache Overhead", - Summary: "Amount of VMFS heap used by the VMFS PB Cache", - }, - Key: "vmfs.pbc.overhead", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 445, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VMFS PB Cache Capacity Miss Ratio", - Summary: "Trailing average of the ratio of capacity misses to compulsory misses for the VMFS PB Cache", - }, - Key: "vmfs.pbc.capMissRatio", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory", - Summary: "Memory", - }, - Key: "mem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 446, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Commands issued", - Summary: "Number of SCSI commands issued during the collection interval", - }, - Key: "commands", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 447, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Physical device read latency", - Summary: "Average amount of time, in milliseconds, to read from the physical device", - }, - Key: "deviceReadLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 448, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Kernel read latency", - Summary: "Average amount of time, in milliseconds, spent by VMkernel to process each SCSI read command", - }, - Key: "kernelReadLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 449, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Read latency", - Summary: "Average amount of time taken during the collection interval to process a SCSI read command issued from the guest OS to the virtual machine", - }, - Key: "totalReadLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 450, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Queue read latency", - Summary: "Average amount of time spent in the VMkernel queue, per SCSI read command, during the collection interval", - }, - Key: "queueReadLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 451, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Physical device write latency", - Summary: "Average amount of time, in milliseconds, to write to the physical device", - }, - Key: "deviceWriteLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 452, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Kernel write latency", - Summary: "Average amount of time, in milliseconds, spent by VMkernel to process each SCSI write command", - }, - Key: "kernelWriteLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 453, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Write latency", - Summary: "Average amount of time taken during the collection interval to process a SCSI write command issued by the guest OS to the virtual machine", - }, - Key: "totalWriteLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 454, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Queue write latency", - Summary: "Average amount of time spent in the VMkernel queue, per SCSI write command, during the collection interval", - }, - Key: "queueWriteLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 455, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Physical device command latency", - Summary: "Average amount of time, in milliseconds, to complete a SCSI command from the physical device", - }, - Key: "deviceLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 456, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Kernel command latency", - Summary: "Average amount of time, in milliseconds, spent by VMkernel to process each SCSI command", - }, - Key: "kernelLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 457, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Queue command latency", - Summary: "Average amount of time spent in the VMkernel queue, per SCSI command, during the collection interval", - }, - Key: "queueLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 458, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Maximum queue depth", - Summary: "Maximum queue depth", - }, - Key: "maxQueueDepth", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 459, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Average commands issued per second", - Summary: "Average number of SCSI commands issued per second during the collection interval", - }, - Key: "commandsAveraged", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk", - Summary: "Disk", - }, - Key: "disk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 460, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Receive packets dropped", - Summary: "Number of receives dropped", - }, - Key: "droppedRx", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 461, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Transmit packets dropped", - Summary: "Number of transmits dropped", - }, - Key: "droppedTx", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 462, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Data receive rate", - Summary: "Average amount of data received per second", - }, - Key: "bytesRx", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 463, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Data transmit rate", - Summary: "Average amount of data transmitted per second", - }, - Key: "bytesTx", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 464, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Broadcast receives", - Summary: "Number of broadcast packets received during the sampling interval", - }, - Key: "broadcastRx", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 465, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Broadcast transmits", - Summary: "Number of broadcast packets transmitted during the sampling interval", - }, - Key: "broadcastTx", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 466, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Multicast receives", - Summary: "Number of multicast packets received during the sampling interval", - }, - Key: "multicastRx", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 467, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Multicast transmits", - Summary: "Number of multicast packets transmitted during the sampling interval", - }, - Key: "multicastTx", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 468, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Packet receive errors", - Summary: "Number of packets with errors received during the sampling interval", - }, - Key: "errorsRx", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 469, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Packet transmit errors", - Summary: "Number of packets with errors transmitted during the sampling interval", - }, - Key: "errorsTx", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 470, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Unknown protocol frames", - Summary: "Number of frames with unknown protocol received during the sampling interval", - }, - Key: "unknownProtos", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "summation", - StatsType: "delta", - Level: 2, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 471, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "pnicBytesRx", - Summary: "pnicBytesRx", - }, - Key: "pnicBytesRx", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 472, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "pnicBytesTx", - Summary: "pnicBytesTx", - }, - Key: "pnicBytesTx", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Network", - Summary: "Network", - }, - Key: "net", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 473, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Heartbeat", - Summary: "Number of heartbeats issued per virtual machine during the interval", - }, - Key: "heartbeat", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 474, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Disk usage", - Summary: "Amount of disk space usage for each mount point", - }, - Key: "diskUsage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 475, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource CPU usage (None)", - Summary: "Amount of CPU used by the Service Console and other applications during the interval", - }, - Key: "resourceCpuUsage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MHz", - Summary: "Megahertz", - }, - Key: "megaHertz", - }, - RollupType: "none", - StatsType: "rate", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 476, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource CPU usage (Average)", - Summary: "Amount of CPU used by the Service Console and other applications during the interval", - }, - Key: "resourceCpuUsage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MHz", - Summary: "Megahertz", - }, - Key: "megaHertz", - }, - RollupType: "average", - StatsType: "rate", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 477, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource CPU usage (Maximum)", - Summary: "Amount of CPU used by the Service Console and other applications during the interval", - }, - Key: "resourceCpuUsage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MHz", - Summary: "Megahertz", - }, - Key: "megaHertz", - }, - RollupType: "maximum", - StatsType: "rate", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 478, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource CPU usage (Minimum)", - Summary: "Amount of CPU used by the Service Console and other applications during the interval", - }, - Key: "resourceCpuUsage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MHz", - Summary: "Megahertz", - }, - Key: "megaHertz", - }, - RollupType: "minimum", - StatsType: "rate", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 479, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource memory touched", - Summary: "Memory touched by the system resource group", - }, - Key: "resourceMemTouched", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 480, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource memory mapped", - Summary: "Memory mapped by the system resource group", - }, - Key: "resourceMemMapped", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 481, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource memory share saved", - Summary: "Memory saved due to sharing by the system resource group", - }, - Key: "resourceMemShared", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 482, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource memory swapped", - Summary: "Memory swapped out by the system resource group", - }, - Key: "resourceMemSwapped", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 483, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource memory overhead", - Summary: "Overhead memory consumed by the system resource group", - }, - Key: "resourceMemOverhead", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 484, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource memory shared", - Summary: "Memory shared by the system resource group", - }, - Key: "resourceMemCow", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 485, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource memory zero", - Summary: "Zero filled memory used by the system resource group", - }, - Key: "resourceMemZero", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 486, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource CPU running (1 min. average)", - Summary: "CPU running average over 1 minute of the system resource group", - }, - Key: "resourceCpuRun1", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 487, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource CPU active (1 min average)", - Summary: "CPU active average over 1 minute of the system resource group", - }, - Key: "resourceCpuAct1", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 488, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource CPU maximum limited (1 min)", - Summary: "CPU maximum limited over 1 minute of the system resource group", - }, - Key: "resourceCpuMaxLimited1", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 489, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource CPU running (5 min average)", - Summary: "CPU running average over 5 minutes of the system resource group", - }, - Key: "resourceCpuRun5", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 490, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource CPU active (5 min average)", - Summary: "CPU active average over 5 minutes of the system resource group", - }, - Key: "resourceCpuAct5", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 491, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource CPU maximum limited (5 min)", - Summary: "CPU maximum limited over 5 minutes of the system resource group", - }, - Key: "resourceCpuMaxLimited5", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 492, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource CPU allocation minimum (in MHz)", - Summary: "CPU allocation reservation (in MHz) of the system resource group", - }, - Key: "resourceCpuAllocMin", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MHz", - Summary: "Megahertz", - }, - Key: "megaHertz", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 493, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource CPU allocation maximum (in MHz)", - Summary: "CPU allocation limit (in MHz) of the system resource group", - }, - Key: "resourceCpuAllocMax", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MHz", - Summary: "Megahertz", - }, - Key: "megaHertz", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 494, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource CPU allocation shares", - Summary: "CPU allocation shares of the system resource group", - }, - Key: "resourceCpuAllocShares", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 495, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource memory allocation minimum (in KB)", - Summary: "Memory allocation reservation (in KB) of the system resource group", - }, - Key: "resourceMemAllocMin", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 496, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource memory allocation maximum (in KB)", - Summary: "Memory allocation limit (in KB) of the system resource group", - }, - Key: "resourceMemAllocMax", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 497, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource memory allocation shares", - Summary: "Memory allocation shares of the system resource group", - }, - Key: "resourceMemAllocShares", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 498, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "OS Uptime", - Summary: "Total time elapsed, in seconds, since last operating system boot-up", - }, - Key: "osUptime", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "s", - Summary: "Second", - }, - Key: "second", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 499, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource memory consumed", - Summary: "Memory consumed by the system resource group", - }, - Key: "resourceMemConsumed", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 500, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "File descriptors used", - Summary: "Number of file descriptors used by the system resource group", - }, - Key: "resourceFdUsage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "System", - Summary: "System", - }, - Key: "sys", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 501, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Active (1 min peak)", - Summary: "CPU active peak over 1 minute", - }, - Key: "actpk1", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource group CPU", - Summary: "Resource group CPU", - }, - Key: "rescpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 502, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Running (1 min average)", - Summary: "CPU running average over 1 minute", - }, - Key: "runav1", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource group CPU", - Summary: "Resource group CPU", - }, - Key: "rescpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 503, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Active (5 min average)", - Summary: "CPU active average over 5 minutes", - }, - Key: "actav5", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource group CPU", - Summary: "Resource group CPU", - }, - Key: "rescpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 504, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Active (5 min peak)", - Summary: "CPU active peak over 5 minutes", - }, - Key: "actpk5", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource group CPU", - Summary: "Resource group CPU", - }, - Key: "rescpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 505, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Running (5 min average)", - Summary: "CPU running average over 5 minutes", - }, - Key: "runav5", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource group CPU", - Summary: "Resource group CPU", - }, - Key: "rescpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 506, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Active (15 min average)", - Summary: "CPU active average over 15 minutes", - }, - Key: "actav15", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource group CPU", - Summary: "Resource group CPU", - }, - Key: "rescpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 507, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Active (15 min peak)", - Summary: "CPU active peak over 15 minutes", - }, - Key: "actpk15", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource group CPU", - Summary: "Resource group CPU", - }, - Key: "rescpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 508, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Running (15 min average)", - Summary: "CPU running average over 15 minutes", - }, - Key: "runav15", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource group CPU", - Summary: "Resource group CPU", - }, - Key: "rescpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 509, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Running (1 min peak)", - Summary: "CPU running peak over 1 minute", - }, - Key: "runpk1", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource group CPU", - Summary: "Resource group CPU", - }, - Key: "rescpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 510, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Throttled (1 min average)", - Summary: "Amount of CPU resources over the limit that were refused, average over 1 minute", - }, - Key: "maxLimited1", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource group CPU", - Summary: "Resource group CPU", - }, - Key: "rescpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 511, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Running (5 min peak)", - Summary: "CPU running peak over 5 minutes", - }, - Key: "runpk5", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource group CPU", - Summary: "Resource group CPU", - }, - Key: "rescpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 512, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Throttled (5 min average)", - Summary: "Amount of CPU resources over the limit that were refused, average over 5 minutes", - }, - Key: "maxLimited5", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource group CPU", - Summary: "Resource group CPU", - }, - Key: "rescpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 513, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Running (15 min peak)", - Summary: "CPU running peak over 15 minutes", - }, - Key: "runpk15", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource group CPU", - Summary: "Resource group CPU", - }, - Key: "rescpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 514, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Throttled (15 min average)", - Summary: "Amount of CPU resources over the limit that were refused, average over 15 minutes", - }, - Key: "maxLimited15", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource group CPU", - Summary: "Resource group CPU", - }, - Key: "rescpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 515, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Group CPU sample count", - Summary: "Group CPU sample count", - }, - Key: "sampleCount", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource group CPU", - Summary: "Resource group CPU", - }, - Key: "rescpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 516, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Group CPU sample period", - Summary: "Group CPU sample period", - }, - Key: "samplePeriod", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Resource group CPU", - Summary: "Resource group CPU", - }, - Key: "rescpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 517, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory used", - Summary: "Amount of total configured memory that is available for use", - }, - Key: "memUsed", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Management agent", - Summary: "Management agent", - }, - Key: "managementAgent", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 518, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory swap used", - Summary: "Sum of the memory swapped by all powered-on virtual machines on the host", - }, - Key: "swapUsed", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Management agent", - Summary: "Management agent", - }, - Key: "managementAgent", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 519, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "CPU usage", - Summary: "Amount of Service Console CPU usage", - }, - Key: "cpuUsage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Management agent", - Summary: "Management agent", - }, - Key: "managementAgent", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MHz", - Summary: "Megahertz", - }, - Key: "megaHertz", - }, - RollupType: "average", - StatsType: "rate", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 520, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Average commands issued per second", - Summary: "Average number of commands issued per second on the storage path during the collection interval", - }, - Key: "commandsAveraged", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage path", - Summary: "Storage path", - }, - Key: "storagePath", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 521, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Average read requests per second", - Summary: "Average number of read commands issued per second on the storage path during the collection interval", - }, - Key: "numberReadAveraged", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage path", - Summary: "Storage path", - }, - Key: "storagePath", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 522, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Average write requests per second", - Summary: "Average number of write commands issued per second on the storage path during the collection interval", - }, - Key: "numberWriteAveraged", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage path", - Summary: "Storage path", - }, - Key: "storagePath", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 523, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Read rate", - Summary: "Rate of reading data on the storage path", - }, - Key: "read", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage path", - Summary: "Storage path", - }, - Key: "storagePath", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 524, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Write rate", - Summary: "Rate of writing data on the storage path", - }, - Key: "write", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage path", - Summary: "Storage path", - }, - Key: "storagePath", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 525, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Read latency", - Summary: "The average time a read issued on the storage path takes", - }, - Key: "totalReadLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage path", - Summary: "Storage path", - }, - Key: "storagePath", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 526, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Write latency", - Summary: "The average time a write issued on the storage path takes", - }, - Key: "totalWriteLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage path", - Summary: "Storage path", - }, - Key: "storagePath", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 3, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 527, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Read request size", - Summary: "Average read request size in bytes", - }, - Key: "readIOSize", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual disk", - Summary: "Virtual disk", - }, - Key: "virtualDisk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 528, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Write request size", - Summary: "Average write request size in bytes", - }, - Key: "writeIOSize", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual disk", - Summary: "Virtual disk", - }, - Key: "virtualDisk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 529, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Number of small seeks", - Summary: "Number of seeks during the interval that were less than 64 LBNs apart", - }, - Key: "smallSeeks", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual disk", - Summary: "Virtual disk", - }, - Key: "virtualDisk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 530, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Number of medium seeks", - Summary: "Number of seeks during the interval that were between 64 and 8192 LBNs apart", - }, - Key: "mediumSeeks", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual disk", - Summary: "Virtual disk", - }, - Key: "virtualDisk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 531, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Number of large seeks", - Summary: "Number of seeks during the interval that were greater than 8192 LBNs apart", - }, - Key: "largeSeeks", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual disk", - Summary: "Virtual disk", - }, - Key: "virtualDisk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 532, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Read Latency (us)", - Summary: "Read latency in microseconds", - }, - Key: "readLatencyUS", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual disk", - Summary: "Virtual disk", - }, - Key: "virtualDisk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "µs", - Summary: "Microsecond", - }, - Key: "microsecond", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 533, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Write Latency (us)", - Summary: "Write latency in microseconds", - }, - Key: "writeLatencyUS", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual disk", - Summary: "Virtual disk", - }, - Key: "virtualDisk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "µs", - Summary: "Microsecond", - }, - Key: "microsecond", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 534, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual Flash Read Cache I/Os per second for the virtual disk", - Summary: "The average virtual Flash Read Cache I/Os per second value for the virtual disk", - }, - Key: "vFlashCacheIops", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual disk", - Summary: "Virtual disk", - }, - Key: "virtualDisk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 535, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual Flash Read Cache latency for the virtual disk", - Summary: "The average virtual Flash Read Cache latency value for the virtual disk", - }, - Key: "vFlashCacheLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual disk", - Summary: "Virtual disk", - }, - Key: "virtualDisk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "µs", - Summary: "Microsecond", - }, - Key: "microsecond", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 536, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual Flash Read Cache throughput for virtual disk", - Summary: "The average virtual Flash Read Cache throughput value for the virtual disk", - }, - Key: "vFlashCacheThroughput", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual disk", - Summary: "Virtual disk", - }, - Key: "virtualDisk", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 537, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Storage I/O Control datastore maximum queue depth", - Summary: "Storage I/O Control datastore maximum queue depth", - }, - Key: "datastoreMaxQueueDepth", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Datastore", - Summary: "Datastore", - }, - Key: "datastore", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 1, - PerDeviceLevel: 3, - AssociatedCounterId: nil, - }, - { - Key: 538, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vSphere Replication VM Count", - Summary: "Current number of replicated virtual machines", - }, - Key: "hbrNumVms", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vSphere Replication", - Summary: "vSphere Replication", - }, - Key: "hbr", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 539, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Replication Data Receive Rate", - Summary: "Average amount of data received per second", - }, - Key: "hbrNetRx", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vSphere Replication", - Summary: "vSphere Replication", - }, - Key: "hbr", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 540, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Replication Data Transmit Rate", - Summary: "Average amount of data transmitted per second", - }, - Key: "hbrNetTx", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "vSphere Replication", - Summary: "vSphere Replication", - }, - Key: "hbr", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 541, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Number of caches controlled by the virtual flash module", - Summary: "Number of caches controlled by the virtual flash module", - }, - Key: "numActiveVMDKs", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Virtual flash", - Summary: "Virtual flash module related statistical values", - }, - Key: "vflashModule", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 542, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Read IOPS", - Summary: "Read IOPS", - }, - Key: "readIops", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VSAN DOM Objects", - Summary: "VSAN DOM object related statistical values", - }, - Key: "vsanDomObj", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 543, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Read throughput", - Summary: "Read throughput in kBps", - }, - Key: "readThroughput", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VSAN DOM Objects", - Summary: "VSAN DOM object related statistical values", - }, - Key: "vsanDomObj", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 544, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Average read latency", - Summary: "Average read latency in ms", - }, - Key: "readAvgLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VSAN DOM Objects", - Summary: "VSAN DOM object related statistical values", - }, - Key: "vsanDomObj", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 545, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Max read latency", - Summary: "Max read latency in ms", - }, - Key: "readMaxLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VSAN DOM Objects", - Summary: "VSAN DOM object related statistical values", - }, - Key: "vsanDomObj", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 546, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Cache hit rate", - Summary: "Cache hit rate percentage", - }, - Key: "readCacheHitRate", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VSAN DOM Objects", - Summary: "VSAN DOM object related statistical values", - }, - Key: "vsanDomObj", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 547, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Read congestion per sampling interval", - Summary: "Read congestion", - }, - Key: "readCongestion", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VSAN DOM Objects", - Summary: "VSAN DOM object related statistical values", - }, - Key: "vsanDomObj", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 548, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Write IOPS", - Summary: "Write IOPS", - }, - Key: "writeIops", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VSAN DOM Objects", - Summary: "VSAN DOM object related statistical values", - }, - Key: "vsanDomObj", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 549, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Write throughput", - Summary: "Write throughput in kBps", - }, - Key: "writeThroughput", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VSAN DOM Objects", - Summary: "VSAN DOM object related statistical values", - }, - Key: "vsanDomObj", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 550, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Average write latency", - Summary: "Average write latency in ms", - }, - Key: "writeAvgLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VSAN DOM Objects", - Summary: "VSAN DOM object related statistical values", - }, - Key: "vsanDomObj", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 551, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Max write latency", - Summary: "Max write latency in ms", - }, - Key: "writeMaxLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VSAN DOM Objects", - Summary: "VSAN DOM object related statistical values", - }, - Key: "vsanDomObj", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 552, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Write congestion per sampling interval", - Summary: "Write congestion", - }, - Key: "writeCongestion", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VSAN DOM Objects", - Summary: "VSAN DOM object related statistical values", - }, - Key: "vsanDomObj", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 553, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Recovery write IOPS", - Summary: "Recovery write IOPS", - }, - Key: "recoveryWriteIops", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VSAN DOM Objects", - Summary: "VSAN DOM object related statistical values", - }, - Key: "vsanDomObj", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 554, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Recovery write through-put", - Summary: "Recovery write through-put in kBps", - }, - Key: "recoveryWriteThroughput", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VSAN DOM Objects", - Summary: "VSAN DOM object related statistical values", - }, - Key: "vsanDomObj", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KBps", - Summary: "Kilobytes per second", - }, - Key: "kiloBytesPerSecond", - }, - RollupType: "average", - StatsType: "rate", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 555, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Average recovery write latency", - Summary: "Average recovery write latency in ms", - }, - Key: "recoveryWriteAvgLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VSAN DOM Objects", - Summary: "VSAN DOM object related statistical values", - }, - Key: "vsanDomObj", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "average", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 556, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Max recovery write latency", - Summary: "Max recovery write latency in ms", - }, - Key: "recoveryWriteMaxLatency", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VSAN DOM Objects", - Summary: "VSAN DOM object related statistical values", - }, - Key: "vsanDomObj", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "ms", - Summary: "Millisecond", - }, - Key: "millisecond", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 557, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Recovery write congestion per sampling interval", - Summary: "Recovery write congestion", - }, - Key: "recoveryWriteCongestion", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "VSAN DOM Objects", - Summary: "VSAN DOM object related statistical values", - }, - Key: "vsanDomObj", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "num", - Summary: "Number", - }, - Key: "number", - }, - RollupType: "average", - StatsType: "rate", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 558, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Utilization", - Summary: "The utilization of a GPU in percentages", - }, - Key: "utilization", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "GPU", - Summary: "GPU", - }, - Key: "gpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "none", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 559, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Utilization", - Summary: "The utilization of a GPU in percentages", - }, - Key: "utilization", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "GPU", - Summary: "GPU", - }, - Key: "gpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "average", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 560, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Utilization", - Summary: "The utilization of a GPU in percentages", - }, - Key: "utilization", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "GPU", - Summary: "GPU", - }, - Key: "gpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 561, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Utilization", - Summary: "The utilization of a GPU in percentages", - }, - Key: "utilization", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "GPU", - Summary: "GPU", - }, - Key: "gpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 562, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory used", - Summary: "The amount of GPU memory used in kilobytes", - }, - Key: "mem.used", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "GPU", - Summary: "GPU", - }, - Key: "gpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "none", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 563, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory used", - Summary: "The amount of GPU memory used in kilobytes", - }, - Key: "mem.used", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "GPU", - Summary: "GPU", - }, - Key: "gpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "average", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 564, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory used", - Summary: "The amount of GPU memory used in kilobytes", - }, - Key: "mem.used", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "GPU", - Summary: "GPU", - }, - Key: "gpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 565, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory used", - Summary: "The amount of GPU memory used in kilobytes", - }, - Key: "mem.used", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "GPU", - Summary: "GPU", - }, - Key: "gpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "KB", - Summary: "Kilobyte", - }, - Key: "kiloBytes", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 566, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory usage", - Summary: "The amount of GPU memory used in percentages of the total available", - }, - Key: "mem.usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "GPU", - Summary: "GPU", - }, - Key: "gpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "none", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 567, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory usage", - Summary: "The amount of GPU memory used in percentages of the total available", - }, - Key: "mem.usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "GPU", - Summary: "GPU", - }, - Key: "gpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "average", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 568, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory usage", - Summary: "The amount of GPU memory used in percentages of the total available", - }, - Key: "mem.usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "GPU", - Summary: "GPU", - }, - Key: "gpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "maximum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 569, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Memory usage", - Summary: "The amount of GPU memory used in percentages of the total available", - }, - Key: "mem.usage", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "GPU", - Summary: "GPU", - }, - Key: "gpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "%", - Summary: "Percentage", - }, - Key: "percent", - }, - RollupType: "minimum", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 570, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Temperature", - Summary: "The temperature of a GPU in degrees celsius", - }, - Key: "temperature", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "GPU", - Summary: "GPU", - }, - Key: "gpu", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "℃", - Summary: "Temperature in degrees Celsius", - }, - Key: "celsius", - }, - RollupType: "average", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, - { - Key: 571, - NameInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "Persistent memory available reservation", - Summary: "Persistent memory available reservation on a host.", - }, - Key: "available.reservation", - }, - GroupInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "PMEM", - Summary: "PMEM", - }, - Key: "pmem", - }, - UnitInfo: &types.ElementDescription{ - Description: types.Description{ - Label: "MB", - Summary: "Megabyte", - }, - Key: "megaBytes", - }, - RollupType: "latest", - StatsType: "absolute", - Level: 4, - PerDeviceLevel: 4, - AssociatedCounterId: nil, - }, -} - -var VmMetrics = []types.PerfMetricId{ - { - CounterId: 12, - Instance: "$cpu", - }, - { - CounterId: 401, - Instance: "$cpu", - }, - { - CounterId: 2, - Instance: "", - }, - { - CounterId: 14, - Instance: "", - }, - { - CounterId: 10, - Instance: "", - }, - { - CounterId: 401, - Instance: "", - }, - { - CounterId: 402, - Instance: "$cpu", - }, - { - CounterId: 396, - Instance: "", - }, - { - CounterId: 13, - Instance: "", - }, - { - CounterId: 11, - Instance: "$cpu", - }, - { - CounterId: 386, - Instance: "$cpu", - }, - { - CounterId: 399, - Instance: "$cpu", - }, - { - CounterId: 397, - Instance: "", - }, - { - CounterId: 6, - Instance: "$cpu", - }, - { - CounterId: 404, - Instance: "$cpu", - }, - { - CounterId: 386, - Instance: "", - }, - { - CounterId: 14, - Instance: "$cpu", - }, - { - CounterId: 11, - Instance: "", - }, - { - CounterId: 400, - Instance: "$cpu", - }, - { - CounterId: 6, - Instance: "", - }, - { - CounterId: 399, - Instance: "", - }, - { - CounterId: 403, - Instance: "", - }, - { - CounterId: 404, - Instance: "", - }, - { - CounterId: 398, - Instance: "", - }, - { - CounterId: 13, - Instance: "$cpu", - }, - { - CounterId: 400, - Instance: "", - }, - { - CounterId: 402, - Instance: "", - }, - { - CounterId: 12, - Instance: "", - }, - { - CounterId: 184, - Instance: "", - }, - { - CounterId: 180, - Instance: "$physDisk", - }, - { - CounterId: 181, - Instance: "$physDisk", - }, - { - CounterId: 178, - Instance: "$physDisk", - }, - { - CounterId: 182, - Instance: "$physDisk", - }, - { - CounterId: 179, - Instance: "$physDisk", - }, - { - CounterId: 183, - Instance: "$physDisk", - }, - { - CounterId: 133, - Instance: "", - }, - { - CounterId: 37, - Instance: "", - }, - { - CounterId: 74, - Instance: "", - }, - { - CounterId: 426, - Instance: "", - }, - { - CounterId: 70, - Instance: "", - }, - { - CounterId: 107, - Instance: "", - }, - { - CounterId: 422, - Instance: "", - }, - { - CounterId: 105, - Instance: "", - }, - { - CounterId: 85, - Instance: "", - }, - { - CounterId: 428, - Instance: "", - }, - { - CounterId: 418, - Instance: "", - }, - { - CounterId: 102, - Instance: "", - }, - { - CounterId: 33, - Instance: "", - }, - { - CounterId: 427, - Instance: "", - }, - { - CounterId: 94, - Instance: "", - }, - { - CounterId: 29, - Instance: "", - }, - { - CounterId: 420, - Instance: "", - }, - { - CounterId: 417, - Instance: "", - }, - { - CounterId: 98, - Instance: "", - }, - { - CounterId: 423, - Instance: "", - }, - { - CounterId: 106, - Instance: "", - }, - { - CounterId: 86, - Instance: "", - }, - { - CounterId: 41, - Instance: "", - }, - { - CounterId: 421, - Instance: "", - }, - { - CounterId: 429, - Instance: "", - }, - { - CounterId: 406, - Instance: "", - }, - { - CounterId: 90, - Instance: "", - }, - { - CounterId: 24, - Instance: "", - }, - { - CounterId: 410, - Instance: "", - }, - { - CounterId: 149, - Instance: "vmnic1", - }, - { - CounterId: 466, - Instance: "4000", - }, - { - CounterId: 146, - Instance: "", - }, - { - CounterId: 461, - Instance: "", - }, - { - CounterId: 148, - Instance: "vmnic1", - }, - { - CounterId: 462, - Instance: "vmnic0", - }, - { - CounterId: 143, - Instance: "vmnic0", - }, - { - CounterId: 463, - Instance: "vmnic1", - }, - { - CounterId: 147, - Instance: "", - }, - { - CounterId: 463, - Instance: "4000", - }, - { - CounterId: 462, - Instance: "vmnic1", - }, - { - CounterId: 462, - Instance: "4000", - }, - { - CounterId: 461, - Instance: "4000", - }, - { - CounterId: 146, - Instance: "vmnic0", - }, - { - CounterId: 465, - Instance: "4000", - }, - { - CounterId: 460, - Instance: "4000", - }, - { - CounterId: 149, - Instance: "4000", - }, - { - CounterId: 148, - Instance: "4000", - }, - { - CounterId: 462, - Instance: "", - }, - { - CounterId: 149, - Instance: "vmnic0", - }, - { - CounterId: 143, - Instance: "4000", - }, - { - CounterId: 463, - Instance: "", - }, - { - CounterId: 147, - Instance: "vmnic1", - }, - { - CounterId: 466, - Instance: "", - }, - { - CounterId: 472, - Instance: "4000", - }, - { - CounterId: 143, - Instance: "", - }, - { - CounterId: 146, - Instance: "vmnic1", - }, - { - CounterId: 146, - Instance: "4000", - }, - { - CounterId: 472, - Instance: "", - }, - { - CounterId: 471, - Instance: "", - }, - { - CounterId: 460, - Instance: "", - }, - { - CounterId: 147, - Instance: "4000", - }, - { - CounterId: 471, - Instance: "4000", - }, - { - CounterId: 148, - Instance: "", - }, - { - CounterId: 147, - Instance: "vmnic0", - }, - { - CounterId: 465, - Instance: "", - }, - { - CounterId: 464, - Instance: "4000", - }, - { - CounterId: 464, - Instance: "", - }, - { - CounterId: 148, - Instance: "vmnic0", - }, - { - CounterId: 463, - Instance: "vmnic0", - }, - { - CounterId: 467, - Instance: "", - }, - { - CounterId: 143, - Instance: "vmnic1", - }, - { - CounterId: 149, - Instance: "", - }, - { - CounterId: 467, - Instance: "4000", - }, - { - CounterId: 159, - Instance: "", - }, - { - CounterId: 157, - Instance: "", - }, - { - CounterId: 504, - Instance: "", - }, - { - CounterId: 507, - Instance: "", - }, - { - CounterId: 513, - Instance: "", - }, - { - CounterId: 348, - Instance: "", - }, - { - CounterId: 505, - Instance: "", - }, - { - CounterId: 514, - Instance: "", - }, - { - CounterId: 506, - Instance: "", - }, - { - CounterId: 512, - Instance: "", - }, - { - CounterId: 508, - Instance: "", - }, - { - CounterId: 515, - Instance: "", - }, - { - CounterId: 509, - Instance: "", - }, - { - CounterId: 501, - Instance: "", - }, - { - CounterId: 516, - Instance: "", - }, - { - CounterId: 503, - Instance: "", - }, - { - CounterId: 511, - Instance: "", - }, - { - CounterId: 510, - Instance: "", - }, - { - CounterId: 502, - Instance: "", - }, - { - CounterId: 155, - Instance: "", - }, - { - CounterId: 473, - Instance: "", - }, - { - CounterId: 498, - Instance: "", - }, - { - CounterId: 174, - Instance: "", - }, - { - CounterId: 173, - Instance: "", - }, -} - -// ************************* Host metrics ************************************ - -var HostMetrics = []types.PerfMetricId{ - { - CounterId: 386, - Instance: "", - }, - { - CounterId: 395, - Instance: "", - }, - { - CounterId: 14, - Instance: "", - }, - { - CounterId: 399, - Instance: "", - }, - { - CounterId: 392, - Instance: "", - }, - { - CounterId: 392, - Instance: "$cpu", - }, - { - CounterId: 11, - Instance: "", - }, - { - CounterId: 398, - Instance: "", - }, - { - CounterId: 388, - Instance: "", - }, - { - CounterId: 388, - Instance: "$cpu", - }, - { - CounterId: 13, - Instance: "", - }, - { - CounterId: 396, - Instance: "", - }, - { - CounterId: 12, - Instance: "", - }, - { - CounterId: 9, - Instance: "", - }, - { - CounterId: 2, - Instance: "", - }, - { - CounterId: 14, - Instance: "$cpu", - }, - { - CounterId: 404, - Instance: "", - }, - { - CounterId: 6, - Instance: "", - }, - { - CounterId: 2, - Instance: "$cpu", - }, - { - CounterId: 13, - Instance: "$cpu", - }, - { - CounterId: 185, - Instance: "d10c389e-c75b7dc4", - }, - { - CounterId: 179, - Instance: "$physDisk", - }, - { - CounterId: 178, - Instance: "$physDisk", - }, - { - CounterId: 358, - Instance: "$physDisk", - }, - { - CounterId: 537, - Instance: "$physDisk", - }, - { - CounterId: 354, - Instance: "$physDisk", - }, - { - CounterId: 191, - Instance: "$physDisk", - }, - { - CounterId: 352, - Instance: "$physDisk", - }, - { - CounterId: 359, - Instance: "$physDisk", - }, - { - CounterId: 184, - Instance: "", - }, - { - CounterId: 186, - Instance: "$physDisk", - }, - { - CounterId: 351, - Instance: "$physDisk", - }, - { - CounterId: 180, - Instance: "$physDisk", - }, - { - CounterId: 353, - Instance: "$physDisk", - }, - { - CounterId: 356, - Instance: "$physDisk", - }, - { - CounterId: 355, - Instance: "$physDisk", - }, - { - CounterId: 350, - Instance: "$physDisk", - }, - { - CounterId: 349, - Instance: "$physDisk", - }, - { - CounterId: 182, - Instance: "$physDisk", - }, - { - CounterId: 357, - Instance: "$physDisk", - }, - { - CounterId: 181, - Instance: "$physDisk", - }, - { - CounterId: 185, - Instance: "$physDisk", - }, - { - CounterId: 183, - Instance: "$physDisk", - }, - - { - CounterId: 455, - Instance: "$physDisk", - }, - { - CounterId: 133, - Instance: "", - }, - { - CounterId: 456, - Instance: "$physDisk", - }, - { - CounterId: 457, - Instance: "$physDisk", - }, - { - CounterId: 129, - Instance: "$physDisk", - }, - { - CounterId: 448, - Instance: "$physDisk", - }, - { - CounterId: 130, - Instance: "", - }, - { - CounterId: 447, - Instance: "$physDisk", - }, - { - CounterId: 458, - Instance: "$physDisk", - }, - { - CounterId: 131, - Instance: "$physDisk", - }, - { - CounterId: 134, - Instance: "$physDisk", - }, - { - CounterId: 446, - Instance: "$physDisk", - }, - { - CounterId: 450, - Instance: "$physDisk", - }, - { - CounterId: 451, - Instance: "$physDisk", - }, - { - CounterId: 453, - Instance: "$physDisk", - }, - { - CounterId: 452, - Instance: "$physDisk", - }, - { - CounterId: 454, - Instance: "$physDisk", - }, - { - CounterId: 128, - Instance: "$physDisk", - }, - { - CounterId: 132, - Instance: "$physDisk", - }, - { - CounterId: 459, - Instance: "$physDisk", - }, - { - CounterId: 130, - Instance: "$physDisk", - }, - { - CounterId: 125, - Instance: "", - }, - { - CounterId: 131, - Instance: "", - }, - { - CounterId: 449, - Instance: "$physDisk", - }, - { - CounterId: 135, - Instance: "$physDisk", - }, - { - CounterId: 136, - Instance: "$physDisk", - }, - { - CounterId: 137, - Instance: "$physDisk", - }, - { - CounterId: 538, - Instance: "", - }, - { - CounterId: 540, - Instance: "", - }, - { - CounterId: 539, - Instance: "", - }, - { - CounterId: 65, - Instance: "", - }, - { - CounterId: 27, - Instance: "", - }, - { - CounterId: 419, - Instance: "", - }, - { - CounterId: 443, - Instance: "", - }, - { - CounterId: 437, - Instance: "", - }, - { - CounterId: 24, - Instance: "", - }, - { - CounterId: 68, - Instance: "", - }, - { - CounterId: 422, - Instance: "", - }, - { - CounterId: 106, - Instance: "", - }, - { - CounterId: 410, - Instance: "", - }, - { - CounterId: 33, - Instance: "", - }, - { - CounterId: 105, - Instance: "", - }, - { - CounterId: 107, - Instance: "", - }, - { - CounterId: 61, - Instance: "", - }, - { - CounterId: 445, - Instance: "", - }, - { - CounterId: 417, - Instance: "", - }, - { - CounterId: 406, - Instance: "", - }, - { - CounterId: 444, - Instance: "", - }, - { - CounterId: 427, - Instance: "", - }, - { - CounterId: 85, - Instance: "", - }, - { - CounterId: 424, - Instance: "", - }, - { - CounterId: 49, - Instance: "", - }, - { - CounterId: 414, - Instance: "", - }, - { - CounterId: 98, - Instance: "", - }, - { - CounterId: 29, - Instance: "", - }, - { - CounterId: 57, - Instance: "", - }, - { - CounterId: 441, - Instance: "", - }, - { - CounterId: 41, - Instance: "", - }, - { - CounterId: 86, - Instance: "", - }, - { - CounterId: 433, - Instance: "", - }, - { - CounterId: 45, - Instance: "", - }, - { - CounterId: 426, - Instance: "", - }, - { - CounterId: 429, - Instance: "", - }, - { - CounterId: 440, - Instance: "", - }, - { - CounterId: 102, - Instance: "", - }, - { - CounterId: 90, - Instance: "", - }, - { - CounterId: 37, - Instance: "", - }, - { - CounterId: 442, - Instance: "", - }, - { - CounterId: 469, - Instance: "vmnic0", - }, - { - CounterId: 460, - Instance: "", - }, - { - CounterId: 463, - Instance: "", - }, - { - CounterId: 143, - Instance: "", - }, - { - CounterId: 465, - Instance: "", - }, - { - CounterId: 461, - Instance: "", - }, - { - CounterId: 468, - Instance: "", - }, - { - CounterId: 143, - Instance: "vmnic0", - }, - { - CounterId: 467, - Instance: "vmnic0", - }, - { - CounterId: 149, - Instance: "vmnic0", - }, - { - CounterId: 149, - Instance: "", - }, - { - CounterId: 470, - Instance: "", - }, - { - CounterId: 466, - Instance: "", - }, - { - CounterId: 146, - Instance: "", - }, - { - CounterId: 465, - Instance: "vmnic0", - }, - { - CounterId: 461, - Instance: "vmnic0", - }, - { - CounterId: 466, - Instance: "vmnic0", - }, - { - CounterId: 146, - Instance: "vmnic0", - }, - { - CounterId: 464, - Instance: "vmnic0", - }, - { - CounterId: 148, - Instance: "vmnic0", - }, - { - CounterId: 460, - Instance: "vmnic0", - }, - { - CounterId: 468, - Instance: "vmnic0", - }, - { - CounterId: 147, - Instance: "", - }, - { - CounterId: 463, - Instance: "vmnic0", - }, - { - CounterId: 462, - Instance: "vmnic0", - }, - { - CounterId: 464, - Instance: "", - }, - { - CounterId: 470, - Instance: "vmnic0", - }, - { - CounterId: 148, - Instance: "", - }, - { - CounterId: 462, - Instance: "", - }, - { - CounterId: 467, - Instance: "", - }, - { - CounterId: 469, - Instance: "", - }, - { - CounterId: 147, - Instance: "vmnic0", - }, - { - CounterId: 159, - Instance: "", - }, - { - CounterId: 158, - Instance: "", - }, - { - CounterId: 157, - Instance: "", - }, - { - CounterId: 503, - Instance: "", - }, - { - CounterId: 511, - Instance: "", - }, - { - CounterId: 504, - Instance: "", - }, - { - CounterId: 501, - Instance: "", - }, - { - CounterId: 513, - Instance: "", - }, - { - CounterId: 516, - Instance: "", - }, - { - CounterId: 507, - Instance: "", - }, - { - CounterId: 508, - Instance: "", - }, - { - CounterId: 502, - Instance: "", - }, - { - CounterId: 348, - Instance: "", - }, - { - CounterId: 505, - Instance: "", - }, - { - CounterId: 510, - Instance: "", - }, - { - CounterId: 512, - Instance: "", - }, - { - CounterId: 515, - Instance: "", - }, - { - CounterId: 514, - Instance: "", - }, - { - CounterId: 506, - Instance: "", - }, - { - CounterId: 509, - Instance: "", - }, - { - CounterId: 161, - Instance: "vmhba32", - }, - { - CounterId: 162, - Instance: "vmhba1", - }, - { - CounterId: 166, - Instance: "vmhba32", - }, - { - CounterId: 163, - Instance: "vmhba1", - }, - { - CounterId: 163, - Instance: "vmhba0", - }, - { - CounterId: 168, - Instance: "", - }, - { - CounterId: 167, - Instance: "vmhba32", - }, - { - CounterId: 162, - Instance: "vmhba0", - }, - { - CounterId: 164, - Instance: "vmhba1", - }, - { - CounterId: 167, - Instance: "vmhba1", - }, - { - CounterId: 167, - Instance: "vmhba0", - }, - { - CounterId: 162, - Instance: "vmhba32", - }, - { - CounterId: 164, - Instance: "vmhba0", - }, - { - CounterId: 166, - Instance: "vmhba1", - }, - { - CounterId: 166, - Instance: "vmhba0", - }, - { - CounterId: 165, - Instance: "vmhba1", - }, - { - CounterId: 165, - Instance: "vmhba0", - }, - { - CounterId: 164, - Instance: "vmhba32", - }, - { - CounterId: 161, - Instance: "vmhba1", - }, - { - CounterId: 161, - Instance: "vmhba0", - }, - { - CounterId: 163, - Instance: "vmhba32", - }, - { - CounterId: 165, - Instance: "vmhba32", - }, - { - CounterId: 520, - Instance: "$physDisk", - }, - { - CounterId: 523, - Instance: "$physDisk", - }, - { - CounterId: 193, - Instance: "", - }, - { - CounterId: 522, - Instance: "$physDisk", - }, - { - CounterId: 524, - Instance: "$physDisk", - }, - { - CounterId: 521, - Instance: "$physDisk", - }, - { - CounterId: 525, - Instance: "$physDisk", - }, - { - CounterId: 526, - Instance: "$physDisk", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/vmkiscsid", - }, - { - CounterId: 482, - Instance: "host/system/svmotion", - }, - { - CounterId: 483, - Instance: "host/system/kernel/root", - }, - { - CounterId: 479, - Instance: "host/system/kernel/tmp", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/init", - }, - { - CounterId: 499, - Instance: "host/system/kernel/var", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/sioc", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/wsman", - }, - { - CounterId: 485, - Instance: "host/system/kernel/var", - }, - { - CounterId: 480, - Instance: "host/vim/vimuser/terminal/shell", - }, - { - CounterId: 481, - Instance: "host/system/vmotion", - }, - { - CounterId: 488, - Instance: "host/vim", - }, - { - CounterId: 484, - Instance: "host/system/kernel/opt", - }, - { - CounterId: 481, - Instance: "host/iofilters/spm", - }, - { - CounterId: 480, - Instance: "host/vim", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/hostd-probe", - }, - { - CounterId: 483, - Instance: "host/system/kernel/opt", - }, - { - CounterId: 500, - Instance: "host/system/kernel/var", - }, - { - CounterId: 500, - Instance: "host/system/kernel/opt", - }, - { - CounterId: 480, - Instance: "host/system/kernel/tmp", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/hostd-probe/stats/head", - }, - { - CounterId: 499, - Instance: "host/system/kernel/etc", - }, - { - CounterId: 485, - Instance: "host/system/kernel/etc", - }, - { - CounterId: 482, - Instance: "host/system/kernel/etc", - }, - { - CounterId: 481, - Instance: "host/system/kernel/etc", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/vsanperfsvc", - }, - { - CounterId: 484, - Instance: "host/system/kernel/root", - }, - { - CounterId: 481, - Instance: "host/system/kernel/root", - }, - { - CounterId: 480, - Instance: "host/system/kernel/var", - }, - { - CounterId: 479, - Instance: "host/system/kernel/root", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/dhclientrelease", - }, - { - CounterId: 485, - Instance: "host/system/kernel", - }, - { - CounterId: 499, - Instance: "host/iofilters", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/wsman", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/usbArbitrator", - }, - { - CounterId: 484, - Instance: "host/system/kernel", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/swapobjd", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/hostdCgiServer", - }, - { - CounterId: 481, - Instance: "host/system/kernel/var", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/rabbitmqproxy", - }, - { - CounterId: 480, - Instance: "host/system/kernel", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/vmfstraced", - }, - { - CounterId: 476, - Instance: "host/system/kernel", - }, - { - CounterId: 483, - Instance: "host/system/kernel/var", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/nscd", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/hostd-probe/stats/ls", - }, - { - CounterId: 500, - Instance: "host/system/kernel", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/vobd", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/sfcb", - }, - { - CounterId: 496, - Instance: "host/system", - }, - { - CounterId: 500, - Instance: "host/iofilters/vmwarevmcrypt", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/snmpd", - }, - { - CounterId: 494, - Instance: "host/system", - }, - { - CounterId: 482, - Instance: "host/vim/vimuser/terminal/shell", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/lacpd", - }, - { - CounterId: 482, - Instance: "host/system/kernel", - }, - { - CounterId: 491, - Instance: "host/system", - }, - { - CounterId: 487, - Instance: "host/system", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/snmpd", - }, - { - CounterId: 481, - Instance: "host/system/kernel/tmp", - }, - { - CounterId: 500, - Instance: "host/vim/vmci", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/hostd-probe/stats/awk", - }, - { - CounterId: 482, - Instance: "host/iofilters/spm", - }, - { - CounterId: 499, - Instance: "host/system", - }, - { - CounterId: 485, - Instance: "host/system", - }, - { - CounterId: 483, - Instance: "host/system/kernel", - }, - { - CounterId: 483, - Instance: "host/system/vmotion", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/pcscd", - }, - { - CounterId: 484, - Instance: "host/system", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/dhclient", - }, - { - CounterId: 476, - Instance: "host/vim", - }, - { - CounterId: 499, - Instance: "host/system/kernel/tmp", - }, - { - CounterId: 493, - Instance: "host/system", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/hostd-probe/stats", - }, - { - CounterId: 481, - Instance: "host/system", - }, - { - CounterId: 479, - Instance: "host/system/kernel/var", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/hostd-probe/stats/vmkbacktrace", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/lacpd", - }, - { - CounterId: 476, - Instance: "host/system", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/hostd-probe/stats", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/hostd-probe/stats/pgrep", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/hostdCgiServer", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/hostd-probe", - }, - { - CounterId: 500, - Instance: "host/system/kernel/tmp", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/sensord", - }, - { - CounterId: 499, - Instance: "host", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/dcui", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/logging", - }, - { - CounterId: 479, - Instance: "host/system/drivers", - }, - { - CounterId: 476, - Instance: "host/system/kernel/opt", - }, - { - CounterId: 484, - Instance: "host", - }, - { - CounterId: 485, - Instance: "host/system/kernel/root", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/memScrubber", - }, - { - CounterId: 483, - Instance: "host/system/drivers", - }, - { - CounterId: 479, - Instance: "host/system/kernel/iofilters", - }, - { - CounterId: 481, - Instance: "host", - }, - { - CounterId: 480, - Instance: "host/system/kernel/iofilters", - }, - { - CounterId: 479, - Instance: "host/system/vmotion", - }, - { - CounterId: 500, - Instance: "host", - }, - { - CounterId: 476, - Instance: "host/system/kernel/var", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/vmkeventd", - }, - { - CounterId: 481, - Instance: "host/system/kernel/iofilters", - }, - { - CounterId: 481, - Instance: "host/system/svmotion", - }, - { - CounterId: 484, - Instance: "host/system/helper", - }, - { - CounterId: 499, - Instance: "host/system/kernel/iofilters", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/init", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/hostd-probe/stats/head", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/upittraced", - }, - { - CounterId: 500, - Instance: "host/system/kernel/hostdstats", - }, - { - CounterId: 500, - Instance: "host/vim/vimuser/terminal", - }, - { - CounterId: 476, - Instance: "host/system/kernel/hostdstats", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/vobd", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/net-daemons", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/upittraced", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/pcscd", - }, - { - CounterId: 499, - Instance: "host/system/kernel/hostdstats", - }, - { - CounterId: 482, - Instance: "host/system/kernel/var", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/plugins", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/vpxa", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/rabbitmqproxy", - }, - { - CounterId: 485, - Instance: "host/system/svmotion", - }, - { - CounterId: 476, - Instance: "host/iofilters", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/hostd-probe/stats/awk", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/vsanperfsvc", - }, - { - CounterId: 482, - Instance: "host/vim", - }, - { - CounterId: 484, - Instance: "host/system/kernel/hostdstats", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/hostd", - }, - { - CounterId: 480, - Instance: "host/system/kernel/hostdstats", - }, - { - CounterId: 479, - Instance: "host/system/kernel", - }, - { - CounterId: 486, - Instance: "host/system/vmotion", - }, - { - CounterId: 492, - Instance: "host/system", - }, - { - CounterId: 483, - Instance: "host/system/kernel/hostdstats", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/hostd-probe/stats/pgrep", - }, - { - CounterId: 485, - Instance: "host/vim", - }, - { - CounterId: 483, - Instance: "host/system/helper", - }, - { - CounterId: 476, - Instance: "host/system/vmotion", - }, - { - CounterId: 489, - Instance: "host/system", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/boot", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/hostdCgiServer", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/vobd", - }, - { - CounterId: 499, - Instance: "host/system/svmotion", - }, - { - CounterId: 485, - Instance: "host/iofilters/spm", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/vmkdevmgr", - }, - { - CounterId: 481, - Instance: "host/system/helper", - }, - { - CounterId: 497, - Instance: "host/system", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/hostd-probe/stats/sh", - }, - { - CounterId: 480, - Instance: "host/system/kernel/opt", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/hostd-probe/stats/awk", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/dcui", - }, - { - CounterId: 491, - Instance: "host/system/vmotion", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/snmpd", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/hostd-probe/stats/awk", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/pcscd", - }, - { - CounterId: 485, - Instance: "host/vim/vimuser/terminal/shell", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/memScrubber", - }, - { - CounterId: 476, - Instance: "host/system/drivers", - }, - { - CounterId: 485, - Instance: "host/system/vmotion", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/hostd-probe/stats", - }, - { - CounterId: 483, - Instance: "host/iofilters", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/osfsd", - }, - { - CounterId: 485, - Instance: "host/system/drivers", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/aam", - }, - { - CounterId: 499, - Instance: "host/system/ft", - }, - { - CounterId: 483, - Instance: "host/system/ft", - }, - { - CounterId: 484, - Instance: "host/system/ft", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/vpxa", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/hostd-probe/stats/logger", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/hbrca", - }, - { - CounterId: 480, - Instance: "host/system/vmotion", - }, - { - CounterId: 487, - Instance: "host/vim", - }, - { - CounterId: 484, - Instance: "host/system/kernel/etc", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/net-daemons", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/logging", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/vmkeventd", - }, - { - CounterId: 484, - Instance: "host/system/vmotion", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/hostd-probe/stats/head", - }, - { - CounterId: 486, - Instance: "host/vim", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/osfsd", - }, - { - CounterId: 483, - Instance: "host/system", - }, - { - CounterId: 495, - Instance: "host/system", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/hostd-probe/stats/head", - }, - { - CounterId: 499, - Instance: "host/system/vmotion", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/hostd-probe/stats/vsish", - }, - { - CounterId: 488, - Instance: "host/system/vmotion", - }, - { - CounterId: 489, - Instance: "host/system/vmotion", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor", - }, - { - CounterId: 481, - Instance: "host/vim/vimuser/terminal/ssh", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/usbArbitrator", - }, - { - CounterId: 492, - Instance: "host/system/vmotion", - }, - { - CounterId: 485, - Instance: "host/system/kernel/hostdstats", - }, - { - CounterId: 499, - Instance: "host/system/helper", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/slp", - }, - { - CounterId: 493, - Instance: "host/system/vmotion", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/sensord", - }, - { - CounterId: 479, - Instance: "host/system/kernel/hostdstats", - }, - { - CounterId: 482, - Instance: "host/system/kernel/root", - }, - { - CounterId: 495, - Instance: "host/vim", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/hostd-probe", - }, - { - CounterId: 479, - Instance: "host/iofilters/vmwarevmcrypt", - }, - { - CounterId: 481, - Instance: "host/vim/vimuser/terminal", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/hostd-probe/stats/sh", - }, - { - CounterId: 495, - Instance: "host/system/vmotion", - }, - { - CounterId: 482, - Instance: "host", - }, - { - CounterId: 480, - Instance: "host/system/svmotion", - }, - { - CounterId: 480, - Instance: "host/user", - }, - { - CounterId: 483, - Instance: "host/system/svmotion", - }, - { - CounterId: 480, - Instance: "host", - }, - { - CounterId: 488, - Instance: "host/system", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/lbt", - }, - { - CounterId: 481, - Instance: "host/vim", - }, - { - CounterId: 483, - Instance: "host/vim", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/hostd-probe", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/smartd", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/rabbitmqproxy", - }, - { - CounterId: 490, - Instance: "host/vim", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/likewise", - }, - { - CounterId: 484, - Instance: "host/vim/tmp", - }, - { - CounterId: 491, - Instance: "host/vim", - }, - { - CounterId: 481, - Instance: "host/system/kernel/opt", - }, - { - CounterId: 490, - Instance: "host/system", - }, - { - CounterId: 482, - Instance: "host/system/drivers", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/lacpd", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/hostd-probe/stats/head", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/pcscd", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/netcpa", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/slp", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/sensord", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/slp", - }, - { - CounterId: 482, - Instance: "host/system/kernel/hostdstats", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/slp", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/slp", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/hostd-probe/stats/vmkbacktrace", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/slp", - }, - { - CounterId: 479, - Instance: "host/iofilters/spm", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/vvoltraced", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/slp", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/slp", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/plugins", - }, - { - CounterId: 479, - Instance: "host/vim/vimuser", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/plugins", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/slp", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/smartd", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/smartd", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/hostd-probe", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/smartd", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/smartd", - }, - { - CounterId: 499, - Instance: "host/system/kernel", - }, - { - CounterId: 481, - Instance: "host/system/kernel/hostdstats", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/hostdCgiServer", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/hostdCgiServer", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/smartd", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/smartd", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/snmpd", - }, - { - CounterId: 485, - Instance: "host/system/kernel/iofilters", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/snmpd", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/logging", - }, - { - CounterId: 485, - Instance: "host/vim/vimuser/terminal", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/snmpd", - }, - { - CounterId: 481, - Instance: "host/system/drivers", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/upitd", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/snmpd", - }, - { - CounterId: 492, - Instance: "host/vim", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/snmpd", - }, - { - CounterId: 499, - Instance: "host/vim/vimuser/terminal/ssh", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/logging", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/swapobjd", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/vvoltraced", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/hostd-probe/stats/probe", - }, - { - CounterId: 484, - Instance: "host/system/drivers", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/swapobjd", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/hostd", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/swapobjd", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/swapobjd", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/hostd", - }, - { - CounterId: 485, - Instance: "host", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/hostd", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/upitd", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/memScrubber", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/upitd", - }, - { - CounterId: 485, - Instance: "host/system/kernel/opt", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/upitd", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/upitd", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor", - }, - { - CounterId: 496, - Instance: "host/system/vmotion", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/upitd", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/upitd", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/sfcb_aux", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/upitd", - }, - { - CounterId: 500, - Instance: "host/system/svmotion", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/swapobjd", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/upittraced", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/likewise", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/upittraced", - }, - { - CounterId: 485, - Instance: "host/system/kernel/tmp", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/vsanperfsvc", - }, - { - CounterId: 484, - Instance: "host/system/kernel/tmp", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/upittraced", - }, - { - CounterId: 482, - Instance: "host/vim/vimuser", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/upittraced", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/upittraced", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/swapobjd", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/upittraced", - }, - { - CounterId: 486, - Instance: "host/system", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/upittraced", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/hostd-probe/stats/vsish", - }, - { - CounterId: 485, - Instance: "host/system/ft", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/usbArbitrator", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/aam", - }, - { - CounterId: 483, - Instance: "host/user", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/hostd-probe/stats/vmkbacktrace", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/usbArbitrator", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/smartd", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/usbArbitrator", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/usbArbitrator", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/usbArbitrator", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/likewise", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/memScrubber", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/usbArbitrator", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/uwdaemons", - }, - { - CounterId: 481, - Instance: "host/iofilters", - }, - { - CounterId: 476, - Instance: "host/system/kernel/iofilters", - }, - { - CounterId: 499, - Instance: "host/system/kernel/root", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/uwdaemons", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/uwdaemons", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/uwdaemons", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/sfcb", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/uwdaemons", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/uwdaemons", - }, - { - CounterId: 479, - Instance: "host/system", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/uwdaemons", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/uwdaemons", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/snmpd", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/lbt", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/uwdaemons", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/vmfstraced", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/vmfstraced", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/lbt", - }, - { - CounterId: 481, - Instance: "host/system/ft", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/ntpd", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/sfcb", - }, - { - CounterId: 499, - Instance: "host/vim/tmp", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/hostd-probe/stats/logger", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/init", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/nfcd", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/vmfstraced", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/vmfstraced", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/vmfstraced", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/vmkdevmgr", - }, - { - CounterId: 480, - Instance: "host/vim/vimuser/terminal/ssh", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/hostd-probe/stats/vsish", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/vmkdevmgr", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/hostd-probe/stats/logger", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/vmkdevmgr", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/vmkdevmgr", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/vmkdevmgr", - }, - { - CounterId: 484, - Instance: "host/vim", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/likewise", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/net-daemons", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/vmkeventd", - }, - { - CounterId: 484, - Instance: "host/system/kernel/var", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/vmkeventd", - }, - { - CounterId: 481, - Instance: "host/vim/vmci", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/dhclientrelease", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/hostd-probe/stats/vsish", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/vmkeventd", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/vmkeventd", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/hostd-probe/stats/pgrep", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/vmkeventd", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/vmkeventd", - }, - { - CounterId: 476, - Instance: "host/iofilters/vmwarevmcrypt", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/init", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/hostd-probe", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/vmkiscsid", - }, - { - CounterId: 479, - Instance: "host/user", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/netcpa", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/vmkiscsid", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/hostdCgiServer", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/nfcd", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/hostd-probe/stats/sh", - }, - { - CounterId: 487, - Instance: "host/system/vmotion", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/vmkiscsid", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/vmkiscsid", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/vmkiscsid", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/vobd", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/vobd", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/vobd", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/osfsd", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/nscd", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/vobd", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/hostd", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/plugins", - }, - { - CounterId: 476, - Instance: "host/vim/vimuser/terminal/ssh", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/vobd", - }, - { - CounterId: 500, - Instance: "host/system/vmotion", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/hostdCgiServer", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/wsman", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/vobd", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/dhclientrelease", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/vpxa", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/vpxa", - }, - { - CounterId: 476, - Instance: "host/vim/vimuser", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/sfcb_aux", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/vpxa", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/netcpa", - }, - { - CounterId: 482, - Instance: "host/system/helper", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/hostd-probe/stats/vmkbacktrace", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/vpxa", - }, - { - CounterId: 155, - Instance: "", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/vpxa", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/vpxa", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/vpxa", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/dhclient", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/hostd-probe/stats/pgrep", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/slp", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/vvold", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/vvold", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/vvold", - }, - { - CounterId: 480, - Instance: "host/system/helper", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/vvold", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/vvold", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/vvold", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/hostd", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/vmkdevmgr", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/vvold", - }, - { - CounterId: 500, - Instance: "host/user", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/ntpd", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/vvold", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/rabbitmqproxy", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/vvold", - }, - { - CounterId: 479, - Instance: "host/system/svmotion", - }, - { - CounterId: 480, - Instance: "host/system/ft", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/vvoltraced", - }, - { - CounterId: 500, - Instance: "host/system/kernel/root", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/vvoltraced", - }, - { - CounterId: 485, - Instance: "host/system/helper", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/nfsgssd", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/aam", - }, - { - CounterId: 482, - Instance: "host/system/kernel/opt", - }, - { - CounterId: 482, - Instance: "host/vim/vimuser/terminal", - }, - { - CounterId: 483, - Instance: "host/iofilters/vmwarevmcrypt", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/hostdCgiServer", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/vvoltraced", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/vvoltraced", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/swapobjd", - }, - { - CounterId: 483, - Instance: "host/system/kernel/etc", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/vvoltraced", - }, - { - CounterId: 476, - Instance: "host/vim/vmci", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/vmkiscsid", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/wsman", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/wsman", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/wsman", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/lbt", - }, - { - CounterId: 476, - Instance: "host/system/ft", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/wsman", - }, - { - CounterId: 480, - Instance: "host/system/drivers", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/dhclientrelease", - }, - { - CounterId: 489, - Instance: "host/vim", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/wsman", - }, - { - CounterId: 480, - Instance: "host/vim/vimuser/terminal", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/wsman", - }, - { - CounterId: 484, - Instance: "host/system/svmotion", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/dcui", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/hostd-probe/stats/vsish", - }, - { - CounterId: 500, - Instance: "host/system/helper", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/wsman", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/hbrca", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/sensord", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/rabbitmqproxy", - }, - { - CounterId: 497, - Instance: "host/system/vmotion", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/vsanperfsvc", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/dhclientrelease", - }, - { - CounterId: 494, - Instance: "host/system/vmotion", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/osfsd", - }, - { - CounterId: 482, - Instance: "host/system/kernel/tmp", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/vsanperfsvc", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/hostd-probe/stats/probe", - }, - { - CounterId: 500, - Instance: "host/vim", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/vsanperfsvc", - }, - { - CounterId: 476, - Instance: "host/iofilters/iofiltervpd", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/vsanperfsvc", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/hostd-probe/stats/sh", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/vsanperfsvc", - }, - { - CounterId: 482, - Instance: "host/system/vmotion", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/vsanperfsvc", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/hostd-probe/stats/vmkbacktrace", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/plugins", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/sfcb_aux", - }, - { - CounterId: 479, - Instance: "host/system/kernel/opt", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/vsanperfsvc", - }, - { - CounterId: 500, - Instance: "host/system/ft", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/memScrubber", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/hostd-probe/stats/pgrep", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/sioc", - }, - { - CounterId: 500, - Instance: "host/vim/vimuser", - }, - { - CounterId: 480, - Instance: "host/vim/vimuser", - }, - { - CounterId: 483, - Instance: "host/vim/vimuser", - }, - { - CounterId: 484, - Instance: "host/vim/vimuser", - }, - { - CounterId: 485, - Instance: "host/vim/vimuser", - }, - { - CounterId: 476, - Instance: "host/vim/vimuser/terminal", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/hostd-probe/stats/logger", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/memScrubber", - }, - { - CounterId: 493, - Instance: "host/vim", - }, - { - CounterId: 483, - Instance: "host/vim/vimuser/terminal", - }, - { - CounterId: 484, - Instance: "host/vim/vimuser/terminal", - }, - { - CounterId: 499, - Instance: "host/vim/vimuser/terminal", - }, - { - CounterId: 500, - Instance: "host/vim/vimuser/terminal/shell", - }, - { - CounterId: 499, - Instance: "host/vim", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/hbrca", - }, - { - CounterId: 479, - Instance: "host/vim", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/logging", - }, - { - CounterId: 476, - Instance: "host/vim/vimuser/terminal/shell", - }, - { - CounterId: 485, - Instance: "host/iofilters", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/vobd", - }, - { - CounterId: 479, - Instance: "host/vim/vimuser/terminal/shell", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/rabbitmqproxy", - }, - { - CounterId: 476, - Instance: "host/system/kernel/tmp", - }, - { - CounterId: 481, - Instance: "host/vim/vimuser/terminal/shell", - }, - { - CounterId: 483, - Instance: "host/vim/vimuser/terminal/shell", - }, - { - CounterId: 485, - Instance: "host/vim/vimuser/terminal/ssh", - }, - { - CounterId: 494, - Instance: "host/vim", - }, - { - CounterId: 496, - Instance: "host/vim", - }, - { - CounterId: 497, - Instance: "host/vim", - }, - { - CounterId: 481, - Instance: "host/vim/vimuser", - }, - { - CounterId: 483, - Instance: "host/system/kernel/iofilters", - }, - { - CounterId: 479, - Instance: "host/vim/vmci", - }, - { - CounterId: 480, - Instance: "host/vim/vmci", - }, - { - CounterId: 499, - Instance: "host/vim/vimuser/terminal/shell", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/vmkeventd", - }, - { - CounterId: 482, - Instance: "host/vim/vmci", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/boot", - }, - { - CounterId: 483, - Instance: "host/vim/vmci", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/dhclient", - }, - { - CounterId: 500, - Instance: "host/vim/vimuser/terminal/ssh", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/ntpd", - }, - { - CounterId: 479, - Instance: "host/vim/vimuser/terminal/ssh", - }, - { - CounterId: 484, - Instance: "host/vim/vmci", - }, - { - CounterId: 482, - Instance: "host/vim/vimuser/terminal/ssh", - }, - { - CounterId: 485, - Instance: "host/vim/vmci", - }, - { - CounterId: 499, - Instance: "host/vim/vmci", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/init", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/aam", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/smartd", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/aam", - }, - { - CounterId: 476, - Instance: "host/system/kernel/root", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/hostd-probe/stats/ls", - }, - { - CounterId: 500, - Instance: "host/vim/tmp", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/aam", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/init", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/aam", - }, - { - CounterId: 499, - Instance: "host/user", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/aam", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/rabbitmqproxy", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/aam", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/netcpa", - }, - { - CounterId: 476, - Instance: "host/vim/tmp", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/nfcd", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/boot", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/hostd-probe/stats/probe", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/boot", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/upitd", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/boot", - }, - { - CounterId: 479, - Instance: "host/vim/vimuser/terminal", - }, - { - CounterId: 479, - Instance: "host/vim/tmp", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/boot", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/vmkiscsid", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/hostd-probe/stats/logger", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/boot", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/boot", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/dcui", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/smartd", - }, - { - CounterId: 476, - Instance: "host", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/dcui", - }, - { - CounterId: 480, - Instance: "host/vim/tmp", - }, - { - CounterId: 476, - Instance: "host/system/svmotion", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/hostd-probe/stats/pgrep", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/dcui", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/dcui", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/hostd-probe/stats/probe", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/dcui", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/hostd-probe/stats/vmkbacktrace", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/dcui", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/hbrca", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/dhclient", - }, - { - CounterId: 483, - Instance: "host", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/dhclient", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/osfsd", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/dhclient", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/sioc", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/dhclient", - }, - { - CounterId: 490, - Instance: "host/system/vmotion", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/dhclient", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/dhclient", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/hostd-probe/stats/pgrep", - }, - { - CounterId: 481, - Instance: "host/vim/tmp", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/vmkiscsid", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/dhclientrelease", - }, - { - CounterId: 483, - Instance: "host/vim/tmp", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/dhclientrelease", - }, - { - CounterId: 485, - Instance: "host/vim/tmp", - }, - { - CounterId: 483, - Instance: "host/iofilters/spm", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/dhclientrelease", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/dhclientrelease", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/hbrca", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/sioc", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/hbrca", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/hostd-probe/stats/pgrep", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/boot", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/plugins", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/hbrca", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/ntpd", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/hbrca", - }, - { - CounterId: 480, - Instance: "host/system/kernel/etc", - }, - { - CounterId: 484, - Instance: "host/iofilters/spm", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/hbrca", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/vmkdevmgr", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/hostd", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/hostd", - }, - { - CounterId: 500, - Instance: "host/iofilters", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/dhclientrelease", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/hostd", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/hostd", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/hostd-probe", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/init", - }, - { - CounterId: 479, - Instance: "host/system/helper", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/hostd-probe", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/hostd-probe/stats", - }, - { - CounterId: 500, - Instance: "host/system", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/hostd-probe/stats", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/hostd-probe/stats", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/init", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/netcpa", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/hostd-probe/stats", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/vmfstraced", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/hostd-probe/stats", - }, - { - CounterId: 479, - Instance: "host/iofilters", - }, - { - CounterId: 480, - Instance: "host/iofilters", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/net-daemons", - }, - { - CounterId: 482, - Instance: "host/iofilters", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/nfsgssd", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/hostd-probe/stats", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/hostd-probe/stats/awk", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/hostd-probe/stats/awk", - }, - { - CounterId: 484, - Instance: "host/iofilters", - }, - { - CounterId: 476, - Instance: "host/system/helper", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/hostd-probe/stats/awk", - }, - { - CounterId: 499, - Instance: "host/system/drivers", - }, - { - CounterId: 500, - Instance: "host/iofilters/iofiltervpd", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/hostd-probe/stats/awk", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/hostd-probe/stats/ls", - }, - { - CounterId: 482, - Instance: "host/system", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/hostd-probe/stats/awk", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/hostd-probe/stats/awk", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/nscd", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/osfsd", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/sfcb", - }, - { - CounterId: 484, - Instance: "host/vim/vimuser/terminal/ssh", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/hostd-probe/stats/head", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/sioc", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/dhclient", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/hostd-probe/stats/head", - }, - { - CounterId: 484, - Instance: "host/iofilters/iofiltervpd", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/hostd-probe/stats/head", - }, - { - CounterId: 479, - Instance: "host/iofilters/iofiltervpd", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/hostd-probe/stats/head", - }, - { - CounterId: 483, - Instance: "host/system/kernel/tmp", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/hostd-probe/stats/head", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/hostd-probe/stats/logger", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/vpxa", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/lacpd", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/hostd-probe/stats/logger", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/likewise", - }, - { - CounterId: 480, - Instance: "host/iofilters/iofiltervpd", - }, - { - CounterId: 481, - Instance: "host/iofilters/iofiltervpd", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/hostd-probe/stats/logger", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/usbArbitrator", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/hostd-probe/stats/logger", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/hostd-probe/stats/ls", - }, - { - CounterId: 482, - Instance: "host/system/ft", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/net-daemons", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/hostd-probe/stats/ls", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor", - }, - { - CounterId: 482, - Instance: "host/iofilters/iofiltervpd", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/hostd-probe/stats/ls", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/hostd-probe/stats/ls", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/usbArbitrator", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/hostd-probe/stats/ls", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/hostd-probe/stats/ls", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/hostd-probe/stats/ls", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/hostd-probe/stats/pgrep", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/pcscd", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/hostd-probe/stats/pgrep", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/sioc", - }, - { - CounterId: 483, - Instance: "host/iofilters/iofiltervpd", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/hostd-probe/stats/probe", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/hostd-probe/stats/probe", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/hostd-probe/stats/probe", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/hostd-probe/stats/sh", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/hostd-probe/stats/probe", - }, - { - CounterId: 500, - Instance: "host/system/kernel/etc", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/hostd-probe/stats/probe", - }, - { - CounterId: 485, - Instance: "host/iofilters/iofiltervpd", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/hostd-probe/stats/probe", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/hostd-probe/stats/sh", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/hostd-probe/stats/sh", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/netcpa", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/vvoltraced", - }, - { - CounterId: 481, - Instance: "host/system/kernel", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/hostd-probe/stats/sh", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/sioc", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/hostd-probe/stats/sh", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/hostd-probe/stats/vmkbacktrace", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/hostd-probe/stats/vmkbacktrace", - }, - { - CounterId: 482, - Instance: "host/vim/tmp", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/hostd-probe/stats/vmkbacktrace", - }, - { - CounterId: 483, - Instance: "host/vim/vimuser/terminal/ssh", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/vmfstraced", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/hostd-probe/stats/vmkbacktrace", - }, - { - CounterId: 499, - Instance: "host/iofilters/iofiltervpd", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/nfsgssd", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/hostd-probe/stats/vsish", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/hostd-probe/stats/vsish", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/hostd-probe/stats/vsish", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/hostd-probe/stats/vsish", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/hostdCgiServer", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/hostdCgiServer", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/init", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/hbrca", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/init", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/vmkdevmgr", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/vmfstraced", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/sioc", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/lacpd", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/lacpd", - }, - { - CounterId: 480, - Instance: "host/iofilters/vmwarevmcrypt", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/lacpd", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/nscd", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/lacpd", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/uwdaemons", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/lacpd", - }, - { - CounterId: 500, - Instance: "host/system/drivers", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/lacpd", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/lbt", - }, - { - CounterId: 499, - Instance: "host/system/kernel/opt", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/lbt", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/lbt", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/lbt", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/vmkiscsid", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/lbt", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/nscd", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/upitd", - }, - { - CounterId: 481, - Instance: "host/iofilters/vmwarevmcrypt", - }, - { - CounterId: 479, - Instance: "host/system/kernel/etc", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/sfcb_aux", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/lbt", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/likewise", - }, - { - CounterId: 482, - Instance: "host/iofilters/vmwarevmcrypt", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/aam", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/hostd-probe/stats/vsish", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/likewise", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/likewise", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/likewise", - }, - { - CounterId: 484, - Instance: "host/iofilters/vmwarevmcrypt", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/memScrubber", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/likewise", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/snmpd", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/osfsd", - }, - { - CounterId: 482, - Instance: "host/system/kernel/iofilters", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/hostd-probe/stats", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/logging", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/logging", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/logging", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/logging", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/logging", - }, - { - CounterId: 484, - Instance: "host/system/kernel/iofilters", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/memScrubber", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/hostd-probe", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/memScrubber", - }, - { - CounterId: 480, - Instance: "host/system/kernel/root", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/net-daemons", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/net-daemons", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/net-daemons", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/net-daemons", - }, - { - CounterId: 485, - Instance: "host/iofilters/vmwarevmcrypt", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/netcpa", - }, - { - CounterId: 484, - Instance: "host/vim/vimuser/terminal/shell", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/netcpa", - }, - { - CounterId: 479, - Instance: "host/system/ft", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/sfcb", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/osfsd", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/netcpa", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/netcpa", - }, - { - CounterId: 499, - Instance: "host/iofilters/vmwarevmcrypt", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/sensord", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/swapobjd", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/nfcd", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/hostd-probe/stats/sh", - }, - { - CounterId: 479, - Instance: "host", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/nfcd", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/vvoltraced", - }, - { - CounterId: 476, - Instance: "host/system/kernel/etc", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/nfcd", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/vmkdevmgr", - }, - { - CounterId: 500, - Instance: "host/iofilters/spm", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/nfcd", - }, - { - CounterId: 476, - Instance: "host/iofilters/spm", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/nfcd", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/dcui", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/nfcd", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/nfsgssd", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/nfsgssd", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/nfsgssd", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/nfsgssd", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/upittraced", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/nfsgssd", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/nfsgssd", - }, - { - CounterId: 480, - Instance: "host/iofilters/spm", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/nfsgssd", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/nscd", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/hostd-probe", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/rabbitmqproxy", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/sioc", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/nscd", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/nscd", - }, - { - CounterId: 499, - Instance: "host/iofilters/spm", - }, - { - CounterId: 500, - Instance: "host/system/kernel/iofilters", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/nscd", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/sioc", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/nscd", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/net-daemons", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/ntpd", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/ntpd", - }, - { - CounterId: 476, - Instance: "host/user", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/ntpd", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/ntpd", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/ntpd", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/boot", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/ntpd", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/memScrubber", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/osfsd", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/sensord", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/pcscd", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/pcscd", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/vvold", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/sensord", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/sfcb", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/pcscd", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/pcscd", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/vmkeventd", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/pcscd", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/plugins", - }, - { - CounterId: 481, - Instance: "host/user", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/plugins", - }, - { - CounterId: 480, - Instance: "host/system", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/plugins", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/nfcd", - }, - { - CounterId: 484, - Instance: "host/vim/vmvisor/plugins", - }, - { - CounterId: 482, - Instance: "host/user", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/rabbitmqproxy", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/sensord", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/sensord", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/sensord", - }, - { - CounterId: 500, - Instance: "host/vim/vmvisor/sfcb", - }, - { - CounterId: 484, - Instance: "host/user", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/sfcb", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/sfcb", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/vvoltraced", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/swapobjd", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/sfcb", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/osfsd", - }, - { - CounterId: 485, - Instance: "host/user", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/sfcb_aux", - }, - { - CounterId: 480, - Instance: "host/vim/vmvisor/sfcb_aux", - }, - { - CounterId: 476, - Instance: "host/vim/vmvisor/hostd-probe/stats/logger", - }, - { - CounterId: 481, - Instance: "host/vim/vmvisor/sfcb_aux", - }, - { - CounterId: 499, - Instance: "host/vim/vimuser", - }, - { - CounterId: 482, - Instance: "host/vim/vmvisor/sfcb_aux", - }, - { - CounterId: 479, - Instance: "host/vim/vmvisor/rabbitmqproxy", - }, - { - CounterId: 483, - Instance: "host/vim/vmvisor/sfcb_aux", - }, - { - CounterId: 485, - Instance: "host/vim/vmvisor/sfcb_aux", - }, - { - CounterId: 499, - Instance: "host/vim/vmvisor/vmfstraced", - }, - { - CounterId: 541, - Instance: "vfc", - }, -} - -// ************************************** Cluster Metrics ************************************** -var ClusterMetrics = []types.PerfMetricId{ - { - CounterId: 22, - Instance: "", - }, - { - CounterId: 2, - Instance: "", - }, - { - CounterId: 9, - Instance: "", - }, - { - CounterId: 7, - Instance: "", - }, - { - CounterId: 8, - Instance: "", - }, - { - CounterId: 3, - Instance: "", - }, - { - CounterId: 4, - Instance: "", - }, - { - CounterId: 15, - Instance: "", - }, - { - CounterId: 17, - Instance: "", - }, - { - CounterId: 18, - Instance: "", - }, - { - CounterId: 19, - Instance: "", - }, - { - CounterId: 20, - Instance: "", - }, - { - CounterId: 21, - Instance: "", - }, - { - CounterId: 6, - Instance: "", - }, - { - CounterId: 139, - Instance: "", - }, - { - CounterId: 138, - Instance: "", - }, - { - CounterId: 107, - Instance: "", - }, - { - CounterId: 29, - Instance: "", - }, - { - CounterId: 33, - Instance: "", - }, - { - CounterId: 37, - Instance: "", - }, - { - CounterId: 41, - Instance: "", - }, - { - CounterId: 49, - Instance: "", - }, - { - CounterId: 90, - Instance: "", - }, - { - CounterId: 105, - Instance: "", - }, - { - CounterId: 106, - Instance: "", - }, - { - CounterId: 27, - Instance: "", - }, - { - CounterId: 108, - Instance: "", - }, - { - CounterId: 110, - Instance: "", - }, - { - CounterId: 111, - Instance: "", - }, - { - CounterId: 109, - Instance: "", - }, - { - CounterId: 112, - Instance: "", - }, - { - CounterId: 25, - Instance: "", - }, - { - CounterId: 103, - Instance: "", - }, - { - CounterId: 99, - Instance: "", - }, - { - CounterId: 30, - Instance: "", - }, - { - CounterId: 34, - Instance: "", - }, - { - CounterId: 38, - Instance: "", - }, - { - CounterId: 42, - Instance: "", - }, - { - CounterId: 50, - Instance: "", - }, - { - CounterId: 98, - Instance: "", - }, - { - CounterId: 26, - Instance: "", - }, - { - CounterId: 104, - Instance: "", - }, - { - CounterId: 100, - Instance: "", - }, - { - CounterId: 31, - Instance: "", - }, - { - CounterId: 102, - Instance: "", - }, - { - CounterId: 39, - Instance: "", - }, - { - CounterId: 43, - Instance: "", - }, - { - CounterId: 51, - Instance: "", - }, - { - CounterId: 92, - Instance: "", - }, - { - CounterId: 24, - Instance: "", - }, - { - CounterId: 35, - Instance: "", - }, - { - CounterId: 91, - Instance: "", - }, - { - CounterId: 153, - Instance: "", - }, - { - CounterId: 152, - Instance: "", - }, - { - CounterId: 151, - Instance: "", - }, - { - CounterId: 150, - Instance: "", - }, - { - CounterId: 157, - Instance: "", - }, - { - CounterId: 158, - Instance: "", - }, - { - CounterId: 159, - Instance: "", - }, - { - CounterId: 262, - Instance: "", - }, - { - CounterId: 257, - Instance: "", - }, - { - CounterId: 258, - Instance: "", - }, - { - CounterId: 259, - Instance: "", - }, - { - CounterId: 260, - Instance: "", - }, - { - CounterId: 261, - Instance: "", - }, - { - CounterId: 256, - Instance: "", - }, - { - CounterId: 263, - Instance: "", - }, - { - CounterId: 264, - Instance: "", - }, - { - CounterId: 265, - Instance: "", - }, - { - CounterId: 266, - Instance: "", - }, - { - CounterId: 267, - Instance: "", - }, - { - CounterId: 268, - Instance: "", - }, - { - CounterId: 269, - Instance: "", - }, - { - CounterId: 270, - Instance: "", - }, - { - CounterId: 271, - Instance: "", - }, - { - CounterId: 272, - Instance: "", - }, - { - CounterId: 273, - Instance: "", - }, - { - CounterId: 274, - Instance: "", - }, - { - CounterId: 275, - Instance: "", - }, -} - -// *************************************** Datastore metrics **************************************** -var DatastoreMetrics = []types.PerfMetricId{ - { - CounterId: 178, - Instance: "", - }, - { - CounterId: 188, - Instance: "", - }, - { - CounterId: 187, - Instance: "", - }, - { - CounterId: 181, - Instance: "", - }, - { - CounterId: 180, - Instance: "", - }, - { - CounterId: 179, - Instance: "", - }, - { - CounterId: 281, - Instance: "", - }, - { - CounterId: 281, - Instance: "$file", - }, - - { - CounterId: 282, - Instance: "", - }, - { - CounterId: 282, - Instance: "$file", - }, - { - CounterId: 283, - Instance: "", - }, - { - CounterId: 284, - Instance: "", - }, - { - CounterId: 284, - Instance: "$file", - }, - - { - CounterId: 288, - Instance: "", - }, - { - CounterId: 286, - Instance: "", - }, - { - CounterId: 287, - Instance: "", - }, - { - CounterId: 287, - Instance: "$file", - }, -} - -// ********************************************* Resource pool metrics *********************************** -var ResourcePoolMetrics = []types.PerfMetricId{ - { - CounterId: 6, - Instance: "", - }, - { - CounterId: 213, - Instance: "", - }, - { - CounterId: 7, - Instance: "", - }, - { - CounterId: 8, - Instance: "", - }, - { - CounterId: 16, - Instance: "", - }, - { - CounterId: 17, - Instance: "", - }, - { - CounterId: 18, - Instance: "", - }, - { - CounterId: 19, - Instance: "", - }, - { - CounterId: 20, - Instance: "", - }, - { - CounterId: 22, - Instance: "", - }, - { - CounterId: 138, - Instance: "", - }, - { - CounterId: 139, - Instance: "", - }, - { - CounterId: 112, - Instance: "", - }, - { - CounterId: 102, - Instance: "", - }, - { - CounterId: 98, - Instance: "", - }, - { - CounterId: 29, - Instance: "", - }, - { - CounterId: 33, - Instance: "", - }, - { - CounterId: 37, - Instance: "", - }, - { - CounterId: 41, - Instance: "", - }, - { - CounterId: 70, - Instance: "", - }, - { - CounterId: 90, - Instance: "", - }, - { - CounterId: 108, - Instance: "", - }, - { - CounterId: 109, - Instance: "", - }, - { - CounterId: 111, - Instance: "", - }, - { - CounterId: 214, - Instance: "", - }, - { - CounterId: 105, - Instance: "", - }, - { - CounterId: 106, - Instance: "", - }, - { - CounterId: 107, - Instance: "", - }, - { - CounterId: 103, - Instance: "", - }, - { - CounterId: 99, - Instance: "", - }, - { - CounterId: 30, - Instance: "", - }, - { - CounterId: 34, - Instance: "", - }, - { - CounterId: 38, - Instance: "", - }, - { - CounterId: 42, - Instance: "", - }, - { - CounterId: 71, - Instance: "", - }, - { - CounterId: 92, - Instance: "", - }, - { - CounterId: 104, - Instance: "", - }, - { - CounterId: 100, - Instance: "", - }, - { - CounterId: 31, - Instance: "", - }, - { - CounterId: 35, - Instance: "", - }, - { - CounterId: 39, - Instance: "", - }, - { - CounterId: 43, - Instance: "", - }, - { - CounterId: 72, - Instance: "", - }, - { - CounterId: 91, - Instance: "", - }, - { - CounterId: 152, - Instance: "", - }, - { - CounterId: 153, - Instance: "", - }, - { - CounterId: 157, - Instance: "", - }, - { - CounterId: 159, - Instance: "", - }, -} - -// ********************************************* Datacenter metrics *********************************** -var DatacenterMetrics = []types.PerfMetricId{ - { - CounterId: 256, - Instance: "", - }, - { - CounterId: 257, - Instance: "", - }, - { - CounterId: 258, - Instance: "", - }, - { - CounterId: 259, - Instance: "", - }, - { - CounterId: 260, - Instance: "", - }, - { - CounterId: 261, - Instance: "", - }, - { - CounterId: 262, - Instance: "", - }, - { - CounterId: 263, - Instance: "", - }, - { - CounterId: 264, - Instance: "", - }, - { - CounterId: 265, - Instance: "", - }, - { - CounterId: 266, - Instance: "", - }, - { - CounterId: 267, - Instance: "", - }, - { - CounterId: 268, - Instance: "", - }, - { - CounterId: 269, - Instance: "", - }, - { - CounterId: 270, - Instance: "", - }, - { - CounterId: 271, - Instance: "", - }, - { - CounterId: 272, - Instance: "", - }, - { - CounterId: 273, - Instance: "", - }, - { - CounterId: 274, - Instance: "", - }, - { - CounterId: 275, - Instance: "", - }, -} diff --git a/vendor/github.com/vmware/govmomi/simulator/vpx/performance_manager_data.go b/vendor/github.com/vmware/govmomi/simulator/vpx/performance_manager_data.go deleted file mode 100644 index 3c42c5350e2..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/vpx/performance_manager_data.go +++ /dev/null @@ -1,1877 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ -package vpx - -var MetricData = map[string]map[int32][]int64{ - "VirtualMachine": VmMetricData, - "HostSystem": HostMetricData, - "ResourcePool": ResourcePoolMetricData, - "ClusterComputeResource": ClusterMetricData, - "Datastore": DatastoreMetricData, - "Datacenter": DatacenterMetricData, -} - -var VmMetricData = map[int32][]int64{ - 130: []int64{42, 57, 9, 13, 14, 25, 8, 16, 6, 13, 67, 34, 292, 89, 27, 75, 98, 59, 49, 85, 127, 116, 179, 196, 161, 170, 174, 35, 26, 20, - 25, 42, 10, 45, 24, 64, 9, 21, 6, 18, 19, 9, 16, 18, 5, 124, 97, 25, 18, 20, 28, 28, 22, 11, 12, 139, 155, 149, 179, 173, - 135, 73, 73, 67, 49, 37, 12, 28, 18, 36, 59, 18, 21, 17, 27, 137, 140, 118, 137, 265, 246, 250, 114, 43, 26, 17, 7, 36, 89, 15, - 45, 47, 49, 13, 47, 34, 52, 16, 7, 25}, - 155: []int64{2948499, 2948519, 2948539, 2948559, 2948579, 2948599, 2948619, 2948639, 2948659, 2948679, 2948699, 2948719, 2948739, 2948759, 2948779, 2948799, 2948819, 2948839, 2948859, 2948879, 2948899, 2948919, 2948939, 2948959, 2948979, 2948999, 2949019, 2949039, 2949059, 2949079, - 2949099, 2949119, 2949139, 2949159, 2949179, 2949199, 2949219, 2949239, 2949259, 2949279, 2949299, 2949319, 2949339, 2949359, 2949379, 2949399, 2949419, 2949439, 2949459, 2949479, 2949499, 2949519, 2949539, 2949559, 2949579, 2949599, 2949619, 2949639, 2949659, 2949679, - 2949699, 2949719, 2949739, 2949759, 2949779, 2949799, 2949819, 2949839, 2949859, 2949879, 2949899, 2949919, 2949939, 2949959, 2949979, 2949999, 2950019, 2950039, 2950059, 2950079, 2950099, 2950119, 2950139, 2950159, 2950179, 2950199, 2950219, 2950239, 2950259, 2950279, - 2950299, 2950319, 2950339, 2950359, 2950379, 2950399, 2950419, 2950439, 2950459, 2950479}, - 173: []int64{0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 180, 12, 4, 1, 12, 8, 0, 6, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, - 0, 0, 0, 1, 0, 17, 1, 1, 0, 2, 0, 0, 0, 2, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 15, 0, 0, 6, 0, - 3, 0, 0, 6, 6, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 7, 4, 6, 5, 86, 63, 80, 2, 0, 2, 0, 0, 0, 17, 0, - 0, 1, 0, 0, 4, 1, 0, 0, 1, 0}, - 399: []int64{4, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 0, 2, 12, 0, 0, 0, 0, 0, 0, 0, 2, 0, - 0, 2, 0, 0, 0, 0, 0, 1, 0, 3}, - 504: []int64{2000, 2200, 2200, 2200, 2200, 1700, 1700, 1700, 1700, 1700, 2300, 2300, 2300, 2300, 2300, 2200, 2200, 2200, 2200, 2200, 2200, 2200, 2200, 2200, 2200, 2000, 2000, 2000, 2000, 2000, - 1900, 1900, 1900, 1700, 1700, 1700, 1700, 1500, 1500, 1500, 1600, 1600, 1600, 1600, 1600, 2100, 4700, 4700, 4700, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, - 2000, 1600, 1600, 1600, 1600, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1900, 2600, 3900, 3900, 4200, 4300, 5100, 5500, 5500, 5500, 5500, 5500, 5500, 5500, 5500, 5500, - 5200, 5200, 5200, 5200, 4300, 3700, 2300, 2200, 2300, 2300}, - 174: []int64{368, 141, 143, 106, 119, 157, 88, 127, 137, 106, 211, 225, 202, 226, 234, 920, 268, 181, 204, 241, 219, 168, 221, 234, 184, 185, 236, 195, 168, 222, - 185, 189, 134, 130, 160, 122, 84, 113, 153, 95, 110, 141, 91, 108, 130, 3372, 1942, 151, 102, 158, 162, 100, 143, 122, 109, 211, 229, 173, 187, 237, - 200, 205, 241, 184, 204, 217, 182, 195, 219, 213, 211, 214, 189, 182, 245, 2671, 612, 1055, 595, 644, 747, 611, 336, 244, 118, 113, 128, 93, 94, 130, - 359, 131, 151, 94, 137, 149, 106, 109, 127, 124}, - 70: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - 473: []int64{30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, - 30, 30, 27, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, - 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, - 30, 30, 30, 30, 30, 30, 30, 30, 30, 30}, - 133: []int64{0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, - 0, 28, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, - 1, 0, 0, 1, 1, 1, 1, 1, 1, 0}, - 348: []int64{1100, 1200, 1200, 1000, 1200, 1200, 1300, 900, 900, 900, 1800, 1800, 1900, 1200, 1200, 1200, 1200, 1300, 1200, 1400, 1500, 1400, 1200, 1000, 1100, 1200, 1200, 1000, 900, 800, - 900, 1000, 1000, 1100, 1300, 1400, 1300, 900, 900, 900, 1100, 1100, 1000, 800, 900, 2500, 4000, 4300, 2600, 1400, 1300, 1300, 1000, 800, 900, 1100, 1100, 1000, 900, 900, - 1000, 900, 1100, 1000, 1300, 1300, 1300, 1000, 900, 900, 1200, 1200, 1100, 800, 1000, 2200, 3200, 4400, 4100, 4500, 4900, 5000, 4200, 2600, 1500, 1100, 1200, 1100, 900, 800, - 1000, 1200, 1200, 1000, 1200, 1400, 1400, 1100, 1000, 1100}, - 422: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - 146: []int64{1914, 1692, 2171, 2999, 2254, 2014, 1687, 1823, 2251, 3286, 1916, 1903, 4747, 1782, 2203, 2301, 1853, 4708, 5656, 2070, 5121, 1839, 1987, 4985, 3396, 1857, 2212, 1822, 1689, 1917, - 1831, 1862, 2163, 3297, 1996, 2070, 1871, 1868, 2199, 3065, 1718, 2055, 1825, 1692, 2169, 2685, 1867, 1917, 3203, 2016, 2132, 1713, 1881, 1989, 3266, 1886, 2182, 1748, 1819, 2060, - 1752, 1931, 2123, 2909, 2026, 2015, 1681, 1792, 2184, 3277, 1639, 2075, 1690, 1740, 5110, 7545, 7854, 9835, 10912, 10197, 10426, 12296, 3728, 2135, 3253, 1784, 5195, 1824, 1578, 1959, - 1772, 1917, 2176, 3091, 2022, 4991, 1829, 4629, 5412, 3269}, - 463: []int64{277, 274, 338, 383, 297, 274, 275, 274, 339, 541, 288, 259, 752, 276, 338, 276, 274, 729, 838, 292, 838, 275, 275, 748, 542, 274, 338, 274, 274, 277, - 277, 275, 337, 392, 291, 276, 274, 274, 337, 541, 274, 278, 274, 276, 338, 279, 274, 274, 390, 293, 338, 274, 275, 276, 543, 274, 339, 274, 277, 274, - 275, 275, 337, 391, 289, 277, 275, 275, 339, 541, 274, 274, 274, 275, 810, 520, 535, 592, 668, 562, 605, 575, 329, 276, 542, 274, 828, 274, 274, 276, - 276, 278, 339, 390, 289, 753, 277, 747, 812, 541}, - 472: []int64{281, 281, 347, 392, 304, 280, 282, 280, 347, 555, 295, 265, 770, 282, 347, 283, 280, 749, 861, 299, 861, 282, 281, 767, 556, 280, 347, 280, 280, 283, - 283, 282, 345, 401, 298, 282, 280, 281, 346, 556, 280, 284, 280, 282, 347, 285, 280, 281, 399, 300, 347, 280, 282, 282, 557, 280, 347, 280, 283, 281, - 281, 281, 346, 401, 295, 283, 281, 281, 347, 555, 280, 281, 280, 281, 832, 530, 546, 603, 681, 572, 617, 585, 336, 283, 556, 280, 850, 280, 280, 282, - 281, 284, 347, 400, 296, 772, 283, 767, 834, 555}, - 147: []int64{842, 813, 1012, 1671, 1013, 717, 821, 706, 1005, 1804, 868, 782, 2000, 755, 986, 947, 691, 1958, 2756, 967, 2241, 708, 755, 1939, 1716, 706, 1047, 715, 711, 825, - 838, 722, 904, 1800, 882, 800, 661, 805, 1098, 1685, 676, 913, 774, 738, 960, 1241, 755, 804, 1738, 985, 983, 729, 703, 745, 1630, 721, 1148, 769, 825, 807, - 741, 793, 1035, 1636, 1005, 809, 720, 756, 1076, 1737, 677, 824, 663, 714, 2056, 5216, 5689, 7065, 7549, 7205, 7517, 8701, 2154, 855, 1724, 772, 2254, 749, 705, 754, - 758, 878, 1049, 1683, 896, 2047, 729, 1907, 2105, 1704}, - 2: []int64{776, 604, 442, 846, 463, 524, 454, 410, 439, 607, 1540, 404, 759, 477, 484, 646, 683, 537, 1027, 473, 746, 429, 538, 527, 632, 603, 449, 441, 386, 405, - 492, 579, 430, 928, 648, 550, 447, 408, 444, 540, 666, 390, 427, 417, 435, 3590, 2309, 394, 751, 571, 621, 398, 413, 392, 567, 652, 437, 402, 509, 403, - 534, 604, 440, 825, 471, 569, 435, 430, 442, 563, 770, 400, 444, 418, 563, 2381, 1941, 1925, 2335, 2025, 2530, 2252, 868, 443, 594, 571, 602, 417, 388, 411, - 727, 600, 471, 825, 546, 713, 431, 522, 587, 544}, - 148: []int64{218, 203, 246, 299, 225, 245, 202, 203, 246, 416, 205, 243, 220, 203, 246, 337, 203, 256, 315, 219, 264, 203, 203, 259, 416, 203, 246, 203, 202, 245, - 203, 203, 245, 308, 215, 245, 203, 203, 246, 415, 203, 245, 203, 203, 245, 427, 203, 244, 308, 216, 245, 202, 203, 245, 416, 203, 246, 202, 203, 245, - 203, 203, 245, 306, 217, 245, 202, 203, 246, 416, 202, 245, 202, 203, 259, 510, 462, 659, 772, 808, 928, 1177, 384, 260, 416, 203, 260, 203, 202, 245, - 218, 203, 245, 306, 217, 259, 203, 216, 260, 416}, - 402: []int64{3278, 2525, 1849, 3540, 1919, 2330, 1902, 1734, 1847, 2544, 6355, 1703, 3167, 1986, 2096, 2826, 2870, 2240, 4305, 2010, 3145, 1824, 2268, 2234, 2706, 2527, 1901, 1834, 1653, 1723, - 2097, 2407, 1811, 3960, 2643, 2540, 1859, 1735, 1892, 2288, 2747, 1635, 1845, 1759, 1798, 14863, 9491, 1680, 3272, 2287, 2612, 1686, 1750, 1643, 2387, 2719, 1845, 1689, 2202, 1687, - 2255, 2533, 1818, 3440, 1994, 2365, 1850, 1806, 1843, 2352, 3217, 1682, 1859, 1788, 2376, 10120, 8065, 7951, 9802, 8339, 10497, 9331, 3611, 1890, 2510, 2444, 2522, 1734, 1667, 1707, - 3036, 2513, 1987, 3455, 2276, 2964, 1814, 2178, 2413, 2269}, - 503: []int64{1200, 1200, 1200, 1200, 1200, 1100, 1100, 1100, 1100, 1100, 1200, 1200, 1200, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1400, 1400, 1200, 1200, 1200, 1200, 1200, - 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1000, 1100, 1400, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, - 1400, 1100, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1100, 1100, 1100, 1000, 1100, 1300, 1500, 1700, 1900, 2100, 2500, 2700, 2800, 2800, 2800, 2800, 2800, 2800, 2800, 2800, - 2600, 2400, 2100, 1900, 1700, 1400, 1200, 1100, 1100, 1100}, - 421: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - 184: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - 466: []int64{20, 20, 23, 22, 20, 20, 20, 20, 21, 20, 20, 20, 20, 20, 20, 21, 20, 21, 20, 20, 20, 21, 20, 20, 20, 20, 20, 21, 20, 20, - 20, 20, 20, 25, 20, 20, 20, 20, 20, 20, 21, 20, 20, 20, 20, 20, 21, 21, 20, 20, 20, 20, 21, 20, 20, 20, 20, 20, 21, 20, - 20, 20, 20, 24, 20, 21, 20, 20, 20, 20, 20, 21, 20, 21, 20, 20, 20, 21, 20, 20, 20, 20, 20, 23, 20, 20, 20, 20, 20, 20, - 21, 20, 20, 20, 20, 20, 21, 20, 20, 20}, - 410: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - 505: []int64{1100, 1100, 1100, 1100, 1100, 1000, 1000, 1000, 1000, 1000, 1100, 1100, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1300, 1300, 1300, 1100, 1200, 1100, 1100, 1100, - 1100, 1100, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1300, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, - 1300, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1200, 1400, 1600, 1800, 2000, 2300, 2500, 2600, 2600, 2600, 2600, 2600, 2600, 2600, 2600, - 2400, 2200, 2000, 1800, 1600, 1400, 1100, 1100, 1100, 1100}, - 149: []int64{277, 274, 338, 383, 297, 274, 275, 274, 339, 541, 288, 259, 752, 276, 338, 276, 274, 729, 838, 292, 838, 275, 275, 748, 542, 274, 338, 274, 274, 277, - 277, 275, 337, 392, 291, 276, 274, 274, 337, 541, 274, 278, 274, 276, 338, 279, 274, 274, 390, 293, 338, 274, 275, 276, 543, 274, 339, 274, 277, 274, - 275, 275, 337, 391, 289, 277, 275, 275, 339, 541, 274, 274, 274, 275, 810, 520, 535, 592, 668, 562, 605, 575, 329, 276, 542, 274, 828, 274, 274, 276, - 276, 278, 339, 390, 289, 753, 277, 747, 812, 541}, - 509: []int64{2200, 2200, 2200, 2200, 4000, 4000, 4000, 1300, 1200, 1900, 5400, 5400, 5400, 2200, 2200, 2000, 2200, 2200, 2200, 4100, 4100, 4100, 1700, 1900, 1900, 1900, 1800, 1400, 1200, 1200, - 1300, 2000, 2000, 2000, 4600, 4600, 4600, 1500, 1500, 1600, 2400, 2400, 2400, 1300, 1400, 10500, 10900, 10900, 10900, 3900, 3900, 3900, 1500, 1300, 1700, 2000, 2000, 2000, 1500, 1500, - 1500, 1500, 2500, 2500, 3700, 3700, 3700, 1600, 1400, 1700, 2400, 2400, 2400, 1500, 2200, 6600, 6600, 6600, 4700, 7400, 7400, 7400, 6800, 5100, 4800, 1900, 2300, 2300, 2300, 1400, - 2200, 2200, 2200, 2000, 3700, 3700, 3700, 3300, 2200, 2200}, - 143: []int64{496, 477, 584, 682, 522, 519, 478, 477, 585, 958, 494, 503, 972, 480, 585, 614, 477, 985, 1153, 511, 1103, 479, 479, 1007, 959, 478, 585, 477, 477, 522, - 480, 479, 583, 701, 507, 521, 477, 478, 583, 957, 477, 523, 477, 479, 584, 706, 478, 519, 698, 510, 584, 476, 479, 521, 959, 478, 585, 477, 480, 520, - 478, 479, 583, 698, 506, 522, 478, 478, 585, 957, 477, 520, 476, 478, 1070, 1030, 998, 1251, 1441, 1371, 1534, 1752, 714, 537, 958, 477, 1088, 477, 477, 521, - 495, 482, 585, 697, 507, 1012, 480, 964, 1073, 957}, - 471: []int64{198, 197, 239, 287, 218, 239, 197, 197, 240, 398, 200, 239, 213, 197, 240, 322, 198, 248, 301, 213, 250, 197, 198, 249, 398, 198, 240, 197, 197, 238, - 198, 198, 239, 301, 204, 239, 198, 198, 240, 397, 197, 239, 197, 197, 239, 421, 198, 238, 300, 205, 239, 197, 198, 239, 398, 198, 240, 197, 197, 239, - 198, 198, 239, 293, 211, 239, 197, 197, 240, 397, 197, 239, 197, 197, 250, 491, 456, 651, 758, 800, 921, 1171, 379, 254, 398, 197, 250, 197, 197, 239, - 197, 198, 239, 293, 211, 249, 197, 207, 251, 397}, - 511: []int64{1900, 2000, 1900, 1900, 1900, 1700, 1700, 1700, 1700, 1700, 2200, 2200, 2200, 2200, 2200, 2200, 2200, 2200, 2200, 2200, 2200, 2200, 2200, 2200, 2200, 1900, 1900, 1900, 1900, 1900, - 1800, 1800, 1800, 1700, 1700, 1700, 1700, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 2000, 4600, 4600, 4600, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, - 2000, 1500, 1500, 1500, 1500, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1700, 2500, 3700, 3900, 3900, 4100, 4700, 5100, 5100, 5100, 5100, 5100, 5100, 5100, 5100, 5100, - 4800, 4800, 4800, 4800, 4000, 3700, 2200, 2000, 2200, 2200}, - 467: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - 37: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - 508: []int64{1200, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, - 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1200, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1200, 1200, 1200, 1200, 1200, - 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1300, 1300, 1400, 1500, 1500, 1600, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, - 1600, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500, 1500}, - 90: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - 404: []int64{34, 25, 29, 30, 28, 26, 24, 24, 25, 31, 27, 27, 27, 26, 26, 30, 30, 29, 37, 34, 35, 27, 27, 38, 32, 22, 26, 29, 25, 27, - 31, 22, 23, 29, 24, 27, 24, 25, 29, 30, 24, 24, 27, 23, 24, 26, 26, 26, 26, 24, 27, 26, 24, 24, 26, 27, 23, 22, 23, 25, - 32, 25, 25, 31, 27, 28, 24, 22, 26, 26, 24, 25, 28, 24, 28, 64, 46, 45, 64, 67, 58, 48, 30, 26, 30, 28, 28, 29, 26, 29, - 34, 26, 28, 31, 25, 25, 25, 31, 25, 30}, - 460: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - 398: []int64{270, 288, 299, 243, 285, 298, 304, 229, 216, 228, 420, 415, 442, 276, 290, 278, 298, 307, 297, 331, 364, 338, 279, 242, 269, 289, 277, 252, 212, 203, - 212, 241, 245, 259, 320, 339, 321, 226, 215, 225, 271, 262, 253, 205, 209, 586, 942, 999, 618, 340, 311, 310, 232, 196, 212, 260, 266, 249, 221, 215, - 235, 219, 256, 236, 309, 300, 306, 232, 214, 227, 292, 283, 270, 205, 234, 525, 750, 1023, 949, 1051, 1130, 1168, 975, 599, 363, 266, 293, 269, 229, 196, - 247, 283, 294, 238, 295, 333, 341, 270, 251, 259}, - 403: []int64{54000, 57600, 59800, 48600, 57000, 59600, 60800, 45800, 43200, 45600, 84000, 83000, 88400, 55200, 58000, 55600, 59600, 61400, 59400, 66200, 72800, 67600, 55800, 48400, 53800, 57800, 55400, 50400, 42400, 40600, - 42400, 48200, 49000, 51800, 64000, 67800, 64200, 45200, 43000, 45000, 54200, 52400, 50600, 41000, 41800, 117200, 188400, 199800, 123600, 68000, 62200, 62000, 46400, 39200, 42400, 52000, 53200, 49800, 44200, 43000, - 47000, 43800, 51200, 47200, 61800, 60000, 61200, 46400, 42800, 45400, 58400, 56600, 54000, 41000, 46800, 105000, 150000, 204600, 189800, 210200, 226000, 233600, 195000, 119800, 72600, 53200, 58600, 53800, 45800, 39200, - 49400, 56600, 58800, 47600, 59000, 66600, 68200, 54000, 50200, 51800}, - 397: []int64{50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, 50, - 50, 50, 50, 50, 50, 50, 50, 50, 50, 50}, - 41: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - 94: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - 400: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - 501: []int64{2300, 2300, 2300, 2300, 4000, 4000, 4000, 1400, 1400, 2100, 5500, 5500, 5500, 2200, 2200, 2000, 2300, 2300, 2300, 4200, 4200, 4200, 1700, 2100, 2100, 2100, 1900, 1500, 1300, 1400, - 1400, 2100, 2100, 2100, 4700, 4700, 4700, 1500, 1600, 1900, 2500, 2500, 2500, 1400, 1600, 11000, 11200, 11200, 11200, 3900, 3900, 3900, 1500, 1400, 1800, 2000, 2000, 2000, 1600, 1600, - 1600, 1500, 2600, 2600, 3700, 3700, 3700, 1700, 1500, 1900, 2500, 2500, 2500, 1600, 2400, 7700, 7700, 7700, 5100, 8000, 8000, 8000, 7200, 5500, 5200, 2200, 2400, 2400, 2400, 1600, - 2300, 2300, 2300, 2100, 3700, 3700, 3700, 3400, 2400, 2400}, - 498: []int64{2856065, 2856065, 2856095, 2856125, 2856125, 2856155, 2856185, 2856185, 2856215, 2856245, 2856245, 2856275, 2856305, 2856305, 2856335, 2856365, 2856365, 2856395, 2856425, 2856425, 2856455, 2856485, 2856485, 2856515, 2856545, 2856545, 2856575, 2856605, 2856605, 2856635, - 2856665, 2856665, 2856695, 2856725, 2856725, 2856755, 2856785, 2856785, 2856815, 2856845, 2856845, 2856875, 2856905, 2856905, 2856935, 2856965, 2856965, 2856995, 2857025, 2857025, 2857055, 2857085, 2857085, 2857115, 2857145, 2857145, 2857175, 2857205, 2857205, 2857235, - 2857265, 2857265, 2857295, 2857325, 2857325, 2857355, 2857385, 2857385, 2857415, 2857445, 2857445, 2857475, 2857505, 2857505, 2857535, 2857565, 2857565, 2857595, 2857625, 2857625, 2857655, 2857685, 2857685, 2857715, 2857745, 2857745, 2857775, 2857805, 2857805, 2857835, - 2857865, 2857865, 2857895, 2857925, 2857925, 2857955, 2857985, 2857985, 2858015, 2858045}, - 506: []int64{1300, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1300, 1300, 1300, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, - 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1200, 1300, 1300, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1400, 1300, 1300, 1300, 1300, 1300, - 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1300, 1400, 1400, 1500, 1500, 1600, 1700, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, 1800, - 1700, 1600, 1600, 1600, 1600, 1600, 1600, 1600, 1700, 1700}, - 510: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - 514: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - 159: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - 86: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - 6: []int64{357, 278, 204, 390, 213, 241, 209, 189, 202, 280, 709, 186, 349, 219, 223, 297, 314, 247, 473, 218, 343, 197, 248, 242, 291, 278, 206, 203, 178, 187, - 227, 266, 198, 427, 298, 253, 206, 188, 204, 248, 306, 179, 196, 192, 200, 1654, 1064, 181, 346, 263, 286, 183, 190, 180, 261, 300, 201, 185, 234, 185, - 246, 278, 202, 380, 217, 262, 200, 198, 204, 259, 354, 184, 204, 192, 259, 1097, 894, 887, 1076, 933, 1165, 1037, 399, 204, 273, 263, 277, 192, 179, 189, - 335, 276, 217, 380, 251, 328, 198, 240, 270, 250}, - 14: []int64{3010, 2320, 1660, 3264, 1748, 1986, 1713, 1545, 1647, 2295, 6083, 1508, 2913, 1790, 1847, 2477, 2621, 2028, 3960, 1778, 2868, 1603, 2057, 1970, 2417, 2302, 1688, 1648, 1462, 1516, - 1875, 2209, 1618, 3571, 2493, 2113, 1669, 1543, 1677, 2046, 2545, 1470, 1607, 1572, 1636, 14228, 9120, 1478, 2895, 2180, 2374, 1503, 1532, 1476, 2168, 2514, 1657, 1509, 1950, 1515, - 2036, 2321, 1643, 3190, 1773, 2165, 1639, 1617, 1654, 2143, 3004, 1479, 1672, 1570, 2106, 9318, 7534, 7434, 9078, 7821, 9839, 8745, 3350, 1693, 2242, 2204, 2282, 1564, 1447, 1541, - 2802, 2299, 1776, 3180, 2082, 2728, 1623, 1965, 2218, 2059}, - 131: []int64{369, 141, 143, 106, 119, 157, 88, 127, 137, 106, 211, 225, 202, 226, 234, 920, 268, 181, 204, 241, 219, 168, 221, 234, 184, 185, 236, 195, 168, 222, - 185, 189, 134, 130, 160, 122, 84, 113, 153, 95, 110, 141, 91, 108, 130, 3373, 1951, 151, 102, 158, 162, 100, 143, 122, 109, 211, 229, 173, 187, 237, - 200, 205, 241, 184, 204, 217, 182, 195, 219, 213, 211, 214, 189, 182, 245, 2671, 615, 1057, 602, 645, 747, 611, 336, 244, 118, 113, 128, 93, 94, 130, - 359, 131, 151, 94, 137, 149, 106, 109, 127, 124}, - 401: []int64{9, 9, 7, 10, 7, 9, 7, 7, 7, 7, 13, 8, 14, 10, 9, 11, 10, 9, 14, 11, 13, 8, 11, 11, 12, 11, 10, 8, 7, 8, - 8, 8, 7, 12, 8, 9, 8, 7, 7, 8, 9, 7, 7, 8, 7, 28, 21, 8, 10, 9, 9, 7, 8, 6, 8, 12, 10, 8, 10, 10, - 10, 10, 9, 11, 9, 10, 7, 8, 8, 10, 12, 7, 8, 7, 10, 34, 35, 32, 37, 35, 44, 39, 17, 7, 9, 8, 8, 7, 8, 6, - 11, 10, 7, 11, 9, 9, 8, 8, 9, 9}, - 24: []int64{3899, 3299, 3299, 3299, 3599, 3599, 3599, 3500, 3500, 3500, 3299, 3299, 3299, 3199, 3199, 3199, 3000, 3000, 3000, 3000, 3000, 3000, 3000, 3000, 3000, 3199, 3199, 3199, 3000, 3000, - 3000, 3399, 3399, 3399, 2899, 2899, 2899, 2899, 2899, 2899, 3199, 3199, 3199, 3500, 3500, 3500, 3099, 3099, 3099, 4000, 4000, 4000, 3099, 3099, 3099, 3199, 3199, 3199, 3000, 3000, - 3000, 2899, 2899, 2899, 2899, 2899, 2899, 3199, 3199, 3199, 3000, 3000, 3000, 3199, 3199, 3199, 3699, 3699, 3699, 3099, 3099, 3099, 3199, 3199, 3199, 3399, 3399, 3399, 3099, 3099, - 3099, 3399, 3399, 3399, 3500, 3500, 3500, 3500, 3299, 3299}, - 429: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - 98: []int64{10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, - 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, - 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, - 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760}, - 106: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - 386: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - 29: []int64{10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, - 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, - 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, - 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760, 10485760}, - 507: []int64{2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2100, 2100, 2100, 2100, 2100, 2100, 2200, 2100, 2100, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, - 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2100, 2000, 2000, 2000, 2000, 2000, - 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1800, 1800, 1900, 1900, 1900, 1900, 1900, 2400, 2600, 3800, 3900, 3900, 4000, 4200, 4200, 4200, 4200, 4200, 4200, 4200, 4200, 4200, - 4100, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000}, - 33: []int64{4089444, 3460300, 3460300, 3460300, 3774872, 3774872, 3774872, 3670016, 3670016, 3670016, 3460300, 3460300, 3460300, 3355440, 3355440, 3355440, 3145728, 3145728, 3145728, 3145728, 3145728, 3145728, 3145728, 3145728, 3145728, 3355440, 3355440, 3355440, 3145728, 3145728, - 3145728, 3565156, 3565156, 3565156, 3040868, 3040868, 3040868, 3040868, 3040868, 3040868, 3355440, 3355440, 3355440, 3670016, 3670016, 3670016, 3250584, 3250584, 3250584, 4194304, 4194304, 4194304, 3250584, 3250584, 3250584, 3355440, 3355440, 3355440, 3145728, 3145728, - 3145728, 3040868, 3040868, 3040868, 3040868, 3040868, 3040868, 3355440, 3355440, 3355440, 3145728, 3145728, 3145728, 3355440, 3355440, 3355440, 3879728, 3879728, 3879728, 3250584, 3250584, 3250584, 3355440, 3355440, 3355440, 3565156, 3565156, 3565156, 3250584, 3250584, - 3250584, 3565156, 3565156, 3565156, 3670016, 3670016, 3670016, 3670016, 3460300, 3460300}, - 102: []int64{57856, 57760, 57760, 57760, 57664, 57664, 57664, 57888, 57888, 57888, 57904, 57904, 57808, 57920, 57920, 57920, 57952, 57952, 57952, 57856, 57856, 57856, 58000, 58000, 58000, 58016, 58016, 58016, 58032, 58032, - 57936, 57952, 57952, 57952, 57872, 57872, 57872, 57984, 57984, 57984, 57888, 57888, 57888, 57904, 57904, 57904, 57808, 57808, 57808, 57824, 57936, 57936, 58048, 58048, 58048, 57872, 57872, 57872, 57888, 57888, - 57888, 57904, 57904, 57904, 57936, 57936, 57936, 57840, 57840, 57840, 57760, 57760, 57760, 57872, 57872, 57776, 57696, 57696, 57696, 57808, 57808, 57808, 57712, 57824, 57824, 57744, 57744, 57744, 57760, 57760, - 57760, 57872, 57872, 57872, 57776, 58000, 58000, 58000, 57808, 57808}, - 418: []int64{84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, - 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, - 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, - 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252, 84252}, - 428: []int64{57856, 57760, 57760, 57760, 57664, 57664, 57664, 57888, 57888, 57888, 57904, 57904, 57808, 57920, 57920, 57920, 57952, 57952, 57952, 57856, 57856, 57856, 58000, 58000, 58000, 58016, 58016, 58016, 58032, 58032, - 57936, 57952, 57952, 57952, 57872, 57872, 57872, 57984, 57984, 57984, 57888, 57888, 57888, 57904, 57904, 57904, 57808, 57808, 57808, 57824, 57936, 57936, 58048, 58048, 58048, 57872, 57872, 57872, 57888, 57888, - 57888, 57904, 57904, 57904, 57936, 57936, 57936, 57840, 57840, 57840, 57760, 57760, 57760, 57872, 57872, 57776, 57696, 57696, 57696, 57808, 57808, 57808, 57712, 57824, 57824, 57744, 57744, 57744, 57760, 57760, - 57760, 57872, 57872, 57872, 57776, 58000, 58000, 58000, 57808, 57808}, - 420: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - 423: []int64{10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, - 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, - 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, - 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208, 10502208}, - 105: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - 107: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - 515: []int64{160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, 160, 160}, - 13: []int64{36563, 37352, 38027, 36325, 37964, 37547, 37994, 38163, 38047, 37327, 33506, 38166, 36687, 37878, 37787, 37009, 36970, 37616, 35525, 37828, 36681, 38041, 37565, 37560, 37119, 37335, 37939, 38025, 38231, 38159, - 37762, 32473, 38087, 35903, 37253, 37333, 38034, 38145, 37983, 37582, 37150, 38257, 38040, 38141, 38094, 24973, 30358, 38203, 36612, 37602, 37267, 38196, 38139, 38252, 37496, 37127, 38015, 38190, 37655, 38163, - 37575, 37335, 38040, 36407, 37874, 37506, 38043, 38091, 38034, 37519, 36656, 38197, 38011, 38107, 37491, 29567, 31711, 31815, 29910, 31346, 29216, 30433, 36241, 37986, 37356, 37431, 37356, 38137, 38201, 38167, - 36801, 37359, 37886, 36408, 37599, 36921, 38071, 37686, 37479, 37595}, - 502: []int64{1100, 1100, 1200, 900, 1100, 1200, 1200, 900, 800, 900, 1700, 1600, 1700, 1000, 1100, 1100, 1200, 1200, 1200, 1300, 1400, 1300, 1100, 900, 1000, 1100, 1100, 1000, 800, 800, - 800, 900, 1000, 1000, 1300, 1400, 1300, 900, 800, 900, 1000, 1000, 1000, 800, 800, 2400, 3900, 4100, 2600, 1400, 1200, 1200, 900, 800, 800, 1000, 1100, 1000, 900, 800, - 900, 900, 1000, 900, 1200, 1200, 1200, 900, 800, 900, 1100, 1100, 1100, 800, 900, 2000, 2900, 4100, 3800, 4200, 4500, 4700, 3900, 2400, 1400, 1000, 1100, 1100, 900, 800, - 1000, 1100, 1200, 900, 1200, 1300, 1400, 1100, 1000, 1000}, - 74: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - 85: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - 465: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - 464: []int64{51, 34, 48, 60, 36, 43, 41, 36, 38, 45, 35, 40, 44, 36, 35, 50, 35, 33, 40, 37, 41, 44, 35, 41, 42, 36, 31, 43, 44, 45, - 42, 45, 46, 37, 40, 41, 46, 43, 32, 49, 42, 36, 34, 43, 29, 47, 38, 42, 41, 37, 40, 37, 43, 33, 39, 38, 49, 31, 43, 46, - 40, 39, 34, 51, 39, 51, 45, 49, 41, 36, 34, 34, 45, 42, 45, 271, 410, 524, 558, 291, 176, 92, 43, 62, 36, 46, 40, 39, 34, 40, - 39, 38, 49, 34, 41, 51, 44, 29, 47, 37}, - 396: []int64{117, 89, 89, 113, 87, 124, 84, 85, 88, 107, 113, 88, 146, 47, 101, 132, 106, 97, 139, 104, 118, 95, 95, 119, 119, 92, 91, 89, 85, 91, - 100, 84, 85, 141, 76, 152, 84, 88, 97, 103, 87, 77, 99, 82, 78, 199, 133, 90, 135, 71, 94, 85, 92, 79, 95, 92, 83, 80, 99, 81, - 101, 91, 83, 108, 95, 91, 89, 83, 87, 102, 80, 90, 89, 92, 111, 292, 202, 205, 276, 225, 253, 223, 111, 89, 111, 100, 102, 86, 95, 83, - 110, 93, 93, 114, 89, 106, 80, 99, 87, 98}, - 426: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - 427: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - 125: []int64{411, 198, 152, 119, 134, 183, 96, 143, 144, 119, 279, 259, 494, 316, 261, 995, 366, 240, 253, 327, 346, 285, 400, 430, 345, 356, 410, 230, 194, 243, - 211, 231, 144, 176, 185, 186, 93, 135, 160, 113, 129, 151, 107, 127, 135, 3497, 2048, 176, 121, 178, 191, 129, 165, 133, 122, 351, 385, 322, 367, 410, - 336, 279, 315, 251, 253, 255, 194, 223, 238, 249, 270, 233, 210, 200, 273, 2808, 755, 1175, 739, 910, 993, 861, 451, 287, 144, 130, 135, 130, 183, 146, - 404, 178, 200, 108, 185, 184, 159, 126, 135, 150}, - 11: []int64{36582, 37370, 38034, 36337, 37967, 37562, 38002, 38168, 38054, 37329, 33533, 38186, 36723, 37909, 37798, 37050, 37006, 37642, 35547, 37852, 36713, 38071, 37616, 37615, 37164, 37383, 37993, 38045, 38247, 38169, - 37776, 37500, 38095, 35924, 37261, 37351, 38038, 38160, 37990, 37591, 37158, 38263, 38047, 38148, 38100, 25033, 30406, 38214, 36618, 37614, 37277, 38207, 38152, 38261, 37506, 37169, 38060, 38221, 37703, 38210, - 37614, 37369, 38078, 36434, 37898, 37522, 38051, 38104, 38049, 37544, 36685, 38214, 38024, 38116, 37515, 29627, 31741, 31857, 29938, 31389, 29257, 30473, 36265, 38002, 37366, 37444, 37365, 38149, 38225, 38177, - 36823, 37378, 37901, 36420, 37620, 36931, 38085, 37698, 37484, 37604}, - 516: []int64{6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, - 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, - 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, - 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000}, - 462: []int64{218, 203, 246, 299, 225, 245, 202, 203, 246, 416, 205, 243, 220, 203, 246, 337, 203, 256, 315, 219, 264, 203, 203, 259, 416, 203, 246, 203, 202, 245, - 203, 203, 245, 308, 215, 245, 203, 203, 246, 415, 203, 245, 203, 203, 245, 427, 203, 244, 308, 216, 245, 202, 203, 245, 416, 203, 246, 202, 203, 245, - 203, 203, 245, 306, 217, 245, 202, 203, 246, 416, 202, 245, 202, 203, 259, 510, 462, 659, 772, 808, 928, 1177, 384, 260, 416, 203, 260, 203, 202, 245, - 218, 203, 245, 306, 217, 259, 203, 216, 260, 416}, - 417: []int64{2726296, 2411724, 2411724, 2411724, 2831152, 2831152, 2831152, 2726296, 2726296, 2726296, 2411724, 2411724, 2411724, 2621440, 2621440, 2621440, 2306864, 2306864, 2306864, 2306864, 2306864, 2306864, 2411724, 2411724, 2411724, 2516580, 2516580, 2516580, 2202008, 2202008, - 2202008, 2516580, 2516580, 2516580, 2097152, 2097152, 2097152, 2097152, 2306864, 2411724, 2726296, 2726296, 2726296, 2411724, 2411724, 2411724, 2306864, 2306864, 2306864, 3145728, 3145728, 3145728, 2306864, 2306864, 2306864, 2411724, 2411724, 2411724, 2306864, 2306864, - 2306864, 2097152, 2202008, 2306864, 2306864, 2306864, 2621440, 2621440, 2621440, 2621440, 2411724, 2411724, 2411724, 2621440, 2621440, 2621440, 2936012, 2936012, 2936012, 2621440, 2621440, 2726296, 2726296, 2726296, 2726296, 2516580, 2516580, 2516580, 2621440, 2621440, - 2621440, 2936012, 2936012, 2936012, 2516580, 2516580, 2516580, 2516580, 2306864, 2306864}, - 157: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - 406: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - 513: []int64{1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1800, 1800, 1900, 1900, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, - 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 1900, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 2000, 1900, 1900, 1900, 1900, 1900, - 1800, 1700, 1800, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 1700, 2200, 2500, 3600, 3700, 3800, 3900, 3900, 4000, 4000, 4000, 4000, 4000, 4000, 4000, 4000, - 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900, 3900}, - 512: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - 461: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - 10: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - 12: []int64{137, 101, 116, 123, 114, 107, 96, 96, 103, 124, 111, 109, 108, 106, 106, 124, 122, 117, 149, 137, 141, 109, 110, 154, 128, 88, 107, 119, 102, 108, - 125, 91, 95, 116, 97, 108, 100, 103, 119, 122, 97, 99, 108, 94, 97, 106, 105, 106, 107, 98, 111, 105, 97, 98, 106, 111, 94, 90, 95, 100, - 131, 100, 103, 125, 108, 112, 97, 91, 107, 106, 98, 102, 116, 96, 112, 257, 186, 182, 259, 271, 232, 196, 123, 107, 122, 112, 114, 118, 104, 116, - 139, 107, 112, 126, 103, 103, 101, 125, 101, 122}, -} - -var HostMetricData = map[int32][]int64{ - 540: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 193: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 10, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, - 10, 0, 0, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 11, 0, 0, 10, 10, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 11, 0, 0, 10, 10, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 11, 0, 0, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 538: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 442: []int64{558345748480, 558345748480, 558345748480, 558345748480, 558345748480, 558345748480, 558345748480, 558345748480, 558345748480, 558345748480, 558345748480, 558345748480, 558345748480, 558345748480, 558345748480, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, - 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, - 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, - 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, - 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, 559419490304, - }, - 184: []int64{6, 7, 24, 10, 12, 10, 11, 11, 15, 9, 6, 11, 10, 11, 11, 15, 14, 24, 8, 15, - 11, 14, 8, 9, 13, 11, 10, 10, 10, 8, 14, 11, 13, 15, 16, 13, 10, 12, 16, 16, - 13, 14, 11, 11, 13, 14, 11, 11, 11, 10, 8, 13, 16, 16, 10, 15, 9, 10, 10, 9, - 12, 10, 15, 10, 11, 19, 11, 11, 18, 11, 10, 10, 9, 13, 8, 11, 8, 12, 10, 10, - 11, 18, 12, 14, 14, 8, 11, 13, 11, 24, 12, 14, 18, 10, 13, 15, 13, 12, 20, 11, - }, - 417: []int64{4209028, 4597196, 4911776, 4890868, 4716732, 4949160, 5618444, 5299588, 5939276, 5373040, 5444172, 5360296, 6744416, 6827536, 6208836, 6481460, 6483476, 6441596, 6315764, 6396904, - 6292044, 6313012, 6319280, 6245880, 5176316, 5171796, 5486372, 5402552, 5406000, 5059972, 4956844, 5174332, 5447028, 5153364, 5147720, 4403340, 4361368, 4369400, 4862164, 4946880, - 4994708, 5517376, 5999716, 5998864, 5380208, 4834948, 4838024, 4282212, 4177360, 4330364, 4582024, 5022488, 5030444, 4881924, 5007848, 5085540, 5012204, 5012144, 5036856, 4942480, - 4187564, 4228672, 4155256, 4134280, 4132984, 4299164, 4445960, 4453264, 4159664, 4390344, 4383672, 4415064, 4918376, 4918656, 5222744, 5222808, 5225088, 4616912, 4218456, 4215328, - 4351644, 4812948, 4976436, 4494096, 4726508, 4721272, 5235008, 4857516, 4855644, 5054940, 4740304, 4796812, 4543444, 4312760, 4351020, 4560668, 5084960, 5092936, 5260772, 5072024, - }, - 465: []int64{135, 62, 9, 25, 9, 16, 8, 10, 3, 7, 12, 8, 13, 5, 13, 6, 13, 2, 12, 10, - 7, 9, 7, 19, 6, 10, 7, 12, 8, 4, 13, 14, 14, 1, 13, 12, 7, 1, 8, 14, - 13, 9, 3, 12, 8, 2, 5, 9, 17, 5, 13, 7, 15, 10, 5, 13, 10, 18, 6, 15, - 6, 17, 3, 6, 8, 8, 12, 9, 11, 3, 18, 7, 4, 1, 12, 10, 11, 7, 12, 16, - 5, 3, 1, 24, 11, 9, 11, 18, 12, 1, 8, 10, 15, 4, 11, 11, 12, 10, 2, 6, - }, - 445: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 158: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 516: []int64{6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, - 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, - 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, - 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, - 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, 6000, - }, - 9: []int64{4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - }, - 433: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 464: []int64{208, 119, 77, 99, 67, 76, 74, 62, 67, 73, 64, 72, 87, 61, 69, 96, 75, 56, 82, 62, - 77, 80, 57, 72, 88, 70, 61, 70, 76, 70, 67, 72, 76, 65, 71, 62, 81, 63, 58, 76, - 94, 99, 101, 104, 104, 107, 97, 57, 87, 63, 69, 75, 83, 56, 69, 81, 88, 84, 76, 71, - 70, 115, 47, 74, 76, 64, 98, 77, 72, 65, 80, 63, 72, 61, 64, 62, 91, 65, 58, 78, - 73, 63, 63, 84, 73, 79, 67, 68, 78, 73, 62, 68, 83, 56, 79, 71, 77, 94, 68, 56, - }, - 461: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 460: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 469: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 468: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 463: []int64{4529, 3139, 976, 1336, 1328, 854, 781, 678, 587, 874, 1296, 1092, 914, 657, 662, 862, 671, 1366, 724, 1384, - 595, 753, 766, 696, 697, 925, 1215, 579, 700, 644, 730, 595, 857, 1243, 1059, 1037, 937, 644, 449, 627, - 1002, 871, 626, 661, 594, 576, 543, 608, 1409, 1306, 579, 720, 479, 592, 641, 1576, 654, 660, 555, 648, - 606, 457, 580, 633, 1730, 985, 797, 451, 559, 768, 864, 1020, 638, 608, 641, 467, 622, 466, 687, 1507, - 542, 1115, 609, 472, 634, 1398, 556, 589, 730, 544, 625, 679, 525, 480, 1496, 1446, 1136, 683, 507, 704, - }, - 159: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 147: []int64{98787, 64540, 12850, 14793, 13898, 11584, 9842, 9220, 8157, 13929, 14763, 16435, 10855, 10541, 13461, 9241, 8298, 13911, 9665, 13714, - 8106, 9184, 9718, 10730, 11620, 10779, 18429, 7382, 10814, 13398, 8824, 8072, 9910, 12595, 10950, 11917, 12508, 8644, 6052, 10230, - 11355, 13255, 8252, 10033, 11957, 6777, 7435, 8673, 14327, 13369, 8016, 9588, 6494, 8082, 9718, 14035, 11684, 8576, 9269, 13208, - 7808, 6503, 7587, 8385, 16944, 11698, 10462, 6446, 7489, 10736, 11891, 15393, 8347, 9696, 12891, 6261, 8374, 6976, 8981, 15365, - 7323, 12960, 8301, 6383, 7699, 17905, 10476, 7616, 11062, 12148, 7518, 8798, 7209, 6363, 15726, 15193, 13103, 9463, 6583, 8581, - }, - 2: []int64{5216, 6422, 2301, 2399, 3513, 3670, 2479, 2777, 1948, 2395, 4382, 3535, 2610, 2991, 2086, 2249, 2980, 4164, 2341, 4394, - 2166, 2374, 2577, 3321, 2379, 3581, 2061, 2313, 3196, 3493, 2299, 2811, 2994, 2399, 3526, 3718, 2327, 3588, 2037, 2313, - 3351, 3459, 2269, 2940, 2039, 2267, 2935, 3661, 3132, 3684, 2261, 2318, 2543, 3373, 2315, 4170, 2265, 2348, 2654, 3427, - 2311, 2576, 2225, 3184, 4171, 3686, 2190, 2765, 2177, 2133, 3559, 3530, 2178, 3213, 2475, 2133, 2728, 3443, 2390, 4531, - 2388, 2188, 3001, 3636, 2125, 3588, 2281, 2203, 2861, 3476, 2124, 2860, 2463, 2142, 4806, 4150, 2169, 2695, 2160, 2194, - }, - 146: []int64{123085, 81730, 23478, 30517, 31220, 22570, 18686, 17187, 15034, 23327, 30538, 29852, 21611, 17841, 20520, 19804, 16652, 32333, 17640, 31898, - 15354, 17755, 19085, 17827, 19017, 22028, 30619, 14066, 18751, 21221, 17486, 15365, 20671, 27904, 24811, 25645, 22882, 16383, 11545, 17083, - 23937, 24473, 15364, 17625, 18616, 13334, 14162, 16791, 31671, 30553, 15054, 17695, 12414, 15992, 16789, 29615, 19038, 16113, 15550, 21144, - 14848, 12167, 14642, 15589, 39685, 24791, 19349, 12091, 14397, 18326, 22628, 28263, 15711, 16693, 20002, 11595, 15951, 13324, 16702, 34960, - 13979, 26177, 15704, 12997, 14929, 35171, 16772, 14289, 19393, 18969, 14908, 17101, 13600, 11905, 35064, 34309, 26614, 17578, 12759, 16810, - }, - 348: []int64{36000, 39300, 34400, 24500, 17700, 17700, 20100, 18600, 17100, 14600, 18300, 19200, 22300, 18700, 18300, 15100, 14800, 17300, 19600, 22900, - 20700, 18500, 14800, 15100, 17100, 19200, 18500, 16400, 15400, 16400, 18700, 18100, 18800, 16900, 18300, 17900, 19900, 20100, 18600, 16200, - 15800, 16700, 18900, 17900, 17300, 15000, 15000, 15600, 20300, 21400, 21600, 17100, 15000, 14800, 16900, 20700, 20400, 18300, 14900, 15500, - 17400, 17400, 16800, 16600, 19400, 20800, 20900, 18200, 16900, 14600, 16300, 16700, 19100, 17900, 18600, 16200, 15600, 14800, 17600, 21500, - 21700, 18900, 15200, 16100, 18200, 19900, 18600, 16700, 15100, 15400, 17600, 17300, 17100, 15400, 19400, 21300, 23000, 19100, 16300, 14500, - }, - 386: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 106: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 24: []int64{9387, 9390, 9388, 9389, 9389, 9387, 9388, 9389, 9388, 9389, 9390, 9388, 9389, 9390, 9390, 9392, 9391, 9390, 9388, 9388, - 9387, 9387, 9387, 9387, 9388, 9387, 9388, 9389, 9389, 9387, 9389, 9388, 9389, 9391, 9390, 9388, 9391, 9391, 9390, 9391, - 9392, 9388, 9388, 9387, 9388, 9388, 9388, 9389, 9388, 9388, 9389, 9388, 9389, 9388, 9389, 9388, 9389, 9391, 9389, 9388, - 9390, 9390, 9390, 9391, 9392, 9388, 9387, 9388, 9388, 9388, 9389, 9389, 9388, 9388, 9388, 9388, 9389, 9388, 9389, 9388, - 9388, 9390, 9390, 9390, 9390, 9389, 9391, 9390, 9391, 9388, 9389, 9388, 9388, 9388, 9388, 9390, 9388, 9388, 9388, 9389, - }, - 437: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 45: []int64{28758744, 28759192, 28759660, 28759688, 28759572, 28759656, 28759684, 28761964, 28759664, 28759716, 28761648, 28759596, 28759636, 28759652, 28761712, 28759628, 28761824, 28759660, 28759796, 28757672, - 28757696, 28757860, 28757692, 28757724, 28757712, 28757712, 28757672, 28757636, 28757652, 28757676, 28759828, 28757608, 28759684, 28757684, 28757700, 28757636, 28757712, 28759704, 28757676, 28757744, - 28757724, 28757648, 28757612, 28759848, 28759680, 28757680, 28759756, 28757808, 28757728, 28757740, 28757692, 28757724, 28759696, 28757752, 28757724, 28757660, 28757780, 28757660, 28759676, 28759784, - 28757752, 28759700, 28757688, 28757732, 28759700, 28757704, 28757668, 28757740, 28757676, 28759832, 28759628, 28759764, 28757720, 28757768, 28759680, 28757736, 28759712, 28757656, 28757668, 28759776, - 28757676, 28757652, 28759768, 28757724, 28757724, 28759676, 28759792, 28757680, 28757648, 28759740, 28757764, 28759876, 28757660, 28757652, 28759624, 28757780, 28759724, 28757648, 28759732, 28757768, - }, - 515: []int64{160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, - }, - 512: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 504: []int64{38200, 40700, 40700, 40700, 40700, 40700, 41100, 41100, 41100, 41100, 41100, 41100, 41100, 41100, 41100, 40700, 26800, 26800, 27100, 31600, - 31600, 30600, 30600, 30600, 31600, 31600, 31600, 30600, 30600, 30600, 31600, 31600, 31600, 30600, 27000, 27400, 27500, 34800, 34800, 27500, - 27500, 27500, 36500, 36500, 36500, 27500, 27700, 27700, 36500, 36500, 36500, 28100, 27700, 27700, 28100, 28100, 28100, 27700, 27700, 27700, - 28100, 28100, 28100, 27700, 27700, 27700, 35000, 35000, 35000, 27700, 27600, 27600, 35000, 35000, 35000, 27600, 27600, 27600, 35400, 35400, - 35400, 29100, 29100, 29100, 34300, 34300, 34300, 29100, 29100, 29100, 34300, 34300, 34300, 29100, 26300, 27900, 34300, 34300, 34300, 27900, - }, - 509: []int64{56300, 56300, 56300, 45300, 26500, 26500, 40200, 40200, 40200, 23400, 45700, 45700, 45700, 39900, 39900, 23200, 20800, 25700, 36300, 36300, - 36300, 31100, 19300, 21900, 34300, 36700, 36700, 36700, 23100, 23100, 37900, 37900, 37900, 27000, 27000, 26900, 36700, 36700, 36700, 36100, - 36900, 36900, 36900, 36100, 36100, 26200, 27300, 27300, 44400, 44400, 44400, 27500, 20500, 21400, 35500, 44500, 44500, 44500, 22100, 22800, - 34600, 34600, 34600, 25500, 35300, 35300, 35300, 35000, 35000, 21300, 40300, 40300, 40300, 36600, 36600, 25400, 21400, 22000, 36200, 39900, - 39900, 39900, 22900, 22700, 33900, 37000, 37000, 37000, 21900, 23000, 36800, 36800, 36800, 19300, 41300, 41300, 41300, 35100, 35100, 19400, - }, - 13: []int64{55854, 44019, 91548, 91238, 77451, 76086, 89967, 87066, 96253, 92136, 66625, 77627, 88722, 83963, 94854, 93093, 84480, 69900, 91799, 67236, - 94009, 91442, 89091, 80204, 91615, 76760, 95271, 92658, 81344, 78020, 92539, 86149, 84145, 91137, 77621, 75411, 92107, 76879, 95544, 92520, - 79654, 78532, 92752, 84539, 95566, 92740, 84839, 77042, 81463, 75690, 92934, 92048, 89801, 79319, 92435, 69706, 92835, 92971, 86952, 78964, - 92614, 88676, 93272, 81870, 70002, 75928, 93396, 86942, 93717, 94338, 77321, 77673, 93967, 81264, 90382, 94398, 87290, 78692, 91395, 65516, - 91277, 94100, 83600, 76785, 94306, 76729, 92706, 93455, 85740, 78369, 94379, 85854, 90241, 94306, 62269, 70322, 93958, 87650, 94017, 93690, - }, - 505: []int64{23500, 24800, 24900, 24400, 24500, 24600, 25000, 25000, 24800, 24300, 23900, 23100, 22500, 21700, 20600, 18700, 17200, 17500, 17900, 18200, - 18100, 17600, 17500, 17700, 18100, 17700, 17600, 16900, 17000, 17200, 17600, 17700, 17500, 17100, 16800, 16900, 17400, 17800, 17600, 17200, - 17100, 17300, 17700, 17700, 17500, 17000, 17100, 16800, 17700, 17700, 17600, 17100, 16700, 16800, 17200, 17600, 17500, 17100, 17000, 17200, - 17600, 17500, 17400, 16900, 17100, 17200, 17600, 17700, 17600, 17100, 16900, 16900, 17300, 17400, 17600, 17100, 17100, 17200, 17300, 17500, - 17400, 16900, 16900, 17200, 17600, 17600, 17600, 17100, 17100, 16900, 17400, 17400, 17400, 17000, 17000, 17300, 17800, 17800, 17400, 17100, - }, - 157: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 388: []int64{3105, 3888, 1350, 1391, 1943, 2053, 1406, 1570, 1178, 1412, 2542, 1997, 1490, 1658, 1236, 1322, 1652, 2219, 1353, 2397, - 1273, 1376, 1460, 1857, 1389, 1993, 1231, 1352, 1761, 1961, 1336, 1574, 1686, 1385, 1931, 2030, 1380, 1954, 1204, 1366, - 1914, 1933, 1344, 1689, 1211, 1340, 1675, 2101, 1748, 2028, 1313, 1347, 1464, 1886, 1343, 2403, 1305, 1391, 1532, 1920, - 1358, 1480, 1282, 1788, 2261, 2023, 1288, 1576, 1283, 1278, 2002, 1949, 1281, 1796, 1411, 1240, 1552, 1909, 1384, 2483, - 1373, 1301, 1690, 1967, 1258, 2017, 1337, 1282, 1629, 1965, 1253, 1619, 1390, 1271, 2614, 2221, 1286, 1563, 1253, 1296, - }, - 155: []int64{2950229, 2950250, 2950269, 2950289, 2950309, 2950329, 2950349, 2950369, 2950389, 2950409, 2950429, 2950449, 2950469, 2950489, 2950509, 2950529, 2950549, 2950569, 2950589, 2950609, - 2950629, 2950649, 2950669, 2950689, 2950709, 2950729, 2950749, 2950769, 2950789, 2950809, 2950829, 2950849, 2950869, 2950889, 2950909, 2950929, 2950949, 2950969, 2950989, 2951009, - 2951029, 2951049, 2951069, 2951089, 2951109, 2951129, 2951149, 2951169, 2951189, 2951209, 2951229, 2951249, 2951269, 2951289, 2951309, 2951329, 2951349, 2951369, 2951389, 2951409, - 2951429, 2951449, 2951469, 2951489, 2951509, 2951529, 2951549, 2951569, 2951589, 2951609, 2951629, 2951649, 2951669, 2951689, 2951709, 2951729, 2951749, 2951769, 2951789, 2951809, - 2951829, 2951849, 2951869, 2951889, 2951909, 2951929, 2951949, 2951969, 2951989, 2952009, 2952029, 2952049, 2952069, 2952089, 2952109, 2952129, 2952149, 2952169, 2952189, 2952209, - }, - 404: []int64{46, 54, 34, 33, 37, 37, 35, 35, 33, 34, 43, 38, 34, 35, 34, 33, 35, 39, 33, 41, - 33, 34, 34, 37, 33, 37, 33, 33, 36, 37, 34, 35, 35, 33, 37, 37, 33, 37, 33, 33, - 39, 37, 34, 35, 33, 34, 36, 39, 37, 36, 34, 33, 34, 37, 33, 41, 33, 34, 34, 37, - 34, 34, 34, 35, 39, 38, 33, 36, 33, 33, 39, 37, 32, 34, 34, 32, 35, 37, 33, 41, - 34, 33, 35, 38, 33, 39, 33, 32, 35, 38, 34, 35, 34, 33, 42, 38, 33, 35, 32, 33, - }, - 65: []int64{30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, - 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, - 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, - 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, - 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, 30429, - }, - 130: []int64{316, 288, 31, 17, 70, 78, 8, 5, 13, 172, 8, 9, 234, 84, 286, 107, 42, 15, 10, 48, - 9, 10, 16, 4, 410, 8, 11, 141, 85, 283, 12, 9, 12, 21, 45, 572, 19, 14, 2, 147, - 46, 9, 139, 84, 280, 9, 26, 8, 14, 42, 15, 13, 7, 10, 93, 76, 16, 143, 82, 287, - 6, 6, 311, 20, 82, 34, 7, 6, 21, 45, 137, 16, 146, 83, 286, 4, 9, 5, 8, 69, - 20, 3, 18, 8, 8, 173, 9, 139, 84, 274, 8, 11, 8, 3, 76, 61, 7, 4, 7, 11, - }, - 395: []int64{7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, - 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, - 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, - 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, - 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, 7125, - }, - 392: []int64{5078, 6147, 2371, 2453, 3400, 3565, 2486, 2777, 2066, 2456, 4110, 3436, 2636, 2944, 2164, 2343, 2932, 3939, 2400, 4162, - 2265, 2439, 2599, 3240, 2426, 3443, 2166, 2371, 3127, 3394, 2360, 2783, 2950, 2453, 3410, 3576, 2426, 3452, 2126, 2400, - 3267, 3362, 2360, 2936, 2128, 2354, 2927, 3557, 3062, 3562, 2314, 2387, 2586, 3303, 2373, 4038, 2320, 2400, 2680, 3332, - 2385, 2613, 2275, 3132, 3966, 3540, 2273, 2756, 2272, 2243, 3406, 3411, 2261, 3155, 2512, 2207, 2731, 3332, 2445, 4277, - 2437, 2283, 2981, 3481, 2221, 3463, 2373, 2266, 2858, 3371, 2216, 2854, 2473, 2251, 4489, 3926, 2268, 2721, 2224, 2289, - }, - 168: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 10, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 10, 0, 0, 0, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, - 10, 0, 0, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 11, 0, 0, 10, 10, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 11, 0, 0, 10, 10, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 11, 0, 0, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 11: []int64{3767685, 3766843, 3809485, 3802123, 3797075, 3794283, 3804460, 3803343, 3813172, 3813480, 3772726, 3795530, 3803912, 3801956, 3811636, 3811586, 3804529, 3783666, 3808189, 3783649, - 3810947, 3809723, 3804999, 3797668, 3808199, 3790673, 3812824, 3820071, 3791344, 3794066, 3807934, 3802632, 3800437, 3809786, 3796352, 3794083, 3808300, 3791286, 3812957, 3812179, - 3791058, 3797110, 3807338, 3801842, 3812268, 3809965, 3800048, 3796279, 3792819, 3795748, 3808166, 3810005, 3805475, 3797880, 3807963, 3786534, 3811175, 3821127, 3793409, 3798201, - 3808581, 3802765, 3811096, 3799097, 3788026, 3799350, 3803446, 3802916, 3810034, 3812160, 3790129, 3797411, 3810431, 3802124, 3804558, 3812784, 3803386, 3796951, 3809341, 3779330, - 3808717, 3819583, 3792378, 3799161, 3805583, 3790405, 3809761, 3812506, 3802618, 3794905, 3810449, 3803410, 3806050, 3812196, 3778959, 3789793, 3809308, 3803093, 3812233, 3810652, - }, - 443: []int64{35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, - 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, - 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, - 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, - 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, 35184372088832, - }, - 6: []int64{5946, 7321, 2624, 2735, 4005, 4184, 2826, 3166, 2221, 2730, 4996, 4030, 2975, 3409, 2378, 2563, 3397, 4747, 2668, 5009, - 2469, 2706, 2937, 3786, 2712, 4082, 2349, 2636, 3644, 3982, 2621, 3204, 3413, 2735, 4019, 4238, 2652, 4090, 2322, 2636, - 3820, 3943, 2586, 3351, 2325, 2584, 3346, 4173, 3570, 4200, 2577, 2642, 2899, 3845, 2639, 4753, 2582, 2676, 3025, 3906, - 2634, 2936, 2536, 3630, 4755, 4202, 2497, 3152, 2481, 2431, 4057, 4024, 2482, 3663, 2821, 2432, 3109, 3924, 2725, 5164, - 2722, 2494, 3421, 4145, 2423, 4090, 2600, 2511, 3261, 3962, 2421, 3260, 2808, 2441, 5479, 4731, 2472, 3072, 2462, 2501, - }, - 33: []int64{10290632, 11098228, 10794144, 10521580, 10347364, 10695132, 11637048, 11150420, 11454568, 10951244, 11043428, 11578212, 13717308, 13716504, 13286552, 12971972, 12974028, 12690972, 12376396, 12373608, - 11828348, 12247780, 12254008, 12316920, 11121524, 11200932, 12060768, 11851116, 11854604, 10879428, 11342532, 11360752, 11727820, 10700152, 10694468, 10159800, 10054908, 10241236, 10178260, 10304924, - 10468096, 11231940, 12406340, 12405528, 11430352, 10276920, 10279996, 9986332, 10070220, 10107804, 10862772, 10757980, 10765936, 10009244, 10407800, 10401684, 10118624, 10915480, 10919140, 11076432, - 10321520, 10320684, 9964144, 9125280, 9124024, 9374092, 9856432, 9863736, 9674992, 9779840, 9773128, 9909380, 10349780, 10350060, 10245204, 10580816, 10583136, 10163740, 9324880, 9321712, - 9709688, 10296824, 10565128, 10061812, 10923364, 10918128, 11400412, 11463328, 11461496, 11702728, 10570204, 10574244, 10278936, 9943392, 10002624, 9834784, 10233244, 10241220, 10702656, 10975280, - }, - 502: []int64{33600, 36700, 32300, 23200, 17300, 17300, 19600, 18200, 16700, 14200, 17800, 18700, 21800, 18300, 17900, 14700, 14400, 16900, 19200, 22500, - 20200, 18100, 14400, 14700, 16700, 18800, 18000, 16000, 15000, 16000, 18200, 17600, 18500, 16500, 17900, 17500, 19500, 19700, 18200, 15900, - 15500, 16300, 18500, 17500, 16900, 14600, 14700, 15200, 19800, 21000, 21200, 16700, 14700, 14400, 16500, 20200, 19900, 17800, 14500, 15000, - 17000, 17000, 16400, 16300, 19000, 20300, 20400, 17800, 16500, 14200, 16000, 16400, 18700, 17500, 18200, 15800, 15300, 14400, 17200, 21100, - 21300, 18500, 14800, 15700, 17800, 19500, 18200, 16300, 14700, 15000, 17200, 16900, 16800, 15100, 19000, 20900, 22600, 18700, 16000, 14200, - }, - 398: []int64{4356, 5034, 4468, 3401, 2288, 2406, 2883, 2712, 2439, 1928, 2642, 2820, 3379, 2703, 2553, 1991, 1938, 2455, 2883, 3400, - 2975, 2578, 1995, 2048, 2392, 2812, 2666, 2288, 2063, 2214, 2659, 2557, 2750, 2376, 2528, 2437, 2805, 2980, 2707, 2225, - 2182, 2358, 2755, 2530, 2380, 1957, 2023, 2150, 3032, 3112, 3147, 2296, 2036, 1989, 2390, 2899, 2844, 2439, 1948, 2022, - 2420, 2452, 2363, 2208, 2725, 2987, 3167, 2630, 2376, 1947, 2269, 2352, 2773, 2506, 2630, 2191, 2121, 1983, 2441, 3127, - 3164, 2729, 2059, 2244, 2625, 2947, 2693, 2299, 1996, 2047, 2488, 2443, 2434, 2079, 2719, 3087, 3410, 2790, 2272, 1937, - }, - 466: []int64{147, 79, 116, 164, 105, 79, 86, 90, 122, 152, 122, 96, 99, 84, 80, 116, 115, 88, 100, 79, - 76, 128, 122, 79, 84, 78, 81, 104, 104, 94, 116, 138, 82, 106, 93, 110, 112, 80, 82, 116, - 124, 111, 82, 82, 74, 100, 84, 145, 114, 74, 74, 172, 106, 150, 109, 76, 122, 132, 122, 78, - 135, 102, 74, 158, 108, 74, 121, 144, 74, 132, 124, 82, 211, 154, 127, 142, 84, 76, 115, 96, - 76, 128, 84, 72, 116, 157, 96, 126, 94, 107, 136, 132, 106, 158, 164, 96, 112, 137, 90, 142, - }, - 410: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 470: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 57: []int64{78208, 78208, 78208, 78208, 78208, 78208, 78208, 78208, 78208, 78208, 78208, 78208, 78208, 78208, 78208, 78208, 78208, 78208, 78208, 78208, - 78208, 78208, 78208, 78208, 78208, 77828, 77828, 77828, 77828, 77828, 77828, 77828, 77828, 77828, 77828, 77828, 77828, 77828, 77828, 77828, - 77824, 77824, 77824, 77824, 77824, 77824, 77848, 77844, 77832, 77832, 77832, 77828, 77824, 77824, 77824, 77824, 77824, 77824, 77824, 77824, - 77824, 77824, 77824, 77824, 77824, 77824, 77824, 77824, 77824, 77824, 77816, 77816, 77816, 77816, 77816, 77816, 77816, 77816, 77816, 77816, - 77816, 77816, 77816, 77816, 77816, 77816, 77816, 77816, 77816, 77816, 77816, 77816, 77816, 77816, 77816, 77816, 77816, 77816, 77816, 77816, - }, - 29: []int64{58388608, 58386244, 58386248, 58386248, 58386416, 58388724, 58386336, 58386332, 58386320, 58386400, 58386332, 58386344, 58386332, 58386344, 58386380, 58386372, 58386212, 58386208, 58386208, 58386208, - 58386208, 58386196, 58386208, 58386208, 58386276, 58386196, 58386208, 58386208, 58386216, 58386216, 58388608, 58386216, 58386216, 58386216, 58386204, 58386212, 58386208, 58386208, 58386208, 58387404, - 58388600, 58386208, 58386208, 58386208, 58386208, 58386208, 58386208, 58386196, 58386208, 58386208, 58386208, 58386208, 58388684, 58386208, 58386344, 58386208, 58386196, 58386208, 58386216, 58386216, - 58386204, 58386216, 58386220, 58386220, 58388612, 58386220, 58386220, 58386220, 58386220, 58386208, 58386248, 58386248, 58386248, 58386236, 58386248, 58386248, 58386248, 58386248, 58386248, 58386248, - 58386248, 58386248, 58386236, 58386248, 58388640, 58386248, 58386240, 58386248, 58386248, 58386248, 58386248, 58388640, 58386248, 58386248, 58386248, 58386236, 58386248, 58386248, 58386248, 58386236, - }, - 90: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 406: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 424: []int64{1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, - 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, - 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, - 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, - 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, 1295864, - }, - 61: []int64{14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, - 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, - 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, - 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, - 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, 14336, - }, - 506: []int64{20000, 20600, 20600, 20400, 20400, 20400, 20600, 20700, 20600, 20400, 20500, 20500, 20700, 20700, 20700, 20300, 20400, 20500, 20700, 20800, - 20700, 20500, 20500, 20600, 20700, 20700, 20700, 20500, 20500, 20600, 20600, 20600, 20700, 20500, 20500, 20600, 20700, 20800, 20700, 20500, - 20200, 20000, 19600, 19300, 18900, 18200, 17700, 17700, 18000, 18000, 17900, 17800, 17700, 17800, 17900, 17900, 17900, 17700, 17600, 17700, - 17800, 17800, 17600, 17600, 17600, 17600, 17800, 17800, 17800, 17600, 17600, 17700, 17800, 17800, 17800, 17600, 17600, 17500, 17700, 17800, - 17800, 17600, 17500, 17600, 17700, 17800, 17700, 17600, 17600, 17600, 17800, 17700, 17700, 17400, 17600, 17700, 17800, 17900, 17800, 17700, - }, - 508: []int64{19400, 19900, 19900, 19700, 19700, 19800, 19900, 20000, 19900, 19700, 19800, 19800, 20000, 20000, 20000, 19700, 19700, 19800, 20000, 20100, - 20000, 19800, 19800, 19900, 20000, 20000, 20000, 19800, 19800, 19900, 20000, 19900, 20000, 19800, 19800, 19900, 20000, 20100, 20000, 19900, - 19600, 19300, 19100, 18800, 18400, 17800, 17300, 17300, 17600, 17600, 17500, 17400, 17300, 17400, 17500, 17500, 17500, 17300, 17200, 17300, - 17400, 17400, 17200, 17200, 17200, 17200, 17400, 17400, 17400, 17200, 17200, 17300, 17400, 17400, 17400, 17200, 17200, 17100, 17300, 17400, - 17400, 17200, 17100, 17200, 17300, 17400, 17300, 17200, 17200, 17200, 17400, 17300, 17300, 17000, 17200, 17300, 17400, 17500, 17400, 17300, - }, - 37: []int64{1116464, 1116460, 1116476, 1116472, 1116984, 1117312, 1117308, 1117040, 1117680, 1117680, 1117768, 1117768, 1117764, 1117780, 1117780, 1117780, 1118264, 1118004, 1118004, 1118004, - 1118184, 1118184, 1118176, 1118596, 1118596, 1118360, 1117724, 1117724, 1117724, 1117976, 1117976, 1118296, 1118292, 1118292, 1118036, 1117612, 1117608, 1117288, 1117300, 1117300, - 1117388, 1117812, 1117812, 1118232, 1118552, 1118552, 1118904, 1118628, 1118624, 1118296, 1118296, 1118288, 1118540, 1118624, 1118620, 1118708, 1119284, 1119280, 1119276, 1118396, - 1118388, 1118788, 1119028, 1119028, 1119508, 1119508, 1119504, 1119500, 1119420, 1119420, 1119156, 1119476, 1119476, 1118976, 1118976, 1118968, 1119028, 1119128, 1119124, 1119124, - 1118952, 1118952, 1119212, 1119196, 1119192, 1118868, 1118920, 1118920, 1118916, 1118916, 1118908, 1119224, 1119224, 1119224, 1119220, 1119216, 1119216, 1119148, 1118884, 1118880, - }, - 85: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 396: []int64{65, 76, 50, 49, 53, 54, 51, 50, 49, 49, 62, 56, 50, 49, 49, 49, 49, 53, 49, 58, - 49, 49, 49, 53, 49, 53, 49, 49, 50, 54, 49, 50, 48, 48, 51, 53, 49, 52, 49, 49, - 56, 54, 50, 51, 49, 49, 52, 56, 52, 51, 49, 48, 50, 53, 49, 59, 47, 49, 49, 53, - 49, 49, 49, 49, 54, 54, 49, 51, 49, 49, 55, 53, 48, 50, 48, 47, 50, 53, 48, 56, - 49, 48, 50, 54, 48, 55, 49, 48, 50, 55, 49, 49, 49, 48, 58, 52, 49, 51, 48, 48, - }, - 426: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 107: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 510: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 98: []int64{62902396, 62921636, 62904432, 62913104, 62912472, 62897712, 62903512, 62911892, 62909336, 62914452, 62917196, 62904156, 62915072, 62920036, 62917360, 62930320, 62924892, 62917404, 62902896, 62906684, - 62898772, 62900724, 62898848, 62899600, 62906108, 62902472, 62903632, 62909996, 62913516, 62902092, 62911576, 62909124, 62914036, 62927356, 62917200, 62908204, 62923924, 62925684, 62917196, 62925320, - 62930344, 62909300, 62904316, 62901588, 62905664, 62906196, 62906848, 62913096, 62908148, 62906556, 62912224, 62904436, 62916248, 62903068, 62911968, 62906208, 62913732, 62924492, 62915224, 62904880, - 62919844, 62921172, 62919572, 62924784, 62931284, 62908824, 62901488, 62903452, 62903008, 62905672, 62911408, 62910308, 62907216, 62904444, 62904628, 62908004, 62915428, 62904220, 62912192, 62909452, - 62905684, 62916360, 62919128, 62919116, 62916452, 62914768, 62924312, 62922776, 62923692, 62903832, 62915528, 62903128, 62904000, 62904420, 62906860, 62918812, 62906628, 62907844, 62904164, 62910788, - }, - 102: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 105: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 49: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 68: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 41: []int64{1050664, 1050664, 1050664, 1050660, 1050656, 1050656, 1050652, 1050648, 1050648, 1050648, 1050648, 1050648, 1050644, 1050644, 1050644, 1050644, 1050640, 1050640, 1050640, 1050640, - 1050640, 1050640, 1050632, 1050632, 1050632, 1050612, 1050612, 1050612, 1050612, 1050612, 1050612, 1050612, 1050612, 1050612, 1050612, 1050612, 1050608, 1050604, 1050604, 1050604, - 1050588, 1050588, 1050588, 1050588, 1050588, 1050588, 1050932, 1050916, 1050916, 1050900, 1050900, 1050896, 1050888, 1050888, 1050884, 1050864, 1050864, 1050860, 1050856, 1050856, - 1050848, 1050848, 1050848, 1050848, 1050848, 1050848, 1050844, 1050840, 1050840, 1050840, 1050824, 1050824, 1050824, 1050820, 1050820, 1050812, 1050812, 1050812, 1050808, 1050808, - 1050808, 1050808, 1050800, 1050800, 1050796, 1050792, 1050792, 1050792, 1050788, 1050788, 1050780, 1050780, 1050780, 1050780, 1050776, 1050772, 1050772, 1050768, 1050764, 1050760, - }, - 440: []int64{2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - }, - 441: []int64{268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, - 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, - 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, - 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, - 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, 268, - }, - 422: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 429: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 143: []int64{8765, 5677, 1947, 2716, 2821, 1860, 1596, 1424, 1238, 1784, 2685, 2330, 1867, 1402, 1389, 1764, 1412, 2895, 1478, 2934, - 1256, 1540, 1604, 1518, 1410, 1930, 2512, 1185, 1490, 1418, 1493, 1256, 1791, 2541, 2270, 2222, 1912, 1355, 958, 1282, - 2087, 1882, 1279, 1410, 1252, 1177, 1151, 1347, 2879, 2776, 1223, 1472, 1020, 1314, 1310, 2902, 1374, 1350, 1194, 1425, - 1239, 975, 1225, 1295, 3642, 2116, 1627, 963, 1182, 1567, 1806, 2185, 1304, 1303, 1348, 958, 1311, 1057, 1405, 3185, - 1147, 2278, 1285, 1069, 1297, 2895, 1175, 1205, 1551, 1214, 1279, 1427, 1113, 984, 3162, 3057, 2320, 1435, 1076, 1440, - }, - 131: []int64{4655, 3164, 3005, 3258, 3194, 3077, 3071, 2430, 2576, 2467, 2464, 3189, 2703, 1753, 2425, 1598, 2234, 2281, 2723, 2766, - 2130, 2329, 2275, 1503, 2062, 2067, 2520, 1644, 1862, 1863, 2102, 2138, 1872, 2436, 2331, 2555, 3023, 2370, 1893, 2109, - 2025, 1974, 2015, 1766, 2073, 2033, 1645, 1974, 2306, 2578, 2046, 2724, 2061, 1859, 1932, 2223, 1915, 2410, 1825, 1992, - 1723, 1552, 2076, 1931, 3267, 2736, 3099, 1421, 1897, 1773, 1973, 2563, 2185, 1572, 1948, 1545, 1881, 1639, 2266, 2916, - 2266, 2899, 1927, 1828, 2131, 2660, 1845, 1844, 1902, 1712, 1835, 2563, 2026, 1545, 4746, 7004, 3166, 2172, 2198, 1984, - }, - 125: []int64{4972, 3453, 3036, 3275, 3264, 3155, 3080, 2435, 2589, 2639, 2472, 3199, 2938, 1838, 2711, 1705, 2276, 2296, 2734, 2815, - 2139, 2339, 2291, 1508, 2473, 2076, 2532, 1785, 1947, 2146, 2114, 2148, 1885, 2458, 2376, 3128, 3042, 2384, 1895, 2256, - 2072, 1983, 2155, 1851, 2354, 2042, 1671, 1982, 2320, 2620, 2062, 2738, 2069, 1870, 2026, 2299, 1931, 2553, 1907, 2279, - 1729, 1558, 2388, 1951, 3349, 2771, 3106, 1428, 1918, 1819, 2110, 2579, 2331, 1656, 2234, 1550, 1891, 1645, 2274, 2985, - 2287, 2902, 1945, 1836, 2140, 2833, 1854, 1983, 1986, 1986, 1843, 2575, 2034, 1549, 4822, 7066, 3173, 2176, 2206, 1996, - }, - 27: []int64{29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, - 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, - 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, - 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, - 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, 29551, - }, - 419: []int64{57636, 57636, 57637, 57637, 57636, 57637, 57637, 57639, 57637, 57637, 57638, 57636, 57637, 57637, 57639, 57637, 57639, 57637, 57637, 57635, - 57635, 57635, 57635, 57635, 57635, 57635, 57635, 57635, 57635, 57635, 57637, 57635, 57637, 57635, 57635, 57635, 57635, 57637, 57635, 57635, - 57635, 57635, 57635, 57637, 57637, 57635, 57637, 57635, 57635, 57635, 57635, 57635, 57637, 57635, 57635, 57635, 57635, 57635, 57637, 57637, - 57635, 57637, 57635, 57635, 57637, 57635, 57635, 57635, 57635, 57637, 57637, 57637, 57635, 57635, 57637, 57635, 57637, 57635, 57635, 57637, - 57635, 57635, 57637, 57635, 57635, 57637, 57637, 57635, 57635, 57637, 57635, 57637, 57635, 57635, 57636, 57635, 57637, 57635, 57637, 57635, - }, - 511: []int64{36400, 40300, 40300, 38500, 38500, 38500, 40200, 40200, 40200, 40200, 40200, 40200, 40200, 40200, 40200, 39900, 26100, 26100, 26500, 31100, - 31100, 29600, 29600, 29600, 31100, 31100, 31100, 29600, 29600, 29600, 31100, 31100, 31100, 29600, 26600, 26900, 27000, 34300, 34300, 27000, - 27000, 27000, 36100, 36100, 36100, 27000, 27300, 27300, 36100, 36100, 36100, 27500, 27300, 27300, 27500, 27500, 27500, 27300, 27300, 27300, - 27500, 27500, 27500, 27300, 27300, 27300, 34600, 34600, 34600, 27300, 26700, 26700, 34600, 34600, 34600, 26700, 26700, 26700, 35000, 35000, - 35000, 28500, 28500, 28500, 33900, 33900, 33900, 28500, 28500, 28500, 33900, 33900, 33900, 28500, 25600, 27300, 33900, 33900, 33900, 27300, - }, - 12: []int64{17855, 20753, 13236, 12962, 14433, 14512, 13653, 13534, 12746, 13076, 16646, 14960, 13417, 13483, 13067, 12955, 13556, 15106, 13014, 16075, - 13035, 13094, 13233, 14367, 13043, 14539, 12820, 13046, 13940, 14320, 13203, 13483, 13483, 12890, 14226, 14402, 13045, 14350, 12809, 12948, - 15041, 14439, 13309, 13757, 12993, 13068, 13879, 15041, 14435, 14027, 13045, 12915, 13351, 14350, 13023, 16024, 12689, 13111, 13270, 14385, - 13087, 13285, 13071, 13725, 15293, 14793, 13024, 13870, 12994, 12916, 15175, 14214, 12551, 13424, 13055, 12480, 13549, 14215, 12944, 15988, - 13097, 12677, 13603, 14745, 12869, 15045, 12947, 12664, 13529, 14769, 13079, 13453, 13052, 12744, 16185, 14851, 13030, 13729, 12598, 12845, - }, - 539: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 427: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 399: []int64{71, 59, 0, 4, 15, 14, 2, 9, 0, 3, 79, 10, 91, 11, 2, 2, 2, 101, 0, 35, - 0, 0, 0, 36, 2, 36, 0, 0, 15, 0, 0, 9, 0, 0, 6, 18, 1, 12, 0, 0, - 103, 15, 5, 0, 0, 6, 0, 28, 6, 37, 21, 0, 7, 26, 4, 5, 0, 22, 0, 3, - 0, 2, 1, 38, 15, 23, 0, 0, 0, 0, 9, 2, 0, 20, 0, 0, 3, 3, 3, 77, - 6, 0, 4, 99, 0, 26, 0, 1, 0, 22, 0, 10, 5, 2, 70, 25, 0, 0, 2, 0, - }, - 467: []int64{2, 0, 0, 4, 1, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 5, 0, 0, 0, - 0, 0, 5, 0, 0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, - 0, 5, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 4, 1, 0, 0, 0, 0, 0, - 5, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 3, 2, - 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 4, 0, 0, 1, 0, 0, 5, 0, 0, - }, - 149: []int64{4529, 3139, 976, 1336, 1328, 854, 781, 678, 587, 874, 1296, 1092, 914, 657, 662, 862, 671, 1366, 724, 1384, - 595, 753, 766, 696, 697, 925, 1215, 579, 700, 644, 730, 595, 857, 1243, 1059, 1037, 937, 644, 449, 627, - 1002, 871, 626, 661, 594, 576, 543, 608, 1409, 1306, 579, 720, 479, 592, 641, 1576, 654, 660, 555, 648, - 606, 457, 580, 633, 1730, 985, 797, 451, 559, 768, 864, 1020, 638, 608, 641, 467, 622, 466, 687, 1507, - 542, 1115, 609, 472, 634, 1398, 556, 589, 730, 544, 625, 679, 525, 480, 1496, 1446, 1136, 683, 507, 704, - }, - 501: []int64{61000, 61000, 61000, 49900, 27100, 27100, 41100, 41100, 41100, 23800, 47100, 47100, 47100, 40600, 40600, 23500, 21400, 26100, 36800, 36800, - 36800, 31600, 19600, 22400, 34800, 37300, 37300, 37300, 23700, 23700, 38500, 38500, 38500, 27400, 27400, 27500, 37200, 37200, 37200, 36500, - 37300, 37300, 37300, 36600, 36600, 27100, 27700, 27700, 45800, 45800, 45800, 28100, 20900, 22100, 36000, 45800, 45800, 45800, 22800, 23500, - 35000, 35000, 35000, 26000, 36100, 36100, 36100, 35400, 35400, 21600, 40900, 40900, 40900, 36900, 36900, 26300, 21800, 22600, 36500, 40500, - 40500, 40500, 23200, 23500, 34300, 37900, 37900, 37900, 22600, 23800, 37200, 37200, 37200, 19500, 41700, 41700, 41700, 35400, 35400, 19700, - }, - 133: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 0, 0, 0, 10, 10, 0, 0, 0, 0, 0, - 0, 0, 7, 0, 10, 0, 0, 0, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, - 10, 0, 0, 11, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 11, 0, 0, 10, 10, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 11, 0, 0, 10, 10, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 11, 0, 0, 10, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 444: []int64{7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, - }, - 414: []int64{2356756, 2354240, 2353756, 2353760, 2353824, 2353756, 2353756, 2353756, 2353620, 2353760, 2353756, 2353756, 2353620, 2353756, 2353712, 2353712, 2353580, 2353580, 2353580, 2355628, - 2355628, 2355500, 2355672, 2355672, 2355688, 2355672, 2355672, 2355672, 2355672, 2355716, 2355716, 2355716, 2355716, 2355716, 2355580, 2355716, 2355720, 2355672, 2355672, 2355672, - 2355672, 2355672, 2355672, 2355672, 2355672, 2355672, 2355672, 2355536, 2355672, 2355672, 2355672, 2355672, 2355740, 2355672, 2355688, 2355672, 2355672, 2355676, 2355672, 2355672, - 2355536, 2355672, 2355672, 2355672, 2355672, 2355672, 2355672, 2355672, 2355672, 2355672, 2355672, 2355672, 2355672, 2355536, 2355672, 2355672, 2355672, 2355672, 2355672, 2355672, - 2355672, 2355672, 2355536, 2355672, 2355672, 2355672, 2355536, 2355676, 2355812, 2355672, 2355672, 2355672, 2355672, 2355672, 2355672, 2355536, 2355672, 2355672, 2355672, 2355540, - }, - 514: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 513: []int64{34500, 36400, 36400, 35700, 35700, 35700, 36400, 36400, 36400, 35700, 35700, 35700, 36400, 36400, 36400, 35700, 35700, 35700, 36300, 36300, - 36300, 35700, 35700, 35700, 35700, 35700, 35700, 34600, 34600, 34600, 35700, 35700, 35700, 34600, 34600, 34600, 35700, 36100, 36100, 35700, - 34600, 34600, 36100, 36100, 36100, 31100, 27000, 27000, 27300, 27500, 27500, 27300, 27300, 27300, 27500, 27500, 27500, 27300, 27300, 27300, - 27500, 27500, 27500, 27300, 27300, 27300, 27300, 27300, 27300, 27300, 27300, 27300, 27300, 27300, 27300, 27300, 27300, 27300, 27300, 28500, - 28500, 27500, 27300, 27300, 27500, 27500, 27500, 27300, 27300, 27300, 27500, 27500, 27500, 27300, 27300, 27300, 28500, 28500, 28500, 27300, - }, - 503: []int64{24600, 26100, 26200, 25700, 25700, 25800, 26300, 26300, 26100, 25500, 25100, 24200, 23500, 22500, 21300, 19300, 17600, 17900, 18300, 18700, - 18500, 18000, 17900, 18100, 18500, 18100, 17900, 17300, 17400, 17600, 18000, 18100, 17900, 17500, 17200, 17300, 17800, 18200, 18000, 17600, - 17500, 17700, 18100, 18000, 17900, 17400, 17400, 17200, 18100, 18100, 18000, 17500, 17000, 17200, 17600, 18000, 17900, 17500, 17400, 17600, - 18000, 17900, 17800, 17300, 17500, 17600, 18000, 18100, 18100, 17600, 17200, 17300, 17700, 17800, 18000, 17500, 17500, 17600, 17700, 17900, - 17700, 17300, 17300, 17600, 18000, 18000, 18000, 17500, 17500, 17300, 17800, 17800, 17800, 17400, 17400, 17700, 18200, 18200, 17800, 17400, - }, - 14: []int64{62600, 77075, 27623, 28796, 42164, 44052, 29757, 33336, 23381, 28748, 52594, 42428, 31328, 35896, 25039, 26988, 35767, 49973, 28095, 52738, - 25992, 28489, 30925, 39862, 28555, 42973, 24731, 27757, 38363, 41920, 27595, 33737, 35930, 28800, 42316, 44616, 27926, 43063, 24453, 27756, - 40219, 41513, 27233, 35284, 24476, 27207, 35227, 43938, 37587, 44219, 27139, 27820, 30524, 40477, 27790, 50045, 27185, 28176, 31853, 41129, - 27734, 30915, 26703, 38213, 50064, 44243, 26290, 33188, 26125, 25601, 42719, 42369, 26139, 38564, 29703, 25603, 32738, 41318, 28690, 54373, - 28665, 26258, 36017, 43638, 25508, 43062, 27378, 26439, 34338, 41717, 25492, 34329, 29567, 25705, 57680, 49805, 26032, 32345, 25920, 26333, - }, - 507: []int64{36500, 38200, 38200, 37800, 37800, 37800, 38200, 38200, 38200, 37800, 37800, 37800, 38200, 38200, 38200, 37800, 37800, 37800, 37800, 37800, - 37800, 37000, 37000, 37000, 37000, 37000, 37000, 36800, 36800, 36800, 37000, 37000, 37000, 36800, 36800, 36800, 37000, 37000, 37000, 36800, - 36500, 36500, 36600, 36600, 36500, 31600, 27500, 27500, 27700, 28100, 28100, 27700, 27700, 27700, 28100, 28100, 28100, 27700, 27700, 27700, - 28100, 28100, 28100, 27700, 27700, 27700, 27700, 27700, 27700, 27700, 27700, 27700, 27700, 27700, 27700, 27700, 27700, 27700, 27700, 29100, - 29100, 28100, 27700, 27700, 28100, 28100, 28100, 27700, 27700, 27700, 28100, 28100, 28100, 27700, 27700, 27900, 29100, 29100, 29100, 27900, - }, - 86: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 462: []int64{4235, 2537, 970, 1379, 1492, 1006, 814, 746, 651, 909, 1389, 1238, 953, 744, 726, 901, 740, 1529, 754, 1550, - 660, 786, 838, 822, 712, 1004, 1297, 605, 789, 773, 763, 661, 933, 1297, 1211, 1185, 975, 711, 509, 654, - 1085, 1011, 653, 749, 657, 601, 607, 738, 1470, 1469, 643, 752, 541, 721, 669, 1326, 720, 689, 639, 777, - 633, 517, 645, 661, 1911, 1130, 830, 511, 622, 798, 941, 1165, 666, 694, 706, 490, 688, 590, 717, 1677, - 605, 1162, 675, 596, 662, 1496, 618, 615, 821, 670, 654, 748, 587, 503, 1666, 1611, 1184, 751, 568, 736, - }, - 148: []int64{4235, 2537, 970, 1379, 1492, 1006, 814, 746, 651, 909, 1389, 1238, 953, 744, 726, 901, 740, 1529, 754, 1550, - 660, 786, 838, 822, 712, 1004, 1297, 605, 789, 773, 763, 661, 933, 1297, 1211, 1185, 975, 711, 509, 654, - 1085, 1011, 653, 749, 657, 601, 607, 738, 1470, 1469, 643, 752, 541, 721, 669, 1326, 720, 689, 639, 777, - 633, 517, 645, 661, 1911, 1130, 830, 511, 622, 798, 941, 1165, 666, 694, 706, 490, 688, 590, 717, 1677, - 605, 1162, 675, 596, 662, 1496, 618, 615, 821, 670, 654, 748, 587, 503, 1666, 1611, 1184, 751, 568, 736, - }, -} - -var ResourcePoolMetricData = map[int32][]int64{ - 6: []int64{2648, 2660, 2642, 2704, 2653, 2610, 2679, 2637, 2688, 2575, 2703, 2546, 2629, 2689, 2653, 2564, 2717, 2545, 2613, 2672, - 2767, 2549, 2648, 2535, 2618, 2693, 2635, 2584, 2684, 2585, 2770, 2655, 2721, 2665, 2804, 2563, 2920, 2718, 2661, 2741, - 2731, 2617, 2692, 2716, 2627, 2612, 2725, 2536, 2705, 2757, 2741, 2574, 3086, 2513, 2748, 2689, 2678, 3847, 2742, 2552, - 2672, 2731, 2667, 2717, 2727, 2570, 2687, 2650, 2702, 3887, 2694, 2583, 2679, 2687, 2690, 2664, 2668, 2592, 2809, 2669, - 2610, 3783, 2672, 2576, 2705, 2693, 2768, 2665, 2764, 2666, 2684, 2743, 2721}, - 98: []int64{69961436, 69961085, 69960708, 69961322, 69961734, 69961582, 69960647, 69960520, 69961108, 69961043, 69959288, 69961340, 69963664, 69963803, 69966339, 69966730, 69966854, 69967577, 69969142, 69970332, - 69970629, 69970167, 69971088, 69970684, 69971038, 69971578, 69968726, 69968868, 69968092, 69968632, 69968387, 69968226, 69968412, 69967611, 69968527, 69969251, 69968896, 69968292, 69966611, 69966893, - 69966583, 69969648, 69969991, 69970006, 69970131, 69970476, 69970138, 69970011, 69969946, 69970596, 69970963, 69970303, 69970393, 69970626, 69970975, 69970635, 69970602, 69970758, 69970815, 69970774, - 69971567, 69974147, 69975787, 69973389, 69974243, 69974761, 69976130, 69977938, 69977197, 69976327, 69975736, 69975777, 69975205, 69974629, 69974275, 69973691, 69973552, 69972974, 69972629, 69972392, - 69973105, 69974080, 69976093, 69976312, 69979980, 69980007, 69984359, 69987261, 69988144, 69988443, 69987244, 69986857, 69986303}, - 29: []int64{71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, - 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, - 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, - 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, - 71094272, 71094272, 71094272, 71094272, 71097821, 71098368, 71102190, 71102464, 71102464, 71102464, 71102464, 71102464, 71102464}, - 33: []int64{14147864, 14298869, 13853549, 14071653, 14408592, 13569734, 13775254, 13631952, 14009437, 14864391, 15225092, 14491085, 14256903, 13928347, 13923454, 13900408, 14486205, 13712336, 13669000, 13853559, - 13605408, 14571477, 15720747, 15202728, 14281366, 14092624, 14070270, 14407903, 14308628, 13908775, 14154848, 13566956, 14234531, 14219868, 16074441, 14676380, 14672195, 14980482, 14745536, 14405798, - 14986710, 15169160, 14108018, 14105911, 13912964, 14536520, 15798325, 15342582, 14548403, 14673552, 15304788, 14523272, 15387281, 15152398, 14791723, 14362474, 13642436, 14774898, 16125462, 15111862, - 14085672, 14342207, 13367707, 15036358, 15538271, 14937092, 14194016, 13878714, 13884307, 14810548, 15532667, 15050322, 14081436, 14789578, 14602931, 14380633, 14739248, 14182827, 15072001, 14819650, - 14119919, 14589666, 16036683, 14730158, 14321214, 14659554, 14368049, 14447758, 14924502, 13787139, 14776992, 15789234, 14169540}, - 37: []int64{1224491, 1224767, 1224727, 1224610, 1224560, 1224513, 1224444, 1224411, 1224390, 1224364, 1224323, 1223250, 1222386, 1221184, 1220120, 1218849, 1217944, 1217003, 1215534, 1215959, - 1215276, 1214698, 1214640, 1214615, 1214655, 1214319, 1215025, 1214862, 1214388, 1214122, 1214082, 1214049, 1214000, 1213937, 1213708, 1213309, 1213506, 1213300, 1212838, 1212427, - 1211531, 1206346, 1206131, 1206061, 1205836, 1205722, 1205495, 1205681, 1205711, 1204664, 1204509, 1205405, 1205132, 1204909, 1204796, 1204754, 1204743, 1204720, 1204484, 1204448, - 1204636, 1204476, 1204354, 1204331, 1204079, 1203968, 1203899, 1203865, 1203811, 1203734, 1203865, 1203628, 1203251, 1203212, 1203098, 1203057, 1203938, 1203697, 1203608, 1203573, - 1203545, 1203465, 1202291, 1201669, 1201782, 1201631, 1201743, 1201529, 1201474, 1201407, 1199122, 1198521, 1198570}, - 70: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - 90: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - 7: []int64{1406, 1419, 1426, 1412, 1413, 1408, 1472, 1426, 1462, 1424, 1447, 1403, 1433, 1429, 1420, 1395, 1447, 1396, 1406, 1413, - 1432, 1420, 1425, 1411, 1432, 1437, 1444, 1407, 1448, 1450, 1477, 1431, 1451, 1437, 1403, 1459, 1478, 1452, 1447, 1446, - 1410, 1441, 1445, 1415, 1433, 1435, 1458, 1419, 1441, 1476, 1310, 1482, 1451, 1458, 1455, 1428, 1446, 1443, 1436, 1449, - 1422, 1394, 1424, 1402, 1417, 1410, 1419, 1432, 1446, 1421, 1440, 1430, 1406, 1463, 1448, 1446, 1432, 1435, 1465, 1484, - 1443, 1451, 1414, 1446, 1412, 1429, 1442, 1424, 1497, 1458, 1490, 1463, 1533, 1482, 1473, 1468, 1467, 294, 294, 293, - }, - 8: []int64{6539, 7702, 6548, 8268, 6700, 7397, 6790, 7898, 6476, 6905, 6238, 7278, 6627, 7807, 5958, 6792, 6036, 6789, 6141, 7983, - 7889, 6401, 5709, 6512, 5807, 7728, 5975, 6809, 6144, 7257, 8149, 7885, 6501, 8131, 7308, 6462, 8264, 8044, 6631, 7954, - 7046, 7166, 6704, 7344, 6438, 6346, 6730, 6478, 6916, 7791, 6944, 6179, 7985, 6202, 6726, 8141, 6854, 9215, 6561, 6467, - 6547, 7569, 6386, 7388, 7036, 6134, 6651, 7371, 6545, 11069, 6235, 6345, 6048, 8274, 6422, 7397, 6544, 6905, 7577, 7600, - 5693, 8974, 6178, 6603, 6656, 7968, 7048, 7406, 6370, 7129, 5815, 7886, 6045, 8873, 6834, 7219, 6213, 1852, 583, 753, - }, - 16: []int64{6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, - 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, - 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, - 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, - 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 6428, 100, 100, 100, - }, - 17: []int64{14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, - 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 15, 14, 15, 14, 16, 15, 14, 15, - 15, 14, 14, 15, 14, 14, 15, 14, 15, 15, 15, 14, 17, 13, 15, 14, 14, 21, 15, 14, - 14, 15, 14, 15, 15, 14, 14, 14, 14, 21, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, - 14, 21, 14, 14, 15, 14, 15, 14, 15, 14, 14, 15, 15, 20, 15, 14, 14, 253, 184, 198, - }, - 18: []int64{2805, 3008, 2834, 2990, 2887, 2897, 2838, 2978, 2875, 2848, 2889, 2868, 2799, 3006, 2816, 2871, 2885, 2862, 2764, 2979, - 2813, 2966, 2885, 2841, 2816, 3021, 2825, 2884, 2896, 2868, 3005, 2990, 2858, 3027, 2985, 2878, 3136, 3049, 2840, 3057, - 2932, 2952, 2886, 3029, 2822, 2907, 2908, 2846, 2885, 3019, 2957, 2938, 3268, 2858, 2922, 3005, 2894, 4130, 2912, 2893, - 2877, 3010, 2896, 3021, 2943, 2885, 2873, 2961, 2870, 4165, 2865, 2906, 2835, 3017, 2871, 2934, 2842, 2883, 2955, 2996, - 2852, 4035, 2909, 2881, 2864, 3050, 2947, 2936, 2978, 2983, 2850, 3069, 2881, 4073, 3006, 2929, 2824, 549, 402, 429, - }, - 19: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, - }, - 20: []int64{196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 4, 4, 4, - }, - 22: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 30: []int64{71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, - 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, - 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, - 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, - 71094272, 71094272, 71094272, 71094272, 71094272, 71098368, 71100416, 71102464, 71102464, 71102464, 71102464, 71102464, 71102464, 71102464, 71102464, 71102464, 71102464, 14680064, 14680064, 14680064, - }, - 31: []int64{71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, - 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, - 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, - 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, 71094272, - 71094272, 71094272, 71094272, 71094272, 71098368, 71098368, 71102464, 71102464, 71102464, 71102464, 71102464, 71102464, 71102464, 71102464, 71102464, 71102464, 71102464, 14680064, 14680064, 14680064, - }, - 34: []int64{11984984, 12310048, 12089852, 11869644, 12131784, 11754300, 11806732, 11460704, 12268108, 12656084, 13316684, 12509284, 12362480, 12435872, 12236644, 11733332, 12320532, 11712352, 12194704, 11743820, - 11785764, 12603648, 12750452, 13044056, 12456848, 12194700, 12268112, 12519768, 12142276, 12456848, 12760936, 11995480, 11680904, 12477824, 13872424, 13117456, 12372964, 12855352, 12687536, 12551220, - 13253768, 12771416, 12026932, 11901100, 11796248, 12488304, 12530248, 13285224, 12729480, 12792396, 12918224, 12404420, 12844828, 12718996, 12792388, 12561704, 12016444, 12289072, 14312828, 13411048, - 12110816, 12089848, 11722844, 13002108, 13222312, 12656076, 12477820, 11953532, 12047904, 12760936, 13201340, 13106960, 12404420, 12561712, 12939200, 12582680, 12561704, 12142280, 12970648, 13138420, - 12477820, 12771420, 12519764, 12823848, 12456848, 13211828, 11984992, 12603648, 12698016, 12257620, 12729476, 12802884, 12519764, 12823852, 13379596, 12844820, 12624624, 4236240, 4341100, 4487900, - }, - 35: []int64{17406204, 17070628, 16022008, 16630184, 16797952, 14962948, 16493868, 15319468, 16672116, 17773168, 17500540, 16829408, 16493868, 15759872, 16042976, 17028680, 16892368, 15665488, 15749384, 16284196, - 15906708, 16850420, 18486248, 17668348, 17049608, 16441444, 16294680, 17332768, 17479532, 15382380, 15581652, 15455820, 17479532, 16147880, 18286976, 16609288, 16567348, 17343296, 16567264, 16619700, - 17374668, 17678756, 16703620, 17206936, 16735036, 16818920, 19377496, 18979120, 17668268, 16777024, 17227912, 17133576, 18444296, 17699768, 17133580, 16819008, 15508208, 18182080, 18958024, 17636860, - 16389092, 17227948, 15340432, 17951424, 19398464, 17867580, 16525400, 15969576, 16567272, 17322240, 18265960, 17217380, 16514832, 17123012, 16651156, 17217388, 17752164, 16797996, 17301312, 16965768, - 16640752, 17353780, 19786396, 16472900, 16756008, 16923780, 17343212, 17490056, 17825596, 15896180, 17500496, 18905632, 16913372, 17374748, 18737944, 17007748, 17196492, 5955908, 5221904, 5515508, - }, - 38: []int64{1224116, 1224140, 1224660, 1224576, 1224544, 1224472, 1224420, 1224404, 1224376, 1224348, 1224308, 1222636, 1221028, 1221104, 1219004, 1217960, 1217928, 1215552, 1215528, 1215884, - 1214788, 1214688, 1214632, 1214608, 1214404, 1214264, 1214148, 1214616, 1214152, 1214096, 1214064, 1214036, 1213972, 1213888, 1213556, 1213292, 1213264, 1213196, 1212664, 1211552, - 1211516, 1206068, 1206108, 1206048, 1205820, 1205496, 1205492, 1205468, 1204548, 1204572, 1204492, 1204240, 1204980, 1204828, 1204776, 1204740, 1204732, 1204696, 1204460, 1204440, - 1204424, 1204380, 1204336, 1204072, 1204016, 1203940, 1203892, 1203844, 1203796, 1203720, 1203688, 1203076, 1203056, 1203128, 1203084, 1203028, 1203740, 1203624, 1203580, 1203552, - 1203516, 1203448, 1201708, 1201616, 1201612, 1201516, 1201692, 1201520, 1201452, 1201384, 1198548, 1198516, 1198472, 1198576, 1198560, 1196536, 1196512, 0, 0, 0, - }, - 39: []int64{1224732, 1225764, 1224908, 1224660, 1224576, 1224544, 1224464, 1224420, 1224404, 1224376, 1224352, 1224320, 1223000, 1221336, 1221104, 1219004, 1217960, 1217728, 1215548, 1216128, - 1215840, 1214712, 1214656, 1214632, 1215200, 1214432, 1215632, 1215088, 1214612, 1214152, 1214092, 1214060, 1214032, 1213968, 1213888, 1213320, 1213612, 1213536, 1213176, 1212660, - 1211548, 1208264, 1206156, 1206080, 1205844, 1205812, 1205496, 1206136, 1205884, 1204784, 1204532, 1206052, 1205248, 1204968, 1204824, 1204780, 1204752, 1204740, 1204700, 1204460, - 1204796, 1204708, 1204376, 1204604, 1204268, 1203996, 1203908, 1203888, 1203824, 1203740, 1204148, 1203772, 1203408, 1203360, 1203124, 1203084, 1204252, 1203740, 1203620, 1203584, - 1203572, 1203516, 1203440, 1201708, 1201980, 1201896, 1201856, 1201540, 1201504, 1201448, 1201372, 1198532, 1198856, 1198604, 1198576, 1196552, 1196904, 0, 0, 0, - }, - 41: []int64{1055608, 1055673, 1055611, 1055552, 1055515, 1055476, 1055412, 1055381, 1055362, 1055339, 1055315, 1054702, 1054162, 1053129, 1053072, 1053034, 1053001, 1052964, 1052902, 1053140, - 1053065, 1052986, 1052956, 1052937, 1053154, 1053106, 1053207, 1053163, 1053114, 1053076, 1053048, 1053021, 1052985, 1052934, 1052884, 1052877, 1053076, 1053086, 1053020, 1052979, - 1052925, 1052908, 1052834, 1052773, 1052745, 1052715, 1052707, 1052783, 1052930, 1052939, 1052823, 1052902, 1052858, 1052810, 1052757, 1052723, 1052703, 1052680, 1052659, 1052649, - 1052844, 1052912, 1052870, 1052881, 1052877, 1052824, 1052791, 1052763, 1052717, 1052664, 1052715, 1052572, 1052357, 1052434, 1052378, 1052343, 1052500, 1052423, 1052385, 1052362, - 1052328, 1052257, 1051141, 1050565, 1050688, 1050780, 1050854, 1050744, 1050700, 1050671, 1050642, 1050621, 1050643, 1050660, 1050640, 1050610, 1050777, 0, 0, 0, - }, - 42: []int64{1055340, 1055544, 1055588, 1055528, 1055500, 1055440, 1055388, 1055376, 1055348, 1055328, 1055304, 1054396, 1052844, 1053096, 1053052, 1053016, 1052988, 1052920, 1052896, 1053104, - 1053060, 1052976, 1052948, 1052932, 1052864, 1053084, 1053024, 1053136, 1053100, 1053060, 1053032, 1053012, 1052968, 1052892, 1052880, 1052864, 1052844, 1053060, 1053004, 1052944, - 1052912, 1052788, 1052812, 1052760, 1052732, 1052708, 1052704, 1052684, 1052716, 1052880, 1052808, 1052780, 1052844, 1052784, 1052740, 1052712, 1052692, 1052664, 1052652, 1052644, - 1052640, 1052896, 1052852, 1052808, 1052852, 1052808, 1052784, 1052748, 1052704, 1052656, 1052632, 1052176, 1052164, 1052408, 1052364, 1052320, 1052444, 1052396, 1052368, 1052344, - 1052312, 1052244, 1050592, 1050528, 1050524, 1050756, 1050812, 1050736, 1050684, 1050656, 1050632, 1050616, 1050572, 1050648, 1050632, 1050604, 1050588, 0, 0, 0, - }, - 43: []int64{1055696, 1056120, 1055628, 1055588, 1055528, 1055500, 1055432, 1055388, 1055376, 1055348, 1055328, 1055308, 1054744, 1053152, 1053096, 1053052, 1053016, 1052988, 1052916, 1053220, - 1053072, 1053000, 1052968, 1052948, 1053416, 1053128, 1053340, 1053208, 1053136, 1053100, 1053056, 1053028, 1053008, 1052964, 1052892, 1052884, 1053172, 1053112, 1053040, 1053000, - 1052940, 1053068, 1052856, 1052792, 1052752, 1052724, 1052708, 1053040, 1053028, 1052968, 1052844, 1052988, 1052876, 1052832, 1052780, 1052732, 1052712, 1052692, 1052664, 1052652, - 1052976, 1052924, 1052892, 1053072, 1052904, 1052840, 1052800, 1052780, 1052728, 1052668, 1052884, 1052676, 1052504, 1052468, 1052404, 1052364, 1052556, 1052444, 1052392, 1052368, - 1052348, 1052308, 1052236, 1050592, 1050860, 1050808, 1050944, 1050752, 1050724, 1050680, 1050648, 1050624, 1050824, 1050672, 1050648, 1050612, 1050948, 0, 0, 0, - }, - 71: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 72: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 91: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 92: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 99: []int64{69960688, 69959600, 69960228, 69960116, 69960688, 69960736, 69959156, 69959576, 69960484, 69959796, 69957320, 69958684, 69961812, 69962888, 69964840, 69965848, 69965972, 69966228, 69968528, 69969252, - 69969080, 69968724, 69970196, 69969716, 69969888, 69970532, 69967824, 69967952, 69967564, 69967904, 69967848, 69967588, 69967500, 69966760, 69967660, 69968544, 69968168, 69966496, 69965724, 69965868, - 69965816, 69966268, 69968824, 69969272, 69968828, 69969344, 69969496, 69968924, 69969160, 69970168, 69970320, 69969004, 69969592, 69969720, 69970316, 69969928, 69969808, 69969612, 69969896, 69970544, - 69970444, 69971520, 69974856, 69972324, 69973136, 69974292, 69975128, 69976984, 69976008, 69975604, 69974656, 69975084, 69974348, 69973416, 69972924, 69972828, 69972744, 69972144, 69971712, 69971752, - 69972212, 69973544, 69973784, 69975728, 69975584, 69979180, 69981700, 69986452, 69987628, 69988032, 69985860, 69985764, 69985400, 69984384, 69983756, 69983760, 69983452, 14680064, 14680064, 14680064, - }, - 100: []int64{69963068, 69962232, 69962076, 69962484, 69963332, 69962460, 69962284, 69961492, 69962064, 69961940, 69960848, 69963564, 69965540, 69964756, 69967632, 69967936, 69967904, 69969332, 69969792, 69970912, - 69972048, 69971304, 69971508, 69971548, 69972064, 69972608, 69971052, 69969968, 69968996, 69969416, 69969212, 69968836, 69969444, 69968496, 69969572, 69969964, 69969912, 69970156, 69967196, 69967908, - 69967208, 69971704, 69970876, 69970952, 69971680, 69971172, 69970660, 69970884, 69971432, 69971980, 69971460, 69972160, 69971432, 69971556, 69971820, 69971812, 69971924, 69971856, 69972396, 69972084, - 69972636, 69975972, 69976760, 69974320, 69975224, 69976312, 69977512, 69978932, 69978144, 69976904, 69976420, 69976648, 69976040, 69975928, 69975108, 69974296, 69974592, 69973736, 69973496, 69973216, - 69973868, 69974892, 69977532, 69976804, 69981496, 69980680, 69985564, 69988184, 69988860, 69988992, 69989032, 69987924, 69987492, 69986820, 69984960, 69985268, 69985340, 14680064, 14680064, 14680064, - }, - 102: []int64{3492918, 3493174, 3492757, 3492740, 3493216, 3493191, 3493195, 3493207, 3493435, 3493248, 3492551, 3493147, 3493026, 3492751, 3492580, 3492757, 3492723, 3492774, 3492555, 3493055, - 3492784, 3492681, 3493216, 3492830, 3492892, 3492948, 3493046, 3493060, 3493087, 3492704, 3492637, 3492534, 3492642, 3492200, 3491916, 3492401, 3492365, 3492496, 3492244, 3492346, - 3492494, 3492328, 3492643, 3492845, 3492800, 3492768, 3492817, 3492966, 3492993, 3492775, 3492814, 3492854, 3492624, 3492659, 3492556, 3492909, 3492991, 3492511, 3492570, 3492676, - 3493124, 3493161, 3492891, 3492730, 3492821, 3492603, 3492387, 3492922, 3492765, 3492628, 3492580, 3492887, 3493048, 3492725, 3492645, 3492413, 3492408, 3492389, 3492519, 3492265, - 3492381, 3492345, 3492567, 3492055, 3492620, 3492210, 3492316, 3492033, 3491852, 3492023, 3492222, 3492334, 3492414, 3492141, 3492333, 3492270, 3492054, 99800, 99966, 100021, - }, - 103: []int64{3491848, 3492168, 3491848, 3491912, 3492200, 3492136, 3492088, 3491976, 3492280, 3492072, 3491768, 3491880, 3491992, 3491736, 3491608, 3491704, 3491720, 3491688, 3491400, 3492008, - 3491704, 3491496, 3491944, 3491672, 3491816, 3491640, 3491864, 3492152, 3491896, 3491336, 3491176, 3491016, 3491640, 3491112, 3490792, 3491272, 3491448, 3491592, 3491192, 3491352, - 3491320, 3491480, 3491416, 3491848, 3491864, 3491528, 3491832, 3491544, 3491624, 3491720, 3491656, 3491656, 3491464, 3491624, 3491608, 3492024, 3491960, 3491688, 3491112, 3491496, - 3491928, 3492040, 3491688, 3491400, 3491480, 3491528, 3491352, 3492152, 3491736, 3491348, 3491540, 3491764, 3491956, 3491508, 3491412, 3491316, 3491348, 3491460, 3491508, 3491348, - 3491172, 3491092, 3491288, 3490760, 3491264, 3491200, 3490984, 3490696, 3490568, 3490648, 3490824, 3491256, 3491240, 3491064, 3491192, 3491240, 3490744, 99416, 99752, 99704, - }, - 104: []int64{3494248, 3494072, 3493528, 3493720, 3494312, 3494168, 3494232, 3494216, 3494440, 3494360, 3493752, 3494504, 3494296, 3493784, 3493864, 3494424, 3493848, 3494056, 3493704, 3494152, - 3494024, 3493976, 3494216, 3493864, 3493912, 3494104, 3494264, 3494168, 3494248, 3493736, 3493960, 3494008, 3493464, 3493352, 3493128, 3493672, 3493528, 3493336, 3493336, 3493304, - 3493496, 3493288, 3493720, 3494040, 3493896, 3494104, 3494120, 3494264, 3494280, 3493880, 3493896, 3493928, 3493832, 3493720, 3493592, 3493816, 3493912, 3493496, 3493912, 3493672, - 3494024, 3494168, 3494264, 3493768, 3493832, 3493544, 3493480, 3494008, 3493768, 3493700, 3493556, 3493988, 3494212, 3494020, 3493828, 3493748, 3493476, 3493364, 3493556, 3493188, - 3493604, 3493576, 3493864, 3492936, 3493728, 3493120, 3493336, 3493016, 3492952, 3493080, 3493336, 3493352, 3493448, 3493144, 3493640, 3493320, 3493560, 100088, 100312, 100392, - }, - 105: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 106: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 107: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 108: []int64{254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, - 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, - 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, - 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, - 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 254812160, 14680064, 14680064, 14680064, - }, - 109: []int64{72669509, 72669222, 72668798, 72669432, 72669934, 72669814, 72668820, 72668626, 72669167, 72669100, 72667309, 72669518, 72671803, 72671876, 72674528, 72674987, 72675130, 72675893, 72677596, 72678840, - 72679130, 72678625, 72679555, 72679104, 72679477, 72680094, 72677130, 72677211, 72676337, 72676877, 72676613, 72676430, 72676661, 72675813, 72676695, 72677409, 72677011, 72676365, 72674592, 72674894, - 72674587, 72677618, 72677960, 72677989, 72678323, 72678753, 72677997, 72677835, 72677884, 72678533, 72678783, 72678153, 72678332, 72678647, 72679004, 72678684, 72678613, 72678731, 72678783, 72678797, - 72679536, 72682196, 72683921, 72681372, 72682292, 72682820, 72684300, 72686184, 72685409, 72684595, 72683952, 72683983, 72683356, 72682772, 72682415, 72681736, 72681594, 72680926, 72680580, 72680310, - 72681090, 72682132, 72684368, 72684699, 72688731, 72688798, 72693599, 72696711, 72697646, 72697938, 72696678, 72696250, 72695584, 72694773, 72693560, 72693871, 72693294, 14715452, 14715452, 14715452, - }, - 111: []int64{30656722, 31076179, 30770388, 30592011, 30996556, 30532182, 30390123, 30352947, 30675033, 31077121, 31877885, 31308104, 30952698, 30718327, 30548242, 30083717, 31245735, 30332823, 30207174, 30364905, - 30279320, 31032211, 32115237, 32021915, 30972413, 30812060, 30826516, 30672099, 30929837, 30838081, 30966531, 30490329, 30788887, 30599961, 32589503, 31589096, 31232156, 31685175, 31359139, 30879847, - 31365331, 31837189, 30903611, 30615977, 30361114, 31113485, 32588192, 31584467, 31259797, 31681825, 31810135, 31252656, 32144658, 31630300, 31588314, 31299303, 30411427, 31516131, 32632526, 31501616, - 30845373, 30970138, 30053117, 30947587, 31970379, 31453594, 31041957, 30678159, 30610308, 31591595, 32223776, 31467215, 30827138, 31322148, 31453916, 31040880, 31097992, 30641493, 31552559, 31244155, - 31054060, 31418432, 32604574, 31275788, 31245161, 31354098, 31005407, 30914706, 31448268, 30663530, 31529169, 32255806, 30915270, 31310240, 33316725, 31639878, 31426836, 4947895, 4803891, 4987044, - }, - 112: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 138: []int64{2230, 2625, 2415, 2525, 2444, 2452, 2567, 2789, 2390, 2748, 2639, 2602, 2475, 2902, 2513, 2845, 2500, 2471, 2566, 2865, - 2526, 2841, 2714, 2647, 2494, 2871, 2693, 2910, 2601, 2731, 2697, 2840, 2662, 3119, 3002, 2612, 2718, 3016, 2735, 2919, - 2864, 2973, 2713, 2782, 2290, 2544, 2365, 2346, 2323, 2851, 3113, 2561, 4712, 2480, 2570, 2801, 2484, 3698, 2650, 2606, - 2280, 2781, 2703, 2796, 2532, 2595, 2507, 2814, 2586, 3219, 2737, 2762, 2744, 2960, 2701, 2893, 2488, 2716, 3324, 2887, - 2641, 3578, 2718, 2797, 2781, 2970, 2637, 2917, 2638, 2763, 2521, 3081, 2977, 3492, 2563, 2511, 2277, 573, 296, 401, - }, - 139: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 152: []int64{1504328, 1575229, 1508808, 1539050, 1521242, 1501829, 1575085, 1588140, 1552456, 1612624, 1639628, 1537009, 1757880, 1629266, 1527363, 1627738, 1527973, 1533938, 1570509, 1570986, - 1567765, 1572046, 1611014, 1541704, 1585722, 1563972, 1559854, 1705802, 1580902, 1568416, 1592145, 1537276, 1605016, 1667988, 1727917, 1565331, 2161135, 1638339, 1562243, 1661089, - 1584488, 1584636, 1629115, 1601832, 1541515, 1597786, 1614639, 1601248, 1554451, 1760051, 2052848, 1585702, 3227857, 1567160, 1637085, 1542094, 1563545, 3143052, 1671157, 1556602, - 1595426, 1539979, 1573539, 1627501, 1602214, 1524304, 1528918, 1558122, 1587828, 2854876, 1617354, 1588144, 1562083, 1557448, 1583029, 1592644, 1552987, 1506212, 2721076, 1575108, - 1580946, 3205255, 1625244, 1557114, 1644929, 1716253, 1653792, 1612237, 1629766, 1748134, 1720512, 1606758, 1851552, 2960837, 1868642, 1616094, 1552098, 588169, 567729, 571114, - }, - 153: []int64{1210, 1210, 1212, 1214, 1206, 1224, 1224, 1202, 1190, 1332, 1260, 1186, 1256, 1292, 1290, 1238, 1256, 1204, 1280, 1200, - 1232, 1208, 1238, 1212, 1212, 1232, 1206, 1242, 1188, 1256, 1218, 1214, 1194, 1290, 1218, 1186, 1254, 1216, 1194, 1242, - 1202, 1212, 1316, 1230, 1180, 1262, 1730, 1204, 1238, 1222, 1204, 1376, 1418, 1238, 1208, 1218, 1208, 5360, 1204, 1222, - 1192, 1192, 1220, 1327, 1178, 1224, 1218, 1240, 1188, 5604, 1210, 1224, 1203, 1244, 1244, 1210, 1244, 1206, 1234, 1180, - 1226, 5422, 1268, 1188, 1216, 1222, 1196, 1200, 1240, 1198, 1208, 1206, 1254, 5459, 1234, 1180, 1388, 0, 0, 0, - }, - 157: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 159: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, -} - -var ClusterMetricData = map[int32][]int64{ - 6: []int64{2660, 2642, 2704, 2653, 2610, 2679, 2637, 2688, 2575, 2703, 2546, 2629, 2689, 2653, 2564, 2717, 2545, 2613, 2672, 2767, - 2549, 2648, 2535, 2618, 2693, 2635, 2584, 2684, 2585, 2770, 2655, 2721, 2665, 2804, 2563, 2920, 2718, 2661, 2741, 2731, - 2617, 2692, 2716, 2627, 2612, 2725, 2536, 2705, 2757, 2741, 2574, 3086, 2513, 2748, 2689, 2678, 3847, 2742, 2552, 2672, - 2731, 2667, 2717, 2727, 2570, 2687, 2650, 2702, 3887, 2694, 2583, 2679, 2687, 2690, 2664, 2668, 2592, 2809, 2669, 2610, - 3783, 2672, 2576, 2705, 2693, 2768, 2665, 2764, 2666, 2684, 2743, 2721, 3745, 2817, 2626, 2643}, - 98: []int64{80966231, 80972025, 80967147, 80971805, 80971461, 80960856, 80971698, 80968629, 80966792, 80968280, 80965688, 80968160, 80972184, 80967234, 80974374, 80973069, 80969175, 80972462, 80974107, 80971158, - 80973760, 80971466, 80972732, 80976757, 80968959, 80978902, 80973979, 80970096, 80972837, 80971344, 80970522, 80978912, 80973926, 80974815, 80982004, 80972623, 80975529, 80975408, 80974234, 80981847, - 80980402, 80980768, 80982646, 80978686, 80982500, 80984391, 80977749, 80983381, 80981437, 80983425, 80983920, 80977214, 80980461, 80983718, 80975363, 80982565, 80988168, 80977604, 80981236, 80977706, - 80983249, 80985807, 80977272, 80983595, 80987325, 80979731, 80987109, 80984116, 80986864, 80984657, 80983357, 80984733, 80983009, 80974655, 80981406, 80980158, 80977819, 80984935, 80980954, 80983489, - 80994774, 80985680, 80987050, 80996748, 80987352, 80996335, 80992486, 80991240, 80998195, 80990395, 80995222, 80997350, 80996714, 80992828, 80995344, 80991168}, - 29: []int64{73268364, 73268360, 73268358, 73268390, 73268427, 73268473, 73268419, 73268500, 73268407, 73268923, 73268921, 73269517, 73269343, 73269023, 73269710, 73268886, 73269368, 73269205, 73268503, 73268660, - 73268870, 73268673, 73268345, 73268344, 73268321, 73268895, 73268583, 73268411, 73268513, 73268571, 73268623, 73268251, 73268411, 73268306, 73268250, 73268253, 73268309, 73268317, 73269368, 73271047, - 73269682, 73268469, 73268720, 73268828, 73269641, 73269243, 73268832, 73269108, 73269050, 73268848, 73268895, 73268571, 73268889, 73268510, 73268253, 73268887, 73268927, 73268972, 73268729, 73268308, - 73268357, 73268252, 73268253, 73268572, 73268261, 73268299, 73268252, 73269763, 73269479, 73268300, 73268898, 73269226, 73268552, 73268331, 73268615, 73268571, 73268839, 73268481, 73268792, 73269221, - 73268894, 73269185, 73269022, 73272474, 73273345, 73276979, 73277015, 73277311, 73277095, 73277128, 73276683, 73276603, 73276938, 73276502, 73276687, 73276890}, - 33: []int64{14802617, 14334048, 14652589, 14878941, 14109341, 14296412, 14128174, 14512681, 15409736, 15727532, 15005265, 14784211, 14444092, 14427274, 14440723, 14999719, 14227289, 14192172, 14367760, 14124191, - 15086676, 16296614, 15694711, 14773850, 14615508, 14579159, 14913646, 14818759, 14431242, 14649121, 14070432, 14769608, 14726241, 16565988, 15190989, 15156258, 15454480, 15236560, 14920029, 15467985, - 15690148, 14625978, 14627532, 14433452, 15056912, 16335706, 15852718, 15089894, 15188408, 15779104, 15033057, 15910760, 15677495, 15311713, 14893944, 14156923, 15382805, 16640532, 15618825, 14590669, - 14815275, 13882064, 15580462, 16066677, 15450425, 14709417, 14396746, 14410821, 15454994, 16150884, 15504171, 14596072, 15298748, 15116741, 14893971, 15254242, 14718071, 15552055, 15301147, 14657525, - 15188266, 16529916, 15247158, 14850729, 15175486, 14894463, 14965769, 15417648, 14307234, 15317129, 16306939, 14662144, 15226145, 17060333, 15423605, 15096561}, - 49: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - 90: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}, - 7: []int64{1419, 1426, 1412, 1413, 1408, 1472, 1426, 1462, 1424, 1447, 1403, 1433, 1429, 1420, 1395, 1447, 1396, 1406, 1413, 1432, - 1420, 1425, 1411, 1432, 1437, 1444, 1407, 1448, 1450, 1477, 1431, 1451, 1437, 1403, 1459, 1478, 1452, 1447, 1446, 1410, - 1441, 1445, 1415, 1433, 1435, 1458, 1419, 1441, 1476, 1310, 1482, 1451, 1458, 1455, 1428, 1446, 1443, 1436, 1449, 1422, - 1394, 1424, 1402, 1417, 1410, 1419, 1432, 1446, 1421, 1440, 1430, 1406, 1463, 1448, 1446, 1432, 1435, 1465, 1484, 1443, - 1451, 1414, 1446, 1412, 1429, 1442, 1424, 1497, 1458, 1490, 1463, 1533, 1482, 1473, 1468, 1467, 294, 294, 293, 0, - }, - 8: []int64{7702, 6548, 8268, 6700, 7397, 6790, 7898, 6476, 6905, 6238, 7278, 6627, 7807, 5958, 6792, 6036, 6789, 6141, 7983, 7889, - 6401, 5709, 6512, 5807, 7728, 5975, 6809, 6144, 7257, 8149, 7885, 6501, 8131, 7308, 6462, 8264, 8044, 6631, 7954, 7046, - 7166, 6704, 7344, 6438, 6346, 6730, 6478, 6916, 7791, 6944, 6179, 7985, 6202, 6726, 8141, 6854, 9215, 6561, 6467, 6547, - 7569, 6386, 7388, 7036, 6134, 6651, 7371, 6545, 11069, 6235, 6345, 6048, 8274, 6422, 7397, 6544, 6905, 7577, 7600, 5693, - 8974, 6178, 6603, 6656, 7968, 7048, 7406, 6370, 7129, 5815, 7886, 6045, 8873, 6834, 7219, 6213, 1852, 583, 753, 0, - }, - 9: []int64{4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 0, - }, - 15: []int64{16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, - 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, - 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, - 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, - 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 16008, 4608, 4608, 4608, 0, - }, - 17: []int64{1855, 1834, 1862, 1838, 1821, 1849, 1840, 1848, 1815, 1852, 1785, 1825, 1867, 1838, 1792, 1869, 1785, 1816, 1863, 1889, - 1805, 1827, 1782, 1819, 1871, 1824, 1805, 1853, 1808, 1897, 1850, 1870, 1869, 1895, 1795, 1964, 1888, 1840, 1883, 1873, - 1820, 1852, 1876, 1827, 1830, 1875, 1783, 1860, 1907, 1884, 1807, 2046, 1773, 1888, 1865, 1850, 2686, 1882, 1787, 1846, - 1887, 1844, 1868, 1871, 1811, 1853, 1844, 1857, 2700, 1856, 1804, 1854, 1871, 1853, 1839, 1846, 1812, 1915, 1855, 1819, - 2646, 1849, 1798, 1855, 1872, 1891, 1853, 1894, 1852, 1855, 1890, 1876, 2635, 1918, 1830, 1827, 560, 424, 451, 0, - }, - 18: []int64{2745, 2574, 2728, 2623, 2638, 2583, 2711, 2612, 2594, 2616, 2601, 2536, 2746, 2556, 2605, 2627, 2593, 2500, 2714, 2551, - 2718, 2599, 2578, 2556, 2754, 2559, 2623, 2636, 2605, 2741, 2728, 2596, 2758, 2718, 2626, 2855, 2783, 2582, 2791, 2663, - 2683, 2619, 2764, 2556, 2648, 2642, 2580, 2626, 2764, 2686, 2677, 2974, 2597, 2663, 2737, 2633, 3805, 2649, 2633, 2613, - 2760, 2622, 2757, 2680, 2623, 2607, 2699, 2602, 3839, 2600, 2643, 2570, 2757, 2608, 2675, 2572, 2619, 2680, 2749, 2580, - 3712, 2635, 2619, 2597, 2783, 2681, 2684, 2702, 2718, 2585, 2802, 2617, 3739, 2738, 2666, 2565, 532, 386, 412, 0, - }, - 19: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, - }, - 20: []int64{8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 2, 2, 2, 0, - }, - 21: []int64{196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, - 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 196, 4, 4, 4, 0, - }, - 22: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 27: []int64{29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, - 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, - 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, - 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, - 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 29682, 131, 131, 131, 0, - }, - 30: []int64{73268344, 73268280, 73268276, 73268344, 73268348, 73268280, 73268164, 73268236, 73268168, 73268232, 73268152, 73268232, 73268164, 73268236, 73268164, 73268244, 73268232, 73268232, 73268260, 73268256, - 73268328, 73268324, 73268256, 73268324, 73268232, 73268232, 73268232, 73268232, 73268232, 73268152, 73268164, 73268232, 73268232, 73268232, 73268164, 73268232, 73268164, 73268232, 73268236, 73271020, - 73268232, 73268236, 73268168, 73268232, 73268232, 73268236, 73268164, 73268232, 73268232, 73268232, 73268232, 73268232, 73268232, 73268232, 73268232, 73268232, 73268432, 73268396, 73268244, 73268232, - 73268232, 73268164, 73268232, 73268232, 73268236, 73268232, 73268232, 73268232, 73268232, 73268164, 73268232, 73269180, 73268232, 73268232, 73268232, 73268428, 73268248, 73268244, 73268232, 73268244, - 73268244, 73268180, 73268244, 73268248, 73272328, 73274396, 73276432, 73276432, 73276444, 73276424, 73276424, 73276424, 73276424, 73276344, 73276424, 73276424, 14890228, 14890228, 14890240, 0, - }, - 31: []int64{73268368, 73268372, 73268372, 73268568, 73269088, 73269596, 73270732, 73271360, 73270648, 73270648, 73271360, 73271128, 73270648, 73270652, 73271360, 73272952, 73270648, 73271460, 73270744, 73270744, - 73271452, 73270824, 73268432, 73268356, 73268928, 73270736, 73270736, 73270648, 73270976, 73270732, 73270648, 73268256, 73270648, 73268972, 73268300, 73268260, 73268648, 73268960, 73271048, 73271116, - 73272952, 73270492, 73270652, 73271360, 73272480, 73271084, 73271364, 73270652, 73270648, 73271360, 73271080, 73270648, 73270648, 73270168, 73268260, 73270840, 73271560, 73271136, 73270904, 73268840, - 73269812, 73268340, 73268256, 73270652, 73268344, 73268968, 73268260, 73273700, 73273612, 73268984, 73271852, 73269560, 73271360, 73269444, 73270892, 73270344, 73271104, 73271008, 73270988, 73271360, - 73271312, 73270796, 73273624, 73275220, 73274936, 73279560, 73278936, 73279296, 73278852, 73279436, 73278840, 73278840, 73279544, 73276620, 73278848, 73280600, 14890312, 14890240, 14891172, 0, - }, - 34: []int64{13573636, 13002248, 13232404, 13175356, 13275844, 13230176, 13127300, 13568144, 13612048, 14592480, 13627248, 13985164, 13411512, 13174864, 12907024, 13597756, 13035444, 13325464, 12784236, 13117220, - 14368280, 14369512, 14242768, 13654828, 13504268, 13671344, 13702612, 13565052, 13809900, 14009700, 13128836, 13452396, 13911836, 15183136, 14288752, 13997060, 14624404, 13999096, 13946744, 14215416, - 14398652, 13538060, 12956208, 13435088, 14117772, 13809576, 14619364, 14017428, 14045920, 14123604, 13776464, 14910084, 14461688, 14374812, 13518124, 13266716, 13290340, 15790532, 14513540, 13337576, - 13707496, 12310184, 14176152, 14751044, 14524840, 13523504, 13161340, 13209344, 14672408, 14764948, 14025352, 13578740, 13831184, 13996332, 14060404, 13740364, 13589484, 14216632, 13945008, 13504136, - 14340892, 14902536, 14285608, 13537676, 14050268, 12958476, 14072020, 13737044, 13660844, 14156448, 15279864, 13640448, 14496604, 15288784, 14111028, 13936984, 4518340, 4622284, 4559412, 0, - }, - 35: []int64{16451724, 15740832, 16075320, 16662552, 14687076, 15559032, 15035376, 15928468, 17382060, 17301940, 16063212, 15857696, 15416452, 15831532, 16184788, 16503796, 15361564, 15465240, 15591476, 15277916, - 16013604, 18002948, 16912700, 16135880, 16086316, 15500396, 17031640, 16554584, 15236076, 15360668, 15132064, 17019276, 16012024, 17925268, 16065972, 16684352, 16621572, 16073528, 16623412, 17827680, - 16495588, 15456200, 16758360, 15778444, 16543684, 18657400, 18034944, 16920652, 16651804, 17215456, 17034072, 17876912, 17218256, 16420608, 16388500, 14953544, 17862656, 17755284, 17335396, 15667204, - 16453040, 15328760, 17585044, 17356552, 16685544, 15928732, 15615012, 15483988, 16272684, 17680048, 17019220, 15510164, 16777088, 16537912, 15886852, 16338096, 15759460, 16660716, 17019064, 15951896, - 16177416, 18331856, 16097232, 15953764, 16517084, 16434732, 16266236, 16630780, 15445868, 16788272, 17628480, 16335328, 16473208, 18507932, 17039820, 17177604, 5901968, 5127288, 5483576, 0, - }, - 37: []int64{1133164, 1133556, 1132948, 1132536, 1132687, 1133608, 1133749, 1133162, 1133226, 1135034, 1132928, 1130504, 1130466, 1127930, 1127539, 1127419, 1126692, 1125126, 1123936, 1123639, - 1124080, 1123182, 1123585, 1123228, 1122690, 1125536, 1125400, 1126177, 1125636, 1125881, 1126043, 1125876, 1126648, 1125743, 1125018, 1125371, 1125976, 1127658, 1127351, 1127686, - 1124517, 1124154, 1124262, 1124115, 1123758, 1124131, 1124254, 1124213, 1123537, 1123298, 1123893, 1123808, 1123529, 1123294, 1123588, 1123590, 1123511, 1123305, 1123449, 1122702, - 1120122, 1118483, 1120873, 1120026, 1119508, 1118141, 1116332, 1117074, 1117943, 1118530, 1118493, 1119064, 1119641, 1119993, 1120578, 1120717, 1121297, 1121658, 1121876, 1121164, - 1120189, 1118066, 1117956, 1117838, 1118358, 1117828, 1115200, 1114318, 1114018, 1115218, 1115605, 1116157, 1116889, 1118043, 1117833, 1118344, 0, 0, 0, 0, - }, - 38: []int64{1132264, 1132876, 1132384, 1131660, 1131872, 1132060, 1133136, 1132780, 1132640, 1133488, 1131120, 1129464, 1129632, 1126672, 1127056, 1126920, 1125480, 1124752, 1123396, 1122604, - 1122968, 1122800, 1123056, 1122520, 1122064, 1123224, 1125052, 1125684, 1125204, 1125464, 1125496, 1125228, 1125624, 1125508, 1124612, 1124848, 1124632, 1127172, 1126804, 1127332, - 1124032, 1123832, 1123756, 1123700, 1123444, 1123928, 1123924, 1123364, 1122904, 1123072, 1123112, 1123276, 1123036, 1123052, 1123296, 1122964, 1123380, 1122864, 1122680, 1122496, - 1118300, 1117848, 1120032, 1119496, 1117980, 1117040, 1115356, 1116388, 1117464, 1118092, 1118000, 1118240, 1119296, 1119428, 1120028, 1119716, 1120656, 1120840, 1121528, 1120408, - 1119624, 1117096, 1117664, 1117132, 1117776, 1116904, 1114352, 1113940, 1113740, 1113848, 1115252, 1115068, 1116460, 1117764, 1117288, 1117388, 0, 0, 0, 0, - }, - 39: []int64{1134064, 1133888, 1133276, 1133192, 1133524, 1134976, 1134692, 1133616, 1133920, 1136052, 1135580, 1131236, 1130960, 1129384, 1127876, 1128104, 1127552, 1125508, 1124832, 1124620, - 1125204, 1123664, 1124280, 1123960, 1123272, 1126440, 1125924, 1126524, 1126032, 1126188, 1126616, 1126588, 1127508, 1126272, 1125348, 1126056, 1127596, 1128352, 1128132, 1128284, - 1125216, 1124744, 1124736, 1124616, 1124636, 1124380, 1124460, 1124596, 1124072, 1123452, 1124528, 1124260, 1123956, 1123600, 1123916, 1124012, 1123756, 1123820, 1123672, 1123008, - 1122752, 1119104, 1121480, 1120868, 1119976, 1119144, 1117272, 1117404, 1118668, 1119372, 1118868, 1119612, 1119992, 1120568, 1121432, 1121404, 1121876, 1121984, 1122428, 1121896, - 1120704, 1119616, 1118340, 1119168, 1118960, 1118660, 1115880, 1114716, 1114284, 1116084, 1116240, 1116992, 1117680, 1118596, 1118360, 1118904, 0, 0, 0, 0, - }, - 41: []int64{1055673, 1055611, 1055552, 1055515, 1055476, 1055412, 1055381, 1055362, 1055339, 1055315, 1054702, 1054162, 1053129, 1053072, 1053034, 1053001, 1052964, 1052902, 1053140, 1053065, - 1052986, 1052956, 1052937, 1053154, 1053106, 1053207, 1053163, 1053114, 1053076, 1053048, 1053021, 1052985, 1052934, 1052884, 1052877, 1053076, 1053086, 1053020, 1052979, 1052925, - 1052908, 1052834, 1052773, 1052745, 1052715, 1052707, 1052783, 1052930, 1052939, 1052823, 1052902, 1052858, 1052810, 1052757, 1052723, 1052703, 1052680, 1052659, 1052649, 1052844, - 1052912, 1052870, 1052881, 1052877, 1052824, 1052791, 1052763, 1052717, 1052664, 1052715, 1052572, 1052357, 1052434, 1052378, 1052343, 1052500, 1052423, 1052385, 1052362, 1052328, - 1052257, 1051141, 1050565, 1050688, 1050780, 1050854, 1050744, 1050700, 1050671, 1050642, 1050621, 1050643, 1050660, 1050640, 1050610, 1050777, 0, 0, 0, 0, - }, - 42: []int64{1055544, 1055588, 1055528, 1055500, 1055440, 1055388, 1055376, 1055348, 1055328, 1055304, 1054396, 1052844, 1053096, 1053052, 1053016, 1052988, 1052920, 1052896, 1053104, 1053060, - 1052976, 1052948, 1052932, 1052864, 1053084, 1053024, 1053136, 1053100, 1053060, 1053032, 1053012, 1052968, 1052892, 1052880, 1052864, 1052844, 1053060, 1053004, 1052944, 1052912, - 1052788, 1052812, 1052760, 1052732, 1052708, 1052704, 1052684, 1052716, 1052880, 1052808, 1052780, 1052844, 1052784, 1052740, 1052712, 1052692, 1052664, 1052652, 1052644, 1052640, - 1052896, 1052852, 1052808, 1052852, 1052808, 1052784, 1052748, 1052704, 1052656, 1052632, 1052176, 1052164, 1052408, 1052364, 1052320, 1052444, 1052396, 1052368, 1052344, 1052312, - 1052244, 1050592, 1050528, 1050524, 1050756, 1050812, 1050736, 1050684, 1050656, 1050632, 1050616, 1050572, 1050648, 1050632, 1050604, 1050588, 0, 0, 0, 0, - }, - 43: []int64{1056120, 1055628, 1055588, 1055528, 1055500, 1055432, 1055388, 1055376, 1055348, 1055328, 1055308, 1054744, 1053152, 1053096, 1053052, 1053016, 1052988, 1052916, 1053220, 1053072, - 1053000, 1052968, 1052948, 1053416, 1053128, 1053340, 1053208, 1053136, 1053100, 1053056, 1053028, 1053008, 1052964, 1052892, 1052884, 1053172, 1053112, 1053040, 1053000, 1052940, - 1053068, 1052856, 1052792, 1052752, 1052724, 1052708, 1053040, 1053028, 1052968, 1052844, 1052988, 1052876, 1052832, 1052780, 1052732, 1052712, 1052692, 1052664, 1052652, 1052976, - 1052924, 1052892, 1053072, 1052904, 1052840, 1052800, 1052780, 1052728, 1052668, 1052884, 1052676, 1052504, 1052468, 1052404, 1052364, 1052556, 1052444, 1052392, 1052368, 1052348, - 1052308, 1052236, 1050592, 1050860, 1050808, 1050944, 1050752, 1050724, 1050680, 1050648, 1050624, 1050824, 1050672, 1050648, 1050612, 1050948, 0, 0, 0, 0, - }, - 91: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 92: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 99: []int64{80955148, 80960404, 80957508, 80955548, 80957400, 80950612, 80956196, 80958740, 80954664, 80951436, 80955712, 80955416, 80957924, 80959820, 80956868, 80955900, 80960360, 80957508, 80957732, 80957688, - 80959004, 80958536, 80957416, 80963656, 80959360, 80961324, 80960448, 80959620, 80957772, 80962312, 80959300, 80965516, 80958040, 80961036, 80967952, 80962692, 80961740, 80960276, 80962328, 80963768, - 80969220, 80964288, 80966832, 80969276, 80967472, 80966404, 80967664, 80968120, 80969608, 80970192, 80967012, 80963952, 80963904, 80968148, 80969840, 80968256, 80971992, 80965796, 80967800, 80969552, - 80967412, 80971864, 80966940, 80966896, 80972116, 80967868, 80969156, 80971276, 80972072, 80968776, 80973300, 80966892, 80966320, 80968164, 80967288, 80966168, 80966892, 80971512, 80967080, 80970084, - 80979524, 80974924, 80972848, 80981664, 80977260, 80979240, 80982364, 80978940, 80979776, 80982316, 80979048, 80983128, 80978060, 80978928, 80982384, 80981824, 18079872, 18080924, 18080340, 0, - }, - 100: []int64{80996308, 81003320, 80991996, 81001012, 81007940, 80983840, 81010980, 80990568, 81003736, 81002540, 80987020, 80990684, 81000464, 80989804, 81013404, 81007044, 80992728, 81003756, 80996512, 81009852, - 81003316, 80996392, 80995840, 81005208, 80991676, 81015008, 81001284, 80992808, 80998680, 81006744, 81000124, 81007504, 81013256, 81010716, 81011904, 80995596, 81007392, 80999712, 80999676, 81005240, - 81000508, 81020312, 81008460, 81006528, 81001688, 81017056, 80995256, 81012348, 81003216, 81018092, 81018360, 81002940, 81017784, 81031588, 80990180, 81009528, 81020616, 81019428, 81003884, 81001308, - 81025468, 81010316, 80994628, 81013328, 81019276, 80998984, 81018968, 81005740, 81025968, 81007368, 81007112, 81017240, 81017928, 80988336, 81018752, 81007952, 81019756, 81022204, 81003308, 81016856, - 81021608, 81015380, 81012848, 81022628, 81009976, 81023636, 81018212, 81020392, 81021388, 81007928, 81025372, 81028804, 81037136, 81019656, 81018072, 81023468, 18107732, 18088460, 18093904, 0, - }, - 102: []int64{3493174, 3492757, 3492740, 3493216, 3493191, 3493195, 3493207, 3493435, 3493248, 3492551, 3493147, 3493026, 3492751, 3492580, 3492757, 3492723, 3492774, 3492555, 3493055, 3492784, - 3492681, 3493216, 3492830, 3492892, 3492948, 3493046, 3493060, 3493087, 3492704, 3492637, 3492534, 3492642, 3492200, 3491916, 3492401, 3492365, 3492496, 3492244, 3492346, 3492494, - 3492328, 3492643, 3492845, 3492800, 3492768, 3492817, 3492966, 3492993, 3492775, 3492814, 3492854, 3492624, 3492659, 3492556, 3492909, 3492991, 3492511, 3492570, 3492676, 3493124, - 3493161, 3492891, 3492730, 3492821, 3492603, 3492387, 3492922, 3492765, 3492628, 3492580, 3492887, 3493048, 3492725, 3492645, 3492413, 3492408, 3492389, 3492519, 3492265, 3492381, - 3492345, 3492567, 3492055, 3492620, 3492210, 3492316, 3492033, 3491852, 3492023, 3492222, 3492334, 3492414, 3492141, 3492333, 3492270, 3492054, 99800, 99966, 100021, 0, - }, - 103: []int64{3492168, 3491848, 3491912, 3492200, 3492136, 3492088, 3491976, 3492280, 3492072, 3491768, 3491880, 3491992, 3491736, 3491608, 3491704, 3491720, 3491688, 3491400, 3492008, 3491704, - 3491496, 3491944, 3491672, 3491816, 3491640, 3491864, 3492152, 3491896, 3491336, 3491176, 3491016, 3491640, 3491112, 3490792, 3491272, 3491448, 3491592, 3491192, 3491352, 3491320, - 3491480, 3491416, 3491848, 3491864, 3491528, 3491832, 3491544, 3491624, 3491720, 3491656, 3491656, 3491464, 3491624, 3491608, 3492024, 3491960, 3491688, 3491112, 3491496, 3491928, - 3492040, 3491688, 3491400, 3491480, 3491528, 3491352, 3492152, 3491736, 3491348, 3491540, 3491764, 3491956, 3491508, 3491412, 3491316, 3491348, 3491460, 3491508, 3491348, 3491172, - 3491092, 3491288, 3490760, 3491264, 3491200, 3490984, 3490696, 3490568, 3490648, 3490824, 3491256, 3491240, 3491064, 3491192, 3491240, 3490744, 99416, 99752, 99704, 0, - }, - 104: []int64{3494072, 3493528, 3493720, 3494312, 3494168, 3494232, 3494216, 3494440, 3494360, 3493752, 3494504, 3494296, 3493784, 3493864, 3494424, 3493848, 3494056, 3493704, 3494152, 3494024, - 3493976, 3494216, 3493864, 3493912, 3494104, 3494264, 3494168, 3494248, 3493736, 3493960, 3494008, 3493464, 3493352, 3493128, 3493672, 3493528, 3493336, 3493336, 3493304, 3493496, - 3493288, 3493720, 3494040, 3493896, 3494104, 3494120, 3494264, 3494280, 3493880, 3493896, 3493928, 3493832, 3493720, 3493592, 3493816, 3493912, 3493496, 3493912, 3493672, 3494024, - 3494168, 3494264, 3493768, 3493832, 3493544, 3493480, 3494008, 3493768, 3493700, 3493556, 3493988, 3494212, 3494020, 3493828, 3493748, 3493476, 3493364, 3493556, 3493188, 3493604, - 3493576, 3493864, 3492936, 3493728, 3493120, 3493336, 3493016, 3492952, 3493080, 3493336, 3493352, 3493448, 3493144, 3493640, 3493320, 3493560, 100088, 100312, 100392, 0, - }, - 105: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 106: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 107: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 108: []int64{100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, - 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, - 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, - 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, - 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 100443136, 33440768, 33440768, 33440768, 0, - }, - 109: []int64{72669222, 72668798, 72669432, 72669934, 72669814, 72668820, 72668626, 72669167, 72669100, 72667309, 72669518, 72671803, 72671876, 72674528, 72674987, 72675130, 72675893, 72677596, 72678840, 72679130, - 72678625, 72679555, 72679104, 72679477, 72680094, 72677130, 72677211, 72676337, 72676877, 72676613, 72676430, 72676661, 72675813, 72676695, 72677409, 72677011, 72676365, 72674592, 72674894, 72674587, - 72677618, 72677960, 72677989, 72678323, 72678753, 72677997, 72677835, 72677884, 72678533, 72678783, 72678153, 72678332, 72678647, 72679004, 72678684, 72678613, 72678731, 72678783, 72678797, 72679536, - 72682196, 72683921, 72681372, 72682292, 72682820, 72684300, 72686184, 72685409, 72684595, 72683952, 72683983, 72683356, 72682772, 72682415, 72681736, 72681594, 72680926, 72680580, 72680310, 72681090, - 72682132, 72684368, 72684699, 72688731, 72688798, 72693599, 72696711, 72697646, 72697938, 72696678, 72696250, 72695584, 72694773, 72693560, 72693871, 72693294, 14715452, 14715452, 14715452, 0, - }, - 110: []int64{96343490, 96342832, 96342800, 96342813, 96342773, 96342675, 96342782, 96342826, 96342815, 96342861, 96342789, 96341979, 96340788, 96342668, 96342873, 96342834, 96343836, 96344837, 96344957, 96344919, - 96344922, 96344913, 96344860, 96344784, 96342984, 96342845, 96342836, 96342835, 96342796, 96342736, 96342898, 96341904, 96340786, 96340814, 96340822, 96340680, 96340807, 96340771, 96340876, 96340861, - 96340790, 96342570, 96342010, 96340804, 96340866, 96340821, 96340878, 96340695, 96340747, 96340721, 96340671, 96340718, 96340694, 96340533, 96340689, 96340734, 96340601, 96342637, 96342677, 96342548, - 96341423, 96340784, 96340744, 96340733, 96340718, 96340553, 96340810, 96340796, 96338504, 96340784, 96340735, 96341365, 96342774, 96342974, 96342750, 96342740, 96342711, 96339961, 96338666, 96338781, - 96336571, 96338619, 96338627, 96338497, 96339187, 96340659, 96341191, 96340702, 96340668, 96340546, 96340669, 96340734, 96339668, 96341872, 96340711, 96340541, 31694132, 31694104, 31694086, 0, - }, - 111: []int64{35632290, 35304782, 35227097, 35519814, 35125423, 34976530, 34924498, 35243128, 35664707, 36446316, 35876655, 35535231, 35289302, 35106530, 34678142, 35814198, 34900775, 34783747, 34930870, 34849678, - 35598604, 36742932, 36565451, 35517423, 35388206, 35389394, 35231873, 35493640, 35414609, 35526398, 35058473, 35362573, 35161627, 37159410, 36158944, 35771391, 36214553, 35906735, 35450783, 35904378, - 36413394, 35474727, 35190698, 34936447, 35688174, 37181402, 36150647, 35858610, 36253248, 36363912, 35830285, 36718428, 36200915, 36164304, 35874877, 34981992, 36086876, 37201282, 36061698, 35405163, - 35497549, 34623703, 35548273, 36554619, 36022158, 35613522, 35251515, 35192877, 36187359, 36897172, 35976279, 35386235, 35895938, 36021694, 35603572, 35667641, 35231012, 36123482, 35816696, 35626919, - 35994572, 37177668, 35848603, 35831990, 35926579, 35576224, 35488252, 35996734, 35238379, 36125143, 36828845, 35485371, 35885228, 37879992, 36198896, 35990422, 6872535, 6728553, 6911962, 0, - }, - 112: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 138: []int64{2696, 2502, 2601, 2536, 2519, 2635, 2854, 2456, 2870, 2725, 2702, 2544, 3016, 2605, 2896, 2610, 2536, 2614, 2979, 2597, - 2915, 2805, 2712, 2560, 2940, 2773, 3052, 2688, 2800, 2765, 2964, 2692, 3180, 3094, 2709, 2784, 3084, 2804, 2980, 2969, - 3072, 2794, 2890, 2363, 2617, 2474, 2405, 2394, 2921, 3178, 2663, 4804, 2547, 2631, 2915, 2554, 4245, 2754, 2678, 2350, - 2891, 2771, 2865, 2622, 2703, 2574, 2899, 2658, 3804, 2875, 2813, 2824, 3045, 2767, 2961, 2576, 2811, 3421, 2954, 2718, - 4225, 2811, 2863, 2896, 3039, 2705, 2992, 2736, 2877, 2591, 3146, 3090, 4025, 2644, 2625, 2336, 580, 302, 408, 0, - }, - 139: []int64{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 2, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 2, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, - }, - 150: []int64{768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, - 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, - 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, - 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, - 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 256000, 256000, 256000, 0, - }, - 151: []int64{768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, - 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, - 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, - 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, - 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 768000, 256000, 256000, 256000, 0, - }, - 152: []int64{2213, 2079, 2147, 2099, 2074, 2207, 2243, 2166, 2281, 2328, 2138, 2557, 2312, 2132, 2297, 2117, 2136, 2198, 2207, 2191, - 2212, 2273, 2153, 2224, 2200, 2173, 2464, 2212, 2204, 2239, 2143, 2259, 2392, 2422, 2161, 3320, 2306, 2153, 2355, 2193, - 2206, 2286, 2235, 2130, 2214, 2262, 2225, 2141, 2546, 3101, 2206, 5338, 2174, 2298, 2126, 2158, 4908, 2354, 2179, 2253, - 2143, 2207, 2318, 2225, 2115, 2121, 2181, 2232, 4384, 2284, 2241, 2183, 2185, 2218, 2250, 2158, 2083, 4414, 2212, 2222, - 5061, 2300, 2184, 2339, 2374, 2237, 2267, 2241, 2396, 2467, 2248, 2686, 4545, 2561, 2263, 2135, 580, 561, 564, 0, - }, - 153: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 157: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 158: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 159: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 256: []int64{245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, - 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, - 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, - 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, - 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, 245, - }, - 257: []int64{9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - }, - 258: []int64{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - }, - 259: []int64{1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, - }, - 260: []int64{3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - }, - 261: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 262: []int64{8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, - }, - 263: []int64{227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, 227, - }, - 264: []int64{9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, - }, - 265: []int64{3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - }, - 266: []int64{3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - }, - 267: []int64{95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, - }, - 268: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 269: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 270: []int64{4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, - }, - 271: []int64{2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, - }, - 272: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 273: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 274: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 275: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 2: []int64{1662, 1651, 1690, 1658, 1631, 1674, 1648, 1680, 1609, 1689, 1591, 1643, 1680, 1658, 1602, 1698, 1590, 1633, 1670, 1729, - 1593, 1655, 1584, 1636, 1683, 1646, 1615, 1677, 1615, 1731, 1659, 1700, 1665, 1752, 1601, 1825, 1698, 1663, 1713, 1706, - 1635, 1682, 1697, 1641, 1632, 1703, 1585, 1690, 1723, 1713, 1608, 1928, 1570, 1717, 1680, 1673, 2404, 1713, 1595, 1670, - 1706, 1666, 1698, 1704, 1606, 1679, 1656, 1688, 2429, 1683, 1614, 1674, 1679, 1681, 1665, 1667, 1620, 1755, 1668, 1631, - 2364, 1670, 1610, 1690, 1683, 1730, 1665, 1727, 1666, 1677, 1714, 1700, 2340, 1760, 1641, 1651, 0, - }, - 3: []int64{886, 891, 882, 883, 880, 920, 891, 913, 890, 904, 876, 895, 893, 887, 871, 904, 872, 878, 883, 895, - 887, 890, 881, 895, 898, 902, 879, 905, 906, 923, 894, 906, 898, 876, 911, 923, 907, 904, 903, 881, - 900, 903, 884, 895, 896, 911, 886, 900, 922, 818, 926, 906, 911, 909, 892, 903, 901, 897, 905, 888, - 871, 890, 876, 885, 881, 886, 895, 903, 888, 900, 893, 878, 914, 905, 903, 895, 896, 915, 927, 901, - 906, 883, 903, 882, 893, 901, 890, 935, 911, 931, 914, 958, 926, 920, 917, 916, 183, 183, 183, 0, - }, - 4: []int64{4813, 4092, 5167, 4187, 4623, 4243, 4936, 4047, 4315, 3898, 4548, 4141, 4879, 3723, 4245, 3772, 4243, 3838, 4989, 4930, - 4000, 3568, 4070, 3629, 4830, 3734, 4255, 3840, 4535, 5093, 4928, 4063, 5081, 4567, 4038, 5165, 5027, 4144, 4971, 4403, - 4478, 4190, 4590, 4023, 3966, 4206, 4048, 4322, 4869, 4340, 3861, 4990, 3876, 4203, 5088, 4283, 5759, 4100, 4041, 4091, - 4730, 3991, 4617, 4397, 3833, 4156, 4606, 4090, 6918, 3896, 3965, 3780, 5171, 4013, 4623, 4090, 4315, 4735, 4750, 3558, - 5608, 3861, 4126, 4160, 4980, 4405, 4628, 3981, 4455, 3634, 4928, 3778, 5545, 4271, 4511, 3883, 1157, 364, 470, 0, - }, - 24: []int64{8408, 8409, 8408, 8409, 8409, 8408, 8409, 8408, 8408, 8408, 8408, 8408, 8409, 8408, 8409, 8409, 8408, 8409, 8409, 8408, - 8409, 8409, 8409, 8409, 8408, 8409, 8409, 8408, 8409, 8408, 8408, 8409, 8409, 8409, 8410, 8409, 8409, 8409, 8409, 8410, - 8409, 8409, 8410, 8409, 8410, 8410, 8409, 8410, 8410, 8410, 8410, 8409, 8409, 8410, 8409, 8410, 8410, 8409, 8409, 8409, - 8410, 8410, 8409, 8410, 8410, 8409, 8410, 8410, 8410, 8410, 8410, 8410, 8410, 8409, 8409, 8409, 8409, 8410, 8409, 8410, - 8411, 8410, 8410, 8411, 8410, 8411, 8411, 8410, 8411, 8410, 8411, 8411, 8411, 8411, 8411, 8410, 1810, 1810, 1810, 0, - }, - 25: []int64{8407, 8407, 8407, 8407, 8407, 8406, 8407, 8407, 8407, 8406, 8407, 8407, 8407, 8407, 8407, 8407, 8407, 8407, 8407, 8407, - 8407, 8407, 8407, 8408, 8407, 8407, 8407, 8407, 8407, 8407, 8407, 8408, 8407, 8407, 8408, 8408, 8407, 8407, 8407, 8408, - 8408, 8408, 8408, 8408, 8408, 8408, 8408, 8408, 8408, 8408, 8408, 8408, 8408, 8408, 8408, 8408, 8408, 8408, 8408, 8408, - 8408, 8408, 8408, 8408, 8408, 8408, 8408, 8408, 8408, 8408, 8409, 8408, 8408, 8408, 8408, 8408, 8408, 8408, 8408, 8408, - 8409, 8409, 8408, 8409, 8409, 8409, 8409, 8409, 8409, 8409, 8409, 8410, 8409, 8409, 8409, 8409, 1809, 1810, 1809, 0, - }, - 50: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 26: []int64{8411, 8412, 8411, 8412, 8412, 8410, 8413, 8411, 8412, 8412, 8410, 8411, 8412, 8410, 8413, 8412, 8411, 8412, 8411, 8412, - 8412, 8411, 8411, 8412, 8411, 8413, 8412, 8411, 8411, 8412, 8411, 8412, 8413, 8412, 8413, 8411, 8412, 8411, 8411, 8412, - 8411, 8413, 8412, 8412, 8412, 8413, 8411, 8413, 8412, 8413, 8413, 8412, 8413, 8415, 8410, 8412, 8413, 8413, 8412, 8412, - 8414, 8413, 8411, 8413, 8413, 8411, 8413, 8412, 8414, 8412, 8412, 8413, 8413, 8410, 8413, 8412, 8413, 8414, 8412, 8413, - 8414, 8413, 8413, 8414, 8412, 8414, 8413, 8413, 8414, 8412, 8414, 8414, 8415, 8413, 8413, 8414, 1812, 1810, 1811, 0, - }, - 51: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, -} - -var DatastoreMetricData = map[int32][]int64{ - 180: []int64{1, 5, 3, 1, 3, 39, 19, 13, 5, 0, 1, 0, 1, 1, 1, 1, 1, 1, 15, 9, - 17, 1, 2, 0, 1, 25, 0, 13, 23, 4, 26, 7, 2, 2, 480, 1, 0, 55, 2, 4, - 1, 0, 5, 6, 6, 18, 3, 155, 120, 13, 330, 7, 10, 2, 0, 247, 1, 1, 89, 1, - 22, 13, 18, 2, 11, 0, 1, 184, 4, 0, 1, 1, 0, 1, 0, 5, 595, 1, 37, 320, - 7, 9, 73, 27, 2, 7, 5, 4, 149, 0, 2, 190, 13, 14, 0, 0, 0, 0}, - 181: []int64{433, 464, 439, 426, 490, 460, 455, 510, 544, 466, 657, 526, 457, 538, 448, 456, 488, 482, 470, 479, - 506, 470, 500, 469, 479, 591, 495, 474, 483, 448, 486, 567, 553, 461, 522, 506, 455, 497, 470, 470, - 516, 485, 434, 480, 501, 477, 448, 468, 783, 473, 1630, 454, 516, 430, 457, 912, 546, 483, 424, 444, - 471, 535, 466, 445, 442, 471, 505, 738, 525, 512, 480, 463, 499, 514, 469, 424, 937, 485, 460, 920, - 528, 475, 480, 466, 445, 503, 474, 497, 452, 489, 687, 781, 555, 498, 447, 0, 0, 0}, - 187: []int64{434, 469, 442, 427, 493, 499, 474, 523, 549, 466, 658, 526, 458, 539, 449, 457, 489, 483, 485, 488, - 523, 471, 502, 469, 480, 616, 495, 487, 506, 452, 512, 574, 555, 463, 1002, 507, 455, 552, 472, 474, - 517, 485, 439, 486, 507, 495, 451, 623, 903, 486, 1960, 461, 526, 432, 457, 1159, 547, 484, 513, 445, - 493, 548, 484, 447, 453, 471, 506, 922, 529, 512, 481, 464, 499, 515, 469, 429, 1532, 486, 497, 1240, - 535, 484, 553, 493, 447, 510, 479, 501, 601, 489, 689, 971, 568, 512, 447, 0, 0, 0}, - 281: []int64{174225912, 174227200, 174230104, 174230532, 174237664, 174237600, 174239588, 174235728, 174234644, 174234904, 174235132, 174236888, 174237012, 174240640, 174240148, 174246032}, - 282: []int64{3536110027, 3536111315, 3536114219, 3536114647, 3536121779, 3536121715, 3536123703, 3536119843, 3536118759, 3536066971, 3536067199, 3536067623, 3536067747, 3536066811, 3536066319, 3536066979}, - 283: []int64{426434020, 426425152, 426411808, 426402768, 426387204, 426370512, 426355764, 426340480, 426076860, 426176184, 426064540, 426487536, 426370184, 426424376, 426320528, 426406408}, - 286: []int64{3536110027, 3536111315, 3536114219, 3536114647, 3536121779, 3536121715, 3536123703, 3536119843, 3536118759, 3536066971, 3536067199, 3536067623, 3536067747, 3536066811, 3536066319, 3536066979}, - 287: []int64{174225912, 174227200, 174230104, 174230532, 174237664, 174237600, 174239588, 174235728, 174234644, 174234904, 174235132, 174236888, 174237012, 174240640, 174240148, 174246032}, - 288: []int64{133298, 133303, 133311, 133316, 133328, 133337, 133346, 133352, 133491, 133437, 133496, 133273, 133335, 133308, 133363, 133320}, -} - -var DatacenterMetricData = map[int32][]int64{ - 256: []int64{1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, - 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, - 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, - 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, - 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, 1383, - }, - 257: []int64{833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, - 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, - 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, - 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, - 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, 833, - }, - 258: []int64{3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, - }, - 259: []int64{6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, - }, - 260: []int64{151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, - 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, 151, - }, - 261: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 262: []int64{353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, - 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, - 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, - 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, - 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, 353, - }, - 263: []int64{598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, 598, - }, - 264: []int64{1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, - 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, - 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, - 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, - 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, 1126, - }, - 265: []int64{19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, - }, - 266: []int64{16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, - }, - 267: []int64{3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, - 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, - 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, - 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, - 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, 3409, - }, - 268: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 269: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 270: []int64{646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, - 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, - 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, - 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, - 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, 646, - }, - 271: []int64{34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, - }, - 272: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, - 273: []int64{3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, - 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, - 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, - 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, - 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, 3082, - }, - 274: []int64{124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, - 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, - 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, - 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, - 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, 124, - }, - 275: []int64{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - }, -} diff --git a/vendor/github.com/vmware/govmomi/simulator/vpx/root_folder.go b/vendor/github.com/vmware/govmomi/simulator/vpx/root_folder.go deleted file mode 100644 index a1cce0d8d94..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/vpx/root_folder.go +++ /dev/null @@ -1,64 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vpx - -import ( - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/types" -) - -var RootFolder = mo.Folder{ - ManagedEntity: mo.ManagedEntity{ - ExtensibleManagedObject: mo.ExtensibleManagedObject{ - Self: types.ManagedObjectReference{Type: "Folder", Value: "group-d1"}, - Value: nil, - AvailableField: nil, - }, - Parent: (*types.ManagedObjectReference)(nil), - CustomValue: nil, - OverallStatus: "green", - ConfigStatus: "green", - ConfigIssue: nil, - EffectiveRole: []int32{-1}, - Permission: []types.Permission{ - { - DynamicData: types.DynamicData{}, - Entity: &types.ManagedObjectReference{Type: "Folder", Value: "group-d1"}, - Principal: "VSPHERE.LOCAL\\Administrator", - Group: false, - RoleId: -1, - Propagate: true, - }, - { - DynamicData: types.DynamicData{}, - Entity: &types.ManagedObjectReference{Type: "Folder", Value: "group-d1"}, - Principal: "VSPHERE.LOCAL\\Administrators", - Group: true, - RoleId: -1, - Propagate: true, - }, - }, - Name: "Datacenters", - DisabledMethod: nil, - RecentTask: nil, - DeclaredAlarmState: nil, - AlarmActionsEnabled: (*bool)(nil), - Tag: nil, - }, - ChildType: []string{"Folder", "Datacenter"}, - ChildEntity: nil, -} diff --git a/vendor/github.com/vmware/govmomi/simulator/vpx/service_content.go b/vendor/github.com/vmware/govmomi/simulator/vpx/service_content.go deleted file mode 100644 index 3018d01ed27..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/vpx/service_content.go +++ /dev/null @@ -1,90 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vpx - -import ( - "github.com/google/uuid" - - "github.com/vmware/govmomi/vim25/types" -) - -// ServiceContent is the default template for the ServiceInstance content property. -// Capture method: -// govc object.collect -s -dump - content -var ServiceContent = types.ServiceContent{ - RootFolder: types.ManagedObjectReference{Type: "Folder", Value: "group-d1"}, - PropertyCollector: types.ManagedObjectReference{Type: "PropertyCollector", Value: "propertyCollector"}, - ViewManager: &types.ManagedObjectReference{Type: "ViewManager", Value: "ViewManager"}, - About: types.AboutInfo{ - Name: "VMware vCenter Server", - FullName: "VMware vCenter Server 6.5.0 build-5973321", - Vendor: "VMware, Inc.", - Version: "6.5.0", - Build: "5973321", - LocaleVersion: "INTL", - LocaleBuild: "000", - OsType: "linux-x64", - ProductLineId: "vpx", - ApiType: "VirtualCenter", - ApiVersion: "6.5", - InstanceUuid: uuid.NewSHA1(uuid.NameSpaceOID, uuid.NodeID()).String(), - LicenseProductName: "VMware VirtualCenter Server", - LicenseProductVersion: "6.0", - }, - Setting: &types.ManagedObjectReference{Type: "OptionManager", Value: "VpxSettings"}, - UserDirectory: &types.ManagedObjectReference{Type: "UserDirectory", Value: "UserDirectory"}, - SessionManager: &types.ManagedObjectReference{Type: "SessionManager", Value: "SessionManager"}, - AuthorizationManager: &types.ManagedObjectReference{Type: "AuthorizationManager", Value: "AuthorizationManager"}, - ServiceManager: &types.ManagedObjectReference{Type: "ServiceManager", Value: "ServiceMgr"}, - PerfManager: &types.ManagedObjectReference{Type: "PerformanceManager", Value: "PerfMgr"}, - ScheduledTaskManager: &types.ManagedObjectReference{Type: "ScheduledTaskManager", Value: "ScheduledTaskManager"}, - AlarmManager: &types.ManagedObjectReference{Type: "AlarmManager", Value: "AlarmManager"}, - EventManager: &types.ManagedObjectReference{Type: "EventManager", Value: "EventManager"}, - TaskManager: &types.ManagedObjectReference{Type: "TaskManager", Value: "TaskManager"}, - ExtensionManager: &types.ManagedObjectReference{Type: "ExtensionManager", Value: "ExtensionManager"}, - CustomizationSpecManager: &types.ManagedObjectReference{Type: "CustomizationSpecManager", Value: "CustomizationSpecManager"}, - CustomFieldsManager: &types.ManagedObjectReference{Type: "CustomFieldsManager", Value: "CustomFieldsManager"}, - AccountManager: (*types.ManagedObjectReference)(nil), - DiagnosticManager: &types.ManagedObjectReference{Type: "DiagnosticManager", Value: "DiagMgr"}, - LicenseManager: &types.ManagedObjectReference{Type: "LicenseManager", Value: "LicenseManager"}, - SearchIndex: &types.ManagedObjectReference{Type: "SearchIndex", Value: "SearchIndex"}, - FileManager: &types.ManagedObjectReference{Type: "FileManager", Value: "FileManager"}, - DatastoreNamespaceManager: &types.ManagedObjectReference{Type: "DatastoreNamespaceManager", Value: "DatastoreNamespaceManager"}, - VirtualDiskManager: &types.ManagedObjectReference{Type: "VirtualDiskManager", Value: "virtualDiskManager"}, - VirtualizationManager: (*types.ManagedObjectReference)(nil), - SnmpSystem: &types.ManagedObjectReference{Type: "HostSnmpSystem", Value: "SnmpSystem"}, - VmProvisioningChecker: &types.ManagedObjectReference{Type: "VirtualMachineProvisioningChecker", Value: "ProvChecker"}, - VmCompatibilityChecker: &types.ManagedObjectReference{Type: "VirtualMachineCompatibilityChecker", Value: "CompatChecker"}, - OvfManager: &types.ManagedObjectReference{Type: "OvfManager", Value: "OvfManager"}, - IpPoolManager: &types.ManagedObjectReference{Type: "IpPoolManager", Value: "IpPoolManager"}, - DvSwitchManager: &types.ManagedObjectReference{Type: "DistributedVirtualSwitchManager", Value: "DVSManager"}, - HostProfileManager: &types.ManagedObjectReference{Type: "HostProfileManager", Value: "HostProfileManager"}, - ClusterProfileManager: &types.ManagedObjectReference{Type: "ClusterProfileManager", Value: "ClusterProfileManager"}, - ComplianceManager: &types.ManagedObjectReference{Type: "ProfileComplianceManager", Value: "MoComplianceManager"}, - LocalizationManager: &types.ManagedObjectReference{Type: "LocalizationManager", Value: "LocalizationManager"}, - StorageResourceManager: &types.ManagedObjectReference{Type: "StorageResourceManager", Value: "StorageResourceManager"}, - GuestOperationsManager: &types.ManagedObjectReference{Type: "GuestOperationsManager", Value: "guestOperationsManager"}, - OverheadMemoryManager: &types.ManagedObjectReference{Type: "OverheadMemoryManager", Value: "OverheadMemoryManager"}, - CertificateManager: &types.ManagedObjectReference{Type: "CertificateManager", Value: "certificateManager"}, - IoFilterManager: &types.ManagedObjectReference{Type: "IoFilterManager", Value: "IoFilterManager"}, - VStorageObjectManager: &types.ManagedObjectReference{Type: "VcenterVStorageObjectManager", Value: "VStorageObjectManager"}, - HostSpecManager: &types.ManagedObjectReference{Type: "HostSpecificationManager", Value: "HostSpecificationManager"}, - CryptoManager: &types.ManagedObjectReference{Type: "CryptoManagerKmip", Value: "CryptoManager"}, - HealthUpdateManager: &types.ManagedObjectReference{Type: "HealthUpdateManager", Value: "HealthUpdateManager"}, - FailoverClusterConfigurator: &types.ManagedObjectReference{Type: "FailoverClusterConfigurator", Value: "FailoverClusterConfigurator"}, - FailoverClusterManager: &types.ManagedObjectReference{Type: "FailoverClusterManager", Value: "FailoverClusterManager"}, -} diff --git a/vendor/github.com/vmware/govmomi/simulator/vpx/setting.go b/vendor/github.com/vmware/govmomi/simulator/vpx/setting.go deleted file mode 100644 index 7bbf0c02d60..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/vpx/setting.go +++ /dev/null @@ -1,76 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vpx - -import "github.com/vmware/govmomi/vim25/types" - -// Setting is captured from VC's ServiceContent.OptionManager.setting -var Setting = []types.BaseOptionValue{ - // This list is currently pruned to include sso options only with sso.enabled set to false - &types.OptionValue{ - Key: "config.vpxd.sso.sts.uri", - Value: "https://127.0.0.1/sts/STSService/vsphere.local", - }, - &types.OptionValue{ - Key: "config.vpxd.sso.solutionUser.privateKey", - Value: "/etc/vmware-vpx/ssl/vcsoluser.key", - }, - &types.OptionValue{ - Key: "config.vpxd.sso.solutionUser.name", - Value: "vpxd-b643d01c-928f-469b-96a5-d571d762a78e@vsphere.local", - }, - &types.OptionValue{ - Key: "config.vpxd.sso.solutionUser.certificate", - Value: "/etc/vmware-vpx/ssl/vcsoluser.crt", - }, - &types.OptionValue{ - Key: "config.vpxd.sso.groupcheck.uri", - Value: "https://127.0.0.1/sso-adminserver/sdk/vsphere.local", - }, - &types.OptionValue{ - Key: "config.vpxd.sso.enabled", - Value: "false", - }, - &types.OptionValue{ - Key: "config.vpxd.sso.default.isGroup", - Value: "false", - }, - &types.OptionValue{ - Key: "config.vpxd.sso.default.admin", - Value: "Administrator@vsphere.local", - }, - &types.OptionValue{ - Key: "config.vpxd.sso.admin.uri", - Value: "https://127.0.0.1/sso-adminserver/sdk/vsphere.local", - }, - &types.OptionValue{ - Key: "VirtualCenter.InstanceName", - Value: "127.0.0.1", - }, - &types.OptionValue{ - Key: "event.batchsize", - Value: int32(2000), - }, - &types.OptionValue{ - Key: "event.maxAge", - Value: int32(30), - }, - &types.OptionValue{ - Key: "event.maxAgeEnabled", - Value: bool(true), - }, -} diff --git a/vendor/github.com/vmware/govmomi/simulator/vpx/task_manager.go b/vendor/github.com/vmware/govmomi/simulator/vpx/task_manager.go deleted file mode 100644 index dee36ff71a1..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/vpx/task_manager.go +++ /dev/null @@ -1,11133 +0,0 @@ -/* -Copyright (c) 2017-2018 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vpx - -import "github.com/vmware/govmomi/vim25/types" - -// Description is the default template for the TaskManager description property. -// Capture method: -// govc object.collect -s -dump TaskManager:TaskManager description -var Description = types.TaskDescription{ - MethodInfo: []types.BaseElementDescription{ - &types.ElementDescription{ - Description: types.Description{ - Label: "createEntry", - Summary: "createEntry", - }, - Key: "host.OperationCleanupManager.createEntry", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "updateEntry", - Summary: "updateEntry", - }, - Key: "host.OperationCleanupManager.updateEntry", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryEntry", - Summary: "queryEntry", - }, - Key: "host.OperationCleanupManager.queryEntry", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query disabled guest operations", - Summary: "Returns a list of guest operations not supported by a virtual machine", - }, - Key: "vm.guest.GuestOperationsManager.queryDisabledMethods", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "updateHostSpecification", - Summary: "updateHostSpecification", - }, - Key: "profile.host.HostSpecificationManager.updateHostSpecification", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "updateHostSubSpecification", - Summary: "updateHostSubSpecification", - }, - Key: "profile.host.HostSpecificationManager.updateHostSubSpecification", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveHostSpecification", - Summary: "retrieveHostSpecification", - }, - Key: "profile.host.HostSpecificationManager.retrieveHostSpecification", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "deleteHostSubSpecification", - Summary: "deleteHostSubSpecification", - }, - Key: "profile.host.HostSpecificationManager.deleteHostSubSpecification", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "deleteHostSpecification", - Summary: "deleteHostSpecification", - }, - Key: "profile.host.HostSpecificationManager.deleteHostSpecification", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "getUpdatedHosts", - Summary: "getUpdatedHosts", - }, - Key: "profile.host.HostSpecificationManager.getUpdatedHosts", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set graphics manager custom value", - Summary: "Sets the value of a custom field of the graphics manager", - }, - Key: "host.GraphicsManager.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Refresh graphics information", - Summary: "Refresh graphics device information", - }, - Key: "host.GraphicsManager.refresh", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check if shared graphics is active", - Summary: "Check if shared graphics is active on the host", - }, - Key: "host.GraphicsManager.isSharedGraphicsActive", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "updateGraphicsConfig", - Summary: "updateGraphicsConfig", - }, - Key: "host.GraphicsManager.updateGraphicsConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query configuration option descriptor", - Summary: "Get the list of configuration option keys available in this browser", - }, - Key: "EnvironmentBrowser.queryConfigOptionDescriptor", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Configure option query", - Summary: "Search for a specific configuration option", - }, - Key: "EnvironmentBrowser.queryConfigOption", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryConfigOptionEx", - Summary: "queryConfigOptionEx", - }, - Key: "EnvironmentBrowser.queryConfigOptionEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query configuration target", - Summary: "Search for a specific configuration target", - }, - Key: "EnvironmentBrowser.queryConfigTarget", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query target capabilities", - Summary: "Query for compute-resource capabilities associated with this browser", - }, - Key: "EnvironmentBrowser.queryTargetCapabilities", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query virtual machine provisioning operation policy", - Summary: "Query environment browser for information about the virtual machine provisioning operation policy", - }, - Key: "EnvironmentBrowser.queryProvisioningPolicy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryConfigTargetSpec", - Summary: "queryConfigTargetSpec", - }, - Key: "EnvironmentBrowser.queryConfigTargetSpec", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set scheduled task custom value", - Summary: "Sets the value of a custom field of a scheduled task", - }, - Key: "scheduler.ScheduledTask.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove scheduled task", - Summary: "Remove the scheduled task", - }, - Key: "scheduler.ScheduledTask.remove", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigure scheduled task", - Summary: "Reconfigure the scheduled task properties", - }, - Key: "scheduler.ScheduledTask.reconfigure", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Run scheduled task", - Summary: "Run the scheduled task immediately", - }, - Key: "scheduler.ScheduledTask.run", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query CMMDS", - Summary: "Queries CMMDS contents in the vSAN cluster", - }, - Key: "host.VsanInternalSystem.queryCmmds", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query physical vSAN disks", - Summary: "Queries the physical vSAN disks", - }, - Key: "host.VsanInternalSystem.queryPhysicalVsanDisks", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query vSAN objects", - Summary: "Queries the vSAN objects in the cluster", - }, - Key: "host.VsanInternalSystem.queryVsanObjects", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query vSAN objects on physical disks", - Summary: "Queries the vSAN objects that have at least one component on the current set of physical disks", - }, - Key: "host.VsanInternalSystem.queryObjectsOnPhysicalVsanDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Drop ownership of DOM objects", - Summary: "Drop ownership of the DOM objects that are owned by this host", - }, - Key: "host.VsanInternalSystem.abdicateDomOwnership", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query vSAN statistics", - Summary: "Gathers low level statistic counters from the vSAN cluster", - }, - Key: "host.VsanInternalSystem.queryVsanStatistics", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigures vSAN objects", - Summary: "Reconfigures the vSAN objects in the cluster", - }, - Key: "host.VsanInternalSystem.reconfigureDomObject", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query vSAN objects that are currently synchronizing data", - Summary: "Queries vSAN objects that are updating stale components or synchronizing new replicas", - }, - Key: "host.VsanInternalSystem.querySyncingVsanObjects", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Run diagnostics on vSAN disks", - Summary: "Runs diagnostic tests on vSAN physical disks and verifies if objects are successfully created on the disks", - }, - Key: "host.VsanInternalSystem.runVsanPhysicalDiskDiagnostics", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Attributes of vSAN objects", - Summary: "Shows the extended attributes of the vSAN objects", - }, - Key: "host.VsanInternalSystem.getVsanObjExtAttrs", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Configurable vSAN objects", - Summary: "Identifies the vSAN objects that can be reconfigured using the assigned storage policy in the current cluster", - }, - Key: "host.VsanInternalSystem.reconfigurationSatisfiable", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "vSAN objects available for provisioning", - Summary: "Identifies the vSAN objects that are available for provisioning using the assigned storage policy in the current cluster", - }, - Key: "host.VsanInternalSystem.canProvisionObjects", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "deleteVsanObjects", - Summary: "deleteVsanObjects", - }, - Key: "host.VsanInternalSystem.deleteVsanObjects", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Upgrade vSAN object format", - Summary: "Upgrade vSAN object format, to fit in vSAN latest features", - }, - Key: "host.VsanInternalSystem.upgradeVsanObjects", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryVsanObjectUuidsByFilter", - Summary: "queryVsanObjectUuidsByFilter", - }, - Key: "host.VsanInternalSystem.queryVsanObjectUuidsByFilter", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "vSAN entities available for decommissioning", - Summary: "Identifies the vSAN entities that are available for decommissioning in the current cluster", - }, - Key: "host.VsanInternalSystem.canDecommission", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Authenticate credentials in guest", - Summary: "Authenticate credentials in the guest operating system", - }, - Key: "vm.guest.AuthManager.validateCredentials", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Acquire credentials in guest", - Summary: "Acquire credentials in the guest operating system", - }, - Key: "vm.guest.AuthManager.acquireCredentials", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Release credentials in guest", - Summary: "Release credentials in the guest operating system", - }, - Key: "vm.guest.AuthManager.releaseCredentials", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create user", - Summary: "Creates a local user account", - }, - Key: "host.LocalAccountManager.createUser", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update user", - Summary: "Updates a local user account", - }, - Key: "host.LocalAccountManager.updateUser", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create group", - Summary: "Creates a local group account", - }, - Key: "host.LocalAccountManager.createGroup", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete user", - Summary: "Removes a local user account", - }, - Key: "host.LocalAccountManager.removeUser", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove group", - Summary: "Removes a local group account", - }, - Key: "host.LocalAccountManager.removeGroup", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Assign user to group", - Summary: "Assign user to group", - }, - Key: "host.LocalAccountManager.assignUserToGroup", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Unassign user from group", - Summary: "Unassigns a user from a group", - }, - Key: "host.LocalAccountManager.unassignUserFromGroup", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add an image library", - Summary: "Register an image library server with vCenter", - }, - Key: "ImageLibraryManager.addLibrary", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update image library", - Summary: "Update image library information", - }, - Key: "ImageLibraryManager.updateLibrary", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove an image library", - Summary: "Unregister an image library server from vCenter", - }, - Key: "ImageLibraryManager.removeLibrary", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Import from image library", - Summary: "Import files from the image library", - }, - Key: "ImageLibraryManager.importLibraryMedia", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Export to image library", - Summary: "Export files to the image library", - }, - Key: "ImageLibraryManager.exportMediaToLibrary", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Publish to image library", - Summary: "Publish files from datastore to image library", - }, - Key: "ImageLibraryManager.publishMediaToLibrary", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "setCustomValue", - Summary: "setCustomValue", - }, - Key: "external.ContentLibrary.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "reload", - Summary: "reload", - }, - Key: "external.ContentLibrary.reload", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "rename", - Summary: "rename", - }, - Key: "external.ContentLibrary.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "destroy", - Summary: "destroy", - }, - Key: "external.ContentLibrary.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "addTag", - Summary: "addTag", - }, - Key: "external.ContentLibrary.addTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "removeTag", - Summary: "removeTag", - }, - Key: "external.ContentLibrary.removeTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveCustomValues", - Summary: "retrieveCustomValues", - }, - Key: "external.ContentLibrary.retrieveCustomValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set EVC manager custom value", - Summary: "Sets the value of a custom field for an Enhanced vMotion Compatibility manager", - }, - Key: "cluster.TransitionalEVCManager.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Configure cluster EVC", - Summary: "Enable/reconfigure Enhanced vMotion Compatibility for a cluster", - }, - Key: "cluster.TransitionalEVCManager.configureEVC", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Disable cluster EVC", - Summary: "Disable Enhanced vMotion Compatibility for a cluster", - }, - Key: "cluster.TransitionalEVCManager.disableEVC", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Validate EVC mode for cluster", - Summary: "Test the validity of configuring Enhanced vMotion Compatibility mode on the managed cluster", - }, - Key: "cluster.TransitionalEVCManager.checkConfigureEVC", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Validate host for EVC cluster", - Summary: "Tests the validity of adding a host into the Enhanced vMotion Compatibility cluster", - }, - Key: "cluster.TransitionalEVCManager.checkAddHost", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "lookupVmOverheadMemory", - Summary: "lookupVmOverheadMemory", - }, - Key: "OverheadMemoryManager.lookupVmOverheadMemory", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set event history latest page size", - Summary: "Set the last page viewed size of event history", - }, - Key: "event.EventHistoryCollector.setLatestPageSize", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rewind event history", - Summary: "Moves view to the oldest item of event history", - }, - Key: "event.EventHistoryCollector.rewind", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reset event history", - Summary: "Moves view to the newest item of event history", - }, - Key: "event.EventHistoryCollector.reset", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove event history", - Summary: "Removes the event history collector", - }, - Key: "event.EventHistoryCollector.remove", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Read next event history", - Summary: "Reads view from current position of event history, and then the position is moved to the next newer page", - }, - Key: "event.EventHistoryCollector.readNext", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Read previous event history", - Summary: "Reads view from current position of event history and moves the position to the next older page", - }, - Key: "event.EventHistoryCollector.readPrev", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set managed entity custom value", - Summary: "Sets the value of a custom field of a managed entity", - }, - Key: "ManagedEntity.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reload managed entity", - Summary: "Reload the entity state", - }, - Key: "ManagedEntity.reload", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rename managed entity", - Summary: "Rename this entity", - }, - Key: "ManagedEntity.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove entity", - Summary: "Deletes the entity and removes it from parent folder", - }, - Key: "ManagedEntity.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add tag", - Summary: "Add a set of tags to the entity", - }, - Key: "ManagedEntity.addTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove tag", - Summary: "Remove a set of tags from the entity", - }, - Key: "ManagedEntity.removeTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveCustomValues", - Summary: "retrieveCustomValues", - }, - Key: "ManagedEntity.retrieveCustomValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set a custom value for EVC manager", - Summary: "Sets a value in the custom field for Enhanced vMotion Compatibility manager", - }, - Key: "cluster.EVCManager.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Enable/reconfigure EVC", - Summary: "Enable/reconfigure Enhanced vMotion Compatibility in a cluster", - }, - Key: "cluster.EVCManager.configureEvc", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Disable cluster EVC", - Summary: "Disable Enhanced vMotion Compatibility in a cluster", - }, - Key: "cluster.EVCManager.disableEvc", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Validate EVC configuration", - Summary: "Validates the configuration of Enhanced vMotion Compatibility mode in the managed cluster", - }, - Key: "cluster.EVCManager.checkConfigureEvc", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Validate hosts in EVC", - Summary: "Validates new hosts in the Enhanced vMotion Compatibility cluster", - }, - Key: "cluster.EVCManager.checkAddHostEvc", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve host profile description", - Summary: "Retrieve host profile description", - }, - Key: "profile.host.HostProfile.retrieveDescription", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete host profile", - Summary: "Delete host profile", - }, - Key: "profile.host.HostProfile.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Attach host profile", - Summary: "Attach host profile to host or cluster", - }, - Key: "profile.host.HostProfile.associateEntities", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Detach host profile", - Summary: "Detach host profile from host or cluster", - }, - Key: "profile.host.HostProfile.dissociateEntities", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check compliance", - Summary: "Check compliance of a host or cluster against a host profile", - }, - Key: "profile.host.HostProfile.checkCompliance", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Export host profile", - Summary: "Export host profile to a file", - }, - Key: "profile.host.HostProfile.exportProfile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update reference host", - Summary: "Update reference host", - }, - Key: "profile.host.HostProfile.updateReferenceHost", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update host profile", - Summary: "Update host profile", - }, - Key: "profile.host.HostProfile.update", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "validate", - Summary: "validate", - }, - Key: "profile.host.HostProfile.validate", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Execute profile", - Summary: "Execute profile", - }, - Key: "profile.host.HostProfile.execute", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create a host profile", - Summary: "Create a host profile", - }, - Key: "profile.host.ProfileManager.createProfile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query policy metadata", - Summary: "Query policy metadata", - }, - Key: "profile.host.ProfileManager.queryPolicyMetadata", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Find associated profile", - Summary: "Find associated profile", - }, - Key: "profile.host.ProfileManager.findAssociatedProfile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Apply host configuration", - Summary: "Apply host configuration", - }, - Key: "profile.host.ProfileManager.applyHostConfiguration", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryMetadata", - Summary: "queryMetadata", - }, - Key: "profile.host.ProfileManager.queryMetadata", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Generate configuration task list for host profile", - Summary: "Generates a list of configuration tasks to be performed when applying a host profile", - }, - Key: "profile.host.ProfileManager.generateConfigTaskList", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Generate task list", - Summary: "Generate task list", - }, - Key: "profile.host.ProfileManager.generateTaskList", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query profile metadata", - Summary: "Query profile metadata", - }, - Key: "profile.host.ProfileManager.queryProfileMetadata", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query metadata for profile categories", - Summary: "Retrieves the metadata for a set of profile categories", - }, - Key: "profile.host.ProfileManager.queryProfileCategoryMetadata", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query metadata for profile components", - Summary: "Retrieves the metadata for a set of profile components", - }, - Key: "profile.host.ProfileManager.queryProfileComponentMetadata", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query profile structure", - Summary: "Gets information about the structure of a profile", - }, - Key: "profile.host.ProfileManager.queryProfileStructure", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create default profile", - Summary: "Create default profile", - }, - Key: "profile.host.ProfileManager.createDefaultProfile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update host customizations", - Summary: "Update host customizations for host", - }, - Key: "profile.host.ProfileManager.updateAnswerFile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Validate host customizations", - Summary: "Validate host customizations for host", - }, - Key: "profile.host.ProfileManager.validateAnswerFile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve host customizations", - Summary: "Returns the host customization data associated with a particular host", - }, - Key: "profile.host.ProfileManager.retrieveAnswerFile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveAnswerFileForProfile", - Summary: "retrieveAnswerFileForProfile", - }, - Key: "profile.host.ProfileManager.retrieveAnswerFileForProfile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Export host customizations", - Summary: "Export host customizations for host", - }, - Key: "profile.host.ProfileManager.exportAnswerFile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check host customizations status", - Summary: "Check the status of the host customizations against associated profile", - }, - Key: "profile.host.ProfileManager.checkAnswerFileStatus", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query host customization status", - Summary: "Returns the status of the host customization data associated with the specified hosts", - }, - Key: "profile.host.ProfileManager.queryAnswerFileStatus", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update host customizations", - Summary: "Update host customizations", - }, - Key: "profile.host.ProfileManager.updateHostCustomizations", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "validateHostCustomizations", - Summary: "validateHostCustomizations", - }, - Key: "profile.host.ProfileManager.validateHostCustomizations", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveHostCustomizations", - Summary: "retrieveHostCustomizations", - }, - Key: "profile.host.ProfileManager.retrieveHostCustomizations", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveHostCustomizationsForProfile", - Summary: "retrieveHostCustomizationsForProfile", - }, - Key: "profile.host.ProfileManager.retrieveHostCustomizationsForProfile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Export host customizations", - Summary: "Export host customizations", - }, - Key: "profile.host.ProfileManager.exportCustomizations", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Import host customizations", - Summary: "Import host customizations", - }, - Key: "profile.host.ProfileManager.importCustomizations", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Pre-check Remediation", - Summary: "Checks customization data and host state is valid for remediation", - }, - Key: "profile.host.ProfileManager.generateHostConfigTaskSpec", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Batch apply host configuration", - Summary: "Batch apply host configuration", - }, - Key: "profile.host.ProfileManager.applyEntitiesConfiguration", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Prepare validation of settings to be copied", - Summary: "Generate differences between source and target host profile to validate settings to be copied", - }, - Key: "profile.host.ProfileManager.validateComposition", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Copy settings to host profiles", - Summary: "Copy settings to host profiles", - }, - Key: "profile.host.ProfileManager.compositeProfile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create inventory view", - Summary: "Create a view for browsing the inventory and tracking changes to open folders", - }, - Key: "view.ViewManager.createInventoryView", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create container view", - Summary: "Create a view for monitoring the contents of a single container", - }, - Key: "view.ViewManager.createContainerView", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create list view", - Summary: "Create a view for getting updates", - }, - Key: "view.ViewManager.createListView", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create list view", - Summary: "Create a list view from an existing view", - }, - Key: "view.ViewManager.createListViewFromView", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add key", - Summary: "Add the specified key to the current host", - }, - Key: "encryption.CryptoManager.addKey", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add keys", - Summary: "Add the specified keys to the current host", - }, - Key: "encryption.CryptoManager.addKeys", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove key", - Summary: "Remove the specified key from the current host", - }, - Key: "encryption.CryptoManager.removeKey", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove keys", - Summary: "Remove the specified keys from the current host", - }, - Key: "encryption.CryptoManager.removeKeys", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "List all keys", - Summary: "List all the keys registered on the current host", - }, - Key: "encryption.CryptoManager.listKeys", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "setCustomValue", - Summary: "setCustomValue", - }, - Key: "external.AntiAffinityGroup.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "reload", - Summary: "reload", - }, - Key: "external.AntiAffinityGroup.reload", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "rename", - Summary: "rename", - }, - Key: "external.AntiAffinityGroup.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "destroy", - Summary: "destroy", - }, - Key: "external.AntiAffinityGroup.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "addTag", - Summary: "addTag", - }, - Key: "external.AntiAffinityGroup.addTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "removeTag", - Summary: "removeTag", - }, - Key: "external.AntiAffinityGroup.removeTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveCustomValues", - Summary: "retrieveCustomValues", - }, - Key: "external.AntiAffinityGroup.retrieveCustomValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query supported switch specification", - Summary: "Query supported switch specification", - }, - Key: "dvs.DistributedVirtualSwitchManager.querySupportedSwitchSpec", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query compatible hosts for a vSphere Distributed Switch specification", - Summary: "Returns a list of hosts that are compatible with a given vSphere Distributed Switch specification", - }, - Key: "dvs.DistributedVirtualSwitchManager.queryCompatibleHostForNewDvs", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query compatible hosts for existing vSphere Distributed Switch", - Summary: "Returns a list of hosts that are compatible with an existing vSphere Distributed Switch", - }, - Key: "dvs.DistributedVirtualSwitchManager.queryCompatibleHostForExistingDvs", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query compatible host specification", - Summary: "Query compatible host specification", - }, - Key: "dvs.DistributedVirtualSwitchManager.queryCompatibleHostSpec", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query feature capabilities for vSphere Distributed Switch specification", - Summary: "Queries feature capabilities available for a given vSphere Distributed Switch specification", - }, - Key: "dvs.DistributedVirtualSwitchManager.queryFeatureCapability", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query switch by UUID", - Summary: "Query switch by UUID", - }, - Key: "dvs.DistributedVirtualSwitchManager.querySwitchByUuid", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query configuration target", - Summary: "Query configuration target", - }, - Key: "dvs.DistributedVirtualSwitchManager.queryDvsConfigTarget", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check compatibility of hosts against a vSphere Distributed Switch version", - Summary: "Check compatibility of hosts against a vSphere Distributed Switch version", - }, - Key: "dvs.DistributedVirtualSwitchManager.checkCompatibility", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update opaque data for set of entities", - Summary: "Update opaque data for set of entities", - }, - Key: "dvs.DistributedVirtualSwitchManager.updateOpaqueData", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update opaque data for set of entities", - Summary: "Update opaque data for set of entities", - }, - Key: "dvs.DistributedVirtualSwitchManager.updateOpaqueDataEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Fetch opaque data for set of entities", - Summary: "Fetch opaque data for set of entities", - }, - Key: "dvs.DistributedVirtualSwitchManager.fetchOpaqueData", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Fetch opaque data for set of entities", - Summary: "Fetch opaque data for set of entities", - }, - Key: "dvs.DistributedVirtualSwitchManager.fetchOpaqueDataEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Execute opaque command for set of entities", - Summary: "Execute opaque command for set of entities", - }, - Key: "dvs.DistributedVirtualSwitchManager.executeOpaqueCommand", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rectify vNetwork Distributed Switch host", - Summary: "Rectify vNetwork Distributed Switch host", - }, - Key: "dvs.DistributedVirtualSwitchManager.rectifyHost", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Export configuration of the entity", - Summary: "Export configuration of the entity", - }, - Key: "dvs.DistributedVirtualSwitchManager.exportEntity", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Import configuration of the entity", - Summary: "Import configuration of the entity", - }, - Key: "dvs.DistributedVirtualSwitchManager.importEntity", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Look up portgroup based on portgroup key", - Summary: "Look up portgroup based on portgroup key", - }, - Key: "dvs.DistributedVirtualSwitchManager.lookupPortgroup", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query uplink team information", - Summary: "Query uplink team information", - }, - Key: "dvs.DistributedVirtualSwitchManager.QueryDvpgUplinkTeam", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryHostNetworkResource", - Summary: "queryHostNetworkResource", - }, - Key: "dvs.DistributedVirtualSwitchManager.queryHostNetworkResource", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryVwirePort", - Summary: "queryVwirePort", - }, - Key: "dvs.DistributedVirtualSwitchManager.queryVwirePort", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check compliance of host against profile", - Summary: "Checks compliance of a host against a profile", - }, - Key: "profile.host.profileEngine.ComplianceManager.checkHostCompliance", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query expression metadata", - Summary: "Queries the metadata for the given expression names", - }, - Key: "profile.host.profileEngine.ComplianceManager.queryExpressionMetadata", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get the default compliance from host configuration subprofiles", - Summary: "Get the default compliance from host configuration subprofiles", - }, - Key: "profile.host.profileEngine.ComplianceManager.getDefaultCompliance", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Move file", - Summary: "Move the file, folder, or disk from source datacenter to destination datacenter", - }, - Key: "FileManager.move", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Move file", - Summary: "Move the source file or folder to destination datacenter", - }, - Key: "FileManager.moveFile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Copy file", - Summary: "Copy the file, folder, or disk from source datacenter to destination datacenter", - }, - Key: "FileManager.copy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Copy file", - Summary: "Copy the source file or folder to destination datacenter", - }, - Key: "FileManager.copyFile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete file", - Summary: "Delete the file, folder, or disk from source datacenter", - }, - Key: "FileManager.delete", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete file", - Summary: "Delete the source file or folder from the datastore", - }, - Key: "FileManager.deleteFile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Make Directory", - Summary: "Create a directory using the specified name", - }, - Key: "FileManager.makeDirectory", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Change owner", - Summary: "Change the owner of the specified file to the specified user", - }, - Key: "FileManager.changeOwner", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "setCustomValue", - Summary: "setCustomValue", - }, - Key: "external.TagPolicyOption.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "reload", - Summary: "reload", - }, - Key: "external.TagPolicyOption.reload", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "rename", - Summary: "rename", - }, - Key: "external.TagPolicyOption.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "destroy", - Summary: "destroy", - }, - Key: "external.TagPolicyOption.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "addTag", - Summary: "addTag", - }, - Key: "external.TagPolicyOption.addTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "removeTag", - Summary: "removeTag", - }, - Key: "external.TagPolicyOption.removeTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveCustomValues", - Summary: "retrieveCustomValues", - }, - Key: "external.TagPolicyOption.retrieveCustomValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve cluster profile description", - Summary: "Retrieve cluster profile description", - }, - Key: "profile.cluster.ClusterProfile.retrieveDescription", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete cluster profile", - Summary: "Delete cluster profile", - }, - Key: "profile.cluster.ClusterProfile.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Attach cluster profile", - Summary: "Attach cluster profile to cluster", - }, - Key: "profile.cluster.ClusterProfile.associateEntities", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Detach cluster profile", - Summary: "Detach cluster profile from cluster", - }, - Key: "profile.cluster.ClusterProfile.dissociateEntities", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check compliance", - Summary: "Check compliance of a cluster against a cluster profile", - }, - Key: "profile.cluster.ClusterProfile.checkCompliance", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Export cluster profile", - Summary: "Export cluster profile to a file", - }, - Key: "profile.cluster.ClusterProfile.exportProfile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update cluster profile", - Summary: "Update configuration of cluster profile", - }, - Key: "profile.cluster.ClusterProfile.update", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check", - Summary: "Check for dependencies, conflicts, and obsolete updates", - }, - Key: "host.PatchManager.Check", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Scan", - Summary: "Scan the host for patch status", - }, - Key: "host.PatchManager.Scan", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Scan", - Summary: "Scan the host for patch status", - }, - Key: "host.PatchManager.ScanV2", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Stage", - Summary: "Stage the updates to the host", - }, - Key: "host.PatchManager.Stage", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Install", - Summary: "Install the patch", - }, - Key: "host.PatchManager.Install", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Install", - Summary: "Install the patch", - }, - Key: "host.PatchManager.InstallV2", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Uninstall", - Summary: "Uninstall the patch", - }, - Key: "host.PatchManager.Uninstall", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query", - Summary: "Query the host for installed bulletins", - }, - Key: "host.PatchManager.Query", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query process information", - Summary: "Retrieves information regarding processes", - }, - Key: "host.SystemDebugManager.queryProcessInfo", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigure AutoStart Manager", - Summary: "Changes the power on or power off sequence", - }, - Key: "host.AutoStartManager.reconfigure", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Auto power On", - Summary: "Powers On virtual machines according to the current AutoStart configuration", - }, - Key: "host.AutoStartManager.autoPowerOn", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Auto power Off", - Summary: "Powers Off virtual machines according to the current AutoStart configuration", - }, - Key: "host.AutoStartManager.autoPowerOff", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove managed object", - Summary: "Remove the managed objects", - }, - Key: "view.ManagedObjectView.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove list view", - Summary: "Remove the list view object", - }, - Key: "view.ListView.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Modify list view", - Summary: "Modify the list view", - }, - Key: "view.ListView.modify", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reset list view", - Summary: "Reset the list view", - }, - Key: "view.ListView.reset", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reset view", - Summary: "Resets a set of objects in a given view", - }, - Key: "view.ListView.resetFromView", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Creates a registry key", - Summary: "Creates a registry key in the Windows guest operating system", - }, - Key: "vm.guest.WindowsRegistryManager.createRegistryKey", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Lists all registry subkeys for a specified registry key", - Summary: "Lists all registry subkeys for a specified registry key in the Windows guest operating system.", - }, - Key: "vm.guest.WindowsRegistryManager.listRegistryKeys", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Deletes a registry key", - Summary: "Deletes a registry key in the Windows guest operating system", - }, - Key: "vm.guest.WindowsRegistryManager.deleteRegistryKey", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Sets and creates a registry value", - Summary: "Sets and creates a registry value in the Windows guest operating system", - }, - Key: "vm.guest.WindowsRegistryManager.setRegistryValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Lists all registry values for a specified registry key", - Summary: "Lists all registry values for a specified registry key in the Windows guest operating system", - }, - Key: "vm.guest.WindowsRegistryManager.listRegistryValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Deletes a registry value", - Summary: "Deletes a registry value in the Windows guest operating system", - }, - Key: "vm.guest.WindowsRegistryManager.deleteRegistryValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Register Fault Tolerant Secondary VM", - Summary: "Registers a Secondary VM with a Fault Tolerant Primary VM", - }, - Key: "host.FaultToleranceManager.registerSecondary", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Unregister Fault Tolerant Secondary VM", - Summary: "Unregister a Secondary VM from the associated Primary VM", - }, - Key: "host.FaultToleranceManager.unregisterSecondary", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Make Primary VM", - Summary: "Test Fault Tolerance failover by making a Secondary VM in a Fault Tolerance pair the Primary VM", - }, - Key: "host.FaultToleranceManager.makePrimary", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Make peer VM primary", - Summary: "Makes the peer VM primary and terminates the local virtual machine", - }, - Key: "host.FaultToleranceManager.goLivePeerVM", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Stop Fault Tolerant virtual machine", - Summary: "Stop a specified virtual machine in a Fault Tolerant pair", - }, - Key: "host.FaultToleranceManager.terminateFaultTolerantVM", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Disable Secondary VM", - Summary: "Disable Fault Tolerance on a specified Secondary VM", - }, - Key: "host.FaultToleranceManager.disableSecondary", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Enable Secondary VM", - Summary: "Enable Fault Tolerance on a specified Secondary VM", - }, - Key: "host.FaultToleranceManager.enableSecondary", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Start Fault Tolerant Secondary VM", - Summary: "Start Fault Tolerant Secondary VM on remote host", - }, - Key: "host.FaultToleranceManager.startSecondaryOnRemoteHost", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Unregister Fault Tolerance", - Summary: "Unregister the Fault Tolerance service", - }, - Key: "host.FaultToleranceManager.unregister", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set local VM component health", - Summary: "Sets the component health information of the specified local virtual machine", - }, - Key: "host.FaultToleranceManager.setLocalVMComponentHealth", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get peer VM component health", - Summary: "Gets component health information of the FT peer of the specified local virtual machine", - }, - Key: "host.FaultToleranceManager.getPeerVMComponentHealth", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set vCenter HA cluster mode", - Summary: "Set vCenter HA cluster mode", - }, - Key: "vcha.FailoverClusterManager.setClusterMode", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "getClusterMode", - Summary: "getClusterMode", - }, - Key: "vcha.FailoverClusterManager.getClusterMode", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "getClusterHealth", - Summary: "getClusterHealth", - }, - Key: "vcha.FailoverClusterManager.getClusterHealth", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Initiate failover", - Summary: "Initiate a failover from active vCenter Server node to the passive node", - }, - Key: "vcha.FailoverClusterManager.initiateFailover", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "executeStep", - Summary: "executeStep", - }, - Key: "modularity.WorkflowStepHandler.executeStep", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "undoStep", - Summary: "undoStep", - }, - Key: "modularity.WorkflowStepHandler.undoStep", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "finalizeStep", - Summary: "finalizeStep", - }, - Key: "modularity.WorkflowStepHandler.finalizeStep", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "setCustomValue", - Summary: "setCustomValue", - }, - Key: "external.TagPolicy.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "reload", - Summary: "reload", - }, - Key: "external.TagPolicy.reload", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "rename", - Summary: "rename", - }, - Key: "external.TagPolicy.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "destroy", - Summary: "destroy", - }, - Key: "external.TagPolicy.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "addTag", - Summary: "addTag", - }, - Key: "external.TagPolicy.addTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "removeTag", - Summary: "removeTag", - }, - Key: "external.TagPolicy.removeTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveCustomValues", - Summary: "retrieveCustomValues", - }, - Key: "external.TagPolicy.retrieveCustomValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "CreateVRP", - Summary: "CreateVRP", - }, - Key: "VRPResourceManager.CreateVRP", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "UpdateVRP", - Summary: "UpdateVRP", - }, - Key: "VRPResourceManager.UpdateVRP", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "DeleteVRP", - Summary: "DeleteVRP", - }, - Key: "VRPResourceManager.DeleteVRP", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "DeployVM", - Summary: "DeployVM", - }, - Key: "VRPResourceManager.DeployVM", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "UndeployVM", - Summary: "UndeployVM", - }, - Key: "VRPResourceManager.UndeployVM", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "SetManagedByVDC", - Summary: "SetManagedByVDC", - }, - Key: "VRPResourceManager.SetManagedByVDC", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "GetAllVRPIds", - Summary: "GetAllVRPIds", - }, - Key: "VRPResourceManager.GetAllVRPIds", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "GetRPSettings", - Summary: "GetRPSettings", - }, - Key: "VRPResourceManager.GetRPSettings", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "GetVRPSettings", - Summary: "GetVRPSettings", - }, - Key: "VRPResourceManager.GetVRPSettings", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "GetVRPUsage", - Summary: "GetVRPUsage", - }, - Key: "VRPResourceManager.GetVRPUsage", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "GetVRPofVM", - Summary: "GetVRPofVM", - }, - Key: "VRPResourceManager.GetVRPofVM", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "GetChildRPforHub", - Summary: "GetChildRPforHub", - }, - Key: "VRPResourceManager.GetChildRPforHub", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create directory", - Summary: "Creates a top-level directory on the specified datastore", - }, - Key: "DatastoreNamespaceManager.CreateDirectory", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete directory", - Summary: "Deletes the specified top-level directory from the datastore", - }, - Key: "DatastoreNamespaceManager.DeleteDirectory", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "ConvertNamespacePathToUuidPath", - Summary: "ConvertNamespacePathToUuidPath", - }, - Key: "DatastoreNamespaceManager.ConvertNamespacePathToUuidPath", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "setCustomValue", - Summary: "setCustomValue", - }, - Key: "external.VirtualDatacenter.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "reload", - Summary: "reload", - }, - Key: "external.VirtualDatacenter.reload", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "rename", - Summary: "rename", - }, - Key: "external.VirtualDatacenter.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "destroy", - Summary: "destroy", - }, - Key: "external.VirtualDatacenter.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "addTag", - Summary: "addTag", - }, - Key: "external.VirtualDatacenter.addTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "removeTag", - Summary: "removeTag", - }, - Key: "external.VirtualDatacenter.removeTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveCustomValues", - Summary: "retrieveCustomValues", - }, - Key: "external.VirtualDatacenter.retrieveCustomValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve profile description", - Summary: "Retrieve profile description", - }, - Key: "profile.Profile.retrieveDescription", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove profile", - Summary: "Remove profile", - }, - Key: "profile.Profile.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Associate entities", - Summary: "Associate entities with the profile", - }, - Key: "profile.Profile.associateEntities", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Dissociate entities", - Summary: "Dissociate entities from the profile", - }, - Key: "profile.Profile.dissociateEntities", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check compliance", - Summary: "Check compliance against the profile", - }, - Key: "profile.Profile.checkCompliance", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Export profile", - Summary: "Export profile to a file", - }, - Key: "profile.Profile.exportProfile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "getNetworkIpSettings", - Summary: "getNetworkIpSettings", - }, - Key: "vdcs.IpManager.getNetworkIpSettings", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "allocate", - Summary: "allocate", - }, - Key: "vdcs.IpManager.allocate", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "release", - Summary: "release", - }, - Key: "vdcs.IpManager.release", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "releaseAll", - Summary: "releaseAll", - }, - Key: "vdcs.IpManager.releaseAll", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryAll", - Summary: "queryAll", - }, - Key: "vdcs.IpManager.queryAll", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set datastore cluster custom value", - Summary: "Sets the value of a custom field of a datastore cluster", - }, - Key: "StoragePod.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reload datastore cluster", - Summary: "Reloads the datastore cluster", - }, - Key: "StoragePod.reload", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rename a datastore cluster", - Summary: "Rename a datastore cluster", - }, - Key: "StoragePod.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove a datastore cluster", - Summary: "Remove a datastore cluster", - }, - Key: "StoragePod.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add tags to datastore cluster", - Summary: "Adds a set of tags to a datastore cluster", - }, - Key: "StoragePod.addTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove tags from datastore cluster", - Summary: "Removes a set of tags from a datastore cluster", - }, - Key: "StoragePod.removeTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveCustomValues", - Summary: "retrieveCustomValues", - }, - Key: "StoragePod.retrieveCustomValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create folder", - Summary: "Creates a new folder", - }, - Key: "StoragePod.createFolder", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Move datastores into a datastore cluster", - Summary: "Move datastores into a datastore cluster", - }, - Key: "StoragePod.moveInto", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create virtual machine", - Summary: "Creates a new virtual machine", - }, - Key: "StoragePod.createVm", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Register virtual machine", - Summary: "Adds an existing virtual machine to this datastore cluster", - }, - Key: "StoragePod.registerVm", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create cluster", - Summary: "Creates a new cluster compute-resource in this datastore cluster", - }, - Key: "StoragePod.createCluster", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create cluster", - Summary: "Creates a new cluster compute-resource in this datastore cluster", - }, - Key: "StoragePod.createClusterEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add standalone host", - Summary: "Creates a new single-host compute-resource", - }, - Key: "StoragePod.addStandaloneHost", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add standalone host and enable lockdown mode", - Summary: "Creates a new single-host compute-resource and enables lockdown mode on the host", - }, - Key: "StoragePod.addStandaloneHostWithAdminDisabled", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create datacenter", - Summary: "Create a new datacenter with the given name", - }, - Key: "StoragePod.createDatacenter", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Unregister and delete", - Summary: "Recursively deletes all child virtual machine folders and unregisters all virtual machines", - }, - Key: "StoragePod.unregisterAndDestroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create vSphere Distributed Switch", - Summary: "Creates a vSphere Distributed Switch", - }, - Key: "StoragePod.createDistributedVirtualSwitch", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create datastore cluster", - Summary: "Creates a new datastore cluster", - }, - Key: "StoragePod.createStoragePod", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Prepare to upgrade", - Summary: "Deletes the content of the temporary directory on the host", - }, - Key: "AgentManager.prepareToUpgrade", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Upgrade", - Summary: "Validates and executes the installer/uninstaller executable uploaded to the temporary directory", - }, - Key: "AgentManager.upgrade", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Configure host power management policy", - Summary: "Configure host power management policy", - }, - Key: "host.PowerSystem.configurePolicy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set network custom Value", - Summary: "Sets the value of a custom field of a network", - }, - Key: "Network.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reload network", - Summary: "Reload information about the network", - }, - Key: "Network.reload", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rename network", - Summary: "Rename network", - }, - Key: "Network.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete network", - Summary: "Deletes a network if it is not used by any host or virtual machine", - }, - Key: "Network.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add tag", - Summary: "Add a set of tags to the network", - }, - Key: "Network.addTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove tag", - Summary: "Remove a set of tags from the network", - }, - Key: "Network.removeTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveCustomValues", - Summary: "retrieveCustomValues", - }, - Key: "Network.retrieveCustomValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove network", - Summary: "Remove network", - }, - Key: "Network.destroyNetwork", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve argument description for event type", - Summary: "Retrieves the argument meta-data for a given event type", - }, - Key: "event.EventManager.retrieveArgumentDescription", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create event collector", - Summary: "Creates an event collector to retrieve all server events based on a filter", - }, - Key: "event.EventManager.createCollector", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Log user event", - Summary: "Logs a user-defined event", - }, - Key: "event.EventManager.logUserEvent", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get events", - Summary: "Provides the events selected by the specified filter", - }, - Key: "event.EventManager.QueryEvent", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query events by IDs", - Summary: "Returns the events specified by a list of IDs", - }, - Key: "event.EventManager.queryEventsById", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Post event", - Summary: "Posts the specified event", - }, - Key: "event.EventManager.postEvent", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query latest events in event filter", - Summary: "Query the latest events in the specified filter", - }, - Key: "event.EventManager.queryLastEvent", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create virtual disk", - Summary: "Create the disk, either a datastore path or a URL referring to the virtual disk", - }, - Key: "VirtualDiskManager.createVirtualDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete virtual disk", - Summary: "Delete the disk, either a datastore path or a URL referring to the virtual disk", - }, - Key: "VirtualDiskManager.deleteVirtualDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query virtual disk information", - Summary: "Queries information about a virtual disk", - }, - Key: "VirtualDiskManager.queryVirtualDiskInfo", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Move virtual disk", - Summary: "Move the disk, either a datastore path or a URL referring to the virtual disk", - }, - Key: "VirtualDiskManager.moveVirtualDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Copy virtual disk", - Summary: "Copy the disk, either a datastore path or a URL referring to the virtual disk", - }, - Key: "VirtualDiskManager.copyVirtualDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Extend virtual disk", - Summary: "Expand the capacity of a virtual disk to the new capacity", - }, - Key: "VirtualDiskManager.extendVirtualDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query virtual disk fragmentation", - Summary: "Return the percentage of fragmentation of the sparse virtual disk", - }, - Key: "VirtualDiskManager.queryVirtualDiskFragmentation", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Defragment virtual disk", - Summary: "Defragment a sparse virtual disk", - }, - Key: "VirtualDiskManager.defragmentVirtualDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Shrink virtual disk", - Summary: "Shrink a sparse virtual disk", - }, - Key: "VirtualDiskManager.shrinkVirtualDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Inflate virtual disk", - Summary: "Inflate a sparse virtual disk up to the full size", - }, - Key: "VirtualDiskManager.inflateVirtualDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Zero out virtual disk", - Summary: "Explicitly zero out the virtual disk.", - }, - Key: "VirtualDiskManager.eagerZeroVirtualDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Fill virtual disk", - Summary: "Overwrite all blocks of the virtual disk with zeros", - }, - Key: "VirtualDiskManager.zeroFillVirtualDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Optimally eager zero the virtual disk", - Summary: "Optimally eager zero a VMFS thick virtual disk.", - }, - Key: "VirtualDiskManager.optimizeEagerZeroVirtualDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set virtual disk UUID", - Summary: "Set the UUID for the disk, either a datastore path or a URL referring to the virtual disk", - }, - Key: "VirtualDiskManager.setVirtualDiskUuid", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query virtual disk UUID", - Summary: "Get the virtual disk SCSI inquiry page data", - }, - Key: "VirtualDiskManager.queryVirtualDiskUuid", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query virtual disk geometry", - Summary: "Get the disk geometry information for the virtual disk", - }, - Key: "VirtualDiskManager.queryVirtualDiskGeometry", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reparent disks", - Summary: "Reparent disks", - }, - Key: "VirtualDiskManager.reparentDisks", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create a child disk", - Summary: "Create a new disk and attach it to the end of disk chain specified", - }, - Key: "VirtualDiskManager.createChildDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "revertToChildDisk", - Summary: "revertToChildDisk", - }, - Key: "VirtualDiskManager.revertToChildDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Consolidate disks", - Summary: "Consolidate a list of disks to the parent most disk", - }, - Key: "VirtualDiskManager.consolidateDisks", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "importUnmanagedSnapshot", - Summary: "importUnmanagedSnapshot", - }, - Key: "VirtualDiskManager.importUnmanagedSnapshot", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "releaseManagedSnapshot", - Summary: "releaseManagedSnapshot", - }, - Key: "VirtualDiskManager.releaseManagedSnapshot", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "enableUPIT", - Summary: "enableUPIT", - }, - Key: "VirtualDiskManager.enableUPIT", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "disableUPIT", - Summary: "disableUPIT", - }, - Key: "VirtualDiskManager.disableUPIT", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryObjectInfo", - Summary: "queryObjectInfo", - }, - Key: "VirtualDiskManager.queryObjectInfo", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryObjectTypes", - Summary: "queryObjectTypes", - }, - Key: "VirtualDiskManager.queryObjectTypes", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create a virtual disk object", - Summary: "Create a virtual disk object", - }, - Key: "vslm.host.VStorageObjectManager.createDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Register a legacy disk to be a virtual disk object", - Summary: "Register a legacy disk to be a virtual disk object", - }, - Key: "vslm.host.VStorageObjectManager.registerDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Extend a virtual disk to the new capacity", - Summary: "Extend a virtual disk to the new capacity", - }, - Key: "vslm.host.VStorageObjectManager.extendDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Inflate a thin virtual disk", - Summary: "Inflate a thin virtual disk", - }, - Key: "vslm.host.VStorageObjectManager.inflateDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rename a virtual storage object", - Summary: "Rename a virtual storage object", - }, - Key: "vslm.host.VStorageObjectManager.renameVStorageObject", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update storage policy on a virtual storage object", - Summary: "Update storage policy on a virtual storage object", - }, - Key: "vslm.host.VStorageObjectManager.updateVStorageObjectPolicy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete a virtual storage object", - Summary: "Delete a virtual storage object", - }, - Key: "vslm.host.VStorageObjectManager.deleteVStorageObject", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve a virtual storage object", - Summary: "Retrieve a virtual storage object", - }, - Key: "vslm.host.VStorageObjectManager.retrieveVStorageObject", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveVStorageObjectState", - Summary: "retrieveVStorageObjectState", - }, - Key: "vslm.host.VStorageObjectManager.retrieveVStorageObjectState", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "List virtual storage objects on a datastore", - Summary: "List virtual storage objects on a datastore", - }, - Key: "vslm.host.VStorageObjectManager.listVStorageObject", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Clone a virtual storage object", - Summary: "Clone a virtual storage object", - }, - Key: "vslm.host.VStorageObjectManager.cloneVStorageObject", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Relocate a virtual storage object", - Summary: "Relocate a virtual storage object", - }, - Key: "vslm.host.VStorageObjectManager.relocateVStorageObject", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconcile datastore inventory", - Summary: "Reconcile datastore inventory", - }, - Key: "vslm.host.VStorageObjectManager.reconcileDatastoreInventory", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Schedule reconcile datastore inventory", - Summary: "Schedule reconcile datastore inventory", - }, - Key: "vslm.host.VStorageObjectManager.scheduleReconcileDatastoreInventory", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Prepare vMotion send operation", - Summary: "Prepare a vMotion send operation", - }, - Key: "host.VMotionManager.prepareSource", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Prepare VMotion send operation asynchronously", - Summary: "Prepares a VMotion send operation asynchronously", - }, - Key: "host.VMotionManager.prepareSourceEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Prepare vMotion receive operation", - Summary: "Prepare a vMotion receive operation", - }, - Key: "host.VMotionManager.prepareDestination", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Prepare vMotion receive operation asynchronously", - Summary: "Prepares a vMotion receive operation asynchronously", - }, - Key: "host.VMotionManager.prepareDestinationEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Initiate vMotion receive operation", - Summary: "Initiate a vMotion receive operation", - }, - Key: "host.VMotionManager.initiateDestination", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Initiate vMotion send operation", - Summary: "Initiate a vMotion send operation", - }, - Key: "host.VMotionManager.initiateSource", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Initiate VMotion send operation", - Summary: "Initiates a VMotion send operation", - }, - Key: "host.VMotionManager.initiateSourceEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Complete vMotion source notification", - Summary: "Tell the source that vMotion migration is complete (success or failure)", - }, - Key: "host.VMotionManager.completeSource", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Complete vMotion receive notification", - Summary: "Tell the destination that vMotion migration is complete (success or failure)", - }, - Key: "host.VMotionManager.completeDestination", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Commit vMotion destination upgrade", - Summary: "Reparent the disks at destination and commit the redo logs at the end of a vMotion migration", - }, - Key: "host.VMotionManager.upgradeDestination", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update VMotionManager memory mirror migrate flag", - Summary: "Enables or disables VMotionManager memory mirror migrate", - }, - Key: "host.VMotionManager.updateMemMirrorFlag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryMigrationIds", - Summary: "queryMigrationIds", - }, - Key: "host.VMotionManager.queryMigrationIds", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "updateHostSubSpecificationByFile", - Summary: "updateHostSubSpecificationByFile", - }, - Key: "profile.host.profileEngine.HostSpecificationAgent.updateHostSubSpecificationByFile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "updateHostSubSpecificationByData", - Summary: "updateHostSubSpecificationByData", - }, - Key: "profile.host.profileEngine.HostSpecificationAgent.updateHostSubSpecificationByData", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveHostSpecification", - Summary: "retrieveHostSpecification", - }, - Key: "profile.host.profileEngine.HostSpecificationAgent.retrieveHostSpecification", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "deleteHostSubSpecification", - Summary: "deleteHostSubSpecification", - }, - Key: "profile.host.profileEngine.HostSpecificationAgent.deleteHostSubSpecification", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "addKey", - Summary: "addKey", - }, - Key: "encryption.CryptoManagerKmip.addKey", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "addKeys", - Summary: "addKeys", - }, - Key: "encryption.CryptoManagerKmip.addKeys", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "removeKey", - Summary: "removeKey", - }, - Key: "encryption.CryptoManagerKmip.removeKey", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "removeKeys", - Summary: "removeKeys", - }, - Key: "encryption.CryptoManagerKmip.removeKeys", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "listKeys", - Summary: "listKeys", - }, - Key: "encryption.CryptoManagerKmip.listKeys", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "registerKmipServer", - Summary: "registerKmipServer", - }, - Key: "encryption.CryptoManagerKmip.registerKmipServer", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "markDefault", - Summary: "markDefault", - }, - Key: "encryption.CryptoManagerKmip.markDefault", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "updateKmipServer", - Summary: "updateKmipServer", - }, - Key: "encryption.CryptoManagerKmip.updateKmipServer", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "removeKmipServer", - Summary: "removeKmipServer", - }, - Key: "encryption.CryptoManagerKmip.removeKmipServer", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "listKmipServers", - Summary: "listKmipServers", - }, - Key: "encryption.CryptoManagerKmip.listKmipServers", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveKmipServersStatus", - Summary: "retrieveKmipServersStatus", - }, - Key: "encryption.CryptoManagerKmip.retrieveKmipServersStatus", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "generateKey", - Summary: "generateKey", - }, - Key: "encryption.CryptoManagerKmip.generateKey", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveKmipServerCert", - Summary: "retrieveKmipServerCert", - }, - Key: "encryption.CryptoManagerKmip.retrieveKmipServerCert", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "uploadKmipServerCert", - Summary: "uploadKmipServerCert", - }, - Key: "encryption.CryptoManagerKmip.uploadKmipServerCert", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "generateSelfSignedClientCert", - Summary: "generateSelfSignedClientCert", - }, - Key: "encryption.CryptoManagerKmip.generateSelfSignedClientCert", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "generateClientCsr", - Summary: "generateClientCsr", - }, - Key: "encryption.CryptoManagerKmip.generateClientCsr", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveSelfSignedClientCert", - Summary: "retrieveSelfSignedClientCert", - }, - Key: "encryption.CryptoManagerKmip.retrieveSelfSignedClientCert", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveClientCsr", - Summary: "retrieveClientCsr", - }, - Key: "encryption.CryptoManagerKmip.retrieveClientCsr", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveClientCert", - Summary: "retrieveClientCert", - }, - Key: "encryption.CryptoManagerKmip.retrieveClientCert", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "updateSelfSignedClientCert", - Summary: "updateSelfSignedClientCert", - }, - Key: "encryption.CryptoManagerKmip.updateSelfSignedClientCert", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "updateKmsSignedCsrClientCert", - Summary: "updateKmsSignedCsrClientCert", - }, - Key: "encryption.CryptoManagerKmip.updateKmsSignedCsrClientCert", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "uploadClientCert", - Summary: "uploadClientCert", - }, - Key: "encryption.CryptoManagerKmip.uploadClientCert", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Unregister extension", - Summary: "Unregisters an extension", - }, - Key: "ExtensionManager.unregisterExtension", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Find extension", - Summary: "Find an extension", - }, - Key: "ExtensionManager.findExtension", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Register extension", - Summary: "Registers an extension", - }, - Key: "ExtensionManager.registerExtension", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update extension", - Summary: "Updates extension information", - }, - Key: "ExtensionManager.updateExtension", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get server public key", - Summary: "Get vCenter Server's public key", - }, - Key: "ExtensionManager.getPublicKey", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set extension public key", - Summary: "Set public key of the extension", - }, - Key: "ExtensionManager.setPublicKey", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set extension certificate", - Summary: "Update the stored authentication certificate for a specified extension", - }, - Key: "ExtensionManager.setCertificate", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update extension data", - Summary: "Updates extension-specific data associated with an extension", - }, - Key: "ExtensionManager.updateExtensionData", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query extension data", - Summary: "Retrieves extension-specific data associated with an extension", - }, - Key: "ExtensionManager.queryExtensionData", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query extension data keys", - Summary: "Retrieves extension-specific data keys associated with an extension", - }, - Key: "ExtensionManager.queryExtensionDataKeys", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Clear extension data", - Summary: "Clears extension-specific data associated with an extension", - }, - Key: "ExtensionManager.clearExtensionData", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query extension data usage", - Summary: "Retrieves statistics about the amount of data being stored by extensions registered with vCenter Server", - }, - Key: "ExtensionManager.queryExtensionDataUsage", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query entities managed by extension", - Summary: "Finds entities managed by an extension", - }, - Key: "ExtensionManager.queryManagedBy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query statistics about IP allocation usage", - Summary: "Query statistics about IP allocation usage, system-wide or for specified extensions", - }, - Key: "ExtensionManager.queryExtensionIpAllocationUsage", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Enable replication of virtual machine", - Summary: "Enable replication of virtual machine", - }, - Key: "HbrManager.enableReplication", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Disable replication of virtual machine", - Summary: "Disable replication of virtual machine", - }, - Key: "HbrManager.disableReplication", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigure replication for virtual machine", - Summary: "Reconfigure replication for virtual machine", - }, - Key: "HbrManager.reconfigureReplication", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve replication configuration of virtual machine", - Summary: "Retrieve replication configuration of virtual machine", - }, - Key: "HbrManager.retrieveReplicationConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Pause replication of virtual machine", - Summary: "Pause replication of virtual machine", - }, - Key: "HbrManager.pauseReplication", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Resume replication of virtual machine", - Summary: "Resume replication of virtual machine", - }, - Key: "HbrManager.resumeReplication", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Start a replication resynchronization for virtual machine", - Summary: "Start a replication resynchronization for virtual machine", - }, - Key: "HbrManager.fullSync", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Start new replication instance for virtual machine", - Summary: "Start extraction and transfer of a new replication instance for virtual machine", - }, - Key: "HbrManager.createInstance", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Replicate powered-off virtual machine", - Summary: "Transfer a replication instance for powered-off virtual machine", - }, - Key: "HbrManager.startOfflineInstance", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Stop replication of powered-off virtual machine", - Summary: "Stop replication of powered-off virtual machine", - }, - Key: "HbrManager.stopOfflineInstance", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query virtual machine replication state", - Summary: "Qureies the current state of a replicated virtual machine", - }, - Key: "HbrManager.queryReplicationState", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryReplicationCapabilities", - Summary: "queryReplicationCapabilities", - }, - Key: "HbrManager.queryReplicationCapabilities", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set storage custom value", - Summary: "Sets the value of a custom field of a host storage system", - }, - Key: "host.StorageSystem.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve disk partition information", - Summary: "Gets the partition information for the disks named by the device names", - }, - Key: "host.StorageSystem.retrieveDiskPartitionInfo", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Compute disk partition information", - Summary: "Computes the disk partition information given the desired disk layout", - }, - Key: "host.StorageSystem.computeDiskPartitionInfo", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Compute disk partition information for resize", - Summary: "Compute disk partition information for resizing a partition", - }, - Key: "host.StorageSystem.computeDiskPartitionInfoForResize", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update disk partitions", - Summary: "Change the partitions on the disk by supplying a partition specification and the device name", - }, - Key: "host.StorageSystem.updateDiskPartitions", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Format VMFS", - Summary: "Formats a new VMFS on a disk partition", - }, - Key: "host.StorageSystem.formatVmfs", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Mount VMFS volume", - Summary: "Mounts an unmounted VMFS volume", - }, - Key: "host.StorageSystem.mountVmfsVolume", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Unmount VMFS volume", - Summary: "Unmount a mounted VMFS volume", - }, - Key: "host.StorageSystem.unmountVmfsVolume", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Unmount VMFS volumes", - Summary: "Unmounts one or more mounted VMFS volumes", - }, - Key: "host.StorageSystem.unmountVmfsVolumeEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "mountVmfsVolumeEx", - Summary: "mountVmfsVolumeEx", - }, - Key: "host.StorageSystem.mountVmfsVolumeEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "unmapVmfsVolumeEx", - Summary: "unmapVmfsVolumeEx", - }, - Key: "host.StorageSystem.unmapVmfsVolumeEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete state information for unmounted VMFS volume", - Summary: "Removes the state information for a previously unmounted VMFS volume", - }, - Key: "host.StorageSystem.deleteVmfsVolumeState", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rescan VMFS", - Summary: "Rescan for new VMFS volumes", - }, - Key: "host.StorageSystem.rescanVmfs", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Extend VMFS", - Summary: "Extend a VMFS by attaching a disk partition", - }, - Key: "host.StorageSystem.attachVmfsExtent", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Expand VMFS extent", - Summary: "Expand the capacity of the VMFS extent", - }, - Key: "host.StorageSystem.expandVmfsExtent", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Upgrade VMFS", - Summary: "Upgrade the VMFS to the current VMFS version", - }, - Key: "host.StorageSystem.upgradeVmfs", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Relocate virtual machine disks", - Summary: "Relocate the disks for all virtual machines into directories if stored in the ROOT", - }, - Key: "host.StorageSystem.upgradeVmLayout", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query unbound VMFS volumes", - Summary: "Query for the list of unbound VMFS volumes", - }, - Key: "host.StorageSystem.queryUnresolvedVmfsVolume", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Resolve VMFS volumes", - Summary: "Resolve the detected copies of VMFS volumes", - }, - Key: "host.StorageSystem.resolveMultipleUnresolvedVmfsVolumes", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Resolve VMFS volumes", - Summary: "Resolves the detected copies of VMFS volumes", - }, - Key: "host.StorageSystem.resolveMultipleUnresolvedVmfsVolumesEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Unmount force mounted VMFS", - Summary: "Unmounts a force mounted VMFS volume", - }, - Key: "host.StorageSystem.unmountForceMountedVmfsVolume", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rescan HBA", - Summary: "Rescan a specific storage adapter for new storage devices", - }, - Key: "host.StorageSystem.rescanHba", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rescan all HBAs", - Summary: "Rescan all storage adapters for new storage devices", - }, - Key: "host.StorageSystem.rescanAllHba", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Change Software Internet SCSI Status", - Summary: "Enables or disables Software Internet SCSI", - }, - Key: "host.StorageSystem.updateSoftwareInternetScsiEnabled", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update Internet SCSI discovery properties", - Summary: "Updates the discovery properties for an Internet SCSI host bus adapter", - }, - Key: "host.StorageSystem.updateInternetScsiDiscoveryProperties", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update Internet SCSI authentication properties", - Summary: "Updates the authentication properties for an Internet SCSI host bus adapter", - }, - Key: "host.StorageSystem.updateInternetScsiAuthenticationProperties", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update Internet SCSI digest properties", - Summary: "Update the digest properties of an Internet SCSI host bus adapter or target", - }, - Key: "host.StorageSystem.updateInternetScsiDigestProperties", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update Internet SCSI advanced options", - Summary: "Update the advanced options of an Internet SCSI host bus adapter or target", - }, - Key: "host.StorageSystem.updateInternetScsiAdvancedOptions", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update Internet SCSI IP properties", - Summary: "Updates the IP properties for an Internet SCSI host bus adapter", - }, - Key: "host.StorageSystem.updateInternetScsiIPProperties", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update Internet SCSI name", - Summary: "Updates the name of an Internet SCSI host bus adapter", - }, - Key: "host.StorageSystem.updateInternetScsiName", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update Internet SCSI alias", - Summary: "Updates the alias of an Internet SCSI host bus adapter", - }, - Key: "host.StorageSystem.updateInternetScsiAlias", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add Internet SCSI send targets", - Summary: "Adds send target entries to the host bus adapter discovery list", - }, - Key: "host.StorageSystem.addInternetScsiSendTargets", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove Internet SCSI send targets", - Summary: "Removes send target entries from the host bus adapter discovery list", - }, - Key: "host.StorageSystem.removeInternetScsiSendTargets", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add Internet SCSI static targets ", - Summary: "Adds static target entries to the host bus adapter discovery list", - }, - Key: "host.StorageSystem.addInternetScsiStaticTargets", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove Internet SCSI static targets", - Summary: "Removes static target entries from the host bus adapter discovery list", - }, - Key: "host.StorageSystem.removeInternetScsiStaticTargets", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Enable multiple path", - Summary: "Enable a path for a logical unit", - }, - Key: "host.StorageSystem.enableMultipathPath", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Disable multiple path", - Summary: "Disable a path for a logical unit", - }, - Key: "host.StorageSystem.disableMultipathPath", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set logical unit policy", - Summary: "Set the multipath policy for a logical unit ", - }, - Key: "host.StorageSystem.setMultipathLunPolicy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query path selection policy options", - Summary: "Queries the set of path selection policy options", - }, - Key: "host.StorageSystem.queryPathSelectionPolicyOptions", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query storage array type policy options", - Summary: "Queries the set of storage array type policy options", - }, - Key: "host.StorageSystem.queryStorageArrayTypePolicyOptions", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update SCSI LUN display name", - Summary: "Updates the display name of a SCSI LUN", - }, - Key: "host.StorageSystem.updateScsiLunDisplayName", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Detach SCSI LUN", - Summary: "Blocks I/O operations to the attached SCSI LUN", - }, - Key: "host.StorageSystem.detachScsiLun", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Detach SCSI LUNs", - Summary: "Blocks I/O operations to one or more attached SCSI LUNs", - }, - Key: "host.StorageSystem.detachScsiLunEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete state information for detached SCSI LUN", - Summary: "Removes the state information for a previously detached SCSI LUN", - }, - Key: "host.StorageSystem.deleteScsiLunState", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Attach SCSI LUN", - Summary: "Allow I/O issue to the specified detached SCSI LUN", - }, - Key: "host.StorageSystem.attachScsiLun", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Attach SCSI LUNs", - Summary: "Enables I/O operations to one or more detached SCSI LUNs", - }, - Key: "host.StorageSystem.attachScsiLunEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Refresh host storage system", - Summary: "Refresh the storage information and settings to pick up any changes that have occurred", - }, - Key: "host.StorageSystem.refresh", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Discover FCOE storage", - Summary: "Discovers new storage using FCOE", - }, - Key: "host.StorageSystem.discoverFcoeHbas", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update FCOE HBA state", - Summary: "Mark or unmark the specified FCOE HBA for removal from the host system", - }, - Key: "host.StorageSystem.markForRemoval", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Format VFFS", - Summary: "Formats a new VFFS on a SSD disk", - }, - Key: "host.StorageSystem.formatVffs", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Extend VFFS", - Summary: "Extends a VFFS by attaching a SSD disk", - }, - Key: "host.StorageSystem.extendVffs", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete VFFS", - Summary: "Deletes a VFFS from the host", - }, - Key: "host.StorageSystem.destroyVffs", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Mounts VFFS volume", - Summary: "Mounts an unmounted VFFS volume", - }, - Key: "host.StorageSystem.mountVffsVolume", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Unmounts VFFS volume", - Summary: "Unmounts a mounted VFFS volume", - }, - Key: "host.StorageSystem.unmountVffsVolume", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete state information for unmounted VFFS volume", - Summary: "Removes the state information for a previously unmounted VFFS volume", - }, - Key: "host.StorageSystem.deleteVffsVolumeState", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rescan VFFS", - Summary: "Rescans for new VFFS volumes", - }, - Key: "host.StorageSystem.rescanVffs", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query available SSD disks", - Summary: "Queries available SSD disks", - }, - Key: "host.StorageSystem.queryAvailableSsds", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set NFS user", - Summary: "Sets an NFS user", - }, - Key: "host.StorageSystem.setNFSUser", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Change NFS user password", - Summary: "Changes the password of an NFS user", - }, - Key: "host.StorageSystem.changeNFSUserPassword", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query NFS user", - Summary: "Queries an NFS user", - }, - Key: "host.StorageSystem.queryNFSUser", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Clear NFS user", - Summary: "Deletes an NFS user", - }, - Key: "host.StorageSystem.clearNFSUser", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Turn on disk locator LEDs", - Summary: "Turns on one or more disk locator LEDs", - }, - Key: "host.StorageSystem.turnDiskLocatorLedOn", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Turn off locator LEDs", - Summary: "Turns off one or more disk locator LEDs", - }, - Key: "host.StorageSystem.turnDiskLocatorLedOff", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Mark the disk as a flash disk", - Summary: "Marks the disk as a flash disk", - }, - Key: "host.StorageSystem.markAsSsd", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Mark the disk as a HDD disk", - Summary: "Marks the disk as a HDD disk", - }, - Key: "host.StorageSystem.markAsNonSsd", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Mark the disk as a local disk", - Summary: "Marks the disk as a local disk", - }, - Key: "host.StorageSystem.markAsLocal", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Mark the disk as a remote disk", - Summary: "Marks the disk as a remote disk", - }, - Key: "host.StorageSystem.markAsNonLocal", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "QueryIoFilterProviderId", - Summary: "QueryIoFilterProviderId", - }, - Key: "host.StorageSystem.QueryIoFilterProviderId", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "FetchIoFilterSharedSecret", - Summary: "FetchIoFilterSharedSecret", - }, - Key: "host.StorageSystem.FetchIoFilterSharedSecret", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update VMFS unmap priority", - Summary: "Updates the priority of VMFS space reclamation operation", - }, - Key: "host.StorageSystem.updateVmfsUnmapPriority", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query VMFS config option", - Summary: "Query VMFS config option", - }, - Key: "host.StorageSystem.queryVmfsConfigOption", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Evaluate vMotion migration of VMs to hosts", - Summary: "Checks whether the specified VMs can be migrated with vMotion to all the specified hosts", - }, - Key: "vm.check.ProvisioningChecker.queryVMotionCompatibilityEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Evaluate migration of VM to destination", - Summary: "Checks whether the VM can be migrated to the specified destination host, resource pool, and datastores", - }, - Key: "vm.check.ProvisioningChecker.checkMigrate", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Evaluate relocation of VM to destination", - Summary: "Checks whether the VM can be relocated to the specified destination host, resource pool, and datastores", - }, - Key: "vm.check.ProvisioningChecker.checkRelocate", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Evaluate cloning VM to destination", - Summary: "Checks whether the VM can be cloned to the specified destination host, resource pool, and datastores", - }, - Key: "vm.check.ProvisioningChecker.checkClone", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "checkInstantClone", - Summary: "checkInstantClone", - }, - Key: "vm.check.ProvisioningChecker.checkInstantClone", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create cluster profile", - Summary: "Create cluster profile", - }, - Key: "profile.cluster.ProfileManager.createProfile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query policy metadata", - Summary: "Query policy metadata", - }, - Key: "profile.cluster.ProfileManager.queryPolicyMetadata", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Find associated profile", - Summary: "Find associated profile", - }, - Key: "profile.cluster.ProfileManager.findAssociatedProfile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Prepare a vCenter HA setup", - Summary: "Prepare vCenter HA setup on the local vCenter Server", - }, - Key: "vcha.FailoverClusterConfigurator.prepare", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Deploy a vCenter HA cluster", - Summary: "Deploy and configure vCenter HA on the local vCenter Server", - }, - Key: "vcha.FailoverClusterConfigurator.deploy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Configure a vCenter HA cluster", - Summary: "Configure vCenter HA on the local vCenter Server", - }, - Key: "vcha.FailoverClusterConfigurator.configure", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create passive node", - Summary: "Create a passive node in a vCenter HA Cluster", - }, - Key: "vcha.FailoverClusterConfigurator.createPassiveNode", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create witness node", - Summary: "Create a witness node in a vCenter HA Cluster", - }, - Key: "vcha.FailoverClusterConfigurator.createWitnessNode", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "getConfig", - Summary: "getConfig", - }, - Key: "vcha.FailoverClusterConfigurator.getConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Destroy the vCenter HA cluster", - Summary: "Destroy the vCenter HA cluster setup and remove all configuration files", - }, - Key: "vcha.FailoverClusterConfigurator.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get current time", - Summary: "Returns the current time on the server", - }, - Key: "ServiceInstance.currentTime", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve content", - Summary: "Get the properties of the service instance", - }, - Key: "ServiceInstance.retrieveContent", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve internal properties", - Summary: "Retrieves the internal properties of the service instance", - }, - Key: "ServiceInstance.retrieveInternalContent", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Validate migration", - Summary: "Checks for errors and warnings of virtual machines migrated from one host to another", - }, - Key: "ServiceInstance.validateMigration", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query vMotion compatibility", - Summary: "Validates the vMotion compatibility of a set of hosts", - }, - Key: "ServiceInstance.queryVMotionCompatibility", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve product components", - Summary: "Component information for bundled products", - }, - Key: "ServiceInstance.retrieveProductComponents", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create vSphere Distributed Switch", - Summary: "Create vSphere Distributed Switch", - }, - Key: "dvs.HostDistributedVirtualSwitchManager.createDistributedVirtualSwitch", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove vSphere Distributed Switch", - Summary: "Remove vSphere Distributed Switch", - }, - Key: "dvs.HostDistributedVirtualSwitchManager.removeDistributedVirtualSwitch", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigure vSphere Distributed Switch", - Summary: "Reconfigure vSphere Distributed Switch", - }, - Key: "dvs.HostDistributedVirtualSwitchManager.reconfigureDistributedVirtualSwitch", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update dvPort", - Summary: "Update dvPort", - }, - Key: "dvs.HostDistributedVirtualSwitchManager.updatePorts", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete ports", - Summary: "Delete ports", - }, - Key: "dvs.HostDistributedVirtualSwitchManager.deletePorts", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve port state", - Summary: "Retrieve port state", - }, - Key: "dvs.HostDistributedVirtualSwitchManager.fetchPortState", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Clone port", - Summary: "Clone port", - }, - Key: "dvs.HostDistributedVirtualSwitchManager.clonePort", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve vSphere Distributed Switch configuration specification", - Summary: "Retrieve vSphere Distributed Switch configuration specification", - }, - Key: "dvs.HostDistributedVirtualSwitchManager.retrieveDvsConfigSpec", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update Distributed Port Groups", - Summary: "Update Distributed Port Group", - }, - Key: "dvs.HostDistributedVirtualSwitchManager.updateDVPortgroups", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve port group keys for vSphere Distributed Switch", - Summary: "Retrieve the list of port group keys on a given vSphere Distributed Switch", - }, - Key: "dvs.HostDistributedVirtualSwitchManager.retrieveDVPortgroup", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve distributed virtual port group specification", - Summary: "Retrievs the configuration specification for distributed virtual port groups", - }, - Key: "dvs.HostDistributedVirtualSwitchManager.retrieveDVPortgroupConfigSpec", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Load port", - Summary: "Load port", - }, - Key: "dvs.HostDistributedVirtualSwitchManager.loadDVPort", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve the list of port keys on the given vSphere Distributed Switch", - Summary: "Retrieve the list of port keys on the given vSphere Distributed Switch", - }, - Key: "dvs.HostDistributedVirtualSwitchManager.retrieveDVPort", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update dvPorts", - Summary: "Update dvPort", - }, - Key: "dvs.HostDistributedVirtualSwitchManager.applyDVPort", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update Distributed Port Groups", - Summary: "Update Distributed Port Group", - }, - Key: "dvs.HostDistributedVirtualSwitchManager.applyDVPortgroup", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update vSphere Distributed Switch", - Summary: "Update vSphere Distributed Switch", - }, - Key: "dvs.HostDistributedVirtualSwitchManager.applyDvs", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update vSphere Distributed Switch list", - Summary: "Update vSphere Distributed Switch list", - }, - Key: "dvs.HostDistributedVirtualSwitchManager.applyDvsList", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update Distributed Port Group list", - Summary: "Update Distributed Port Group list", - }, - Key: "dvs.HostDistributedVirtualSwitchManager.applyDVPortgroupList", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update dvPort list", - Summary: "Update dvPort list", - }, - Key: "dvs.HostDistributedVirtualSwitchManager.applyDVPortList", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Execute opaque command", - Summary: "Execute opaque command", - }, - Key: "dvs.HostDistributedVirtualSwitchManager.executeOpaqueCommand", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create default host profile of specified type", - Summary: "Creates a default host profile of the specified type", - }, - Key: "profile.host.profileEngine.HostProfileManager.createDefaultProfile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query profile policy option metadata", - Summary: "Gets the profile policy option metadata for the specified policy names", - }, - Key: "profile.host.profileEngine.HostProfileManager.queryPolicyMetadata", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query profile metadata", - Summary: "Gets the profile metadata for the specified profile names and profile types", - }, - Key: "profile.host.profileEngine.HostProfileManager.queryProfileMetadata", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query profile category metadata", - Summary: "Gets the profile category metadata for the specified category names", - }, - Key: "profile.host.profileEngine.HostProfileManager.queryProfileCategoryMetadata", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query profile component metadata", - Summary: "Gets the profile component metadata for the specified component names", - }, - Key: "profile.host.profileEngine.HostProfileManager.queryProfileComponentMetadata", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Execute host profile manager engine", - Summary: "Executes the host profile manager engine", - }, - Key: "profile.host.profileEngine.HostProfileManager.execute", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Bookkeep host profile", - Summary: "Bookkeep host profile", - }, - Key: "profile.host.profileEngine.HostProfileManager.bookKeep", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve profile description", - Summary: "Retrieves description of a profile", - }, - Key: "profile.host.profileEngine.HostProfileManager.retrieveProfileDescription", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update configuration tasks from host configuration", - Summary: "Update configuration tasks from host configuration", - }, - Key: "profile.host.profileEngine.HostProfileManager.updateTaskConfigSpec", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "generateTaskList", - Summary: "generateTaskList", - }, - Key: "profile.host.profileEngine.HostProfileManager.generateTaskList", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "generateHostConfigTaskSpec", - Summary: "generateHostConfigTaskSpec", - }, - Key: "profile.host.profileEngine.HostProfileManager.generateHostConfigTaskSpec", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve profile from host configuration", - Summary: "Retrieves a profile from the host's configuration", - }, - Key: "profile.host.profileEngine.HostProfileManager.retrieveProfile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Prepare host profile for export", - Summary: "Prepares a host profile for export", - }, - Key: "profile.host.profileEngine.HostProfileManager.prepareExport", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query user input policy options", - Summary: "Gets a list of policy options that are set to require user inputs", - }, - Key: "profile.host.profileEngine.HostProfileManager.queryUserInputPolicyOptions", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query profile structure", - Summary: "Gets information about the structure of a profile", - }, - Key: "profile.host.profileEngine.HostProfileManager.queryProfileStructure", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Apply host configuration", - Summary: "Applies the specified host configuration to the host", - }, - Key: "profile.host.profileEngine.HostProfileManager.applyHostConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query host profile manager state", - Summary: "Gets the current state of the host profile manager and plug-ins on a host", - }, - Key: "profile.host.profileEngine.HostProfileManager.queryState", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check virtual machine's compatibility on host", - Summary: "Checks whether a virtual machine is compatible on a host", - }, - Key: "vm.check.CompatibilityChecker.checkCompatibility", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check compatibility of a VM specification on a host", - Summary: "Checks compatibility of a VM specification on a host", - }, - Key: "vm.check.CompatibilityChecker.checkVMCompatibility", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query service list", - Summary: "Location information that needs to match a service", - }, - Key: "ServiceManager.queryServiceList", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove inventory view", - Summary: "Remove the inventory view object", - }, - Key: "view.InventoryView.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Open inventory view folder", - Summary: "Adds the child objects of a given managed entity to the view", - }, - Key: "view.InventoryView.openFolder", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Close inventory view", - Summary: "Notify the server that folders have been closed", - }, - Key: "view.InventoryView.closeFolder", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigure host update proxy", - Summary: "Reconfigure host update proxy", - }, - Key: "host.HostUpdateProxyManager.reconfigureHostUpdateProxy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve configuration of the host update proxy", - Summary: "Retrieve configuration of the host update proxy", - }, - Key: "host.HostUpdateProxyManager.retrieveHostUpdateProxyConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update VMCI access rights", - Summary: "Updates VMCI (Virtual Machine Communication Interface) access rights for one or more virtual machines", - }, - Key: "host.VmciAccessManager.updateAccess", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve VMCI service rights granted to virtual machine", - Summary: "Retrieve VMCI (Virtual Machine Communication Interface) service rights granted to a VM", - }, - Key: "host.VmciAccessManager.retrieveGrantedServices", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query virtual machines with access to VMCI service", - Summary: "Gets the VMs with granted access to a service", - }, - Key: "host.VmciAccessManager.queryAccessToService", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "promoteDisks", - Summary: "promoteDisks", - }, - Key: "host.LowLevelProvisioningManager.promoteDisks", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create virtual machine", - Summary: "Creates a virtual machine on disk", - }, - Key: "host.LowLevelProvisioningManager.createVm", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete virtual machine", - Summary: "Deletes a virtual machine on disk", - }, - Key: "host.LowLevelProvisioningManager.deleteVm", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete virtual machine without deleting its virtual disks", - Summary: "Deletes a virtual machine from its storage, all virtual machine files are deleted except its associated virtual disks", - }, - Key: "host.LowLevelProvisioningManager.deleteVmExceptDisks", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve virtual machine recovery information", - Summary: "Retrieves virtual machine recovery information", - }, - Key: "host.LowLevelProvisioningManager.retrieveVmRecoveryInfo", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve last virtual machine migration status", - Summary: "Retrieves the last virtual machine migration status if available", - }, - Key: "host.LowLevelProvisioningManager.retrieveLastVmMigrationStatus", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigure virtual machine", - Summary: "Reconfigures the virtual machine", - }, - Key: "host.LowLevelProvisioningManager.reconfigVM", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reload disks", - Summary: "Reloads virtual disk information", - }, - Key: "host.LowLevelProvisioningManager.reloadDisks", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Consolidate disks", - Summary: "Consolidates virtual disks", - }, - Key: "host.LowLevelProvisioningManager.consolidateDisks", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update snapshot layout information", - Summary: "Updates the snapshot layout information of a virtual machine and reloads its snapshots", - }, - Key: "host.LowLevelProvisioningManager.relayoutSnapshots", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reserve files for provisioning", - Summary: "Reserves files or directories on a datastore to be used for a provisioning", - }, - Key: "host.LowLevelProvisioningManager.reserveFiles", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete files", - Summary: "Deletes a list of files from a datastore", - }, - Key: "host.LowLevelProvisioningManager.deleteFiles", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Extract NVRAM content", - Summary: "Extracts the NVRAM content from a checkpoint file", - }, - Key: "host.LowLevelProvisioningManager.extractNvramContent", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "setCustomValue", - Summary: "setCustomValue", - }, - Key: "external.ContentLibraryItem.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "reload", - Summary: "reload", - }, - Key: "external.ContentLibraryItem.reload", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "rename", - Summary: "rename", - }, - Key: "external.ContentLibraryItem.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "destroy", - Summary: "destroy", - }, - Key: "external.ContentLibraryItem.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "addTag", - Summary: "addTag", - }, - Key: "external.ContentLibraryItem.addTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "removeTag", - Summary: "removeTag", - }, - Key: "external.ContentLibraryItem.removeTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveCustomValues", - Summary: "retrieveCustomValues", - }, - Key: "external.ContentLibraryItem.retrieveCustomValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete container view", - Summary: "Remove a list view object from current contents of this view", - }, - Key: "view.ContainerView.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set datastore custom value", - Summary: "Sets the value of a custom field of a datastore", - }, - Key: "Datastore.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reload datastore", - Summary: "Reload information about the datastore", - }, - Key: "Datastore.reload", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rename datastore", - Summary: "Renames a datastore", - }, - Key: "Datastore.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove datastore", - Summary: "Removes a datastore if it is not used by any host or virtual machine", - }, - Key: "Datastore.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add Tag", - Summary: "Add a set of tags to the datastore", - }, - Key: "Datastore.addTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove tag", - Summary: "Remove a set of tags from the datastore", - }, - Key: "Datastore.removeTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveCustomValues", - Summary: "retrieveCustomValues", - }, - Key: "Datastore.retrieveCustomValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Refresh datastore", - Summary: "Refreshes free space on this datastore", - }, - Key: "Datastore.refresh", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Refresh storage information", - Summary: "Refresh the storage information of the datastore", - }, - Key: "Datastore.refreshStorageInfo", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update virtual machine files", - Summary: "Update virtual machine files on the datastore", - }, - Key: "Datastore.updateVirtualMachineFiles", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rename datastore", - Summary: "Rename the datastore", - }, - Key: "Datastore.renameDatastore", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete datastore", - Summary: "Delete datastore", - }, - Key: "Datastore.destroyDatastore", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Replace embedded file paths", - Summary: "Replace embedded file paths on the datastore", - }, - Key: "Datastore.replaceEmbeddedFilePaths", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Enter SDRS maintenance mode", - Summary: "Virtual machine evacuation recommendations from the selected datastore are generated for SDRS maintenance mode", - }, - Key: "Datastore.enterMaintenanceMode", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Exit SDRS maintenance mode", - Summary: "Exit SDRS maintenance mode", - }, - Key: "Datastore.exitMaintenanceMode", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get native clone capability", - Summary: "Check if the datastore supports native clone", - }, - Key: "Datastore.isNativeCloneCapable", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Cleanup locks", - Summary: "Cleanup lock files on NFSV3 datastore", - }, - Key: "Datastore.cleanupLocks", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "updateVVolVirtualMachineFiles", - Summary: "updateVVolVirtualMachineFiles", - }, - Key: "Datastore.updateVVolVirtualMachineFiles", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create scheduled task", - Summary: "Create a scheduled task", - }, - Key: "scheduler.ScheduledTaskManager.create", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve scheduled task", - Summary: "Available scheduled tasks defined on the entity", - }, - Key: "scheduler.ScheduledTaskManager.retrieveEntityScheduledTask", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create scheduled task", - Summary: "Create a scheduled task", - }, - Key: "scheduler.ScheduledTaskManager.createObjectScheduledTask", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve scheduled task", - Summary: "Available scheduled tasks defined on the object", - }, - Key: "scheduler.ScheduledTaskManager.retrieveObjectScheduledTask", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add role", - Summary: "Add a new role", - }, - Key: "AuthorizationManager.addRole", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove role", - Summary: "Remove a role", - }, - Key: "AuthorizationManager.removeRole", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update role", - Summary: "Update a role's name and/or privileges", - }, - Key: "AuthorizationManager.updateRole", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reassign permissions", - Summary: "Reassign all permissions of a role to another role", - }, - Key: "AuthorizationManager.mergePermissions", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get role permissions", - Summary: "Gets all the permissions that use a particular role", - }, - Key: "AuthorizationManager.retrieveRolePermissions", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get entity permissions", - Summary: "Get permissions defined on an entity", - }, - Key: "AuthorizationManager.retrieveEntityPermissions", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get permissions", - Summary: "Get the permissions defined for all users", - }, - Key: "AuthorizationManager.retrieveAllPermissions", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrievePermissions", - Summary: "retrievePermissions", - }, - Key: "AuthorizationManager.retrievePermissions", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set entity permission rules", - Summary: "Define or update permission rules on an entity", - }, - Key: "AuthorizationManager.setEntityPermissions", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reset entity permission rules", - Summary: "Reset permission rules on an entity to the provided set", - }, - Key: "AuthorizationManager.resetEntityPermissions", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove entity permission", - Summary: "Remove a permission rule from the entity", - }, - Key: "AuthorizationManager.removeEntityPermission", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query disabled methods", - Summary: "Get the list of source objects that have been disabled on the target entity", - }, - Key: "AuthorizationManager.queryDisabledMethods", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Disable authorization methods", - Summary: "Gets the set of method names to be disabled", - }, - Key: "AuthorizationManager.disableMethods", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Enable authorization methods", - Summary: "Gets the set of method names to be enabled", - }, - Key: "AuthorizationManager.enableMethods", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check privileges on a managed entity", - Summary: "Checks whether a session holds a set of privileges on a managed entity", - }, - Key: "AuthorizationManager.hasPrivilegeOnEntity", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check privileges on a set of managed entities", - Summary: "Checks whether a session holds a set of privileges on a set of managed entities", - }, - Key: "AuthorizationManager.hasPrivilegeOnEntities", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "hasUserPrivilegeOnEntities", - Summary: "hasUserPrivilegeOnEntities", - }, - Key: "AuthorizationManager.hasUserPrivilegeOnEntities", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "fetchUserPrivilegeOnEntities", - Summary: "fetchUserPrivilegeOnEntities", - }, - Key: "AuthorizationManager.fetchUserPrivilegeOnEntities", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check method invocation privileges", - Summary: "Checks whether a session holds a set of privileges required to invoke a specified method", - }, - Key: "AuthorizationManager.checkMethodInvocation", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query required permissions", - Summary: "Get the permission requirements for the specified request", - }, - Key: "AuthorizationManager.queryPermissions", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "", - Summary: "", - }, - Key: "ServiceDirectory.queryServiceEndpointList", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Register service endpoint", - Summary: "Registers a service endpoint", - }, - Key: "ServiceDirectory.registerService", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Unregister service endpoint", - Summary: "Unregisters a service endpoint", - }, - Key: "ServiceDirectory.unregisterService", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query options view", - Summary: "Returns nodes in the option hierarchy", - }, - Key: "option.OptionManager.queryView", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update option values", - Summary: "Updates one or more properties", - }, - Key: "option.OptionManager.updateValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "validate", - Summary: "validate", - }, - Key: "vdcs.NicManager.validate", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "bind", - Summary: "bind", - }, - Key: "vdcs.NicManager.bind", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "unbind", - Summary: "unbind", - }, - Key: "vdcs.NicManager.unbind", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Specification exists", - Summary: "Check the existence of a specification", - }, - Key: "CustomizationSpecManager.exists", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get specification", - Summary: "Gets a specification", - }, - Key: "CustomizationSpecManager.get", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create new specification", - Summary: "Create a new specification", - }, - Key: "CustomizationSpecManager.create", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Overwrite specification", - Summary: "Overwrite an existing specification", - }, - Key: "CustomizationSpecManager.overwrite", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete specification", - Summary: "Delete a specification", - }, - Key: "CustomizationSpecManager.delete", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Duplicate specification", - Summary: "Duplicate a specification", - }, - Key: "CustomizationSpecManager.duplicate", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rename specification", - Summary: "Rename a specification", - }, - Key: "CustomizationSpecManager.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Convert specification item", - Summary: "Convert a specification item to XML text", - }, - Key: "CustomizationSpecManager.specItemToXml", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Convert XML item", - Summary: "Convert an XML string to a specification item", - }, - Key: "CustomizationSpecManager.xmlToSpecItem", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Validate required resources", - Summary: "Validate that required resources are available on the server to customize a particular guest operating system", - }, - Key: "CustomizationSpecManager.checkResources", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set cluster resource custom value", - Summary: "Sets the value of a custom field for a cluster of objects as a unified compute-resource", - }, - Key: "ClusterComputeResource.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reload cluster", - Summary: "Reloads the cluster", - }, - Key: "ClusterComputeResource.reload", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rename cluster", - Summary: "Rename the compute-resource", - }, - Key: "ClusterComputeResource.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove cluster", - Summary: "Deletes the cluster compute-resource and removes it from its parent folder (if any)", - }, - Key: "ClusterComputeResource.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add tag", - Summary: "Add a set of tags to the cluster", - }, - Key: "ClusterComputeResource.addTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove tag", - Summary: "Removes a set of tags from the cluster", - }, - Key: "ClusterComputeResource.removeTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveCustomValues", - Summary: "retrieveCustomValues", - }, - Key: "ClusterComputeResource.retrieveCustomValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigure cluster", - Summary: "Reconfigures a cluster", - }, - Key: "ClusterComputeResource.reconfigureEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigure cluster", - Summary: "Reconfigures a cluster", - }, - Key: "ClusterComputeResource.reconfigure", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Apply recommendation", - Summary: "Applies a recommendation", - }, - Key: "ClusterComputeResource.applyRecommendation", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Cancel recommendation", - Summary: "Cancels a recommendation", - }, - Key: "ClusterComputeResource.cancelRecommendation", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Recommended power On hosts", - Summary: "Get recommendations for a location to power on a specific virtual machine", - }, - Key: "ClusterComputeResource.recommendHostsForVm", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add host", - Summary: "Adds a new host to the cluster", - }, - Key: "ClusterComputeResource.addHost", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add host and enable lockdown", - Summary: "Adds a new host to the cluster and enables lockdown mode on the host", - }, - Key: "ClusterComputeResource.addHostWithAdminDisabled", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Move host into cluster", - Summary: "Moves a set of existing hosts into the cluster", - }, - Key: "ClusterComputeResource.moveInto", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Move host into cluster", - Summary: "Moves a host into the cluster", - }, - Key: "ClusterComputeResource.moveHostInto", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Refresh recommendations", - Summary: "Refreshes the list of recommendations", - }, - Key: "ClusterComputeResource.refreshRecommendation", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve EVC", - Summary: "Retrieve Enhanced vMotion Compatibility information for this cluster", - }, - Key: "ClusterComputeResource.evcManager", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve transitional EVC manager", - Summary: "Retrieve the transitional EVC manager for this cluster", - }, - Key: "ClusterComputeResource.transitionalEVCManager", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve DAS advanced runtime information", - Summary: "Retrieve DAS advanced runtime information for this cluster", - }, - Key: "ClusterComputeResource.retrieveDasAdvancedRuntimeInfo", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve vShpere HA data for cluster", - Summary: "Retrieves HA data for a cluster", - }, - Key: "ClusterComputeResource.retrieveDasData", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check VM admission in vSphere HA cluster", - Summary: "Checks if HA admission control allows a set of virtual machines to be powered on in the cluster", - }, - Key: "ClusterComputeResource.checkDasAdmission", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check cluster for vSphere HA configuration", - Summary: "Check how the specified HA config will affect the cluster state if high availability is enabled", - }, - Key: "ClusterComputeResource.checkReconfigureDas", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "checkReconfigureDasVmcp", - Summary: "checkReconfigureDasVmcp", - }, - Key: "ClusterComputeResource.checkReconfigureDasVmcp", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "DRS recommends hosts to evacuate", - Summary: "DRS recommends hosts to evacuate", - }, - Key: "ClusterComputeResource.enterMaintenanceMode", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Find Fault Tolerance compatible hosts for placing secondary VM", - Summary: "Find the set of Fault Tolerance compatible hosts for placing secondary of a given primary virtual machine", - }, - Key: "ClusterComputeResource.queryFaultToleranceCompatibleHosts", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Find Fault Tolerance compatible datastores for a VM", - Summary: "Find the set of Fault Tolerance compatible datastores for a given virtual machine", - }, - Key: "ClusterComputeResource.queryFaultToleranceCompatibleDatastores", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Verify FaultToleranceConfigSpec", - Summary: "Verify whether a given FaultToleranceConfigSpec satisfies the requirements for Fault Tolerance", - }, - Key: "ClusterComputeResource.verifyFaultToleranceConfigSpec", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check Fault Tolerance compatibility for VM", - Summary: "Check whether a VM is compatible for turning on Fault Tolerance", - }, - Key: "ClusterComputeResource.queryCompatibilityForFaultTolerance", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Call DRS for cross vMotion placement recommendations", - Summary: "Calls vSphere DRS for placement recommendations when migrating a VM across vCenter Server instances and virtual switches", - }, - Key: "ClusterComputeResource.placeVm", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Find rules for VM", - Summary: "Locates all affinity and anti-affinity rules the specified VM participates in", - }, - Key: "ClusterComputeResource.findRulesForVm", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "stampAllRulesWithUuid", - Summary: "stampAllRulesWithUuid", - }, - Key: "ClusterComputeResource.stampAllRulesWithUuid", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "getResourceUsage", - Summary: "getResourceUsage", - }, - Key: "ClusterComputeResource.getResourceUsage", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryDrmDumpHistory", - Summary: "queryDrmDumpHistory", - }, - Key: "ClusterComputeResource.queryDrmDumpHistory", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "generateDrmBundle", - Summary: "generateDrmBundle", - }, - Key: "ClusterComputeResource.generateDrmBundle", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "waitForChanges", - Summary: "waitForChanges", - }, - Key: "cdc.ChangeLogCollector.waitForChanges", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "initializeSequence", - Summary: "initializeSequence", - }, - Key: "cdc.ChangeLogCollector.initializeSequence", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "exchangeSequence", - Summary: "exchangeSequence", - }, - Key: "cdc.ChangeLogCollector.exchangeSequence", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Generate a certificate signing request", - Summary: "Generates a certificate signing request (CSR) for the host", - }, - Key: "host.CertificateManager.generateCertificateSigningRequest", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Generate a certificate signing request using the specified Distinguished Name", - Summary: "Generates a certificate signing request (CSR) for the host using the specified Distinguished Name", - }, - Key: "host.CertificateManager.generateCertificateSigningRequestByDn", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Install a server certificate", - Summary: "Installs a server certificate for the host", - }, - Key: "host.CertificateManager.installServerCertificate", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Replace CA certificates and certificate revocation lists", - Summary: "Replaces the CA certificates and certificate revocation lists (CRLs) on the host", - }, - Key: "host.CertificateManager.replaceCACertificatesAndCRLs", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Notify services affected by SSL credentials change", - Summary: "Notifies the host services affected by SSL credentials change", - }, - Key: "host.CertificateManager.notifyAffectedServices", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "List CA certificates", - Summary: "Lists the CA certificates on the host", - }, - Key: "host.CertificateManager.listCACertificates", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "List CA certificate revocation lists", - Summary: "Lists the CA certificate revocation lists (CRLs) on the host", - }, - Key: "host.CertificateManager.listCACertificateRevocationLists", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set CPU scheduler system custom value", - Summary: "Sets the value of a custom field of a host CPU scheduler", - }, - Key: "host.CpuSchedulerSystem.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Enable hyperthreading", - Summary: "Enable hyperthreads as schedulable resources", - }, - Key: "host.CpuSchedulerSystem.enableHyperThreading", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Disable hyperthreading", - Summary: "Disable hyperthreads as schedulable resources", - }, - Key: "host.CpuSchedulerSystem.disableHyperThreading", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Search datastore", - Summary: "Returns the information for the files that match the given search criteria", - }, - Key: "host.DatastoreBrowser.search", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Search datastore subfolders", - Summary: "Returns the information for the files that match the given search criteria", - }, - Key: "host.DatastoreBrowser.searchSubFolders", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete datastore file", - Summary: "Deletes the specified files from the datastore", - }, - Key: "host.DatastoreBrowser.deleteFile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update configuration", - Summary: "Update the date and time on the host", - }, - Key: "host.DateTimeSystem.updateConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query available time zones", - Summary: "Retrieves the list of available time zones on the host", - }, - Key: "host.DateTimeSystem.queryAvailableTimeZones", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query date and time", - Summary: "Get the current date and time on the host", - }, - Key: "host.DateTimeSystem.queryDateTime", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update date or time", - Summary: "Update the date/time on the host", - }, - Key: "host.DateTimeSystem.updateDateTime", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Refresh", - Summary: "Refresh the date and time settings", - }, - Key: "host.DateTimeSystem.refresh", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Acquire disk lease", - Summary: "Acquire a lease for the files associated with the virtual disk referenced by the given datastore path", - }, - Key: "host.DiskManager.acquireLease", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Acquire lease extension", - Summary: "Acquires a lease for the files associated with the virtual disk of a virtual machine", - }, - Key: "host.DiskManager.acquireLeaseExt", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Renew all leases", - Summary: "Resets the watchdog timer and confirms that all the locks for all the disks managed by this watchdog are still valid", - }, - Key: "host.DiskManager.renewAllLeases", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set task custom value", - Summary: "Sets the value of a custom field of a task", - }, - Key: "Task.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Cancel", - Summary: "Cancels a running/queued task", - }, - Key: "Task.cancel", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update progress", - Summary: "Update task progress", - }, - Key: "Task.UpdateProgress", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set task state", - Summary: "Sets task state", - }, - Key: "Task.setState", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update task description", - Summary: "Updates task description with the current phase of the task", - }, - Key: "Task.UpdateDescription", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Renew disk lease", - Summary: "Renew a lease to prevent it from timing out", - }, - Key: "host.DiskManager.Lease.renew", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Release disk lease", - Summary: "End the lease if it is still active", - }, - Key: "host.DiskManager.Lease.release", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Allocate blocks", - Summary: "Prepare for writing to blocks", - }, - Key: "host.DiskManager.Lease.allocateBlocks", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Clear lazy zero", - Summary: "Honor the contents of a block range", - }, - Key: "host.DiskManager.Lease.clearLazyZero", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Map disk region", - Summary: "Mapping a specified region of a virtual disk", - }, - Key: "host.DiskManager.Lease.MapDiskRegion", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update ESX agent configuration", - Summary: "Updates the ESX agent configuration of a host", - }, - Key: "host.EsxAgentHostManager.updateConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reset to factory default", - Summary: "Reset the configuration to factory default", - }, - Key: "host.FirmwareSystem.resetToFactoryDefaults", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Backup configuration", - Summary: "Backup the configuration of the host", - }, - Key: "host.FirmwareSystem.backupConfiguration", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query configuration upload URL", - Summary: "Host configuration must be uploaded for a restore operation", - }, - Key: "host.FirmwareSystem.queryConfigUploadURL", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Restore configuration", - Summary: "Restore configuration of the host", - }, - Key: "host.FirmwareSystem.restoreConfiguration", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Flush firmware configuration", - Summary: "Writes the configuration of the firmware system to persistent storage", - }, - Key: "host.FirmwareSystem.syncConfiguration", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryQuantumMinutes", - Summary: "queryQuantumMinutes", - }, - Key: "host.FirmwareSystem.queryQuantumMinutes", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "querySyncsPerQuantum", - Summary: "querySyncsPerQuantum", - }, - Key: "host.FirmwareSystem.querySyncsPerQuantum", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Refresh hardware information", - Summary: "Refresh hardware information", - }, - Key: "host.HealthStatusSystem.refresh", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reset system health sensors", - Summary: "Resets the state of the sensors of the IPMI subsystem", - }, - Key: "host.HealthStatusSystem.resetSystemHealthInfo", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Clear hardware IPMI System Event Log", - Summary: "Clear hardware IPMI System Event Log", - }, - Key: "host.HealthStatusSystem.clearSystemEventLog", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Refresh hardware IPMI System Event Log", - Summary: "Refresh hardware IPMI System Event Log", - }, - Key: "host.HealthStatusSystem.FetchSystemEventLog", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve access entries", - Summary: "Retrieves the access mode for each user or group with access permissions on the host", - }, - Key: "host.HostAccessManager.retrieveAccessEntries", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Change access mode", - Summary: "Changes the access mode for a user or group on the host", - }, - Key: "host.HostAccessManager.changeAccessMode", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve special DCUI access users", - Summary: "Retrieves the list of users with special access to DCUI", - }, - Key: "host.HostAccessManager.queryDcuiAccess", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update special DCUI access users", - Summary: "Updates the list of users with special access to DCUI", - }, - Key: "host.HostAccessManager.updateDcuiAccess", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve system users", - Summary: "Retrieve the list of special system users on the host", - }, - Key: "host.HostAccessManager.querySystemUsers", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update system users", - Summary: "Updates the list of special system users on the host", - }, - Key: "host.HostAccessManager.updateSystemUsers", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query lockdown exceptions", - Summary: "Queries the current list of user exceptions for lockdown mode", - }, - Key: "host.HostAccessManager.queryLockdownExceptions", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update lockdown exceptions", - Summary: "Updates the current list of user exceptions for lockdown mode", - }, - Key: "host.HostAccessManager.updateLockdownExceptions", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Change lockdown mode", - Summary: "Changes lockdown mode on the host", - }, - Key: "host.HostAccessManager.changeLockdownMode", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get acceptance level for host image configuration", - Summary: "Get acceptance level settings for host image configuration", - }, - Key: "host.ImageConfigManager.queryHostAcceptanceLevel", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query host image profile", - Summary: "Queries the current host image profile information", - }, - Key: "host.ImageConfigManager.queryHostImageProfile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update acceptance level", - Summary: "Updates the acceptance level of a host", - }, - Key: "host.ImageConfigManager.updateAcceptanceLevel", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "fetchSoftwarePackages", - Summary: "fetchSoftwarePackages", - }, - Key: "host.ImageConfigManager.fetchSoftwarePackages", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "installDate", - Summary: "installDate", - }, - Key: "host.ImageConfigManager.installDate", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query host kernel modules", - Summary: "Retrieves information about the kernel modules on the host", - }, - Key: "host.KernelModuleSystem.queryModules", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update kernel module option", - Summary: "Specifies the options to be passed to the kernel module when loaded", - }, - Key: "host.KernelModuleSystem.updateModuleOptionString", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query kernel module options", - Summary: "Retrieves the options configured to be passed to a kernel module when loaded", - }, - Key: "host.KernelModuleSystem.queryConfiguredModuleOptionString", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set memory manager custom value", - Summary: "Sets the value of a custom field of a host memory manager system", - }, - Key: "host.MemoryManagerSystem.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set console memory reservation", - Summary: "Set the configured service console memory reservation", - }, - Key: "host.MemoryManagerSystem.reconfigureServiceConsoleReservation", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigure virtual machine reservation", - Summary: "Updates the virtual machine reservation information", - }, - Key: "host.MemoryManagerSystem.reconfigureVirtualMachineReservation", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query proxy information", - Summary: "Query the common message bus proxy service information", - }, - Key: "host.MessageBusProxy.retrieveInfo", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Configure proxy", - Summary: "Configure the common message bus proxy service", - }, - Key: "host.MessageBusProxy.configure", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove proxy configuration", - Summary: "Remove the common message proxy service configuration and disable the service", - }, - Key: "host.MessageBusProxy.unconfigure", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Start proxy", - Summary: "Start the common message bus proxy service", - }, - Key: "host.MessageBusProxy.start", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Stop proxy", - Summary: "Stop the common message bus proxy service", - }, - Key: "host.MessageBusProxy.stop", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reload proxy", - Summary: "Reload the common message bus proxy service and enable any configuration changes", - }, - Key: "host.MessageBusProxy.reload", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set service custom value", - Summary: "Sets the value of a custom field of a host service system.", - }, - Key: "host.ServiceSystem.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update service activation policy", - Summary: "Updates the activation policy of the service", - }, - Key: "host.ServiceSystem.updatePolicy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Start service", - Summary: "Starts the service", - }, - Key: "host.ServiceSystem.start", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Stop service", - Summary: "Stops the service", - }, - Key: "host.ServiceSystem.stop", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Restart service", - Summary: "Restarts the service", - }, - Key: "host.ServiceSystem.restart", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Uninstall service", - Summary: "Uninstalls the service", - }, - Key: "host.ServiceSystem.uninstall", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Refresh service information", - Summary: "Refresh the service information and settings to detect any changes made directly on the host", - }, - Key: "host.ServiceSystem.refresh", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigure SNMP agent", - Summary: "Reconfigure the SNMP agent", - }, - Key: "host.SnmpSystem.reconfigureSnmpAgent", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Send test notification", - Summary: "Send test notification", - }, - Key: "host.SnmpSystem.sendTestNotification", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Configure virtual flash resource", - Summary: "Configures virtual flash resource on a list of SSD devices", - }, - Key: "host.VFlashManager.configureVFlashResourceEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Configure virtual flash resource", - Summary: "Configures virtual flash resource on a host", - }, - Key: "host.VFlashManager.configureVFlashResource", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove virtual flash resource", - Summary: "Removes virtual flash resource from a host", - }, - Key: "host.VFlashManager.removeVFlashResource", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Configure virtual flash host swap cache", - Summary: "Configures virtual flash host swap cache", - }, - Key: "host.VFlashManager.configureHostVFlashCache", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve virtual flash module configuration options from a host", - Summary: "Retrieves virtual flash module configuration options from a host", - }, - Key: "host.VFlashManager.getVFlashModuleDefaultConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query disks for use in vSAN cluster", - Summary: "Queries disk eligibility for use in the vSAN cluster", - }, - Key: "host.VsanSystem.queryDisksForVsan", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add disks to vSAN", - Summary: "Adds the selected disks to the vSAN cluster", - }, - Key: "host.VsanSystem.addDisks", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Initialize disks in the vSAN cluster", - Summary: "Initializes the selected disks to be used in the vSAN cluster", - }, - Key: "host.VsanSystem.initializeDisks", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove disk from vSAN", - Summary: "Removes the disks that are used in the vSAN cluster", - }, - Key: "host.VsanSystem.removeDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove disk group from vSAN", - Summary: "Removes the selected disk group from the vSAN cluster", - }, - Key: "host.VsanSystem.removeDiskMapping", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "unmountDiskMapping", - Summary: "unmountDiskMapping", - }, - Key: "host.VsanSystem.unmountDiskMapping", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update vSAN configuration", - Summary: "Updates the vSAN configuration for this host", - }, - Key: "host.VsanSystem.update", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve vSAN runtime information", - Summary: "Retrieves the current vSAN runtime information for this host", - }, - Key: "host.VsanSystem.queryHostStatus", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Evacuate this host from vSAN cluster", - Summary: "Evacuates the specified host from the vSAN cluster", - }, - Key: "host.VsanSystem.evacuateNode", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Recommission this host back to vSAN cluster", - Summary: "Recommissions the host back to vSAN cluster", - }, - Key: "host.VsanSystem.recommissionNode", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve a ticket to register the vSAN VASA Provider", - Summary: "Retrieves a ticket to register the VASA Provider for vSAN in the Storage Monitoring Service", - }, - Key: "host.VsanSystem.fetchVsanSharedSecret", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Join Windows Domain", - Summary: "Enables ActiveDirectory authentication on the host", - }, - Key: "host.ActiveDirectoryAuthentication.joinDomain", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Join Windows Domain through vSphere Authentication Proxy service", - Summary: "Enables Active Directory authentication on the host using a vSphere Authentication Proxy server", - }, - Key: "host.ActiveDirectoryAuthentication.joinDomainWithCAM", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Import the certificate of vSphere Authentication Proxy server", - Summary: "Import the certificate of vSphere Authentication Proxy server to ESXi's authentication store", - }, - Key: "host.ActiveDirectoryAuthentication.importCertificateForCAM", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Leave Windows Domain", - Summary: "Disables ActiveDirectory authentication on the host", - }, - Key: "host.ActiveDirectoryAuthentication.leaveCurrentDomain", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Enable Smart Card Authentication", - Summary: "Enables smart card authentication of ESXi Direct Console UI users", - }, - Key: "host.ActiveDirectoryAuthentication.enableSmartCardAuthentication", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Install a Smart Card Trust Anchor", - Summary: "Installs a smart card trust anchor on the host", - }, - Key: "host.ActiveDirectoryAuthentication.installSmartCardTrustAnchor", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "replaceSmartCardTrustAnchors", - Summary: "replaceSmartCardTrustAnchors", - }, - Key: "host.ActiveDirectoryAuthentication.replaceSmartCardTrustAnchors", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove a Smart Card Trust Anchor", - Summary: "Removes an installed smart card trust anchor from the host", - }, - Key: "host.ActiveDirectoryAuthentication.removeSmartCardTrustAnchor", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove Smart Card Trust Anchor", - Summary: "Removes the installed smart card trust anchor from the host", - }, - Key: "host.ActiveDirectoryAuthentication.removeSmartCardTrustAnchorByFingerprint", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "List Smart Card Trust Anchors", - Summary: "Lists the smart card trust anchors installed on the host", - }, - Key: "host.ActiveDirectoryAuthentication.listSmartCardTrustAnchors", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Disable Smart Card Authentication", - Summary: "Disables smart card authentication of ESXi Direct Console UI users", - }, - Key: "host.ActiveDirectoryAuthentication.disableSmartCardAuthentication", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update local swap datastore", - Summary: "Changes the datastore for virtual machine swap files", - }, - Key: "host.DatastoreSystem.updateLocalSwapDatastore", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve disks for VMFS datastore", - Summary: "Retrieves the list of disks that can be used to contain VMFS datastore extents", - }, - Key: "host.DatastoreSystem.queryAvailableDisksForVmfs", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query datastore create options", - Summary: "Queries options for creating a new VMFS datastore for a disk", - }, - Key: "host.DatastoreSystem.queryVmfsDatastoreCreateOptions", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create VMFS datastore", - Summary: "Creates a new VMFS datastore", - }, - Key: "host.DatastoreSystem.createVmfsDatastore", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query datastore extend options", - Summary: "Queries options for extending an existing VMFS datastore for a disk", - }, - Key: "host.DatastoreSystem.queryVmfsDatastoreExtendOptions", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query VMFS datastore expand options", - Summary: "Query the options available for expanding the extents of a VMFS datastore", - }, - Key: "host.DatastoreSystem.queryVmfsDatastoreExpandOptions", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Extend datastore", - Summary: "Extends an existing VMFS datastore", - }, - Key: "host.DatastoreSystem.extendVmfsDatastore", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Expand VMFS datastore", - Summary: "Expand the capacity of a VMFS datastore extent", - }, - Key: "host.DatastoreSystem.expandVmfsDatastore", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "processVmfsDatastoreUpdate", - Summary: "processVmfsDatastoreUpdate", - }, - Key: "host.DatastoreSystem.processVmfsDatastoreUpdate", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create NAS datastore", - Summary: "Creates a new Network Attached Storage (NAS) datastore", - }, - Key: "host.DatastoreSystem.createNasDatastore", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create local datastore", - Summary: "Creates a new local datastore", - }, - Key: "host.DatastoreSystem.createLocalDatastore", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update Virtual Volume datastore", - Summary: "Updates the Virtual Volume datastore configuration according to the provided settings", - }, - Key: "host.DatastoreSystem.UpdateVvolDatastoreInternal", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create Virtual Volume datastore", - Summary: "Creates a datastore backed by a Virtual Volume storage container", - }, - Key: "host.DatastoreSystem.createVvolDatastoreInternal", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create Virtual Volume datastore", - Summary: "Creates a Virtuial Volume datastore", - }, - Key: "host.DatastoreSystem.createVvolDatastore", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove datastore", - Summary: "Removes a datastore from a host", - }, - Key: "host.DatastoreSystem.removeDatastore", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove datastores", - Summary: "Removes one or more datastores from a host", - }, - Key: "host.DatastoreSystem.removeDatastoreEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Configure datastore principal", - Summary: "Configures datastore principal user for the host", - }, - Key: "host.DatastoreSystem.configureDatastorePrincipal", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query unbound VMFS volumes", - Summary: "Gets the list of unbound VMFS volumes", - }, - Key: "host.DatastoreSystem.queryUnresolvedVmfsVolumes", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Resignature unresolved VMFS volume", - Summary: "Resignature unresolved VMFS volume with new VMFS identifier", - }, - Key: "host.DatastoreSystem.resignatureUnresolvedVmfsVolume", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "NotifyDatastore", - Summary: "NotifyDatastore", - }, - Key: "host.DatastoreSystem.NotifyDatastore", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check accessibility", - Summary: "Check if the file objects for the specified virtual machine IDs are accessible", - }, - Key: "host.DatastoreSystem.checkVmFileAccessibility", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set firewall custom value", - Summary: "Sets the value of a custom field of a host firewall system", - }, - Key: "host.FirewallSystem.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update default firewall policy", - Summary: "Updates the default firewall policy", - }, - Key: "host.FirewallSystem.updateDefaultPolicy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Open firewall ports", - Summary: "Open the firewall ports belonging to the specified ruleset", - }, - Key: "host.FirewallSystem.enableRuleset", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Block firewall ports", - Summary: "Block the firewall ports belonging to the specified ruleset", - }, - Key: "host.FirewallSystem.disableRuleset", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update allowed IP list of the firewall ruleset", - Summary: "Update the allowed IP list of the specified ruleset", - }, - Key: "host.FirewallSystem.updateRuleset", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Refresh firewall information", - Summary: "Refresh the firewall information and settings to detect any changes made directly on the host", - }, - Key: "host.FirewallSystem.refresh", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set network custom value", - Summary: "Sets the value of a custom field of a host network system", - }, - Key: "host.NetworkSystem.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update network configuration", - Summary: "Network configuration information", - }, - Key: "host.NetworkSystem.updateNetworkConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update DNS configuration", - Summary: "Update the DNS configuration for the host", - }, - Key: "host.NetworkSystem.updateDnsConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update IP route configuration", - Summary: "Update IP route configuration", - }, - Key: "host.NetworkSystem.updateIpRouteConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update console IP route configuration", - Summary: "Update console IP route configuration", - }, - Key: "host.NetworkSystem.updateConsoleIpRouteConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update IP route table configuration", - Summary: "Applies the IP route table configuration for the host", - }, - Key: "host.NetworkSystem.updateIpRouteTableConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add virtual switch", - Summary: "Add a new virtual switch to the system", - }, - Key: "host.NetworkSystem.addVirtualSwitch", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove virtual switch", - Summary: "Remove an existing virtual switch from the system", - }, - Key: "host.NetworkSystem.removeVirtualSwitch", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update virtual switch", - Summary: "Updates the properties of the virtual switch", - }, - Key: "host.NetworkSystem.updateVirtualSwitch", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add port group", - Summary: "Add a port group to the virtual switch", - }, - Key: "host.NetworkSystem.addPortGroup", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove port group", - Summary: "Remove a port group from the virtual switch", - }, - Key: "host.NetworkSystem.removePortGroup", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigure port group", - Summary: "Reconfigure a port group on the virtual switch", - }, - Key: "host.NetworkSystem.updatePortGroup", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update physical NIC link speed", - Summary: "Configure link speed and duplexity", - }, - Key: "host.NetworkSystem.updatePhysicalNicLinkSpeed", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query network hint", - Summary: "Request network hint information for a physical NIC", - }, - Key: "host.NetworkSystem.queryNetworkHint", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add virtual NIC", - Summary: "Add a virtual host or service console NIC", - }, - Key: "host.NetworkSystem.addVirtualNic", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove virtual NIC", - Summary: "Remove a virtual host or service console NIC", - }, - Key: "host.NetworkSystem.removeVirtualNic", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update virtual NIC", - Summary: "Configure virtual host or VMkernel NIC", - }, - Key: "host.NetworkSystem.updateVirtualNic", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add service console virtual NIC", - Summary: "Add a virtual service console NIC", - }, - Key: "host.NetworkSystem.addServiceConsoleVirtualNic", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove service console virtual NIC", - Summary: "Remove a virtual service console NIC", - }, - Key: "host.NetworkSystem.removeServiceConsoleVirtualNic", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update service console virtual NIC", - Summary: "Update IP configuration for a service console virtual NIC", - }, - Key: "host.NetworkSystem.updateServiceConsoleVirtualNic", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Restart virtual network adapter interface", - Summary: "Restart the service console virtual network adapter interface", - }, - Key: "host.NetworkSystem.restartServiceConsoleVirtualNic", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Refresh network information", - Summary: "Refresh the network information and settings to detect any changes that have occurred", - }, - Key: "host.NetworkSystem.refresh", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Invoke API call on host with transactionId", - Summary: "Invoke API call on host with transactionId", - }, - Key: "host.NetworkSystem.invokeHostTransactionCall", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Commit transaction to confirm that host is connected to vCenter Server", - Summary: "Commit transaction to confirm that host is connected to vCenter Server", - }, - Key: "host.NetworkSystem.commitTransaction", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "performHostOpaqueNetworkDataOperation", - Summary: "performHostOpaqueNetworkDataOperation", - }, - Key: "host.NetworkSystem.performHostOpaqueNetworkDataOperation", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve available diagnostic partitions", - Summary: "Retrieves a list of available diagnostic partitions", - }, - Key: "host.DiagnosticSystem.queryAvailablePartition", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Change active diagnostic partition", - Summary: "Changes the active diagnostic partition to a different partition", - }, - Key: "host.DiagnosticSystem.selectActivePartition", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve diagnostic partitionable disks", - Summary: "Retrieves a list of disks that can be used to contain a diagnostic partition", - }, - Key: "host.DiagnosticSystem.queryPartitionCreateOptions", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve diagnostic partition creation description", - Summary: "Retrieves the diagnostic partition creation description for a disk", - }, - Key: "host.DiagnosticSystem.queryPartitionCreateDesc", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create diagnostic partition", - Summary: "Creates a diagnostic partition according to the provided creation specification", - }, - Key: "host.DiagnosticSystem.createDiagnosticPartition", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set vApp custom value", - Summary: "Sets the value of a custom field on a vApp", - }, - Key: "VirtualApp.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reload vApp", - Summary: "Reload the vApp", - }, - Key: "VirtualApp.reload", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rename vApp", - Summary: "Rename the vApp", - }, - Key: "VirtualApp.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete vApp", - Summary: "Delete the vApp, including all child vApps and virtual machines", - }, - Key: "VirtualApp.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add tag", - Summary: "Add a set of tags to the vApp", - }, - Key: "VirtualApp.addTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove tag", - Summary: "Remove a set of tags from the vApp", - }, - Key: "VirtualApp.removeTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveCustomValues", - Summary: "retrieveCustomValues", - }, - Key: "VirtualApp.retrieveCustomValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update vApp resource configuration", - Summary: "Updates the resource configuration for the vApp", - }, - Key: "VirtualApp.updateConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Move into vApp", - Summary: "Moves a set of entities into this vApp", - }, - Key: "VirtualApp.moveInto", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update child resource configuration", - Summary: "Change resource configuration of a set of children of the vApp", - }, - Key: "VirtualApp.updateChildResourceConfiguration", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create resource pool", - Summary: "Creates a new resource pool", - }, - Key: "VirtualApp.createResourcePool", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete vApp children", - Summary: "Deletes all child resource pools recursively", - }, - Key: "VirtualApp.destroyChildren", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create vApp", - Summary: "Creates a child vApp of this vApp", - }, - Key: "VirtualApp.createVApp", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create virtual machine", - Summary: "Creates a virtual machine in this vApp", - }, - Key: "VirtualApp.createVm", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Register virtual machine", - Summary: "Adds an existing virtual machine to this vApp", - }, - Key: "VirtualApp.registerVm", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Deploy OVF template", - Summary: "Deploys a virtual machine or vApp", - }, - Key: "VirtualApp.importVApp", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query Virtual App resource configuration options", - Summary: "Returns configuration options for a set of resources for a Virtual App", - }, - Key: "VirtualApp.queryResourceConfigOption", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Refresh Virtual App runtime information", - Summary: "Refreshes the resource usage runtime information for a Virtual App", - }, - Key: "VirtualApp.refreshRuntime", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update vApp Configuration", - Summary: "Updates the vApp configuration", - }, - Key: "VirtualApp.updateVAppConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update linked children", - Summary: "Updates the list of linked children", - }, - Key: "VirtualApp.updateLinkedChildren", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Clone vApp", - Summary: "Clone the vApp, including all child entities", - }, - Key: "VirtualApp.clone", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Export OVF template", - Summary: "Exports the vApp as an OVF template", - }, - Key: "VirtualApp.exportVApp", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Start vApp", - Summary: "Starts the vApp", - }, - Key: "VirtualApp.powerOn", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Stop vApp", - Summary: "Stops the vApp", - }, - Key: "VirtualApp.powerOff", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Suspend vApp", - Summary: "Suspends the vApp", - }, - Key: "VirtualApp.suspend", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Unregister vApp", - Summary: "Unregister all child virtual machines and remove the vApp", - }, - Key: "VirtualApp.unregister", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set virtual NIC custom value", - Summary: "Set the value of a custom filed of a host's virtual NIC manager", - }, - Key: "host.VirtualNicManager.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query network configuration", - Summary: "Gets the network configuration for the specified NIC type", - }, - Key: "host.VirtualNicManager.queryNetConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Select virtual NIC", - Summary: "Select the virtual NIC to be used for the specified NIC type", - }, - Key: "host.VirtualNicManager.selectVnic", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Deselect virtual NIC", - Summary: "Deselect the virtual NIC used for the specified NIC type", - }, - Key: "host.VirtualNicManager.deselectVnic", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Download overhead computation script", - Summary: "Download overhead computation scheme script", - }, - Key: "OverheadService.downloadScript", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Download host configuration", - Summary: "Download host configuration consumed by overhead computation script", - }, - Key: "OverheadService.downloadHostConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Download VM configuration", - Summary: "Download VM configuration consumed by overhead computation script", - }, - Key: "OverheadService.downloadVMXConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add an alias to the alias store in the guest", - Summary: "Add an alias to the alias store in the guest operating system", - }, - Key: "vm.guest.AliasManager.addAlias", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove an alias from the alias store in the guest", - Summary: "Remove an alias from the alias store in the guest operating system", - }, - Key: "vm.guest.AliasManager.removeAlias", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove all aliases associated with a SSO Server certificate from the guest", - Summary: "Remove all aliases associated with a SSO Server certificate from the guest operating system", - }, - Key: "vm.guest.AliasManager.removeAliasByCert", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "List all aliases for a user in the guest", - Summary: "List all aliases for a user in the guest operating system", - }, - Key: "vm.guest.AliasManager.listAliases", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "List all mapped aliases in the guest", - Summary: "List all mapped aliases in the guest operating system", - }, - Key: "vm.guest.AliasManager.listMappedAliases", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create a directory in the guest", - Summary: "Create a directory in the guest operating system", - }, - Key: "vm.guest.FileManager.makeDirectory", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete a file in the guest", - Summary: "Delete a file in the guest operating system", - }, - Key: "vm.guest.FileManager.deleteFile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete a directory in the guest", - Summary: "Delete a directory in the guest operating system", - }, - Key: "vm.guest.FileManager.deleteDirectory", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Move or rename a directory in the guest", - Summary: "Move or rename a directory in the guest operating system", - }, - Key: "vm.guest.FileManager.moveDirectory", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Move or rename a file in the guest", - Summary: "Move or rename a file in the guest operating system", - }, - Key: "vm.guest.FileManager.moveFile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create a temporary file in the guest", - Summary: "Create a temporary file in the guest operating system", - }, - Key: "vm.guest.FileManager.createTemporaryFile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create a temporary directory in the guest", - Summary: "Create a temporary directory in the guest operating system", - }, - Key: "vm.guest.FileManager.createTemporaryDirectory", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "List files or directories in the guest", - Summary: "List files or directories in the guest operating system", - }, - Key: "vm.guest.FileManager.listFiles", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Change the attributes of a file in the guest", - Summary: "Change the attributes of a file in the guest operating system", - }, - Key: "vm.guest.FileManager.changeFileAttributes", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Initiates an operation to transfer a file from the guest", - Summary: "Initiates an operation to transfer a file from the guest operating system", - }, - Key: "vm.guest.FileManager.initiateFileTransferFromGuest", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Initiates an operation to transfer a file to the guest", - Summary: "Initiates an operation to transfer a file to the guest operating system", - }, - Key: "vm.guest.FileManager.initiateFileTransferToGuest", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Start a program in the guest", - Summary: "Start a program in the guest operating system", - }, - Key: "vm.guest.ProcessManager.startProgram", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "List processes in the guest", - Summary: "List processes in the guest operating system", - }, - Key: "vm.guest.ProcessManager.listProcesses", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Terminate a process in the guest", - Summary: "Terminate a process in the guest operating system", - }, - Key: "vm.guest.ProcessManager.terminateProcess", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Read an environment variable in the guest", - Summary: "Read an environment variable in the guest operating system", - }, - Key: "vm.guest.ProcessManager.readEnvironmentVariable", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove view", - Summary: "Remove view", - }, - Key: "view.View.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve associated License Data objects", - Summary: "Retrieves all the associated License Data objects", - }, - Key: "LicenseDataManager.queryEntityLicenseData", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve license data associated with managed entity", - Summary: "Retrieves the license data associated with a specified managed entity", - }, - Key: "LicenseDataManager.queryAssociatedLicenseData", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update entity license container", - Summary: "Updates the license container associated with a specified managed entity", - }, - Key: "LicenseDataManager.updateAssociatedLicenseData", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Apply associated license data to managed entity", - Summary: "Applies associated license data to a managed entity", - }, - Key: "LicenseDataManager.applyAssociatedLicenseData", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update assigned license", - Summary: "Updates the license assigned to an entity", - }, - Key: "LicenseAssignmentManager.updateAssignedLicense", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove assigned license", - Summary: "Removes an assignment of a license to an entity", - }, - Key: "LicenseAssignmentManager.removeAssignedLicense", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query assigned licenses", - Summary: "Queries for all the licenses assigned to an entity or all entities", - }, - Key: "LicenseAssignmentManager.queryAssignedLicenses", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check feature availability", - Summary: "Checks if the corresponding features are licensed for a list of entities", - }, - Key: "LicenseAssignmentManager.isFeatureAvailable", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update in-use status of a licensed feature", - Summary: "Updates in-use status of a licensed feature", - }, - Key: "LicenseAssignmentManager.updateFeatureInUse", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Register licenseable entity", - Summary: "Registers a licenseable entity", - }, - Key: "LicenseAssignmentManager.registerEntity", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Unregister licenseable entity", - Summary: "Unregisters an existing licenseable entity and releases any serial numbers assigned to it.", - }, - Key: "LicenseAssignmentManager.unregisterEntity", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update license entity usage count", - Summary: "Updates the usage count of a license entity", - }, - Key: "LicenseAssignmentManager.updateUsage", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Upload license file", - Summary: "Uploads a license file to vCenter Server", - }, - Key: "LicenseAssignmentManager.uploadLicenseFile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryAssignedLicensesEx", - Summary: "queryAssignedLicensesEx", - }, - Key: "LicenseAssignmentManager.queryAssignedLicensesEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "updateEntity", - Summary: "updateEntity", - }, - Key: "LicenseAssignmentManager.updateEntity", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "updateEntitiesProperties", - Summary: "updateEntitiesProperties", - }, - Key: "LicenseAssignmentManager.updateEntitiesProperties", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set backup agent custom value", - Summary: "Set backup agent custom value", - }, - Key: "vm.BackupAgent.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Start virtual machine backup", - Summary: "Start a backup operation inside the virtual machine guest", - }, - Key: "vm.BackupAgent.startBackup", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Stop virtual machine backup", - Summary: "Stop a backup operation in a virtual machine", - }, - Key: "vm.BackupAgent.abortBackup", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Notify virtual machine snapshot completion", - Summary: "Notify the virtual machine when a snapshot operation is complete", - }, - Key: "vm.BackupAgent.notifySnapshotCompletion", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Wait for guest event", - Summary: "Wait for an event delivered by the virtual machine guest", - }, - Key: "vm.BackupAgent.waitForEvent", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create namespace", - Summary: "Create a virtual machine namespace", - }, - Key: "vm.NamespaceManager.createNamespace", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete namespace", - Summary: "Delete the virtual machine namespace", - }, - Key: "vm.NamespaceManager.deleteNamespace", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete all namespaces", - Summary: "Delete all namespaces associated with the virtual machine", - }, - Key: "vm.NamespaceManager.deleteAllNamespaces", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update namespace", - Summary: "Reconfigure the virtual machine namespace", - }, - Key: "vm.NamespaceManager.updateNamespace", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query namespace", - Summary: "Retrieve detailed information about the virtual machine namespace", - }, - Key: "vm.NamespaceManager.queryNamespace", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "List namespaces", - Summary: "Retrieve the list of all namespaces for a virtual machine", - }, - Key: "vm.NamespaceManager.listNamespaces", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Send event to the virtual machine", - Summary: "Queue event for delivery to the agent in the virtual machine", - }, - Key: "vm.NamespaceManager.sendEventToGuest", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Fetch events from the virtual machine", - Summary: "Retrieve events sent by the agent in the virtual machine", - }, - Key: "vm.NamespaceManager.fetchEventsFromGuest", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update data", - Summary: "Update key/value pairs accessible by the agent in the virtual machine", - }, - Key: "vm.NamespaceManager.updateData", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve data", - Summary: "Retrieve key/value pairs set by the agent in the virtual machine", - }, - Key: "vm.NamespaceManager.retrieveData", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Pause", - Summary: "Pauses a virtual machine", - }, - Key: "vm.PauseManager.pause", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Unpause", - Summary: "Unpauses a virtual machine", - }, - Key: "vm.PauseManager.unpause", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Power on and pause", - Summary: "Powers on a virtual machine and pauses it immediately", - }, - Key: "vm.PauseManager.powerOnPaused", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Configure host cache performance enhancement", - Summary: "Configures host cache by allocating space on a low latency device (usually a solid state drive) for enhanced system performance", - }, - Key: "host.CacheConfigurationManager.configureCache", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query whether virtual NIC is used by iSCSI multi-pathing", - Summary: "Query whether virtual NIC is used by iSCSI multi-pathing", - }, - Key: "host.IscsiManager.queryVnicStatus", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query whether physical NIC is used by iSCSI multi-pathing", - Summary: "Query whether physical NIC is used by iSCSI multi-pathing", - }, - Key: "host.IscsiManager.queryPnicStatus", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query all the virtual NICs used by iSCSI multi-pathing", - Summary: "Query all the virtual NICs used by iSCSI multi-pathing", - }, - Key: "host.IscsiManager.queryBoundVnics", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query candidate virtual NICs that can be used for iSCSI multi-pathing", - Summary: "Query candidate virtual NICs that can be used for iSCSI multi-pathing", - }, - Key: "host.IscsiManager.queryCandidateNics", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add virtual NIC to iSCSI Adapter", - Summary: "Add virtual NIC to iSCSI Adapter", - }, - Key: "host.IscsiManager.bindVnic", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove virtual NIC from iSCSI Adapter", - Summary: "Remove virtual NIC from iSCSI Adapter", - }, - Key: "host.IscsiManager.unbindVnic", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query migration dependencies for migrating the physical and virtual NICs", - Summary: "Query migration dependencies for migrating the physical and virtual NICs", - }, - Key: "host.IscsiManager.queryMigrationDependencies", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set PCI passthrough system custom value", - Summary: "Set PCI Passthrough system custom value", - }, - Key: "host.PciPassthruSystem.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Refresh PCI passthrough device information", - Summary: "Refresh the available PCI passthrough device information", - }, - Key: "host.PciPassthruSystem.refresh", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update PCI passthrough configuration", - Summary: "Update PCI passthrough device configuration", - }, - Key: "host.PciPassthruSystem.updatePassthruConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query network protocol profiles", - Summary: "Queries the list of network protocol profiles for a datacenter", - }, - Key: "IpPoolManager.queryIpPools", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create network protocol profile", - Summary: "Creates a new network protocol profile", - }, - Key: "IpPoolManager.createIpPool", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update network protocol profile", - Summary: "Updates a network protocol profile on a datacenter", - }, - Key: "IpPoolManager.updateIpPool", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Destroy network protocol profile", - Summary: "Destroys a network protocol profile on the given datacenter", - }, - Key: "IpPoolManager.destroyIpPool", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Allocates an IPv4 address", - Summary: "Allocates an IPv4 address from an IP pool", - }, - Key: "IpPoolManager.allocateIpv4Address", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Allocates an IPv6 address", - Summary: "Allocates an IPv6 address from an IP pool", - }, - Key: "IpPoolManager.allocateIpv6Address", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Releases an IP allocation", - Summary: "Releases an IP allocation back to an IP pool", - }, - Key: "IpPoolManager.releaseIpAllocation", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query IP allocations", - Summary: "Query IP allocations by IP pool and extension key", - }, - Key: "IpPoolManager.queryIPAllocations", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Refresh the CA certificates on the host", - Summary: "Refreshes the CA certificates on the host", - }, - Key: "CertificateManager.refreshCACertificatesAndCRLs", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Refresh the subject certificate on the host", - Summary: "Refreshes the subject certificate on the host", - }, - Key: "CertificateManager.refreshCertificates", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Revoke the subject certificate of a host", - Summary: "Revokes the subject certificate of a host", - }, - Key: "CertificateManager.revokeCertificates", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query entity provider summary", - Summary: "Get information about the performance statistics that can be queried for a particular entity", - }, - Key: "PerformanceManager.queryProviderSummary", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query available metrics", - Summary: "Gets available performance statistic metrics for the specified managed entity between begin and end times", - }, - Key: "PerformanceManager.queryAvailableMetric", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query counter", - Summary: "Get counter information for the list of counter IDs passed in", - }, - Key: "PerformanceManager.queryCounter", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query counter by level", - Summary: "All performance data over 1 year old are deleted from the vCenter database", - }, - Key: "PerformanceManager.queryCounterByLevel", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query performance statistics", - Summary: "Gets the performance statistics for the entity", - }, - Key: "PerformanceManager.queryStats", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get composite statistics", - Summary: "Get performance statistics for the entity and the breakdown across its child entities", - }, - Key: "PerformanceManager.queryCompositeStats", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Summarizes performance statistics", - Summary: "Summarizes performance statistics at the specified interval", - }, - Key: "PerformanceManager.summarizeStats", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create historical interval", - Summary: "Add a new historical interval configuration", - }, - Key: "PerformanceManager.createHistoricalInterval", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove historical interval", - Summary: "Remove a historical interval configuration", - }, - Key: "PerformanceManager.removeHistoricalInterval", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update historical interval", - Summary: "Update a historical interval configuration if it exists", - }, - Key: "PerformanceManager.updateHistoricalInterval", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update counter level mapping", - Summary: "Update counter to level mapping", - }, - Key: "PerformanceManager.updateCounterLevelMapping", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reset counter level mapping", - Summary: "Reset counter to level mapping to the default values", - }, - Key: "PerformanceManager.resetCounterLevelMapping", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query internal performance counters", - Summary: "Queries all internal counters, supported by this performance manager", - }, - Key: "PerformanceManager.queryPerfCounterInt", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Enable performance counters", - Summary: "Enable a counter or a set of counters in the counters collection of this performance manager", - }, - Key: "PerformanceManager.enableStat", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Disable performance counters", - Summary: "Exclude a counter or a set of counters from the counters collection of this performance manager", - }, - Key: "PerformanceManager.disableStat", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "registerProvider", - Summary: "registerProvider", - }, - Key: "ExternalStatsManager.registerProvider", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "unregisterProvider", - Summary: "unregisterProvider", - }, - Key: "ExternalStatsManager.unregisterProvider", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "isRegistered", - Summary: "isRegistered", - }, - Key: "ExternalStatsManager.isRegistered", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "getRegisteredProviders", - Summary: "getRegisteredProviders", - }, - Key: "ExternalStatsManager.getRegisteredProviders", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "getEnabledClusters", - Summary: "getEnabledClusters", - }, - Key: "ExternalStatsManager.getEnabledClusters", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "updateStats", - Summary: "updateStats", - }, - Key: "ExternalStatsManager.updateStats", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create task collector", - Summary: "Creates a task collector to retrieve all tasks that have executed on the server based on a filter", - }, - Key: "TaskManager.createCollector", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create task", - Summary: "Create a task", - }, - Key: "TaskManager.createTask", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "createTaskWithEntityName", - Summary: "createTaskWithEntityName", - }, - Key: "TaskManager.createTaskWithEntityName", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set host custom value", - Summary: "Sets the value of a custom field of an host", - }, - Key: "HostSystem.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reload host system", - Summary: "Reloads the host system", - }, - Key: "HostSystem.reload", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rename host", - Summary: "Rename this host", - }, - Key: "HostSystem.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove host", - Summary: "Removes the host", - }, - Key: "HostSystem.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add tag", - Summary: "Add a set of tags to the host", - }, - Key: "HostSystem.addTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove tag", - Summary: "Remove a set of tags from the host", - }, - Key: "HostSystem.removeTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveCustomValues", - Summary: "retrieveCustomValues", - }, - Key: "HostSystem.retrieveCustomValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query TPM attestation information", - Summary: "Provides details of the secure boot and TPM status", - }, - Key: "HostSystem.queryTpmAttestationReport", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query connection information", - Summary: "Connection information about a host", - }, - Key: "HostSystem.queryConnectionInfo", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve internal host capabilities", - Summary: "Retrieves vCenter Server-specific internal host capabilities", - }, - Key: "HostSystem.retrieveInternalCapability", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "", - Summary: "", - }, - Key: "HostSystem.retrieveInternalConfigManager", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update system resources", - Summary: "Update the configuration of the system resource hierarchy", - }, - Key: "HostSystem.updateSystemResources", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update system swap configuration", - Summary: "Update the configuration of the system swap", - }, - Key: "HostSystem.updateSystemSwapConfiguration", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconnect host", - Summary: "Reconnects to a host", - }, - Key: "HostSystem.reconnect", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Disconnect host", - Summary: "Disconnects from a host", - }, - Key: "HostSystem.disconnect", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Enter maintenance mode", - Summary: "Puts the host in maintenance mode", - }, - Key: "HostSystem.enterMaintenanceMode", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Exit maintenance mode", - Summary: "Disables maintenance mode", - }, - Key: "HostSystem.exitMaintenanceMode", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Initiate host reboot", - Summary: "Initiates a host reboot", - }, - Key: "HostSystem.reboot", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Initiate host shutdown", - Summary: "Initiates a host shutdown", - }, - Key: "HostSystem.shutdown", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Enter standby mode", - Summary: "Puts this host into standby mode", - }, - Key: "HostSystem.enterStandbyMode", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Exit standby mode", - Summary: "Brings this host out of standby mode", - }, - Key: "HostSystem.exitStandbyMode", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query host overhead", - Summary: "Determines the amount of memory overhead necessary to power on a virtual machine with the specified characteristics", - }, - Key: "HostSystem.queryOverhead", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query memory overhead", - Summary: "Query memory overhead", - }, - Key: "HostSystem.queryOverheadEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigure vSphere HA host", - Summary: "Reconfigures the host for vSphere HA", - }, - Key: "HostSystem.reconfigureDAS", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve Patch Manager", - Summary: "Retrieves a reference to Patch Manager", - }, - Key: "HostSystem.retrievePatchManager", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update host system flags", - Summary: "Update the flags of the host system", - }, - Key: "HostSystem.updateFlags", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Send Wake-on-LAN packet", - Summary: "Send Wake-on-LAN packets to the physical NICs specified", - }, - Key: "HostSystem.sendWakeOnLanPacket", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Enable lockdown mode", - Summary: "Enable lockdown mode on this host", - }, - Key: "HostSystem.disableAdmin", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Disable lockdown mode", - Summary: "Disable lockdown mode on this host", - }, - Key: "HostSystem.enableAdmin", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Enable lockdown mode", - Summary: "Enable lockdown mode on this host", - }, - Key: "HostSystem.enterLockdownMode", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Disable lockdown mode", - Summary: "Disable lockdown mode on this host", - }, - Key: "HostSystem.exitLockdownMode", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update management server IP", - Summary: "Update information about the vCenter Server managing this host", - }, - Key: "HostSystem.updateManagementServerIp", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Acquire CIM service", - Summary: "Establish a remote connection to a CIM interface", - }, - Key: "HostSystem.acquireCimServicesTicket", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update IPMI or ILO information used by DPM", - Summary: "Update IPMI or ILO information for this host used by DPM", - }, - Key: "HostSystem.updateIpmi", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update SSL thumbprint registry", - Summary: "Updates the SSL thumbprint registry on the host", - }, - Key: "HostSystem.updateSslThumbprintInfo", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve host hardware uptime", - Summary: "Retrieves the hardware uptime for the host in seconds", - }, - Key: "HostSystem.retrieveHardwareUptime", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve Dynamic Type Manager", - Summary: "Retrieves a reference to Dynamic Type Manager", - }, - Key: "HostSystem.retrieveDynamicTypeManager", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve Managed Method Executer", - Summary: "Retrieves a reference to Managed Method Executer", - }, - Key: "HostSystem.retrieveManagedMethodExecuter", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query virtual machine memory overhead", - Summary: "Query memory overhead for a virtual machine power on", - }, - Key: "HostSystem.queryOverheadEx2", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Test EVC mode", - Summary: "Test an EVC mode on a host", - }, - Key: "HostSystem.testEvcMode", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Apply EVC mode", - Summary: "Applies an EVC mode to a host", - }, - Key: "HostSystem.applyEvcMode", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check whether the certificate is trusted by vCenter Server", - Summary: "Checks whether the certificate matches the host certificate that vCenter Server trusts", - }, - Key: "HostSystem.checkCertificateTrusted", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Prepare host", - Summary: "Prepare host for encryption", - }, - Key: "HostSystem.prepareCrypto", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Enable encryption", - Summary: "Enable encryption on the current host", - }, - Key: "HostSystem.enableCrypto", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Configure the host key", - Summary: "Configure the encryption key on the current host", - }, - Key: "HostSystem.configureCryptoKey", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "vSphere Distributed Switch set custom value", - Summary: "vSphere Distributed Switch set custom value", - }, - Key: "DistributedVirtualSwitch.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "vSphere Distributed Switch reload", - Summary: "vSphere Distributed Switch reload", - }, - Key: "DistributedVirtualSwitch.reload", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rename vSphere Distributed Switch", - Summary: "Rename vSphere Distributed Switch", - }, - Key: "DistributedVirtualSwitch.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete vSphere Distributed Switch", - Summary: "Delete vSphere Distributed Switch", - }, - Key: "DistributedVirtualSwitch.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "vSphere Distributed Switch add tag", - Summary: "vSphere Distributed Switch add tag", - }, - Key: "DistributedVirtualSwitch.addTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "vSphere Distributed Switch remove tag", - Summary: "vSphere Distributed Switch remove tag", - }, - Key: "DistributedVirtualSwitch.removeTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveCustomValues", - Summary: "retrieveCustomValues", - }, - Key: "DistributedVirtualSwitch.retrieveCustomValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve dvPort keys", - Summary: "Retrieve dvPort keys", - }, - Key: "DistributedVirtualSwitch.fetchPortKeys", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve dvPorts", - Summary: "Retrieve dvPorts", - }, - Key: "DistributedVirtualSwitch.fetchPorts", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query vSphere Distributed Switch used virtual LAN ID", - Summary: "Query vSphere Distributed Switch used virtual LAN ID", - }, - Key: "DistributedVirtualSwitch.queryUsedVlanId", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigure vSphere Distributed Switch", - Summary: "Reconfigure vSphere Distributed Switch", - }, - Key: "DistributedVirtualSwitch.reconfigure", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "vSphere Distributed Switch product specification operation", - Summary: "vSphere Distributed Switch product specification operation", - }, - Key: "DistributedVirtualSwitch.performProductSpecOperation", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Merge vSphere Distributed Switches", - Summary: "Merge vSphere Distributed Switches", - }, - Key: "DistributedVirtualSwitch.merge", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add Distributed Port Group", - Summary: "Add Distributed Port Group", - }, - Key: "DistributedVirtualSwitch.addPortgroups", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Move dvPorts", - Summary: "Move dvPorts", - }, - Key: "DistributedVirtualSwitch.movePort", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update vSphere Distributed Switch capability", - Summary: "Update vSphere Distributed Switch capability", - }, - Key: "DistributedVirtualSwitch.updateCapability", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigure dvPort", - Summary: "Reconfigure dvPort", - }, - Key: "DistributedVirtualSwitch.reconfigurePort", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Refresh dvPort state", - Summary: "Refresh dvPort state", - }, - Key: "DistributedVirtualSwitch.refreshPortState", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rectify host in vSphere Distributed Switch", - Summary: "Rectify host in vSphere Distributed Switch", - }, - Key: "DistributedVirtualSwitch.rectifyHost", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update network resource pools on vSphere Distributed Switch", - Summary: "Update network resource pools on vSphere Distributed Switch", - }, - Key: "DistributedVirtualSwitch.updateNetworkResourcePool", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add network resource pools on vSphere Distributed Switch", - Summary: "Add network resource pools on vSphere Distributed Switch", - }, - Key: "DistributedVirtualSwitch.addNetworkResourcePool", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove network resource pools on vSphere Distributed Switch", - Summary: "Remove network resource pools on vSphere Distributed Switch", - }, - Key: "DistributedVirtualSwitch.removeNetworkResourcePool", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigure a network resource pool on a distributed switch", - Summary: "Reconfigures the network resource pool on a distributed switch", - }, - Key: "DistributedVirtualSwitch.reconfigureVmVnicNetworkResourcePool", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update network I/O control on vSphere Distributed Switch", - Summary: "Update network I/O control on vSphere Distributed Switch", - }, - Key: "DistributedVirtualSwitch.enableNetworkResourceManagement", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get vSphere Distributed Switch configuration spec to rollback", - Summary: "Get vSphere Distributed Switch configuration spec to rollback", - }, - Key: "DistributedVirtualSwitch.rollback", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add Distributed Port Group", - Summary: "Add Distributed Port Group", - }, - Key: "DistributedVirtualSwitch.addPortgroup", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update health check configuration on vSphere Distributed Switch", - Summary: "Update health check configuration on vSphere Distributed Switch", - }, - Key: "DistributedVirtualSwitch.updateHealthCheckConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Look up portgroup based on portgroup key", - Summary: "Look up portgroup based on portgroup key", - }, - Key: "DistributedVirtualSwitch.lookupPortgroup", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Annotate OVF section tree", - Summary: "Annotates the given OVF section tree with configuration choices for this OVF consumer", - }, - Key: "OvfConsumer.annotateOst", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Validate instantiation OVF section tree", - Summary: "Validates that this OVF consumer can accept an instantiation OVF section tree", - }, - Key: "OvfConsumer.validateInstantiationOst", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Request registration of OVF section tree nodes", - Summary: "Notifies the OVF consumer that the specified OVF section tree nodes should be registered", - }, - Key: "OvfConsumer.registerEntities", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Request managed entities unregistration from OVF consumer", - Summary: "Notifies the OVF consumer that the specified managed entities should be unregistered", - }, - Key: "OvfConsumer.unregisterEntities", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Notify OVF consumer for cloned entities", - Summary: "Notifies the OVF consumer that the specified entities have been cloned", - }, - Key: "OvfConsumer.cloneEntities", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Populate entity OVF section tree", - Summary: "Create OVF sections for the given managed entities and populate the entity OVF section tree", - }, - Key: "OvfConsumer.populateEntityOst", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve public OVF environment sections for virtual machine ", - Summary: "Retrieves the public OVF environment sections that this OVF consumer has for a given virtual machine", - }, - Key: "OvfConsumer.retrievePublicOvfEnvironmentSections", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Notify OVF consumer for virtual machine power on", - Summary: "Notifies the OVF consumer that a virtual machine is about to be powered on", - }, - Key: "OvfConsumer.notifyPowerOn", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set snapshot custom value", - Summary: "Sets the value of a custom field of a virtual machine snapshot", - }, - Key: "vm.Snapshot.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Revert snapshot", - Summary: "Change the execution state of the virtual machine to the state of this snapshot", - }, - Key: "vm.Snapshot.revert", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove snapshot", - Summary: "Remove snapshot and delete its associated storage", - }, - Key: "vm.Snapshot.remove", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rename snapshot", - Summary: "Rename the snapshot", - }, - Key: "vm.Snapshot.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create Linked Clone", - Summary: "Create a linked clone from this snapshot", - }, - Key: "vm.Snapshot.createLinkedClone", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Export OVF template", - Summary: "Export the snapshot as an OVF template", - }, - Key: "vm.Snapshot.exportSnapshot", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check compliance", - Summary: "Check compliance of host or cluster against a profile", - }, - Key: "profile.ComplianceManager.checkCompliance", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query compliance status", - Summary: "Query compliance status", - }, - Key: "profile.ComplianceManager.queryComplianceStatus", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryEntitiesByComplianceStatus", - Summary: "queryEntitiesByComplianceStatus", - }, - Key: "profile.ComplianceManager.queryEntitiesByComplianceStatus", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Clear compliance history", - Summary: "Clear historical compliance data", - }, - Key: "profile.ComplianceManager.clearComplianceStatus", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query expression metadata", - Summary: "Query expression metadata", - }, - Key: "profile.ComplianceManager.queryExpressionMetadata", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create alarm", - Summary: "Create a new alarm", - }, - Key: "alarm.AlarmManager.create", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve alarm", - Summary: "Get available alarms defined on the entity", - }, - Key: "alarm.AlarmManager.getAlarm", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get alarm actions enabled", - Summary: "Checks if alarm actions are enabled for an entity", - }, - Key: "alarm.AlarmManager.getAlarmActionsEnabled", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set alarm actions enabled", - Summary: "Enables or disables firing alarm actions for an entity", - }, - Key: "alarm.AlarmManager.setAlarmActionsEnabled", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get alarm state", - Summary: "The state of instantiated alarms on the entity", - }, - Key: "alarm.AlarmManager.getAlarmState", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Acknowledge alarm", - Summary: "Stops alarm actions from firing until the alarm next triggers on an entity", - }, - Key: "alarm.AlarmManager.acknowledgeAlarm", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set alarm status", - Summary: "Sets the status of an alarm for an entity", - }, - Key: "alarm.AlarmManager.setAlarmStatus", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "clearTriggeredAlarms", - Summary: "clearTriggeredAlarms", - }, - Key: "alarm.AlarmManager.clearTriggeredAlarms", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "testSMTPSetup", - Summary: "testSMTPSetup", - }, - Key: "alarm.AlarmManager.testSMTPSetup", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create private alarm on managed entity", - Summary: "Creates a Private (trigger-only) Alarm on a managed entity", - }, - Key: "alarm.AlarmManager.createPrivateAlarm", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query private alarms on managed entity", - Summary: "Retrieves all of the Private (trigger-only) Alarms defined on the specified managed entity", - }, - Key: "alarm.AlarmManager.queryPrivateAlarms", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Sync triggered alarms list", - Summary: "Retrieves the full list of currently-triggered Alarms, as a list of triggers", - }, - Key: "alarm.AlarmManager.syncTriggeredAlarms", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve queued-up alarm triggers", - Summary: "Retrieves any queued-up alarm triggers representing Alarm state changes since the last time this method was called", - }, - Key: "alarm.AlarmManager.retrieveTriggers", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update the VASA provider state", - Summary: "Updates the VASA provider state for the specified datastores", - }, - Key: "VasaVvolManager.updateVasaProviderState", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create Virtual Volume datastore", - Summary: "Creates a new Virtual Volume datastore", - }, - Key: "VasaVvolManager.createVVolDatastore", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove Virtual Volume datastore", - Summary: "Remove Virtual Volume datastore from specified hosts", - }, - Key: "VasaVvolManager.removeVVolDatastore", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update the VASA client context", - Summary: "Updates the VASA client context on the host", - }, - Key: "VasaVvolManager.updateVasaClientContext", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "fetchRelocatedMACAddress", - Summary: "fetchRelocatedMACAddress", - }, - Key: "NetworkManager.fetchRelocatedMACAddress", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check MAC addresses in use", - Summary: "Checks the MAC addresses used by this vCenter Server instance", - }, - Key: "NetworkManager.checkIfMACAddressInUse", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reclaim MAC addresses", - Summary: "Reclaims the MAC addresses that are not used by remote vCenter Server instances", - }, - Key: "NetworkManager.reclaimMAC", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create new identity binding", - Summary: "Creates a new identity binding between the host and vCenter Server", - }, - Key: "host.TpmManager.requestIdentity", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Verify authenticity of credential", - Summary: "Verifies the authenticity and correctness of the supplied attestation credential", - }, - Key: "host.TpmManager.verifyCredential", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Generate integrity report", - Summary: "Generates an integrity report for the selected components", - }, - Key: "host.TpmManager.generateReport", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Distributed Port Group set custom value", - Summary: "Distributed Port Group set custom value", - }, - Key: "dvs.DistributedVirtualPortgroup.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reload Distributed Port Group", - Summary: "Reload Distributed Port Group", - }, - Key: "dvs.DistributedVirtualPortgroup.reload", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rename Distributed Port Group", - Summary: "Rename Distributed Port Group", - }, - Key: "dvs.DistributedVirtualPortgroup.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete Distributed Port Group", - Summary: "Delete Distributed Port Group", - }, - Key: "dvs.DistributedVirtualPortgroup.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add tag to Distributed Port Group", - Summary: "Add tag to Distributed Port Group", - }, - Key: "dvs.DistributedVirtualPortgroup.addTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Distributed Port Group remove tag", - Summary: "Distributed Port Group remove tag", - }, - Key: "dvs.DistributedVirtualPortgroup.removeTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveCustomValues", - Summary: "retrieveCustomValues", - }, - Key: "dvs.DistributedVirtualPortgroup.retrieveCustomValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Distributed Port Group delete network", - Summary: "Distributed Port Group delete network", - }, - Key: "dvs.DistributedVirtualPortgroup.destroyNetwork", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigure Distributed Port Group", - Summary: "Reconfigure Distributed Port Group", - }, - Key: "dvs.DistributedVirtualPortgroup.reconfigure", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get Distributed Port Group configuration spec to rollback", - Summary: "Get Distributed Port Group configuration spec to rollback", - }, - Key: "dvs.DistributedVirtualPortgroup.rollback", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set alarm custom value", - Summary: "Sets the value of a custom field of an alarm", - }, - Key: "alarm.Alarm.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove alarm", - Summary: "Remove the alarm", - }, - Key: "alarm.Alarm.remove", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigure alarm", - Summary: "Reconfigure the alarm", - }, - Key: "alarm.Alarm.reconfigure", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set compute-resource custom value", - Summary: "Sets the value of a custom field for a unified compute resource", - }, - Key: "ComputeResource.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reload resource", - Summary: "Reloads the resource", - }, - Key: "ComputeResource.reload", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rename compute-resource", - Summary: "Rename the compute-resource", - }, - Key: "ComputeResource.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove host", - Summary: "Removes the host resource", - }, - Key: "ComputeResource.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add tag", - Summary: "Add a set of tags to this object", - }, - Key: "ComputeResource.addTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove tag", - Summary: "Removes a set of tags from this object", - }, - Key: "ComputeResource.removeTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveCustomValues", - Summary: "retrieveCustomValues", - }, - Key: "ComputeResource.retrieveCustomValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigure compute-resource", - Summary: "Reconfigures a compute-resource", - }, - Key: "ComputeResource.reconfigureEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set latest page size", - Summary: "Set the last page viewed size and contain at most maxCount items in the page", - }, - Key: "HistoryCollector.setLatestPageSize", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rewind", - Summary: "Move the scroll position to the oldest item", - }, - Key: "HistoryCollector.rewind", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reset", - Summary: "Move the scroll position to the item just above the last page viewed", - }, - Key: "HistoryCollector.reset", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove collector", - Summary: "Remove the collector from server", - }, - Key: "HistoryCollector.remove", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update specific metadata", - Summary: "Update specific metadata for the given owner and list of virtual machine IDs", - }, - Key: "vm.MetadataManager.updateMetadata", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve specific metadata", - Summary: "Retrieve specific metadata for the given owner and list of virtual machine IDs", - }, - Key: "vm.MetadataManager.retrieveMetadata", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve all metadata", - Summary: "Retrieve all metadata for the given owner and datastore", - }, - Key: "vm.MetadataManager.retrieveAllMetadata", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Clear metadata", - Summary: "Clear all metadata for the given owner and datastore", - }, - Key: "vm.MetadataManager.clearMetadata", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query latest statistics for a virtual machine", - Summary: "Queries the latest values of performance statistics of a virtual machine", - }, - Key: "InternalStatsCollector.queryLatestVmStats", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "vSphere Distributed Switch set custom value", - Summary: "vSphere Distributed Switch set custom value", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reload vSphere Distributed Switch", - Summary: "Reload vSphere Distributed Switch", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.reload", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rename vSphere Distributed Switch", - Summary: "Rename vSphere Distributed Switch", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove vSphere Distributed Switch", - Summary: "Remove vSphere Distributed Switch", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "vSphere Distributed Switch add tag", - Summary: "vSphere Distributed Switch add tag", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.addTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "vSphere Distributed Switch remove tag", - Summary: "vSphere Distributed Switch remove tag", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.removeTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveCustomValues", - Summary: "retrieveCustomValues", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.retrieveCustomValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve dvPort keys", - Summary: "Retrieve dvPort keys", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.fetchPortKeys", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve dvPorts", - Summary: "Retrieve dvPorts", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.fetchPorts", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query used virtual LAN ID", - Summary: "Query used virtual LAN ID", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.queryUsedVlanId", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigure vSphere Distributed Switch", - Summary: "Reconfigure vSphere Distributed Switch", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.reconfigure", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "vSphere Distributed Switch product specification operation", - Summary: "vSphere Distributed Switch product specification operation", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.performProductSpecOperation", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Merge vSphere Distributed Switch", - Summary: "Merge vSphere Distributed Switch", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.merge", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add Distributed Port Groups", - Summary: "Add Distributed Port Groups", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.addPortgroups", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Move dvPort", - Summary: "Move dvPort", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.movePort", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update vSphere Distributed Switch capability", - Summary: "Update vSphere Distributed Switch capability", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.updateCapability", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigure dvPort", - Summary: "Reconfigure dvPort", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.reconfigurePort", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Refresh dvPort state", - Summary: "Refresh dvPort state", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.refreshPortState", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rectify vSphere Distributed Switch host", - Summary: "Rectify vSphere Distributed Switch host", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.rectifyHost", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update network resource pools on vSphere Distributed Switch", - Summary: "Update network resource pools on vSphere Distributed Switch", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.updateNetworkResourcePool", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add network resource pools on vSphere Distributed Switch", - Summary: "Add network resource pools on vSphere Distributed Switch", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.addNetworkResourcePool", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove network resource pools on vSphere Distributed Switch", - Summary: "Remove network resource pools on vSphere Distributed Switch", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.removeNetworkResourcePool", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigure a network resource pool on a distributed switch", - Summary: "Reconfigures a network resource pool on a distributed switch", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.reconfigureVmVnicNetworkResourcePool", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update network I/O control on vSphere Distributed Switch", - Summary: "Update network I/O control on vSphere Distributed Switch", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.enableNetworkResourceManagement", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get vSphere Distributed Switch configuration spec to rollback", - Summary: "Get vSphere Distributed Switch configuration spec to rollback", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.rollback", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add Distributed Port Group", - Summary: "Add Distributed Port Group", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.addPortgroup", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update health check configuration on vSphere Distributed Switch", - Summary: "Update health check configuration on vSphere Distributed Switch", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.updateHealthCheckConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Look up portgroup based on portgroup key", - Summary: "Look up portgroup based on portgroup key", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.lookupPortgroup", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update Link Aggregation Control Protocol groups on vSphere Distributed Switch", - Summary: "Update Link Aggregation Control Protocol groups on vSphere Distributed Switch", - }, - Key: "dvs.VmwareDistributedVirtualSwitch.updateLacpGroupConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create a virtual disk object", - Summary: "Create a virtual disk object", - }, - Key: "vslm.vcenter.VStorageObjectManager.createDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Register a legacy disk to be a virtual disk object", - Summary: "Register a legacy disk to be a virtual disk object", - }, - Key: "vslm.vcenter.VStorageObjectManager.registerDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Extend a virtual disk to the new capacity", - Summary: "Extend a virtual disk to the new capacity", - }, - Key: "vslm.vcenter.VStorageObjectManager.extendDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Inflate a thin virtual disk", - Summary: "Inflate a thin virtual disk", - }, - Key: "vslm.vcenter.VStorageObjectManager.inflateDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rename a virtual storage object", - Summary: "Rename a virtual storage object", - }, - Key: "vslm.vcenter.VStorageObjectManager.renameVStorageObject", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update storage policy on a virtual storage object", - Summary: "Update storage policy on a virtual storage object", - }, - Key: "vslm.vcenter.VStorageObjectManager.updateVStorageObjectPolicy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete a virtual storage object", - Summary: "Delete a virtual storage object", - }, - Key: "vslm.vcenter.VStorageObjectManager.deleteVStorageObject", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve a virtual storage object", - Summary: "Retrieve a virtual storage object", - }, - Key: "vslm.vcenter.VStorageObjectManager.retrieveVStorageObject", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveVStorageObjectState", - Summary: "retrieveVStorageObjectState", - }, - Key: "vslm.vcenter.VStorageObjectManager.retrieveVStorageObjectState", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "List virtual storage objects on a datastore", - Summary: "List virtual storage objects on a datastore", - }, - Key: "vslm.vcenter.VStorageObjectManager.listVStorageObject", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Clone a virtual storage object", - Summary: "Clone a virtual storage object", - }, - Key: "vslm.vcenter.VStorageObjectManager.cloneVStorageObject", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Relocate a virtual storage object", - Summary: "Relocate a virtual storage object", - }, - Key: "vslm.vcenter.VStorageObjectManager.relocateVStorageObject", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "attachTagToVStorageObject", - Summary: "attachTagToVStorageObject", - }, - Key: "vslm.vcenter.VStorageObjectManager.attachTagToVStorageObject", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "detachTagFromVStorageObject", - Summary: "detachTagFromVStorageObject", - }, - Key: "vslm.vcenter.VStorageObjectManager.detachTagFromVStorageObject", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "listVStorageObjectsAttachedToTag", - Summary: "listVStorageObjectsAttachedToTag", - }, - Key: "vslm.vcenter.VStorageObjectManager.listVStorageObjectsAttachedToTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "listTagsAttachedToVStorageObject", - Summary: "listTagsAttachedToVStorageObject", - }, - Key: "vslm.vcenter.VStorageObjectManager.listTagsAttachedToVStorageObject", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconcile datastore inventory", - Summary: "Reconcile datastore inventory", - }, - Key: "vslm.vcenter.VStorageObjectManager.reconcileDatastoreInventory", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Schedule reconcile datastore inventory", - Summary: "Schedule reconcile datastore inventory", - }, - Key: "vslm.vcenter.VStorageObjectManager.scheduleReconcileDatastoreInventory", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check group membership", - Summary: "Check whether a user is a member of a given list of groups", - }, - Key: "UserDirectory.checkGroupMembership", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get user groups", - Summary: "Searches for users and groups", - }, - Key: "UserDirectory.retrieveUserGroups", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create profile", - Summary: "Create profile", - }, - Key: "profile.ProfileManager.createProfile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query policy metadata", - Summary: "Query policy metadata", - }, - Key: "profile.ProfileManager.queryPolicyMetadata", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Find associated profile", - Summary: "Find associated profile", - }, - Key: "profile.ProfileManager.findAssociatedProfile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Validate host for OVF package compatibility", - Summary: "Validates if a host is compatible with the requirements in an OVF package", - }, - Key: "OvfManager.validateHost", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Parse OVF descriptor", - Summary: "Parses and validates an OVF descriptor", - }, - Key: "OvfManager.parseDescriptor", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Convert OVF descriptor", - Summary: "Convert OVF descriptor to entity specification", - }, - Key: "OvfManager.createImportSpec", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create an OVF descriptor", - Summary: "Creates an OVF descriptor from either a VM or vApp", - }, - Key: "OvfManager.createDescriptor", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Parse OVF Descriptor at URL", - Summary: "Parses and validates an OVF descriptor at a given URL", - }, - Key: "OvfManager.parseDescriptorAtUrl", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Deploy OVF template", - Summary: "Deploys an OVF template from a URL", - }, - Key: "OvfManager.importOvfAtUrl", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Export as OVF template", - Summary: "Uploads OVF template to a remote server", - }, - Key: "OvfManager.exportOvfToUrl", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update global message", - Summary: "Updates the system global message", - }, - Key: "SessionManager.updateMessage", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Login by token", - Summary: "Logs on to the server through token representing principal identity", - }, - Key: "SessionManager.loginByToken", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Login", - Summary: "Create a login session", - }, - Key: "SessionManager.login", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Login by SSPI", - Summary: "Log on to the server using SSPI passthrough authentication", - }, - Key: "SessionManager.loginBySSPI", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Login by SSL thumbprint", - Summary: "Log on to the server using SSL thumbprint authentication", - }, - Key: "SessionManager.loginBySSLThumbprint", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Login by session ticket", - Summary: "Log on to the server using a session ticket", - }, - Key: "SessionManager.loginBySessionTicket", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Acquire session ticket", - Summary: "Acquire a ticket for authenticating to a remote service", - }, - Key: "SessionManager.acquireSessionTicket", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Logout", - Summary: "Logout and end the current session", - }, - Key: "SessionManager.logout", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Acquire local ticket", - Summary: "Acquire one-time ticket for authenticating server-local client", - }, - Key: "SessionManager.acquireLocalTicket", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Acquire generic service ticket", - Summary: "Acquire a one-time credential that may be used to make the specified request", - }, - Key: "SessionManager.acquireGenericServiceTicket", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Terminate session", - Summary: "Logout and end the provided list of sessions", - }, - Key: "SessionManager.terminate", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set locale", - Summary: "Set the session locale for determining the languages used for messages and formatting data", - }, - Key: "SessionManager.setLocale", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Login extension", - Summary: "Creates a privileged login session for an extension", - }, - Key: "SessionManager.loginExtension", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Login extension", - Summary: "Invalid subject name", - }, - Key: "SessionManager.loginExtensionBySubjectName", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Login extension by certificate", - Summary: "Login extension by certificate", - }, - Key: "SessionManager.loginExtensionByCertificate", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Impersonate user", - Summary: "Convert session to impersonate specified user", - }, - Key: "SessionManager.impersonateUser", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Session active query", - Summary: "Validates that a currently active session exists", - }, - Key: "SessionManager.sessionIsActive", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Acquire clone ticket", - Summary: "Acquire a session-specific ticket string that can be used to clone the current session", - }, - Key: "SessionManager.acquireCloneTicket", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Clone session", - Summary: "Clone the specified session and associate it with the current connection", - }, - Key: "SessionManager.cloneSession", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Open remote disk for read/write", - Summary: "Opens a disk on a virtual machine for read/write access", - }, - Key: "NfcService.randomAccessOpen", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Open remote disk for read", - Summary: "Opens a disk on a virtual machine for read access", - }, - Key: "NfcService.randomAccessOpenReadonly", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "randomAccessFileOpen", - Summary: "randomAccessFileOpen", - }, - Key: "NfcService.randomAccessFileOpen", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Read virtual machine files", - Summary: "Read files associated with a virtual machine", - }, - Key: "NfcService.getVmFiles", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Write virtual machine files", - Summary: "Write files associated with a virtual machine", - }, - Key: "NfcService.putVmFiles", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Manipulate file paths", - Summary: "Permission to manipulate file paths", - }, - Key: "NfcService.fileManagement", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Manipulate system-related file paths", - Summary: "Permission to manipulate all system related file paths", - }, - Key: "NfcService.systemManagement", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "getServerNfcLibVersion", - Summary: "getServerNfcLibVersion", - }, - Key: "NfcService.getServerNfcLibVersion", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "registerProvider", - Summary: "registerProvider", - }, - Key: "HealthUpdateManager.registerProvider", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "unregisterProvider", - Summary: "unregisterProvider", - }, - Key: "HealthUpdateManager.unregisterProvider", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryProviderList", - Summary: "queryProviderList", - }, - Key: "HealthUpdateManager.queryProviderList", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "hasProvider", - Summary: "hasProvider", - }, - Key: "HealthUpdateManager.hasProvider", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryProviderName", - Summary: "queryProviderName", - }, - Key: "HealthUpdateManager.queryProviderName", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryHealthUpdateInfos", - Summary: "queryHealthUpdateInfos", - }, - Key: "HealthUpdateManager.queryHealthUpdateInfos", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "addMonitoredEntities", - Summary: "addMonitoredEntities", - }, - Key: "HealthUpdateManager.addMonitoredEntities", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "removeMonitoredEntities", - Summary: "removeMonitoredEntities", - }, - Key: "HealthUpdateManager.removeMonitoredEntities", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryMonitoredEntities", - Summary: "queryMonitoredEntities", - }, - Key: "HealthUpdateManager.queryMonitoredEntities", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "hasMonitoredEntity", - Summary: "hasMonitoredEntity", - }, - Key: "HealthUpdateManager.hasMonitoredEntity", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryUnmonitoredHosts", - Summary: "queryUnmonitoredHosts", - }, - Key: "HealthUpdateManager.queryUnmonitoredHosts", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "postHealthUpdates", - Summary: "postHealthUpdates", - }, - Key: "HealthUpdateManager.postHealthUpdates", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryHealthUpdates", - Summary: "queryHealthUpdates", - }, - Key: "HealthUpdateManager.queryHealthUpdates", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "addFilter", - Summary: "addFilter", - }, - Key: "HealthUpdateManager.addFilter", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryFilterList", - Summary: "queryFilterList", - }, - Key: "HealthUpdateManager.queryFilterList", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryFilterName", - Summary: "queryFilterName", - }, - Key: "HealthUpdateManager.queryFilterName", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryFilterInfoIds", - Summary: "queryFilterInfoIds", - }, - Key: "HealthUpdateManager.queryFilterInfoIds", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryFilterEntities", - Summary: "queryFilterEntities", - }, - Key: "HealthUpdateManager.queryFilterEntities", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "addFilterEntities", - Summary: "addFilterEntities", - }, - Key: "HealthUpdateManager.addFilterEntities", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "removeFilterEntities", - Summary: "removeFilterEntities", - }, - Key: "HealthUpdateManager.removeFilterEntities", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "removeFilter", - Summary: "removeFilter", - }, - Key: "HealthUpdateManager.removeFilter", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set vMotion custom value", - Summary: "Sets the value of a custom field of a host vMotion system", - }, - Key: "host.VMotionSystem.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update IP configuration", - Summary: "Update the IP configuration of the vMotion virtual NIC", - }, - Key: "host.VMotionSystem.updateIpConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Select vMotion virtual NIC", - Summary: "Select the virtual NIC to be used for vMotion", - }, - Key: "host.VMotionSystem.selectVnic", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Deselect vMotion virtual NIC", - Summary: "Deselect the virtual NIC to be used for vMotion", - }, - Key: "host.VMotionSystem.deselectVnic", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add custom field", - Summary: "Creates a new custom property", - }, - Key: "CustomFieldsManager.addFieldDefinition", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove custom field", - Summary: "Removes a custom property", - }, - Key: "CustomFieldsManager.removeFieldDefinition", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rename custom property", - Summary: "Renames a custom property", - }, - Key: "CustomFieldsManager.renameFieldDefinition", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set custom field", - Summary: "Assigns a value to a custom property", - }, - Key: "CustomFieldsManager.setField", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get ManagedEntities", - Summary: "Get the list of ManagedEntities that the name is a Substring of the custom field name and the value is a Substring of the field value.", - }, - Key: "CustomFieldsManager.getEntitiesWithCustomFieldAndValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveCustomFields", - Summary: "retrieveCustomFields", - }, - Key: "CustomFieldsManager.retrieveCustomFields", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Configure virtual disk digest", - Summary: "Controls the configuration of the digests for the virtual disks", - }, - Key: "CbrcManager.configureDigest", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Recompute virtual disk digest", - Summary: "Recomputes the digest for the given virtual disks, if necessary", - }, - Key: "CbrcManager.recomputeDigest", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query virtual disk digest configuration", - Summary: "Returns the current configuration of the digest for the given digest-enabled virtual disks", - }, - Key: "CbrcManager.queryDigestInfo", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query virtual disk digest runtime information", - Summary: "Returns the status of runtime digest usage for the given digest-enabled virtual disks", - }, - Key: "CbrcManager.queryDigestRuntimeInfo", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get diagnostic files", - Summary: "Gets the list of diagnostic files for a given system", - }, - Key: "DiagnosticManager.queryDescriptions", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Browse diagnostic manager", - Summary: "Returns part of a log file", - }, - Key: "DiagnosticManager.browse", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Generate system logs bundles", - Summary: "Instructs the server to generate system logs bundles", - }, - Key: "DiagnosticManager.generateLogBundles", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query file hash", - Summary: "Queries file integrity information", - }, - Key: "DiagnosticManager.queryFileHash", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Configure workload model calculation parameters for datastore", - Summary: "Configures calculation parameters used for computation of workload model for a datastore", - }, - Key: "DrsStatsManager.configureWorkloadCharacterization", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query current workload model calculation parameters", - Summary: "Queries a host for the current workload model calculation parameters", - }, - Key: "DrsStatsManager.queryWorkloadCharacterization", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Configure datastore correlation detector", - Summary: "Configures datastore correlation detector with datastore to datastore cluster mappings", - }, - Key: "DrsStatsManager.configureCorrelationDetector", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query datastore correlation result", - Summary: "Queries correlation detector for a list of datastores correlated to a given datastore", - }, - Key: "DrsStatsManager.queryCorrelationResult", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update agent virtual machine information", - Summary: "Updates agent virtual machine information", - }, - Key: "EsxAgentConfigManager.updateAgentVmInfo", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query agent virtual machine information", - Summary: "Returns the state for each of the specified agent virtual machines", - }, - Key: "EsxAgentConfigManager.queryAgentVmInfo", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update compute resource agent information", - Summary: "Updates the number of required agent virtual machines for one or more compute resources", - }, - Key: "EsxAgentConfigManager.updateComputeResourceAgentInfo", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query compute resource agent information", - Summary: "Retrieves the agent information for one or more compute resources", - }, - Key: "EsxAgentConfigManager.queryComputeResourceAgentInfo", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set extensible custom value", - Summary: "Sets the value of a custom field of an extensible managed object", - }, - Key: "ExtensibleManagedObject.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get lease download manifest", - Summary: "Gets the download manifest for this lease", - }, - Key: "HttpNfcLease.getManifest", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Complete the lease", - Summary: "The lease completed successfully", - }, - Key: "HttpNfcLease.complete", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "End the lease", - Summary: "The lease has ended", - }, - Key: "HttpNfcLease.abort", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update lease progress", - Summary: "Updates lease progress", - }, - Key: "HttpNfcLease.progress", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Install IO Filter", - Summary: "Installs an IO Filter on a compute resource", - }, - Key: "IoFilterManager.installIoFilter", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Uninstall IO Filter", - Summary: "Uninstalls an IO Filter from a compute resource", - }, - Key: "IoFilterManager.uninstallIoFilter", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Upgrade IO Filter", - Summary: "Upgrades an IO Filter on a compute resource", - }, - Key: "IoFilterManager.upgradeIoFilter", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query IO Filter installation issues", - Summary: "Queries IO Filter installation issues on a compute resource", - }, - Key: "IoFilterManager.queryIssue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryIoFilterInfo", - Summary: "queryIoFilterInfo", - }, - Key: "IoFilterManager.queryIoFilterInfo", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Resolve IO Filter installation errors on host", - Summary: "Resolves IO Filter installation errors on a host", - }, - Key: "IoFilterManager.resolveInstallationErrorsOnHost", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Resolve IO Filter installation errors on cluster", - Summary: "Resolves IO Filter installation errors on a cluster", - }, - Key: "IoFilterManager.resolveInstallationErrorsOnCluster", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query information about virtual disks using IO Filter", - Summary: "Queries information about virtual disks that use an IO Filter installed on a compute resource", - }, - Key: "IoFilterManager.queryDisksUsingFilter", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update IO Filter policy", - Summary: "Updates the policy to IO Filter mapping in vCenter Server", - }, - Key: "IoFilterManager.updateIoFilterPolicy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query supported features", - Summary: "Searches the current license source for licenses available from this system", - }, - Key: "LicenseManager.querySupportedFeatures", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query license source", - Summary: "Searches the current license source for licenses available for each feature known to this system", - }, - Key: "LicenseManager.querySourceAvailability", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query license usage", - Summary: "Returns the list of features and the number of licenses that have been reserved", - }, - Key: "LicenseManager.queryUsage", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set product edition", - Summary: "Defines the product edition", - }, - Key: "LicenseManager.setEdition", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check feature", - Summary: "Checks if a feature is enabled", - }, - Key: "LicenseManager.checkFeature", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Enable license", - Summary: "Enable a feature that is marked as user-configurable", - }, - Key: "LicenseManager.enable", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Disable license", - Summary: "Release licenses for a user-configurable feature", - }, - Key: "LicenseManager.disable", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Configure license source", - Summary: "Allows reconfiguration of the License Manager license source", - }, - Key: "LicenseManager.configureSource", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Installing license", - Summary: "Installing license", - }, - Key: "LicenseManager.updateLicense", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add license", - Summary: "Adds a new license to the license inventory", - }, - Key: "LicenseManager.addLicense", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove license", - Summary: "Removes a license from the license inventory", - }, - Key: "LicenseManager.removeLicense", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Decode license", - Summary: "Decodes the license to return the properties of that license key", - }, - Key: "LicenseManager.decodeLicense", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update license label", - Summary: "Update a license's label", - }, - Key: "LicenseManager.updateLabel", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove license label", - Summary: "Removes a license's label", - }, - Key: "LicenseManager.removeLabel", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get License Data Manager", - Summary: "Gets the License Data Manager", - }, - Key: "LicenseManager.queryLicenseDataManager", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Activate remote hard enforcement", - Summary: "Activates the remote hard enforcement", - }, - Key: "LicenseManager.activateRemoteHardEnforcement", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add end point", - Summary: "Add a service whose connections are to be proxied", - }, - Key: "ProxyService.addEndpoint", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove end point", - Summary: "End point to be detached", - }, - Key: "ProxyService.removeEndpoint", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Estimate database size", - Summary: "Estimates the database size required to store VirtualCenter data", - }, - Key: "ResourcePlanningManager.estimateDatabaseSize", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Find entity by UUID", - Summary: "Finds a virtual machine or host by UUID", - }, - Key: "SearchIndex.findByUuid", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Find virtual machine by datastore path", - Summary: "Finds a virtual machine by its location on a datastore", - }, - Key: "SearchIndex.findByDatastorePath", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Find entity by DNS", - Summary: "Finds a virtual machine or host by its DNS name", - }, - Key: "SearchIndex.findByDnsName", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Find entity by IP", - Summary: "Finds a virtual machine or host by IP address", - }, - Key: "SearchIndex.findByIp", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Find entity by inventory path", - Summary: "Finds a virtual machine or host based on its location in the inventory", - }, - Key: "SearchIndex.findByInventoryPath", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Find folder child", - Summary: "Finds an immediate child of a folder", - }, - Key: "SearchIndex.findChild", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Find by UUID", - Summary: "Find entities based on their UUID", - }, - Key: "SearchIndex.findAllByUuid", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Find by DNS name", - Summary: "Find by DNS name", - }, - Key: "SearchIndex.findAllByDnsName", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Find by IP address", - Summary: "Find entities based on their IP address", - }, - Key: "SearchIndex.findAllByIp", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "findAllInstantCloneParentInGroup", - Summary: "findAllInstantCloneParentInGroup", - }, - Key: "SearchIndex.findAllInstantCloneParentInGroup", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "findAllInstantCloneChildrenOfGroup", - Summary: "findAllInstantCloneChildrenOfGroup", - }, - Key: "SearchIndex.findAllInstantCloneChildrenOfGroup", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Execute client service", - Summary: "Execute the client service", - }, - Key: "SimpleCommand.Execute", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Configure Storage I/O Control on datastore", - Summary: "Configure Storage I/O Control on datastore", - }, - Key: "StorageResourceManager.ConfigureDatastoreIORM", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Configure Storage I/O Control on datastore", - Summary: "Configure Storage I/O Control on datastore", - }, - Key: "StorageResourceManager.ConfigureDatastoreIORMOnHost", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query Storage I/O Control configuration options", - Summary: "Query Storage I/O Control configuration options", - }, - Key: "StorageResourceManager.QueryIORMConfigOption", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get storage I/O resource management device model", - Summary: "Returns the device model computed for a given datastore by storage DRS", - }, - Key: "StorageResourceManager.GetStorageIORMDeviceModel", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query datastore performance summary", - Summary: "Query datastore performance metrics in summary form", - }, - Key: "StorageResourceManager.queryDatastorePerformanceSummary", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Apply a Storage DRS recommendation", - Summary: "Apply a Storage DRS recommendation", - }, - Key: "StorageResourceManager.applyRecommendationToPod", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Apply Storage DRS recommendations", - Summary: "Apply Storage DRS recommendations", - }, - Key: "StorageResourceManager.applyRecommendation", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Cancel storage DRS recommendation", - Summary: "Cancels a storage DRS recommendation", - }, - Key: "StorageResourceManager.cancelRecommendation", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Refresh storage DRS recommendation", - Summary: "Refreshes the storage DRS recommendations on the specified datastore cluster", - }, - Key: "StorageResourceManager.refreshRecommendation", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "refreshRecommendationsForPod", - Summary: "refreshRecommendationsForPod", - }, - Key: "StorageResourceManager.refreshRecommendationsForPod", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Configure Storage DRS", - Summary: "Configure Storage DRS on a datastore cluster", - }, - Key: "StorageResourceManager.configureStorageDrsForPod", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Invoke storage DRS for placement recommendations", - Summary: "Invokes storage DRS for placement recommendations", - }, - Key: "StorageResourceManager.recommendDatastores", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "rankForPlacement", - Summary: "rankForPlacement", - }, - Key: "StorageResourceManager.rankForPlacement", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryStorageStatisticsByProfile", - Summary: "queryStorageStatisticsByProfile", - }, - Key: "StorageResourceManager.queryStorageStatisticsByProfile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set latest page size", - Summary: "Set the last page viewed size and contain at most maxCount items in the page", - }, - Key: "TaskHistoryCollector.setLatestPageSize", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rewind", - Summary: "Move the scroll position to the oldest item", - }, - Key: "TaskHistoryCollector.rewind", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reset", - Summary: "Move the scroll position to the item just above the last page viewed", - }, - Key: "TaskHistoryCollector.reset", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove collector", - Summary: "Remove the collector from server", - }, - Key: "TaskHistoryCollector.remove", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Read next", - Summary: "The scroll position is moved to the next new page after the read", - }, - Key: "TaskHistoryCollector.readNext", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Read previous", - Summary: "The scroll position is moved to the next older page after the read", - }, - Key: "TaskHistoryCollector.readPrev", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "performUpgradePreflightCheck", - Summary: "performUpgradePreflightCheck", - }, - Key: "VsanUpgradeSystem.performUpgradePreflightCheck", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryUpgradeStatus", - Summary: "queryUpgradeStatus", - }, - Key: "VsanUpgradeSystem.queryUpgradeStatus", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "performUpgrade", - Summary: "performUpgrade", - }, - Key: "VsanUpgradeSystem.performUpgrade", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set a custom property to an opaque network", - Summary: "Sets the value of a custom field of an opaque network", - }, - Key: "OpaqueNetwork.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reload an opaque network", - Summary: "Reloads the information about the opaque network", - }, - Key: "OpaqueNetwork.reload", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rename an opaque network", - Summary: "Renames an opaque network", - }, - Key: "OpaqueNetwork.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete opaque network", - Summary: "Deletes an opaque network if it is not used by any host or virtual machine", - }, - Key: "OpaqueNetwork.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add a tag to an opaque network", - Summary: "Adds a set of tags to the opaque network", - }, - Key: "OpaqueNetwork.addTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove a tag from an opaque network", - Summary: "Removes a set of tags from the opaque network", - }, - Key: "OpaqueNetwork.removeTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveCustomValues", - Summary: "retrieveCustomValues", - }, - Key: "OpaqueNetwork.retrieveCustomValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove an opaque network", - Summary: "Removes an opaque network", - }, - Key: "OpaqueNetwork.destroyNetwork", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set resource pool custom value", - Summary: "Sets the value of a custom field of a resource pool of physical resources", - }, - Key: "ResourcePool.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reload resource pool", - Summary: "Reload the resource pool", - }, - Key: "ResourcePool.reload", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rename resource pool", - Summary: "Rename the resource pool", - }, - Key: "ResourcePool.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete resource pool", - Summary: "Delete the resource pool, which also deletes its contents and removes it from its parent folder (if any)", - }, - Key: "ResourcePool.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add tag", - Summary: "Add a set of tags to the resource pool", - }, - Key: "ResourcePool.addTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove tag", - Summary: "Remove a set of tags from the resource pool", - }, - Key: "ResourcePool.removeTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveCustomValues", - Summary: "retrieveCustomValues", - }, - Key: "ResourcePool.retrieveCustomValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update resource pool configuration", - Summary: "Updates the resource pool configuration", - }, - Key: "ResourcePool.updateConfig", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Move into resource pool", - Summary: "Moves a set of resource pools or virtual machines into this pool", - }, - Key: "ResourcePool.moveInto", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update child resource configuration", - Summary: "Change the resource configuration of a set of children of the resource pool", - }, - Key: "ResourcePool.updateChildResourceConfiguration", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create resource pool", - Summary: "Creates a new resource pool", - }, - Key: "ResourcePool.createResourcePool", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete resource pool children", - Summary: "Removes all child resource pools recursively", - }, - Key: "ResourcePool.destroyChildren", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create vApp", - Summary: "Creates a child vApp of this resource pool", - }, - Key: "ResourcePool.createVApp", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create virtual machine", - Summary: "Creates a virtual machine in this resource pool", - }, - Key: "ResourcePool.createVm", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Register virtual machine", - Summary: "Adds an existing virtual machine to this resource pool", - }, - Key: "ResourcePool.registerVm", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Deploy OVF template", - Summary: "Deploys a virtual machine or vApp", - }, - Key: "ResourcePool.importVApp", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query resource pool resource configuration options", - Summary: "Returns configuration options for a set of resources for a resource pool", - }, - Key: "ResourcePool.queryResourceConfigOption", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Refresh resource runtime information", - Summary: "Refreshes the resource usage runtime information", - }, - Key: "ResourcePool.refreshRuntime", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set virtual machine custom value", - Summary: "Sets the value of a custom field of a virtual machine", - }, - Key: "VirtualMachine.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reload virtual machine", - Summary: "Reloads the virtual machine", - }, - Key: "VirtualMachine.reload", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rename virtual machine", - Summary: "Rename the virtual machine", - }, - Key: "VirtualMachine.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete virtual machine", - Summary: "Delete this virtual machine. Deleting this virtual machine also deletes its contents and removes it from its parent folder (if any).", - }, - Key: "VirtualMachine.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add Tag", - Summary: "Add a set of tags to the virtual machine", - }, - Key: "VirtualMachine.addTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove tag", - Summary: "Remove a set of tags from the virtual machine", - }, - Key: "VirtualMachine.removeTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveCustomValues", - Summary: "retrieveCustomValues", - }, - Key: "VirtualMachine.retrieveCustomValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Refresh virtual machine storage information", - Summary: "Refresh storage information for the virtual machine", - }, - Key: "VirtualMachine.refreshStorageInfo", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve virtual machine backup agent", - Summary: "Retrieves the backup agent for the virtual machine", - }, - Key: "VirtualMachine.retrieveBackupAgent", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create virtual machine snapshot", - Summary: "Create a new snapshot of this virtual machine", - }, - Key: "VirtualMachine.createSnapshot", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create virtual machine snapshot", - Summary: "Create a new snapshot of this virtual machine", - }, - Key: "VirtualMachine.createSnapshotEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Revert to current snapshot", - Summary: "Reverts the virtual machine to the current snapshot", - }, - Key: "VirtualMachine.revertToCurrentSnapshot", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove all snapshots", - Summary: "Remove all the snapshots associated with this virtual machine", - }, - Key: "VirtualMachine.removeAllSnapshots", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Consolidate virtual machine disk files", - Summary: "Consolidate disk files of this virtual machine", - }, - Key: "VirtualMachine.consolidateDisks", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Estimate virtual machine disks consolidation space requirement", - Summary: "Estimate the temporary space required to consolidate disk files.", - }, - Key: "VirtualMachine.estimateStorageRequirementForConsolidate", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigure virtual machine", - Summary: "Reconfigure this virtual machine", - }, - Key: "VirtualMachine.reconfigure", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Upgrade VM compatibility", - Summary: "Upgrade virtual machine compatibility to the latest version", - }, - Key: "VirtualMachine.upgradeVirtualHardware", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Extract OVF environment", - Summary: "Returns the XML document that represents the OVF environment", - }, - Key: "VirtualMachine.extractOvfEnvironment", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Power On virtual machine", - Summary: "Power On this virtual machine", - }, - Key: "VirtualMachine.powerOn", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Power Off virtual machine", - Summary: "Power Off this virtual machine", - }, - Key: "VirtualMachine.powerOff", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Suspend virtual machine", - Summary: "Suspend virtual machine", - }, - Key: "VirtualMachine.suspend", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reset virtual machine", - Summary: "Reset this virtual machine", - }, - Key: "VirtualMachine.reset", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Initiate guest OS shutdown", - Summary: "Issues a command to the guest operating system to perform a clean shutdown of all services", - }, - Key: "VirtualMachine.shutdownGuest", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Initiate guest OS reboot", - Summary: "Issues a command to the guest operating system asking it to perform a reboot", - }, - Key: "VirtualMachine.rebootGuest", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Initiate guest OS standby", - Summary: "Issues a command to the guest operating system to prepare for a suspend operation", - }, - Key: "VirtualMachine.standbyGuest", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Answer virtual machine question", - Summary: "Respond to a question that is blocking this virtual machine", - }, - Key: "VirtualMachine.answer", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Customize virtual machine guest OS", - Summary: "Customize a virtual machine's guest operating system", - }, - Key: "VirtualMachine.customize", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check customization specification", - Summary: "Check the customization specification against the virtual machine configuration", - }, - Key: "VirtualMachine.checkCustomizationSpec", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Migrate virtual machine", - Summary: "Migrate a virtual machine's execution to a specific resource pool or host", - }, - Key: "VirtualMachine.migrate", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Relocate virtual machine", - Summary: "Relocate the virtual machine to a specific location", - }, - Key: "VirtualMachine.relocate", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Clone virtual machine", - Summary: "Creates a clone of this virtual machine", - }, - Key: "VirtualMachine.clone", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "instantClone", - Summary: "instantClone", - }, - Key: "VirtualMachine.instantClone", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveInstantCloneChildren", - Summary: "retrieveInstantCloneChildren", - }, - Key: "VirtualMachine.retrieveInstantCloneChildren", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveInstantCloneParent", - Summary: "retrieveInstantCloneParent", - }, - Key: "VirtualMachine.retrieveInstantCloneParent", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "markAsInstantCloneParent", - Summary: "markAsInstantCloneParent", - }, - Key: "VirtualMachine.markAsInstantCloneParent", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "unmarkAsInstantCloneParent", - Summary: "unmarkAsInstantCloneParent", - }, - Key: "VirtualMachine.unmarkAsInstantCloneParent", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "createForkChild", - Summary: "createForkChild", - }, - Key: "VirtualMachine.createForkChild", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "enableForkParent", - Summary: "enableForkParent", - }, - Key: "VirtualMachine.enableForkParent", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "disableForkParent", - Summary: "disableForkParent", - }, - Key: "VirtualMachine.disableForkParent", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveForkChildren", - Summary: "retrieveForkChildren", - }, - Key: "VirtualMachine.retrieveForkChildren", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveForkParent", - Summary: "retrieveForkParent", - }, - Key: "VirtualMachine.retrieveForkParent", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Export OVF template", - Summary: "Exports the virtual machine as an OVF template", - }, - Key: "VirtualMachine.exportVm", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Mark virtual machine as template", - Summary: "Virtual machine is marked as a template", - }, - Key: "VirtualMachine.markAsTemplate", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Mark as virtual machine", - Summary: "Reassociate a virtual machine with a host or resource pool", - }, - Key: "VirtualMachine.markAsVirtualMachine", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Unregister virtual machine", - Summary: "Removes this virtual machine from the inventory without removing any of the virtual machine files on disk", - }, - Key: "VirtualMachine.unregister", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reset guest OS information", - Summary: "Clears cached guest OS information", - }, - Key: "VirtualMachine.resetGuestInformation", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Initiated VMware Tools Installer Mount", - Summary: "Mounts the tools CD installer as a CD-ROM for the guest", - }, - Key: "VirtualMachine.mountToolsInstaller", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Connect VMware Tools CD", - Summary: "Connects the VMware Tools CD image to the guest", - }, - Key: "VirtualMachine.mountToolsInstallerImage", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Unmount tools installer", - Summary: "Unmounts the tools installer", - }, - Key: "VirtualMachine.unmountToolsInstaller", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Initiated VMware Tools install or upgrade", - Summary: "Issues a command to the guest operating system to install VMware Tools or upgrade to the latest revision", - }, - Key: "VirtualMachine.upgradeTools", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Initiated VMware Tools upgrade", - Summary: "Upgrades VMware Tools in the virtual machine from specified CD image", - }, - Key: "VirtualMachine.upgradeToolsFromImage", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Acquire virtual machine Mouse Keyboard Screen Ticket", - Summary: "Establishing a Mouse Keyboard Screen Ticket", - }, - Key: "VirtualMachine.acquireMksTicket", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Acquire virtual machine service ticket", - Summary: "Establishing a specific remote virtual machine connection ticket", - }, - Key: "VirtualMachine.acquireTicket", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set console window screen resolution", - Summary: "Sets the console window's resolution as specified", - }, - Key: "VirtualMachine.setScreenResolution", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Defragment all disks", - Summary: "Defragment all virtual disks attached to this virtual machine", - }, - Key: "VirtualMachine.defragmentAllDisks", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Turn On Fault Tolerance", - Summary: "Secondary VM created", - }, - Key: "VirtualMachine.createSecondary", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Turn On Fault Tolerance", - Summary: "Creates a secondary VM", - }, - Key: "VirtualMachine.createSecondaryEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Turn Off Fault Tolerance", - Summary: "Remove all secondaries for this virtual machine and turn off Fault Tolerance", - }, - Key: "VirtualMachine.turnOffFaultTolerance", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Test failover", - Summary: "Test Fault Tolerance failover by making a Secondary VM in a Fault Tolerance pair the Primary VM", - }, - Key: "VirtualMachine.makePrimary", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Test restarting Secondary VM", - Summary: "Test restart Secondary VM by stopping a Secondary VM in the Fault Tolerance pair", - }, - Key: "VirtualMachine.terminateFaultTolerantVM", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Suspend Fault Tolerance", - Summary: "Suspend Fault Tolerance on this virtual machine", - }, - Key: "VirtualMachine.disableSecondary", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Resume Fault Tolerance", - Summary: "Resume Fault Tolerance on this virtual machine", - }, - Key: "VirtualMachine.enableSecondary", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set virtual machine display topology", - Summary: "Set the display topology for the virtual machine", - }, - Key: "VirtualMachine.setDisplayTopology", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Start recording", - Summary: "Start a recording session on this virtual machine", - }, - Key: "VirtualMachine.startRecording", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Stop recording", - Summary: "Stop a currently active recording session on this virtual machine", - }, - Key: "VirtualMachine.stopRecording", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Start replaying", - Summary: "Start a replay session on this virtual machine", - }, - Key: "VirtualMachine.startReplaying", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Stop replaying", - Summary: "Stop a replay session on this virtual machine", - }, - Key: "VirtualMachine.stopReplaying", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Promote virtual machine disks", - Summary: "Promote disks of the virtual machine that have delta disk backings", - }, - Key: "VirtualMachine.promoteDisks", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Take virtual machine screenshot", - Summary: "Take a screenshot of a virtual machine's guest OS console", - }, - Key: "VirtualMachine.createScreenshot", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Put USB HID scan codes", - Summary: "Injects a sequence of USB HID scan codes into the keyboard", - }, - Key: "VirtualMachine.putUsbScanCodes", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query virtual machine disk changes", - Summary: "Query for changes to the virtual machine's disks since a given point in the past", - }, - Key: "VirtualMachine.queryChangedDiskAreas", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query unowned virtual machine files", - Summary: "Query files of the virtual machine not owned by the datastore principal user", - }, - Key: "VirtualMachine.queryUnownedFiles", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reload virtual machine from new configuration", - Summary: "Reloads the virtual machine from a new configuration file", - }, - Key: "VirtualMachine.reloadFromPath", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query Virtual Machine Fault Tolerance Compatibility", - Summary: "Check if virtual machine is compatible for Fault Tolerance", - }, - Key: "VirtualMachine.queryFaultToleranceCompatibility", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryFaultToleranceCompatibilityEx", - Summary: "queryFaultToleranceCompatibilityEx", - }, - Key: "VirtualMachine.queryFaultToleranceCompatibilityEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Suspend and resume the virtual machine", - Summary: "Suspend and resume the virtual machine", - }, - Key: "VirtualMachine.invokeFSR", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Hard stop virtual machine", - Summary: "Hard stop virtual machine", - }, - Key: "VirtualMachine.terminate", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get native clone capability", - Summary: "Check if native clone is supported on the virtual machine", - }, - Key: "VirtualMachine.isNativeSnapshotCapable", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Configure quorum file path prefix", - Summary: "Configures the quorum file path prefix for the virtual machine", - }, - Key: "VirtualMachine.configureQuorumFilePathPrefix", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Retrieve quorum file path prefix", - Summary: "Retrieves the quorum file path prefix for the virtual machine", - }, - Key: "VirtualMachine.retrieveQuorumFilePathPrefix", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Inject OVF Environment into virtual machine", - Summary: "Specifies the OVF Environments to be injected into and returned for a virtual machine", - }, - Key: "VirtualMachine.injectOvfEnvironment", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Wipe a Flex-SE virtual disk", - Summary: "Wipes a Flex-SE virtual disk", - }, - Key: "VirtualMachine.wipeDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Shrink a Flex-SE virtual disk", - Summary: "Shrinks a Flex-SE virtual disk", - }, - Key: "VirtualMachine.shrinkDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Send NMI", - Summary: "Sends a non-maskable interrupt (NMI) to the virtual machine", - }, - Key: "VirtualMachine.sendNMI", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reload virtual machine", - Summary: "Reloads the virtual machine", - }, - Key: "VirtualMachine.reloadEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Attach a virtual disk", - Summary: "Attach an existing virtual disk to the virtual machine", - }, - Key: "VirtualMachine.attachDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Detach a virtual disk", - Summary: "Detach a virtual disk from the virtual machine", - }, - Key: "VirtualMachine.detachDisk", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Apply EVC Mode", - Summary: "Apply EVC Mode to a virtual machine", - }, - Key: "VirtualMachine.applyEvcMode", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set datacenter custom value", - Summary: "Sets the value of a custom field of a datacenter", - }, - Key: "Datacenter.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reload datacenter", - Summary: "Reloads the datacenter", - }, - Key: "Datacenter.reload", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rename datacenter", - Summary: "Rename the datacenter", - }, - Key: "Datacenter.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove datacenter", - Summary: "Deletes the datacenter and removes it from its parent folder (if any)", - }, - Key: "Datacenter.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add tag", - Summary: "Add a set of tags to the datacenter", - }, - Key: "Datacenter.addTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove tag", - Summary: "Remove a set of tags from the datacenter", - }, - Key: "Datacenter.removeTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveCustomValues", - Summary: "retrieveCustomValues", - }, - Key: "Datacenter.retrieveCustomValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query connection information", - Summary: "Gets information of a host that can be used in the connection wizard", - }, - Key: "Datacenter.queryConnectionInfo", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "queryConnectionInfoViaSpec", - Summary: "queryConnectionInfoViaSpec", - }, - Key: "Datacenter.queryConnectionInfoViaSpec", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Initialize powering On", - Summary: "Initialize tasks for powering on virtual machines", - }, - Key: "Datacenter.powerOnVm", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Query configuration option descriptor", - Summary: "Retrieve the list of configuration option keys available in this datacenter", - }, - Key: "Datacenter.queryConfigOptionDescriptor", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigure datacenter", - Summary: "Reconfigures the datacenter", - }, - Key: "Datacenter.reconfigure", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set folder custom value", - Summary: "Sets the value of a custom field of a folder", - }, - Key: "Folder.setCustomValue", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reload folder", - Summary: "Reloads the folder", - }, - Key: "Folder.reload", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rename folder", - Summary: "Rename the folder", - }, - Key: "Folder.rename", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete folder", - Summary: "Delete this object, deleting its contents and removing it from its parent folder (if any)", - }, - Key: "Folder.destroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add tag", - Summary: "Add a set of tags to the folder", - }, - Key: "Folder.addTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove tag", - Summary: "Remove a set of tags from the folder", - }, - Key: "Folder.removeTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "retrieveCustomValues", - Summary: "retrieveCustomValues", - }, - Key: "Folder.retrieveCustomValues", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create folder", - Summary: "Creates a new folder", - }, - Key: "Folder.createFolder", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Move entities", - Summary: "Moves a set of managed entities into this folder", - }, - Key: "Folder.moveInto", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create virtual machine", - Summary: "Create a new virtual machine", - }, - Key: "Folder.createVm", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Register virtual machine", - Summary: "Adds an existing virtual machine to the folder", - }, - Key: "Folder.registerVm", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create cluster", - Summary: "Create a new cluster compute-resource in this folder", - }, - Key: "Folder.createCluster", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create cluster", - Summary: "Create a new cluster compute-resource in this folder", - }, - Key: "Folder.createClusterEx", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add standalone host", - Summary: "Create a new single-host compute-resource", - }, - Key: "Folder.addStandaloneHost", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add standalone host and enable lockdown", - Summary: "Create a new single-host compute-resource and enable lockdown mode on the host", - }, - Key: "Folder.addStandaloneHostWithAdminDisabled", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create datacenter", - Summary: "Create a new datacenter with the given name", - }, - Key: "Folder.createDatacenter", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Unregister and Delete", - Summary: "Recursively deletes all child virtual machine folders and unregisters all virtual machines", - }, - Key: "Folder.unregisterAndDestroy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create a vSphere Distributed Switch", - Summary: "Create a vSphere Distributed Switch", - }, - Key: "Folder.createDistributedVirtualSwitch", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create a datastore cluster", - Summary: "Create a datastore cluster", - }, - Key: "Folder.createStoragePod", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Get boot devices", - Summary: "Get available boot devices for the host system", - }, - Key: "host.BootDeviceSystem.queryBootDevices", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update boot device", - Summary: "Update the boot device on the host system", - }, - Key: "host.BootDeviceSystem.updateBootDevice", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Configuring vSphere HA", - Summary: "Configuring vSphere HA", - }, - Key: "DasConfig.ConfigureHost", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Unconfiguring vSphere HA", - Summary: "Unconfiguring vSphere HA", - }, - Key: "DasConfig.UnconfigureHost", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Migrate virtual machine", - Summary: "Migrates a virtual machine from one host to another", - }, - Key: "Drm.ExecuteVMotionLRO", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Power On virtual machine", - Summary: "Power on this virtual machine", - }, - Key: "Drm.ExecuteVmPowerOnLRO", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Enter standby mode", - Summary: "Puts this host into standby mode", - }, - Key: "Drm.EnterStandbyLRO", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Exit standby mode", - Summary: "Brings this host out of standby mode", - }, - Key: "Drm.ExitStandbyLRO", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Power On virtual machine", - Summary: "Power On this virtual machine", - }, - Key: "Datacenter.ExecuteVmPowerOnLRO", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Upgrade vCenter Agent", - Summary: "Upgrade the vCenter Agent", - }, - Key: "Upgrade.UpgradeAgent", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Upgrade vCenter Agents on cluster hosts", - Summary: "Upgrade the vCenter Agents on all cluster hosts", - }, - Key: "ClusterUpgrade.UpgradeAgent", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Deploy OVF template", - Summary: "Deploys a virtual machine or vApp", - }, - Key: "ResourcePool.ImportVAppLRO", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set cluster suspended state", - Summary: "Set suspended state of the cluster", - }, - Key: "ClusterComputeResource.setSuspendedState", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Export OVF template", - Summary: "Exports the virtual machine as an OVF template", - }, - Key: "VirtualMachine.ExportVmLRO", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Export OVF template", - Summary: "Exports the vApp as an OVF template", - }, - Key: "VirtualApp.ExportVAppLRO", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Start Fault Tolerance Secondary VM", - Summary: "Start Secondary VM as the Primary VM is powered on", - }, - Key: "FaultTolerance.PowerOnSecondaryLRO", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Execute Storage vMotion for Storage DRS", - Summary: "Execute Storage vMotion migrations for Storage DRS", - }, - Key: "Drm.ExecuteStorageVmotionLro", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Apply recommendations for SDRS maintenance mode", - Summary: "Apply recommendations to enter into SDRS maintenance mode", - }, - Key: "Drm.ExecuteMaintenanceRecommendationsLro", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Enter SDRS maintenance mode monitor task", - Summary: "Task that monitors the SDRS maintenance mode activity", - }, - Key: "Drm.TrackEnterMaintenanceLro", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "ResetSensor", - Summary: "ResetSensor", - }, - Key: "com.vmware.hardwarehealth.ResetSensor", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "ResetSelLog", - Summary: "ResetSelLog", - }, - Key: "com.vmware.hardwarehealth.ResetSelLog", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "RefreshHost", - Summary: "RefreshHost", - }, - Key: "com.vmware.hardwarehealth.RefreshHost", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "install", - Summary: "install", - }, - Key: "eam.agent.install", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "uninstall", - Summary: "uninstall", - }, - Key: "eam.agent.uninstall", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "upgrade", - Summary: "upgrade", - }, - Key: "eam.agent.upgrade", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Bulk Remediation", - Summary: "Remediating hosts in bulk", - }, - Key: "com.vmware.rbd.bulkRemediateMapping", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create Rule", - Summary: "Creating rule in Auto Deploy server", - }, - Key: "com.vmware.rbd.CreateRuleWithTransform", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Apply Image Profile", - Summary: "Applying Image profile to a host", - }, - Key: "com.vmware.rbd.ApplyImageProfile", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Edit Rule", - Summary: "Editing Auto Deploy rule", - }, - Key: "com.vmware.rbd.UpdateSpecWithTransform", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Repair Cache", - Summary: "Repairing Deploy cache in Auto Deploy server", - }, - Key: "com.vmware.rbd.RepairDeployCache", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Bulk Compliance Check", - Summary: "Compliance checking hosts in bulk", - }, - Key: "com.vmware.rbd.bulkMappingComplianceCheck", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Mount an ISO Library Item as a Virtual CD-ROM", - Summary: "Mount", - }, - Key: "com.vmware.vcenter.iso.Image.Mount", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Unmount a Virtual CD-ROM mounted with ISO backing", - Summary: "Unmount", - }, - Key: "com.vmware.vcenter.iso.Image.Unmount", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Import OVF package", - Summary: "Create", - }, - Key: "com.vmware.ovfs.ImportSession.Create", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Export OVF package", - Summary: "Create", - }, - Key: "com.vmware.ovfs.ExportSession.Create", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Deploy OVF package from Content Library to Resource Pool", - Summary: "instantiate", - }, - Key: "com.vmware.ovfs.LibraryItem.instantiate", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Clone to OVF package in Content Library from Virtual Machine or Virtual Appliance", - Summary: "capture", - }, - Key: "com.vmware.ovfs.LibraryItem.capture", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Parse OVF package in Content Library", - Summary: "parse", - }, - Key: "com.vmware.ovfs.LibraryItem.parse", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Scrub Database after Restore", - Summary: "Scrub", - }, - Key: "com.vmware.content.Scrub", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create Library", - Summary: "Create", - }, - Key: "com.vmware.content.Library.Create", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update Library", - Summary: "Update", - }, - Key: "com.vmware.content.Library.Update", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete Library", - Summary: "Delete", - }, - Key: "com.vmware.content.Library.Delete", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete Library Content", - Summary: "DeleteContent", - }, - Key: "com.vmware.content.Library.DeleteContent", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Sync Library", - Summary: "Sync", - }, - Key: "com.vmware.content.Library.Sync", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Validate Library Content against the Storage Backing After Restore", - Summary: "Scrub", - }, - Key: "com.vmware.content.Library.Scrub", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create Library Item", - Summary: "Create", - }, - Key: "com.vmware.content.LibraryItem.Create", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update Library Item", - Summary: "Update", - }, - Key: "com.vmware.content.LibraryItem.Update", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update Library Item Backing", - Summary: "UpdateBackings", - }, - Key: "com.vmware.content.LibraryItem.UpdateBackings", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete Library Item", - Summary: "Delete", - }, - Key: "com.vmware.content.LibraryItem.Delete", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Delete Library Item Content", - Summary: "DeleteContent", - }, - Key: "com.vmware.content.LibraryItem.DeleteContent", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "DeleteFileContent", - Summary: "DeleteFileContent", - }, - Key: "com.vmware.content.LibraryItem.DeleteFileContent", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Upload Files to a Library Item", - Summary: "UploadContent", - }, - Key: "com.vmware.content.LibraryItem.UploadContent", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Fetch Content of a Library Item", - Summary: "FetchContent", - }, - Key: "com.vmware.content.LibraryItem.FetchContent", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Copy Library Item", - Summary: "Copy", - }, - Key: "com.vmware.content.LibraryItem.Copy", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Sync Library Item", - Summary: "Sync", - }, - Key: "com.vmware.content.LibraryItem.Sync", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Waiting For Upload", - Summary: "WaitForUpload", - }, - Key: "com.vmware.content.LibraryItem.WaitForUpload", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Setting Library Item Tag", - Summary: "SetTag", - }, - Key: "com.vmware.content.LibraryItem.SetTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Removing Library Item Tag", - Summary: "RemoveTag", - }, - Key: "com.vmware.content.LibraryItem.RemoveTag", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Install vSAN iSCSI target service", - Summary: "Install vSAN iSCSI target service", - }, - Key: "com.vmware.vsan.iscsi.tasks.installVibTask", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create Home Object and set vSAN iSCSI target service", - Summary: "Create Home Object and set vSAN iSCSI target service", - }, - Key: "com.vmware.vsan.iscsi.tasks.settingTask", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Enable vSAN iSCSI target service in cluster", - Summary: "Enable vSAN iSCSI target service in cluster", - }, - Key: "com.vmware.vsan.iscsi.tasks.enable", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Edit vSAN iSCSI target service in cluster", - Summary: "Edit vSAN iSCSI target service in cluster", - }, - Key: "com.vmware.vsan.iscsi.tasks.edit", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add a new iSCSI target", - Summary: "Add a new iSCSI target", - }, - Key: "com.vmware.vsan.iscsi.tasks.addTarget", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Edit the iSCSI target", - Summary: "Edit the iSCSI target", - }, - Key: "com.vmware.vsan.iscsi.tasks.editTarget", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove the iSCSI target", - Summary: "Remove the iSCSI target", - }, - Key: "com.vmware.vsan.iscsi.tasks.removeTarget", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add a new iSCSI LUN", - Summary: "Add a new iSCSI LUN", - }, - Key: "com.vmware.vsan.iscsi.tasks.addLUN", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Edit the iSCSI LUN", - Summary: "Edit the iSCSI LUN", - }, - Key: "com.vmware.vsan.iscsi.tasks.editLUN", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove the iSCSI LUN", - Summary: "Remove the iSCSI LUN", - }, - Key: "com.vmware.vsan.iscsi.tasks.removeLUN", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "VMDK Load Test", - Summary: "VMDK Load Test", - }, - Key: "com.vmware.vsan.health.tasks.runvmdkloadtest", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Install vSAN health ESX extension", - Summary: "Install vSAN health ESX extension", - }, - Key: "com.vmware.vsan.health.tasks.health.preparecluster", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Uninstall vSAN health ESX extension", - Summary: "Uninstall vSAN health ESX extension", - }, - Key: "com.vmware.vsan.health.tasks.health.uninstallcluster", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Install vSAN sizing ESX extension", - Summary: "Install vSAN sizing ESX extension", - }, - Key: "com.vmware.vsan.health.tasks.sizing.preparecluster", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Uninstall vSAN sizing ESX extension", - Summary: "Uninstall vSAN sizing ESX extension", - }, - Key: "com.vmware.vsan.health.tasks.sizing.uninstallcluster", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "preparecluster", - Summary: "preparecluster", - }, - Key: "com.vmware.vsan.health.tasks.perfsvc.preparecluster", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "uninstallcluster", - Summary: "uninstallcluster", - }, - Key: "com.vmware.vsan.health.tasks.perfsvc.uninstallcluster", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Fix vSAN Cluster Object Immediately", - Summary: "Fix vSAN Cluster Object Immediately", - }, - Key: "com.vmware.vsan.health.tasks.repairclusterobjects", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Rebalance vSAN Cluster", - Summary: "Rebalance vSAN Cluster", - }, - Key: "com.vmware.vsan.health.tasks.rebalancecluster", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Stop Rebalance vSAN Cluster", - Summary: "Stop Rebalance vSAN Cluster", - }, - Key: "com.vmware.vsan.health.tasks.stoprebalancecluster", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Upgrade vSAN disk format", - Summary: "Upgrade vSAN disk format", - }, - Key: "com.vmware.vsan.health.tasks.upgrade", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Attach vSAN support bundle to SR", - Summary: "Attach vSAN support bundle to SR", - }, - Key: "com.vmware.vsan.health.tasks.attachtosr", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Attach vSAN support bundle to PR", - Summary: "Attach vSAN support bundle to PR", - }, - Key: "com.vmware.vsan.health.tasks.attachtopr", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Download file from URL", - Summary: "Download file from URL", - }, - Key: "com.vmware.vsan.health.tasks.downloadfromurl", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Online check of vSAN health", - Summary: "Online check of vSAN health", - }, - Key: "com.vmware.vsan.health.tasks.performonlinehealthcheck", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remediate vSAN cluster", - Summary: "Remediate vSAN cluster", - }, - Key: "com.vmware.vsan.clustermgmt.tasks.remediatevsancluster", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remediate vSAN configurations", - Summary: "Remediate vSAN configurations", - }, - Key: "com.vmware.vsan.clustermgmt.tasks.remediatevc", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Enable vSAN performance service", - Summary: "Enable vSAN performance service", - }, - Key: "com.vmware.vsan.perfsvc.tasks.createstatsdb", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Disable vSAN performance service", - Summary: "Disable vSAN performance service", - }, - Key: "com.vmware.vsan.perfsvc.tasks.deletestatsdb", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Gathering data for performance diagnosis", - Summary: "Gathering data for performance diagnosis", - }, - Key: "com.vmware.vsan.perfsvc.tasks.runqueryfordiagnosis", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "vSAN: Update Software/Driver/Firmware", - Summary: "vSAN: Update Software/Driver/Firmware", - }, - Key: "com.vmware.vsan.patch.tasks.patch", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "vSAN: Migrate VSS to VDS", - Summary: "vSAN: Migrate VSS to VDS", - }, - Key: "com.vmware.vsan.vds.tasks.migratevss", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Create disk group on vSAN", - Summary: "Create disk group on vSAN", - }, - Key: "com.vmware.vsan.diskmgmt.tasks.initializediskmappings", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Add witness host", - Summary: "Add witness host to a stretched cluster", - }, - Key: "com.vmware.vsan.stretchedcluster.tasks.addwitnesshost", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Replace witness host", - Summary: "Replace witness host for a stretched cluster", - }, - Key: "com.vmware.vsan.stretchedcluster.tasks.replacewitnesshost", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remove witness host", - Summary: "Remove witness host from a stretched cluster", - }, - Key: "com.vmware.vsan.stretchedcluster.tasks.removewitnesshost", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Convert to a stretched cluster", - Summary: "Convert the given configuration to a stretched cluster", - }, - Key: "com.vmware.vsan.stretchedcluster.tasks.convert2stretchedcluster", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Set preferred fault domain", - Summary: "Set preferred fault domain for a stretched cluster", - }, - Key: "com.vmware.vsan.stretchedcluster.tasks.setpreferredfaultdomain", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Convert disk format for vSAN", - Summary: "Convert disk format for vSAN", - }, - Key: "com.vmware.vsan.diskconvertion.tasks.conversion", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Reconfigure vSAN cluster", - Summary: "Reconfigure vSAN cluster", - }, - Key: "com.vmware.vsan.clustermgmt.tasks.reconfigurecluster", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Regenerate new keys for encrypted vSAN cluster", - Summary: "Regenerate new keys for encrypted vSAN cluster", - }, - Key: "com.vmware.vsan.clustermgmt.tasks.rekey", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "vSAN operation precheck", - Summary: "vSAN operation precheck", - }, - Key: "com.vmware.vsan.clustermgmt.tasks.precheck", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Update vSAN configuration", - Summary: "Updates the vSAN configuration for this host", - }, - Key: "com.vmware.vsan.vsansystem.tasks.update", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Scan vSAN Objects", - Summary: "Scan vSAN Objects for issues", - }, - Key: "com.vmware.vsan.diskmgmt.tasks.objectscan", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Perform Convert disk format precheck", - Summary: "Perform Convert disk format precheck for issues that could be encountered", - }, - Key: "com.vmware.vsan.diskconvertion.tasks.precheck", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Perform compliance resource check task", - Summary: "Perform compliance resource check task", - }, - Key: "com.vmware.vsan.prechecker.tasks.complianceresourcecheck", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Download patch definitions", - Summary: "Download patch definitions", - }, - Key: "com.vmware.vcIntegrity.SigUpdateTask", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Check new notifications", - Summary: "Check new notifications", - }, - Key: "com.vmware.vcIntegrity.CheckNotificationTask", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Scan entity", - Summary: "Scan an entity", - }, - Key: "com.vmware.vcIntegrity.ScanTask", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remediate entity", - Summary: "Remediate an entity", - }, - Key: "com.vmware.vcIntegrity.RemediateTask", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Stage patches to entity", - Summary: "Stage patches to an entity", - }, - Key: "com.vmware.vcIntegrity.StageTask", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Discover virtual appliance", - Summary: "Discover virtual appliance", - }, - Key: "com.vmware.vcIntegrity.VaDiscoveryTask", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Detect Update Manager Guest Agent", - Summary: "Detect Update Manager Guest Agent installation on Linux VMs", - }, - Key: "com.vmware.vcIntegrity.DetectLinuxGATask", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Cancel detecting Update Manager GuestAgent", - Summary: "Cancel detecting Update Manager GuestAgent installation on Linux VMs", - }, - Key: "com.vmware.vcIntegrity.CancelDetectLinuxGATask", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Cancel download of patch definitions", - Summary: "Cancel download of patch definitions", - }, - Key: "com.vmware.vcIntegrity.CancelSigUpdateTask", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Cancel scanning entity", - Summary: "Cancel scanning an entity", - }, - Key: "com.vmware.vcIntegrity.CancelScanTask", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Cancel remediating entity", - Summary: "Cancel remediating an entity", - }, - Key: "com.vmware.vcIntegrity.CancelRemediateTask", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Cancel discovering virtual appliance", - Summary: "Cancel discovering a virtual appliance", - }, - Key: "com.vmware.vcIntegrity.CancelVaDiscoveryTask", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Configure VMware Tools upgrade setting", - Summary: "Configure VMware Tools upgrade setting", - }, - Key: "com.vmware.vcIntegrity.ConfigureToolsUpgradeTask", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Import ESXi image", - Summary: "Import ESXi image", - }, - Key: "com.vmware.vcIntegrity.ImportRelease", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Upload offline patches", - Summary: "Upload offline patches", - }, - Key: "com.vmware.vcIntegrity.DownloadOfflinePatchTask", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Confirm importing offline patches", - Summary: "Confirm importing offline host patches", - }, - Key: "com.vmware.vcIntegrity.ConfirmOfflinePatchTask", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Cancel importing offline patches", - Summary: "Cancel importing offline host patches", - }, - Key: "com.vmware.vcIntegrity.CancelOfflinePatchTask", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Remediation pre-check", - Summary: "Remediation pre-check", - }, - Key: "com.vmware.vcIntegrity.RemediatePrecheckTask", - }, - }, - State: []types.BaseElementDescription{ - &types.ElementDescription{ - Description: types.Description{ - Label: "Queued", - Summary: "Task is queued", - }, - Key: "queued", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Running", - Summary: "Task is in progress", - }, - Key: "running", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Success", - Summary: "Task completed successfully", - }, - Key: "success", - }, - &types.ElementDescription{ - Description: types.Description{ - Label: "Error", - Summary: "Task completed with a failure", - }, - Key: "error", - }, - }, - Reason: []types.BaseTypeDescription{ - &types.TypeDescription{ - Description: types.Description{ - Label: "Scheduled task", - Summary: "Task started by a scheduled task", - }, - Key: "TaskReasonSchedule", - }, - &types.TypeDescription{ - Description: types.Description{ - Label: "User task", - Summary: "Task started by a specific user", - }, - Key: "TaskReasonUser", - }, - &types.TypeDescription{ - Description: types.Description{ - Label: "System task", - Summary: "Task started by the server", - }, - Key: "TaskReasonSystem", - }, - &types.TypeDescription{ - Description: types.Description{ - Label: "Alarm task", - Summary: "Task started by an alarm", - }, - Key: "TaskReasonAlarm", - }, - }, -} diff --git a/vendor/github.com/vmware/govmomi/simulator/vstorage_object_manager.go b/vendor/github.com/vmware/govmomi/simulator/vstorage_object_manager.go deleted file mode 100644 index 5dc138e0179..00000000000 --- a/vendor/github.com/vmware/govmomi/simulator/vstorage_object_manager.go +++ /dev/null @@ -1,469 +0,0 @@ -/* -Copyright (c) 2018 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "log" - "net/url" - "os" - "path/filepath" - "strings" - "time" - - "github.com/google/uuid" - - "github.com/vmware/govmomi/object" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -type VStorageObject struct { - types.VStorageObject - types.VStorageObjectSnapshotInfo -} - -type VcenterVStorageObjectManager struct { - mo.VcenterVStorageObjectManager - - objects map[types.ManagedObjectReference]map[types.ID]*VStorageObject -} - -func (m *VcenterVStorageObjectManager) init(*Registry) { - m.objects = make(map[types.ManagedObjectReference]map[types.ID]*VStorageObject) -} - -func (m *VcenterVStorageObjectManager) object(ds types.ManagedObjectReference, id types.ID) *VStorageObject { - if objects, ok := m.objects[ds]; ok { - return objects[id] - } - return nil -} - -func (m *VcenterVStorageObjectManager) ListVStorageObject(req *types.ListVStorageObject) soap.HasFault { - body := &methods.ListVStorageObjectBody{ - Res: &types.ListVStorageObjectResponse{}, - } - - if objects, ok := m.objects[req.Datastore]; ok { - for id := range objects { - body.Res.Returnval = append(body.Res.Returnval, id) - } - } - - return body -} - -func (m *VcenterVStorageObjectManager) RetrieveVStorageObject(ctx *Context, req *types.RetrieveVStorageObject) soap.HasFault { - body := new(methods.RetrieveVStorageObjectBody) - - obj := m.object(req.Datastore, req.Id) - if obj == nil { - body.Fault_ = Fault("", new(types.NotFound)) - } else { - stat := m.statDatastoreBacking(ctx, req.Datastore, &req.Id) - if err := stat[req.Id]; err != nil { - body.Fault_ = Fault(err.Error(), new(types.NotFound)) - return body - } - body.Res = &types.RetrieveVStorageObjectResponse{ - Returnval: obj.VStorageObject, - } - } - - return body -} - -// statDatastoreBacking checks if object(s) backing file exists on the given datastore ref. -func (m *VcenterVStorageObjectManager) statDatastoreBacking(ctx *Context, ref types.ManagedObjectReference, id *types.ID) map[types.ID]error { - objs := m.objects[ref] // default to checking all objects - if id != nil { - // check for a specific object - objs = map[types.ID]*VStorageObject{ - *id: objs[*id], - } - } - res := make(map[types.ID]error, len(objs)) - ds := ctx.Map.Get(ref).(*Datastore) - dc := ctx.Map.getEntityDatacenter(ds) - fm := ctx.Map.FileManager() - - for _, obj := range objs { - backing := obj.Config.Backing.(*types.BaseConfigInfoDiskFileBackingInfo) - file, _ := fm.resolve(&dc.Self, backing.FilePath) - _, res[obj.Config.Id] = os.Stat(file) - } - - return res -} - -func (m *VcenterVStorageObjectManager) ReconcileDatastoreInventoryTask(ctx *Context, req *types.ReconcileDatastoreInventory_Task) soap.HasFault { - task := CreateTask(m, "reconcileDatastoreInventory", func(*Task) (types.AnyType, types.BaseMethodFault) { - objs := m.objects[req.Datastore] - stat := m.statDatastoreBacking(ctx, req.Datastore, nil) - - for id, err := range stat { - if os.IsNotExist(err) { - log.Printf("removing disk %s from inventory: %s", id.Id, err) - delete(objs, id) - } - } - - return nil, nil - }) - - return &methods.ReconcileDatastoreInventory_TaskBody{ - Res: &types.ReconcileDatastoreInventory_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} - -func (m *VcenterVStorageObjectManager) RegisterDisk(ctx *Context, req *types.RegisterDisk) soap.HasFault { - body := new(methods.RegisterDiskBody) - - invalid := func() soap.HasFault { - body.Fault_ = Fault("", &types.InvalidArgument{InvalidProperty: "path"}) - return body - } - - u, err := url.Parse(req.Path) - if err != nil { - return invalid() - } - u.Path = strings.TrimPrefix(u.Path, folderPrefix) - - ds, err := ctx.svc.findDatastore(u.Query()) - if err != nil { - return invalid() - } - - st, err := os.Stat(filepath.Join(ds.Info.GetDatastoreInfo().Url, u.Path)) - if err != nil { - return invalid() - - } - if st.IsDir() { - return invalid() - } - - path := (&object.DatastorePath{Datastore: ds.Name, Path: u.Path}).String() - - for _, obj := range m.objects[ds.Self] { - backing := obj.Config.Backing.(*types.BaseConfigInfoDiskFileBackingInfo) - if backing.FilePath == path { - return invalid() - } - } - - creq := &types.CreateDisk_Task{ - Spec: types.VslmCreateSpec{ - Name: req.Name, - BackingSpec: &types.VslmCreateSpecDiskFileBackingSpec{ - VslmCreateSpecBackingSpec: types.VslmCreateSpecBackingSpec{ - Datastore: ds.Self, - Path: u.Path, - }, - }, - }, - } - - obj, fault := m.createObject(creq, true) - if fault != nil { - body.Fault_ = Fault("", fault) - return body - } - - body.Res = &types.RegisterDiskResponse{ - Returnval: *obj, - } - - return body -} - -func (m *VcenterVStorageObjectManager) createObject(req *types.CreateDisk_Task, register bool) (*types.VStorageObject, types.BaseMethodFault) { - dir := "fcd" - ref := req.Spec.BackingSpec.GetVslmCreateSpecBackingSpec().Datastore - ds := Map.Get(ref).(*Datastore) - dc := Map.getEntityDatacenter(ds) - - objects, ok := m.objects[ds.Self] - if !ok { - objects = make(map[types.ID]*VStorageObject) - m.objects[ds.Self] = objects - _ = os.Mkdir(filepath.Join(ds.Info.GetDatastoreInfo().Url, dir), 0750) - } - - id := uuid.New().String() - obj := types.VStorageObject{ - Config: types.VStorageObjectConfigInfo{ - BaseConfigInfo: types.BaseConfigInfo{ - Id: types.ID{ - Id: id, - }, - Name: req.Spec.Name, - CreateTime: time.Now(), - KeepAfterDeleteVm: req.Spec.KeepAfterDeleteVm, - RelocationDisabled: types.NewBool(false), - NativeSnapshotSupported: types.NewBool(false), - ChangedBlockTrackingEnabled: types.NewBool(false), - Iofilter: nil, - }, - CapacityInMB: req.Spec.CapacityInMB, - ConsumptionType: []string{"disk"}, - ConsumerId: nil, - }, - } - - backing := req.Spec.BackingSpec.(*types.VslmCreateSpecDiskFileBackingSpec) - path := object.DatastorePath{ - Datastore: ds.Name, - Path: backing.Path, - } - if path.Path == "" { - path.Path = dir + "/" + id + ".vmdk" - } - - if !register { - err := vdmCreateVirtualDisk(types.VirtualDeviceConfigSpecFileOperationCreate, &types.CreateVirtualDisk_Task{ - Datacenter: &dc.Self, - Name: path.String(), - }) - if err != nil { - return nil, err - } - } - - obj.Config.Backing = &types.BaseConfigInfoDiskFileBackingInfo{ - BaseConfigInfoFileBackingInfo: types.BaseConfigInfoFileBackingInfo{ - BaseConfigInfoBackingInfo: types.BaseConfigInfoBackingInfo{ - Datastore: ds.Self, - }, - FilePath: path.String(), - BackingObjectId: uuid.New().String(), - Parent: nil, - DeltaSizeInMB: 0, - }, - ProvisioningType: backing.ProvisioningType, - } - - objects[obj.Config.Id] = &VStorageObject{VStorageObject: obj} - - return &obj, nil - -} - -func (m *VcenterVStorageObjectManager) CreateDiskTask(ctx *Context, req *types.CreateDisk_Task) soap.HasFault { - task := CreateTask(m, "createDisk", func(*Task) (types.AnyType, types.BaseMethodFault) { - return m.createObject(req, false) - }) - - return &methods.CreateDisk_TaskBody{ - Res: &types.CreateDisk_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} - -func (m *VcenterVStorageObjectManager) DeleteVStorageObjectTask(ctx *Context, req *types.DeleteVStorageObject_Task) soap.HasFault { - task := CreateTask(m, "deleteDisk", func(*Task) (types.AnyType, types.BaseMethodFault) { - obj := m.object(req.Datastore, req.Id) - if obj == nil { - return nil, &types.InvalidArgument{} - } - - backing := obj.Config.Backing.(*types.BaseConfigInfoDiskFileBackingInfo) - ds := ctx.Map.Get(req.Datastore).(*Datastore) - dc := ctx.Map.getEntityDatacenter(ds) - dm := ctx.Map.VirtualDiskManager() - dm.DeleteVirtualDiskTask(ctx, &types.DeleteVirtualDisk_Task{ - Name: backing.FilePath, - Datacenter: &dc.Self, - }) - - delete(m.objects[req.Datastore], req.Id) - - return nil, nil - }) - - return &methods.DeleteVStorageObject_TaskBody{ - Res: &types.DeleteVStorageObject_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} - -func (m *VcenterVStorageObjectManager) RetrieveSnapshotInfo(req *types.RetrieveSnapshotInfo) soap.HasFault { - body := new(methods.RetrieveSnapshotInfoBody) - - obj := m.object(req.Datastore, req.Id) - if obj == nil { - body.Fault_ = Fault("", new(types.InvalidArgument)) - } else { - body.Res = &types.RetrieveSnapshotInfoResponse{ - Returnval: obj.VStorageObjectSnapshotInfo, - } - } - - return body -} - -func (m *VcenterVStorageObjectManager) VStorageObjectCreateSnapshotTask(ctx *Context, req *types.VStorageObjectCreateSnapshot_Task) soap.HasFault { - task := CreateTask(m, "createSnapshot", func(*Task) (types.AnyType, types.BaseMethodFault) { - obj := m.object(req.Datastore, req.Id) - if obj == nil { - return nil, new(types.InvalidArgument) - } - - snapshot := types.VStorageObjectSnapshotInfoVStorageObjectSnapshot{ - Id: &types.ID{ - Id: uuid.New().String(), - }, - BackingObjectId: uuid.New().String(), - CreateTime: time.Now(), - Description: req.Description, - } - obj.Snapshots = append(obj.Snapshots, snapshot) - - return snapshot.Id, nil - }) - - return &methods.VStorageObjectCreateSnapshot_TaskBody{ - Res: &types.VStorageObjectCreateSnapshot_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} - -func (m *VcenterVStorageObjectManager) ExtendDiskTask(ctx *Context, req *types.ExtendDisk_Task) soap.HasFault { - task := CreateTask(m, "extendDisk", func(*Task) (types.AnyType, types.BaseMethodFault) { - obj := m.object(req.Datastore, req.Id) - if obj == nil { - return nil, new(types.InvalidArgument) - } - - obj.Config.CapacityInMB = req.NewCapacityInMB - return nil, nil - }) - return &methods.ExtendDisk_TaskBody{ - Res: &types.ExtendDisk_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} - -func (m *VcenterVStorageObjectManager) DeleteSnapshotTask(ctx *Context, req *types.DeleteSnapshot_Task) soap.HasFault { - task := CreateTask(m, "deleteSnapshot", func(*Task) (types.AnyType, types.BaseMethodFault) { - obj := m.object(req.Datastore, req.Id) - if obj != nil { - for i := range obj.Snapshots { - if *obj.Snapshots[i].Id == req.SnapshotId { - obj.Snapshots = append(obj.Snapshots[:i], obj.Snapshots[i+1:]...) - return nil, nil - } - } - } - return nil, new(types.InvalidArgument) - }) - - return &methods.DeleteSnapshot_TaskBody{ - Res: &types.DeleteSnapshot_TaskResponse{ - Returnval: task.Run(ctx), - }, - } -} - -func (m *VcenterVStorageObjectManager) tagID(id types.ID) types.ManagedObjectReference { - return types.ManagedObjectReference{ - Type: "fcd", - Value: id.Id, - } -} - -func (m *VcenterVStorageObjectManager) AttachTagToVStorageObject(ctx *Context, req *types.AttachTagToVStorageObject) soap.HasFault { - body := new(methods.AttachTagToVStorageObjectBody) - ref := m.tagID(req.Id) - - err := ctx.Map.tagManager.AttachTag(ref, types.VslmTagEntry{ - ParentCategoryName: req.Category, - TagName: req.Tag, - }) - - if err == nil { - body.Res = new(types.AttachTagToVStorageObjectResponse) - } else { - body.Fault_ = Fault("", err) - } - - return body -} - -func (m *VcenterVStorageObjectManager) DetachTagFromVStorageObject(ctx *Context, req *types.DetachTagFromVStorageObject) soap.HasFault { - body := new(methods.DetachTagFromVStorageObjectBody) - ref := m.tagID(req.Id) - - err := ctx.Map.tagManager.DetachTag(ref, types.VslmTagEntry{ - ParentCategoryName: req.Category, - TagName: req.Tag, - }) - - if err == nil { - body.Res = new(types.DetachTagFromVStorageObjectResponse) - } else { - body.Fault_ = Fault("", err) - } - - return body -} - -func (m *VcenterVStorageObjectManager) ListVStorageObjectsAttachedToTag(ctx *Context, req *types.ListVStorageObjectsAttachedToTag) soap.HasFault { - body := new(methods.ListVStorageObjectsAttachedToTagBody) - - refs, err := ctx.Map.tagManager.AttachedObjects(types.VslmTagEntry{ - ParentCategoryName: req.Category, - TagName: req.Tag, - }) - - if err == nil { - body.Res = new(types.ListVStorageObjectsAttachedToTagResponse) - for _, ref := range refs { - body.Res.Returnval = append(body.Res.Returnval, types.ID{Id: ref.Value}) - } - } else { - body.Fault_ = Fault("", err) - } - - return body -} - -func (m *VcenterVStorageObjectManager) ListTagsAttachedToVStorageObject(ctx *Context, req *types.ListTagsAttachedToVStorageObject) soap.HasFault { - body := new(methods.ListTagsAttachedToVStorageObjectBody) - ref := m.tagID(req.Id) - - tags, err := ctx.Map.tagManager.AttachedTags(ref) - - if err == nil { - body.Res = &types.ListTagsAttachedToVStorageObjectResponse{ - Returnval: tags, - } - } else { - body.Fault_ = Fault("", err) - } - - return body -} diff --git a/vendor/github.com/vmware/govmomi/sts/client.go b/vendor/github.com/vmware/govmomi/sts/client.go deleted file mode 100644 index d98c560954a..00000000000 --- a/vendor/github.com/vmware/govmomi/sts/client.go +++ /dev/null @@ -1,219 +0,0 @@ -/* -Copyright (c) 2018 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package sts - -import ( - "context" - "crypto/tls" - "errors" - "net/url" - "time" - - "github.com/vmware/govmomi/lookup" - "github.com/vmware/govmomi/lookup/types" - "github.com/vmware/govmomi/sts/internal" - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/soap" -) - -const ( - Namespace = "oasis:names:tc:SAML:2.0:assertion" - Path = "/sts/STSService" -) - -// Client is a soap.Client targeting the STS (Secure Token Service) API endpoint. -type Client struct { - *soap.Client - - RoundTripper soap.RoundTripper -} - -// NewClient returns a client targeting the STS API endpoint. -// The Client.URL will be set to that of the Lookup Service's endpoint registration, -// as the SSO endpoint can be external to vCenter. If the Lookup Service is not available, -// URL defaults to Path on the vim25.Client.URL.Host. -func NewClient(ctx context.Context, c *vim25.Client) (*Client, error) { - filter := &types.LookupServiceRegistrationFilter{ - ServiceType: &types.LookupServiceRegistrationServiceType{ - Product: "com.vmware.cis", - Type: "cs.identity", - }, - EndpointType: &types.LookupServiceRegistrationEndpointType{ - Protocol: "wsTrust", - Type: "com.vmware.cis.cs.identity.sso", - }, - } - - url := lookup.EndpointURL(ctx, c, Path, filter) - sc := c.Client.NewServiceClient(url, Namespace) - - return &Client{sc, sc}, nil -} - -// RoundTrip dispatches to the RoundTripper field. -func (c *Client) RoundTrip(ctx context.Context, req, res soap.HasFault) error { - return c.RoundTripper.RoundTrip(ctx, req, res) -} - -// TokenRequest parameters for issuing a SAML token. -// At least one of Userinfo or Certificate must be specified. -// When `TokenRequest.Certificate` is set, the `tls.Certificate.PrivateKey` field must be set as it is required to sign the request. -// When the `tls.Certificate.Certificate` field is not set, the request Assertion header is set to that of the TokenRequest.Token. -// Otherwise `tls.Certificate.Certificate` is used as the BinarySecurityToken in the request. -type TokenRequest struct { - Userinfo *url.Userinfo // Userinfo when set issues a Bearer token - Certificate *tls.Certificate // Certificate when set issues a HoK token - Lifetime time.Duration // Lifetime is the token's lifetime, defaults to 10m - Renewable bool // Renewable allows the issued token to be renewed - Delegatable bool // Delegatable allows the issued token to be delegated (e.g. for use with ActAs) - ActAs bool // ActAs allows to request an ActAs token based on the passed Token. - Token string // Token for Renew request or Issue request ActAs identity or to be exchanged. - KeyType string // KeyType for requested token (if not set will be decucted from Userinfo and Certificate options) - KeyID string // KeyID used for signing the requests -} - -func (c *Client) newRequest(req TokenRequest, kind string, s *Signer) (internal.RequestSecurityToken, error) { - if req.Lifetime == 0 { - req.Lifetime = 5 * time.Minute - } - - created := time.Now().UTC() - rst := internal.RequestSecurityToken{ - TokenType: c.Namespace, - RequestType: "http://docs.oasis-open.org/ws-sx/ws-trust/200512/" + kind, - SignatureAlgorithm: internal.SHA256, - Lifetime: &internal.Lifetime{ - Created: created.Format(internal.Time), - Expires: created.Add(req.Lifetime).Format(internal.Time), - }, - Renewing: &internal.Renewing{ - Allow: req.Renewable, - // /wst:RequestSecurityToken/wst:Renewing/@OK - // "It NOT RECOMMENDED to use this as it can leave you open to certain types of security attacks. - // Issuers MAY restrict the period after expiration during which time the token can be renewed. - // This window is governed by the issuer's policy." - OK: false, - }, - Delegatable: req.Delegatable, - KeyType: req.KeyType, - } - - if req.KeyType == "" { - // Deduce KeyType based on Certificate nad Userinfo. - if req.Certificate == nil { - if req.Userinfo == nil { - return rst, errors.New("one of TokenRequest Certificate or Userinfo is required") - } - rst.KeyType = "http://docs.oasis-open.org/ws-sx/ws-trust/200512/Bearer" - } else { - rst.KeyType = "http://docs.oasis-open.org/ws-sx/ws-trust/200512/PublicKey" - // For HOK KeyID is required. - if req.KeyID == "" { - req.KeyID = newID() - } - } - } - - if req.KeyID != "" { - rst.UseKey = &internal.UseKey{Sig: req.KeyID} - s.keyID = rst.UseKey.Sig - } - - return rst, nil -} - -func (s *Signer) setLifetime(lifetime *internal.Lifetime) error { - var err error - if lifetime != nil { - s.Lifetime.Created, err = time.Parse(internal.Time, lifetime.Created) - if err == nil { - s.Lifetime.Expires, err = time.Parse(internal.Time, lifetime.Expires) - } - } - return err -} - -// Issue is used to request a security token. -// The returned Signer can be used to sign SOAP requests, such as the SessionManager LoginByToken method and the RequestSecurityToken method itself. -// One of TokenRequest Certificate or Userinfo is required, with Certificate taking precedence. -// When Certificate is set, a Holder-of-Key token will be requested. Otherwise, a Bearer token is requested with the Userinfo credentials. -// See: http://docs.oasis-open.org/ws-sx/ws-trust/v1.4/errata01/os/ws-trust-1.4-errata01-os-complete.html#_Toc325658937 -func (c *Client) Issue(ctx context.Context, req TokenRequest) (*Signer, error) { - s := &Signer{ - Certificate: req.Certificate, - keyID: req.KeyID, - Token: req.Token, - user: req.Userinfo, - } - - rst, err := c.newRequest(req, "Issue", s) - if err != nil { - return nil, err - } - - if req.ActAs { - rst.ActAs = &internal.Target{ - Token: req.Token, - } - } - - header := soap.Header{ - Security: s, - Action: rst.Action(), - } - - res, err := internal.Issue(c.WithHeader(ctx, header), c, &rst) - if err != nil { - return nil, err - } - - s.Token = res.RequestSecurityTokenResponse.RequestedSecurityToken.Assertion - - return s, s.setLifetime(res.RequestSecurityTokenResponse.Lifetime) -} - -// Renew is used to request a security token renewal. -func (c *Client) Renew(ctx context.Context, req TokenRequest) (*Signer, error) { - s := &Signer{ - Certificate: req.Certificate, - } - - rst, err := c.newRequest(req, "Renew", s) - if err != nil { - return nil, err - } - - if req.Token == "" { - return nil, errors.New("TokenRequest Token is required") - } - - rst.RenewTarget = &internal.Target{Token: req.Token} - - header := soap.Header{ - Security: s, - Action: rst.Action(), - } - - res, err := internal.Renew(c.WithHeader(ctx, header), c, &rst) - if err != nil { - return nil, err - } - - s.Token = res.RequestedSecurityToken.Assertion - - return s, s.setLifetime(res.Lifetime) -} diff --git a/vendor/github.com/vmware/govmomi/sts/internal/types.go b/vendor/github.com/vmware/govmomi/sts/internal/types.go deleted file mode 100644 index 875dbe50538..00000000000 --- a/vendor/github.com/vmware/govmomi/sts/internal/types.go +++ /dev/null @@ -1,694 +0,0 @@ -/* -Copyright (c) 2018 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package internal - -// The sts/internal package provides the types for invoking the sts.Issue method. -// The sts.Issue and SessionManager LoginByToken methods require an XML signature. -// Unlike the JRE and .NET runtimes, the Go stdlib does not support XML signing. -// We should considering contributing to the goxmldsig package and gosaml2 to meet -// the needs of sts.Issue rather than maintaining this package long term. -// The tricky part of xmldig is the XML canonicalization (C14N), which is responsible -// for most of the make-your-eyes bleed XML formatting in this package. -// C14N is also why some structures use xml.Name without a field tag and methods modify the xml.Name directly, -// though also working around Go's handling of XML namespace prefixes. -// Most of the types in this package were originally generated from the wsdl and hacked up gen/ scripts, -// but have since been modified by hand. - -import ( - "bytes" - "context" - "crypto/sha256" - "encoding/base64" - "fmt" - "log" - "path" - "reflect" - "strings" - - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" - "github.com/vmware/govmomi/vim25/xml" -) - -const ( - XSI = "http://www.w3.org/2001/XMLSchema-instance" - WSU = "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" - DSIG = "http://www.w3.org/2000/09/xmldsig#" - SHA256 = "http://www.w3.org/2001/04/xmldsig-more#rsa-sha256" - Time = "2006-01-02T15:04:05.000Z" -) - -// Security is used as soap.Envelope.Header.Security when signing requests. -type Security struct { - XMLName xml.Name `xml:"wsse:Security"` - WSSE string `xml:"xmlns:wsse,attr"` - WSU string `xml:"xmlns:wsu,attr"` - Timestamp Timestamp - BinarySecurityToken *BinarySecurityToken `xml:",omitempty"` - UsernameToken *UsernameToken `xml:",omitempty"` - Assertion string `xml:",innerxml"` - Signature *Signature `xml:",omitempty"` -} - -type Timestamp struct { - XMLName xml.Name `xml:"wsu:Timestamp"` - NS string `xml:"xmlns:wsu,attr"` - ID string `xml:"wsu:Id,attr"` - Created string `xml:"wsu:Created"` - Expires string `xml:"wsu:Expires"` -} - -func (t *Timestamp) C14N() string { - return Marshal(t) -} - -type BinarySecurityToken struct { - XMLName xml.Name `xml:"wsse:BinarySecurityToken"` - EncodingType string `xml:"EncodingType,attr"` - ValueType string `xml:"ValueType,attr"` - ID string `xml:"wsu:Id,attr"` - Value string `xml:",chardata"` -} - -type UsernameToken struct { - XMLName xml.Name `xml:"wsse:UsernameToken"` - Username string `xml:"wsse:Username"` - Password string `xml:"wsse:Password"` -} - -type Signature struct { - XMLName xml.Name - NS string `xml:"xmlns:ds,attr"` - ID string `xml:"Id,attr"` - SignedInfo SignedInfo - SignatureValue Value - KeyInfo KeyInfo -} - -func (s *Signature) C14N() string { - return fmt.Sprintf(`%s%s%s`, - DSIG, s.SignedInfo.C14N(), s.SignatureValue.C14N(), s.KeyInfo.C14N()) -} - -type SignedInfo struct { - XMLName xml.Name - NS string `xml:"xmlns:ds,attr,omitempty"` - CanonicalizationMethod Method - SignatureMethod Method - Reference []Reference -} - -func (s SignedInfo) C14N() string { - ns := "" // empty in ActAs c14n form for example - if s.NS != "" { - ns = fmt.Sprintf(` xmlns:ds="%s"`, s.NS) - } - - c14n := []string{fmt.Sprintf("", ns)} - c14n = append(c14n, s.CanonicalizationMethod.C14N(), s.SignatureMethod.C14N()) - for i := range s.Reference { - c14n = append(c14n, s.Reference[i].C14N()) - } - c14n = append(c14n, "") - - return strings.Join(c14n, "") -} - -type Method struct { - XMLName xml.Name - Algorithm string `xml:",attr"` -} - -func (m *Method) C14N() string { - return mkns("ds", m, &m.XMLName) -} - -type Value struct { - XMLName xml.Name - Value string `xml:",innerxml"` -} - -func (v *Value) C14N() string { - return mkns("ds", v, &v.XMLName) -} - -type Reference struct { - XMLName xml.Name - URI string `xml:",attr"` - Transforms Transforms - DigestMethod Method - DigestValue Value -} - -func (r Reference) C14N() string { - for i := range r.Transforms.Transform { - t := &r.Transforms.Transform[i] - t.XMLName.Local = "ds:Transform" - t.XMLName.Space = "" - - if t.InclusiveNamespaces != nil { - name := &t.InclusiveNamespaces.XMLName - if !strings.HasPrefix(name.Local, "ec:") { - name.Local = "ec:" + name.Local - name.Space = "" - } - t.InclusiveNamespaces.NS = t.Algorithm - } - } - - c14n := []string{ - fmt.Sprintf(``, r.URI), - r.Transforms.C14N(), - r.DigestMethod.C14N(), - r.DigestValue.C14N(), - "", - } - - return strings.Join(c14n, "") -} - -func NewReference(id string, val string) Reference { - sum := sha256.Sum256([]byte(val)) - - return Reference{ - XMLName: xml.Name{Local: "ds:Reference"}, - URI: "#" + id, - Transforms: Transforms{ - XMLName: xml.Name{Local: "ds:Transforms"}, - Transform: []Transform{ - Transform{ - XMLName: xml.Name{Local: "ds:Transform"}, - Algorithm: "http://www.w3.org/2001/10/xml-exc-c14n#", - }, - }, - }, - DigestMethod: Method{ - XMLName: xml.Name{Local: "ds:DigestMethod"}, - Algorithm: "http://www.w3.org/2001/04/xmlenc#sha256", - }, - DigestValue: Value{ - XMLName: xml.Name{Local: "ds:DigestValue"}, - Value: base64.StdEncoding.EncodeToString(sum[:]), - }, - } -} - -type Transforms struct { - XMLName xml.Name - Transform []Transform -} - -func (t *Transforms) C14N() string { - return mkns("ds", t, &t.XMLName) -} - -type Transform struct { - XMLName xml.Name - Algorithm string `xml:",attr"` - InclusiveNamespaces *InclusiveNamespaces `xml:",omitempty"` -} - -type InclusiveNamespaces struct { - XMLName xml.Name - NS string `xml:"xmlns:ec,attr,omitempty"` - PrefixList string `xml:",attr"` -} - -type X509Data struct { - XMLName xml.Name - X509Certificate string `xml:",innerxml"` -} - -type KeyInfo struct { - XMLName xml.Name - NS string `xml:"xmlns:ds,attr,omitempty"` - SecurityTokenReference *SecurityTokenReference `xml:",omitempty"` - X509Data *X509Data `xml:",omitempty"` -} - -func (o *KeyInfo) C14N() string { - names := []*xml.Name{ - &o.XMLName, - } - - if o.SecurityTokenReference != nil { - names = append(names, &o.SecurityTokenReference.XMLName) - } - if o.X509Data != nil { - names = append(names, &o.X509Data.XMLName) - } - - return mkns("ds", o, names...) -} - -type SecurityTokenReference struct { - XMLName xml.Name `xml:"wsse:SecurityTokenReference"` - WSSE11 string `xml:"xmlns:wsse11,attr,omitempty"` - TokenType string `xml:"wsse11:TokenType,attr,omitempty"` - Reference *SecurityReference `xml:",omitempty"` - KeyIdentifier *KeyIdentifier `xml:",omitempty"` -} - -type SecurityReference struct { - XMLName xml.Name `xml:"wsse:Reference"` - URI string `xml:",attr"` - ValueType string `xml:",attr"` -} - -type KeyIdentifier struct { - XMLName xml.Name `xml:"wsse:KeyIdentifier"` - ID string `xml:",innerxml"` - ValueType string `xml:",attr"` -} - -type Issuer struct { - XMLName xml.Name - Format string `xml:",attr"` - Value string `xml:",innerxml"` -} - -func (i *Issuer) C14N() string { - return mkns("saml2", i, &i.XMLName) -} - -type Assertion struct { - XMLName xml.Name - ID string `xml:",attr"` - IssueInstant string `xml:",attr"` - Version string `xml:",attr"` - Issuer Issuer - Signature Signature - Subject Subject - Conditions Conditions - AuthnStatement AuthnStatement - AttributeStatement AttributeStatement -} - -func (a *Assertion) C14N() string { - start := `` - c14n := []string{ - fmt.Sprintf(start, a.XMLName.Space, a.ID, a.IssueInstant, a.Version), - a.Issuer.C14N(), - a.Signature.C14N(), - a.Subject.C14N(), - a.Conditions.C14N(), - a.AuthnStatement.C14N(), - a.AttributeStatement.C14N(), - ``, - } - - return strings.Join(c14n, "") -} - -type NameID struct { - XMLName xml.Name - Format string `xml:",attr"` - ID string `xml:",innerxml"` -} - -type Subject struct { - XMLName xml.Name - NameID NameID - SubjectConfirmation SubjectConfirmation -} - -func (s *Subject) C14N() string { - data := &s.SubjectConfirmation.SubjectConfirmationData - names := []*xml.Name{ - &s.XMLName, - &s.NameID.XMLName, - &s.SubjectConfirmation.XMLName, - &data.XMLName, - } - if s.SubjectConfirmation.NameID != nil { - names = append(names, &s.SubjectConfirmation.NameID.XMLName) - } - if data.KeyInfo != nil { - data.NS = XSI - data.Type = "saml2:KeyInfoConfirmationDataType" - data.KeyInfo.XMLName = xml.Name{Local: "ds:KeyInfo"} - data.KeyInfo.X509Data.XMLName = xml.Name{Local: "ds:X509Data"} - data.KeyInfo.NS = DSIG - } - return mkns("saml2", s, names...) -} - -type SubjectConfirmationData struct { - XMLName xml.Name - NS string `xml:"xmlns:xsi,attr,omitempty"` - Type string `xml:"xsi:type,attr,omitempty"` - NotOnOrAfter string `xml:",attr,omitempty"` - KeyInfo *KeyInfo -} - -type SubjectConfirmation struct { - XMLName xml.Name - Method string `xml:",attr"` - NameID *NameID - SubjectConfirmationData SubjectConfirmationData -} - -type Condition struct { - Type string `xml:"xsi:type,attr,omitempty"` -} - -func (c *Condition) GetCondition() *Condition { - return c -} - -type BaseCondition interface { - GetCondition() *Condition -} - -func init() { - types.Add("BaseCondition", reflect.TypeOf((*Condition)(nil)).Elem()) - types.Add("del:DelegationRestrictionType", reflect.TypeOf((*DelegateRestriction)(nil)).Elem()) - types.Add("rsa:RenewRestrictionType", reflect.TypeOf((*RenewRestriction)(nil)).Elem()) -} - -type Conditions struct { - XMLName xml.Name - NotBefore string `xml:",attr"` - NotOnOrAfter string `xml:",attr"` - ProxyRestriction *ProxyRestriction `xml:",omitempty"` - Condition []BaseCondition `xml:",omitempty"` -} - -func (c *Conditions) C14N() string { - names := []*xml.Name{ - &c.XMLName, - } - - if c.ProxyRestriction != nil { - names = append(names, &c.ProxyRestriction.XMLName) - } - - for i := range c.Condition { - switch r := c.Condition[i].(type) { - case *DelegateRestriction: - names = append(names, &r.XMLName, &r.Delegate.NameID.XMLName) - r.NS = XSI - r.Type = "del:DelegationRestrictionType" - r.Delegate.NS = r.Delegate.XMLName.Space - r.Delegate.XMLName = xml.Name{Local: "del:Delegate"} - case *RenewRestriction: - names = append(names, &r.XMLName) - r.NS = XSI - r.Type = "rsa:RenewRestrictionType" - } - } - - return mkns("saml2", c, names...) -} - -type ProxyRestriction struct { - XMLName xml.Name - Count int32 `xml:",attr"` -} - -type RenewRestriction struct { - XMLName xml.Name - NS string `xml:"xmlns:xsi,attr,omitempty"` - Count int32 `xml:",attr"` - Condition -} - -type Delegate struct { - XMLName xml.Name - NS string `xml:"xmlns:del,attr,omitempty"` - DelegationInstant string `xml:",attr"` - NameID NameID -} - -type DelegateRestriction struct { - XMLName xml.Name - NS string `xml:"xmlns:xsi,attr,omitempty"` - Condition - Delegate Delegate -} - -type AuthnStatement struct { - XMLName xml.Name - AuthnInstant string `xml:",attr"` - AuthnContext struct { - XMLName xml.Name - AuthnContextClassRef struct { - XMLName xml.Name - Value string `xml:",innerxml"` - } - } -} - -func (a *AuthnStatement) C14N() string { - return mkns("saml2", a, &a.XMLName, &a.AuthnContext.XMLName, &a.AuthnContext.AuthnContextClassRef.XMLName) -} - -type AttributeStatement struct { - XMLName xml.Name - Attribute []Attribute -} - -func (a *AttributeStatement) C14N() string { - c14n := []string{""} - for i := range a.Attribute { - c14n = append(c14n, a.Attribute[i].C14N()) - } - c14n = append(c14n, "") - return strings.Join(c14n, "") -} - -type AttributeValue struct { - XMLName xml.Name - Type string `xml:"type,attr,typeattr"` - Value string `xml:",innerxml"` -} - -func (a *AttributeValue) C14N() string { - return fmt.Sprintf(`%s`, XSI, a.Type, a.Value) -} - -type Attribute struct { - XMLName xml.Name - FriendlyName string `xml:",attr"` - Name string `xml:",attr"` - NameFormat string `xml:",attr"` - AttributeValue []AttributeValue -} - -func (a *Attribute) C14N() string { - c14n := []string{ - fmt.Sprintf(``, a.FriendlyName, a.Name, a.NameFormat), - } - - for i := range a.AttributeValue { - c14n = append(c14n, a.AttributeValue[i].C14N()) - } - - c14n = append(c14n, ``) - - return strings.Join(c14n, "") -} - -type Lifetime struct { - Created string `xml:"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd Created"` - Expires string `xml:"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd Expires"` -} - -func (t *Lifetime) C14N() string { - return fmt.Sprintf(`%s%s`, t.Created, t.Expires) -} - -type Renewing struct { - Allow bool `xml:",attr"` - OK bool `xml:",attr"` -} - -type UseKey struct { - Sig string `xml:",attr"` -} - -type Target struct { - Token string `xml:",innerxml"` -} - -type RequestSecurityToken struct { - TokenType string `xml:",omitempty"` - RequestType string `xml:",omitempty"` - Lifetime *Lifetime `xml:",omitempty"` - Renewing *Renewing `xml:",omitempty"` - Delegatable bool `xml:",omitempty"` - KeyType string `xml:",omitempty"` - SignatureAlgorithm string `xml:",omitempty"` - UseKey *UseKey `xml:",omitempty"` - ActAs *Target `xml:",omitempty"` - ValidateTarget *Target `xml:",omitempty"` - RenewTarget *Target `xml:",omitempty"` -} - -func Unmarshal(data []byte, v interface{}) error { - dec := xml.NewDecoder(bytes.NewReader(data)) - dec.TypeFunc = types.TypeFunc() - return dec.Decode(v) -} - -// toString returns an XML encoded RequestSecurityToken. -// When c14n is true, returns the canonicalized ActAs.Assertion which is required to sign the Issue request. -// When c14n is false, returns the original content of the ActAs.Assertion. -// The original content must be used within the request Body, as it has its own signature. -func (r *RequestSecurityToken) toString(c14n bool) string { - actas := "" - if r.ActAs != nil { - token := r.ActAs.Token - if c14n { - var a Assertion - err := Unmarshal([]byte(r.ActAs.Token), &a) - if err != nil { - log.Printf("decode ActAs: %s", err) - } - token = a.C14N() - } - - actas = fmt.Sprintf(`%s`, token) - } - - body := []string{ - fmt.Sprintf(``), - fmt.Sprintf(`%s`, r.TokenType), - fmt.Sprintf(`%s`, r.RequestType), - r.Lifetime.C14N(), - } - - if r.RenewTarget == nil { - body = append(body, - fmt.Sprintf(``, r.Renewing.Allow, r.Renewing.OK), - fmt.Sprintf(`%t`, r.Delegatable), - actas, - fmt.Sprintf(`%s`, r.KeyType), - fmt.Sprintf(`%s`, r.SignatureAlgorithm), - fmt.Sprintf(``, r.UseKey.Sig)) - } else { - token := r.RenewTarget.Token - if c14n { - var a Assertion - err := Unmarshal([]byte(r.RenewTarget.Token), &a) - if err != nil { - log.Printf("decode Renew: %s", err) - } - token = a.C14N() - } - - body = append(body, - fmt.Sprintf(``, r.UseKey.Sig), - fmt.Sprintf(`%s`, token)) - } - - return strings.Join(append(body, ``), "") -} - -func (r *RequestSecurityToken) C14N() string { - return r.toString(true) -} - -func (r *RequestSecurityToken) String() string { - return r.toString(false) -} - -type RequestSecurityTokenResponseCollection struct { - RequestSecurityTokenResponse RequestSecurityTokenResponse -} - -type RequestSecurityTokenResponse struct { - RequestedSecurityToken RequestedSecurityToken - Lifetime *Lifetime `xml:"http://docs.oasis-open.org/ws-sx/ws-trust/200512 Lifetime"` -} - -type RequestedSecurityToken struct { - Assertion string `xml:",innerxml"` -} - -type RequestSecurityTokenBody struct { - Req *RequestSecurityToken `xml:"http://docs.oasis-open.org/ws-sx/ws-trust/200512 RequestSecurityToken,omitempty"` - Res *RequestSecurityTokenResponseCollection `xml:"http://docs.oasis-open.org/ws-sx/ws-trust/200512 RequestSecurityTokenResponseCollection,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RequestSecurityTokenBody) Fault() *soap.Fault { return b.Fault_ } - -func (b *RequestSecurityTokenBody) RequestSecurityToken() *RequestSecurityToken { return b.Req } - -func (r *RequestSecurityToken) Action() string { - kind := path.Base(r.RequestType) - return "http://docs.oasis-open.org/ws-sx/ws-trust/200512/RST/" + kind -} - -func Issue(ctx context.Context, r soap.RoundTripper, req *RequestSecurityToken) (*RequestSecurityTokenResponseCollection, error) { - var reqBody, resBody RequestSecurityTokenBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RenewSecurityTokenBody struct { - Req *RequestSecurityToken `xml:"http://docs.oasis-open.org/ws-sx/ws-trust/200512 RequestSecurityToken,omitempty"` - Res *RequestSecurityTokenResponse `xml:"http://docs.oasis-open.org/ws-sx/ws-trust/200512 RequestSecurityTokenResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RenewSecurityTokenBody) Fault() *soap.Fault { return b.Fault_ } - -func (b *RenewSecurityTokenBody) RequestSecurityToken() *RequestSecurityToken { return b.Req } - -func Renew(ctx context.Context, r soap.RoundTripper, req *RequestSecurityToken) (*RequestSecurityTokenResponse, error) { - var reqBody, resBody RenewSecurityTokenBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -// Marshal panics if xml.Marshal returns an error -func Marshal(val interface{}) string { - b, err := xml.Marshal(val) - if err != nil { - panic(err) - } - return string(b) -} - -// mkns prepends the given namespace to xml.Name.Local and returns obj encoded as xml. -// Note that the namespace is required when encoding, but the namespace prefix must not be -// present when decoding as Go's decoding does not handle namespace prefix. -func mkns(ns string, obj interface{}, name ...*xml.Name) string { - ns += ":" - for i := range name { - name[i].Space = "" - if !strings.HasPrefix(name[i].Local, ns) { - name[i].Local = ns + name[i].Local - } - } - - return Marshal(obj) -} diff --git a/vendor/github.com/vmware/govmomi/sts/signer.go b/vendor/github.com/vmware/govmomi/sts/signer.go deleted file mode 100644 index 6ee0ffdebd0..00000000000 --- a/vendor/github.com/vmware/govmomi/sts/signer.go +++ /dev/null @@ -1,355 +0,0 @@ -/* -Copyright (c) 2018 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package sts - -import ( - "bytes" - "compress/gzip" - "crypto" - "crypto/rand" - "crypto/rsa" - "crypto/sha256" - "crypto/tls" - "encoding/base64" - "errors" - "fmt" - "io" - "io/ioutil" - mrand "math/rand" - "net" - "net/http" - "net/url" - "strings" - "time" - - "github.com/google/uuid" - - "github.com/vmware/govmomi/sts/internal" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/xml" -) - -// Signer implements the soap.Signer interface. -type Signer struct { - Token string // Token is a SAML token - Certificate *tls.Certificate // Certificate is used to sign requests - Lifetime struct { - Created time.Time - Expires time.Time - } - user *url.Userinfo // user contains the credentials for bearer token request - keyID string // keyID is the Signature UseKey ID, which is referenced in both the soap body and header -} - -// signedEnvelope is similar to soap.Envelope, but with namespace and Body as innerxml -type signedEnvelope struct { - XMLName xml.Name `xml:"soap:Envelope"` - NS string `xml:"xmlns:soap,attr"` - Header soap.Header `xml:"soap:Header"` - Body string `xml:",innerxml"` -} - -// newID returns a unique Reference ID, with a leading underscore as required by STS. -func newID() string { - return "_" + uuid.New().String() -} - -func (s *Signer) setTokenReference(info *internal.KeyInfo) error { - var token struct { - ID string `xml:",attr"` // parse saml2:Assertion ID attribute - InnerXML string `xml:",innerxml"` // no need to parse the entire token - } - if err := xml.Unmarshal([]byte(s.Token), &token); err != nil { - return err - } - - info.SecurityTokenReference = &internal.SecurityTokenReference{ - WSSE11: "http://docs.oasis-open.org/wss/oasis-wss-wssecurity-secext-1.1.xsd", - TokenType: "http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV2.0", - KeyIdentifier: &internal.KeyIdentifier{ - ID: token.ID, - ValueType: "http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLID", - }, - } - - return nil -} - -// Sign is a soap.Signer implementation which can be used to sign RequestSecurityToken and LoginByTokenBody requests. -func (s *Signer) Sign(env soap.Envelope) ([]byte, error) { - var key *rsa.PrivateKey - hasKey := false - if s.Certificate != nil { - key, hasKey = s.Certificate.PrivateKey.(*rsa.PrivateKey) - if !hasKey { - return nil, errors.New("sts: rsa.PrivateKey is required") - } - } - - created := time.Now().UTC() - header := &internal.Security{ - WSU: internal.WSU, - WSSE: "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd", - Timestamp: internal.Timestamp{ - NS: internal.WSU, - ID: newID(), - Created: created.Format(internal.Time), - Expires: created.Add(time.Minute).Format(internal.Time), // If STS receives this request after this, it is assumed to have expired. - }, - } - env.Header.Security = header - - info := internal.KeyInfo{XMLName: xml.Name{Local: "ds:KeyInfo"}} - var c14n, body string - type requestToken interface { - RequestSecurityToken() *internal.RequestSecurityToken - } - - switch x := env.Body.(type) { - case requestToken: - if hasKey { - // We need c14n for all requests, as its digest is included in the signature and must match on the server side. - // We need the body in original form when using an ActAs or RenewTarget token, where the token and its signature are embedded in the body. - req := x.RequestSecurityToken() - c14n = req.C14N() - body = req.String() - - if len(s.Certificate.Certificate) == 0 { - header.Assertion = s.Token - if err := s.setTokenReference(&info); err != nil { - return nil, err - } - } else { - id := newID() - - header.BinarySecurityToken = &internal.BinarySecurityToken{ - EncodingType: "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary", - ValueType: "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3", - ID: id, - Value: base64.StdEncoding.EncodeToString(s.Certificate.Certificate[0]), - } - - info.SecurityTokenReference = &internal.SecurityTokenReference{ - Reference: &internal.SecurityReference{ - URI: "#" + id, - ValueType: "http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3", - }, - } - } - } - // When requesting HoK token for interactive user, request will have both priv. key and username/password. - if s.user.Username() != "" { - header.UsernameToken = &internal.UsernameToken{ - Username: s.user.Username(), - } - header.UsernameToken.Password, _ = s.user.Password() - } - case *methods.LoginByTokenBody: - header.Assertion = s.Token - - if hasKey { - if err := s.setTokenReference(&info); err != nil { - return nil, err - } - - c14n = internal.Marshal(x.Req) - } - default: - // We can end up here via ssoadmin.SessionManager.Login(). - // No other known cases where a signed request is needed. - header.Assertion = s.Token - if hasKey { - if err := s.setTokenReference(&info); err != nil { - return nil, err - } - type Req interface { - C14N() string - } - c14n = env.Body.(Req).C14N() - } - } - - if !hasKey { - return xml.Marshal(env) // Bearer token without key to sign - } - - id := newID() - tmpl := `%s` - c14n = fmt.Sprintf(tmpl, internal.WSU, id, c14n) - if body == "" { - body = c14n - } else { - body = fmt.Sprintf(tmpl, internal.WSU, id, body) - } - - header.Signature = &internal.Signature{ - XMLName: xml.Name{Local: "ds:Signature"}, - NS: internal.DSIG, - ID: s.keyID, - KeyInfo: info, - SignedInfo: internal.SignedInfo{ - XMLName: xml.Name{Local: "ds:SignedInfo"}, - NS: internal.DSIG, - CanonicalizationMethod: internal.Method{ - XMLName: xml.Name{Local: "ds:CanonicalizationMethod"}, - Algorithm: "http://www.w3.org/2001/10/xml-exc-c14n#", - }, - SignatureMethod: internal.Method{ - XMLName: xml.Name{Local: "ds:SignatureMethod"}, - Algorithm: internal.SHA256, - }, - Reference: []internal.Reference{ - internal.NewReference(header.Timestamp.ID, header.Timestamp.C14N()), - internal.NewReference(id, c14n), - }, - }, - } - - sum := sha256.Sum256([]byte(header.Signature.SignedInfo.C14N())) - sig, err := rsa.SignPKCS1v15(rand.Reader, key, crypto.SHA256, sum[:]) - if err != nil { - return nil, err - } - - header.Signature.SignatureValue = internal.Value{ - XMLName: xml.Name{Local: "ds:SignatureValue"}, - Value: base64.StdEncoding.EncodeToString(sig), - } - - return xml.Marshal(signedEnvelope{ - NS: "http://schemas.xmlsoap.org/soap/envelope/", - Header: *env.Header, - Body: body, - }) -} - -// SignRequest is a rest.Signer implementation which can be used to sign rest.Client.LoginByTokenBody requests. -func (s *Signer) SignRequest(req *http.Request) error { - type param struct { - key, val string - } - var params []string - add := func(p param) { - params = append(params, fmt.Sprintf(`%s="%s"`, p.key, p.val)) - } - - var buf bytes.Buffer - gz := gzip.NewWriter(&buf) - if _, err := io.WriteString(gz, s.Token); err != nil { - return fmt.Errorf("zip token: %s", err) - } - if err := gz.Close(); err != nil { - return fmt.Errorf("zip token: %s", err) - } - add(param{ - key: "token", - val: base64.StdEncoding.EncodeToString(buf.Bytes()), - }) - - if s.Certificate != nil { - nonce := fmt.Sprintf("%d:%d", time.Now().UnixNano()/1e6, mrand.Int()) - var body []byte - if req.GetBody != nil { - r, rerr := req.GetBody() - if rerr != nil { - return fmt.Errorf("sts: getting http.Request body: %s", rerr) - } - defer r.Close() - body, rerr = ioutil.ReadAll(r) - if rerr != nil { - return fmt.Errorf("sts: reading http.Request body: %s", rerr) - } - } - bhash := sha256.Sum256(body) - - port := req.URL.Port() - if port == "" { - port = "80" // Default port for the "Host" header on the server side - } - - var buf bytes.Buffer - host := req.URL.Hostname() - - // Check if the host IP is in IPv6 format. If yes, add the opening and closing square brackets. - if isIPv6(host) { - host = fmt.Sprintf("%s%s%s", "[", host, "]") - } - - msg := []string{ - nonce, - req.Method, - req.URL.Path, - strings.ToLower(host), - port, - } - for i := range msg { - buf.WriteString(msg[i]) - buf.WriteByte('\n') - } - buf.Write(bhash[:]) - buf.WriteByte('\n') - - sum := sha256.Sum256(buf.Bytes()) - key, ok := s.Certificate.PrivateKey.(*rsa.PrivateKey) - if !ok { - return errors.New("sts: rsa.PrivateKey is required to sign http.Request") - } - sig, err := rsa.SignPKCS1v15(rand.Reader, key, crypto.SHA256, sum[:]) - if err != nil { - return err - } - - add(param{ - key: "signature_alg", - val: "RSA-SHA256", - }) - add(param{ - key: "signature", - val: base64.StdEncoding.EncodeToString(sig), - }) - add(param{ - key: "nonce", - val: nonce, - }) - add(param{ - key: "bodyhash", - val: base64.StdEncoding.EncodeToString(bhash[:]), - }) - } - - req.Header.Set("Authorization", fmt.Sprintf("SIGN %s", strings.Join(params, ", "))) - - return nil -} - -func (s *Signer) NewRequest() TokenRequest { - return TokenRequest{ - Token: s.Token, - Certificate: s.Certificate, - Userinfo: s.user, - KeyID: s.keyID, - } -} - -func isIPv6(s string) bool { - ip := net.ParseIP(s) - if ip == nil { - return false - } - return ip.To4() == nil -} diff --git a/vendor/github.com/vmware/govmomi/sts/simulator/simulator.go b/vendor/github.com/vmware/govmomi/sts/simulator/simulator.go deleted file mode 100644 index be65f14f28f..00000000000 --- a/vendor/github.com/vmware/govmomi/sts/simulator/simulator.go +++ /dev/null @@ -1,144 +0,0 @@ -/* -Copyright (c) 2018 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "fmt" - "log" - "net/http" - "net/url" - "path" - "strings" - "time" - - "github.com/vmware/govmomi/simulator" - "github.com/vmware/govmomi/sts/internal" - "github.com/vmware/govmomi/vim25/soap" - vim "github.com/vmware/govmomi/vim25/types" -) - -func init() { - simulator.RegisterEndpoint(func(s *simulator.Service, r *simulator.Registry) { - if r.IsVPX() { - path, handler := New(s.Listen, r.OptionManager().Setting) - s.Handle(path, handler) - } - }) -} - -// New creates an STS simulator and configures the simulator endpoint in the given settings. -// The path returned is that of the settings "config.vpxd.sso.sts.uri" property. -func New(u *url.URL, settings []vim.BaseOptionValue) (string, http.Handler) { - for i := range settings { - setting := settings[i].GetOptionValue() - if setting.Key == "config.vpxd.sso.sts.uri" { - endpoint, _ := url.Parse(setting.Value.(string)) - return endpoint.Path, new(handler) - } - } - return "", nil -} - -type handler struct{} - -// ServeHTTP handles STS requests. -func (s *handler) ServeHTTP(w http.ResponseWriter, r *http.Request) { - action := r.Header.Get("SOAPAction") - action = strings.TrimSuffix(action, `"`) // PowerCLI sts client quotes the header value - - env := soap.Envelope{} - now := time.Now() - lifetime := &internal.Lifetime{ - Created: now.Format(internal.Time), - Expires: now.Add(5 * time.Minute).Format(internal.Time), - } - - switch path.Base(action) { - case "Issue": - body := internal.RequestSecurityTokenBody{ - Res: &internal.RequestSecurityTokenResponseCollection{ - RequestSecurityTokenResponse: internal.RequestSecurityTokenResponse{ - RequestedSecurityToken: internal.RequestedSecurityToken{ - Assertion: token, - }, - Lifetime: lifetime, - }, - }, - } - env.Body = body - case "Renew": - body := internal.RenewSecurityTokenBody{ - Res: &internal.RequestSecurityTokenResponse{ - RequestedSecurityToken: internal.RequestedSecurityToken{ - Assertion: token, - }, - Lifetime: lifetime, - }, - } - env.Body = body - default: - log.Printf("sts: unsupported action=%s", action) - w.WriteHeader(http.StatusNotFound) - return - } - - w.WriteHeader(http.StatusOK) - fmt.Fprint(w, internal.Marshal(env)) -} - -// Currently simulator.SessionManager.LoginByToken() only checks for a non-empty Assertion.Subject.NameID field, -// so the token below is returned by Issue and Renew requests for now. -var token = `https://office1-sfo2-dhcp221.eng.vmware.com/websso/SAML2/Metadata/vsphere.locall/0AzCGiPB69oTstUdrCkihBIDtwb83A93zAe10tG3k=EKHf14V0CHctwqXRlhYSYNyID5lNJLimbw57eUBm/QlAMLY7GJ1wth44oeQPSj3eMpJaXKHEYYtn -fqMngciTrq4ZP2SS7KizxuBjcHChWGmcp+t0zn7+fTbp5sL8HfF3AfOwcyZxwj8n2S7E6Eee7zeC -cjZpKKZ1QIEwASwpuMCs7vU9IuXsUguHAaN55Jpx3N5u7PlSo/NZE0TJZ+zNWP8m9H5shPDY272D -Vnp3MGfoD+Dj6T4H8OVF6bMp6czbHsEHTthwPh+pBTzR8ppkyxPKWLkC7OWiOtZBKqLSMTchQyqn -GNJdl72FBXHS8WXGtJjbwL+MKf+WujhqwdRbXw==MIIDxTCCAq2gAwIBAgIJAMYXe1r3pfByMA0GCSqGSIb3DQEBCwUAMIGqMQswCQYDVQQDDAJDQTEX -MBUGCgmSJomT8ixkARkWB3ZzcGhlcmUxFTATBgoJkiaJk/IsZAEZFgVsb2NhbDELMAkGA1UEBhMC -VVMxEzARBgNVBAgMCkNhbGlmb3JuaWExLDAqBgNVBAoMI29mZmljZTEtc2ZvMi1kaGNwMjIxLmVu -Zy52bXdhcmUuY29tMRswGQYDVQQLDBJWTXdhcmUgRW5naW5lZXJpbmcwHhcNMTgwMTExMjE1MjQ3 -WhcNMjgwMTA2MjIwMjMxWjAYMRYwFAYDVQQDDA1zc29zZXJ2ZXJTaWduMIIBIjANBgkqhkiG9w0B -AQEFAAOCAQ8AMIIBCgKCAQEAohfKdXEpiCB+EewJJKk98he/KeAK/1bZ2MjnLspwt3Nvv2uh2xoa -1asP/TMAhxcztPxhqEZmi0W+nihF/yffY/AhQrGx9XynaOMUNarCNGVI2qBovi8gohT2pXlbKxgZ -b8VZkVl41WYkDBfQrzoP0XU/sFeOoNIHcFQX/82NFAYtN/4aBZ9gDqhyPihv2RSNG4MnvxxgxtZI -FPb3eyDt8poKOMjt8zG2JkJRQYiEOCLo/sKJEKXLZeWiqYsbk391/vIk2vaX3L3pgu8yYx/dLfxv -X/mRYIOcVzpXWQCEPdCejQBwrmVeRaepW5cMhOVlMAAw+mEXYVVTaIi1pfN53wIDAQABo38wfTAL -BgNVHQ8EBAMCBeAwLgYDVR0RBCcwJYIjb2ZmaWNlMS1zZm8yLWRoY3AyMjEuZW5nLnZtd2FyZS5j -b20wHQYDVR0OBBYEFAtGcFg9jVO3aBjgd2K0iBFTAPNSMB8GA1UdIwQYMBaAFLpyqy2v1I7a3URK -ohtSLAtqve5qMA0GCSqGSIb3DQEBCwUAA4IBAQB91dZHRFunBs+YvuOYFRlwJTZOPXzlSYurxC7h -VeYv6LUGZnuTkp0KfVMsfHyaeDslM8+5F9Iug1jxmEmpeyoaY12zQmxQB6P8lN4jj1Aazj8qmDH6 -ClaSY4Pp0lOSp9ROVlnLi6sRsRphOg+4MS4UeXGgSFlMN1BWJmXcwCazbii8l/EzGx2QhlVjWMAz -lPFQlWQ4FvV5vUCf8iE+UTin+6oJSXmFzip1NOBOGiIbClmpergZUchNiqTYTrpqblD/Qex5Bv9e -+xAwuw8e0Lm0XICOcFmKvpotLKKiqMMsRqPoeTqnoSyKqvCGRo2hUs4Y4O6SqEd80+E5lbXImrStMIIEPzCCAyegAwIBAgIJANS+QleTVJNbMA0GCSqGSIb3DQEBCwUAMIGqMQswCQYDVQQDDAJDQTEX -MBUGCgmSJomT8ixkARkWB3ZzcGhlcmUxFTATBgoJkiaJk/IsZAEZFgVsb2NhbDELMAkGA1UEBhMC -VVMxEzARBgNVBAgMCkNhbGlmb3JuaWExLDAqBgNVBAoMI29mZmljZTEtc2ZvMi1kaGNwMjIxLmVu -Zy52bXdhcmUuY29tMRswGQYDVQQLDBJWTXdhcmUgRW5naW5lZXJpbmcwHhcNMTgwMTA4MjIwMjMx -WhcNMjgwMTA2MjIwMjMxWjCBqjELMAkGA1UEAwwCQ0ExFzAVBgoJkiaJk/IsZAEZFgd2c3BoZXJl -MRUwEwYKCZImiZPyLGQBGRYFbG9jYWwxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlh -MSwwKgYDVQQKDCNvZmZpY2UxLXNmbzItZGhjcDIyMS5lbmcudm13YXJlLmNvbTEbMBkGA1UECwwS -Vk13YXJlIEVuZ2luZWVyaW5nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxcN7rsoK -CIapsEOYejPK38Qk7CUSPFcOmT7iF15UFlZDogHe1G/ZkYvcP0IvLvpemRiYuRpVGVuUZ9XOgeW6 -J5xpSuNRXMHSMDTUwLM9t/4NMAQxgWVlJjFmPVBIZiWaQgdCzEbCDcv/XaZeb6uJYlbmLKvopmwy -oDfncGXRUuQIZFsVIUhUgOtbbp9UmvXyjo9ukWdVcTkKlKK7NZGaVa4JYy7q4cc6g5eRmD9qp16o -vx8DageNAasTP6arnb5CyoGI4KPqJjaI7V4Z1KiOUs+Zj+VtC3XdpVthNtiJ+vgXccO8e7zYfP0y -d1PCQ/GEZAlRabus5Iplu4/xC23NywIDAQABo2YwZDAdBgNVHQ4EFgQUunKrLa/UjtrdREqiG1Is -C2q97mowHwYDVR0RBBgwFoEOZW1haWxAYWNtZS5jb22HBH8AAAEwDgYDVR0PAQH/BAQDAgEGMBIG -A1UdEwEB/wQIMAYBAf8CAQAwDQYJKoZIhvcNAQELBQADggEBAC8bMIhFtlXnCF2fUixTXJ5HZFNY -vbxa1eFjLFYuBsGBqhPEHkHkdKwgpfo1sd4t0L7JaGS9wsH6zyRUQs97subV5YUI6rvAPOBGDQTm -RmCeqz3ODZq6JwZEnTTqZjvUVckmt/L/QaRUHAW27MU+SuN8rP0Nghf/gkOabsaWfyT2ADquko4e -b7seYIlR5mJs+pxVBBsBB2nzxuaV5EjkgestxBqpGkxMnKEDhG6+VjqVxsZoEiNzdBNU7eM67Jc2 -2KU85jHKAao9LfMbwbHOA//1RStXXElyzPQvecq17ATvpw8AxCRu2KeKRwp3Pm2RiquDQFx8aiCe -2Re4gkrEemA=Administrator@VSPHERE.LOCALurn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransportvsphere.local\Usersvsphere.local\Administratorsvsphere.local\CAAdminsvsphere.local\ComponentManager.Administratorsvsphere.local\SystemConfiguration.BashShellAdministratorsvsphere.local\SystemConfiguration.Administratorsvsphere.local\LicenseService.Administratorsvsphere.local\ActAsUsersvsphere.local\EveryoneAdministratorvsphere.localfalse` diff --git a/vendor/github.com/vmware/govmomi/task/error.go b/vendor/github.com/vmware/govmomi/task/error.go deleted file mode 100644 index 3fff5aa2658..00000000000 --- a/vendor/github.com/vmware/govmomi/task/error.go +++ /dev/null @@ -1,33 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package task - -import "github.com/vmware/govmomi/vim25/types" - -type Error struct { - *types.LocalizedMethodFault - Description *types.LocalizableMessage -} - -// Error returns the task's localized fault message. -func (e Error) Error() string { - return e.LocalizedMethodFault.LocalizedMessage -} - -func (e Error) Fault() types.BaseMethodFault { - return e.LocalizedMethodFault.Fault -} diff --git a/vendor/github.com/vmware/govmomi/task/history_collector.go b/vendor/github.com/vmware/govmomi/task/history_collector.go deleted file mode 100644 index 7d8a6cf04ab..00000000000 --- a/vendor/github.com/vmware/govmomi/task/history_collector.go +++ /dev/null @@ -1,89 +0,0 @@ -/* -Copyright (c) 2015-2022 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package task - -import ( - "context" - - "github.com/vmware/govmomi/history" - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/types" -) - -// HistoryCollector provides a mechanism for retrieving historical data and -// updates when the server appends new tasks. -type HistoryCollector struct { - *history.Collector -} - -func newHistoryCollector(c *vim25.Client, ref types.ManagedObjectReference) *HistoryCollector { - return &HistoryCollector{ - Collector: history.NewCollector(c, ref), - } -} - -// LatestPage returns items in the 'viewable latest page' of the task history collector. -// As new tasks that match the collector's TaskFilterSpec are created, -// they are added to this page, and the oldest tasks are removed from the collector to keep -// the size of the page to that allowed by SetCollectorPageSize. -// The "oldest task" is the one with the oldest creation time. The tasks in the returned page are unordered. -func (h HistoryCollector) LatestPage(ctx context.Context) ([]types.TaskInfo, error) { - var o mo.TaskHistoryCollector - - err := h.Properties(ctx, h.Reference(), []string{"latestPage"}, &o) - if err != nil { - return nil, err - } - - return o.LatestPage, nil -} - -// ReadNextTasks reads the scrollable view from the current position. The -// scrollable position is moved to the next newer page after the read. No item -// is returned when the end of the collector is reached. -func (h HistoryCollector) ReadNextTasks(ctx context.Context, maxCount int32) ([]types.TaskInfo, error) { - req := types.ReadNextTasks{ - This: h.Reference(), - MaxCount: maxCount, - } - - res, err := methods.ReadNextTasks(ctx, h.Client(), &req) - if err != nil { - return nil, err - } - - return res.Returnval, nil -} - -// ReadPreviousTasks reads the scrollable view from the current position. The -// scrollable position is then moved to the next older page after the read. No -// item is returned when the head of the collector is reached. -func (h HistoryCollector) ReadPreviousTasks(ctx context.Context, maxCount int32) ([]types.TaskInfo, error) { - req := types.ReadPreviousTasks{ - This: h.Reference(), - MaxCount: maxCount, - } - - res, err := methods.ReadPreviousTasks(ctx, h.Client(), &req) - if err != nil { - return nil, err - } - - return res.Returnval, nil -} diff --git a/vendor/github.com/vmware/govmomi/task/manager.go b/vendor/github.com/vmware/govmomi/task/manager.go deleted file mode 100644 index 8279089d7db..00000000000 --- a/vendor/github.com/vmware/govmomi/task/manager.go +++ /dev/null @@ -1,61 +0,0 @@ -/* -Copyright (c) 2014-2022 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package task - -import ( - "context" - - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/types" -) - -type Manager struct { - r types.ManagedObjectReference - c *vim25.Client -} - -// NewManager creates a new task manager -func NewManager(c *vim25.Client) *Manager { - m := Manager{ - r: *c.ServiceContent.TaskManager, - c: c, - } - - return &m -} - -// Reference returns the task.Manager MOID -func (m Manager) Reference() types.ManagedObjectReference { - return m.r -} - -// CreateCollectorForTasks returns a task history collector, a specialized -// history collector that gathers TaskInfo data objects. -func (m Manager) CreateCollectorForTasks(ctx context.Context, filter types.TaskFilterSpec) (*HistoryCollector, error) { - req := types.CreateCollectorForTasks{ - This: m.r, - Filter: filter, - } - - res, err := methods.CreateCollectorForTasks(ctx, m.c, &req) - if err != nil { - return nil, err - } - - return newHistoryCollector(m.c, res.Returnval), nil -} diff --git a/vendor/github.com/vmware/govmomi/task/wait.go b/vendor/github.com/vmware/govmomi/task/wait.go deleted file mode 100644 index b78f5110d95..00000000000 --- a/vendor/github.com/vmware/govmomi/task/wait.go +++ /dev/null @@ -1,143 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package task - -import ( - "context" - - "github.com/vmware/govmomi/property" - "github.com/vmware/govmomi/vim25/progress" - "github.com/vmware/govmomi/vim25/types" -) - -type taskProgress struct { - info *types.TaskInfo -} - -func (t taskProgress) Percentage() float32 { - return float32(t.info.Progress) -} - -func (t taskProgress) Detail() string { - return "" -} - -func (t taskProgress) Error() error { - if t.info.Error != nil { - return Error{t.info.Error, t.info.Description} - } - - return nil -} - -type taskCallback struct { - ch chan<- progress.Report - info *types.TaskInfo - err error -} - -func (t *taskCallback) fn(pc []types.PropertyChange) bool { - for _, c := range pc { - if c.Name != "info" { - continue - } - - if c.Op != types.PropertyChangeOpAssign { - continue - } - - if c.Val == nil { - continue - } - - ti := c.Val.(types.TaskInfo) - t.info = &ti - } - - // t.info could be nil if pc can't satisfy the rules above - if t.info == nil { - return false - } - - pr := taskProgress{t.info} - - // Store copy of error, so Wait() can return it as well. - t.err = pr.Error() - - switch t.info.State { - case types.TaskInfoStateQueued, types.TaskInfoStateRunning: - if t.ch != nil { - // Don't care if this is dropped - select { - case t.ch <- pr: - default: - } - } - return false - case types.TaskInfoStateSuccess, types.TaskInfoStateError: - if t.ch != nil { - // Last one must always be delivered - t.ch <- pr - } - return true - default: - panic("unknown state: " + t.info.State) - } -} - -// Wait waits for a task to finish with either success or failure. It does so -// by waiting for the "info" property of task managed object to change. The -// function returns when it finds the task in the "success" or "error" state. -// In the former case, the return value is nil. In the latter case the return -// value is an instance of this package's Error struct. -// -// Any error returned while waiting for property changes causes the function to -// return immediately and propagate the error. -// -// If the progress.Sinker argument is specified, any progress updates for the -// task are sent here. The completion percentage is passed through directly. -// The detail for the progress update is set to an empty string. If the task -// finishes in the error state, the error instance is passed through as well. -// Note that this error is the same error that is returned by this function. -// -func Wait(ctx context.Context, ref types.ManagedObjectReference, pc *property.Collector, s progress.Sinker) (*types.TaskInfo, error) { - cb := &taskCallback{} - - // Include progress sink if specified - if s != nil { - cb.ch = s.Sink() - defer close(cb.ch) - } - - filter := &property.WaitFilter{PropagateMissing: true} - filter.Add(ref, ref.Type, []string{"info"}) - - err := property.WaitForUpdates(ctx, pc, filter, func(updates []types.ObjectUpdate) bool { - for _, update := range updates { - if cb.fn(update.ChangeSet) { - return true - } - } - - return false - }) - if err != nil { - return nil, err - } - - return cb.info, cb.err -} diff --git a/vendor/github.com/vmware/govmomi/toolbox/hgfs/archive.go b/vendor/github.com/vmware/govmomi/toolbox/hgfs/archive.go deleted file mode 100644 index 65f5743aba9..00000000000 --- a/vendor/github.com/vmware/govmomi/toolbox/hgfs/archive.go +++ /dev/null @@ -1,342 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package hgfs - -import ( - "archive/tar" - "bufio" - "bytes" - "compress/gzip" - "io" - "io/ioutil" - "log" - "math" - "net/url" - "os" - "path/filepath" - "strings" - "sync" - "time" - - "github.com/vmware/govmomi/toolbox/vix" -) - -// ArchiveScheme is the default scheme used to register the archive FileHandler -var ArchiveScheme = "archive" - -// ArchiveHandler implements a FileHandler for transferring directories. -type ArchiveHandler struct { - Read func(*url.URL, *tar.Reader) error - Write func(*url.URL, *tar.Writer) error -} - -// NewArchiveHandler returns a FileHandler implementation for transferring directories using gzip'd tar files. -func NewArchiveHandler() FileHandler { - return &ArchiveHandler{ - Read: archiveRead, - Write: archiveWrite, - } -} - -// Stat implements FileHandler.Stat -func (*ArchiveHandler) Stat(u *url.URL) (os.FileInfo, error) { - switch u.Query().Get("format") { - case "", "tar", "tgz": - // ok - default: - log.Printf("unknown archive format: %q", u) - return nil, vix.Error(vix.InvalidArg) - } - - return &archive{ - name: u.Path, - size: math.MaxInt64, - }, nil -} - -// Open implements FileHandler.Open -func (h *ArchiveHandler) Open(u *url.URL, mode int32) (File, error) { - switch mode { - case OpenModeReadOnly: - return h.newArchiveFromGuest(u) - case OpenModeWriteOnly: - return h.newArchiveToGuest(u) - default: - return nil, os.ErrNotExist - } -} - -// archive implements the hgfs.File and os.FileInfo interfaces. -type archive struct { - name string - size int64 - done func() error - - io.Reader - io.Writer -} - -// Name implementation of the os.FileInfo interface method. -func (a *archive) Name() string { - return a.name -} - -// Size implementation of the os.FileInfo interface method. -func (a *archive) Size() int64 { - return a.size -} - -// Mode implementation of the os.FileInfo interface method. -func (a *archive) Mode() os.FileMode { - return 0600 -} - -// ModTime implementation of the os.FileInfo interface method. -func (a *archive) ModTime() time.Time { - return time.Now() -} - -// IsDir implementation of the os.FileInfo interface method. -func (a *archive) IsDir() bool { - return false -} - -// Sys implementation of the os.FileInfo interface method. -func (a *archive) Sys() interface{} { - return nil -} - -// The trailer is required since TransferFromGuest requires a Content-Length, -// which toolbox doesn't know ahead of time as the gzip'd tarball never touches the disk. -// HTTP clients need to be aware of this and stop reading when they see the 2nd gzip header. -var gzipHeader = []byte{0x1f, 0x8b, 0x08} // rfc1952 {ID1, ID2, CM} - -var gzipTrailer = true - -// newArchiveFromGuest returns an hgfs.File implementation to read a directory as a gzip'd tar. -func (h *ArchiveHandler) newArchiveFromGuest(u *url.URL) (File, error) { - r, w := io.Pipe() - - a := &archive{ - name: u.Path, - done: r.Close, - Reader: r, - Writer: w, - } - - var z io.Writer = w - var c io.Closer = ioutil.NopCloser(nil) - - switch u.Query().Get("format") { - case "tgz": - gz := gzip.NewWriter(w) - z = gz - c = gz - } - - tw := tar.NewWriter(z) - - go func() { - err := h.Write(u, tw) - - _ = tw.Close() - _ = c.Close() - if gzipTrailer { - _, _ = w.Write(gzipHeader) - } - _ = w.CloseWithError(err) - }() - - return a, nil -} - -// newArchiveToGuest returns an hgfs.File implementation to expand a gzip'd tar into a directory. -func (h *ArchiveHandler) newArchiveToGuest(u *url.URL) (File, error) { - r, w := io.Pipe() - - buf := bufio.NewReader(r) - - a := &archive{ - name: u.Path, - Reader: buf, - Writer: w, - } - - var cerr error - var wg sync.WaitGroup - - a.done = func() error { - _ = w.Close() - // We need to wait for unpack to finish to complete its work - // and to propagate the error if any to Close. - wg.Wait() - return cerr - } - - wg.Add(1) - go func() { - defer wg.Done() - - c := func() error { - // Drain the pipe of tar trailer data (two null blocks) - if cerr == nil { - _, _ = io.Copy(ioutil.Discard, a.Reader) - } - return nil - } - - header, _ := buf.Peek(len(gzipHeader)) - - if bytes.Equal(header, gzipHeader) { - gz, err := gzip.NewReader(a.Reader) - if err != nil { - _ = r.CloseWithError(err) - cerr = err - return - } - - c = gz.Close - a.Reader = gz - } - - tr := tar.NewReader(a.Reader) - - cerr = h.Read(u, tr) - - _ = c() - _ = r.CloseWithError(cerr) - }() - - return a, nil -} - -func (a *archive) Close() error { - return a.done() -} - -// archiveRead writes the contents of the given tar.Reader to the given directory. -func archiveRead(u *url.URL, tr *tar.Reader) error { - for { - header, err := tr.Next() - if err != nil { - if err == io.EOF { - return nil - } - return err - } - - name := filepath.Join(u.Path, header.Name) - mode := os.FileMode(header.Mode) - - switch header.Typeflag { - case tar.TypeDir: - err = os.MkdirAll(name, mode) - case tar.TypeReg: - _ = os.MkdirAll(filepath.Dir(name), 0750) - - var f *os.File - - f, err = os.OpenFile(name, os.O_CREATE|os.O_RDWR|os.O_TRUNC, mode) - if err == nil { - _, cerr := io.Copy(f, tr) - err = f.Close() - if cerr != nil { - err = cerr - } - } - case tar.TypeSymlink: - err = os.Symlink(header.Linkname, name) - } - - // TODO: Uid/Gid may not be meaningful here without some mapping. - // The other option to consider would be making use of the guest auth user ID. - // os.Lchown(name, header.Uid, header.Gid) - - if err != nil { - return err - } - } -} - -// archiveWrite writes the contents of the given source directory to the given tar.Writer. -func archiveWrite(u *url.URL, tw *tar.Writer) error { - info, err := os.Stat(u.Path) - if err != nil { - return err - } - - // Note that the VMX will trim any trailing slash. For example: - // "/foo/bar/?prefix=bar/" will end up here as "/foo/bar/?prefix=bar" - // Escape to avoid this: "/for/bar/?prefix=bar%2F" - prefix := u.Query().Get("prefix") - - dir := u.Path - - f := func(file string, fi os.FileInfo, err error) error { - if err != nil { - return filepath.SkipDir - } - - name := strings.TrimPrefix(file, dir) - name = strings.TrimPrefix(name, "/") - - if name == "" { - return nil // this is u.Path itself (which may or may not have a trailing "/") - } - - if prefix != "" { - name = prefix + name - } - - header, _ := tar.FileInfoHeader(fi, name) - - header.Name = name - - if header.Typeflag == tar.TypeDir { - header.Name += "/" - } - - var f *os.File - - if header.Typeflag == tar.TypeReg && fi.Size() != 0 { - f, err = os.Open(filepath.Clean(file)) - if err != nil { - if os.IsPermission(err) { - return nil - } - return err - } - } - - _ = tw.WriteHeader(header) - - if f != nil { - _, err = io.Copy(tw, f) - _ = f.Close() - } - - return err - } - - if info.IsDir() { - return filepath.Walk(u.Path, f) - } - - dir = filepath.Dir(dir) - - return f(u.Path, info, nil) -} diff --git a/vendor/github.com/vmware/govmomi/toolbox/hgfs/encoding.go b/vendor/github.com/vmware/govmomi/toolbox/hgfs/encoding.go deleted file mode 100644 index 24f71f6c198..00000000000 --- a/vendor/github.com/vmware/govmomi/toolbox/hgfs/encoding.go +++ /dev/null @@ -1,73 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package hgfs - -import ( - "bytes" - "encoding" - "encoding/binary" -) - -// MarshalBinary is a wrapper around binary.Write -func MarshalBinary(fields ...interface{}) ([]byte, error) { - buf := new(bytes.Buffer) - - for _, p := range fields { - switch m := p.(type) { - case encoding.BinaryMarshaler: - data, err := m.MarshalBinary() - if err != nil { - return nil, ProtocolError(err) - } - - _, _ = buf.Write(data) - case []byte: - _, _ = buf.Write(m) - case string: - _, _ = buf.WriteString(m) - default: - err := binary.Write(buf, binary.LittleEndian, p) - if err != nil { - return nil, ProtocolError(err) - } - } - } - - return buf.Bytes(), nil -} - -// UnmarshalBinary is a wrapper around binary.Read -func UnmarshalBinary(data []byte, fields ...interface{}) error { - buf := bytes.NewBuffer(data) - - for _, p := range fields { - switch m := p.(type) { - case encoding.BinaryUnmarshaler: - return m.UnmarshalBinary(buf.Bytes()) - case *[]byte: - *m = buf.Bytes() - return nil - default: - err := binary.Read(buf, binary.LittleEndian, p) - if err != nil { - return ProtocolError(err) - } - } - } - - return nil -} diff --git a/vendor/github.com/vmware/govmomi/toolbox/hgfs/hgfs_linux.go b/vendor/github.com/vmware/govmomi/toolbox/hgfs/hgfs_linux.go deleted file mode 100644 index 16794ae5fe4..00000000000 --- a/vendor/github.com/vmware/govmomi/toolbox/hgfs/hgfs_linux.go +++ /dev/null @@ -1,58 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package hgfs - -import ( - "os" - "syscall" -) - -const attrMask = AttrValidAllocationSize | - AttrValidAccessTime | AttrValidWriteTime | AttrValidCreateTime | AttrValidChangeTime | - AttrValidSpecialPerms | AttrValidOwnerPerms | AttrValidGroupPerms | AttrValidOtherPerms | AttrValidEffectivePerms | - AttrValidUserID | AttrValidGroupID | AttrValidFileID | AttrValidVolID - -func (a *AttrV2) sysStat(info os.FileInfo) { - sys, ok := info.Sys().(*syscall.Stat_t) - - if !ok { - return - } - - a.AllocationSize = uint64(sys.Blocks * 512) - - nt := func(t syscall.Timespec) uint64 { - return uint64(t.Nano()) // TODO: this is supposed to be Windows NT system time, not needed atm - } - - a.AccessTime = nt(sys.Atim) - a.WriteTime = nt(sys.Mtim) - a.CreationTime = a.WriteTime // see HgfsGetCreationTime - a.AttrChangeTime = nt(sys.Ctim) - - a.SpecialPerms = uint8((sys.Mode & (syscall.S_ISUID | syscall.S_ISGID | syscall.S_ISVTX)) >> 9) - a.OwnerPerms = uint8((sys.Mode & syscall.S_IRWXU) >> 6) - a.GroupPerms = uint8((sys.Mode & syscall.S_IRWXG) >> 3) - a.OtherPerms = uint8(sys.Mode & syscall.S_IRWXO) - - a.UserID = sys.Uid - a.GroupID = sys.Gid - a.HostFileID = sys.Ino - a.VolumeID = uint32(sys.Dev) - - a.Mask |= attrMask -} diff --git a/vendor/github.com/vmware/govmomi/toolbox/hgfs/hgfs_other.go b/vendor/github.com/vmware/govmomi/toolbox/hgfs/hgfs_other.go deleted file mode 100644 index ba5d64af4f7..00000000000 --- a/vendor/github.com/vmware/govmomi/toolbox/hgfs/hgfs_other.go +++ /dev/null @@ -1,27 +0,0 @@ -//go:build !linux -// +build !linux - -/* -Copyright (c) 2017-2022 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package hgfs - -import ( - "os" -) - -func (a *AttrV2) sysStat(info os.FileInfo) { -} diff --git a/vendor/github.com/vmware/govmomi/toolbox/hgfs/protocol.go b/vendor/github.com/vmware/govmomi/toolbox/hgfs/protocol.go deleted file mode 100644 index a91a0269e62..00000000000 --- a/vendor/github.com/vmware/govmomi/toolbox/hgfs/protocol.go +++ /dev/null @@ -1,847 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package hgfs - -import ( - "bytes" - "encoding/binary" - "fmt" - "log" - "os" - "strings" -) - -// See: https://github.com/vmware/open-vm-tools/blob/master/open-vm-tools/lib/include/hgfsProto.h - -// Opcodes for server operations as defined in hgfsProto.h -const ( - OpOpen = iota /* Open file */ - OpRead /* Read from file */ - OpWrite /* Write to file */ - OpClose /* Close file */ - OpSearchOpen /* Start new search */ - OpSearchRead /* Get next search response */ - OpSearchClose /* End a search */ - OpGetattr /* Get file attributes */ - OpSetattr /* Set file attributes */ - OpCreateDir /* Create new directory */ - OpDeleteFile /* Delete a file */ - OpDeleteDir /* Delete a directory */ - OpRename /* Rename a file or directory */ - OpQueryVolumeInfo /* Query volume information */ - OpOpenV2 /* Open file */ - OpGetattrV2 /* Get file attributes */ - OpSetattrV2 /* Set file attributes */ - OpSearchReadV2 /* Get next search response */ - OpCreateSymlink /* Create a symlink */ - OpServerLockChange /* Change the oplock on a file */ - OpCreateDirV2 /* Create a directory */ - OpDeleteFileV2 /* Delete a file */ - OpDeleteDirV2 /* Delete a directory */ - OpRenameV2 /* Rename a file or directory */ - OpOpenV3 /* Open file */ - OpReadV3 /* Read from file */ - OpWriteV3 /* Write to file */ - OpCloseV3 /* Close file */ - OpSearchOpenV3 /* Start new search */ - OpSearchReadV3 /* Read V3 directory entries */ - OpSearchCloseV3 /* End a search */ - OpGetattrV3 /* Get file attributes */ - OpSetattrV3 /* Set file attributes */ - OpCreateDirV3 /* Create new directory */ - OpDeleteFileV3 /* Delete a file */ - OpDeleteDirV3 /* Delete a directory */ - OpRenameV3 /* Rename a file or directory */ - OpQueryVolumeInfoV3 /* Query volume information */ - OpCreateSymlinkV3 /* Create a symlink */ - OpServerLockChangeV3 /* Change the oplock on a file */ - OpWriteWin32StreamV3 /* Write WIN32_STREAM_ID format data to file */ - OpCreateSessionV4 /* Create a session and return host capabilities. */ - OpDestroySessionV4 /* Destroy/close session. */ - OpReadFastV4 /* Read */ - OpWriteFastV4 /* Write */ - OpSetWatchV4 /* Start monitoring directory changes. */ - OpRemoveWatchV4 /* Stop monitoring directory changes. */ - OpNotifyV4 /* Notification for a directory change event. */ - OpSearchReadV4 /* Read V4 directory entries. */ - OpOpenV4 /* Open file */ - OpEnumerateStreamsV4 /* Enumerate alternative named streams for a file. */ - OpGetattrV4 /* Get file attributes */ - OpSetattrV4 /* Set file attributes */ - OpDeleteV4 /* Delete a file or a directory */ - OpLinkmoveV4 /* Rename/move/create hard link. */ - OpFsctlV4 /* Sending FS control requests. */ - OpAccessCheckV4 /* Access check. */ - OpFsyncV4 /* Flush all cached data to the disk. */ - OpQueryVolumeInfoV4 /* Query volume information. */ - OpOplockAcquireV4 /* Acquire OPLOCK. */ - OpOplockBreakV4 /* Break or downgrade OPLOCK. */ - OpLockByteRangeV4 /* Acquire byte range lock. */ - OpUnlockByteRangeV4 /* Release byte range lock. */ - OpQueryEasV4 /* Query extended attributes. */ - OpSetEasV4 /* Add or modify extended attributes. */ - OpNewHeader = 0xff /* Header op, must be unique, distinguishes packet headers. */ -) - -// Status codes -const ( - StatusSuccess = iota - StatusNoSuchFileOrDir - StatusInvalidHandle - StatusOperationNotPermitted - StatusFileExists - StatusNotDirectory - StatusDirNotEmpty - StatusProtocolError - StatusAccessDenied - StatusInvalidName - StatusGenericError - StatusSharingViolation - StatusNoSpace - StatusOperationNotSupported - StatusNameTooLong - StatusInvalidParameter - StatusNotSameDevice - StatusStaleSession - StatusTooManySessions - StatusTransportError -) - -// Flags for attr mask -const ( - AttrValidType = 1 << iota - AttrValidSize - AttrValidCreateTime - AttrValidAccessTime - AttrValidWriteTime - AttrValidChangeTime - AttrValidSpecialPerms - AttrValidOwnerPerms - AttrValidGroupPerms - AttrValidOtherPerms - AttrValidFlags - AttrValidAllocationSize - AttrValidUserID - AttrValidGroupID - AttrValidFileID - AttrValidVolID - AttrValidNonStaticFileID - AttrValidEffectivePerms - AttrValidExtendAttrSize - AttrValidReparsePoint - AttrValidShortName -) - -// HeaderVersion for HGFS protocol version 4 -const HeaderVersion = 0x1 - -// LargePacketMax is maximum size of an hgfs packet -const LargePacketMax = 0xf800 // HGFS_LARGE_PACKET_MAX - -// Packet flags -const ( - PacketFlagRequest = 1 << iota - PacketFlagReply - PacketFlagInfoExterror - PacketFlagValidFlags = 0x7 -) - -// Status is an error type that encapsulates an error status code and the cause -type Status struct { - Err error - Code uint32 -} - -func (s *Status) Error() string { - if s.Err != nil { - return s.Err.Error() - } - - return fmt.Sprintf("hgfs.Status=%d", s.Code) -} - -// errorStatus maps the given error type to a status code -func errorStatus(err error) uint32 { - if x, ok := err.(*Status); ok { - return x.Code - } - - switch { - case os.IsNotExist(err): - return StatusNoSuchFileOrDir - case os.IsExist(err): - return StatusFileExists - case os.IsPermission(err): - return StatusOperationNotPermitted - } - - return StatusGenericError -} - -// ProtocolError wraps the given error as a Status type -func ProtocolError(err error) error { - return &Status{ - Err: err, - Code: StatusProtocolError, - } -} - -// Request as defined in hgfsProto.h:HgfsRequest -type Request struct { - Handle uint32 - Op int32 -} - -// Reply as defined in hgfsProto.h:HgfsReply -type Reply struct { - Handle uint32 - Status uint32 -} - -// Header as defined in hgfsProto.h:HgfsHeader -type Header struct { - Version uint8 - Reserved1 [3]uint8 - Dummy int32 - PacketSize uint32 - HeaderSize uint32 - RequestID uint32 - Op int32 - Status uint32 - Flags uint32 - Information uint32 - SessionID uint64 - Reserved uint64 -} - -var ( - headerSize = uint32(binary.Size(new(Header))) - - packetSize = func(r *Packet) uint32 { - return headerSize + uint32(len(r.Payload)) - } -) - -// UnmarshalBinary implements the encoding.BinaryUnmarshaler interface -func (h *Header) UnmarshalBinary(data []byte) error { - buf := bytes.NewBuffer(data) - - err := binary.Read(buf, binary.LittleEndian, h) - if err != nil { - return fmt.Errorf("reading hgfs header: %s", err) - } - - if h.Dummy != OpNewHeader { - return fmt.Errorf("expected hgfs header with OpNewHeader (%#x), got: %#x", OpNewHeader, h.Dummy) - } - - return nil -} - -// Packet encapsulates an hgfs Header and Payload -type Packet struct { - Header - - Payload []byte -} - -// Reply composes a new Packet with the given payload or error -func (r *Packet) Reply(payload interface{}, err error) ([]byte, error) { - p := new(Packet) - - status := uint32(StatusSuccess) - - if err != nil { - status = errorStatus(err) - } else { - p.Payload, err = MarshalBinary(payload) - if err != nil { - return nil, err - } - } - - p.Header = Header{ - Version: HeaderVersion, - Dummy: OpNewHeader, - PacketSize: headerSize + uint32(len(p.Payload)), - HeaderSize: headerSize, - RequestID: r.RequestID, - Op: r.Op, - Status: status, - Flags: PacketFlagReply, - Information: 0, - SessionID: r.SessionID, - } - - if Trace { - rc := "OK" - if err != nil { - rc = err.Error() - } - fmt.Fprintf(os.Stderr, "[hgfs] response %#v [%s]\n", p.Header, rc) - } else if err != nil { - log.Printf("[hgfs] op=%d error: %s", r.Op, err) - } - - return p.MarshalBinary() -} - -// MarshalBinary implements the encoding.BinaryMarshaler interface -func (r *Packet) MarshalBinary() ([]byte, error) { - r.Header.PacketSize = packetSize(r) - - buf, _ := MarshalBinary(r.Header) - - return append(buf, r.Payload...), nil -} - -// UnmarshalBinary implements the encoding.BinaryUnmarshaler interface -func (r *Packet) UnmarshalBinary(data []byte) error { - err := r.Header.UnmarshalBinary(data) - if err != nil { - return err - } - - r.Payload = data[r.HeaderSize:r.PacketSize] - - return nil -} - -// Capability as defined in hgfsProto.h:HgfsCapability -type Capability struct { - Op int32 - Flags uint32 -} - -// RequestCreateSessionV4 as defined in hgfsProto.h:HgfsRequestCreateSessionV4 -type RequestCreateSessionV4 struct { - NumCapabilities uint32 - MaxPacketSize uint32 - Flags uint32 - Reserved uint32 - Capabilities []Capability -} - -// MarshalBinary implements the encoding.BinaryMarshaler interface -func (r *RequestCreateSessionV4) MarshalBinary() ([]byte, error) { - buf := new(bytes.Buffer) - - r.NumCapabilities = uint32(len(r.Capabilities)) - - fields := []*uint32{ - &r.NumCapabilities, - &r.MaxPacketSize, - &r.Flags, - &r.Reserved, - } - - for _, p := range fields { - err := binary.Write(buf, binary.LittleEndian, p) - if err != nil { - return nil, err - } - } - - for i := uint32(0); i < r.NumCapabilities; i++ { - err := binary.Write(buf, binary.LittleEndian, &r.Capabilities[i]) - if err != nil { - return nil, err - } - } - - return buf.Bytes(), nil -} - -// UnmarshalBinary implements the encoding.BinaryUnmarshaler interface -func (r *RequestCreateSessionV4) UnmarshalBinary(data []byte) error { - buf := bytes.NewBuffer(data) - - fields := []*uint32{ - &r.NumCapabilities, - &r.MaxPacketSize, - &r.Flags, - &r.Reserved, - } - - for _, p := range fields { - err := binary.Read(buf, binary.LittleEndian, p) - if err != nil { - return err - } - } - - for i := uint32(0); i < r.NumCapabilities; i++ { - var cap Capability - err := binary.Read(buf, binary.LittleEndian, &cap) - if err != nil { - return err - } - - r.Capabilities = append(r.Capabilities, cap) - } - - return nil -} - -// ReplyCreateSessionV4 as defined in hgfsProto.h:HgfsReplyCreateSessionV4 -type ReplyCreateSessionV4 struct { - SessionID uint64 - NumCapabilities uint32 - MaxPacketSize uint32 - IdentityOffset uint32 - Flags uint32 - Reserved uint32 - Capabilities []Capability -} - -// MarshalBinary implements the encoding.BinaryMarshaler interface -func (r *ReplyCreateSessionV4) MarshalBinary() ([]byte, error) { - buf := new(bytes.Buffer) - - fields := []interface{}{ - &r.SessionID, - &r.NumCapabilities, - &r.MaxPacketSize, - &r.IdentityOffset, - &r.Flags, - &r.Reserved, - } - - for _, p := range fields { - err := binary.Write(buf, binary.LittleEndian, p) - if err != nil { - return nil, err - } - } - - for i := uint32(0); i < r.NumCapabilities; i++ { - err := binary.Write(buf, binary.LittleEndian, &r.Capabilities[i]) - if err != nil { - return nil, err - } - } - - return buf.Bytes(), nil -} - -// UnmarshalBinary implements the encoding.BinaryUnmarshaler interface -func (r *ReplyCreateSessionV4) UnmarshalBinary(data []byte) error { - buf := bytes.NewBuffer(data) - - fields := []interface{}{ - &r.SessionID, - &r.NumCapabilities, - &r.MaxPacketSize, - &r.IdentityOffset, - &r.Flags, - &r.Reserved, - } - - for _, p := range fields { - err := binary.Read(buf, binary.LittleEndian, p) - if err != nil { - return err - } - } - - for i := uint32(0); i < r.NumCapabilities; i++ { - var cap Capability - err := binary.Read(buf, binary.LittleEndian, &cap) - if err != nil { - return err - } - - r.Capabilities = append(r.Capabilities, cap) - } - - return nil -} - -// RequestDestroySessionV4 as defined in hgfsProto.h:HgfsRequestDestroySessionV4 -type RequestDestroySessionV4 struct { - Reserved uint64 -} - -// ReplyDestroySessionV4 as defined in hgfsProto.h:HgfsReplyDestroySessionV4 -type ReplyDestroySessionV4 struct { - Reserved uint64 -} - -// FileName as defined in hgfsProto.h:HgfsFileName -type FileName struct { - Length uint32 - Name string -} - -// MarshalBinary implements the encoding.BinaryMarshaler interface -func (f *FileName) MarshalBinary() ([]byte, error) { - name := f.Name - f.Length = uint32(len(f.Name)) - if f.Length == 0 { - // field is defined as 'char name[1];', this byte is required for min sizeof() validation - name = "\x00" - } - return MarshalBinary(&f.Length, name) -} - -// UnmarshalBinary implements the encoding.BinaryUnmarshaler interface -func (f *FileName) UnmarshalBinary(data []byte) error { - buf := bytes.NewBuffer(data) - - _ = binary.Read(buf, binary.LittleEndian, &f.Length) - - f.Name = string(buf.Next(int(f.Length))) - - return nil -} - -const serverPolicyRootShareName = "root" - -// FromString converts name to a FileName -func (f *FileName) FromString(name string) { - name = strings.TrimPrefix(name, "/") - - cp := strings.Split(name, "/") - - cp = append([]string{serverPolicyRootShareName}, cp...) - - f.Name = strings.Join(cp, "\x00") - f.Length = uint32(len(f.Name)) -} - -// Path converts FileName to a string -func (f *FileName) Path() string { - cp := strings.Split(f.Name, "\x00") - - if len(cp) == 0 || cp[0] != serverPolicyRootShareName { - return "" // TODO: not happening until if/when we handle Windows shares - } - - cp[0] = "" - - return strings.Join(cp, "/") -} - -// FileNameV3 as defined in hgfsProto.h:HgfsFileNameV3 -type FileNameV3 struct { - Length uint32 - Flags uint32 - CaseType int32 - ID uint32 - Name string -} - -// MarshalBinary implements the encoding.BinaryMarshaler interface -func (f *FileNameV3) MarshalBinary() ([]byte, error) { - name := f.Name - f.Length = uint32(len(f.Name)) - if f.Length == 0 { - // field is defined as 'char name[1];', this byte is required for min sizeof() validation - name = "\x00" - } - return MarshalBinary(&f.Length, &f.Flags, &f.CaseType, &f.ID, name) -} - -// UnmarshalBinary implements the encoding.BinaryUnmarshaler interface -func (f *FileNameV3) UnmarshalBinary(data []byte) error { - buf := bytes.NewBuffer(data) - - fields := []interface{}{ - &f.Length, &f.Flags, &f.CaseType, &f.ID, - } - - for _, p := range fields { - if err := binary.Read(buf, binary.LittleEndian, p); err != nil { - return err - } - } - - f.Name = string(buf.Next(int(f.Length))) - - return nil -} - -// FromString converts name to a FileNameV3 -func (f *FileNameV3) FromString(name string) { - p := new(FileName) - p.FromString(name) - f.Name = p.Name - f.Length = p.Length -} - -// Path converts FileNameV3 to a string -func (f *FileNameV3) Path() string { - return (&FileName{Name: f.Name, Length: f.Length}).Path() -} - -// FileType -const ( - FileTypeRegular = iota - FileTypeDirectory - FileTypeSymlink -) - -// AttrV2 as defined in hgfsProto.h:HgfsAttrV2 -type AttrV2 struct { - Mask uint64 - Type int32 - Size uint64 - CreationTime uint64 - AccessTime uint64 - WriteTime uint64 - AttrChangeTime uint64 - SpecialPerms uint8 - OwnerPerms uint8 - GroupPerms uint8 - OtherPerms uint8 - AttrFlags uint64 - AllocationSize uint64 - UserID uint32 - GroupID uint32 - HostFileID uint64 - VolumeID uint32 - EffectivePerms uint32 - Reserved2 uint64 -} - -// RequestGetattrV2 as defined in hgfsProto.h:HgfsRequestGetattrV2 -type RequestGetattrV2 struct { - Request - AttrHint uint64 - Handle uint32 - FileName FileName -} - -// MarshalBinary implements the encoding.BinaryMarshaler interface -func (r *RequestGetattrV2) MarshalBinary() ([]byte, error) { - return MarshalBinary(&r.Request, &r.AttrHint, &r.Handle, &r.FileName) -} - -// UnmarshalBinary implements the encoding.BinaryUnmarshaler interface -func (r *RequestGetattrV2) UnmarshalBinary(data []byte) error { - return UnmarshalBinary(data, &r.Request, &r.AttrHint, &r.Handle, &r.FileName) -} - -// ReplyGetattrV2 as defined in hgfsProto.h:HgfsReplyGetattrV2 -type ReplyGetattrV2 struct { - Reply - Attr AttrV2 - SymlinkTarget FileName -} - -// MarshalBinary implements the encoding.BinaryMarshaler interface -func (r *ReplyGetattrV2) MarshalBinary() ([]byte, error) { - return MarshalBinary(&r.Reply, &r.Attr, &r.SymlinkTarget) -} - -// UnmarshalBinary implements the encoding.BinaryUnmarshaler interface -func (r *ReplyGetattrV2) UnmarshalBinary(data []byte) error { - return UnmarshalBinary(data, &r.Reply, &r.Attr, &r.SymlinkTarget) -} - -// RequestSetattrV2 as defined in hgfsProto.h:HgfsRequestSetattrV2 -type RequestSetattrV2 struct { - Request - Hints uint64 - Attr AttrV2 - Handle uint32 - FileName FileName -} - -// MarshalBinary implements the encoding.BinaryMarshaler interface -func (r *RequestSetattrV2) MarshalBinary() ([]byte, error) { - return MarshalBinary(&r.Request, &r.Hints, &r.Attr, &r.Handle, &r.FileName) -} - -// UnmarshalBinary implements the encoding.BinaryUnmarshaler interface -func (r *RequestSetattrV2) UnmarshalBinary(data []byte) error { - return UnmarshalBinary(data, &r.Request, &r.Hints, &r.Attr, &r.Handle, &r.FileName) -} - -// ReplySetattrV2 as defined in hgfsProto.h:HgfsReplySetattrV2 -type ReplySetattrV2 struct { - Header Reply -} - -// OpenMode -const ( - OpenModeReadOnly = iota - OpenModeWriteOnly - OpenModeReadWrite - OpenModeAccmodes -) - -// OpenFlags -const ( - Open = iota - OpenEmpty - OpenCreate - OpenCreateSafe - OpenCreateEmpty -) - -// Permissions -const ( - PermRead = 4 - PermWrite = 2 - PermExec = 1 -) - -// RequestOpen as defined in hgfsProto.h:HgfsRequestOpen -type RequestOpen struct { - Request - OpenMode int32 - OpenFlags int32 - Permissions uint8 - FileName FileName -} - -// MarshalBinary implements the encoding.BinaryMarshaler interface -func (r *RequestOpen) MarshalBinary() ([]byte, error) { - return MarshalBinary(&r.Request, &r.OpenMode, &r.OpenFlags, r.Permissions, &r.FileName) -} - -// UnmarshalBinary implements the encoding.BinaryUnmarshaler interface -func (r *RequestOpen) UnmarshalBinary(data []byte) error { - return UnmarshalBinary(data, &r.Request, &r.OpenMode, &r.OpenFlags, &r.Permissions, &r.FileName) -} - -// ReplyOpen as defined in hgfsProto.h:HgfsReplyOpen -type ReplyOpen struct { - Reply - Handle uint32 -} - -// RequestClose as defined in hgfsProto.h:HgfsRequestClose -type RequestClose struct { - Request - Handle uint32 -} - -// ReplyClose as defined in hgfsProto.h:HgfsReplyClose -type ReplyClose struct { - Reply -} - -// Lock type -const ( - LockNone = iota - LockOpportunistic - LockExclusive - LockShared - LockBatch - LockLease -) - -// RequestOpenV3 as defined in hgfsProto.h:HgfsRequestOpenV3 -type RequestOpenV3 struct { - Mask uint64 - OpenMode int32 - OpenFlags int32 - SpecialPerms uint8 - OwnerPerms uint8 - GroupPerms uint8 - OtherPerms uint8 - AttrFlags uint64 - AllocationSize uint64 - DesiredAccess uint32 - ShareAccess uint32 - DesiredLock int32 - Reserved1 uint64 - Reserved2 uint64 - FileName FileNameV3 -} - -// MarshalBinary implements the encoding.BinaryMarshaler interface -func (r *RequestOpenV3) MarshalBinary() ([]byte, error) { - return MarshalBinary(&r.Mask, &r.OpenMode, &r.OpenFlags, - &r.SpecialPerms, &r.OwnerPerms, &r.GroupPerms, &r.OtherPerms, - &r.AttrFlags, &r.AllocationSize, &r.DesiredAccess, &r.ShareAccess, - &r.DesiredLock, &r.Reserved1, &r.Reserved2, &r.FileName) -} - -// UnmarshalBinary implements the encoding.BinaryUnmarshaler interface -func (r *RequestOpenV3) UnmarshalBinary(data []byte) error { - return UnmarshalBinary(data, &r.Mask, &r.OpenMode, &r.OpenFlags, - &r.SpecialPerms, &r.OwnerPerms, &r.GroupPerms, &r.OtherPerms, - &r.AttrFlags, &r.AllocationSize, &r.DesiredAccess, &r.ShareAccess, - &r.DesiredLock, &r.Reserved1, &r.Reserved2, &r.FileName) -} - -// ReplyOpenV3 as defined in hgfsProto.h:HgfsReplyOpenV3 -type ReplyOpenV3 struct { - Handle uint32 - AcquiredLock int32 - Flags int32 - Reserved uint32 -} - -// RequestReadV3 as defined in hgfsProto.h:HgfsRequestReadV3 -type RequestReadV3 struct { - Handle uint32 - Offset uint64 - RequiredSize uint32 - Reserved uint64 -} - -// ReplyReadV3 as defined in hgfsProto.h:HgfsReplyReadV3 -type ReplyReadV3 struct { - ActualSize uint32 - Reserved uint64 - Payload []byte -} - -// MarshalBinary implements the encoding.BinaryMarshaler interface -func (r *ReplyReadV3) MarshalBinary() ([]byte, error) { - return MarshalBinary(&r.ActualSize, &r.Reserved, r.Payload) -} - -// UnmarshalBinary implements the encoding.BinaryUnmarshaler interface -func (r *ReplyReadV3) UnmarshalBinary(data []byte) error { - return UnmarshalBinary(data, &r.ActualSize, &r.Reserved, &r.Payload) -} - -// Write flags -const ( - WriteAppend = 1 -) - -// RequestWriteV3 as defined in hgfsProto.h:HgfsRequestWriteV3 -type RequestWriteV3 struct { - Handle uint32 - WriteFlags uint8 - Offset uint64 - RequiredSize uint32 - Reserved uint64 - Payload []byte -} - -// MarshalBinary implements the encoding.BinaryMarshaler interface -func (r *RequestWriteV3) MarshalBinary() ([]byte, error) { - return MarshalBinary(&r.Handle, &r.WriteFlags, &r.Offset, &r.RequiredSize, &r.Reserved, r.Payload) -} - -// UnmarshalBinary implements the encoding.BinaryUnmarshaler interface -func (r *RequestWriteV3) UnmarshalBinary(data []byte) error { - return UnmarshalBinary(data, &r.Handle, &r.WriteFlags, &r.Offset, &r.RequiredSize, &r.Reserved, &r.Payload) -} - -// ReplyWriteV3 as defined in hgfsProto.h:HgfsReplyWriteV3 -type ReplyWriteV3 struct { - ActualSize uint32 - Reserved uint64 -} diff --git a/vendor/github.com/vmware/govmomi/toolbox/hgfs/server.go b/vendor/github.com/vmware/govmomi/toolbox/hgfs/server.go deleted file mode 100644 index efc3faf212c..00000000000 --- a/vendor/github.com/vmware/govmomi/toolbox/hgfs/server.go +++ /dev/null @@ -1,585 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package hgfs - -import ( - "errors" - "flag" - "fmt" - "io" - "log" - "math/rand" - "net/url" - "os" - "path/filepath" - "strconv" - "strings" - "sync" - "sync/atomic" -) - -// See: https://github.com/vmware/open-vm-tools/blob/master/open-vm-tools/lib/hgfsServer/hgfsServer.c - -var ( - // Trace enables hgfs packet tracing - Trace = false -) - -// Server provides an HGFS protocol implementation to support guest tools VmxiHgfsSendPacketCommand -type Server struct { - Capabilities []Capability - - handlers map[int32]func(*Packet) (interface{}, error) - schemes map[string]FileHandler - sessions map[uint64]*session - mu sync.Mutex - handle uint32 - - chmod func(string, os.FileMode) error - chown func(string, int, int) error -} - -// NewServer creates a new Server instance with the default handlers -func NewServer() *Server { - if f := flag.Lookup("toolbox.trace"); f != nil { - Trace, _ = strconv.ParseBool(f.Value.String()) - } - - s := &Server{ - sessions: make(map[uint64]*session), - schemes: make(map[string]FileHandler), - chmod: os.Chmod, - chown: os.Chown, - } - - s.handlers = map[int32]func(*Packet) (interface{}, error){ - OpCreateSessionV4: s.CreateSessionV4, - OpDestroySessionV4: s.DestroySessionV4, - OpGetattrV2: s.GetattrV2, - OpSetattrV2: s.SetattrV2, - OpOpen: s.Open, - OpClose: s.Close, - OpOpenV3: s.OpenV3, - OpReadV3: s.ReadV3, - OpWriteV3: s.WriteV3, - } - - for op := range s.handlers { - s.Capabilities = append(s.Capabilities, Capability{Op: op, Flags: 0x1}) - } - - return s -} - -// RegisterFileHandler enables dispatch to handler for the given scheme. -func (s *Server) RegisterFileHandler(scheme string, handler FileHandler) { - if handler == nil { - delete(s.schemes, scheme) - return - } - s.schemes[scheme] = handler -} - -// Dispatch unpacks the given request packet and dispatches to the appropriate handler -func (s *Server) Dispatch(packet []byte) ([]byte, error) { - req := &Packet{} - - err := req.UnmarshalBinary(packet) - if err != nil { - return nil, err - } - - if Trace { - fmt.Fprintf(os.Stderr, "[hgfs] request %#v\n", req.Header) - } - - var res interface{} - - handler, ok := s.handlers[req.Op] - if ok { - res, err = handler(req) - } else { - err = &Status{ - Code: StatusOperationNotSupported, - Err: fmt.Errorf("unsupported Op(%d)", req.Op), - } - } - - return req.Reply(res, err) -} - -// File interface abstracts standard i/o methods to support transfer -// of regular files and archives of directories. -type File interface { - io.Reader - io.Writer - io.Closer - - Name() string -} - -// FileHandler is the plugin interface for hgfs file transport. -type FileHandler interface { - Stat(*url.URL) (os.FileInfo, error) - Open(*url.URL, int32) (File, error) -} - -// urlParse attempts to convert the given name to a URL with scheme for use as FileHandler dispatch. -func urlParse(name string) *url.URL { - var info os.FileInfo - - u, err := url.Parse(name) - if err == nil && u.Scheme == "" { - info, err = os.Stat(u.Path) - if err == nil && info.IsDir() { - u.Scheme = ArchiveScheme // special case for IsDir() - return u - } - } - - u, err = url.Parse(strings.TrimPrefix(name, "/")) // must appear to be an absolute path or hgfs errors - if err != nil { - u = &url.URL{Path: name} - } - - if u.Scheme == "" { - ix := strings.Index(u.Path, "/") - if ix > 0 { - u.Scheme = u.Path[:ix] - u.Path = u.Path[ix:] - } - } - - return u -} - -// OpenFile selects the File implementation based on file type and mode. -func (s *Server) OpenFile(name string, mode int32) (File, error) { - u := urlParse(name) - - if h, ok := s.schemes[u.Scheme]; ok { - f, serr := h.Open(u, mode) - if serr != os.ErrNotExist { - return f, serr - } - } - - switch mode { - case OpenModeReadOnly: - return os.Open(filepath.Clean(name)) - case OpenModeWriteOnly: - flag := os.O_WRONLY | os.O_CREATE | os.O_TRUNC - return os.OpenFile(name, flag, 0600) - default: - return nil, &Status{ - Err: fmt.Errorf("open mode(%d) not supported for file %q", mode, name), - Code: StatusAccessDenied, - } - } -} - -// Stat wraps os.Stat such that we can report directory types as regular files to support archive streaming. -// In the case of standard vmware-tools, attempts to transfer directories result -// with a VIX_E_NOT_A_FILE (see InitiateFileTransfer{To,From}Guest). -// Note that callers on the VMX side that reach this path are only concerned with: -// - does the file exist? -// - size: -// + used for UI progress with desktop Drag-N-Drop operations, which toolbox does not support. -// + sent to as Content-Length header in response to GET of FileTransferInformation.Url, -// if the first ReadV3 size is > HGFS_LARGE_PACKET_MAX -func (s *Server) Stat(name string) (os.FileInfo, error) { - u := urlParse(name) - - if h, ok := s.schemes[u.Scheme]; ok { - sinfo, serr := h.Stat(u) - if serr != os.ErrNotExist { - return sinfo, serr - } - } - - return os.Stat(name) -} - -type session struct { - files map[uint32]File - mu sync.Mutex -} - -// TODO: we currently depend on the VMX to close files and remove sessions, -// which it does provided it can communicate with the toolbox. Let's look at -// adding session expiration when implementing OpenModeWriteOnly support. -func newSession() *session { - return &session{ - files: make(map[uint32]File), - } -} - -func (s *Server) getSession(p *Packet) (*session, error) { - s.mu.Lock() - session, ok := s.sessions[p.SessionID] - s.mu.Unlock() - - if !ok { - return nil, &Status{ - Code: StatusStaleSession, - Err: errors.New("session not found"), - } - } - - return session, nil -} - -func (s *Server) removeSession(id uint64) bool { - s.mu.Lock() - session, ok := s.sessions[id] - delete(s.sessions, id) - s.mu.Unlock() - - if !ok { - return false - } - - session.mu.Lock() - defer session.mu.Unlock() - - for _, f := range session.files { - log.Printf("[hgfs] session %X removed with open file: %s", id, f.Name()) - _ = f.Close() - } - - return true -} - -// open-vm-tools' session max is 1024, there shouldn't be more than a handful at a given time in our use cases -const maxSessions = 24 - -// CreateSessionV4 handls OpCreateSessionV4 requests -func (s *Server) CreateSessionV4(p *Packet) (interface{}, error) { - const SessionMaxPacketSizeValid = 0x1 - - req := new(RequestCreateSessionV4) - err := UnmarshalBinary(p.Payload, req) - if err != nil { - return nil, err - } - - res := &ReplyCreateSessionV4{ - SessionID: uint64(rand.Int63()), - NumCapabilities: uint32(len(s.Capabilities)), - MaxPacketSize: LargePacketMax, - Flags: SessionMaxPacketSizeValid, - Capabilities: s.Capabilities, - } - - s.mu.Lock() - defer s.mu.Unlock() - if len(s.sessions) > maxSessions { - return nil, &Status{Code: StatusTooManySessions} - } - - s.sessions[res.SessionID] = newSession() - - return res, nil -} - -// DestroySessionV4 handls OpDestroySessionV4 requests -func (s *Server) DestroySessionV4(p *Packet) (interface{}, error) { - if s.removeSession(p.SessionID) { - return &ReplyDestroySessionV4{}, nil - } - - return nil, &Status{Code: StatusStaleSession} -} - -// Stat maps os.FileInfo to AttrV2 -func (a *AttrV2) Stat(info os.FileInfo) { - switch { - case info.IsDir(): - a.Type = FileTypeDirectory - case info.Mode()&os.ModeSymlink == os.ModeSymlink: - a.Type = FileTypeSymlink - default: - a.Type = FileTypeRegular - } - - a.Size = uint64(info.Size()) - - a.Mask = AttrValidType | AttrValidSize - - a.sysStat(info) -} - -// GetattrV2 handles OpGetattrV2 requests -func (s *Server) GetattrV2(p *Packet) (interface{}, error) { - res := &ReplyGetattrV2{} - - req := new(RequestGetattrV2) - err := UnmarshalBinary(p.Payload, req) - if err != nil { - return nil, err - } - - name := req.FileName.Path() - info, err := s.Stat(name) - if err != nil { - return nil, err - } - - res.Attr.Stat(info) - - return res, nil -} - -// SetattrV2 handles OpSetattrV2 requests -func (s *Server) SetattrV2(p *Packet) (interface{}, error) { - res := &ReplySetattrV2{} - - req := new(RequestSetattrV2) - err := UnmarshalBinary(p.Payload, req) - if err != nil { - return nil, err - } - - name := req.FileName.Path() - - _, err = os.Stat(name) - if err != nil && os.IsNotExist(err) { - // assuming this is a virtual file - return res, nil - } - - uid := -1 - if req.Attr.Mask&AttrValidUserID == AttrValidUserID { - uid = int(req.Attr.UserID) - } - - gid := -1 - if req.Attr.Mask&AttrValidGroupID == AttrValidGroupID { - gid = int(req.Attr.GroupID) - } - - err = s.chown(name, uid, gid) - if err != nil { - return nil, err - } - - var perm os.FileMode - - if req.Attr.Mask&AttrValidOwnerPerms == AttrValidOwnerPerms { - perm |= os.FileMode(req.Attr.OwnerPerms) << 6 - } - - if req.Attr.Mask&AttrValidGroupPerms == AttrValidGroupPerms { - perm |= os.FileMode(req.Attr.GroupPerms) << 3 - } - - if req.Attr.Mask&AttrValidOtherPerms == AttrValidOtherPerms { - perm |= os.FileMode(req.Attr.OtherPerms) - } - - if perm != 0 { - err = s.chmod(name, perm) - if err != nil { - return nil, err - } - } - - return res, nil -} - -func (s *Server) newHandle() uint32 { - return atomic.AddUint32(&s.handle, 1) -} - -// Open handles OpOpen requests -func (s *Server) Open(p *Packet) (interface{}, error) { - req := new(RequestOpen) - err := UnmarshalBinary(p.Payload, req) - if err != nil { - return nil, err - } - - session, err := s.getSession(p) - if err != nil { - return nil, err - } - - name := req.FileName.Path() - mode := req.OpenMode - - if mode != OpenModeReadOnly { - return nil, &Status{ - Err: fmt.Errorf("open mode(%d) not supported for file %q", mode, name), - Code: StatusAccessDenied, - } - } - - file, err := s.OpenFile(name, mode) - if err != nil { - return nil, err - } - - res := &ReplyOpen{ - Handle: s.newHandle(), - } - - session.mu.Lock() - session.files[res.Handle] = file - session.mu.Unlock() - - return res, nil -} - -// Close handles OpClose requests -func (s *Server) Close(p *Packet) (interface{}, error) { - req := new(RequestClose) - err := UnmarshalBinary(p.Payload, req) - if err != nil { - return nil, err - } - - session, err := s.getSession(p) - if err != nil { - return nil, err - } - - session.mu.Lock() - file, ok := session.files[req.Handle] - if ok { - delete(session.files, req.Handle) - } - session.mu.Unlock() - - if ok { - err = file.Close() - } else { - return nil, &Status{Code: StatusInvalidHandle} - } - - return &ReplyClose{}, err -} - -// OpenV3 handles OpOpenV3 requests -func (s *Server) OpenV3(p *Packet) (interface{}, error) { - req := new(RequestOpenV3) - err := UnmarshalBinary(p.Payload, req) - if err != nil { - return nil, err - } - - session, err := s.getSession(p) - if err != nil { - return nil, err - } - - name := req.FileName.Path() - - if req.DesiredLock != LockNone { - return nil, &Status{ - Err: fmt.Errorf("open lock type=%d not supported for file %q", req.DesiredLock, name), - Code: StatusOperationNotSupported, - } - } - - file, err := s.OpenFile(name, req.OpenMode) - if err != nil { - return nil, err - } - - res := &ReplyOpenV3{ - Handle: s.newHandle(), - } - - session.mu.Lock() - session.files[res.Handle] = file - session.mu.Unlock() - - return res, nil -} - -// ReadV3 handles OpReadV3 requests -func (s *Server) ReadV3(p *Packet) (interface{}, error) { - req := new(RequestReadV3) - err := UnmarshalBinary(p.Payload, req) - if err != nil { - return nil, err - } - - session, err := s.getSession(p) - if err != nil { - return nil, err - } - - session.mu.Lock() - file, ok := session.files[req.Handle] - session.mu.Unlock() - - if !ok { - return nil, &Status{Code: StatusInvalidHandle} - } - - buf := make([]byte, req.RequiredSize) - - // Use ReadFull as Read() of an archive io.Pipe may return much smaller chunks, - // such as when we've read a tar header. - n, err := io.ReadFull(file, buf) - if err != nil && n == 0 { - if err != io.EOF { - return nil, err - } - } - - res := &ReplyReadV3{ - ActualSize: uint32(n), - Payload: buf[:n], - } - - return res, nil -} - -// WriteV3 handles OpWriteV3 requests -func (s *Server) WriteV3(p *Packet) (interface{}, error) { - req := new(RequestWriteV3) - err := UnmarshalBinary(p.Payload, req) - if err != nil { - return nil, err - } - - session, err := s.getSession(p) - if err != nil { - return nil, err - } - - session.mu.Lock() - file, ok := session.files[req.Handle] - session.mu.Unlock() - - if !ok { - return nil, &Status{Code: StatusInvalidHandle} - } - - n, err := file.Write(req.Payload) - if err != nil { - return nil, err - } - - res := &ReplyWriteV3{ - ActualSize: uint32(n), - } - - return res, nil -} diff --git a/vendor/github.com/vmware/govmomi/toolbox/process/process.go b/vendor/github.com/vmware/govmomi/toolbox/process/process.go deleted file mode 100644 index 312a0cf345a..00000000000 --- a/vendor/github.com/vmware/govmomi/toolbox/process/process.go +++ /dev/null @@ -1,641 +0,0 @@ -/* -Copyright (c) 2017-2021 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package process - -import ( - "bytes" - "context" - "fmt" - "io" - "io/ioutil" - "net" - "net/url" - "os" - "os/exec" - "path" - "path/filepath" - "strconv" - "strings" - "sync" - "sync/atomic" - "syscall" - "time" - - "github.com/vmware/govmomi/toolbox/hgfs" - "github.com/vmware/govmomi/toolbox/vix" -) - -var ( - EscapeXML *strings.Replacer - - shell = "/bin/sh" - - defaultOwner = os.Getenv("USER") -) - -func init() { - // See: VixToolsEscapeXMLString - chars := []string{ - `"`, - "%", - "&", - "'", - "<", - ">", - } - - replace := make([]string, 0, len(chars)*2) - - for _, c := range chars { - replace = append(replace, c) - replace = append(replace, url.QueryEscape(c)) - } - - EscapeXML = strings.NewReplacer(replace...) - - // See procMgrPosix.c:ProcMgrStartProcess: - // Prefer bash -c as is uses exec() to replace itself, - // whereas bourne shell does a fork & exec, so two processes are started. - if sh, err := exec.LookPath("bash"); err != nil { - shell = sh - } - - if defaultOwner == "" { - defaultOwner = "toolbox" - } -} - -// IO encapsulates IO for Go functions and OS commands such that they can interact via the OperationsManager -// without file system disk IO. -type IO struct { - In struct { - io.Writer - io.Reader - io.Closer // Closer for the write side of the pipe, can be closed via hgfs ops (FileTranfserToGuest) - } - - Out *bytes.Buffer - Err *bytes.Buffer -} - -// State is the toolbox representation of the GuestProcessInfo type -type State struct { - StartTime int64 // (keep first to ensure 64-bit alignment) - EndTime int64 // (keep first to ensure 64-bit alignment) - - Name string - Args string - Owner string - Pid int64 - ExitCode int32 - - IO *IO -} - -// WithIO enables toolbox Process IO without file system disk IO. -func (p *Process) WithIO() *Process { - p.IO = &IO{ - Out: new(bytes.Buffer), - Err: new(bytes.Buffer), - } - - return p -} - -// File implements the os.FileInfo interface to enable toolbox interaction with virtual files. -type File struct { - io.Reader - io.Writer - io.Closer - - name string - size int -} - -// Name implementation of the os.FileInfo interface method. -func (a *File) Name() string { - return a.name -} - -// Size implementation of the os.FileInfo interface method. -func (a *File) Size() int64 { - return int64(a.size) -} - -// Mode implementation of the os.FileInfo interface method. -func (a *File) Mode() os.FileMode { - if strings.HasSuffix(a.name, "stdin") { - return 0200 - } - return 0400 -} - -// ModTime implementation of the os.FileInfo interface method. -func (a *File) ModTime() time.Time { - return time.Now() -} - -// IsDir implementation of the os.FileInfo interface method. -func (a *File) IsDir() bool { - return false -} - -// Sys implementation of the os.FileInfo interface method. -func (a *File) Sys() interface{} { - return nil -} - -func (s *State) toXML() string { - const format = "" + - "%s" + - "%s" + - "%d" + - "%s" + - "%d" + - "%d" + - "%d" + - "" - - name := filepath.Base(s.Name) - - argv := []string{s.Name} - - if len(s.Args) != 0 { - argv = append(argv, EscapeXML.Replace(s.Args)) - } - - args := strings.Join(argv, " ") - - return fmt.Sprintf(format, name, args, s.Pid, s.Owner, s.StartTime, s.ExitCode, s.EndTime) -} - -// Process managed by the process Manager. -type Process struct { - State - - Start func(*Process, *vix.StartProgramRequest) (int64, error) - Wait func() error - Kill context.CancelFunc - - ctx context.Context -} - -// Error can be returned by the Process.Wait function to propagate ExitCode to process State. -type Error struct { - Err error - ExitCode int32 -} - -func (e *Error) Error() string { - return e.Err.Error() -} - -// Manager manages processes within the guest. -// See: http://pubs.vmware.com/vsphere-60/topic/com.vmware.wssdk.apiref.doc/vim.vm.guest.Manager.html -type Manager struct { - wg sync.WaitGroup - mu sync.Mutex - expire time.Duration - entries map[int64]*Process - pids sync.Pool -} - -// NewManager creates a new process Manager instance. -func NewManager() *Manager { - // We use pseudo PIDs that don't conflict with OS PIDs, so they can live in the same table. - // For the pseudo PIDs, we use a sync.Pool rather than a plain old counter to avoid the unlikely, - // but possible wrapping should such a counter exceed MaxInt64. - pid := int64(32768) // TODO: /proc/sys/kernel/pid_max - - return &Manager{ - expire: time.Minute * 5, - entries: make(map[int64]*Process), - pids: sync.Pool{ - New: func() interface{} { - return atomic.AddInt64(&pid, 1) - }, - }, - } -} - -// Start calls the Process.Start function, returning the pid on success or an error. -// A goroutine is started that calls the Process.Wait function. After Process.Wait has -// returned, the process State EndTime and ExitCode fields are set. The process state can be -// queried via ListProcessesInGuest until it is removed, 5 minutes after Wait returns. -func (m *Manager) Start(r *vix.StartProgramRequest, p *Process) (int64, error) { - p.Name = r.ProgramPath - p.Args = r.Arguments - - // Owner is cosmetic, but useful for example with: govc guest.ps -U $uid - if p.Owner == "" { - p.Owner = defaultOwner - } - - p.StartTime = time.Now().Unix() - - p.ctx, p.Kill = context.WithCancel(context.Background()) - - pid, err := p.Start(p, r) - if err != nil { - return -1, err - } - - if pid == 0 { - p.Pid = m.pids.Get().(int64) // pseudo pid for funcs - } else { - p.Pid = pid - } - - m.mu.Lock() - m.entries[p.Pid] = p - m.mu.Unlock() - - m.wg.Add(1) - go func() { - werr := p.Wait() - - m.mu.Lock() - p.EndTime = time.Now().Unix() - - if werr != nil { - rc := int32(1) - if xerr, ok := werr.(*Error); ok { - rc = xerr.ExitCode - } - - p.ExitCode = rc - } - - m.mu.Unlock() - m.wg.Done() - p.Kill() // cancel context for those waiting on p.ctx.Done() - - // See: http://pubs.vmware.com/vsphere-65/topic/com.vmware.wssdk.apiref.doc/vim.vm.guest.ProcessManager.ProcessInfo.html - // "If the process was started using StartProgramInGuest then the process completion time - // will be available if queried within 5 minutes after it completes." - <-time.After(m.expire) - - m.mu.Lock() - delete(m.entries, p.Pid) - m.mu.Unlock() - - if pid == 0 { - m.pids.Put(p.Pid) // pseudo pid can be reused now - } - }() - - return p.Pid, nil -} - -// Kill cancels the Process Context. -// Returns true if pid exists in the process table, false otherwise. -func (m *Manager) Kill(pid int64) bool { - m.mu.Lock() - entry, ok := m.entries[pid] - m.mu.Unlock() - - if ok { - entry.Kill() - return true - } - - return false -} - -// ListProcesses marshals the process State for the given pids. -// If no pids are specified, all current processes are included. -// The return value can be used for responding to a VixMsgListProcessesExRequest. -func (m *Manager) ListProcesses(pids []int64) []byte { - w := new(bytes.Buffer) - - for _, p := range m.List(pids) { - _, _ = w.WriteString(p.toXML()) - } - - return w.Bytes() -} - -// List the process State for the given pids. -func (m *Manager) List(pids []int64) []State { - var list []State - - m.mu.Lock() - - if len(pids) == 0 { - for _, p := range m.entries { - list = append(list, p.State) - } - } else { - for _, id := range pids { - p, ok := m.entries[id] - if !ok { - continue - } - - list = append(list, p.State) - } - } - - m.mu.Unlock() - - return list -} - -type procFileInfo struct { - os.FileInfo -} - -// Size returns hgfs.LargePacketMax such that InitiateFileTransferFromGuest can download a /proc/ file from the guest. -// If we were to return the size '0' here, then a 'Content-Length: 0' header is returned by VC/ESX. -func (p procFileInfo) Size() int64 { - return hgfs.LargePacketMax // Remember, Sully, when I promised to kill you last? I lied. -} - -// Stat implements hgfs.FileHandler.Stat -func (m *Manager) Stat(u *url.URL) (os.FileInfo, error) { - name := path.Join("/proc", u.Path) - - info, err := os.Stat(name) - if err == nil && info.Size() == 0 { - // This is a real /proc file - return &procFileInfo{info}, nil - } - - dir, file := path.Split(u.Path) - - pid, err := strconv.ParseInt(path.Base(dir), 10, 64) - if err != nil { - return nil, os.ErrNotExist - } - - m.mu.Lock() - p := m.entries[pid] - m.mu.Unlock() - - if p == nil || p.IO == nil { - return nil, os.ErrNotExist - } - - pf := &File{ - name: name, - Closer: ioutil.NopCloser(nil), // via hgfs, nop for stdout and stderr - } - - var r *bytes.Buffer - - switch file { - case "stdin": - pf.Writer = p.IO.In.Writer - pf.Closer = p.IO.In.Closer - return pf, nil - case "stdout": - r = p.IO.Out - case "stderr": - r = p.IO.Err - default: - return nil, os.ErrNotExist - } - - select { - case <-p.ctx.Done(): - case <-time.After(time.Second): - // The vmx guest RPC calls are queue based, serialized on the vmx side. - // There are 5 seconds between "ping" RPC calls and after a few misses, - // the vmx considers tools as not running. In this case, the vmx would timeout - // a file transfer after 60 seconds. - // - // vix.FileAccessError is converted to a CannotAccessFile fault, - // so the client can choose to retry the transfer in this case. - // Would have preferred vix.ObjectIsBusy (EBUSY), but VC/ESX converts that - // to a general SystemErrorFault with nothing but a localized string message - // to check against: "vix error codes = (5, 0)." - // Is standard vmware-tools, EACCES is converted to a CannotAccessFile fault. - return nil, vix.Error(vix.FileAccessError) - } - - pf.Reader = r - pf.size = r.Len() - - return pf, nil -} - -// Open implements hgfs.FileHandler.Open -func (m *Manager) Open(u *url.URL, mode int32) (hgfs.File, error) { - info, err := m.Stat(u) - if err != nil { - return nil, err - } - - pinfo, ok := info.(*File) - - if !ok { - return nil, os.ErrNotExist // fall through to default os.Open - } - - switch path.Base(u.Path) { - case "stdin": - if mode != hgfs.OpenModeWriteOnly { - return nil, vix.Error(vix.InvalidArg) - } - case "stdout", "stderr": - if mode != hgfs.OpenModeReadOnly { - return nil, vix.Error(vix.InvalidArg) - } - } - - return pinfo, nil -} - -type processFunc struct { - wg sync.WaitGroup - - run func(context.Context, string) error - - err error -} - -// NewFunc creates a new Process, where the Start function calls the given run function within a goroutine. -// The Wait function waits for the goroutine to finish and returns the error returned by run. -// The run ctx param may be used to return early via the process Manager.Kill method. -// The run args command is that of the VixMsgStartProgramRequest.Arguments field. -func NewFunc(run func(ctx context.Context, args string) error) *Process { - f := &processFunc{run: run} - - return &Process{ - Start: f.start, - Wait: f.wait, - } -} - -// FuncIO is the Context key to access optional ProcessIO -var FuncIO = struct { - key int64 -}{vix.CommandMagicWord} - -func (f *processFunc) start(p *Process, r *vix.StartProgramRequest) (int64, error) { - f.wg.Add(1) - - var c io.Closer - - if p.IO != nil { - pr, pw := io.Pipe() - - p.IO.In.Reader, p.IO.In.Writer = pr, pw - c, p.IO.In.Closer = pr, pw - - p.ctx = context.WithValue(p.ctx, FuncIO, p.IO) - } - - go func() { - f.err = f.run(p.ctx, r.Arguments) - - if p.IO != nil { - _ = c.Close() - - if f.err != nil && p.IO.Err.Len() == 0 { - p.IO.Err.WriteString(f.err.Error()) - } - } - - f.wg.Done() - }() - - return 0, nil -} - -func (f *processFunc) wait() error { - f.wg.Wait() - return f.err -} - -type processCmd struct { - cmd *exec.Cmd -} - -// New creates a new Process, where the Start function use exec.CommandContext to create and start the process. -// The Wait function waits for the process to finish and returns the error returned by exec.Cmd.Wait(). -// Prior to Wait returning, the exec.Cmd.Wait() error is used to set the Process.ExitCode, if error is of type exec.ExitError. -// The ctx param may be used to kill the process via the process Manager.Kill method. -// The VixMsgStartProgramRequest param fields are mapped to the exec.Cmd counterpart fields. -// Processes are started within a sub-shell, allowing for i/o redirection, just as with the C version of vmware-tools. -func New() *Process { - c := new(processCmd) - - return &Process{ - Start: c.start, - Wait: c.wait, - } -} - -func (c *processCmd) start(p *Process, r *vix.StartProgramRequest) (int64, error) { - name, err := exec.LookPath(r.ProgramPath) - if err != nil { - return -1, err - } - // #nosec: Subprocess launching with variable - // Note that processCmd is currently used only for testing. - c.cmd = exec.CommandContext(p.ctx, shell, "-c", fmt.Sprintf("%s %s", name, r.Arguments)) - c.cmd.Dir = r.WorkingDir - c.cmd.Env = r.EnvVars - - if p.IO != nil { - in, perr := c.cmd.StdinPipe() - if perr != nil { - return -1, perr - } - - p.IO.In.Writer = in - p.IO.In.Closer = in - - // Note we currently use a Buffer in addition to the os.Pipe so that: - // - Stat() can provide a size - // - FileTransferFromGuest won't block - // - Can't use the exec.Cmd.Std{out,err}Pipe methods since Wait() closes the pipes. - // We could use os.Pipe directly, but toolbox needs to take care of closing both ends, - // but also need to prevent FileTransferFromGuest from blocking. - c.cmd.Stdout = p.IO.Out - c.cmd.Stderr = p.IO.Err - } - - err = c.cmd.Start() - if err != nil { - return -1, err - } - - return int64(c.cmd.Process.Pid), nil -} - -func (c *processCmd) wait() error { - err := c.cmd.Wait() - if err != nil { - xerr := &Error{ - Err: err, - ExitCode: 1, - } - - if x, ok := err.(*exec.ExitError); ok { - if status, ok := x.Sys().(syscall.WaitStatus); ok { - xerr.ExitCode = int32(status.ExitStatus()) - } - } - - return xerr - } - - return nil -} - -// NewRoundTrip starts a Go function to implement a toolbox backed http.RoundTripper -func NewRoundTrip() *Process { - return NewFunc(func(ctx context.Context, host string) error { - p, _ := ctx.Value(FuncIO).(*IO) - - closers := []io.Closer{p.In.Closer} - - defer func() { - for _, c := range closers { - _ = c.Close() - } - }() - - c, err := new(net.Dialer).DialContext(ctx, "tcp", host) - if err != nil { - return err - } - - closers = append(closers, c) - - go func() { - <-ctx.Done() - if ctx.Err() == context.DeadlineExceeded { - _ = c.Close() - } - }() - - _, err = io.Copy(c, p.In.Reader) - if err != nil { - return err - } - - _, err = io.Copy(p.Out, c) - if err != nil { - return err - } - - return nil - }).WithIO() -} diff --git a/vendor/github.com/vmware/govmomi/toolbox/vix/property.go b/vendor/github.com/vmware/govmomi/toolbox/vix/property.go deleted file mode 100644 index 914de0869da..00000000000 --- a/vendor/github.com/vmware/govmomi/toolbox/vix/property.go +++ /dev/null @@ -1,236 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vix - -import ( - "bytes" - "encoding/binary" - "errors" -) - -// Property type enum as defined in open-vm-tools/lib/include/vix.h -const ( - _ = iota // ANY type not supported - vixPropertyTypeInt32 - vixPropertyTypeString - vixPropertyTypeBool - _ // HANDLE type not supported - vixPropertyTypeInt64 - vixPropertyTypeBlob -) - -// Property ID enum as defined in open-vm-tools/lib/include/vixOpenSource.h -const ( - PropertyGuestToolsAPIOptions = 4501 - PropertyGuestOsFamily = 4502 - PropertyGuestOsVersion = 4503 - PropertyGuestToolsProductNam = 4511 - PropertyGuestToolsVersion = 4500 - PropertyGuestName = 4505 - PropertyGuestOsVersionShort = 4520 - - PropertyGuestStartProgramEnabled = 4540 - PropertyGuestListProcessesEnabled = 4541 - PropertyGuestTerminateProcessEnabled = 4542 - PropertyGuestReadEnvironmentVariableEnabled = 4543 - - PropertyGuestMakeDirectoryEnabled = 4547 - PropertyGuestDeleteFileEnabled = 4548 - PropertyGuestDeleteDirectoryEnabled = 4549 - PropertyGuestMoveDirectoryEnabled = 4550 - PropertyGuestMoveFileEnabled = 4551 - PropertyGuestCreateTempFileEnabled = 4552 - PropertyGuestCreateTempDirectoryEnabled = 4553 - PropertyGuestListFilesEnabled = 4554 - PropertyGuestChangeFileAttributesEnabled = 4555 - PropertyGuestInitiateFileTransferFromGuestEnabled = 4556 - PropertyGuestInitiateFileTransferToGuestEnabled = 4557 -) - -type Property struct { - header struct { - ID int32 - Kind int32 - Length int32 - } - - data struct { - Int32 int32 - String string - Bool uint8 - Int64 int64 - Blob []byte - } -} - -var int32Size int32 - -func init() { - var i int32 - int32Size = int32(binary.Size(&i)) -} - -type PropertyList []*Property - -func NewInt32Property(id int32, val int32) *Property { - p := new(Property) - p.header.ID = id - p.header.Kind = vixPropertyTypeInt32 - p.header.Length = int32Size - p.data.Int32 = val - return p -} - -func NewStringProperty(id int32, val string) *Property { - p := new(Property) - p.header.ID = id - p.header.Kind = vixPropertyTypeString - p.header.Length = int32(len(val) + 1) - p.data.String = val - return p -} - -func NewBoolProperty(id int32, val bool) *Property { - p := new(Property) - p.header.ID = id - p.header.Kind = vixPropertyTypeBool - p.header.Length = 1 - if val { - p.data.Bool = 1 - } - return p -} - -func NewInt64Property(id int32, val int64) *Property { - p := new(Property) - p.header.ID = id - p.header.Kind = vixPropertyTypeInt64 - p.header.Length = int32Size * 2 - p.data.Int64 = val - return p -} - -func NewBlobProperty(id int32, val []byte) *Property { - p := new(Property) - p.header.ID = id - p.header.Kind = vixPropertyTypeBlob - p.header.Length = int32(len(val)) - p.data.Blob = val - return p -} - -// MarshalBinary implements the encoding.BinaryMarshaler interface -func (p *Property) MarshalBinary() ([]byte, error) { - buf := new(bytes.Buffer) - - // #nosec: Errors unhandled - _ = binary.Write(buf, binary.LittleEndian, &p.header) - - switch p.header.Kind { - case vixPropertyTypeBool: - // #nosec: Errors unhandled - _ = binary.Write(buf, binary.LittleEndian, p.data.Bool) - case vixPropertyTypeInt32: - // #nosec: Errors unhandled - _ = binary.Write(buf, binary.LittleEndian, p.data.Int32) - case vixPropertyTypeInt64: - // #nosec: Errors unhandled - _ = binary.Write(buf, binary.LittleEndian, p.data.Int64) - case vixPropertyTypeString: - // #nosec: Errors unhandled - _, _ = buf.WriteString(p.data.String) - // #nosec: Errors unhandled - _ = buf.WriteByte(0) - case vixPropertyTypeBlob: - // #nosec: Errors unhandled - _, _ = buf.Write(p.data.Blob) - } - - return buf.Bytes(), nil -} - -// UnmarshalBinary implements the encoding.BinaryUnmarshaler interface -func (p *Property) UnmarshalBinary(data []byte) error { - buf := bytes.NewBuffer(data) - - err := binary.Read(buf, binary.LittleEndian, &p.header) - if err != nil { - return err - } - - switch p.header.Kind { - case vixPropertyTypeBool: - return binary.Read(buf, binary.LittleEndian, &p.data.Bool) - case vixPropertyTypeInt32: - return binary.Read(buf, binary.LittleEndian, &p.data.Int32) - case vixPropertyTypeInt64: - return binary.Read(buf, binary.LittleEndian, &p.data.Int64) - case vixPropertyTypeString: - s := make([]byte, p.header.Length) - if _, err := buf.Read(s); err != nil { - return err - } - - p.data.String = string(bytes.TrimRight(s, "\x00")) - case vixPropertyTypeBlob: - p.data.Blob = make([]byte, p.header.Length) - if _, err := buf.Read(p.data.Blob); err != nil { - return err - } - default: - return errors.New("VIX_E_UNRECOGNIZED_PROPERTY") - } - - return nil -} - -// UnmarshalBinary implements the encoding.BinaryUnmarshaler interface -func (l *PropertyList) UnmarshalBinary(data []byte) error { - headerSize := int32Size * 3 - - for { - p := new(Property) - - err := p.UnmarshalBinary(data) - if err != nil { - return err - } - - *l = append(*l, p) - - offset := headerSize + p.header.Length - data = data[offset:] - - if len(data) == 0 { - return nil - } - } -} - -// MarshalBinary implements the encoding.BinaryMarshaler interface -func (l *PropertyList) MarshalBinary() ([]byte, error) { - var buf bytes.Buffer - - for _, p := range *l { - // #nosec: Errors unhandled - b, _ := p.MarshalBinary() - // #nosec: Errors unhandled - _, _ = buf.Write(b) - } - - return buf.Bytes(), nil -} diff --git a/vendor/github.com/vmware/govmomi/toolbox/vix/protocol.go b/vendor/github.com/vmware/govmomi/toolbox/vix/protocol.go deleted file mode 100644 index 2709098f070..00000000000 --- a/vendor/github.com/vmware/govmomi/toolbox/vix/protocol.go +++ /dev/null @@ -1,847 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vix - -import ( - "bytes" - "encoding/base64" - "encoding/binary" - "fmt" - "os" - "os/exec" - "syscall" -) - -const ( - CommandMagicWord = 0xd00d0001 - - CommandGetToolsState = 62 - - CommandStartProgram = 185 - CommandListProcessesEx = 186 - CommandReadEnvVariables = 187 - CommandTerminateProcess = 193 - - CommandCreateDirectoryEx = 178 - CommandMoveGuestFileEx = 179 - CommandMoveGuestDirectory = 180 - CommandCreateTemporaryFileEx = 181 - CommandCreateTemporaryDirectory = 182 - CommandSetGuestFileAttributes = 183 - CommandDeleteGuestFileEx = 194 - CommandDeleteGuestDirectoryEx = 195 - - CommandListFiles = 177 - HgfsSendPacketCommand = 84 - CommandInitiateFileTransferFromGuest = 188 - CommandInitiateFileTransferToGuest = 189 - - // VIX_USER_CREDENTIAL_NAME_PASSWORD - UserCredentialTypeNamePassword = 1 - - // VIX_E_* constants from vix.h - OK = 0 - Fail = 1 - InvalidArg = 3 - FileNotFound = 4 - FileAlreadyExists = 12 - FileAccessError = 13 - AuthenticationFail = 35 - - UnrecognizedCommandInGuest = 3025 - InvalidMessageHeader = 10000 - InvalidMessageBody = 10001 - NotAFile = 20001 - NotADirectory = 20002 - NoSuchProcess = 20003 - DirectoryNotEmpty = 20006 - - // VIX_COMMAND_* constants from Commands.h - CommandGuestReturnsBinary = 0x80 - - // VIX_FILE_ATTRIBUTES_ constants from vix.h - FileAttributesDirectory = 0x0001 - FileAttributesSymlink = 0x0002 -) - -// SetGuestFileAttributes flags as defined in vixOpenSource.h -const ( - FileAttributeSetAccessDate = 0x0001 - FileAttributeSetModifyDate = 0x0002 - FileAttributeSetReadonly = 0x0004 - FileAttributeSetHidden = 0x0008 - FileAttributeSetUnixOwnerid = 0x0010 - FileAttributeSetUnixGroupid = 0x0020 - FileAttributeSetUnixPermissions = 0x0040 -) - -type Error int - -func (err Error) Error() string { - return fmt.Sprintf("vix error=%d", err) -} - -// ErrorCode does its best to map the given error to a VIX error code. -// See also: Vix_TranslateErrno -func ErrorCode(err error) int { - switch t := err.(type) { - case Error: - return int(t) - case *os.PathError: - if errno, ok := t.Err.(syscall.Errno); ok { - switch errno { - case syscall.ENOTEMPTY: - return DirectoryNotEmpty - } - } - case *exec.Error: - if t.Err == exec.ErrNotFound { - return FileNotFound - } - } - - switch { - case os.IsNotExist(err): - return FileNotFound - case os.IsExist(err): - return FileAlreadyExists - case os.IsPermission(err): - return FileAccessError - default: - return Fail - } -} - -type Header struct { - Magic uint32 - MessageVersion uint16 - - TotalMessageLength uint32 - HeaderLength uint32 - BodyLength uint32 - CredentialLength uint32 - - CommonFlags uint8 -} - -type CommandRequestHeader struct { - Header - - OpCode uint32 - RequestFlags uint32 - - TimeOut uint32 - - Cookie uint64 - ClientHandleID uint32 - - UserCredentialType uint32 -} - -type StartProgramRequest struct { - CommandRequestHeader - - Body struct { - StartMinimized uint8 - ProgramPathLength uint32 - ArgumentsLength uint32 - WorkingDirLength uint32 - NumEnvVars uint32 - EnvVarLength uint32 - } - - ProgramPath string - Arguments string - WorkingDir string - EnvVars []string -} - -// MarshalBinary implements the encoding.BinaryMarshaler interface -func (r *StartProgramRequest) MarshalBinary() ([]byte, error) { - var env bytes.Buffer - - if n := len(r.EnvVars); n != 0 { - for _, e := range r.EnvVars { - _, _ = env.Write([]byte(e)) - _ = env.WriteByte(0) - } - r.Body.NumEnvVars = uint32(n) - r.Body.EnvVarLength = uint32(env.Len()) - } - - var fields []string - - add := func(s string, l *uint32) { - if n := len(s); n != 0 { - *l = uint32(n) + 1 - fields = append(fields, s) - } - } - - add(r.ProgramPath, &r.Body.ProgramPathLength) - add(r.Arguments, &r.Body.ArgumentsLength) - add(r.WorkingDir, &r.Body.WorkingDirLength) - - buf := new(bytes.Buffer) - - _ = binary.Write(buf, binary.LittleEndian, &r.Body) - - for _, val := range fields { - _, _ = buf.Write([]byte(val)) - _ = buf.WriteByte(0) - } - - if r.Body.EnvVarLength != 0 { - _, _ = buf.Write(env.Bytes()) - } - - return buf.Bytes(), nil -} - -// UnmarshalBinary implements the encoding.BinaryUnmarshaler interface -func (r *StartProgramRequest) UnmarshalBinary(data []byte) error { - buf := bytes.NewBuffer(data) - - err := binary.Read(buf, binary.LittleEndian, &r.Body) - if err != nil { - return err - } - - fields := []struct { - len uint32 - val *string - }{ - {r.Body.ProgramPathLength, &r.ProgramPath}, - {r.Body.ArgumentsLength, &r.Arguments}, - {r.Body.WorkingDirLength, &r.WorkingDir}, - } - - for _, field := range fields { - if field.len == 0 { - continue - } - - x := buf.Next(int(field.len)) - *field.val = string(bytes.TrimRight(x, "\x00")) - } - - for i := 0; i < int(r.Body.NumEnvVars); i++ { - env, rerr := buf.ReadString(0) - if rerr != nil { - return rerr - } - - env = env[:len(env)-1] // discard NULL terminator - r.EnvVars = append(r.EnvVars, env) - } - - return nil -} - -type KillProcessRequest struct { - CommandRequestHeader - - Body struct { - Pid int64 - Options uint32 - } -} - -// MarshalBinary implements the encoding.BinaryMarshaler interface -func (r *KillProcessRequest) MarshalBinary() ([]byte, error) { - buf := new(bytes.Buffer) - - _ = binary.Write(buf, binary.LittleEndian, &r.Body) - - return buf.Bytes(), nil -} - -// UnmarshalBinary implements the encoding.BinaryUnmarshaler interface -func (r *KillProcessRequest) UnmarshalBinary(data []byte) error { - buf := bytes.NewBuffer(data) - - return binary.Read(buf, binary.LittleEndian, &r.Body) -} - -type ListProcessesRequest struct { - CommandRequestHeader - - Body struct { - Key uint32 - Offset uint32 - NumPids uint32 - } - - Pids []int64 -} - -// MarshalBinary implements the encoding.BinaryMarshaler interface -func (r *ListProcessesRequest) MarshalBinary() ([]byte, error) { - r.Body.NumPids = uint32(len(r.Pids)) - - buf := new(bytes.Buffer) - - _ = binary.Write(buf, binary.LittleEndian, &r.Body) - - for _, pid := range r.Pids { - _ = binary.Write(buf, binary.LittleEndian, &pid) - } - - return buf.Bytes(), nil -} - -// UnmarshalBinary implements the encoding.BinaryUnmarshaler interface -func (r *ListProcessesRequest) UnmarshalBinary(data []byte) error { - buf := bytes.NewBuffer(data) - - err := binary.Read(buf, binary.LittleEndian, &r.Body) - if err != nil { - return err - } - - r.Pids = make([]int64, r.Body.NumPids) - - for i := uint32(0); i < r.Body.NumPids; i++ { - err := binary.Read(buf, binary.LittleEndian, &r.Pids[i]) - if err != nil { - return err - } - } - - return nil -} - -type ReadEnvironmentVariablesRequest struct { - CommandRequestHeader - - Body struct { - NumNames uint32 - NamesLength uint32 - } - - Names []string -} - -// MarshalBinary implements the encoding.BinaryMarshaler interface -func (r *ReadEnvironmentVariablesRequest) MarshalBinary() ([]byte, error) { - var env bytes.Buffer - - if n := len(r.Names); n != 0 { - for _, e := range r.Names { - _, _ = env.Write([]byte(e)) - _ = env.WriteByte(0) - } - r.Body.NumNames = uint32(n) - r.Body.NamesLength = uint32(env.Len()) - } - - buf := new(bytes.Buffer) - - _ = binary.Write(buf, binary.LittleEndian, &r.Body) - - if r.Body.NamesLength != 0 { - _, _ = buf.Write(env.Bytes()) - } - - return buf.Bytes(), nil -} - -// UnmarshalBinary implements the encoding.BinaryUnmarshaler interface -func (r *ReadEnvironmentVariablesRequest) UnmarshalBinary(data []byte) error { - buf := bytes.NewBuffer(data) - - err := binary.Read(buf, binary.LittleEndian, &r.Body) - if err != nil { - return err - } - - for i := 0; i < int(r.Body.NumNames); i++ { - env, rerr := buf.ReadString(0) - if rerr != nil { - return rerr - } - - env = env[:len(env)-1] // discard NULL terminator - r.Names = append(r.Names, env) - } - - return nil -} - -type CreateTempFileRequest struct { - CommandRequestHeader - - Body struct { - Options int32 - FilePrefixLength uint32 - FileSuffixLength uint32 - DirectoryPathLength uint32 - PropertyListLength uint32 - } - - FilePrefix string - FileSuffix string - DirectoryPath string -} - -// MarshalBinary implements the encoding.BinaryMarshaler interface -func (r *CreateTempFileRequest) MarshalBinary() ([]byte, error) { - var fields []string - - add := func(s string, l *uint32) { - *l = uint32(len(s)) // NOTE: NULL byte is not included in the length fields on the wire - fields = append(fields, s) - } - - add(r.FilePrefix, &r.Body.FilePrefixLength) - add(r.FileSuffix, &r.Body.FileSuffixLength) - add(r.DirectoryPath, &r.Body.DirectoryPathLength) - - buf := new(bytes.Buffer) - - _ = binary.Write(buf, binary.LittleEndian, &r.Body) - - for _, val := range fields { - _, _ = buf.Write([]byte(val)) - _ = buf.WriteByte(0) - } - - return buf.Bytes(), nil -} - -// UnmarshalBinary implements the encoding.BinaryUnmarshaler interface -func (r *CreateTempFileRequest) UnmarshalBinary(data []byte) error { - buf := bytes.NewBuffer(data) - - err := binary.Read(buf, binary.LittleEndian, &r.Body) - if err != nil { - return err - } - - fields := []struct { - len uint32 - val *string - }{ - {r.Body.FilePrefixLength, &r.FilePrefix}, - {r.Body.FileSuffixLength, &r.FileSuffix}, - {r.Body.DirectoryPathLength, &r.DirectoryPath}, - } - - for _, field := range fields { - field.len++ // NOTE: NULL byte is not included in the length fields on the wire - - x := buf.Next(int(field.len)) - *field.val = string(bytes.TrimRight(x, "\x00")) - } - - return nil -} - -type FileRequest struct { - CommandRequestHeader - - Body struct { - FileOptions int32 - GuestPathNameLength uint32 - } - - GuestPathName string -} - -// MarshalBinary implements the encoding.BinaryMarshaler interface -func (r *FileRequest) MarshalBinary() ([]byte, error) { - buf := new(bytes.Buffer) - - r.Body.GuestPathNameLength = uint32(len(r.GuestPathName)) - - _ = binary.Write(buf, binary.LittleEndian, &r.Body) - - _, _ = buf.WriteString(r.GuestPathName) - _ = buf.WriteByte(0) - - return buf.Bytes(), nil -} - -// UnmarshalBinary implements the encoding.BinaryUnmarshaler interface -func (r *FileRequest) UnmarshalBinary(data []byte) error { - buf := bytes.NewBuffer(data) - - err := binary.Read(buf, binary.LittleEndian, &r.Body) - if err != nil { - return err - } - - name := buf.Next(int(r.Body.GuestPathNameLength)) - r.GuestPathName = string(bytes.TrimRight(name, "\x00")) - - return nil -} - -type DirRequest struct { - CommandRequestHeader - - Body struct { - FileOptions int32 - GuestPathNameLength uint32 - FilePropertiesLength uint32 - Recursive bool - } - - GuestPathName string -} - -// MarshalBinary implements the encoding.BinaryMarshaler interface -func (r *DirRequest) MarshalBinary() ([]byte, error) { - buf := new(bytes.Buffer) - - r.Body.GuestPathNameLength = uint32(len(r.GuestPathName)) - - _ = binary.Write(buf, binary.LittleEndian, &r.Body) - - _, _ = buf.WriteString(r.GuestPathName) - _ = buf.WriteByte(0) - - return buf.Bytes(), nil -} - -// UnmarshalBinary implements the encoding.BinaryUnmarshaler interface -func (r *DirRequest) UnmarshalBinary(data []byte) error { - buf := bytes.NewBuffer(data) - - err := binary.Read(buf, binary.LittleEndian, &r.Body) - if err != nil { - return err - } - - name := buf.Next(int(r.Body.GuestPathNameLength)) - r.GuestPathName = string(bytes.TrimRight(name, "\x00")) - - return nil -} - -type RenameFileRequest struct { - CommandRequestHeader - - Body struct { - CopyFileOptions int32 - OldPathNameLength uint32 - NewPathNameLength uint32 - FilePropertiesLength uint32 - Overwrite bool - } - - OldPathName string - NewPathName string -} - -// MarshalBinary implements the encoding.BinaryMarshaler interface -func (r *RenameFileRequest) MarshalBinary() ([]byte, error) { - var fields []string - - add := func(s string, l *uint32) { - *l = uint32(len(s)) // NOTE: NULL byte is not included in the length fields on the wire - fields = append(fields, s) - } - - add(r.OldPathName, &r.Body.OldPathNameLength) - add(r.NewPathName, &r.Body.NewPathNameLength) - - buf := new(bytes.Buffer) - - _ = binary.Write(buf, binary.LittleEndian, &r.Body) - - for _, val := range fields { - _, _ = buf.Write([]byte(val)) - _ = buf.WriteByte(0) - } - - return buf.Bytes(), nil -} - -// UnmarshalBinary implements the encoding.BinaryUnmarshaler interface -func (r *RenameFileRequest) UnmarshalBinary(data []byte) error { - buf := bytes.NewBuffer(data) - - err := binary.Read(buf, binary.LittleEndian, &r.Body) - if err != nil { - return err - } - - fields := []struct { - len uint32 - val *string - }{ - {r.Body.OldPathNameLength, &r.OldPathName}, - {r.Body.NewPathNameLength, &r.NewPathName}, - } - - for _, field := range fields { - field.len++ // NOTE: NULL byte is not included in the length fields on the wire - - x := buf.Next(int(field.len)) - *field.val = string(bytes.TrimRight(x, "\x00")) - } - - return nil -} - -type ListFilesRequest struct { - CommandRequestHeader - - Body struct { - FileOptions int32 - GuestPathNameLength uint32 - PatternLength uint32 - Index int32 - MaxResults int32 - Offset uint64 - } - - GuestPathName string - Pattern string -} - -// MarshalBinary implements the encoding.BinaryMarshaler interface -func (r *ListFilesRequest) MarshalBinary() ([]byte, error) { - var fields []string - - add := func(s string, l *uint32) { - if n := len(s); n != 0 { - *l = uint32(n) + 1 - fields = append(fields, s) - } - } - - add(r.GuestPathName, &r.Body.GuestPathNameLength) - add(r.Pattern, &r.Body.PatternLength) - - buf := new(bytes.Buffer) - - _ = binary.Write(buf, binary.LittleEndian, &r.Body) - - for _, val := range fields { - _, _ = buf.Write([]byte(val)) - _ = buf.WriteByte(0) - } - - return buf.Bytes(), nil -} - -// UnmarshalBinary implements the encoding.BinaryUnmarshaler interface -func (r *ListFilesRequest) UnmarshalBinary(data []byte) error { - buf := bytes.NewBuffer(data) - - err := binary.Read(buf, binary.LittleEndian, &r.Body) - if err != nil { - return err - } - - fields := []struct { - len uint32 - val *string - }{ - {r.Body.GuestPathNameLength, &r.GuestPathName}, - {r.Body.PatternLength, &r.Pattern}, - } - - for _, field := range fields { - if field.len == 0 { - continue - } - - x := buf.Next(int(field.len)) - *field.val = string(bytes.TrimRight(x, "\x00")) - } - - return nil -} - -type SetGuestFileAttributesRequest struct { - CommandRequestHeader - - Body struct { - FileOptions int32 - AccessTime int64 - ModificationTime int64 - OwnerID int32 - GroupID int32 - Permissions int32 - Hidden bool - ReadOnly bool - GuestPathNameLength uint32 - } - - GuestPathName string -} - -// MarshalBinary implements the encoding.BinaryMarshaler interface -func (r *SetGuestFileAttributesRequest) MarshalBinary() ([]byte, error) { - buf := new(bytes.Buffer) - - r.Body.GuestPathNameLength = uint32(len(r.GuestPathName)) - - _ = binary.Write(buf, binary.LittleEndian, &r.Body) - - _, _ = buf.WriteString(r.GuestPathName) - _ = buf.WriteByte(0) - - return buf.Bytes(), nil -} - -// UnmarshalBinary implements the encoding.BinaryUnmarshaler interface -func (r *SetGuestFileAttributesRequest) UnmarshalBinary(data []byte) error { - buf := bytes.NewBuffer(data) - - err := binary.Read(buf, binary.LittleEndian, &r.Body) - if err != nil { - return err - } - - name := buf.Next(int(r.Body.GuestPathNameLength)) - r.GuestPathName = string(bytes.TrimRight(name, "\x00")) - - return nil -} - -func (r *SetGuestFileAttributesRequest) IsSet(opt int32) bool { - return r.Body.FileOptions&opt == opt -} - -type CommandHgfsSendPacket struct { - CommandRequestHeader - - Body struct { - PacketSize uint32 - Timeout int32 - } - - Packet []byte -} - -// MarshalBinary implements the encoding.BinaryMarshaler interface -func (r *CommandHgfsSendPacket) MarshalBinary() ([]byte, error) { - buf := new(bytes.Buffer) - - _ = binary.Write(buf, binary.LittleEndian, &r.Body) - - _, _ = buf.Write(r.Packet) - - return buf.Bytes(), nil -} - -// UnmarshalBinary implements the encoding.BinaryUnmarshaler interface -func (r *CommandHgfsSendPacket) UnmarshalBinary(data []byte) error { - buf := bytes.NewBuffer(data) - - err := binary.Read(buf, binary.LittleEndian, &r.Body) - if err != nil { - return err - } - - r.Packet = buf.Next(int(r.Body.PacketSize)) - - return nil -} - -type InitiateFileTransferToGuestRequest struct { - CommandRequestHeader - - Body struct { - Options int32 - GuestPathNameLength uint32 - Overwrite bool - } - - GuestPathName string -} - -// MarshalBinary implements the encoding.BinaryMarshaler interface -func (r *InitiateFileTransferToGuestRequest) MarshalBinary() ([]byte, error) { - buf := new(bytes.Buffer) - - r.Body.GuestPathNameLength = uint32(len(r.GuestPathName)) - - _ = binary.Write(buf, binary.LittleEndian, &r.Body) - - _, _ = buf.WriteString(r.GuestPathName) - _ = buf.WriteByte(0) - - return buf.Bytes(), nil -} - -// UnmarshalBinary implements the encoding.BinaryUnmarshaler interface -func (r *InitiateFileTransferToGuestRequest) UnmarshalBinary(data []byte) error { - buf := bytes.NewBuffer(data) - - err := binary.Read(buf, binary.LittleEndian, &r.Body) - if err != nil { - return err - } - - name := buf.Next(int(r.Body.GuestPathNameLength)) - r.GuestPathName = string(bytes.TrimRight(name, "\x00")) - - return nil -} - -type UserCredentialNamePassword struct { - Body struct { - NameLength uint32 - PasswordLength uint32 - } - - Name string - Password string -} - -func (c *UserCredentialNamePassword) UnmarshalBinary(data []byte) error { - buf := bytes.NewBuffer(bytes.TrimRight(data, "\x00")) - - err := binary.Read(buf, binary.LittleEndian, &c.Body) - if err != nil { - return err - } - - str, err := base64.StdEncoding.DecodeString(buf.String()) - if err != nil { - return err - } - - c.Name = string(str[0:c.Body.NameLength]) - c.Password = string(str[c.Body.NameLength+1 : len(str)-1]) - - return nil -} - -func (c *UserCredentialNamePassword) MarshalBinary() ([]byte, error) { - buf := new(bytes.Buffer) - - c.Body.NameLength = uint32(len(c.Name)) - c.Body.PasswordLength = uint32(len(c.Password)) - - _ = binary.Write(buf, binary.LittleEndian, &c.Body) - - src := append([]byte(c.Name+"\x00"), []byte(c.Password+"\x00")...) - - enc := base64.StdEncoding - pwd := make([]byte, enc.EncodedLen(len(src))) - enc.Encode(pwd, src) - _, _ = buf.Write(pwd) - _ = buf.WriteByte(0) - - return buf.Bytes(), nil -} diff --git a/vendor/github.com/vmware/govmomi/units/size.go b/vendor/github.com/vmware/govmomi/units/size.go deleted file mode 100644 index f4ee3fcfc8d..00000000000 --- a/vendor/github.com/vmware/govmomi/units/size.go +++ /dev/null @@ -1,109 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package units - -import ( - "errors" - "fmt" - "regexp" - "strconv" -) - -type ByteSize int64 - -const ( - _ = iota - KB = 1 << (10 * iota) - MB - GB - TB - PB - EB -) - -func (b ByteSize) String() string { - switch { - case b >= EB: - return fmt.Sprintf("%.1fEB", float32(b)/EB) - case b >= PB: - return fmt.Sprintf("%.1fPB", float32(b)/PB) - case b >= TB: - return fmt.Sprintf("%.1fTB", float32(b)/TB) - case b >= GB: - return fmt.Sprintf("%.1fGB", float32(b)/GB) - case b >= MB: - return fmt.Sprintf("%.1fMB", float32(b)/MB) - case b >= KB: - return fmt.Sprintf("%.1fKB", float32(b)/KB) - } - return fmt.Sprintf("%dB", b) -} - -type FileSize int64 - -func (b FileSize) String() string { - switch { - case b >= EB: - return fmt.Sprintf("%.1fE", float32(b)/EB) - case b >= PB: - return fmt.Sprintf("%.1fP", float32(b)/PB) - case b >= TB: - return fmt.Sprintf("%.1fT", float32(b)/TB) - case b >= GB: - return fmt.Sprintf("%.1fG", float32(b)/GB) - case b >= MB: - return fmt.Sprintf("%.1fM", float32(b)/MB) - case b >= KB: - return fmt.Sprintf("%.1fK", float32(b)/KB) - } - return fmt.Sprintf("%d", b) -} - -var bytesRegexp = regexp.MustCompile(`^(?i)(\d+)([BKMGTPE]?)(ib|b)?$`) - -func (b *ByteSize) Set(s string) error { - m := bytesRegexp.FindStringSubmatch(s) - if len(m) == 0 { - return errors.New("invalid byte value") - } - - i, err := strconv.ParseInt(m[1], 10, 64) - if err != nil { - return err - } - *b = ByteSize(i) - - switch m[2] { - case "B", "b", "": - case "K", "k": - *b *= ByteSize(KB) - case "M", "m": - *b *= ByteSize(MB) - case "G", "g": - *b *= ByteSize(GB) - case "T", "t": - *b *= ByteSize(TB) - case "P", "p": - *b *= ByteSize(PB) - case "E", "e": - *b *= ByteSize(EB) - default: - return errors.New("invalid byte suffix") - } - - return nil -} diff --git a/vendor/github.com/vmware/govmomi/vapi/doc.go b/vendor/github.com/vmware/govmomi/vapi/doc.go deleted file mode 100644 index 3ec8093522a..00000000000 --- a/vendor/github.com/vmware/govmomi/vapi/doc.go +++ /dev/null @@ -1,21 +0,0 @@ -/* -Copyright (c) 2018 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -/* -Package vapi provides access to vSphere Automation APIs that are not available in the SOAP API, -such as tagging and the content library. -*/ -package vapi diff --git a/vendor/github.com/vmware/govmomi/vapi/internal/internal.go b/vendor/github.com/vmware/govmomi/vapi/internal/internal.go deleted file mode 100644 index f6584c569bf..00000000000 --- a/vendor/github.com/vmware/govmomi/vapi/internal/internal.go +++ /dev/null @@ -1,89 +0,0 @@ -/* -Copyright (c) 2018-2022 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package internal - -import ( - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/types" -) - -// VAPI REST Paths -const ( - SessionPath = "/com/vmware/cis/session" - CategoryPath = "/com/vmware/cis/tagging/category" - TagPath = "/com/vmware/cis/tagging/tag" - AssociationPath = "/com/vmware/cis/tagging/tag-association" - LibraryPath = "/com/vmware/content/library" - LibraryItemFileData = "/com/vmware/cis/data" - LibraryItemPath = "/com/vmware/content/library/item" - LibraryItemFilePath = "/com/vmware/content/library/item/file" - LibraryItemUpdateSession = "/com/vmware/content/library/item/update-session" - LibraryItemUpdateSessionFile = "/com/vmware/content/library/item/updatesession/file" - LibraryItemDownloadSession = "/com/vmware/content/library/item/download-session" - LibraryItemDownloadSessionFile = "/com/vmware/content/library/item/downloadsession/file" - LocalLibraryPath = "/com/vmware/content/local-library" - SubscribedLibraryPath = "/com/vmware/content/subscribed-library" - SecurityPoliciesPath = "/api/content/security-policies" - SubscribedLibraryItem = "/com/vmware/content/library/subscribed-item" - Subscriptions = "/com/vmware/content/library/subscriptions" - TrustedCertificatesPath = "/api/content/trusted-certificates" - VCenterOVFLibraryItem = "/com/vmware/vcenter/ovf/library-item" - VCenterVMTXLibraryItem = "/vcenter/vm-template/library-items" - VCenterVM = "/vcenter/vm" - SessionCookieName = "vmware-api-session-id" - UseHeaderAuthn = "vmware-use-header-authn" - DebugEcho = "/vc-sim/debug/echo" -) - -// AssociatedObject is the same structure as types.ManagedObjectReference, -// just with a different field name (ID instead of Value). -// In the API we use mo.Reference, this type is only used for wire transfer. -type AssociatedObject struct { - Type string `json:"type"` - Value string `json:"id"` -} - -// Reference implements mo.Reference -func (o AssociatedObject) Reference() types.ManagedObjectReference { - return types.ManagedObjectReference(o) -} - -// Association for tag-association requests. -type Association struct { - ObjectID *AssociatedObject `json:"object_id,omitempty"` -} - -// NewAssociation returns an Association, converting ref to an AssociatedObject. -func NewAssociation(ref mo.Reference) Association { - obj := AssociatedObject(ref.Reference()) - return Association{ - ObjectID: &obj, - } -} - -type SubscriptionDestination struct { - ID string `json:"subscription"` -} - -type SubscriptionDestinationSpec struct { - Subscriptions []SubscriptionDestination `json:"subscriptions,omitempty"` -} - -type SubscriptionItemDestinationSpec struct { - Force bool `json:"force_sync_content"` - Subscriptions []SubscriptionDestination `json:"subscriptions,omitempty"` -} diff --git a/vendor/github.com/vmware/govmomi/vapi/library/library.go b/vendor/github.com/vmware/govmomi/vapi/library/library.go deleted file mode 100644 index e5e5d0896f6..00000000000 --- a/vendor/github.com/vmware/govmomi/vapi/library/library.go +++ /dev/null @@ -1,324 +0,0 @@ -/* -Copyright (c) 2018 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package library - -import ( - "context" - "fmt" - "net/http" - "net/url" - "time" - - "github.com/vmware/govmomi/object" - "github.com/vmware/govmomi/vapi/internal" - "github.com/vmware/govmomi/vapi/rest" -) - -// StorageBackings for Content Libraries -type StorageBackings struct { - DatastoreID string `json:"datastore_id,omitempty"` - Type string `json:"type,omitempty"` -} - -// Library provides methods to create, read, update, delete, and enumerate libraries. -type Library struct { - CreationTime *time.Time `json:"creation_time,omitempty"` - Description string `json:"description,omitempty"` - ID string `json:"id,omitempty"` - LastModifiedTime *time.Time `json:"last_modified_time,omitempty"` - LastSyncTime *time.Time `json:"last_sync_time,omitempty"` - Name string `json:"name,omitempty"` - Storage []StorageBackings `json:"storage_backings,omitempty"` - Type string `json:"type,omitempty"` - Version string `json:"version,omitempty"` - Subscription *Subscription `json:"subscription_info,omitempty"` - Publication *Publication `json:"publish_info,omitempty"` - SecurityPolicyID string `json:"security_policy_id,omitempty"` - UnsetSecurityPolicyID bool `json:"unset_security_policy_id,omitempty"` -} - -// Subscription info -type Subscription struct { - AuthenticationMethod string `json:"authentication_method"` - AutomaticSyncEnabled *bool `json:"automatic_sync_enabled,omitempty"` - OnDemand *bool `json:"on_demand,omitempty"` - Password string `json:"password,omitempty"` - SslThumbprint string `json:"ssl_thumbprint,omitempty"` - SubscriptionURL string `json:"subscription_url,omitempty"` - UserName string `json:"user_name,omitempty"` -} - -// Publication info -type Publication struct { - AuthenticationMethod string `json:"authentication_method"` - UserName string `json:"user_name,omitempty"` - Password string `json:"password,omitempty"` - CurrentPassword string `json:"current_password,omitempty"` - PersistJSON *bool `json:"persist_json_enabled,omitempty"` - Published *bool `json:"published,omitempty"` - PublishURL string `json:"publish_url,omitempty"` -} - -// SubscriberSummary as returned by ListSubscribers -type SubscriberSummary struct { - LibraryID string `json:"subscribed_library"` - LibraryName string `json:"subscribed_library_name"` - SubscriptionID string `json:"subscription"` - LibraryVcenterHostname string `json:"subscribed_library_vcenter_hostname,omitempty"` -} - -// Placement information used to place a virtual machine template -type Placement struct { - ResourcePool string `json:"resource_pool,omitempty"` - Host string `json:"host,omitempty"` - Folder string `json:"folder,omitempty"` - Cluster string `json:"cluster,omitempty"` - Network string `json:"network,omitempty"` -} - -// Vcenter contains information about the vCenter Server instance where a subscribed library associated with a subscription exists. -type Vcenter struct { - Hostname string `json:"hostname"` - Port int `json:"https_port,omitempty"` - ServerGUID string `json:"server_guid"` -} - -// Subscriber contains the detailed info for a library subscriber. -type Subscriber struct { - LibraryID string `json:"subscribed_library"` - LibraryName string `json:"subscribed_library_name"` - LibraryLocation string `json:"subscribed_library_location"` - Placement *Placement `json:"subscribed_library_placement,omitempty"` - Vcenter *Vcenter `json:"subscribed_library_vcenter,omitempty"` -} - -// SubscriberLibrary is the specification for a subscribed library to be associated with a subscription. -type SubscriberLibrary struct { - Target string `json:"target"` - LibraryID string `json:"subscribed_library,omitempty"` - Location string `json:"location"` - Vcenter *Vcenter `json:"vcenter,omitempty"` - Placement *Placement `json:"placement,omitempty"` -} - -// Patch merges updates from the given src. -func (l *Library) Patch(src *Library) { - if src.Name != "" { - l.Name = src.Name - } - if src.Description != "" { - l.Description = src.Description - } - if src.Version != "" { - l.Version = src.Version - } -} - -// Manager extends rest.Client, adding content library related methods. -type Manager struct { - *rest.Client -} - -// NewManager creates a new Manager instance with the given client. -func NewManager(client *rest.Client) *Manager { - return &Manager{ - Client: client, - } -} - -// Find is the search criteria for finding libraries. -type Find struct { - Name string `json:"name,omitempty"` - Type string `json:"type,omitempty"` -} - -// FindLibrary returns one or more libraries that match the provided search -// criteria. -// -// The provided name is case-insensitive. -// -// Either the name or type of library may be set to empty values in order -// to search for all libraries, all libraries with a specific name, regardless -// of type, or all libraries of a specified type. -func (c *Manager) FindLibrary(ctx context.Context, search Find) ([]string, error) { - url := c.Resource(internal.LibraryPath).WithAction("find") - spec := struct { - Spec Find `json:"spec"` - }{search} - var res []string - return res, c.Do(ctx, url.Request(http.MethodPost, spec), &res) -} - -// CreateLibrary creates a new library with the given Type, Name, -// Description, and CategoryID. -func (c *Manager) CreateLibrary(ctx context.Context, library Library) (string, error) { - spec := struct { - Library Library `json:"create_spec"` - }{library} - path := internal.LocalLibraryPath - if library.Type == "SUBSCRIBED" { - path = internal.SubscribedLibraryPath - sub := library.Subscription - u, err := url.Parse(sub.SubscriptionURL) - if err != nil { - return "", err - } - if u.Scheme == "https" && sub.SslThumbprint == "" { - thumbprint := c.Thumbprint(u.Host) - if thumbprint == "" { - t := c.DefaultTransport() - if t.TLSClientConfig.InsecureSkipVerify { - var info object.HostCertificateInfo - _ = info.FromURL(u, t.TLSClientConfig) - thumbprint = info.ThumbprintSHA1 - } - sub.SslThumbprint = thumbprint - } - } - } - url := c.Resource(path) - var res string - return res, c.Do(ctx, url.Request(http.MethodPost, spec), &res) -} - -// SyncLibrary syncs a subscribed library. -func (c *Manager) SyncLibrary(ctx context.Context, library *Library) error { - path := internal.SubscribedLibraryPath - url := c.Resource(path).WithID(library.ID).WithAction("sync") - return c.Do(ctx, url.Request(http.MethodPost), nil) -} - -// PublishLibrary publishes the library to specified subscriptions. -// If no subscriptions are specified, then publishes the library to all subscriptions. -func (c *Manager) PublishLibrary(ctx context.Context, library *Library, subscriptions []string) error { - path := internal.LocalLibraryPath - var spec internal.SubscriptionDestinationSpec - for i := range subscriptions { - spec.Subscriptions = append(spec.Subscriptions, internal.SubscriptionDestination{ID: subscriptions[i]}) - } - url := c.Resource(path).WithID(library.ID).WithAction("publish") - return c.Do(ctx, url.Request(http.MethodPost, spec), nil) -} - -// UpdateLibrary can update one or both of the tag Description and Name fields. -func (c *Manager) UpdateLibrary(ctx context.Context, l *Library) error { - spec := struct { - Library `json:"update_spec"` - }{ - Library{ - Name: l.Name, - Description: l.Description, - }, - } - url := c.Resource(internal.LibraryPath).WithID(l.ID) - return c.Do(ctx, url.Request(http.MethodPatch, spec), nil) -} - -// DeleteLibrary deletes an existing library. -func (c *Manager) DeleteLibrary(ctx context.Context, library *Library) error { - path := internal.LocalLibraryPath - if library.Type == "SUBSCRIBED" { - path = internal.SubscribedLibraryPath - } - url := c.Resource(path).WithID(library.ID) - return c.Do(ctx, url.Request(http.MethodDelete), nil) -} - -// ListLibraries returns a list of all content library IDs in the system. -func (c *Manager) ListLibraries(ctx context.Context) ([]string, error) { - url := c.Resource(internal.LibraryPath) - var res []string - return res, c.Do(ctx, url.Request(http.MethodGet), &res) -} - -// GetLibraryByID returns information on a library for the given ID. -func (c *Manager) GetLibraryByID(ctx context.Context, id string) (*Library, error) { - url := c.Resource(internal.LibraryPath).WithID(id) - var res Library - return &res, c.Do(ctx, url.Request(http.MethodGet), &res) -} - -// GetLibraryByName returns information on a library for the given name. -func (c *Manager) GetLibraryByName(ctx context.Context, name string) (*Library, error) { - // Lookup by name - libraries, err := c.GetLibraries(ctx) - if err != nil { - return nil, err - } - for i := range libraries { - if libraries[i].Name == name { - return &libraries[i], nil - } - } - return nil, fmt.Errorf("library name (%s) not found", name) -} - -// GetLibraries returns a list of all content library details in the system. -func (c *Manager) GetLibraries(ctx context.Context) ([]Library, error) { - ids, err := c.ListLibraries(ctx) - if err != nil { - return nil, fmt.Errorf("get libraries failed for: %s", err) - } - - var libraries []Library - for _, id := range ids { - library, err := c.GetLibraryByID(ctx, id) - if err != nil { - return nil, fmt.Errorf("get library %s failed for %s", id, err) - } - - libraries = append(libraries, *library) - - } - return libraries, nil -} - -// ListSubscribers lists the subscriptions of the published library. -func (c *Manager) ListSubscribers(ctx context.Context, library *Library) ([]SubscriberSummary, error) { - url := c.Resource(internal.Subscriptions).WithParam("library", library.ID) - var res []SubscriberSummary - return res, c.Do(ctx, url.Request(http.MethodGet), &res) -} - -// CreateSubscriber creates a subscription of the published library. -func (c *Manager) CreateSubscriber(ctx context.Context, library *Library, s SubscriberLibrary) (string, error) { - var spec struct { - Sub struct { - SubscriberLibrary SubscriberLibrary `json:"subscribed_library"` - } `json:"spec"` - } - spec.Sub.SubscriberLibrary = s - url := c.Resource(internal.Subscriptions).WithID(library.ID) - var res string - return res, c.Do(ctx, url.Request(http.MethodPost, &spec), &res) -} - -// GetSubscriber returns information about the specified subscriber of the published library. -func (c *Manager) GetSubscriber(ctx context.Context, library *Library, subscriber string) (*Subscriber, error) { - id := internal.SubscriptionDestination{ID: subscriber} - url := c.Resource(internal.Subscriptions).WithID(library.ID).WithAction("get") - var res Subscriber - return &res, c.Do(ctx, url.Request(http.MethodPost, &id), &res) -} - -// DeleteSubscriber deletes the specified subscription of the published library. -// The subscribed library associated with the subscription will not be deleted. -func (c *Manager) DeleteSubscriber(ctx context.Context, library *Library, subscriber string) error { - id := internal.SubscriptionDestination{ID: subscriber} - url := c.Resource(internal.Subscriptions).WithID(library.ID).WithAction("delete") - return c.Do(ctx, url.Request(http.MethodPost, &id), nil) -} diff --git a/vendor/github.com/vmware/govmomi/vapi/library/library_file.go b/vendor/github.com/vmware/govmomi/vapi/library/library_file.go deleted file mode 100644 index ba71d72d258..00000000000 --- a/vendor/github.com/vmware/govmomi/vapi/library/library_file.go +++ /dev/null @@ -1,56 +0,0 @@ -/* -Copyright (c) 2018 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package library - -import ( - "context" - "net/http" - - "github.com/vmware/govmomi/vapi/internal" -) - -// Checksum provides checksum information on library item files. -type Checksum struct { - Algorithm string `json:"algorithm,omitempty"` - Checksum string `json:"checksum"` -} - -// File provides methods to get information on library item files. -type File struct { - Cached *bool `json:"cached,omitempty"` - Checksum *Checksum `json:"checksum_info,omitempty"` - Name string `json:"name,omitempty"` - Size *int64 `json:"size,omitempty"` - Version string `json:"version,omitempty"` -} - -// ListLibraryItemFiles returns a list of all the files for a library item. -func (c *Manager) ListLibraryItemFiles(ctx context.Context, id string) ([]File, error) { - url := c.Resource(internal.LibraryItemFilePath).WithParam("library_item_id", id) - var res []File - return res, c.Do(ctx, url.Request(http.MethodGet), &res) -} - -// GetLibraryItemFile returns a file with the provided name for a library item. -func (c *Manager) GetLibraryItemFile(ctx context.Context, id, fileName string) (*File, error) { - url := c.Resource(internal.LibraryItemFilePath).WithID(id).WithAction("get") - spec := struct { - Name string `json:"name"` - }{fileName} - var res File - return &res, c.Do(ctx, url.Request(http.MethodPost, spec), &res) -} diff --git a/vendor/github.com/vmware/govmomi/vapi/library/library_item.go b/vendor/github.com/vmware/govmomi/vapi/library/library_item.go deleted file mode 100644 index adc2101ab1e..00000000000 --- a/vendor/github.com/vmware/govmomi/vapi/library/library_item.go +++ /dev/null @@ -1,203 +0,0 @@ -/* -Copyright (c) 2018-2022 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package library - -import ( - "context" - "fmt" - "net/http" - "time" - - "github.com/vmware/govmomi/vapi/internal" -) - -const ( - ItemTypeISO = "iso" - ItemTypeOVF = "ovf" - ItemTypeVMTX = "vm-template" -) - -// Item provides methods to create, read, update, delete, and enumerate library items. -type Item struct { - Cached bool `json:"cached,omitempty"` - ContentVersion string `json:"content_version,omitempty"` - CreationTime *time.Time `json:"creation_time,omitempty"` - Description string `json:"description,omitempty"` - ID string `json:"id,omitempty"` - LastModifiedTime *time.Time `json:"last_modified_time,omitempty"` - LastSyncTime *time.Time `json:"last_sync_time,omitempty"` - LibraryID string `json:"library_id,omitempty"` - MetadataVersion string `json:"metadata_version,omitempty"` - Name string `json:"name,omitempty"` - Size int64 `json:"size,omitempty"` - SourceID string `json:"source_id,omitempty"` - Type string `json:"type,omitempty"` - Version string `json:"version,omitempty"` - - SecurityCompliance *bool `json:"security_compliance,omitempty"` - CertificateVerification *ItemCertificateVerification `json:"certificate_verification_info,omitempty"` -} - -// ItemCertificateVerification contains the certificate verification status and item's signing certificate -type ItemCertificateVerification struct { - Status string `json:"status"` - CertChain []string `json:"cert_chain,omitempty"` -} - -// Patch merges updates from the given src. -func (i *Item) Patch(src *Item) { - if src.Name != "" { - i.Name = src.Name - } - if src.Description != "" { - i.Description = src.Description - } - if src.Type != "" { - i.Type = src.Type - } - if src.Version != "" { - i.Version = src.Version - } -} - -// CreateLibraryItem creates a new library item -func (c *Manager) CreateLibraryItem(ctx context.Context, item Item) (string, error) { - type createItemSpec struct { - Name string `json:"name"` - Description string `json:"description"` - LibraryID string `json:"library_id,omitempty"` - Type string `json:"type"` - } - spec := struct { - Item createItemSpec `json:"create_spec"` - }{ - Item: createItemSpec{ - Name: item.Name, - Description: item.Description, - LibraryID: item.LibraryID, - Type: item.Type, - }, - } - url := c.Resource(internal.LibraryItemPath) - var res string - return res, c.Do(ctx, url.Request(http.MethodPost, spec), &res) -} - -// CopyLibraryItem copies a library item -func (c *Manager) CopyLibraryItem(ctx context.Context, src *Item, dst Item) (string, error) { - body := struct { - Item `json:"destination_create_spec"` - }{dst} - url := c.Resource(internal.LibraryItemPath).WithID(src.ID).WithAction("copy") - var res string - return res, c.Do(ctx, url.Request(http.MethodPost, body), &res) -} - -// SyncLibraryItem syncs a subscribed library item -func (c *Manager) SyncLibraryItem(ctx context.Context, item *Item, force bool) error { - body := struct { - Force bool `json:"force_sync_content"` - }{force} - url := c.Resource(internal.SubscribedLibraryItem).WithID(item.ID).WithAction("sync") - return c.Do(ctx, url.Request(http.MethodPost, body), nil) -} - -// PublishLibraryItem publishes a library item to specified subscriptions. -// If no subscriptions are specified, then publishes the library item to all subscriptions. -func (c *Manager) PublishLibraryItem(ctx context.Context, item *Item, force bool, subscriptions []string) error { - body := internal.SubscriptionItemDestinationSpec{ - Force: force, - } - for i := range subscriptions { - body.Subscriptions = append(body.Subscriptions, internal.SubscriptionDestination{ID: subscriptions[i]}) - } - url := c.Resource(internal.LibraryItemPath).WithID(item.ID).WithAction("publish") - return c.Do(ctx, url.Request(http.MethodPost, body), nil) -} - -// UpdateLibraryItem can update one or both of the item Description and Name fields. -func (c *Manager) UpdateLibraryItem(ctx context.Context, item *Item) error { - spec := struct { - Item `json:"update_spec"` - }{ - Item{ - Name: item.Name, - Description: item.Description, - }, - } - url := c.Resource(internal.LibraryItemPath).WithID(item.ID) - return c.Do(ctx, url.Request(http.MethodPatch, spec), nil) -} - -// DeleteLibraryItem deletes an existing library item. -func (c *Manager) DeleteLibraryItem(ctx context.Context, item *Item) error { - url := c.Resource(internal.LibraryItemPath).WithID(item.ID) - return c.Do(ctx, url.Request(http.MethodDelete), nil) -} - -// ListLibraryItems returns a list of all items in a content library. -func (c *Manager) ListLibraryItems(ctx context.Context, id string) ([]string, error) { - url := c.Resource(internal.LibraryItemPath).WithParam("library_id", id) - var res []string - return res, c.Do(ctx, url.Request(http.MethodGet), &res) -} - -// GetLibraryItem returns information on a library item for the given ID. -func (c *Manager) GetLibraryItem(ctx context.Context, id string) (*Item, error) { - url := c.Resource(internal.LibraryItemPath).WithID(id) - var res Item - return &res, c.Do(ctx, url.Request(http.MethodGet), &res) -} - -// GetLibraryItems returns a list of all the library items for the specified library. -func (c *Manager) GetLibraryItems(ctx context.Context, libraryID string) ([]Item, error) { - ids, err := c.ListLibraryItems(ctx, libraryID) - if err != nil { - return nil, fmt.Errorf("get library items failed for: %s", err) - } - var items []Item - for _, id := range ids { - item, err := c.GetLibraryItem(ctx, id) - if err != nil { - return nil, fmt.Errorf("get library item for %s failed for %s", id, err) - } - items = append(items, *item) - } - return items, nil -} - -// FindItem is the search criteria for finding library items. -type FindItem struct { - Cached *bool `json:"cached,omitempty"` - LibraryID string `json:"library_id,omitempty"` - Name string `json:"name,omitempty"` - SourceID string `json:"source_id,omitempty"` - Type string `json:"type,omitempty"` -} - -// FindLibraryItems returns the IDs of all the library items that match the -// search criteria. -func (c *Manager) FindLibraryItems( - ctx context.Context, search FindItem) ([]string, error) { - - url := c.Resource(internal.LibraryItemPath).WithAction("find") - spec := struct { - Spec FindItem `json:"spec"` - }{search} - var res []string - return res, c.Do(ctx, url.Request(http.MethodPost, spec), &res) -} diff --git a/vendor/github.com/vmware/govmomi/vapi/library/library_item_downloadsession_file.go b/vendor/github.com/vmware/govmomi/vapi/library/library_item_downloadsession_file.go deleted file mode 100644 index 6f432f7279a..00000000000 --- a/vendor/github.com/vmware/govmomi/vapi/library/library_item_downloadsession_file.go +++ /dev/null @@ -1,71 +0,0 @@ -/* -Copyright (c) 2018 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package library - -import ( - "context" - "net/http" - - "github.com/vmware/govmomi/vapi/internal" - "github.com/vmware/govmomi/vapi/rest" -) - -// DownloadFile is the specification for the downloadsession -// operations file:add, file:get, and file:list. -type DownloadFile struct { - BytesTransferred int64 `json:"bytes_transferred"` - Checksum *Checksum `json:"checksum_info,omitempty"` - DownloadEndpoint *TransferEndpoint `json:"download_endpoint,omitempty"` - ErrorMessage *rest.LocalizableMessage `json:"error_message,omitempty"` - Name string `json:"name"` - Size int64 `json:"size,omitempty"` - Status string `json:"status"` -} - -// GetLibraryItemDownloadSessionFile retrieves information about a specific file that is a part of an download session. -func (c *Manager) GetLibraryItemDownloadSessionFile(ctx context.Context, sessionID string, name string) (*DownloadFile, error) { - url := c.Resource(internal.LibraryItemDownloadSessionFile).WithID(sessionID).WithAction("get") - spec := struct { - Name string `json:"file_name"` - }{name} - var res DownloadFile - err := c.Do(ctx, url.Request(http.MethodPost, spec), &res) - if err != nil { - return nil, err - } - if res.Status == "ERROR" { - return nil, res.ErrorMessage - } - return &res, nil -} - -// ListLibraryItemDownloadSessionFile retrieves information about a specific file that is a part of an download session. -func (c *Manager) ListLibraryItemDownloadSessionFile(ctx context.Context, sessionID string) ([]DownloadFile, error) { - url := c.Resource(internal.LibraryItemDownloadSessionFile).WithParam("download_session_id", sessionID) - var res []DownloadFile - return res, c.Do(ctx, url.Request(http.MethodGet), &res) -} - -// PrepareLibraryItemDownloadSessionFile retrieves information about a specific file that is a part of an download session. -func (c *Manager) PrepareLibraryItemDownloadSessionFile(ctx context.Context, sessionID string, name string) (*DownloadFile, error) { - url := c.Resource(internal.LibraryItemDownloadSessionFile).WithID(sessionID).WithAction("prepare") - spec := struct { - Name string `json:"file_name"` - }{name} - var res DownloadFile - return &res, c.Do(ctx, url.Request(http.MethodPost, spec), &res) -} diff --git a/vendor/github.com/vmware/govmomi/vapi/library/library_item_updatesession.go b/vendor/github.com/vmware/govmomi/vapi/library/library_item_updatesession.go deleted file mode 100644 index df66a87b375..00000000000 --- a/vendor/github.com/vmware/govmomi/vapi/library/library_item_updatesession.go +++ /dev/null @@ -1,165 +0,0 @@ -/* -Copyright (c) 2018 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package library - -import ( - "context" - "net/http" - "time" - - "github.com/vmware/govmomi/vapi/internal" - "github.com/vmware/govmomi/vapi/rest" -) - -// Session is used to create an initial update or download session -type Session struct { - ClientProgress int64 `json:"client_progress,omitempty"` - ErrorMessage *rest.LocalizableMessage `json:"error_message,omitempty"` - ExpirationTime *time.Time `json:"expiration_time,omitempty"` - ID string `json:"id,omitempty"` - LibraryItemContentVersion string `json:"library_item_content_version,omitempty"` - LibraryItemID string `json:"library_item_id,omitempty"` - State string `json:"state,omitempty"` -} - -// CreateLibraryItemUpdateSession creates a new library item -func (c *Manager) CreateLibraryItemUpdateSession(ctx context.Context, session Session) (string, error) { - url := c.Resource(internal.LibraryItemUpdateSession) - spec := struct { - CreateSpec Session `json:"create_spec"` - }{session} - var res string - return res, c.Do(ctx, url.Request(http.MethodPost, spec), &res) -} - -// GetLibraryItemUpdateSession gets the update session information with status -func (c *Manager) GetLibraryItemUpdateSession(ctx context.Context, id string) (*Session, error) { - url := c.Resource(internal.LibraryItemUpdateSession).WithID(id) - var res Session - return &res, c.Do(ctx, url.Request(http.MethodGet), &res) -} - -// ListLibraryItemUpdateSession gets the list of update sessions -func (c *Manager) ListLibraryItemUpdateSession(ctx context.Context) ([]string, error) { - url := c.Resource(internal.LibraryItemUpdateSession) - var res []string - return res, c.Do(ctx, url.Request(http.MethodGet), &res) -} - -// CancelLibraryItemUpdateSession cancels an update session -func (c *Manager) CancelLibraryItemUpdateSession(ctx context.Context, id string) error { - url := c.Resource(internal.LibraryItemUpdateSession).WithID(id).WithAction("cancel") - return c.Do(ctx, url.Request(http.MethodPost), nil) -} - -// CompleteLibraryItemUpdateSession completes an update session -func (c *Manager) CompleteLibraryItemUpdateSession(ctx context.Context, id string) error { - url := c.Resource(internal.LibraryItemUpdateSession).WithID(id).WithAction("complete") - return c.Do(ctx, url.Request(http.MethodPost), nil) -} - -// DeleteLibraryItemUpdateSession deletes an update session -func (c *Manager) DeleteLibraryItemUpdateSession(ctx context.Context, id string) error { - url := c.Resource(internal.LibraryItemUpdateSession).WithID(id) - return c.Do(ctx, url.Request(http.MethodDelete), nil) -} - -// FailLibraryItemUpdateSession fails an update session -func (c *Manager) FailLibraryItemUpdateSession(ctx context.Context, id string) error { - url := c.Resource(internal.LibraryItemUpdateSession).WithID(id).WithAction("fail") - return c.Do(ctx, url.Request(http.MethodPost), nil) -} - -// KeepAliveLibraryItemUpdateSession keeps an inactive update session alive. -func (c *Manager) KeepAliveLibraryItemUpdateSession(ctx context.Context, id string) error { - url := c.Resource(internal.LibraryItemUpdateSession).WithID(id).WithAction("keep-alive") - return c.Do(ctx, url.Request(http.MethodPost), nil) -} - -// WaitOnLibraryItemUpdateSession blocks until the update session is no longer -// in the ACTIVE state. -func (c *Manager) WaitOnLibraryItemUpdateSession( - ctx context.Context, sessionID string, - interval time.Duration, intervalCallback func()) error { - - // Wait until the upload operation is complete to return. - for { - session, err := c.GetLibraryItemUpdateSession(ctx, sessionID) - if err != nil { - return err - } - - if session.State != "ACTIVE" { - if session.State == "ERROR" { - return session.ErrorMessage - } - return nil - } - time.Sleep(interval) - if intervalCallback != nil { - intervalCallback() - } - } -} - -// CreateLibraryItemDownloadSession creates a new library item -func (c *Manager) CreateLibraryItemDownloadSession(ctx context.Context, session Session) (string, error) { - url := c.Resource(internal.LibraryItemDownloadSession) - spec := struct { - CreateSpec Session `json:"create_spec"` - }{session} - var res string - return res, c.Do(ctx, url.Request(http.MethodPost, spec), &res) -} - -// GetLibraryItemDownloadSession gets the download session information with status -func (c *Manager) GetLibraryItemDownloadSession(ctx context.Context, id string) (*Session, error) { - url := c.Resource(internal.LibraryItemDownloadSession).WithID(id) - var res Session - return &res, c.Do(ctx, url.Request(http.MethodGet), &res) -} - -// ListLibraryItemDownloadSession gets the list of download sessions -func (c *Manager) ListLibraryItemDownloadSession(ctx context.Context) ([]string, error) { - url := c.Resource(internal.LibraryItemDownloadSession) - var res []string - return res, c.Do(ctx, url.Request(http.MethodGet), &res) -} - -// CancelLibraryItemDownloadSession cancels an download session -func (c *Manager) CancelLibraryItemDownloadSession(ctx context.Context, id string) error { - url := c.Resource(internal.LibraryItemDownloadSession).WithID(id).WithAction("cancel") - return c.Do(ctx, url.Request(http.MethodPost), nil) -} - -// DeleteLibraryItemDownloadSession deletes an download session -func (c *Manager) DeleteLibraryItemDownloadSession(ctx context.Context, id string) error { - url := c.Resource(internal.LibraryItemDownloadSession).WithID(id) - return c.Do(ctx, url.Request(http.MethodDelete), nil) -} - -// FailLibraryItemDownloadSession fails an download session -func (c *Manager) FailLibraryItemDownloadSession(ctx context.Context, id string) error { - url := c.Resource(internal.LibraryItemDownloadSession).WithID(id).WithAction("fail") - return c.Do(ctx, url.Request(http.MethodPost), nil) -} - -// KeepAliveLibraryItemDownloadSession keeps an inactive download session alive. -func (c *Manager) KeepAliveLibraryItemDownloadSession(ctx context.Context, id string) error { - url := c.Resource(internal.LibraryItemDownloadSession).WithID(id).WithAction("keep-alive") - return c.Do(ctx, url.Request(http.MethodPost), nil) -} diff --git a/vendor/github.com/vmware/govmomi/vapi/library/library_item_updatesession_file.go b/vendor/github.com/vmware/govmomi/vapi/library/library_item_updatesession_file.go deleted file mode 100644 index e34331cfa57..00000000000 --- a/vendor/github.com/vmware/govmomi/vapi/library/library_item_updatesession_file.go +++ /dev/null @@ -1,149 +0,0 @@ -/* -Copyright (c) 2018 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package library - -import ( - "bufio" - "context" - "io" - "net/http" - "strings" - - "github.com/vmware/govmomi/vapi/internal" - "github.com/vmware/govmomi/vapi/rest" - "github.com/vmware/govmomi/vim25/soap" -) - -// TransferEndpoint provides information on the source of a library item file. -type TransferEndpoint struct { - URI string `json:"uri,omitempty"` - SSLCertificateThumbprint string `json:"ssl_certificate_thumbprint,omitempty"` -} - -// UpdateFile is the specification for the updatesession -// operations file:add, file:get, and file:list. -type UpdateFile struct { - BytesTransferred int64 `json:"bytes_transferred,omitempty"` - Checksum *Checksum `json:"checksum_info,omitempty"` - ErrorMessage *rest.LocalizableMessage `json:"error_message,omitempty"` - Name string `json:"name"` - Size int64 `json:"size,omitempty"` - SourceEndpoint *TransferEndpoint `json:"source_endpoint,omitempty"` - SourceType string `json:"source_type"` - Status string `json:"status,omitempty"` - UploadEndpoint *TransferEndpoint `json:"upload_endpoint,omitempty"` -} - -// AddLibraryItemFile adds a file -func (c *Manager) AddLibraryItemFile(ctx context.Context, sessionID string, updateFile UpdateFile) (*UpdateFile, error) { - url := c.Resource(internal.LibraryItemUpdateSessionFile).WithID(sessionID).WithAction("add") - spec := struct { - FileSpec UpdateFile `json:"file_spec"` - }{updateFile} - var res UpdateFile - err := c.Do(ctx, url.Request(http.MethodPost, spec), &res) - if err != nil { - return nil, err - } - if res.Status == "ERROR" { - return nil, res.ErrorMessage - } - return &res, nil -} - -// AddLibraryItemFileFromURI adds a file from a remote URI. -func (c *Manager) AddLibraryItemFileFromURI( - ctx context.Context, - sessionID, fileName, uri string) (*UpdateFile, error) { - - n, fingerprint, err := c.getContentLengthAndFingerprint(ctx, uri) - if err != nil { - return nil, err - } - - info, err := c.AddLibraryItemFile(ctx, sessionID, UpdateFile{ - Name: fileName, - SourceType: "PULL", - Size: n, - SourceEndpoint: &TransferEndpoint{ - URI: uri, - SSLCertificateThumbprint: fingerprint, - }, - }) - if err != nil { - return nil, err - } - - return info, c.CompleteLibraryItemUpdateSession(ctx, sessionID) -} - -// GetLibraryItemUpdateSessionFile retrieves information about a specific file -// that is a part of an update session. -func (c *Manager) GetLibraryItemUpdateSessionFile(ctx context.Context, sessionID string, fileName string) (*UpdateFile, error) { - url := c.Resource(internal.LibraryItemUpdateSessionFile).WithID(sessionID).WithAction("get") - spec := struct { - Name string `json:"file_name"` - }{fileName} - var res UpdateFile - return &res, c.Do(ctx, url.Request(http.MethodPost, spec), &res) -} - -// getContentLengthAndFingerprint gets the number of bytes returned -// by the URI as well as the SHA1 fingerprint of the peer certificate -// if the URI's scheme is https. -func (c *Manager) getContentLengthAndFingerprint( - ctx context.Context, uri string) (int64, string, error) { - resp, err := c.Head(uri) - if err != nil { - return 0, "", err - } - if resp.TLS == nil || len(resp.TLS.PeerCertificates) == 0 { - return resp.ContentLength, "", nil - } - fingerprint := c.Thumbprint(resp.Request.URL.Host) - if fingerprint == "" { - if c.DefaultTransport().TLSClientConfig.InsecureSkipVerify { - fingerprint = soap.ThumbprintSHA1(resp.TLS.PeerCertificates[0]) - } - } - return resp.ContentLength, fingerprint, nil -} - -// ReadManifest converts an ovf manifest to a map of file name -> Checksum. -func ReadManifest(m io.Reader) (map[string]*Checksum, error) { - // expected format: openssl sha1 *.{ovf,vmdk} - c := make(map[string]*Checksum) - - scanner := bufio.NewScanner(m) - for scanner.Scan() { - line := strings.SplitN(scanner.Text(), ")=", 2) - if len(line) != 2 { - continue - } - name := strings.SplitN(line[0], "(", 2) - if len(name) != 2 { - continue - } - sum := &Checksum{ - Algorithm: strings.TrimSpace(name[0]), - Checksum: strings.TrimSpace(line[1]), - } - c[name[1]] = sum - } - - return c, scanner.Err() -} diff --git a/vendor/github.com/vmware/govmomi/vapi/library/security_policy.go b/vendor/github.com/vmware/govmomi/vapi/library/security_policy.go deleted file mode 100644 index dd476635682..00000000000 --- a/vendor/github.com/vmware/govmomi/vapi/library/security_policy.go +++ /dev/null @@ -1,63 +0,0 @@ -/* -Copyright (c) 2022-2022 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package library - -import ( - "context" - "errors" - "net/http" - - "github.com/vmware/govmomi/vapi/internal" -) - -const ( - OvfDefaultSecurityPolicy = "OVF default policy" -) - -// ContentSecurityPoliciesInfo contains information on security policies that can -// be used to describe security for content library items. -type ContentSecurityPoliciesInfo struct { - // ItemTypeRules are rules governing the policy. - ItemTypeRules map[string]string `json:"item_type_rules"` - // Name is a human-readable identifier identifying the policy. - Name string `json:"name"` - // Policy is the unique identifier for a policy. - Policy string `json:"policy"` -} - -// ListSecurityPolicies lists security policies -func (c *Manager) ListSecurityPolicies(ctx context.Context) ([]ContentSecurityPoliciesInfo, error) { - url := c.Resource(internal.SecurityPoliciesPath) - var res []ContentSecurityPoliciesInfo - return res, c.Do(ctx, url.Request(http.MethodGet), &res) -} - -func (c *Manager) DefaultOvfSecurityPolicy(ctx context.Context) (string, error) { - res, err := c.ListSecurityPolicies(ctx) - - if err != nil { - return "", err - } - - for _, policy := range res { - if policy.Name == OvfDefaultSecurityPolicy { - return policy.Policy, nil - } - } - - return "", errors.New("failed to find default ovf security policy") -} diff --git a/vendor/github.com/vmware/govmomi/vapi/library/trusted_certificates.go b/vendor/github.com/vmware/govmomi/vapi/library/trusted_certificates.go deleted file mode 100644 index 33e25a065f9..00000000000 --- a/vendor/github.com/vmware/govmomi/vapi/library/trusted_certificates.go +++ /dev/null @@ -1,70 +0,0 @@ -/* -Copyright (c) 2022-2022 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package library - -import ( - "context" - "net/http" - "path" - - "github.com/vmware/govmomi/vapi/internal" -) - -// TrustedCertificate contains a trusted certificate in Base64 encoded PEM format -type TrustedCertificate struct { - Text string `json:"cert_text"` -} - -// TrustedCertificateSummary contains a trusted certificate in Base64 encoded PEM format and its id -type TrustedCertificateSummary struct { - TrustedCertificate - ID string `json:"certificate"` -} - -// ListTrustedCertificates retrieves all content library's trusted certificates -func (c *Manager) ListTrustedCertificates(ctx context.Context) ([]TrustedCertificateSummary, error) { - url := c.Resource(internal.TrustedCertificatesPath) - var res struct { - Certificates []TrustedCertificateSummary `json:"certificates"` - } - err := c.Do(ctx, url.Request(http.MethodGet), &res) - return res.Certificates, err -} - -// GetTrustedCertificate retrieves a trusted certificate for a given certificate id -func (c *Manager) GetTrustedCertificate(ctx context.Context, id string) (*TrustedCertificate, error) { - url := c.Resource(path.Join(internal.TrustedCertificatesPath, id)) - var res TrustedCertificate - err := c.Do(ctx, url.Request(http.MethodGet), &res) - if err != nil { - return nil, err - } - return &res, nil -} - -// CreateTrustedCertificate adds a certificate to content library trust store -func (c *Manager) CreateTrustedCertificate(ctx context.Context, cert string) error { - url := c.Resource(internal.TrustedCertificatesPath) - body := TrustedCertificate{Text: cert} - return c.Do(ctx, url.Request(http.MethodPost, body), nil) -} - -// DeleteTrustedCertificate deletes the trusted certificate from content library's trust store for the given id -func (c *Manager) DeleteTrustedCertificate(ctx context.Context, id string) error { - url := c.Resource(path.Join(internal.TrustedCertificatesPath, id)) - return c.Do(ctx, url.Request(http.MethodDelete), nil) -} diff --git a/vendor/github.com/vmware/govmomi/vapi/resource.go b/vendor/github.com/vmware/govmomi/vapi/resource.go deleted file mode 100644 index 5fb935dd8ef..00000000000 --- a/vendor/github.com/vmware/govmomi/vapi/resource.go +++ /dev/null @@ -1,22 +0,0 @@ -/* -Copyright (c) 2022-2022 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vapi - -const ( - // Path is the new-style endpoint for API resources. It supersedes /rest. - Path = "/api" -) diff --git a/vendor/github.com/vmware/govmomi/vapi/rest/client.go b/vendor/github.com/vmware/govmomi/vapi/rest/client.go deleted file mode 100644 index b1cefd0e280..00000000000 --- a/vendor/github.com/vmware/govmomi/vapi/rest/client.go +++ /dev/null @@ -1,336 +0,0 @@ -/* -Copyright (c) 2018 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package rest - -import ( - "bytes" - "context" - "encoding/json" - "fmt" - "io" - "io/ioutil" - "net/http" - "net/url" - "strings" - "sync" - "time" - - "github.com/vmware/govmomi/vapi/internal" - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/soap" -) - -// Client extends soap.Client to support JSON encoding, while inheriting security features, debug tracing and session persistence. -type Client struct { - mu sync.Mutex - - *soap.Client - sessionID string -} - -// Session information -type Session struct { - User string `json:"user"` - Created time.Time `json:"created_time"` - LastAccessed time.Time `json:"last_accessed_time"` -} - -// LocalizableMessage represents a localizable error -type LocalizableMessage struct { - Args []string `json:"args,omitempty"` - DefaultMessage string `json:"default_message,omitempty"` - ID string `json:"id,omitempty"` -} - -func (m *LocalizableMessage) Error() string { - return m.DefaultMessage -} - -// NewClient creates a new Client instance. -func NewClient(c *vim25.Client) *Client { - sc := c.Client.NewServiceClient(Path, "") - - return &Client{Client: sc} -} - -// SessionID is set by calling Login() or optionally with the given id param -func (c *Client) SessionID(id ...string) string { - c.mu.Lock() - defer c.mu.Unlock() - if len(id) != 0 { - c.sessionID = id[0] - } - return c.sessionID -} - -type marshaledClient struct { - SoapClient *soap.Client - SessionID string -} - -func (c *Client) MarshalJSON() ([]byte, error) { - m := marshaledClient{ - SoapClient: c.Client, - SessionID: c.sessionID, - } - - return json.Marshal(m) -} - -func (c *Client) UnmarshalJSON(b []byte) error { - var m marshaledClient - - err := json.Unmarshal(b, &m) - if err != nil { - return err - } - - *c = Client{ - Client: m.SoapClient, - sessionID: m.SessionID, - } - - return nil -} - -// isAPI returns true if path starts with "/api" -// This hack allows helpers to support both endpoints: -// "/rest" - value wrapped responses and structured error responses -// "/api" - raw responses and no structured error responses -func isAPI(path string) bool { - return strings.HasPrefix(path, "/api") -} - -// Resource helper for the given path. -func (c *Client) Resource(path string) *Resource { - r := &Resource{u: c.URL()} - if !isAPI(path) { - path = Path + path - } - r.u.Path = path - return r -} - -type Signer interface { - SignRequest(*http.Request) error -} - -type signerContext struct{} - -func (c *Client) WithSigner(ctx context.Context, s Signer) context.Context { - return context.WithValue(ctx, signerContext{}, s) -} - -type headersContext struct{} - -// WithHeader returns a new Context populated with the provided headers map. -// Calls to a VAPI REST client with this context will populate the HTTP headers -// map using the provided headers. -func (c *Client) WithHeader( - ctx context.Context, - headers http.Header) context.Context { - - return context.WithValue(ctx, headersContext{}, headers) -} - -type statusError struct { - res *http.Response -} - -func (e *statusError) Error() string { - return fmt.Sprintf("%s %s: %s", e.res.Request.Method, e.res.Request.URL, e.res.Status) -} - -// RawResponse may be used with the Do method as the resBody argument in order -// to capture the raw response data. -type RawResponse struct { - bytes.Buffer -} - -// Do sends the http.Request, decoding resBody if provided. -func (c *Client) Do(ctx context.Context, req *http.Request, resBody interface{}) error { - switch req.Method { - case http.MethodPost, http.MethodPatch, http.MethodPut: - req.Header.Set("Content-Type", "application/json") - } - - req.Header.Set("Accept", "application/json") - - if id := c.SessionID(); id != "" { - req.Header.Set(internal.SessionCookieName, id) - } - - if s, ok := ctx.Value(signerContext{}).(Signer); ok { - if err := s.SignRequest(req); err != nil { - return err - } - } - - if headers, ok := ctx.Value(headersContext{}).(http.Header); ok { - for k, v := range headers { - for _, v := range v { - req.Header.Add(k, v) - } - } - } - - return c.Client.Do(ctx, req, func(res *http.Response) error { - switch res.StatusCode { - case http.StatusOK: - case http.StatusCreated: - case http.StatusNoContent: - case http.StatusBadRequest: - // TODO: structured error types - detail, err := ioutil.ReadAll(res.Body) - if err != nil { - return err - } - return fmt.Errorf("%s: %s", res.Status, bytes.TrimSpace(detail)) - default: - return &statusError{res} - } - - if resBody == nil { - return nil - } - - switch b := resBody.(type) { - case *RawResponse: - return res.Write(b) - case io.Writer: - _, err := io.Copy(b, res.Body) - return err - default: - d := json.NewDecoder(res.Body) - if isAPI(req.URL.Path) { - // Responses from the /api endpoint are not wrapped - return d.Decode(resBody) - } - // Responses from the /rest endpoint are wrapped in this structure - val := struct { - Value interface{} `json:"value,omitempty"` - }{ - resBody, - } - return d.Decode(&val) - } - }) -} - -// authHeaders ensures the given map contains a REST auth header -func (c *Client) authHeaders(h map[string]string) map[string]string { - if _, exists := h[internal.SessionCookieName]; exists { - return h - } - if h == nil { - h = make(map[string]string) - } - - h[internal.SessionCookieName] = c.SessionID() - - return h -} - -// Download wraps soap.Client.Download, adding the REST authentication header -func (c *Client) Download(ctx context.Context, u *url.URL, param *soap.Download) (io.ReadCloser, int64, error) { - p := *param - p.Headers = c.authHeaders(p.Headers) - return c.Client.Download(ctx, u, &p) -} - -// DownloadFile wraps soap.Client.DownloadFile, adding the REST authentication header -func (c *Client) DownloadFile(ctx context.Context, file string, u *url.URL, param *soap.Download) error { - p := *param - p.Headers = c.authHeaders(p.Headers) - return c.Client.DownloadFile(ctx, file, u, &p) -} - -// Upload wraps soap.Client.Upload, adding the REST authentication header -func (c *Client) Upload(ctx context.Context, f io.Reader, u *url.URL, param *soap.Upload) error { - p := *param - p.Headers = c.authHeaders(p.Headers) - return c.Client.Upload(ctx, f, u, &p) -} - -// Login creates a new session via Basic Authentication with the given url.Userinfo. -func (c *Client) Login(ctx context.Context, user *url.Userinfo) error { - req := c.Resource(internal.SessionPath).Request(http.MethodPost) - - req.Header.Set(internal.UseHeaderAuthn, "true") - - if user != nil { - if password, ok := user.Password(); ok { - req.SetBasicAuth(user.Username(), password) - } - } - - var id string - err := c.Do(ctx, req, &id) - if err != nil { - return err - } - - c.SessionID(id) - - return nil -} - -func (c *Client) LoginByToken(ctx context.Context) error { - return c.Login(ctx, nil) -} - -// Session returns the user's current session. -// Nil is returned if the session is not authenticated. -func (c *Client) Session(ctx context.Context) (*Session, error) { - var s Session - req := c.Resource(internal.SessionPath).WithAction("get").Request(http.MethodPost) - err := c.Do(ctx, req, &s) - if err != nil { - if e, ok := err.(*statusError); ok { - if e.res.StatusCode == http.StatusUnauthorized { - return nil, nil - } - } - return nil, err - } - return &s, nil -} - -// Logout deletes the current session. -func (c *Client) Logout(ctx context.Context) error { - req := c.Resource(internal.SessionPath).Request(http.MethodDelete) - return c.Do(ctx, req, nil) -} - -// Valid returns whether or not the client is valid and ready for use. -// This should be called after unmarshalling the client. -func (c *Client) Valid() bool { - if c == nil { - return false - } - - if c.Client == nil { - return false - } - - return true -} - -// Path returns rest.Path (see cache.Client) -func (c *Client) Path() string { - return Path -} diff --git a/vendor/github.com/vmware/govmomi/vapi/rest/resource.go b/vendor/github.com/vmware/govmomi/vapi/rest/resource.go deleted file mode 100644 index e6e627492ab..00000000000 --- a/vendor/github.com/vmware/govmomi/vapi/rest/resource.go +++ /dev/null @@ -1,114 +0,0 @@ -/* -Copyright (c) 2019 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package rest - -import ( - "bytes" - "encoding/json" - "io" - "net/http" - "net/url" -) - -const ( - Path = "/rest" -) - -// Resource wraps url.URL with helpers -type Resource struct { - u *url.URL -} - -func (r *Resource) String() string { - return r.u.String() -} - -// WithID appends id to the URL.Path -func (r *Resource) WithID(id string) *Resource { - r.u.Path += "/id:" + id - return r -} - -// WithAction sets adds action to the URL.RawQuery -func (r *Resource) WithAction(action string) *Resource { - return r.WithParam("~action", action) -} - -// WithParam adds one parameter on the URL.RawQuery -func (r *Resource) WithParam(name string, value string) *Resource { - // ParseQuery handles empty case, and we control access to query string so shouldn't encounter an error case - params, err := url.ParseQuery(r.u.RawQuery) - if err != nil { - panic(err) - } - params[name] = append(params[name], value) - r.u.RawQuery = params.Encode() - return r -} - -// WithPathEncodedParam appends a parameter on the URL.RawQuery, -// For special cases where URL Path-style encoding is needed -func (r *Resource) WithPathEncodedParam(name string, value string) *Resource { - t := &url.URL{Path: value} - encodedValue := t.String() - t = &url.URL{Path: name} - encodedName := t.String() - // ParseQuery handles empty case, and we control access to query string so shouldn't encounter an error case - params, err := url.ParseQuery(r.u.RawQuery) - if err != nil { - panic(err) - } - // Values.Encode() doesn't escape exactly how we want, so we need to build the query string ourselves - if len(params) >= 1 { - r.u.RawQuery = r.u.RawQuery + "&" + encodedName + "=" + encodedValue - } else { - r.u.RawQuery = r.u.RawQuery + encodedName + "=" + encodedValue - } - return r -} - -// Request returns a new http.Request for the given method. -// An optional body can be provided for POST and PATCH methods. -func (r *Resource) Request(method string, body ...interface{}) *http.Request { - rdr := io.MultiReader() // empty body by default - if len(body) != 0 { - rdr = encode(body[0]) - } - req, err := http.NewRequest(method, r.u.String(), rdr) - if err != nil { - panic(err) - } - return req -} - -type errorReader struct { - e error -} - -func (e errorReader) Read([]byte) (int, error) { - return -1, e.e -} - -// encode body as JSON, deferring any errors until io.Reader is used. -func encode(body interface{}) io.Reader { - var b bytes.Buffer - err := json.NewEncoder(&b).Encode(body) - if err != nil { - return errorReader{err} - } - return &b -} diff --git a/vendor/github.com/vmware/govmomi/vapi/simulator/simulator.go b/vendor/github.com/vmware/govmomi/vapi/simulator/simulator.go deleted file mode 100644 index c84dd1615f8..00000000000 --- a/vendor/github.com/vmware/govmomi/vapi/simulator/simulator.go +++ /dev/null @@ -1,2280 +0,0 @@ -/* -Copyright (c) 2018-2023 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - -http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package simulator - -import ( - "archive/tar" - "bytes" - "context" - "crypto/tls" - "crypto/x509" - "encoding/base64" - "encoding/json" - "encoding/pem" - "errors" - "fmt" - "io" - "io/ioutil" - "log" - "net/http" - "net/url" - "os" - "path" - "path/filepath" - "reflect" - "strings" - "sync" - "time" - - "github.com/google/uuid" - - "github.com/vmware/govmomi" - "github.com/vmware/govmomi/nfc" - "github.com/vmware/govmomi/object" - "github.com/vmware/govmomi/ovf" - "github.com/vmware/govmomi/simulator" - "github.com/vmware/govmomi/vapi" - "github.com/vmware/govmomi/vapi/internal" - "github.com/vmware/govmomi/vapi/library" - "github.com/vmware/govmomi/vapi/rest" - "github.com/vmware/govmomi/vapi/tags" - "github.com/vmware/govmomi/vapi/vcenter" - "github.com/vmware/govmomi/view" - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/types" - vim "github.com/vmware/govmomi/vim25/types" - "github.com/vmware/govmomi/vim25/xml" -) - -type item struct { - *library.Item - File []library.File - Template *types.ManagedObjectReference -} - -type content struct { - *library.Library - Item map[string]*item - Subs map[string]*library.Subscriber - VMTX map[string]*types.ManagedObjectReference -} - -type update struct { - *library.Session - Library *library.Library - File map[string]*library.UpdateFile -} - -type download struct { - *library.Session - Library *library.Library - File map[string]*library.DownloadFile -} - -type handler struct { - sync.Mutex - sm *simulator.SessionManager - ServeMux *http.ServeMux - URL url.URL - Category map[string]*tags.Category - Tag map[string]*tags.Tag - Association map[string]map[internal.AssociatedObject]bool - Session map[string]*rest.Session - Library map[string]*content - Update map[string]update - Download map[string]download - Policies []library.ContentSecurityPoliciesInfo - Trust map[string]library.TrustedCertificate -} - -func init() { - simulator.RegisterEndpoint(func(s *simulator.Service, r *simulator.Registry) { - if r.IsVPX() { - patterns, h := New(s.Listen, r) - for _, p := range patterns { - s.Handle(p, h) - } - } - }) -} - -// New creates a vAPI simulator. -func New(u *url.URL, r *simulator.Registry) ([]string, http.Handler) { - s := &handler{ - sm: r.SessionManager(), - ServeMux: http.NewServeMux(), - URL: *u, - Category: make(map[string]*tags.Category), - Tag: make(map[string]*tags.Tag), - Association: make(map[string]map[internal.AssociatedObject]bool), - Session: make(map[string]*rest.Session), - Library: make(map[string]*content), - Update: make(map[string]update), - Download: make(map[string]download), - Policies: defaultSecurityPolicies(), - Trust: make(map[string]library.TrustedCertificate), - } - - handlers := []struct { - p string - m http.HandlerFunc - }{ - // /rest/ patterns. - {internal.SessionPath, s.session}, - {internal.CategoryPath, s.category}, - {internal.CategoryPath + "/", s.categoryID}, - {internal.TagPath, s.tag}, - {internal.TagPath + "/", s.tagID}, - {internal.AssociationPath, s.association}, - {internal.AssociationPath + "/", s.associationID}, - {internal.LibraryPath, s.library}, - {internal.LocalLibraryPath, s.library}, - {internal.SubscribedLibraryPath, s.library}, - {internal.LibraryPath + "/", s.libraryID}, - {internal.LocalLibraryPath + "/", s.libraryID}, - {internal.SubscribedLibraryPath + "/", s.libraryID}, - {internal.Subscriptions, s.subscriptions}, - {internal.Subscriptions + "/", s.subscriptionsID}, - {internal.LibraryItemPath, s.libraryItem}, - {internal.LibraryItemPath + "/", s.libraryItemID}, - {internal.SubscribedLibraryItem + "/", s.libraryItemID}, - {internal.LibraryItemUpdateSession, s.libraryItemUpdateSession}, - {internal.LibraryItemUpdateSession + "/", s.libraryItemUpdateSessionID}, - {internal.LibraryItemUpdateSessionFile, s.libraryItemUpdateSessionFile}, - {internal.LibraryItemUpdateSessionFile + "/", s.libraryItemUpdateSessionFileID}, - {internal.LibraryItemDownloadSession, s.libraryItemDownloadSession}, - {internal.LibraryItemDownloadSession + "/", s.libraryItemDownloadSessionID}, - {internal.LibraryItemDownloadSessionFile, s.libraryItemDownloadSessionFile}, - {internal.LibraryItemDownloadSessionFile + "/", s.libraryItemDownloadSessionFileID}, - {internal.LibraryItemFileData + "/", s.libraryItemFileData}, - {internal.LibraryItemFilePath, s.libraryItemFile}, - {internal.LibraryItemFilePath + "/", s.libraryItemFileID}, - {internal.VCenterOVFLibraryItem, s.libraryItemOVF}, - {internal.VCenterOVFLibraryItem + "/", s.libraryItemOVFID}, - {internal.VCenterVMTXLibraryItem, s.libraryItemCreateTemplate}, - {internal.VCenterVMTXLibraryItem + "/", s.libraryItemTemplateID}, - {internal.VCenterVM + "/", s.vmID}, - {internal.DebugEcho, s.debugEcho}, - // /api/ patterns. - {internal.SecurityPoliciesPath, s.librarySecurityPolicies}, - {internal.TrustedCertificatesPath, s.libraryTrustedCertificates}, - {internal.TrustedCertificatesPath + "/", s.libraryTrustedCertificatesID}, - } - - for i := range handlers { - h := handlers[i] - s.HandleFunc(h.p, h.m) - } - - return []string{rest.Path + "/", vapi.Path + "/"}, s -} - -func (s *handler) withClient(f func(context.Context, *vim25.Client) error) error { - ctx := context.Background() - c, err := govmomi.NewClient(ctx, &s.URL, true) - if err != nil { - return err - } - defer func() { - _ = c.Logout(ctx) - }() - return f(ctx, c.Client) -} - -// HandleFunc wraps the given handler with authorization checks and passes to http.ServeMux.HandleFunc -func (s *handler) HandleFunc(pattern string, handler func(http.ResponseWriter, *http.Request)) { - // Rest paths have been moved from /rest/* to /api/*. Account for both the legacy and new cases here. - if !strings.HasPrefix(pattern, rest.Path) && !strings.HasPrefix(pattern, vapi.Path) { - pattern = rest.Path + pattern - } - - s.ServeMux.HandleFunc(pattern, func(w http.ResponseWriter, r *http.Request) { - s.Lock() - defer s.Unlock() - - if !s.isAuthorized(r) { - w.WriteHeader(http.StatusUnauthorized) - return - } - - handler(w, r) - }) -} - -func (s *handler) isAuthorized(r *http.Request) bool { - if r.Method == http.MethodPost && strings.HasSuffix(r.URL.Path, internal.SessionPath) && s.action(r) == "" { - return true - } - id := r.Header.Get(internal.SessionCookieName) - if id == "" { - if cookie, err := r.Cookie(internal.SessionCookieName); err == nil { - id = cookie.Value - r.Header.Set(internal.SessionCookieName, id) - } - } - info, ok := s.Session[id] - if ok { - info.LastAccessed = time.Now() - } else { - _, ok = s.Update[id] - } - return ok -} - -func (s *handler) hasAuthorization(r *http.Request) (string, bool) { - u, p, ok := r.BasicAuth() - if ok { // user+pass auth - return u, s.sm.Authenticate(s.URL, &vim.Login{UserName: u, Password: p}) - } - auth := r.Header.Get("Authorization") - return "TODO", strings.HasPrefix(auth, "SIGN ") // token auth -} - -func (s *handler) findTag(e vim.VslmTagEntry) *tags.Tag { - for _, c := range s.Category { - if c.Name == e.ParentCategoryName { - for _, t := range s.Tag { - if t.Name == e.TagName && t.CategoryID == c.ID { - return t - } - } - } - } - return nil -} - -// AttachedObjects is meant for internal use via simulator.Registry.tagManager -func (s *handler) AttachedObjects(tag vim.VslmTagEntry) ([]vim.ManagedObjectReference, vim.BaseMethodFault) { - t := s.findTag(tag) - if t == nil { - return nil, new(vim.NotFound) - } - var ids []vim.ManagedObjectReference - for id := range s.Association[t.ID] { - ids = append(ids, vim.ManagedObjectReference(id)) - } - return ids, nil -} - -// AttachedTags is meant for internal use via simulator.Registry.tagManager -func (s *handler) AttachedTags(ref vim.ManagedObjectReference) ([]vim.VslmTagEntry, vim.BaseMethodFault) { - oid := internal.AssociatedObject(ref) - var tags []vim.VslmTagEntry - for id, objs := range s.Association { - if objs[oid] { - tag := s.Tag[id] - cat := s.Category[tag.CategoryID] - tags = append(tags, vim.VslmTagEntry{ - TagName: tag.Name, - ParentCategoryName: cat.Name, - }) - } - } - return tags, nil -} - -// AttachTag is meant for internal use via simulator.Registry.tagManager -func (s *handler) AttachTag(ref vim.ManagedObjectReference, tag vim.VslmTagEntry) vim.BaseMethodFault { - t := s.findTag(tag) - if t == nil { - return new(vim.NotFound) - } - s.Association[t.ID][internal.AssociatedObject(ref)] = true - return nil -} - -// DetachTag is meant for internal use via simulator.Registry.tagManager -func (s *handler) DetachTag(id vim.ManagedObjectReference, tag vim.VslmTagEntry) vim.BaseMethodFault { - t := s.findTag(tag) - if t == nil { - return new(vim.NotFound) - } - delete(s.Association[t.ID], internal.AssociatedObject(id)) - return nil -} - -// StatusOK responds with http.StatusOK and encodes val, if specified, to JSON -// For use with "/api" endpoints. -func StatusOK(w http.ResponseWriter, val ...interface{}) { - w.WriteHeader(http.StatusOK) - if len(val) == 0 { - return - } - - err := json.NewEncoder(w).Encode(val[0]) - - if err != nil { - log.Panic(err) - } -} - -// OK responds with http.StatusOK and encodes val, if specified, to JSON -// For use with "/rest" endpoints where the response is a "value" wrapped structure. -func OK(w http.ResponseWriter, val ...interface{}) { - if len(val) == 0 { - w.WriteHeader(http.StatusOK) - return - } - - s := struct { - Value interface{} `json:"value,omitempty"` - }{ - val[0], - } - - StatusOK(w, s) -} - -// BadRequest responds with http.StatusBadRequest and json encoded vAPI error of type kind. -// For use with "/rest" endpoints where the response is a "value" wrapped structure. -func BadRequest(w http.ResponseWriter, kind string) { - w.WriteHeader(http.StatusBadRequest) - - err := json.NewEncoder(w).Encode(struct { - Type string `json:"type"` - Value struct { - Messages []string `json:"messages,omitempty"` - } `json:"value,omitempty"` - }{ - Type: kind, - }) - - if err != nil { - log.Panic(err) - } -} - -func (*handler) error(w http.ResponseWriter, err error) { - http.Error(w, err.Error(), http.StatusInternalServerError) - log.Print(err) -} - -// ServeHTTP handles vAPI requests. -func (s *handler) ServeHTTP(w http.ResponseWriter, r *http.Request) { - switch r.Method { - case http.MethodPost, http.MethodDelete, http.MethodGet, http.MethodPatch, http.MethodPut: - default: - w.WriteHeader(http.StatusMethodNotAllowed) - return - } - - h, _ := s.ServeMux.Handler(r) - h.ServeHTTP(w, r) -} - -func (s *handler) decode(r *http.Request, w http.ResponseWriter, val interface{}) bool { - return Decode(r, w, val) -} - -// Decode the request Body into val. -// Returns true on success, otherwise false and sends the http.StatusBadRequest response. -func Decode(r *http.Request, w http.ResponseWriter, val interface{}) bool { - defer r.Body.Close() - err := json.NewDecoder(r.Body).Decode(val) - if err != nil { - log.Printf("%s %s: %s", r.Method, r.RequestURI, err) - w.WriteHeader(http.StatusBadRequest) - return false - } - return true -} - -func (s *handler) expiredSession(id string, now time.Time) bool { - expired := true - s.Lock() - session, ok := s.Session[id] - if ok { - expired = now.Sub(session.LastAccessed) > simulator.SessionIdleTimeout - if expired { - delete(s.Session, id) - } - } - s.Unlock() - return expired -} - -func (s *handler) session(w http.ResponseWriter, r *http.Request) { - id := r.Header.Get(internal.SessionCookieName) - useHeaderAuthn := strings.ToLower(r.Header.Get(internal.UseHeaderAuthn)) - - switch r.Method { - case http.MethodPost: - if s.action(r) != "" { - if session, ok := s.Session[id]; ok { - OK(w, session) - } else { - w.WriteHeader(http.StatusUnauthorized) - } - return - } - user, ok := s.hasAuthorization(r) - if !ok { - w.WriteHeader(http.StatusUnauthorized) - return - } - id = uuid.New().String() - now := time.Now() - s.Session[id] = &rest.Session{User: user, Created: now, LastAccessed: now} - simulator.SessionIdleWatch(context.Background(), id, s.expiredSession) - if useHeaderAuthn != "true" { - http.SetCookie(w, &http.Cookie{ - Name: internal.SessionCookieName, - Value: id, - Path: rest.Path, - }) - } - OK(w, id) - case http.MethodDelete: - delete(s.Session, id) - OK(w) - case http.MethodGet: - OK(w, s.Session[id]) - } -} - -func (s *handler) action(r *http.Request) string { - return r.URL.Query().Get("~action") -} - -func (s *handler) id(r *http.Request) string { - base := path.Base(r.URL.Path) - id := strings.TrimPrefix(base, "id:") - if id == base { - return "" // trigger 404 Not Found w/o id: prefix - } - return id -} - -func newID(kind string) string { - return fmt.Sprintf("urn:vmomi:InventoryService%s:%s:GLOBAL", kind, uuid.New().String()) -} - -func (s *handler) category(w http.ResponseWriter, r *http.Request) { - switch r.Method { - case http.MethodPost: - var spec struct { - Category tags.Category `json:"create_spec"` - } - if s.decode(r, w, &spec) { - for _, category := range s.Category { - if category.Name == spec.Category.Name { - BadRequest(w, "com.vmware.vapi.std.errors.already_exists") - return - } - } - id := newID("Category") - spec.Category.ID = id - s.Category[id] = &spec.Category - OK(w, id) - } - case http.MethodGet: - var ids []string - for id := range s.Category { - ids = append(ids, id) - } - - OK(w, ids) - } -} - -func (s *handler) categoryID(w http.ResponseWriter, r *http.Request) { - id := s.id(r) - - o, ok := s.Category[id] - if !ok { - http.NotFound(w, r) - return - } - - switch r.Method { - case http.MethodDelete: - delete(s.Category, id) - for ix, tag := range s.Tag { - if tag.CategoryID == id { - delete(s.Tag, ix) - delete(s.Association, ix) - } - } - OK(w) - case http.MethodPatch: - var spec struct { - Category tags.Category `json:"update_spec"` - } - if s.decode(r, w, &spec) { - ntypes := len(spec.Category.AssociableTypes) - if ntypes != 0 { - // Validate that AssociableTypes is only appended to. - etypes := len(o.AssociableTypes) - fail := ntypes < etypes - if !fail { - fail = !reflect.DeepEqual(o.AssociableTypes, spec.Category.AssociableTypes[:etypes]) - } - if fail { - BadRequest(w, "com.vmware.vapi.std.errors.invalid_argument") - return - } - } - o.Patch(&spec.Category) - OK(w) - } - case http.MethodGet: - OK(w, o) - } -} - -func (s *handler) tag(w http.ResponseWriter, r *http.Request) { - switch r.Method { - case http.MethodPost: - var spec struct { - Tag tags.Tag `json:"create_spec"` - } - if s.decode(r, w, &spec) { - for _, tag := range s.Tag { - if tag.Name == spec.Tag.Name && tag.CategoryID == spec.Tag.CategoryID { - BadRequest(w, "com.vmware.vapi.std.errors.already_exists") - return - } - } - id := newID("Tag") - spec.Tag.ID = id - s.Tag[id] = &spec.Tag - s.Association[id] = make(map[internal.AssociatedObject]bool) - OK(w, id) - } - case http.MethodGet: - var ids []string - for id := range s.Tag { - ids = append(ids, id) - } - OK(w, ids) - } -} - -func (s *handler) tagID(w http.ResponseWriter, r *http.Request) { - id := s.id(r) - - switch s.action(r) { - case "list-tags-for-category": - var ids []string - for _, tag := range s.Tag { - if tag.CategoryID == id { - ids = append(ids, tag.ID) - } - } - OK(w, ids) - return - } - - o, ok := s.Tag[id] - if !ok { - log.Printf("tag not found: %s", id) - http.NotFound(w, r) - return - } - - switch r.Method { - case http.MethodDelete: - delete(s.Tag, id) - delete(s.Association, id) - OK(w) - case http.MethodPatch: - var spec struct { - Tag tags.Tag `json:"update_spec"` - } - if s.decode(r, w, &spec) { - o.Patch(&spec.Tag) - OK(w) - } - case http.MethodGet: - OK(w, o) - } -} - -// TODO: support cardinality checks -func (s *handler) association(w http.ResponseWriter, r *http.Request) { - if r.Method != http.MethodPost { - w.WriteHeader(http.StatusMethodNotAllowed) - return - } - - var spec struct { - internal.Association - TagIDs []string `json:"tag_ids,omitempty"` - ObjectIDs []internal.AssociatedObject `json:"object_ids,omitempty"` - } - if !s.decode(r, w, &spec) { - return - } - - switch s.action(r) { - case "list-attached-tags": - var ids []string - for id, objs := range s.Association { - if objs[*spec.ObjectID] { - ids = append(ids, id) - } - } - OK(w, ids) - - case "list-attached-objects-on-tags": - var res []tags.AttachedObjects - for _, id := range spec.TagIDs { - o := tags.AttachedObjects{TagID: id} - for i := range s.Association[id] { - o.ObjectIDs = append(o.ObjectIDs, i) - } - res = append(res, o) - } - OK(w, res) - - case "list-attached-tags-on-objects": - var res []tags.AttachedTags - for _, ref := range spec.ObjectIDs { - o := tags.AttachedTags{ObjectID: ref} - for id, objs := range s.Association { - if objs[ref] { - o.TagIDs = append(o.TagIDs, id) - } - } - res = append(res, o) - } - OK(w, res) - - case "attach-multiple-tags-to-object": - // TODO: add check if target (moref) exist or return 403 as per API behavior - - res := struct { - Success bool `json:"success"` - Errors tags.BatchErrors `json:"error_messages,omitempty"` - }{} - - for _, id := range spec.TagIDs { - if _, exists := s.Association[id]; !exists { - log.Printf("association tag not found: %s", id) - res.Errors = append(res.Errors, tags.BatchError{ - Type: "cis.tagging.objectNotFound.error", - Message: fmt.Sprintf("Tagging object %s not found", id), - }) - } else { - s.Association[id][*spec.ObjectID] = true - } - } - - if len(res.Errors) == 0 { - res.Success = true - } - OK(w, res) - - case "detach-multiple-tags-from-object": - // TODO: add check if target (moref) exist or return 403 as per API behavior - - res := struct { - Success bool `json:"success"` - Errors tags.BatchErrors `json:"error_messages,omitempty"` - }{} - - for _, id := range spec.TagIDs { - if _, exists := s.Association[id]; !exists { - log.Printf("association tag not found: %s", id) - res.Errors = append(res.Errors, tags.BatchError{ - Type: "cis.tagging.objectNotFound.error", - Message: fmt.Sprintf("Tagging object %s not found", id), - }) - } else { - s.Association[id][*spec.ObjectID] = false - } - } - - if len(res.Errors) == 0 { - res.Success = true - } - OK(w, res) - } -} - -func (s *handler) associationID(w http.ResponseWriter, r *http.Request) { - if r.Method != http.MethodPost { - w.WriteHeader(http.StatusMethodNotAllowed) - return - } - - id := s.id(r) - if _, exists := s.Association[id]; !exists { - log.Printf("association tag not found: %s", id) - http.NotFound(w, r) - return - } - - var spec internal.Association - var specs struct { - ObjectIDs []internal.AssociatedObject `json:"object_ids"` - } - switch s.action(r) { - case "attach", "detach", "list-attached-objects": - if !s.decode(r, w, &spec) { - return - } - case "attach-tag-to-multiple-objects": - if !s.decode(r, w, &specs) { - return - } - } - - switch s.action(r) { - case "attach": - s.Association[id][*spec.ObjectID] = true - OK(w) - case "detach": - delete(s.Association[id], *spec.ObjectID) - OK(w) - case "list-attached-objects": - var ids []internal.AssociatedObject - for id := range s.Association[id] { - ids = append(ids, id) - } - OK(w, ids) - case "attach-tag-to-multiple-objects": - for _, obj := range specs.ObjectIDs { - s.Association[id][obj] = true - } - OK(w) - } -} - -func (s *handler) library(w http.ResponseWriter, r *http.Request) { - switch r.Method { - case http.MethodPost: - var spec struct { - Library library.Library `json:"create_spec"` - Find library.Find `json:"spec"` - } - if !s.decode(r, w, &spec) { - return - } - - switch s.action(r) { - case "find": - var ids []string - for _, l := range s.Library { - if spec.Find.Type != "" { - if spec.Find.Type != l.Library.Type { - continue - } - } - if spec.Find.Name != "" { - if !strings.EqualFold(l.Library.Name, spec.Find.Name) { - continue - } - } - ids = append(ids, l.ID) - } - OK(w, ids) - case "": - if !s.isValidSecurityPolicy(spec.Library.SecurityPolicyID) { - http.NotFound(w, r) - return - } - - id := uuid.New().String() - spec.Library.ID = id - spec.Library.CreationTime = types.NewTime(time.Now()) - spec.Library.LastModifiedTime = types.NewTime(time.Now()) - spec.Library.UnsetSecurityPolicyID = spec.Library.SecurityPolicyID == "" - dir := libraryPath(&spec.Library, "") - if err := os.Mkdir(dir, 0750); err != nil { - s.error(w, err) - return - } - s.Library[id] = &content{ - Library: &spec.Library, - Item: make(map[string]*item), - Subs: make(map[string]*library.Subscriber), - VMTX: make(map[string]*types.ManagedObjectReference), - } - - pub := spec.Library.Publication - if pub != nil && pub.Published != nil && *pub.Published { - // Generate PublishURL as real vCenter does - pub.PublishURL = (&url.URL{ - Scheme: s.URL.Scheme, - Host: s.URL.Host, - Path: "/cls/vcsp/lib/" + id, - }).String() - } - - sub := spec.Library.Subscription - if sub != nil { - // Share the published Item map - pid := path.Base(sub.SubscriptionURL) - if p, ok := s.Library[pid]; ok { - s.Library[id].Item = p.Item - } - } - - OK(w, id) - } - case http.MethodGet: - var ids []string - for id := range s.Library { - ids = append(ids, id) - } - OK(w, ids) - } -} - -func (s *handler) publish(w http.ResponseWriter, r *http.Request, sids []internal.SubscriptionDestination, l *content, vmtx *item) bool { - var ids []string - if len(sids) == 0 { - for sid := range l.Subs { - ids = append(ids, sid) - } - } else { - for _, dst := range sids { - ids = append(ids, dst.ID) - } - } - - for _, sid := range ids { - sub, ok := l.Subs[sid] - if !ok { - log.Printf("library subscription not found: %s", sid) - http.NotFound(w, r) - return false - } - - slib := s.Library[sub.LibraryID] - if slib.VMTX[vmtx.ID] != nil { - return true // already cloned - } - - ds := &vcenter.DiskStorage{Datastore: l.Library.Storage[0].DatastoreID} - ref, err := s.cloneVM(vmtx.Template.Value, vmtx.Name, sub.Placement, ds) - if err != nil { - s.error(w, err) - return false - } - - slib.VMTX[vmtx.ID] = ref - } - - return true -} - -func (s *handler) libraryID(w http.ResponseWriter, r *http.Request) { - id := s.id(r) - l, ok := s.Library[id] - if !ok { - log.Printf("library not found: %s", id) - http.NotFound(w, r) - return - } - - switch r.Method { - case http.MethodDelete: - p := libraryPath(l.Library, "") - if err := os.RemoveAll(p); err != nil { - s.error(w, err) - return - } - for _, item := range l.Item { - s.deleteVM(item.Template) - } - delete(s.Library, id) - OK(w) - case http.MethodPatch: - var spec struct { - Library library.Library `json:"update_spec"` - } - if s.decode(r, w, &spec) { - l.Patch(&spec.Library) - OK(w) - } - case http.MethodPost: - switch s.action(r) { - case "publish": - var spec internal.SubscriptionDestinationSpec - if !s.decode(r, w, &spec) { - return - } - for _, item := range l.Item { - if item.Type != library.ItemTypeVMTX { - continue - } - if !s.publish(w, r, spec.Subscriptions, l, item) { - return - } - } - OK(w) - case "sync": - if l.Type == "SUBSCRIBED" { - l.LastSyncTime = types.NewTime(time.Now()) - OK(w) - } else { - http.NotFound(w, r) - } - } - case http.MethodGet: - OK(w, l) - } -} - -func (s *handler) subscriptions(w http.ResponseWriter, r *http.Request) { - if r.Method != http.MethodGet { - w.WriteHeader(http.StatusMethodNotAllowed) - return - } - - id := r.URL.Query().Get("library") - l, ok := s.Library[id] - if !ok { - log.Printf("library not found: %s", id) - http.NotFound(w, r) - return - } - - var res []library.SubscriberSummary - for sid, slib := range l.Subs { - res = append(res, library.SubscriberSummary{ - LibraryID: slib.LibraryID, - LibraryName: slib.LibraryName, - SubscriptionID: sid, - LibraryVcenterHostname: "", - }) - } - OK(w, res) -} - -func (s *handler) subscriptionsID(w http.ResponseWriter, r *http.Request) { - id := s.id(r) - l, ok := s.Library[id] - if !ok { - log.Printf("library not found: %s", id) - http.NotFound(w, r) - return - } - - switch s.action(r) { - case "get": - var dst internal.SubscriptionDestination - if !s.decode(r, w, &dst) { - return - } - - sub, ok := l.Subs[dst.ID] - if !ok { - log.Printf("library subscription not found: %s", dst.ID) - http.NotFound(w, r) - return - } - - OK(w, sub) - case "delete": - var dst internal.SubscriptionDestination - if !s.decode(r, w, &dst) { - return - } - - delete(l.Subs, dst.ID) - - OK(w) - case "create", "": - var spec struct { - Sub struct { - SubscriberLibrary library.SubscriberLibrary `json:"subscribed_library"` - } `json:"spec"` - } - if !s.decode(r, w, &spec) { - return - } - - sub := spec.Sub.SubscriberLibrary - slib, ok := s.Library[sub.LibraryID] - if !ok { - log.Printf("library not found: %s", sub.LibraryID) - http.NotFound(w, r) - return - } - - id := uuid.New().String() - l.Subs[id] = &library.Subscriber{ - LibraryID: slib.ID, - LibraryName: slib.Name, - LibraryLocation: sub.Target, - Placement: sub.Placement, - Vcenter: sub.Vcenter, - } - - OK(w, id) - } -} - -func (s *handler) libraryItem(w http.ResponseWriter, r *http.Request) { - switch r.Method { - case http.MethodPost: - var spec struct { - Item library.Item `json:"create_spec"` - Find library.FindItem `json:"spec"` - } - if !s.decode(r, w, &spec) { - return - } - - switch s.action(r) { - case "find": - var ids []string - for _, l := range s.Library { - if spec.Find.LibraryID != "" { - if spec.Find.LibraryID != l.ID { - continue - } - } - for _, i := range l.Item { - if spec.Find.Name != "" { - if spec.Find.Name != i.Name { - continue - } - } - if spec.Find.Type != "" { - if spec.Find.Type != i.Type { - continue - } - } - ids = append(ids, i.ID) - } - } - OK(w, ids) - case "create", "": - id := spec.Item.LibraryID - l, ok := s.Library[id] - if !ok { - log.Printf("library not found: %s", id) - http.NotFound(w, r) - return - } - if l.Type == "SUBSCRIBED" { - BadRequest(w, "com.vmware.vapi.std.errors.invalid_element_type") - return - } - for _, item := range l.Item { - if item.Name == spec.Item.Name { - BadRequest(w, "com.vmware.vapi.std.errors.already_exists") - return - } - } - id = uuid.New().String() - spec.Item.ID = id - spec.Item.CreationTime = types.NewTime(time.Now()) - spec.Item.LastModifiedTime = types.NewTime(time.Now()) - if l.SecurityPolicyID != "" { - // TODO: verify signed items - spec.Item.SecurityCompliance = types.NewBool(false) - spec.Item.CertificateVerification = &library.ItemCertificateVerification{ - Status: "NOT_AVAILABLE", - } - } - l.Item[id] = &item{Item: &spec.Item} - OK(w, id) - } - case http.MethodGet: - id := r.URL.Query().Get("library_id") - l, ok := s.Library[id] - if !ok { - log.Printf("library not found: %s", id) - http.NotFound(w, r) - return - } - - var ids []string - for id := range l.Item { - ids = append(ids, id) - } - OK(w, ids) - } -} - -func (s *handler) libraryItemID(w http.ResponseWriter, r *http.Request) { - id := s.id(r) - lid := r.URL.Query().Get("library_id") - if lid == "" { - if l := s.itemLibrary(id); l != nil { - lid = l.ID - } - } - l, ok := s.Library[lid] - if !ok { - log.Printf("library not found: %q", lid) - http.NotFound(w, r) - return - } - item, ok := l.Item[id] - if !ok { - log.Printf("library item not found: %q", id) - http.NotFound(w, r) - return - } - - switch r.Method { - case http.MethodDelete: - p := libraryPath(l.Library, id) - if err := os.RemoveAll(p); err != nil { - s.error(w, err) - return - } - s.deleteVM(l.Item[item.ID].Template) - delete(l.Item, item.ID) - OK(w) - case http.MethodPatch: - var spec struct { - library.Item `json:"update_spec"` - } - if s.decode(r, w, &spec) { - item.Patch(&spec.Item) - OK(w) - } - case http.MethodPost: - switch s.action(r) { - case "copy": - var spec struct { - library.Item `json:"destination_create_spec"` - } - if !s.decode(r, w, &spec) { - return - } - - l, ok = s.Library[spec.LibraryID] - if !ok { - log.Printf("library not found: %q", spec.LibraryID) - http.NotFound(w, r) - return - } - if spec.Name == "" { - BadRequest(w, "com.vmware.vapi.std.errors.invalid_argument") - } - - id := uuid.New().String() - nitem := item.cp() - nitem.ID = id - nitem.LibraryID = spec.LibraryID - l.Item[id] = nitem - - OK(w, id) - case "sync": - if l.Type == "SUBSCRIBED" { - item.LastSyncTime = types.NewTime(time.Now()) - OK(w) - } else { - http.NotFound(w, r) - } - case "publish": - var spec internal.SubscriptionDestinationSpec - if s.decode(r, w, &spec) { - if s.publish(w, r, spec.Subscriptions, l, item) { - OK(w) - } - } - } - case http.MethodGet: - OK(w, item) - } -} - -func (s *handler) libraryItemUpdateSession(w http.ResponseWriter, r *http.Request) { - switch r.Method { - case http.MethodGet: - var ids []string - for id := range s.Update { - ids = append(ids, id) - } - OK(w, ids) - case http.MethodPost: - var spec struct { - Session library.Session `json:"create_spec"` - } - if !s.decode(r, w, &spec) { - return - } - - switch s.action(r) { - case "create", "": - lib := s.itemLibrary(spec.Session.LibraryItemID) - if lib == nil { - log.Printf("library for item %q not found", spec.Session.LibraryItemID) - http.NotFound(w, r) - return - } - session := &library.Session{ - ID: uuid.New().String(), - LibraryItemID: spec.Session.LibraryItemID, - LibraryItemContentVersion: "1", - ClientProgress: 0, - State: "ACTIVE", - ExpirationTime: types.NewTime(time.Now().Add(time.Hour)), - } - s.Update[session.ID] = update{ - Session: session, - Library: lib, - File: make(map[string]*library.UpdateFile), - } - OK(w, session.ID) - } - } -} - -func (s *handler) libraryItemUpdateSessionID(w http.ResponseWriter, r *http.Request) { - id := s.id(r) - up, ok := s.Update[id] - if !ok { - log.Printf("update session not found: %s", id) - http.NotFound(w, r) - return - } - - session := up.Session - done := func(state string) { - up.State = state - go time.AfterFunc(session.ExpirationTime.Sub(time.Now()), func() { - s.Lock() - delete(s.Update, id) - s.Unlock() - }) - } - - switch r.Method { - case http.MethodGet: - OK(w, session) - case http.MethodPost: - switch s.action(r) { - case "cancel": - done("CANCELED") - case "complete": - done("DONE") - case "fail": - done("ERROR") - case "keep-alive": - session.ExpirationTime = types.NewTime(time.Now().Add(time.Hour)) - } - OK(w) - case http.MethodDelete: - delete(s.Update, id) - OK(w) - } -} - -func (s *handler) libraryItemUpdateSessionFile(w http.ResponseWriter, r *http.Request) { - if r.Method != http.MethodGet { - w.WriteHeader(http.StatusMethodNotAllowed) - return - } - - id := r.URL.Query().Get("update_session_id") - up, ok := s.Update[id] - if !ok { - log.Printf("update session not found: %s", id) - http.NotFound(w, r) - return - } - - var files []*library.UpdateFile - for _, f := range up.File { - files = append(files, f) - } - OK(w, files) -} - -func (s *handler) pullSource(up update, info *library.UpdateFile) { - done := func(err error) { - s.Lock() - info.Status = "READY" - if err != nil { - log.Printf("PULL %s: %s", info.SourceEndpoint.URI, err) - info.Status = "ERROR" - up.State = "ERROR" - up.ErrorMessage = &rest.LocalizableMessage{DefaultMessage: err.Error()} - } - s.Unlock() - } - - c := &http.Client{ - Transport: &http.Transport{ - TLSClientConfig: &tls.Config{InsecureSkipVerify: true}, - }, - } - - res, err := c.Get(info.SourceEndpoint.URI) - if err != nil { - done(err) - return - } - - err = s.libraryItemFileCreate(&up, info.Name, res.Body) - done(err) -} - -func (s *handler) libraryItemUpdateSessionFileID(w http.ResponseWriter, r *http.Request) { - if r.Method != http.MethodPost { - w.WriteHeader(http.StatusMethodNotAllowed) - return - } - - id := s.id(r) - up, ok := s.Update[id] - if !ok { - log.Printf("update session not found: %s", id) - http.NotFound(w, r) - return - } - - switch s.action(r) { - case "add": - var spec struct { - File library.UpdateFile `json:"file_spec"` - } - if s.decode(r, w, &spec) { - id = uuid.New().String() - info := &library.UpdateFile{ - Name: spec.File.Name, - SourceType: spec.File.SourceType, - Status: "WAITING_FOR_TRANSFER", - BytesTransferred: 0, - } - switch info.SourceType { - case "PUSH": - u := url.URL{ - Scheme: s.URL.Scheme, - Host: s.URL.Host, - Path: path.Join(rest.Path, internal.LibraryItemFileData, id, info.Name), - } - info.UploadEndpoint = &library.TransferEndpoint{URI: u.String()} - case "PULL": - info.SourceEndpoint = spec.File.SourceEndpoint - go s.pullSource(up, info) - } - up.File[id] = info - OK(w, info) - } - case "get": - OK(w, up.Session) - case "list": - var ids []string - for id := range up.File { - ids = append(ids, id) - } - OK(w, ids) - case "remove": - delete(s.Update, id) - OK(w) - case "validate": - // TODO - } -} - -func (s *handler) libraryItemDownloadSession(w http.ResponseWriter, r *http.Request) { - switch r.Method { - case http.MethodGet: - var ids []string - for id := range s.Download { - ids = append(ids, id) - } - OK(w, ids) - case http.MethodPost: - var spec struct { - Session library.Session `json:"create_spec"` - } - if !s.decode(r, w, &spec) { - return - } - - switch s.action(r) { - case "create", "": - var lib *library.Library - var files []library.File - for _, l := range s.Library { - if item, ok := l.Item[spec.Session.LibraryItemID]; ok { - lib = l.Library - files = item.File - break - } - } - if lib == nil { - log.Printf("library for item %q not found", spec.Session.LibraryItemID) - http.NotFound(w, r) - return - } - session := &library.Session{ - ID: uuid.New().String(), - LibraryItemID: spec.Session.LibraryItemID, - LibraryItemContentVersion: "1", - ClientProgress: 0, - State: "ACTIVE", - ExpirationTime: types.NewTime(time.Now().Add(time.Hour)), - } - s.Download[session.ID] = download{ - Session: session, - Library: lib, - File: make(map[string]*library.DownloadFile), - } - for _, file := range files { - s.Download[session.ID].File[file.Name] = &library.DownloadFile{ - Name: file.Name, - Status: "UNPREPARED", - } - } - OK(w, session.ID) - } - } -} - -func (s *handler) libraryItemDownloadSessionID(w http.ResponseWriter, r *http.Request) { - id := s.id(r) - up, ok := s.Download[id] - if !ok { - log.Printf("download session not found: %s", id) - http.NotFound(w, r) - return - } - - session := up.Session - switch r.Method { - case http.MethodGet: - OK(w, session) - case http.MethodPost: - switch s.action(r) { - case "cancel", "complete", "fail": - delete(s.Download, id) // TODO: fully mock VC's behavior - case "keep-alive": - session.ExpirationTime = types.NewTime(time.Now().Add(time.Hour)) - } - OK(w) - case http.MethodDelete: - delete(s.Download, id) - OK(w) - } -} - -func (s *handler) libraryItemDownloadSessionFile(w http.ResponseWriter, r *http.Request) { - if r.Method != http.MethodGet { - w.WriteHeader(http.StatusMethodNotAllowed) - return - } - - id := r.URL.Query().Get("download_session_id") - dl, ok := s.Download[id] - if !ok { - log.Printf("download session not found: %s", id) - http.NotFound(w, r) - return - } - - var files []*library.DownloadFile - for _, f := range dl.File { - files = append(files, f) - } - OK(w, files) -} - -func (s *handler) libraryItemDownloadSessionFileID(w http.ResponseWriter, r *http.Request) { - if r.Method != http.MethodPost { - w.WriteHeader(http.StatusMethodNotAllowed) - return - } - - id := s.id(r) - dl, ok := s.Download[id] - if !ok { - log.Printf("download session not found: %s", id) - http.NotFound(w, r) - return - } - - var spec struct { - File string `json:"file_name"` - } - - switch s.action(r) { - case "prepare": - if s.decode(r, w, &spec) { - u := url.URL{ - Scheme: s.URL.Scheme, - Host: s.URL.Host, - Path: path.Join(rest.Path, internal.LibraryItemFileData, id, spec.File), - } - info := &library.DownloadFile{ - Name: spec.File, - Status: "PREPARED", - BytesTransferred: 0, - DownloadEndpoint: &library.TransferEndpoint{ - URI: u.String(), - }, - } - dl.File[spec.File] = info - OK(w, info) - } - case "get": - if s.decode(r, w, &spec) { - OK(w, dl.File[spec.File]) - } - } -} - -func (s *handler) itemLibrary(id string) *library.Library { - for _, l := range s.Library { - if _, ok := l.Item[id]; ok { - return l.Library - } - } - return nil -} - -func (s *handler) updateFileInfo(id string) *update { - for _, up := range s.Update { - for i := range up.File { - if i == id { - return &up - } - } - } - return nil -} - -// libraryPath returns the local Datastore fs path for a Library or Item if id is specified. -func libraryPath(l *library.Library, id string) string { - dsref := types.ManagedObjectReference{ - Type: "Datastore", - Value: l.Storage[0].DatastoreID, - } - ds := simulator.Map.Get(dsref).(*simulator.Datastore) - - return path.Join(append([]string{ds.Info.GetDatastoreInfo().Url, "contentlib-" + l.ID}, id)...) -} - -func (s *handler) libraryItemFileCreate(up *update, name string, body io.ReadCloser) error { - var in io.Reader = body - dir := libraryPath(up.Library, up.Session.LibraryItemID) - if err := os.MkdirAll(dir, 0750); err != nil { - return err - } - - if path.Ext(name) == ".ova" { - // All we need is the .ovf, vcsim has no use for .vmdk or .mf - r := tar.NewReader(body) - for { - h, err := r.Next() - if err != nil { - return err - } - - if path.Ext(h.Name) == ".ovf" { - name = h.Name - in = io.LimitReader(body, h.Size) - break - } - } - } - - file, err := os.Create(path.Join(dir, name)) - if err != nil { - return err - } - - n, err := io.Copy(file, in) - _ = body.Close() - if err != nil { - return err - } - err = file.Close() - if err != nil { - return err - } - - i := s.Library[up.Library.ID].Item[up.Session.LibraryItemID] - i.File = append(i.File, library.File{ - Cached: types.NewBool(true), - Name: name, - Size: types.NewInt64(n), - Version: "1", - }) - - return nil -} - -func (s *handler) libraryItemFileData(w http.ResponseWriter, r *http.Request) { - p := strings.Split(r.URL.Path, "/") - id, name := p[len(p)-2], p[len(p)-1] - - if r.Method == http.MethodGet { - dl, ok := s.Download[id] - if !ok { - log.Printf("library download not found: %s", id) - http.NotFound(w, r) - return - } - p := path.Join(libraryPath(dl.Library, dl.Session.LibraryItemID), name) - f, err := os.Open(p) - if err != nil { - s.error(w, err) - return - } - _, err = io.Copy(w, f) - if err != nil { - log.Printf("copy %s: %s", p, err) - } - _ = f.Close() - return - } - - if r.Method != http.MethodPut { - w.WriteHeader(http.StatusMethodNotAllowed) - return - } - - up := s.updateFileInfo(id) - if up == nil { - log.Printf("library update not found: %s", id) - http.NotFound(w, r) - return - } - - err := s.libraryItemFileCreate(up, name, r.Body) - if err != nil { - s.error(w, err) - } -} - -func (s *handler) libraryItemFile(w http.ResponseWriter, r *http.Request) { - id := r.URL.Query().Get("library_item_id") - for _, l := range s.Library { - if i, ok := l.Item[id]; ok { - OK(w, i.File) - return - } - } - http.NotFound(w, r) -} - -func (s *handler) libraryItemFileID(w http.ResponseWriter, r *http.Request) { - if r.Method != http.MethodPost { - w.WriteHeader(http.StatusMethodNotAllowed) - return - } - id := s.id(r) - var spec struct { - Name string `json:"name"` - } - if !s.decode(r, w, &spec) { - return - } - for _, l := range s.Library { - if i, ok := l.Item[id]; ok { - for _, f := range i.File { - if f.Name == spec.Name { - OK(w, f) - return - } - } - } - } - http.NotFound(w, r) -} - -func (i *item) cp() *item { - nitem := *i.Item - return &item{&nitem, i.File, i.Template} -} - -func (i *item) ovf() string { - for _, f := range i.File { - if strings.HasSuffix(f.Name, ".ovf") { - return f.Name - } - } - return "" -} - -func vmConfigSpec(ctx context.Context, c *vim25.Client, deploy vcenter.Deploy) (*types.VirtualMachineConfigSpec, error) { - if deploy.VmConfigSpec == nil { - return nil, nil - } - - b, err := base64.StdEncoding.DecodeString(deploy.VmConfigSpec.XML) - if err != nil { - return nil, err - } - - var spec *types.VirtualMachineConfigSpec - - dec := xml.NewDecoder(bytes.NewReader(b)) - dec.TypeFunc = c.Types - err = dec.Decode(&spec) - if err != nil { - return nil, err - } - - return spec, nil -} - -func (s *handler) libraryDeploy(ctx context.Context, c *vim25.Client, lib *library.Library, item *item, deploy vcenter.Deploy) (*nfc.LeaseInfo, error) { - config, err := vmConfigSpec(ctx, c, deploy) - if err != nil { - return nil, err - } - - name := item.ovf() - desc, err := ioutil.ReadFile(filepath.Join(libraryPath(lib, item.ID), name)) - if err != nil { - return nil, err - } - ds := types.ManagedObjectReference{Type: "Datastore", Value: deploy.DeploymentSpec.DefaultDatastoreID} - pool := types.ManagedObjectReference{Type: "ResourcePool", Value: deploy.Target.ResourcePoolID} - var folder, host *types.ManagedObjectReference - if deploy.Target.FolderID != "" { - folder = &types.ManagedObjectReference{Type: "Folder", Value: deploy.Target.FolderID} - } - if deploy.Target.HostID != "" { - host = &types.ManagedObjectReference{Type: "HostSystem", Value: deploy.Target.HostID} - } - - v, err := view.NewManager(c).CreateContainerView(ctx, c.ServiceContent.RootFolder, nil, true) - if err != nil { - return nil, err - } - defer func() { - _ = v.Destroy(ctx) - }() - refs, err := v.Find(ctx, []string{"Network"}, nil) - if err != nil { - return nil, err - } - - var network []types.OvfNetworkMapping - for _, net := range deploy.NetworkMappings { - for i := range refs { - if refs[i].Value == net.Value { - network = append(network, types.OvfNetworkMapping{Name: net.Key, Network: refs[i]}) - break - } - } - } - - if ds.Value == "" { - // Datastore is optional in the deploy spec, but not in OvfManager.CreateImportSpec - refs, err = v.Find(ctx, []string{"Datastore"}, nil) - if err != nil { - return nil, err - } - // TODO: consider StorageProfileID - ds = refs[0] - } - - cisp := types.OvfCreateImportSpecParams{ - DiskProvisioning: deploy.DeploymentSpec.StorageProvisioning, - EntityName: deploy.DeploymentSpec.Name, - NetworkMapping: network, - } - - for _, p := range deploy.AdditionalParams { - switch p.Type { - case vcenter.TypePropertyParams: - for _, prop := range p.Properties { - cisp.PropertyMapping = append(cisp.PropertyMapping, types.KeyValue{ - Key: prop.ID, - Value: prop.Value, - }) - } - case vcenter.TypeDeploymentOptionParams: - cisp.OvfManagerCommonParams.DeploymentOption = p.SelectedKey - } - } - - m := ovf.NewManager(c) - spec, err := m.CreateImportSpec(ctx, string(desc), pool, ds, cisp) - if err != nil { - return nil, err - } - if spec.Error != nil { - return nil, errors.New(spec.Error[0].LocalizedMessage) - } - - req := types.ImportVApp{ - This: pool, - Spec: spec.ImportSpec, - Folder: folder, - Host: host, - } - res, err := methods.ImportVApp(ctx, c, &req) - if err != nil { - return nil, err - } - - lease := nfc.NewLease(c, res.Returnval) - info, err := lease.Wait(ctx, spec.FileItem) - if err != nil { - return nil, err - } - - if err = lease.Complete(ctx); err != nil { - return nil, err - } - - if config != nil { - if err = s.reconfigVM(info.Entity, *config); err != nil { - return nil, err - } - } - - return info, nil -} - -func (s *handler) libraryItemOVF(w http.ResponseWriter, r *http.Request) { - if r.Method != http.MethodPost { - w.WriteHeader(http.StatusMethodNotAllowed) - return - } - - var req vcenter.OVF - if !s.decode(r, w, &req) { - return - } - - switch { - case req.Target.LibraryItemID != "": - case req.Target.LibraryID != "": - l, ok := s.Library[req.Target.LibraryID] - if !ok { - http.NotFound(w, r) - } - - id := uuid.New().String() - l.Item[id] = &item{ - Item: &library.Item{ - ID: id, - LibraryID: l.Library.ID, - Name: req.Spec.Name, - Description: req.Spec.Description, - Type: library.ItemTypeOVF, - CreationTime: types.NewTime(time.Now()), - LastModifiedTime: types.NewTime(time.Now()), - }, - } - - res := vcenter.CreateResult{ - Succeeded: true, - ID: id, - } - OK(w, res) - default: - BadRequest(w, "com.vmware.vapi.std.errors.invalid_argument") - return - } -} - -func (s *handler) libraryItemOVFID(w http.ResponseWriter, r *http.Request) { - if r.Method != http.MethodPost { - w.WriteHeader(http.StatusMethodNotAllowed) - return - } - - id := s.id(r) - ok := false - var lib *library.Library - var item *item - for _, l := range s.Library { - if l.Library.Type == "SUBSCRIBED" { - // Subscribers share the same Item map, we need the LOCAL library to find the .ovf on disk - continue - } - item, ok = l.Item[id] - if ok { - lib = l.Library - break - } - } - if !ok { - log.Printf("library item not found: %q", id) - http.NotFound(w, r) - return - } - - var spec struct { - vcenter.Deploy - } - if !s.decode(r, w, &spec) { - return - } - - switch s.action(r) { - case "deploy": - var d vcenter.Deployment - err := s.withClient(func(ctx context.Context, c *vim25.Client) error { - info, err := s.libraryDeploy(ctx, c, lib, item, spec.Deploy) - if err != nil { - return err - } - id := vcenter.ResourceID(info.Entity) - d.Succeeded = true - d.ResourceID = &id - return nil - }) - if err != nil { - d.Error = &vcenter.DeploymentError{ - Errors: []vcenter.OVFError{{ - Category: "SERVER", - Error: &vcenter.Error{ - Class: "com.vmware.vapi.std.errors.error", - Messages: []rest.LocalizableMessage{ - { - DefaultMessage: err.Error(), - }, - }, - }, - }}, - } - } - OK(w, d) - case "filter": - res := vcenter.FilterResponse{ - Name: item.Name, - } - OK(w, res) - default: - http.NotFound(w, r) - } -} - -func (s *handler) deleteVM(ref *types.ManagedObjectReference) { - if ref == nil { - return - } - _ = s.withClient(func(ctx context.Context, c *vim25.Client) error { - _, _ = object.NewVirtualMachine(c, *ref).Destroy(ctx) - return nil - }) -} - -func (s *handler) reconfigVM(ref types.ManagedObjectReference, config types.VirtualMachineConfigSpec) error { - return s.withClient(func(ctx context.Context, c *vim25.Client) error { - vm := object.NewVirtualMachine(c, ref) - task, err := vm.Reconfigure(ctx, config) - if err != nil { - return err - } - return task.Wait(ctx) - }) -} - -func (s *handler) cloneVM(source string, name string, p *library.Placement, storage *vcenter.DiskStorage) (*types.ManagedObjectReference, error) { - var folder, pool, host, ds *types.ManagedObjectReference - if p.Folder != "" { - folder = &types.ManagedObjectReference{Type: "Folder", Value: p.Folder} - } - if p.ResourcePool != "" { - pool = &types.ManagedObjectReference{Type: "ResourcePool", Value: p.ResourcePool} - } - if p.Host != "" { - host = &types.ManagedObjectReference{Type: "HostSystem", Value: p.Host} - } - if storage != nil { - if storage.Datastore != "" { - ds = &types.ManagedObjectReference{Type: "Datastore", Value: storage.Datastore} - } - } - - spec := types.VirtualMachineCloneSpec{ - Template: true, - Location: types.VirtualMachineRelocateSpec{ - Folder: folder, - Pool: pool, - Host: host, - Datastore: ds, - }, - } - - var ref *types.ManagedObjectReference - - return ref, s.withClient(func(ctx context.Context, c *vim25.Client) error { - vm := object.NewVirtualMachine(c, types.ManagedObjectReference{Type: "VirtualMachine", Value: source}) - - task, err := vm.Clone(ctx, object.NewFolder(c, *folder), name, spec) - if err != nil { - return err - } - res, err := task.WaitForResult(ctx, nil) - if err != nil { - return err - } - ref = types.NewReference(res.Result.(types.ManagedObjectReference)) - return nil - }) -} - -func (s *handler) libraryItemCreateTemplate(w http.ResponseWriter, r *http.Request) { - if r.Method != http.MethodPost { - w.WriteHeader(http.StatusMethodNotAllowed) - return - } - - var spec struct { - vcenter.Template `json:"spec"` - } - if !s.decode(r, w, &spec) { - return - } - - l, ok := s.Library[spec.Library] - if !ok { - http.NotFound(w, r) - return - } - - ds := &vcenter.DiskStorage{Datastore: l.Library.Storage[0].DatastoreID} - ref, err := s.cloneVM(spec.SourceVM, spec.Name, spec.Placement, ds) - if err != nil { - BadRequest(w, err.Error()) - return - } - - id := uuid.New().String() - l.Item[id] = &item{ - Item: &library.Item{ - ID: id, - LibraryID: l.Library.ID, - Name: spec.Name, - Type: library.ItemTypeVMTX, - CreationTime: types.NewTime(time.Now()), - LastModifiedTime: types.NewTime(time.Now()), - }, - Template: ref, - } - - OK(w, id) -} - -func (s *handler) libraryItemTemplateID(w http.ResponseWriter, r *http.Request) { - // Go's ServeMux doesn't support wildcard matching, hacking around that for now to support - // CheckOuts, e.g. "/vcenter/vm-template/library-items/{item}/check-outs/{vm}?action=check-in" - p := strings.TrimPrefix(r.URL.Path, rest.Path+internal.VCenterVMTXLibraryItem+"/") - route := strings.Split(p, "/") - if len(route) == 0 { - http.NotFound(w, r) - return - } - - id := route[0] - ok := false - - var item *item - for _, l := range s.Library { - item, ok = l.Item[id] - if ok { - break - } - } - if !ok { - log.Printf("library item not found: %q", id) - http.NotFound(w, r) - return - } - - if item.Type != library.ItemTypeVMTX { - BadRequest(w, "com.vmware.vapi.std.errors.invalid_argument") - return - } - - if len(route) > 1 { - switch route[1] { - case "check-outs": - s.libraryItemCheckOuts(item, w, r) - return - default: - http.NotFound(w, r) - return - } - } - - if r.Method == http.MethodGet { - // TODO: add mock data - t := &vcenter.TemplateInfo{} - OK(w, t) - return - } - - var spec struct { - vcenter.DeployTemplate `json:"spec"` - } - if !s.decode(r, w, &spec) { - return - } - - switch r.URL.Query().Get("action") { - case "deploy": - p := spec.Placement - if p == nil { - BadRequest(w, "com.vmware.vapi.std.errors.invalid_argument") - return - } - if p.Cluster == "" && p.Host == "" && p.ResourcePool == "" { - BadRequest(w, "com.vmware.vapi.std.errors.invalid_argument") - return - } - - ref, err := s.cloneVM(item.Template.Value, spec.Name, p, spec.DiskStorage) - if err != nil { - BadRequest(w, err.Error()) - return - } - OK(w, ref.Value) - default: - http.NotFound(w, r) - } -} - -func (s *handler) libraryItemCheckOuts(item *item, w http.ResponseWriter, r *http.Request) { - switch r.URL.Query().Get("action") { - case "check-out": - var spec struct { - *vcenter.CheckOut `json:"spec"` - } - if !s.decode(r, w, &spec) { - return - } - - ref, err := s.cloneVM(item.Template.Value, spec.Name, spec.Placement, nil) - if err != nil { - BadRequest(w, err.Error()) - return - } - OK(w, ref.Value) - case "check-in": - // TODO: increment ContentVersion - OK(w, "0") - default: - http.NotFound(w, r) - } -} - -// defaultSecurityPolicies generates the initial set of security policies always present on vCenter. -func defaultSecurityPolicies() []library.ContentSecurityPoliciesInfo { - policyID, _ := uuid.NewUUID() - return []library.ContentSecurityPoliciesInfo{ - { - ItemTypeRules: map[string]string{ - "ovf": "OVF_STRICT_VERIFICATION", - }, - Name: "OVF default policy", - Policy: policyID.String(), - }, - } -} - -func (s *handler) librarySecurityPolicies(w http.ResponseWriter, r *http.Request) { - switch r.Method { - case http.MethodGet: - StatusOK(w, s.Policies) - default: - w.WriteHeader(http.StatusMethodNotAllowed) - } -} - -func (s *handler) isValidSecurityPolicy(policy string) bool { - if policy == "" { - return true - } - - for _, p := range s.Policies { - if p.Policy == policy { - return true - } - } - return false -} - -func (s *handler) libraryTrustedCertificates(w http.ResponseWriter, r *http.Request) { - switch r.Method { - case http.MethodGet: - var res struct { - Certificates []library.TrustedCertificateSummary `json:"certificates"` - } - for id, cert := range s.Trust { - res.Certificates = append(res.Certificates, library.TrustedCertificateSummary{ - TrustedCertificate: cert, - ID: id, - }) - } - - StatusOK(w, &res) - case http.MethodPost: - var info library.TrustedCertificate - if s.decode(r, w, &info) { - block, _ := pem.Decode([]byte(info.Text)) - if block == nil { - s.error(w, errors.New("invalid certificate")) - return - } - _, err := x509.ParseCertificate(block.Bytes) - if err != nil { - s.error(w, err) - return - } - - id := uuid.New().String() - for x, cert := range s.Trust { - if info.Text == cert.Text { - id = x // existing certificate - break - } - } - s.Trust[id] = info - - w.WriteHeader(http.StatusCreated) - } - default: - w.WriteHeader(http.StatusMethodNotAllowed) - } -} - -func (s *handler) libraryTrustedCertificatesID(w http.ResponseWriter, r *http.Request) { - id := path.Base(r.URL.Path) - cert, ok := s.Trust[id] - if !ok { - http.NotFound(w, r) - return - } - - switch r.Method { - case http.MethodGet: - StatusOK(w, &cert) - case http.MethodDelete: - delete(s.Trust, id) - default: - w.WriteHeader(http.StatusMethodNotAllowed) - } -} - -func (s *handler) vmID(w http.ResponseWriter, r *http.Request) { - id := path.Base(r.URL.Path) - - switch r.Method { - case http.MethodDelete: - s.deleteVM(&types.ManagedObjectReference{Type: "VirtualMachine", Value: id}) - default: - http.NotFound(w, r) - } -} - -func (s *handler) debugEcho(w http.ResponseWriter, r *http.Request) { - r.Write(w) -} diff --git a/vendor/github.com/vmware/govmomi/vapi/tags/categories.go b/vendor/github.com/vmware/govmomi/vapi/tags/categories.go deleted file mode 100644 index 64d0b66c16c..00000000000 --- a/vendor/github.com/vmware/govmomi/vapi/tags/categories.go +++ /dev/null @@ -1,167 +0,0 @@ -/* -Copyright (c) 2018 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package tags - -import ( - "context" - "fmt" - "net/http" - "strings" - - "github.com/vmware/govmomi/vapi/internal" -) - -// Category provides methods to create, read, update, delete, and enumerate -// categories. -type Category struct { - ID string `json:"id,omitempty"` - Name string `json:"name,omitempty"` - Description string `json:"description,omitempty"` - Cardinality string `json:"cardinality,omitempty"` - AssociableTypes []string `json:"associable_types,omitempty"` - UsedBy []string `json:"used_by,omitempty"` -} - -func (c *Category) hasType(kind string) bool { - for _, k := range c.AssociableTypes { - if kind == k { - return true - } - } - return false -} - -// Patch merges Category changes from the given src. -// AssociableTypes can only be appended to and cannot shrink. -func (c *Category) Patch(src *Category) { - if src.Name != "" { - c.Name = src.Name - } - if src.Description != "" { - c.Description = src.Description - } - if src.Cardinality != "" { - c.Cardinality = src.Cardinality - } - // Note that in order to append to AssociableTypes any existing types must be included in their original order. - for _, kind := range src.AssociableTypes { - if !c.hasType(kind) { - c.AssociableTypes = append(c.AssociableTypes, kind) - } - } -} - -// CreateCategory creates a new category and returns the category ID. -func (c *Manager) CreateCategory(ctx context.Context, category *Category) (string, error) { - // create avoids the annoyance of CreateTag requiring field keys to be included in the request, - // even though the field value can be empty. - type create struct { - Name string `json:"name"` - Description string `json:"description"` - Cardinality string `json:"cardinality"` - AssociableTypes []string `json:"associable_types"` - } - spec := struct { - Category create `json:"create_spec"` - }{ - Category: create{ - Name: category.Name, - Description: category.Description, - Cardinality: category.Cardinality, - AssociableTypes: category.AssociableTypes, - }, - } - if spec.Category.AssociableTypes == nil { - // otherwise create fails with invalid_argument - spec.Category.AssociableTypes = []string{} - } - url := c.Resource(internal.CategoryPath) - var res string - return res, c.Do(ctx, url.Request(http.MethodPost, spec), &res) -} - -// UpdateCategory updates one or more of the AssociableTypes, Cardinality, -// Description and Name fields. -func (c *Manager) UpdateCategory(ctx context.Context, category *Category) error { - spec := struct { - Category Category `json:"update_spec"` - }{ - Category: Category{ - AssociableTypes: category.AssociableTypes, - Cardinality: category.Cardinality, - Description: category.Description, - Name: category.Name, - }, - } - url := c.Resource(internal.CategoryPath).WithID(category.ID) - return c.Do(ctx, url.Request(http.MethodPatch, spec), nil) -} - -// DeleteCategory deletes a category. -func (c *Manager) DeleteCategory(ctx context.Context, category *Category) error { - url := c.Resource(internal.CategoryPath).WithID(category.ID) - return c.Do(ctx, url.Request(http.MethodDelete), nil) -} - -// GetCategory fetches the category information for the given identifier. -// The id parameter can be a Category ID or Category Name. -func (c *Manager) GetCategory(ctx context.Context, id string) (*Category, error) { - if isName(id) { - cat, err := c.GetCategories(ctx) - if err != nil { - return nil, err - } - - for i := range cat { - if cat[i].Name == id { - return &cat[i], nil - } - } - } - url := c.Resource(internal.CategoryPath).WithID(id) - var res Category - return &res, c.Do(ctx, url.Request(http.MethodGet), &res) -} - -// ListCategories returns all category IDs in the system. -func (c *Manager) ListCategories(ctx context.Context) ([]string, error) { - url := c.Resource(internal.CategoryPath) - var res []string - return res, c.Do(ctx, url.Request(http.MethodGet), &res) -} - -// GetCategories fetches a list of category information in the system. -func (c *Manager) GetCategories(ctx context.Context) ([]Category, error) { - ids, err := c.ListCategories(ctx) - if err != nil { - return nil, fmt.Errorf("list categories: %s", err) - } - - var categories []Category - for _, id := range ids { - category, err := c.GetCategory(ctx, id) - if err != nil { - if strings.Contains(err.Error(), http.StatusText(http.StatusNotFound)) { - continue // deleted since last fetch - } - return nil, fmt.Errorf("get category %s: %v", id, err) - } - categories = append(categories, *category) - } - - return categories, nil -} diff --git a/vendor/github.com/vmware/govmomi/vapi/tags/errors.go b/vendor/github.com/vmware/govmomi/vapi/tags/errors.go deleted file mode 100644 index b3f84f842f4..00000000000 --- a/vendor/github.com/vmware/govmomi/vapi/tags/errors.go +++ /dev/null @@ -1,55 +0,0 @@ -/* -Copyright (c) 2020 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package tags - -import ( - "fmt" -) - -const ( - errFormat = "[error: %d type: %s reason: %s]" - separator = "," // concat multiple error strings -) - -// BatchError is an error returned for a single item which failed in a batch -// operation -type BatchError struct { - Type string `json:"id"` - Message string `json:"default_message"` -} - -// BatchErrors contains all errors which occurred in a batch operation -type BatchErrors []BatchError - -func (b BatchErrors) Error() string { - if len(b) == 0 { - return "" - } - - var errString string - for i := range b { - errType := b[i].Type - reason := b[i].Message - errString += fmt.Sprintf(errFormat, i, errType, reason) - - // no separator after last item - if i+1 < len(b) { - errString += separator - } - } - return errString -} diff --git a/vendor/github.com/vmware/govmomi/vapi/tags/tag_association.go b/vendor/github.com/vmware/govmomi/vapi/tags/tag_association.go deleted file mode 100644 index 33b22093661..00000000000 --- a/vendor/github.com/vmware/govmomi/vapi/tags/tag_association.go +++ /dev/null @@ -1,377 +0,0 @@ -/* -Copyright (c) 2018 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -vUnless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package tags - -import ( - "context" - "encoding/json" - "fmt" - "net/http" - - "github.com/vmware/govmomi/vapi/internal" - "github.com/vmware/govmomi/vim25/mo" -) - -func (c *Manager) tagID(ctx context.Context, id string) (string, error) { - if isName(id) { - tag, err := c.GetTag(ctx, id) - if err != nil { - return "", err - } - return tag.ID, nil - } - return id, nil -} - -// AttachTag attaches a tag ID to a managed object. -func (c *Manager) AttachTag(ctx context.Context, tagID string, ref mo.Reference) error { - id, err := c.tagID(ctx, tagID) - if err != nil { - return err - } - spec := internal.NewAssociation(ref) - url := c.Resource(internal.AssociationPath).WithID(id).WithAction("attach") - return c.Do(ctx, url.Request(http.MethodPost, spec), nil) -} - -// DetachTag detaches a tag ID from a managed object. -// If the tag is already removed from the object, then this operation is a no-op and an error will not be thrown. -func (c *Manager) DetachTag(ctx context.Context, tagID string, ref mo.Reference) error { - id, err := c.tagID(ctx, tagID) - if err != nil { - return err - } - spec := internal.NewAssociation(ref) - url := c.Resource(internal.AssociationPath).WithID(id).WithAction("detach") - return c.Do(ctx, url.Request(http.MethodPost, spec), nil) -} - -// batchResponse is the response type used by attach/detach operations which -// take multiple tagIDs or moRefs as input. On failure Success will be false and -// Errors contains information about all failed operations -type batchResponse struct { - Success bool `json:"success"` - Errors BatchErrors `json:"error_messages,omitempty"` -} - -// AttachTagToMultipleObjects attaches a tag ID to multiple managed objects. -// This operation is idempotent, i.e. if a tag is already attached to the -// object, then the individual operation is a no-op and no error will be thrown. -// -// This operation was added in vSphere API 6.5. -func (c *Manager) AttachTagToMultipleObjects(ctx context.Context, tagID string, refs []mo.Reference) error { - id, err := c.tagID(ctx, tagID) - if err != nil { - return err - } - - var ids []internal.AssociatedObject - for i := range refs { - ids = append(ids, internal.AssociatedObject(refs[i].Reference())) - } - - spec := struct { - ObjectIDs []internal.AssociatedObject `json:"object_ids"` - }{ids} - - url := c.Resource(internal.AssociationPath).WithID(id).WithAction("attach-tag-to-multiple-objects") - return c.Do(ctx, url.Request(http.MethodPost, spec), nil) -} - -// AttachMultipleTagsToObject attaches multiple tag IDs to a managed object. -// This operation is idempotent. If a tag is already attached to the object, -// then the individual operation is a no-op and no error will be thrown. This -// operation is not atomic. If the underlying call fails with one or more tags -// not successfully attached to the managed object reference it might leave the -// managed object reference in a partially tagged state and needs to be resolved -// by the caller. In this case BatchErrors is returned and can be used to -// analyse failure reasons on each failed tag. -// -// Specified tagIDs must use URN-notation instead of display names or a generic -// error will be returned and no tagging operation will be performed. If the -// managed object reference does not exist a generic 403 Forbidden error will be -// returned. -// -// This operation was added in vSphere API 6.5. -func (c *Manager) AttachMultipleTagsToObject(ctx context.Context, tagIDs []string, ref mo.Reference) error { - for _, id := range tagIDs { - // URN enforced to avoid unnecessary round-trips due to invalid tags or display - // name lookups - if isName(id) { - return fmt.Errorf("specified tag is not a URN: %q", id) - } - } - - obj := internal.AssociatedObject(ref.Reference()) - spec := struct { - ObjectID internal.AssociatedObject `json:"object_id"` - TagIDs []string `json:"tag_ids"` - }{ - ObjectID: obj, - TagIDs: tagIDs, - } - - var res batchResponse - url := c.Resource(internal.AssociationPath).WithAction("attach-multiple-tags-to-object") - err := c.Do(ctx, url.Request(http.MethodPost, spec), &res) - if err != nil { - return err - } - - if !res.Success { - if len(res.Errors) != 0 { - return res.Errors - } - panic("invalid batch error") - } - - return nil -} - -// DetachMultipleTagsFromObject detaches multiple tag IDs from a managed object. -// This operation is idempotent. If a tag is already detached from the object, -// then the individual operation is a no-op and no error will be thrown. This -// operation is not atomic. If the underlying call fails with one or more tags -// not successfully detached from the managed object reference it might leave -// the managed object reference in a partially tagged state and needs to be -// resolved by the caller. In this case BatchErrors is returned and can be used -// to analyse failure reasons on each failed tag. -// -// Specified tagIDs must use URN-notation instead of display names or a generic -// error will be returned and no tagging operation will be performed. If the -// managed object reference does not exist a generic 403 Forbidden error will be -// returned. -// -// This operation was added in vSphere API 6.5. -func (c *Manager) DetachMultipleTagsFromObject(ctx context.Context, tagIDs []string, ref mo.Reference) error { - for _, id := range tagIDs { - // URN enforced to avoid unnecessary round-trips due to invalid tags or display - // name lookups - if isName(id) { - return fmt.Errorf("specified tag is not a URN: %q", id) - } - } - - obj := internal.AssociatedObject(ref.Reference()) - spec := struct { - ObjectID internal.AssociatedObject `json:"object_id"` - TagIDs []string `json:"tag_ids"` - }{ - ObjectID: obj, - TagIDs: tagIDs, - } - - var res batchResponse - url := c.Resource(internal.AssociationPath).WithAction("detach-multiple-tags-from-object") - err := c.Do(ctx, url.Request(http.MethodPost, spec), &res) - if err != nil { - return err - } - - if !res.Success { - if len(res.Errors) != 0 { - return res.Errors - } - panic("invalid batch error") - } - - return nil -} - -// ListAttachedTags fetches the array of tag IDs attached to the given object. -func (c *Manager) ListAttachedTags(ctx context.Context, ref mo.Reference) ([]string, error) { - spec := internal.NewAssociation(ref) - url := c.Resource(internal.AssociationPath).WithAction("list-attached-tags") - var res []string - return res, c.Do(ctx, url.Request(http.MethodPost, spec), &res) -} - -// GetAttachedTags fetches the array of tags attached to the given object. -func (c *Manager) GetAttachedTags(ctx context.Context, ref mo.Reference) ([]Tag, error) { - ids, err := c.ListAttachedTags(ctx, ref) - if err != nil { - return nil, fmt.Errorf("get attached tags %s: %s", ref, err) - } - - var info []Tag - for _, id := range ids { - tag, err := c.GetTag(ctx, id) - if err != nil { - return nil, fmt.Errorf("get tag %s: %s", id, err) - } - info = append(info, *tag) - } - return info, nil -} - -// ListAttachedObjects fetches the array of attached objects for the given tag ID. -func (c *Manager) ListAttachedObjects(ctx context.Context, tagID string) ([]mo.Reference, error) { - id, err := c.tagID(ctx, tagID) - if err != nil { - return nil, err - } - url := c.Resource(internal.AssociationPath).WithID(id).WithAction("list-attached-objects") - var res []internal.AssociatedObject - if err := c.Do(ctx, url.Request(http.MethodPost, nil), &res); err != nil { - return nil, err - } - - refs := make([]mo.Reference, len(res)) - for i := range res { - refs[i] = res[i] - } - return refs, nil -} - -// AttachedObjects is the response type used by ListAttachedObjectsOnTags. -type AttachedObjects struct { - TagID string `json:"tag_id"` - Tag *Tag `json:"tag,omitempty"` - ObjectIDs []mo.Reference `json:"object_ids"` -} - -// UnmarshalJSON implements json.Unmarshaler. -func (t *AttachedObjects) UnmarshalJSON(b []byte) error { - var o struct { - TagID string `json:"tag_id"` - ObjectIDs []internal.AssociatedObject `json:"object_ids"` - } - err := json.Unmarshal(b, &o) - if err != nil { - return err - } - - t.TagID = o.TagID - t.ObjectIDs = make([]mo.Reference, len(o.ObjectIDs)) - for i := range o.ObjectIDs { - t.ObjectIDs[i] = o.ObjectIDs[i] - } - - return nil -} - -// ListAttachedObjectsOnTags fetches the array of attached objects for the given tag IDs. -func (c *Manager) ListAttachedObjectsOnTags(ctx context.Context, tagID []string) ([]AttachedObjects, error) { - var ids []string - for i := range tagID { - id, err := c.tagID(ctx, tagID[i]) - if err != nil { - return nil, err - } - ids = append(ids, id) - } - - spec := struct { - TagIDs []string `json:"tag_ids"` - }{ids} - - url := c.Resource(internal.AssociationPath).WithAction("list-attached-objects-on-tags") - var res []AttachedObjects - return res, c.Do(ctx, url.Request(http.MethodPost, spec), &res) -} - -// GetAttachedObjectsOnTags combines ListAttachedObjectsOnTags and populates each Tag field. -func (c *Manager) GetAttachedObjectsOnTags(ctx context.Context, tagID []string) ([]AttachedObjects, error) { - objs, err := c.ListAttachedObjectsOnTags(ctx, tagID) - if err != nil { - return nil, fmt.Errorf("list attached objects %s: %s", tagID, err) - } - - tags := make(map[string]*Tag) - - for i := range objs { - var err error - id := objs[i].TagID - tag, ok := tags[id] - if !ok { - tag, err = c.GetTag(ctx, id) - if err != nil { - return nil, fmt.Errorf("get tag %s: %s", id, err) - } - objs[i].Tag = tag - } - } - - return objs, nil -} - -// AttachedTags is the response type used by ListAttachedTagsOnObjects. -type AttachedTags struct { - ObjectID mo.Reference `json:"object_id"` - TagIDs []string `json:"tag_ids"` - Tags []Tag `json:"tags,omitempty"` -} - -// UnmarshalJSON implements json.Unmarshaler. -func (t *AttachedTags) UnmarshalJSON(b []byte) error { - var o struct { - ObjectID internal.AssociatedObject `json:"object_id"` - TagIDs []string `json:"tag_ids"` - } - err := json.Unmarshal(b, &o) - if err != nil { - return err - } - - t.ObjectID = o.ObjectID - t.TagIDs = o.TagIDs - - return nil -} - -// ListAttachedTagsOnObjects fetches the array of attached tag IDs for the given object IDs. -func (c *Manager) ListAttachedTagsOnObjects(ctx context.Context, objectID []mo.Reference) ([]AttachedTags, error) { - var ids []internal.AssociatedObject - for i := range objectID { - ids = append(ids, internal.AssociatedObject(objectID[i].Reference())) - } - - spec := struct { - ObjectIDs []internal.AssociatedObject `json:"object_ids"` - }{ids} - - url := c.Resource(internal.AssociationPath).WithAction("list-attached-tags-on-objects") - var res []AttachedTags - return res, c.Do(ctx, url.Request(http.MethodPost, spec), &res) -} - -// GetAttachedTagsOnObjects calls ListAttachedTagsOnObjects and populates each Tags field. -func (c *Manager) GetAttachedTagsOnObjects(ctx context.Context, objectID []mo.Reference) ([]AttachedTags, error) { - objs, err := c.ListAttachedTagsOnObjects(ctx, objectID) - if err != nil { - return nil, fmt.Errorf("list attached tags %s: %s", objectID, err) - } - - tags := make(map[string]*Tag) - - for i := range objs { - for _, id := range objs[i].TagIDs { - var err error - tag, ok := tags[id] - if !ok { - tag, err = c.GetTag(ctx, id) - if err != nil { - return nil, fmt.Errorf("get tag %s: %s", id, err) - } - tags[id] = tag - } - objs[i].Tags = append(objs[i].Tags, *tag) - } - } - - return objs, nil -} diff --git a/vendor/github.com/vmware/govmomi/vapi/tags/tags.go b/vendor/github.com/vmware/govmomi/vapi/tags/tags.go deleted file mode 100644 index b9024f998a2..00000000000 --- a/vendor/github.com/vmware/govmomi/vapi/tags/tags.go +++ /dev/null @@ -1,226 +0,0 @@ -/* -Copyright (c) 2018 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package tags - -import ( - "context" - "fmt" - "net/http" - "strings" - - "github.com/vmware/govmomi/vapi/internal" - "github.com/vmware/govmomi/vapi/rest" -) - -// Manager extends rest.Client, adding tag related methods. -type Manager struct { - *rest.Client -} - -// NewManager creates a new Manager instance with the given client. -func NewManager(client *rest.Client) *Manager { - return &Manager{ - Client: client, - } -} - -// isName returns true if the id is not a urn. -func isName(id string) bool { - return !strings.HasPrefix(id, "urn:") -} - -// Tag provides methods to create, read, update, delete, and enumerate tags. -type Tag struct { - ID string `json:"id,omitempty"` - Description string `json:"description,omitempty"` - Name string `json:"name,omitempty"` - CategoryID string `json:"category_id,omitempty"` - UsedBy []string `json:"used_by,omitempty"` -} - -// Patch merges updates from the given src. -func (t *Tag) Patch(src *Tag) { - if src.Name != "" { - t.Name = src.Name - } - if src.Description != "" { - t.Description = src.Description - } - if src.CategoryID != "" { - t.CategoryID = src.CategoryID - } -} - -// CreateTag creates a new tag with the given Name, Description and CategoryID. -func (c *Manager) CreateTag(ctx context.Context, tag *Tag) (string, error) { - // create avoids the annoyance of CreateTag requiring a "description" key to be included in the request, - // even though the field value can be empty. - type create struct { - Name string `json:"name"` - Description string `json:"description"` - CategoryID string `json:"category_id"` - } - spec := struct { - Tag create `json:"create_spec"` - }{ - Tag: create{ - Name: tag.Name, - Description: tag.Description, - CategoryID: tag.CategoryID, - }, - } - if isName(tag.CategoryID) { - cat, err := c.GetCategory(ctx, tag.CategoryID) - if err != nil { - return "", err - } - spec.Tag.CategoryID = cat.ID - } - url := c.Resource(internal.TagPath) - var res string - return res, c.Do(ctx, url.Request(http.MethodPost, spec), &res) -} - -// UpdateTag can update one or both of the tag Description and Name fields. -func (c *Manager) UpdateTag(ctx context.Context, tag *Tag) error { - spec := struct { - Tag Tag `json:"update_spec"` - }{ - Tag: Tag{ - Name: tag.Name, - Description: tag.Description, - }, - } - url := c.Resource(internal.TagPath).WithID(tag.ID) - return c.Do(ctx, url.Request(http.MethodPatch, spec), nil) -} - -// DeleteTag deletes an existing tag. -func (c *Manager) DeleteTag(ctx context.Context, tag *Tag) error { - url := c.Resource(internal.TagPath).WithID(tag.ID) - return c.Do(ctx, url.Request(http.MethodDelete), nil) -} - -// GetTag fetches the tag information for the given identifier. -// The id parameter can be a Tag ID or Tag Name. -func (c *Manager) GetTag(ctx context.Context, id string) (*Tag, error) { - if isName(id) { - tags, err := c.GetTags(ctx) - if err != nil { - return nil, err - } - - for i := range tags { - if tags[i].Name == id { - return &tags[i], nil - } - } - } - - url := c.Resource(internal.TagPath).WithID(id) - var res Tag - return &res, c.Do(ctx, url.Request(http.MethodGet), &res) - -} - -// GetTagForCategory fetches the tag information for the given identifier in the given category. -func (c *Manager) GetTagForCategory(ctx context.Context, id, category string) (*Tag, error) { - if category == "" { - return c.GetTag(ctx, id) - } - - ids, err := c.ListTagsForCategory(ctx, category) - if err != nil { - return nil, err - } - - for _, tagid := range ids { - tag, err := c.GetTag(ctx, tagid) - if err != nil { - return nil, fmt.Errorf("get tag for category %s %s: %s", category, tagid, err) - } - if tag.ID == id || tag.Name == id { - return tag, nil - } - } - - return nil, fmt.Errorf("tag %q not found in category %q", id, category) -} - -// ListTags returns all tag IDs in the system. -func (c *Manager) ListTags(ctx context.Context) ([]string, error) { - url := c.Resource(internal.TagPath) - var res []string - return res, c.Do(ctx, url.Request(http.MethodGet), &res) -} - -// GetTags fetches an array of tag information in the system. -func (c *Manager) GetTags(ctx context.Context) ([]Tag, error) { - ids, err := c.ListTags(ctx) - if err != nil { - return nil, fmt.Errorf("get tags failed for: %s", err) - } - - var tags []Tag - for _, id := range ids { - tag, err := c.GetTag(ctx, id) - if err != nil { - return nil, fmt.Errorf("get category %s failed for %s", id, err) - } - - tags = append(tags, *tag) - - } - return tags, nil -} - -// The id parameter can be a Category ID or Category Name. -func (c *Manager) ListTagsForCategory(ctx context.Context, id string) ([]string, error) { - if isName(id) { - cat, err := c.GetCategory(ctx, id) - if err != nil { - return nil, err - } - id = cat.ID - } - - body := struct { - ID string `json:"category_id"` - }{id} - url := c.Resource(internal.TagPath).WithID(id).WithAction("list-tags-for-category") - var res []string - return res, c.Do(ctx, url.Request(http.MethodPost, body), &res) -} - -// The id parameter can be a Category ID or Category Name. -func (c *Manager) GetTagsForCategory(ctx context.Context, id string) ([]Tag, error) { - ids, err := c.ListTagsForCategory(ctx, id) - if err != nil { - return nil, err - } - - var tags []Tag - for _, id := range ids { - tag, err := c.GetTag(ctx, id) - if err != nil { - return nil, fmt.Errorf("get tag %s: %s", id, err) - } - - tags = append(tags, *tag) - } - return tags, nil -} diff --git a/vendor/github.com/vmware/govmomi/vapi/vcenter/vcenter_ovf.go b/vendor/github.com/vmware/govmomi/vapi/vcenter/vcenter_ovf.go deleted file mode 100644 index 80f0d38c313..00000000000 --- a/vendor/github.com/vmware/govmomi/vapi/vcenter/vcenter_ovf.go +++ /dev/null @@ -1,311 +0,0 @@ -/* -Copyright (c) 2018 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vcenter - -import ( - "context" - "fmt" - "net/http" - - "github.com/vmware/govmomi/vapi/internal" - "github.com/vmware/govmomi/vapi/rest" - "github.com/vmware/govmomi/vim25/types" -) - -// AdditionalParams are additional OVF parameters which can be specified for a deployment target. -// This structure is a union where based on Type, only one of each commented section will be set. -type AdditionalParams struct { - Class string `json:"@class"` - Type string `json:"type"` - - // DeploymentOptionParams - SelectedKey string `json:"selected_key,omitempty"` - DeploymentOptions []DeploymentOption `json:"deployment_options,omitempty"` - - // ExtraConfigs - ExtraConfig []ExtraConfig `json:"extra_configs,omitempty"` - - // PropertyParams - Properties []Property `json:"properties,omitempty"` - - // SizeParams - ApproximateSparseDeploymentSize int64 `json:"approximate_sparse_deployment_size,omitempty"` - VariableDiskSize bool `json:"variable_disk_size,omitempty"` - ApproximateDownloadSize int64 `json:"approximate_download_size,omitempty"` - ApproximateFlatDeploymentSize int64 `json:"approximate_flat_deployment_size,omitempty"` - - // IpAllocationParams - SupportedAllocationScheme []string `json:"supported_allocation_scheme,omitempty"` - SupportedIPProtocol []string `json:"supported_ip_protocol,omitempty"` - SupportedIPAllocationPolicy []string `json:"supported_ip_allocation_policy,omitempty"` - IPAllocationPolicy string `json:"ip_allocation_policy,omitempty"` - IPProtocol string `json:"ip_protocol,omitempty"` - - // UnknownSections - UnknownSections []UnknownSection `json:"unknown_sections,omitempty"` -} - -const ( - ClassDeploymentOptionParams = "com.vmware.vcenter.ovf.deployment_option_params" - ClassPropertyParams = "com.vmware.vcenter.ovf.property_params" - TypeDeploymentOptionParams = "DeploymentOptionParams" - TypeExtraConfigParams = "ExtraConfigParams" - TypeIPAllocationParams = "IpAllocationParams" - TypePropertyParams = "PropertyParams" - TypeSizeParams = "SizeParams" -) - -// DeploymentOption contains the information about a deployment option as defined in the OVF specification -type DeploymentOption struct { - Key string `json:"key,omitempty"` - Label string `json:"label,omitempty"` - Description string `json:"description,omitempty"` - DefaultChoice bool `json:"default_choice,omitempty"` -} - -// ExtraConfig contains information about a vmw:ExtraConfig OVF element -type ExtraConfig struct { - Key string `json:"key,omitempty"` - Value string `json:"value,omitempty"` - VirtualSystemID string `json:"virtual_system_id,omitempty"` -} - -// Property contains information about a property in an OVF package -type Property struct { - Category string `json:"category,omitempty"` - ClassID string `json:"class_id,omitempty"` - Description string `json:"description,omitempty"` - ID string `json:"id,omitempty"` - InstanceID string `json:"instance_id,omitempty"` - Label string `json:"label,omitempty"` - Type string `json:"type,omitempty"` - UIOptional bool `json:"ui_optional,omitempty"` - Value string `json:"value,omitempty"` -} - -// UnknownSection contains information about an unknown section in an OVF package -type UnknownSection struct { - Tag string `json:"tag,omitempty"` - Info string `json:"info,omitempty"` -} - -// NetworkMapping specifies the target network to use for sections of type ovf:NetworkSection in the OVF descriptor -type NetworkMapping struct { - Key string `json:"key"` - Value string `json:"value"` -} - -// StorageGroupMapping defines the storage deployment target and storage provisioning type for a section of type vmw:StorageGroupSection in the OVF descriptor -type StorageGroupMapping struct { - Type string `json:"type"` - StorageProfileID string `json:"storage_profile_id,omitempty"` - DatastoreID string `json:"datastore_id,omitempty"` - Provisioning string `json:"provisioning,omitempty"` -} - -// StorageMapping specifies the target storage to use for sections of type vmw:StorageGroupSection in the OVF descriptor -type StorageMapping struct { - Key string `json:"key"` - Value StorageGroupMapping `json:"value"` -} - -// VmConfigSpec defines the optional virtual machine configuration settings used when deploying an OVF template -type VmConfigSpec struct { - Provider string `json:"provider"` - XML string `json:"xml"` -} - -// DeploymentSpec is the deployment specification for the deployment -type DeploymentSpec struct { - Name string `json:"name,omitempty"` - Annotation string `json:"annotation,omitempty"` - AcceptAllEULA bool `json:"accept_all_EULA,omitempty"` - NetworkMappings []NetworkMapping `json:"network_mappings,omitempty"` - StorageMappings []StorageMapping `json:"storage_mappings,omitempty"` - StorageProvisioning string `json:"storage_provisioning,omitempty"` - StorageProfileID string `json:"storage_profile_id,omitempty"` - Locale string `json:"locale,omitempty"` - Flags []string `json:"flags,omitempty"` - AdditionalParams []AdditionalParams `json:"additional_parameters,omitempty"` - DefaultDatastoreID string `json:"default_datastore_id,omitempty"` - VmConfigSpec *VmConfigSpec `json:"vm_config_spec,omitempty"` -} - -// Target is the target for the deployment -type Target struct { - ResourcePoolID string `json:"resource_pool_id,omitempty"` - HostID string `json:"host_id,omitempty"` - FolderID string `json:"folder_id,omitempty"` -} - -// Deploy contains the information to start the deployment of a library OVF -type Deploy struct { - DeploymentSpec `json:"deployment_spec,omitempty"` - Target `json:"target,omitempty"` -} - -// Error is a SERVER error -type Error struct { - Class string `json:"@class,omitempty"` - Messages []rest.LocalizableMessage `json:"messages,omitempty"` -} - -// ParseIssue is a parse issue struct -type ParseIssue struct { - Category string `json:"@classcategory,omitempty"` - File string `json:"file,omitempty"` - LineNumber int64 `json:"line_number,omitempty"` - ColumnNumber int64 `json:"column_number,omitempty"` - Message rest.LocalizableMessage `json:"message,omitempty"` -} - -// OVFError is a list of errors from create or deploy -type OVFError struct { - Category string `json:"category,omitempty"` - Error *Error `json:"error,omitempty"` - Issues []ParseIssue `json:"issues,omitempty"` - Message *rest.LocalizableMessage `json:"message,omitempty"` -} - -// ResourceID is a managed object reference for a deployed resource. -type ResourceID struct { - Type string `json:"type,omitempty"` - Value string `json:"id,omitempty"` -} - -// DeploymentError is an error that occurs when deploying and OVF from -// a library item. -type DeploymentError struct { - Errors []OVFError `json:"errors,omitempty"` -} - -// Error implements the error interface -func (e *DeploymentError) Error() string { - msg := "" - if len(e.Errors) != 0 { - err := e.Errors[0] - if err.Message != nil { - msg = err.Message.DefaultMessage - } else if err.Error != nil && len(err.Error.Messages) != 0 { - msg = err.Error.Messages[0].DefaultMessage - } - } - if msg == "" { - msg = fmt.Sprintf("%#v", e) - } - return "deploy error: " + msg -} - -// LibraryTarget specifies a Library or Library item -type LibraryTarget struct { - LibraryID string `json:"library_id,omitempty"` - LibraryItemID string `json:"library_item_id,omitempty"` -} - -// CreateSpec info used to create an OVF package from a VM -type CreateSpec struct { - Description string `json:"description,omitempty"` - Name string `json:"name,omitempty"` - Flags []string `json:"flags,omitempty"` -} - -// OVF data used by CreateOVF -type OVF struct { - Spec CreateSpec `json:"create_spec"` - Source ResourceID `json:"source"` - Target LibraryTarget `json:"target"` -} - -// CreateResult used for decoded a CreateOVF response -type CreateResult struct { - Succeeded bool `json:"succeeded,omitempty"` - ID string `json:"ovf_library_item_id,omitempty"` - Error *DeploymentError `json:"error,omitempty"` -} - -// Deployment is the results from issuing a library OVF deployment -type Deployment struct { - Succeeded bool `json:"succeeded,omitempty"` - ResourceID *ResourceID `json:"resource_id,omitempty"` - Error *DeploymentError `json:"error,omitempty"` -} - -// FilterRequest contains the information to start a vcenter filter call -type FilterRequest struct { - Target `json:"target,omitempty"` -} - -// FilterResponse returns information from the vcenter filter call -type FilterResponse struct { - EULAs []string `json:"EULAs,omitempty"` - AdditionalParams []AdditionalParams `json:"additional_params,omitempty"` - Annotation string `json:"Annotation,omitempty"` - Name string `json:"name,omitempty"` - Networks []string `json:"Networks,omitempty"` - StorageGroups []string `json:"storage_groups,omitempty"` -} - -// Manager extends rest.Client, adding content library related methods. -type Manager struct { - *rest.Client -} - -// NewManager creates a new Manager instance with the given client. -func NewManager(client *rest.Client) *Manager { - return &Manager{ - Client: client, - } -} - -// CreateOVF creates a library OVF item in content library from an existing VM -func (c *Manager) CreateOVF(ctx context.Context, ovf OVF) (string, error) { - if ovf.Source.Type == "" { - ovf.Source.Type = "VirtualMachine" - } - url := c.Resource(internal.VCenterOVFLibraryItem) - var res CreateResult - err := c.Do(ctx, url.Request(http.MethodPost, ovf), &res) - if err != nil { - return "", err - } - if res.Succeeded { - return res.ID, nil - } - return "", res.Error -} - -// DeployLibraryItem deploys a library OVF -func (c *Manager) DeployLibraryItem(ctx context.Context, libraryItemID string, deploy Deploy) (*types.ManagedObjectReference, error) { - url := c.Resource(internal.VCenterOVFLibraryItem).WithID(libraryItemID).WithAction("deploy") - var res Deployment - err := c.Do(ctx, url.Request(http.MethodPost, deploy), &res) - if err != nil { - return nil, err - } - if res.Succeeded { - ref := types.ManagedObjectReference(*res.ResourceID) - return &ref, nil - } - return nil, res.Error -} - -// FilterLibraryItem deploys a library OVF -func (c *Manager) FilterLibraryItem(ctx context.Context, libraryItemID string, filter FilterRequest) (FilterResponse, error) { - url := c.Resource(internal.VCenterOVFLibraryItem).WithID(libraryItemID).WithAction("filter") - var res FilterResponse - return res, c.Do(ctx, url.Request(http.MethodPost, filter), &res) -} diff --git a/vendor/github.com/vmware/govmomi/vapi/vcenter/vcenter_vmtx.go b/vendor/github.com/vmware/govmomi/vapi/vcenter/vcenter_vmtx.go deleted file mode 100644 index fdb9b629c25..00000000000 --- a/vendor/github.com/vmware/govmomi/vapi/vcenter/vcenter_vmtx.go +++ /dev/null @@ -1,337 +0,0 @@ -/* -Copyright (c) 2019 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vcenter - -import ( - "context" - "crypto/sha1" - "fmt" - "log" - "net/http" - "path" - - "github.com/vmware/govmomi/vapi/internal" - "github.com/vmware/govmomi/vapi/library" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/types" -) - -// vcenter vm template -// The vcenter.vm_template API provides structures and services that will let its client manage VMTX template in Content Library. -// http://vmware.github.io/vsphere-automation-sdk-rest/6.7.1/index.html#SVC_com.vmware.vcenter.vm_template.library_items - -// Template create spec -type Template struct { - Description string `json:"description,omitempty"` - DiskStorage *DiskStorage `json:"disk_storage,omitempty"` - DiskStorageOverrides []DiskStorageOverride `json:"disk_storage_overrides,omitempty"` - Library string `json:"library,omitempty"` - Name string `json:"name,omitempty"` - Placement *Placement `json:"placement,omitempty"` - SourceVM string `json:"source_vm,omitempty"` - VMHomeStorage *DiskStorage `json:"vm_home_storage,omitempty"` -} - -// CPU defines Cores and CPU count -type CPU struct { - CoresPerSocket int `json:"cores_per_socket,omitempty"` - Count int `json:"count,omitempty"` -} - -// DiskInfo defines disk capacity and storage info -type DiskInfo struct { - Capacity int `json:"capacity,omitempty"` - DiskStorage DiskStorage `json:"disk_storage,omitempty"` -} - -// Disks defines the disk information -type Disks struct { - Key string `json:"key"` - Value *DiskInfo `json:"value"` -} - -// Memory defines the memory size in MB -type Memory struct { - SizeMB int `json:"size_mib,omitempty"` -} - -// NicDetails defines the network adapter details -type NicDetails struct { - Network string `json:"network,omitempty"` - BackingType string `json:"backing_type,omitempty"` - MacType string `json:"mac_type,omitempty"` -} - -// Nics defines the network identifier -type Nics struct { - Key string `json:"key,omitempty"` - Value *NicDetails `json:"value,omitempty"` -} - -// TemplateInfo for a VM template contained in an existing library item -type TemplateInfo struct { - CPU CPU `json:"cpu,omitempty"` - Disks []Disks `json:"disks,omitempty"` - GuestOS string `json:"guest_OS,omitempty"` - Memory Memory `json:"memory,omitempty"` - Nics []Nics `json:"nics,omitempty"` - VMHomeStorage DiskStorage `json:"vm_home_storage,omitempty"` - VmTemplate string `json:"vm_template,omitempty"` -} - -// Placement information used to place the virtual machine template -type Placement = library.Placement - -// StoragePolicy for DiskStorage -type StoragePolicy struct { - Policy string `json:"policy,omitempty"` - Type string `json:"type"` -} - -// DiskStorage defines the storage specification for VM files -type DiskStorage struct { - Datastore string `json:"datastore,omitempty"` - StoragePolicy *StoragePolicy `json:"storage_policy,omitempty"` -} - -// DiskStorageOverride storage specification for individual disks in the virtual machine template -type DiskStorageOverride struct { - Key string `json:"key"` - Value DiskStorage `json:"value"` -} - -// GuestCustomization spec to apply to the deployed VM -type GuestCustomization struct { - Name string `json:"name,omitempty"` -} - -// HardwareCustomization spec which specifies updates to the deployed VM -type HardwareCustomization struct { - // TODO -} - -// DeployTemplate specification of how a library VM template clone should be deployed. -type DeployTemplate struct { - Description string `json:"description,omitempty"` - DiskStorage *DiskStorage `json:"disk_storage,omitempty"` - DiskStorageOverrides []DiskStorageOverride `json:"disk_storage_overrides,omitempty"` - GuestCustomization *GuestCustomization `json:"guest_customization,omitempty"` - HardwareCustomization *HardwareCustomization `json:"hardware_customization,omitempty"` - Name string `json:"name,omitempty"` - Placement *Placement `json:"placement,omitempty"` - PoweredOn bool `json:"powered_on"` - VMHomeStorage *DiskStorage `json:"vm_home_storage,omitempty"` -} - -// CheckOut specification -type CheckOut struct { - Name string `json:"name,omitempty"` - Placement *Placement `json:"placement,omitempty"` - PoweredOn bool `json:"powered_on,omitempty"` -} - -// CheckIn specification -type CheckIn struct { - Message string `json:"message"` -} - -// CreateTemplate creates a library VMTX item in content library from an existing VM -func (c *Manager) CreateTemplate(ctx context.Context, vmtx Template) (string, error) { - url := c.Resource(internal.VCenterVMTXLibraryItem) - var res string - spec := struct { - Template `json:"spec"` - }{vmtx} - return res, c.Do(ctx, url.Request(http.MethodPost, spec), &res) -} - -// GetLibraryTemplateInfo fetches the library template info using template library id -func (c *Manager) GetLibraryTemplateInfo(ctx context.Context, libraryItemID string) (*TemplateInfo, error) { - url := c.Resource(path.Join(internal.VCenterVMTXLibraryItem, libraryItemID)) - var res TemplateInfo - err := c.Do(ctx, url.Request(http.MethodGet), &res) - if err != nil { - return nil, err - } - return &res, nil -} - -// DeployTemplateLibraryItem deploys a VM as a copy of the source VM template contained in the given library item -func (c *Manager) DeployTemplateLibraryItem(ctx context.Context, libraryItemID string, deploy DeployTemplate) (*types.ManagedObjectReference, error) { - url := c.Resource(path.Join(internal.VCenterVMTXLibraryItem, libraryItemID)).WithParam("action", "deploy") - var res string - spec := struct { - DeployTemplate `json:"spec"` - }{deploy} - err := c.Do(ctx, url.Request(http.MethodPost, spec), &res) - if err != nil { - return nil, err - } - return &types.ManagedObjectReference{Type: "VirtualMachine", Value: res}, nil -} - -// CheckOut a library item containing a VM template. -func (c *Manager) CheckOut(ctx context.Context, libraryItemID string, checkout *CheckOut) (*types.ManagedObjectReference, error) { - url := c.Resource(path.Join(internal.VCenterVMTXLibraryItem, libraryItemID, "check-outs")).WithParam("action", "check-out") - var res string - spec := struct { - *CheckOut `json:"spec"` - }{checkout} - err := c.Do(ctx, url.Request(http.MethodPost, spec), &res) - if err != nil { - return nil, err - } - return &types.ManagedObjectReference{Type: "VirtualMachine", Value: res}, nil -} - -// CheckIn a VM into the library item. -func (c *Manager) CheckIn(ctx context.Context, libraryItemID string, vm mo.Reference, checkin *CheckIn) (string, error) { - p := path.Join(internal.VCenterVMTXLibraryItem, libraryItemID, "check-outs", vm.Reference().Value) - url := c.Resource(p).WithParam("action", "check-in") - var res string - spec := struct { - *CheckIn `json:"spec"` - }{checkin} - return res, c.Do(ctx, url.Request(http.MethodPost, spec), &res) -} - -// TemplateLibrary params for synchronizing subscription library OVF items to VM Template items -type TemplateLibrary struct { - Source library.Library - Destination library.Library - Placement Target - Include func(library.Item, *library.Item) bool - SyncItem func(context.Context, library.Item, *Deploy, *Template) error -} - -func (c *Manager) includeTemplateLibraryItem(src library.Item, dst *library.Item) bool { - return dst == nil -} - -// SyncTemplateLibraryItem deploys an Library OVF item from which a VM template (vmtx) Library item is created. -// The deployed VM is deleted after being converted to a Library vmtx item. -func (c *Manager) SyncTemplateLibraryItem(ctx context.Context, item library.Item, deploy *Deploy, spec *Template) error { - destroy := false - if spec.SourceVM == "" { - ref, err := c.DeployLibraryItem(ctx, item.ID, *deploy) - if err != nil { - return err - } - - destroy = true - spec.SourceVM = ref.Value - } - - _, err := c.CreateTemplate(ctx, *spec) - - if destroy { - // Delete source VM regardless of CreateTemplate result - url := c.Resource("/vcenter/vm/" + spec.SourceVM) - derr := c.Do(ctx, url.Request(http.MethodDelete), nil) - if derr != nil { - if err == nil { - // Return Delete error if CreateTemplate was successful - return derr - } - // Return CreateTemplate error and just log Delete error - log.Printf("destroy %s: %s", spec.SourceVM, derr) - } - } - - return err -} - -func vmtxSourceName(l library.Library, item library.Item) string { - sum := sha1.Sum([]byte(path.Join(l.Name, item.Name))) - return fmt.Sprintf("vmtx-src-%x", sum) -} - -// SyncTemplateLibrary converts TemplateLibrary.Source OVF items to VM Template items within TemplateLibrary.Destination -// The optional TemplateLibrary.Include func can be used to filter which items are synced. -// By default all items that don't exist in the Destination library are synced. -// The optional TemplateLibrary.SyncItem func can be used to change how the item is synced, by default SyncTemplateLibraryItem is used. -func (c *Manager) SyncTemplateLibrary(ctx context.Context, l TemplateLibrary, items ...library.Item) error { - m := library.NewManager(c.Client) - var err error - if len(items) == 0 { - items, err = m.GetLibraryItems(ctx, l.Source.ID) - if err != nil { - return err - } - } - - templates, err := m.GetLibraryItems(ctx, l.Destination.ID) - if err != nil { - return err - } - - existing := make(map[string]*library.Item) - for i := range templates { - existing[templates[i].Name] = &templates[i] - } - - include := l.Include - if include == nil { - include = c.includeTemplateLibraryItem - } - - sync := l.SyncItem - if sync == nil { - sync = c.SyncTemplateLibraryItem - } - - for _, item := range items { - if item.Type != library.ItemTypeOVF { - continue - } - - // Deploy source VM from library ovf item - deploy := Deploy{ - DeploymentSpec: DeploymentSpec{ - Name: vmtxSourceName(l.Destination, item), - DefaultDatastoreID: l.Destination.Storage[0].DatastoreID, - AcceptAllEULA: true, - }, - Target: l.Placement, - } - - // Create library vmtx item from source VM - storage := &DiskStorage{ - Datastore: deploy.DeploymentSpec.DefaultDatastoreID, - } - spec := Template{ - Name: item.Name, - Library: l.Destination.ID, - DiskStorage: storage, - VMHomeStorage: storage, - Placement: &Placement{ - Folder: deploy.Target.FolderID, - ResourcePool: deploy.Target.ResourcePoolID, - }, - } - - if !l.Include(item, existing[item.Name]) { - continue - } - - if err = sync(ctx, item, &deploy, &spec); err != nil { - return err - } - } - - return nil -} diff --git a/vendor/github.com/vmware/govmomi/view/container_view.go b/vendor/github.com/vmware/govmomi/view/container_view.go deleted file mode 100644 index 39041c41f97..00000000000 --- a/vendor/github.com/vmware/govmomi/view/container_view.go +++ /dev/null @@ -1,145 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package view - -import ( - "context" - - "github.com/vmware/govmomi/property" - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/mo" - "github.com/vmware/govmomi/vim25/types" -) - -type ContainerView struct { - ManagedObjectView -} - -func NewContainerView(c *vim25.Client, ref types.ManagedObjectReference) *ContainerView { - return &ContainerView{ - ManagedObjectView: *NewManagedObjectView(c, ref), - } -} - -// Retrieve populates dst as property.Collector.Retrieve does, for all entities in the view of types specified by kind. -func (v ContainerView) Retrieve(ctx context.Context, kind []string, ps []string, dst interface{}, pspec ...types.PropertySpec) error { - pc := property.DefaultCollector(v.Client()) - - ospec := types.ObjectSpec{ - Obj: v.Reference(), - Skip: types.NewBool(true), - SelectSet: []types.BaseSelectionSpec{ - &types.TraversalSpec{ - Type: v.Reference().Type, - Path: "view", - }, - }, - } - - if len(kind) == 0 { - kind = []string{"ManagedEntity"} - } - - for _, t := range kind { - spec := types.PropertySpec{ - Type: t, - } - - if len(ps) == 0 { - spec.All = types.NewBool(true) - } else { - spec.PathSet = ps - } - - pspec = append(pspec, spec) - } - - req := types.RetrieveProperties{ - SpecSet: []types.PropertyFilterSpec{ - { - ObjectSet: []types.ObjectSpec{ospec}, - PropSet: pspec, - }, - }, - } - - res, err := pc.RetrieveProperties(ctx, req) - if err != nil { - return err - } - - if d, ok := dst.(*[]types.ObjectContent); ok { - *d = res.Returnval - return nil - } - - return mo.LoadObjectContent(res.Returnval, dst) -} - -// RetrieveWithFilter populates dst as Retrieve does, but only for entities matching the given filter. -func (v ContainerView) RetrieveWithFilter(ctx context.Context, kind []string, ps []string, dst interface{}, filter property.Filter) error { - if len(filter) == 0 { - return v.Retrieve(ctx, kind, ps, dst) - } - - var content []types.ObjectContent - - err := v.Retrieve(ctx, kind, filter.Keys(), &content) - if err != nil { - return err - } - - objs := filter.MatchObjectContent(content) - - pc := property.DefaultCollector(v.Client()) - - return pc.Retrieve(ctx, objs, ps, dst) -} - -// Find returns object references for entities of type kind, matching the given filter. -func (v ContainerView) Find(ctx context.Context, kind []string, filter property.Filter) ([]types.ManagedObjectReference, error) { - if len(filter) == 0 { - // Ensure we have at least 1 filter to avoid retrieving all properties. - filter = property.Filter{"name": "*"} - } - - var content []types.ObjectContent - - err := v.Retrieve(ctx, kind, filter.Keys(), &content) - if err != nil { - return nil, err - } - - return filter.MatchObjectContent(content), nil -} - -// FindAny returns object references for entities of type kind, matching any property the given filter. -func (v ContainerView) FindAny(ctx context.Context, kind []string, filter property.Filter) ([]types.ManagedObjectReference, error) { - if len(filter) == 0 { - // Ensure we have at least 1 filter to avoid retrieving all properties. - filter = property.Filter{"name": "*"} - } - - var content []types.ObjectContent - - err := v.Retrieve(ctx, kind, filter.Keys(), &content) - if err != nil { - return nil, err - } - - return filter.MatchAnyObjectContent(content), nil -} diff --git a/vendor/github.com/vmware/govmomi/view/list_view.go b/vendor/github.com/vmware/govmomi/view/list_view.go deleted file mode 100644 index e8cfb504341..00000000000 --- a/vendor/github.com/vmware/govmomi/view/list_view.go +++ /dev/null @@ -1,62 +0,0 @@ -/* -Copyright (c) 2015-2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package view - -import ( - "context" - - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/types" -) - -type ListView struct { - ManagedObjectView -} - -func NewListView(c *vim25.Client, ref types.ManagedObjectReference) *ListView { - return &ListView{ - ManagedObjectView: *NewManagedObjectView(c, ref), - } -} - -func (v ListView) Add(ctx context.Context, refs []types.ManagedObjectReference) error { - req := types.ModifyListView{ - This: v.Reference(), - Add: refs, - } - _, err := methods.ModifyListView(ctx, v.Client(), &req) - return err -} - -func (v ListView) Remove(ctx context.Context, refs []types.ManagedObjectReference) error { - req := types.ModifyListView{ - This: v.Reference(), - Remove: refs, - } - _, err := methods.ModifyListView(ctx, v.Client(), &req) - return err -} - -func (v ListView) Reset(ctx context.Context, refs []types.ManagedObjectReference) error { - req := types.ResetListView{ - This: v.Reference(), - Obj: refs, - } - _, err := methods.ResetListView(ctx, v.Client(), &req) - return err -} diff --git a/vendor/github.com/vmware/govmomi/view/managed_object_view.go b/vendor/github.com/vmware/govmomi/view/managed_object_view.go deleted file mode 100644 index 805c8643107..00000000000 --- a/vendor/github.com/vmware/govmomi/view/managed_object_view.go +++ /dev/null @@ -1,52 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package view - -import ( - "context" - - "github.com/vmware/govmomi/object" - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/types" -) - -type ManagedObjectView struct { - object.Common -} - -func NewManagedObjectView(c *vim25.Client, ref types.ManagedObjectReference) *ManagedObjectView { - return &ManagedObjectView{ - Common: object.NewCommon(c, ref), - } -} - -func (v *ManagedObjectView) TraversalSpec() *types.TraversalSpec { - return &types.TraversalSpec{ - Path: "view", - Type: v.Reference().Type, - } -} - -func (v *ManagedObjectView) Destroy(ctx context.Context) error { - req := types.DestroyView{ - This: v.Reference(), - } - - _, err := methods.DestroyView(ctx, v.Client(), &req) - return err -} diff --git a/vendor/github.com/vmware/govmomi/view/manager.go b/vendor/github.com/vmware/govmomi/view/manager.go deleted file mode 100644 index d44def0cd99..00000000000 --- a/vendor/github.com/vmware/govmomi/view/manager.go +++ /dev/null @@ -1,69 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package view - -import ( - "context" - - "github.com/vmware/govmomi/object" - "github.com/vmware/govmomi/vim25" - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/types" -) - -type Manager struct { - object.Common -} - -func NewManager(c *vim25.Client) *Manager { - m := Manager{ - object.NewCommon(c, *c.ServiceContent.ViewManager), - } - - return &m -} - -func (m Manager) CreateListView(ctx context.Context, objects []types.ManagedObjectReference) (*ListView, error) { - req := types.CreateListView{ - This: m.Common.Reference(), - Obj: objects, - } - - res, err := methods.CreateListView(ctx, m.Client(), &req) - if err != nil { - return nil, err - } - - return NewListView(m.Client(), res.Returnval), nil -} - -func (m Manager) CreateContainerView(ctx context.Context, container types.ManagedObjectReference, managedObjectTypes []string, recursive bool) (*ContainerView, error) { - - req := types.CreateContainerView{ - This: m.Common.Reference(), - Container: container, - Recursive: recursive, - Type: managedObjectTypes, - } - - res, err := methods.CreateContainerView(ctx, m.Client(), &req) - if err != nil { - return nil, err - } - - return NewContainerView(m.Client(), res.Returnval), nil -} diff --git a/vendor/github.com/vmware/govmomi/view/task_view.go b/vendor/github.com/vmware/govmomi/view/task_view.go deleted file mode 100644 index 68f62f8d107..00000000000 --- a/vendor/github.com/vmware/govmomi/view/task_view.go +++ /dev/null @@ -1,125 +0,0 @@ -/* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package view - -import ( - "context" - - "github.com/vmware/govmomi/property" - "github.com/vmware/govmomi/vim25/types" -) - -// TaskView extends ListView such that it can follow a ManagedEntity's recentTask updates. -type TaskView struct { - *ListView - - Follow bool - - Watch *types.ManagedObjectReference -} - -// CreateTaskView creates a new ListView that optionally watches for a ManagedEntity's recentTask updates. -func (m Manager) CreateTaskView(ctx context.Context, watch *types.ManagedObjectReference) (*TaskView, error) { - l, err := m.CreateListView(ctx, nil) - if err != nil { - return nil, err - } - - tv := &TaskView{ - ListView: l, - Watch: watch, - } - - return tv, nil -} - -// Collect calls function f for each Task update. -func (v TaskView) Collect(ctx context.Context, f func([]types.TaskInfo)) error { - // Using TaskHistoryCollector would be less clunky, but it isn't supported on ESX at all. - ref := v.Reference() - filter := new(property.WaitFilter).Add(ref, "Task", []string{"info"}, v.TraversalSpec()) - - if v.Watch != nil { - filter.Add(*v.Watch, v.Watch.Type, []string{"recentTask"}) - } - - pc := property.DefaultCollector(v.Client()) - - completed := make(map[string]bool) - - return property.WaitForUpdates(ctx, pc, filter, func(updates []types.ObjectUpdate) bool { - var infos []types.TaskInfo - var prune []types.ManagedObjectReference - var tasks []types.ManagedObjectReference - var reset func() - - for _, update := range updates { - for _, change := range update.ChangeSet { - if change.Name == "recentTask" { - tasks = change.Val.(types.ArrayOfManagedObjectReference).ManagedObjectReference - if len(tasks) != 0 { - reset = func() { - _ = v.Reset(ctx, tasks) - - // Remember any tasks we've reported as complete already, - // to avoid reporting multiple times when Reset is triggered. - rtasks := make(map[string]bool) - for i := range tasks { - if _, ok := completed[tasks[i].Value]; ok { - rtasks[tasks[i].Value] = true - } - } - completed = rtasks - } - } - - continue - } - - info, ok := change.Val.(types.TaskInfo) - if !ok { - continue - } - - if !completed[info.Task.Value] { - infos = append(infos, info) - } - - if v.Follow && info.CompleteTime != nil { - prune = append(prune, info.Task) - completed[info.Task.Value] = true - } - } - } - - if len(infos) != 0 { - f(infos) - } - - if reset != nil { - reset() - } else if len(prune) != 0 { - _ = v.Remove(ctx, prune) - } - - if len(tasks) != 0 && len(infos) == 0 { - return false - } - - return !v.Follow - }) -} diff --git a/vendor/github.com/vmware/govmomi/vim25/client.go b/vendor/github.com/vmware/govmomi/vim25/client.go deleted file mode 100644 index b14cea85202..00000000000 --- a/vendor/github.com/vmware/govmomi/vim25/client.go +++ /dev/null @@ -1,191 +0,0 @@ -/* -Copyright (c) 2015-2016 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vim25 - -import ( - "context" - "encoding/json" - "fmt" - "net/http" - "path" - "strings" - - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" - "github.com/vmware/govmomi/vim25/xml" -) - -const ( - Namespace = "vim25" - Version = "7.0" - Path = "/sdk" -) - -var ( - ServiceInstance = types.ManagedObjectReference{ - Type: "ServiceInstance", - Value: "ServiceInstance", - } -) - -// Client is a tiny wrapper around the vim25/soap Client that stores session -// specific state (i.e. state that only needs to be retrieved once after the -// client has been created). This means the client can be reused after -// serialization without performing additional requests for initialization. -type Client struct { - *soap.Client - - ServiceContent types.ServiceContent - - // RoundTripper is a separate field such that the client's implementation of - // the RoundTripper interface can be wrapped by separate implementations for - // extra functionality (for example, reauthentication on session timeout). - RoundTripper soap.RoundTripper -} - -// NewClient creates and returns a new client with the ServiceContent field -// filled in. -func NewClient(ctx context.Context, rt soap.RoundTripper) (*Client, error) { - c := Client{ - RoundTripper: rt, - } - - // Set client if it happens to be a soap.Client - if sc, ok := rt.(*soap.Client); ok { - c.Client = sc - - if c.Namespace == "" { - c.Namespace = "urn:" + Namespace - } else if !strings.Contains(c.Namespace, ":") { - c.Namespace = "urn:" + c.Namespace // ensure valid URI format - } - if c.Version == "" { - c.Version = Version - } - } - - var err error - c.ServiceContent, err = methods.GetServiceContent(ctx, rt) - if err != nil { - return nil, err - } - - return &c, nil -} - -// UseServiceVersion sets soap.Client.Version to the current version of the service endpoint via /sdk/vimServiceVersions.xml -func (c *Client) UseServiceVersion(kind ...string) error { - ns := "vim" - if len(kind) != 0 { - ns = kind[0] - } - - u := c.URL() - u.Path = path.Join(Path, ns+"ServiceVersions.xml") - - res, err := c.Get(u.String()) - if err != nil { - return err - } - - if res.StatusCode != http.StatusOK { - return fmt.Errorf("http.Get(%s): %s", u.Path, err) - } - - v := struct { - Namespace *string `xml:"namespace>name"` - Version *string `xml:"namespace>version"` - }{ - &c.Namespace, - &c.Version, - } - - err = xml.NewDecoder(res.Body).Decode(&v) - _ = res.Body.Close() - if err != nil { - return fmt.Errorf("xml.Decode(%s): %s", u.Path, err) - } - - return nil -} - -// RoundTrip dispatches to the RoundTripper field. -func (c *Client) RoundTrip(ctx context.Context, req, res soap.HasFault) error { - return c.RoundTripper.RoundTrip(ctx, req, res) -} - -type marshaledClient struct { - SoapClient *soap.Client - ServiceContent types.ServiceContent -} - -func (c *Client) MarshalJSON() ([]byte, error) { - m := marshaledClient{ - SoapClient: c.Client, - ServiceContent: c.ServiceContent, - } - - return json.Marshal(m) -} - -func (c *Client) UnmarshalJSON(b []byte) error { - var m marshaledClient - - err := json.Unmarshal(b, &m) - if err != nil { - return err - } - - *c = Client{ - Client: m.SoapClient, - ServiceContent: m.ServiceContent, - RoundTripper: m.SoapClient, - } - - return nil -} - -// Valid returns whether or not the client is valid and ready for use. -// This should be called after unmarshalling the client. -func (c *Client) Valid() bool { - if c == nil { - return false - } - - if c.Client == nil { - return false - } - - // Use arbitrary pointer field in the service content. - // Doesn't matter which one, as long as it is populated by default. - if c.ServiceContent.SessionManager == nil { - return false - } - - return true -} - -// Path returns vim25.Path (see cache.Client) -func (c *Client) Path() string { - return Path -} - -// IsVC returns true if we are connected to a vCenter -func (c *Client) IsVC() bool { - return c.ServiceContent.About.ApiType == "VirtualCenter" -} diff --git a/vendor/github.com/vmware/govmomi/vim25/debug/debug.go b/vendor/github.com/vmware/govmomi/vim25/debug/debug.go deleted file mode 100644 index 048062825d5..00000000000 --- a/vendor/github.com/vmware/govmomi/vim25/debug/debug.go +++ /dev/null @@ -1,73 +0,0 @@ -/* -Copyright (c) 2014 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package debug - -import ( - "io" - "regexp" -) - -// Provider specified the interface types must implement to be used as a -// debugging sink. Having multiple such sink implementations allows it to be -// changed externally (for example when running tests). -type Provider interface { - NewFile(s string) io.WriteCloser - Flush() -} - -// ReadCloser is a struct that satisfies the io.ReadCloser interface -type ReadCloser struct { - io.Reader - io.Closer -} - -// NewTeeReader wraps io.TeeReader and patches through the Close() function. -func NewTeeReader(rc io.ReadCloser, w io.Writer) io.ReadCloser { - return ReadCloser{ - Reader: io.TeeReader(rc, w), - Closer: rc, - } -} - -var currentProvider Provider = nil -var scrubPassword = regexp.MustCompile(`(.*)`) - -func SetProvider(p Provider) { - if currentProvider != nil { - currentProvider.Flush() - } - currentProvider = p -} - -// Enabled returns whether debugging is enabled or not. -func Enabled() bool { - return currentProvider != nil -} - -// NewFile dispatches to the current provider's NewFile function. -func NewFile(s string) io.WriteCloser { - return currentProvider.NewFile(s) -} - -// Flush dispatches to the current provider's Flush function. -func Flush() { - currentProvider.Flush() -} - -func Scrub(in []byte) []byte { - return scrubPassword.ReplaceAll(in, []byte(`********`)) -} diff --git a/vendor/github.com/vmware/govmomi/vim25/debug/file.go b/vendor/github.com/vmware/govmomi/vim25/debug/file.go deleted file mode 100644 index 4290a29167f..00000000000 --- a/vendor/github.com/vmware/govmomi/vim25/debug/file.go +++ /dev/null @@ -1,75 +0,0 @@ -/* -Copyright (c) 2014 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package debug - -import ( - "io" - "os" - "path" - "sync" -) - -// FileProvider implements a debugging provider that creates a real file for -// every call to NewFile. It maintains a list of all files that it creates, -// such that it can close them when its Flush function is called. -type FileProvider struct { - Path string - - mu sync.Mutex - files []*os.File -} - -func (fp *FileProvider) NewFile(p string) io.WriteCloser { - f, err := os.Create(path.Join(fp.Path, p)) - if err != nil { - panic(err) - } - - fp.mu.Lock() - defer fp.mu.Unlock() - fp.files = append(fp.files, f) - - return NewFileWriterCloser(f, p) -} - -func (fp *FileProvider) Flush() { - fp.mu.Lock() - defer fp.mu.Unlock() - for _, f := range fp.files { - f.Close() - } -} - -type FileWriterCloser struct { - f *os.File - p string -} - -func NewFileWriterCloser(f *os.File, p string) *FileWriterCloser { - return &FileWriterCloser{ - f, - p, - } -} - -func (fwc *FileWriterCloser) Write(p []byte) (n int, err error) { - return fwc.f.Write(Scrub(p)) -} - -func (fwc *FileWriterCloser) Close() error { - return fwc.f.Close() -} diff --git a/vendor/github.com/vmware/govmomi/vim25/debug/log.go b/vendor/github.com/vmware/govmomi/vim25/debug/log.go deleted file mode 100644 index 183c606a3cb..00000000000 --- a/vendor/github.com/vmware/govmomi/vim25/debug/log.go +++ /dev/null @@ -1,49 +0,0 @@ -/* -Copyright (c) 2014 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package debug - -import ( - "fmt" - "io" - "os" -) - -type LogWriterCloser struct { -} - -func NewLogWriterCloser() *LogWriterCloser { - return &LogWriterCloser{} -} - -func (lwc *LogWriterCloser) Write(p []byte) (n int, err error) { - fmt.Fprint(os.Stderr, string(Scrub(p))) - return len(p), nil -} - -func (lwc *LogWriterCloser) Close() error { - return nil -} - -type LogProvider struct { -} - -func (s *LogProvider) NewFile(p string) io.WriteCloser { - return NewLogWriterCloser() -} - -func (s *LogProvider) Flush() { -} diff --git a/vendor/github.com/vmware/govmomi/vim25/doc.go b/vendor/github.com/vmware/govmomi/vim25/doc.go deleted file mode 100644 index acb2c9f64dd..00000000000 --- a/vendor/github.com/vmware/govmomi/vim25/doc.go +++ /dev/null @@ -1,29 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -/* -Package vim25 provides a minimal client implementation to use with other -packages in the vim25 tree. The code in this package intentionally does not -take any dependendies outside the vim25 tree. - -The client implementation in this package embeds the soap.Client structure. -Additionally, it stores the value of the session's ServiceContent object. This -object stores references to a variety of subsystems, such as the root property -collector, the session manager, and the search index. The client is fully -functional after serialization and deserialization, without the need for -additional requests for initialization. -*/ -package vim25 diff --git a/vendor/github.com/vmware/govmomi/vim25/methods/methods.go b/vendor/github.com/vmware/govmomi/vim25/methods/methods.go deleted file mode 100644 index 4f1cf8ac0b5..00000000000 --- a/vendor/github.com/vmware/govmomi/vim25/methods/methods.go +++ /dev/null @@ -1,18704 +0,0 @@ -/* -Copyright (c) 2014-2022 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package methods - -import ( - "context" - - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -type AbandonHciWorkflowBody struct { - Req *types.AbandonHciWorkflow `xml:"urn:vim25 AbandonHciWorkflow,omitempty"` - Res *types.AbandonHciWorkflowResponse `xml:"AbandonHciWorkflowResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *AbandonHciWorkflowBody) Fault() *soap.Fault { return b.Fault_ } - -func AbandonHciWorkflow(ctx context.Context, r soap.RoundTripper, req *types.AbandonHciWorkflow) (*types.AbandonHciWorkflowResponse, error) { - var reqBody, resBody AbandonHciWorkflowBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type AbdicateDomOwnershipBody struct { - Req *types.AbdicateDomOwnership `xml:"urn:vim25 AbdicateDomOwnership,omitempty"` - Res *types.AbdicateDomOwnershipResponse `xml:"AbdicateDomOwnershipResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *AbdicateDomOwnershipBody) Fault() *soap.Fault { return b.Fault_ } - -func AbdicateDomOwnership(ctx context.Context, r soap.RoundTripper, req *types.AbdicateDomOwnership) (*types.AbdicateDomOwnershipResponse, error) { - var reqBody, resBody AbdicateDomOwnershipBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type AbortCustomization_TaskBody struct { - Req *types.AbortCustomization_Task `xml:"urn:vim25 AbortCustomization_Task,omitempty"` - Res *types.AbortCustomization_TaskResponse `xml:"AbortCustomization_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *AbortCustomization_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func AbortCustomization_Task(ctx context.Context, r soap.RoundTripper, req *types.AbortCustomization_Task) (*types.AbortCustomization_TaskResponse, error) { - var reqBody, resBody AbortCustomization_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type AcknowledgeAlarmBody struct { - Req *types.AcknowledgeAlarm `xml:"urn:vim25 AcknowledgeAlarm,omitempty"` - Res *types.AcknowledgeAlarmResponse `xml:"AcknowledgeAlarmResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *AcknowledgeAlarmBody) Fault() *soap.Fault { return b.Fault_ } - -func AcknowledgeAlarm(ctx context.Context, r soap.RoundTripper, req *types.AcknowledgeAlarm) (*types.AcknowledgeAlarmResponse, error) { - var reqBody, resBody AcknowledgeAlarmBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type AcquireCimServicesTicketBody struct { - Req *types.AcquireCimServicesTicket `xml:"urn:vim25 AcquireCimServicesTicket,omitempty"` - Res *types.AcquireCimServicesTicketResponse `xml:"AcquireCimServicesTicketResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *AcquireCimServicesTicketBody) Fault() *soap.Fault { return b.Fault_ } - -func AcquireCimServicesTicket(ctx context.Context, r soap.RoundTripper, req *types.AcquireCimServicesTicket) (*types.AcquireCimServicesTicketResponse, error) { - var reqBody, resBody AcquireCimServicesTicketBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type AcquireCloneTicketBody struct { - Req *types.AcquireCloneTicket `xml:"urn:vim25 AcquireCloneTicket,omitempty"` - Res *types.AcquireCloneTicketResponse `xml:"AcquireCloneTicketResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *AcquireCloneTicketBody) Fault() *soap.Fault { return b.Fault_ } - -func AcquireCloneTicket(ctx context.Context, r soap.RoundTripper, req *types.AcquireCloneTicket) (*types.AcquireCloneTicketResponse, error) { - var reqBody, resBody AcquireCloneTicketBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type AcquireCredentialsInGuestBody struct { - Req *types.AcquireCredentialsInGuest `xml:"urn:vim25 AcquireCredentialsInGuest,omitempty"` - Res *types.AcquireCredentialsInGuestResponse `xml:"AcquireCredentialsInGuestResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *AcquireCredentialsInGuestBody) Fault() *soap.Fault { return b.Fault_ } - -func AcquireCredentialsInGuest(ctx context.Context, r soap.RoundTripper, req *types.AcquireCredentialsInGuest) (*types.AcquireCredentialsInGuestResponse, error) { - var reqBody, resBody AcquireCredentialsInGuestBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type AcquireGenericServiceTicketBody struct { - Req *types.AcquireGenericServiceTicket `xml:"urn:vim25 AcquireGenericServiceTicket,omitempty"` - Res *types.AcquireGenericServiceTicketResponse `xml:"AcquireGenericServiceTicketResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *AcquireGenericServiceTicketBody) Fault() *soap.Fault { return b.Fault_ } - -func AcquireGenericServiceTicket(ctx context.Context, r soap.RoundTripper, req *types.AcquireGenericServiceTicket) (*types.AcquireGenericServiceTicketResponse, error) { - var reqBody, resBody AcquireGenericServiceTicketBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type AcquireLocalTicketBody struct { - Req *types.AcquireLocalTicket `xml:"urn:vim25 AcquireLocalTicket,omitempty"` - Res *types.AcquireLocalTicketResponse `xml:"AcquireLocalTicketResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *AcquireLocalTicketBody) Fault() *soap.Fault { return b.Fault_ } - -func AcquireLocalTicket(ctx context.Context, r soap.RoundTripper, req *types.AcquireLocalTicket) (*types.AcquireLocalTicketResponse, error) { - var reqBody, resBody AcquireLocalTicketBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type AcquireMksTicketBody struct { - Req *types.AcquireMksTicket `xml:"urn:vim25 AcquireMksTicket,omitempty"` - Res *types.AcquireMksTicketResponse `xml:"AcquireMksTicketResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *AcquireMksTicketBody) Fault() *soap.Fault { return b.Fault_ } - -func AcquireMksTicket(ctx context.Context, r soap.RoundTripper, req *types.AcquireMksTicket) (*types.AcquireMksTicketResponse, error) { - var reqBody, resBody AcquireMksTicketBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type AcquireTicketBody struct { - Req *types.AcquireTicket `xml:"urn:vim25 AcquireTicket,omitempty"` - Res *types.AcquireTicketResponse `xml:"AcquireTicketResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *AcquireTicketBody) Fault() *soap.Fault { return b.Fault_ } - -func AcquireTicket(ctx context.Context, r soap.RoundTripper, req *types.AcquireTicket) (*types.AcquireTicketResponse, error) { - var reqBody, resBody AcquireTicketBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type AddAuthorizationRoleBody struct { - Req *types.AddAuthorizationRole `xml:"urn:vim25 AddAuthorizationRole,omitempty"` - Res *types.AddAuthorizationRoleResponse `xml:"AddAuthorizationRoleResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *AddAuthorizationRoleBody) Fault() *soap.Fault { return b.Fault_ } - -func AddAuthorizationRole(ctx context.Context, r soap.RoundTripper, req *types.AddAuthorizationRole) (*types.AddAuthorizationRoleResponse, error) { - var reqBody, resBody AddAuthorizationRoleBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type AddCustomFieldDefBody struct { - Req *types.AddCustomFieldDef `xml:"urn:vim25 AddCustomFieldDef,omitempty"` - Res *types.AddCustomFieldDefResponse `xml:"AddCustomFieldDefResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *AddCustomFieldDefBody) Fault() *soap.Fault { return b.Fault_ } - -func AddCustomFieldDef(ctx context.Context, r soap.RoundTripper, req *types.AddCustomFieldDef) (*types.AddCustomFieldDefResponse, error) { - var reqBody, resBody AddCustomFieldDefBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type AddDVPortgroup_TaskBody struct { - Req *types.AddDVPortgroup_Task `xml:"urn:vim25 AddDVPortgroup_Task,omitempty"` - Res *types.AddDVPortgroup_TaskResponse `xml:"AddDVPortgroup_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *AddDVPortgroup_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func AddDVPortgroup_Task(ctx context.Context, r soap.RoundTripper, req *types.AddDVPortgroup_Task) (*types.AddDVPortgroup_TaskResponse, error) { - var reqBody, resBody AddDVPortgroup_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type AddDisks_TaskBody struct { - Req *types.AddDisks_Task `xml:"urn:vim25 AddDisks_Task,omitempty"` - Res *types.AddDisks_TaskResponse `xml:"AddDisks_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *AddDisks_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func AddDisks_Task(ctx context.Context, r soap.RoundTripper, req *types.AddDisks_Task) (*types.AddDisks_TaskResponse, error) { - var reqBody, resBody AddDisks_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type AddFilterBody struct { - Req *types.AddFilter `xml:"urn:vim25 AddFilter,omitempty"` - Res *types.AddFilterResponse `xml:"AddFilterResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *AddFilterBody) Fault() *soap.Fault { return b.Fault_ } - -func AddFilter(ctx context.Context, r soap.RoundTripper, req *types.AddFilter) (*types.AddFilterResponse, error) { - var reqBody, resBody AddFilterBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type AddFilterEntitiesBody struct { - Req *types.AddFilterEntities `xml:"urn:vim25 AddFilterEntities,omitempty"` - Res *types.AddFilterEntitiesResponse `xml:"AddFilterEntitiesResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *AddFilterEntitiesBody) Fault() *soap.Fault { return b.Fault_ } - -func AddFilterEntities(ctx context.Context, r soap.RoundTripper, req *types.AddFilterEntities) (*types.AddFilterEntitiesResponse, error) { - var reqBody, resBody AddFilterEntitiesBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type AddGuestAliasBody struct { - Req *types.AddGuestAlias `xml:"urn:vim25 AddGuestAlias,omitempty"` - Res *types.AddGuestAliasResponse `xml:"AddGuestAliasResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *AddGuestAliasBody) Fault() *soap.Fault { return b.Fault_ } - -func AddGuestAlias(ctx context.Context, r soap.RoundTripper, req *types.AddGuestAlias) (*types.AddGuestAliasResponse, error) { - var reqBody, resBody AddGuestAliasBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type AddHost_TaskBody struct { - Req *types.AddHost_Task `xml:"urn:vim25 AddHost_Task,omitempty"` - Res *types.AddHost_TaskResponse `xml:"AddHost_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *AddHost_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func AddHost_Task(ctx context.Context, r soap.RoundTripper, req *types.AddHost_Task) (*types.AddHost_TaskResponse, error) { - var reqBody, resBody AddHost_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type AddInternetScsiSendTargetsBody struct { - Req *types.AddInternetScsiSendTargets `xml:"urn:vim25 AddInternetScsiSendTargets,omitempty"` - Res *types.AddInternetScsiSendTargetsResponse `xml:"AddInternetScsiSendTargetsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *AddInternetScsiSendTargetsBody) Fault() *soap.Fault { return b.Fault_ } - -func AddInternetScsiSendTargets(ctx context.Context, r soap.RoundTripper, req *types.AddInternetScsiSendTargets) (*types.AddInternetScsiSendTargetsResponse, error) { - var reqBody, resBody AddInternetScsiSendTargetsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type AddInternetScsiStaticTargetsBody struct { - Req *types.AddInternetScsiStaticTargets `xml:"urn:vim25 AddInternetScsiStaticTargets,omitempty"` - Res *types.AddInternetScsiStaticTargetsResponse `xml:"AddInternetScsiStaticTargetsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *AddInternetScsiStaticTargetsBody) Fault() *soap.Fault { return b.Fault_ } - -func AddInternetScsiStaticTargets(ctx context.Context, r soap.RoundTripper, req *types.AddInternetScsiStaticTargets) (*types.AddInternetScsiStaticTargetsResponse, error) { - var reqBody, resBody AddInternetScsiStaticTargetsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type AddKeyBody struct { - Req *types.AddKey `xml:"urn:vim25 AddKey,omitempty"` - Res *types.AddKeyResponse `xml:"AddKeyResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *AddKeyBody) Fault() *soap.Fault { return b.Fault_ } - -func AddKey(ctx context.Context, r soap.RoundTripper, req *types.AddKey) (*types.AddKeyResponse, error) { - var reqBody, resBody AddKeyBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type AddKeysBody struct { - Req *types.AddKeys `xml:"urn:vim25 AddKeys,omitempty"` - Res *types.AddKeysResponse `xml:"AddKeysResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *AddKeysBody) Fault() *soap.Fault { return b.Fault_ } - -func AddKeys(ctx context.Context, r soap.RoundTripper, req *types.AddKeys) (*types.AddKeysResponse, error) { - var reqBody, resBody AddKeysBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type AddLicenseBody struct { - Req *types.AddLicense `xml:"urn:vim25 AddLicense,omitempty"` - Res *types.AddLicenseResponse `xml:"AddLicenseResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *AddLicenseBody) Fault() *soap.Fault { return b.Fault_ } - -func AddLicense(ctx context.Context, r soap.RoundTripper, req *types.AddLicense) (*types.AddLicenseResponse, error) { - var reqBody, resBody AddLicenseBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type AddMonitoredEntitiesBody struct { - Req *types.AddMonitoredEntities `xml:"urn:vim25 AddMonitoredEntities,omitempty"` - Res *types.AddMonitoredEntitiesResponse `xml:"AddMonitoredEntitiesResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *AddMonitoredEntitiesBody) Fault() *soap.Fault { return b.Fault_ } - -func AddMonitoredEntities(ctx context.Context, r soap.RoundTripper, req *types.AddMonitoredEntities) (*types.AddMonitoredEntitiesResponse, error) { - var reqBody, resBody AddMonitoredEntitiesBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type AddNetworkResourcePoolBody struct { - Req *types.AddNetworkResourcePool `xml:"urn:vim25 AddNetworkResourcePool,omitempty"` - Res *types.AddNetworkResourcePoolResponse `xml:"AddNetworkResourcePoolResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *AddNetworkResourcePoolBody) Fault() *soap.Fault { return b.Fault_ } - -func AddNetworkResourcePool(ctx context.Context, r soap.RoundTripper, req *types.AddNetworkResourcePool) (*types.AddNetworkResourcePoolResponse, error) { - var reqBody, resBody AddNetworkResourcePoolBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type AddPortGroupBody struct { - Req *types.AddPortGroup `xml:"urn:vim25 AddPortGroup,omitempty"` - Res *types.AddPortGroupResponse `xml:"AddPortGroupResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *AddPortGroupBody) Fault() *soap.Fault { return b.Fault_ } - -func AddPortGroup(ctx context.Context, r soap.RoundTripper, req *types.AddPortGroup) (*types.AddPortGroupResponse, error) { - var reqBody, resBody AddPortGroupBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type AddServiceConsoleVirtualNicBody struct { - Req *types.AddServiceConsoleVirtualNic `xml:"urn:vim25 AddServiceConsoleVirtualNic,omitempty"` - Res *types.AddServiceConsoleVirtualNicResponse `xml:"AddServiceConsoleVirtualNicResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *AddServiceConsoleVirtualNicBody) Fault() *soap.Fault { return b.Fault_ } - -func AddServiceConsoleVirtualNic(ctx context.Context, r soap.RoundTripper, req *types.AddServiceConsoleVirtualNic) (*types.AddServiceConsoleVirtualNicResponse, error) { - var reqBody, resBody AddServiceConsoleVirtualNicBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type AddStandaloneHost_TaskBody struct { - Req *types.AddStandaloneHost_Task `xml:"urn:vim25 AddStandaloneHost_Task,omitempty"` - Res *types.AddStandaloneHost_TaskResponse `xml:"AddStandaloneHost_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *AddStandaloneHost_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func AddStandaloneHost_Task(ctx context.Context, r soap.RoundTripper, req *types.AddStandaloneHost_Task) (*types.AddStandaloneHost_TaskResponse, error) { - var reqBody, resBody AddStandaloneHost_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type AddVirtualNicBody struct { - Req *types.AddVirtualNic `xml:"urn:vim25 AddVirtualNic,omitempty"` - Res *types.AddVirtualNicResponse `xml:"AddVirtualNicResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *AddVirtualNicBody) Fault() *soap.Fault { return b.Fault_ } - -func AddVirtualNic(ctx context.Context, r soap.RoundTripper, req *types.AddVirtualNic) (*types.AddVirtualNicResponse, error) { - var reqBody, resBody AddVirtualNicBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type AddVirtualSwitchBody struct { - Req *types.AddVirtualSwitch `xml:"urn:vim25 AddVirtualSwitch,omitempty"` - Res *types.AddVirtualSwitchResponse `xml:"AddVirtualSwitchResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *AddVirtualSwitchBody) Fault() *soap.Fault { return b.Fault_ } - -func AddVirtualSwitch(ctx context.Context, r soap.RoundTripper, req *types.AddVirtualSwitch) (*types.AddVirtualSwitchResponse, error) { - var reqBody, resBody AddVirtualSwitchBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type AllocateIpv4AddressBody struct { - Req *types.AllocateIpv4Address `xml:"urn:vim25 AllocateIpv4Address,omitempty"` - Res *types.AllocateIpv4AddressResponse `xml:"AllocateIpv4AddressResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *AllocateIpv4AddressBody) Fault() *soap.Fault { return b.Fault_ } - -func AllocateIpv4Address(ctx context.Context, r soap.RoundTripper, req *types.AllocateIpv4Address) (*types.AllocateIpv4AddressResponse, error) { - var reqBody, resBody AllocateIpv4AddressBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type AllocateIpv6AddressBody struct { - Req *types.AllocateIpv6Address `xml:"urn:vim25 AllocateIpv6Address,omitempty"` - Res *types.AllocateIpv6AddressResponse `xml:"AllocateIpv6AddressResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *AllocateIpv6AddressBody) Fault() *soap.Fault { return b.Fault_ } - -func AllocateIpv6Address(ctx context.Context, r soap.RoundTripper, req *types.AllocateIpv6Address) (*types.AllocateIpv6AddressResponse, error) { - var reqBody, resBody AllocateIpv6AddressBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type AnswerVMBody struct { - Req *types.AnswerVM `xml:"urn:vim25 AnswerVM,omitempty"` - Res *types.AnswerVMResponse `xml:"AnswerVMResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *AnswerVMBody) Fault() *soap.Fault { return b.Fault_ } - -func AnswerVM(ctx context.Context, r soap.RoundTripper, req *types.AnswerVM) (*types.AnswerVMResponse, error) { - var reqBody, resBody AnswerVMBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ApplyEntitiesConfig_TaskBody struct { - Req *types.ApplyEntitiesConfig_Task `xml:"urn:vim25 ApplyEntitiesConfig_Task,omitempty"` - Res *types.ApplyEntitiesConfig_TaskResponse `xml:"ApplyEntitiesConfig_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ApplyEntitiesConfig_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func ApplyEntitiesConfig_Task(ctx context.Context, r soap.RoundTripper, req *types.ApplyEntitiesConfig_Task) (*types.ApplyEntitiesConfig_TaskResponse, error) { - var reqBody, resBody ApplyEntitiesConfig_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ApplyEvcModeVM_TaskBody struct { - Req *types.ApplyEvcModeVM_Task `xml:"urn:vim25 ApplyEvcModeVM_Task,omitempty"` - Res *types.ApplyEvcModeVM_TaskResponse `xml:"ApplyEvcModeVM_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ApplyEvcModeVM_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func ApplyEvcModeVM_Task(ctx context.Context, r soap.RoundTripper, req *types.ApplyEvcModeVM_Task) (*types.ApplyEvcModeVM_TaskResponse, error) { - var reqBody, resBody ApplyEvcModeVM_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ApplyHostConfig_TaskBody struct { - Req *types.ApplyHostConfig_Task `xml:"urn:vim25 ApplyHostConfig_Task,omitempty"` - Res *types.ApplyHostConfig_TaskResponse `xml:"ApplyHostConfig_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ApplyHostConfig_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func ApplyHostConfig_Task(ctx context.Context, r soap.RoundTripper, req *types.ApplyHostConfig_Task) (*types.ApplyHostConfig_TaskResponse, error) { - var reqBody, resBody ApplyHostConfig_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ApplyRecommendationBody struct { - Req *types.ApplyRecommendation `xml:"urn:vim25 ApplyRecommendation,omitempty"` - Res *types.ApplyRecommendationResponse `xml:"ApplyRecommendationResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ApplyRecommendationBody) Fault() *soap.Fault { return b.Fault_ } - -func ApplyRecommendation(ctx context.Context, r soap.RoundTripper, req *types.ApplyRecommendation) (*types.ApplyRecommendationResponse, error) { - var reqBody, resBody ApplyRecommendationBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ApplyStorageDrsRecommendationToPod_TaskBody struct { - Req *types.ApplyStorageDrsRecommendationToPod_Task `xml:"urn:vim25 ApplyStorageDrsRecommendationToPod_Task,omitempty"` - Res *types.ApplyStorageDrsRecommendationToPod_TaskResponse `xml:"ApplyStorageDrsRecommendationToPod_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ApplyStorageDrsRecommendationToPod_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func ApplyStorageDrsRecommendationToPod_Task(ctx context.Context, r soap.RoundTripper, req *types.ApplyStorageDrsRecommendationToPod_Task) (*types.ApplyStorageDrsRecommendationToPod_TaskResponse, error) { - var reqBody, resBody ApplyStorageDrsRecommendationToPod_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ApplyStorageDrsRecommendation_TaskBody struct { - Req *types.ApplyStorageDrsRecommendation_Task `xml:"urn:vim25 ApplyStorageDrsRecommendation_Task,omitempty"` - Res *types.ApplyStorageDrsRecommendation_TaskResponse `xml:"ApplyStorageDrsRecommendation_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ApplyStorageDrsRecommendation_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func ApplyStorageDrsRecommendation_Task(ctx context.Context, r soap.RoundTripper, req *types.ApplyStorageDrsRecommendation_Task) (*types.ApplyStorageDrsRecommendation_TaskResponse, error) { - var reqBody, resBody ApplyStorageDrsRecommendation_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type AreAlarmActionsEnabledBody struct { - Req *types.AreAlarmActionsEnabled `xml:"urn:vim25 AreAlarmActionsEnabled,omitempty"` - Res *types.AreAlarmActionsEnabledResponse `xml:"AreAlarmActionsEnabledResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *AreAlarmActionsEnabledBody) Fault() *soap.Fault { return b.Fault_ } - -func AreAlarmActionsEnabled(ctx context.Context, r soap.RoundTripper, req *types.AreAlarmActionsEnabled) (*types.AreAlarmActionsEnabledResponse, error) { - var reqBody, resBody AreAlarmActionsEnabledBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type AssignUserToGroupBody struct { - Req *types.AssignUserToGroup `xml:"urn:vim25 AssignUserToGroup,omitempty"` - Res *types.AssignUserToGroupResponse `xml:"AssignUserToGroupResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *AssignUserToGroupBody) Fault() *soap.Fault { return b.Fault_ } - -func AssignUserToGroup(ctx context.Context, r soap.RoundTripper, req *types.AssignUserToGroup) (*types.AssignUserToGroupResponse, error) { - var reqBody, resBody AssignUserToGroupBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type AssociateProfileBody struct { - Req *types.AssociateProfile `xml:"urn:vim25 AssociateProfile,omitempty"` - Res *types.AssociateProfileResponse `xml:"AssociateProfileResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *AssociateProfileBody) Fault() *soap.Fault { return b.Fault_ } - -func AssociateProfile(ctx context.Context, r soap.RoundTripper, req *types.AssociateProfile) (*types.AssociateProfileResponse, error) { - var reqBody, resBody AssociateProfileBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type AttachDisk_TaskBody struct { - Req *types.AttachDisk_Task `xml:"urn:vim25 AttachDisk_Task,omitempty"` - Res *types.AttachDisk_TaskResponse `xml:"AttachDisk_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *AttachDisk_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func AttachDisk_Task(ctx context.Context, r soap.RoundTripper, req *types.AttachDisk_Task) (*types.AttachDisk_TaskResponse, error) { - var reqBody, resBody AttachDisk_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type AttachScsiLunBody struct { - Req *types.AttachScsiLun `xml:"urn:vim25 AttachScsiLun,omitempty"` - Res *types.AttachScsiLunResponse `xml:"AttachScsiLunResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *AttachScsiLunBody) Fault() *soap.Fault { return b.Fault_ } - -func AttachScsiLun(ctx context.Context, r soap.RoundTripper, req *types.AttachScsiLun) (*types.AttachScsiLunResponse, error) { - var reqBody, resBody AttachScsiLunBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type AttachScsiLunEx_TaskBody struct { - Req *types.AttachScsiLunEx_Task `xml:"urn:vim25 AttachScsiLunEx_Task,omitempty"` - Res *types.AttachScsiLunEx_TaskResponse `xml:"AttachScsiLunEx_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *AttachScsiLunEx_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func AttachScsiLunEx_Task(ctx context.Context, r soap.RoundTripper, req *types.AttachScsiLunEx_Task) (*types.AttachScsiLunEx_TaskResponse, error) { - var reqBody, resBody AttachScsiLunEx_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type AttachTagToVStorageObjectBody struct { - Req *types.AttachTagToVStorageObject `xml:"urn:vim25 AttachTagToVStorageObject,omitempty"` - Res *types.AttachTagToVStorageObjectResponse `xml:"AttachTagToVStorageObjectResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *AttachTagToVStorageObjectBody) Fault() *soap.Fault { return b.Fault_ } - -func AttachTagToVStorageObject(ctx context.Context, r soap.RoundTripper, req *types.AttachTagToVStorageObject) (*types.AttachTagToVStorageObjectResponse, error) { - var reqBody, resBody AttachTagToVStorageObjectBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type AttachVmfsExtentBody struct { - Req *types.AttachVmfsExtent `xml:"urn:vim25 AttachVmfsExtent,omitempty"` - Res *types.AttachVmfsExtentResponse `xml:"AttachVmfsExtentResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *AttachVmfsExtentBody) Fault() *soap.Fault { return b.Fault_ } - -func AttachVmfsExtent(ctx context.Context, r soap.RoundTripper, req *types.AttachVmfsExtent) (*types.AttachVmfsExtentResponse, error) { - var reqBody, resBody AttachVmfsExtentBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type AutoStartPowerOffBody struct { - Req *types.AutoStartPowerOff `xml:"urn:vim25 AutoStartPowerOff,omitempty"` - Res *types.AutoStartPowerOffResponse `xml:"AutoStartPowerOffResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *AutoStartPowerOffBody) Fault() *soap.Fault { return b.Fault_ } - -func AutoStartPowerOff(ctx context.Context, r soap.RoundTripper, req *types.AutoStartPowerOff) (*types.AutoStartPowerOffResponse, error) { - var reqBody, resBody AutoStartPowerOffBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type AutoStartPowerOnBody struct { - Req *types.AutoStartPowerOn `xml:"urn:vim25 AutoStartPowerOn,omitempty"` - Res *types.AutoStartPowerOnResponse `xml:"AutoStartPowerOnResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *AutoStartPowerOnBody) Fault() *soap.Fault { return b.Fault_ } - -func AutoStartPowerOn(ctx context.Context, r soap.RoundTripper, req *types.AutoStartPowerOn) (*types.AutoStartPowerOnResponse, error) { - var reqBody, resBody AutoStartPowerOnBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type BackupFirmwareConfigurationBody struct { - Req *types.BackupFirmwareConfiguration `xml:"urn:vim25 BackupFirmwareConfiguration,omitempty"` - Res *types.BackupFirmwareConfigurationResponse `xml:"BackupFirmwareConfigurationResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *BackupFirmwareConfigurationBody) Fault() *soap.Fault { return b.Fault_ } - -func BackupFirmwareConfiguration(ctx context.Context, r soap.RoundTripper, req *types.BackupFirmwareConfiguration) (*types.BackupFirmwareConfigurationResponse, error) { - var reqBody, resBody BackupFirmwareConfigurationBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type BatchAddHostsToCluster_TaskBody struct { - Req *types.BatchAddHostsToCluster_Task `xml:"urn:vim25 BatchAddHostsToCluster_Task,omitempty"` - Res *types.BatchAddHostsToCluster_TaskResponse `xml:"BatchAddHostsToCluster_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *BatchAddHostsToCluster_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func BatchAddHostsToCluster_Task(ctx context.Context, r soap.RoundTripper, req *types.BatchAddHostsToCluster_Task) (*types.BatchAddHostsToCluster_TaskResponse, error) { - var reqBody, resBody BatchAddHostsToCluster_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type BatchAddStandaloneHosts_TaskBody struct { - Req *types.BatchAddStandaloneHosts_Task `xml:"urn:vim25 BatchAddStandaloneHosts_Task,omitempty"` - Res *types.BatchAddStandaloneHosts_TaskResponse `xml:"BatchAddStandaloneHosts_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *BatchAddStandaloneHosts_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func BatchAddStandaloneHosts_Task(ctx context.Context, r soap.RoundTripper, req *types.BatchAddStandaloneHosts_Task) (*types.BatchAddStandaloneHosts_TaskResponse, error) { - var reqBody, resBody BatchAddStandaloneHosts_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type BatchQueryConnectInfoBody struct { - Req *types.BatchQueryConnectInfo `xml:"urn:vim25 BatchQueryConnectInfo,omitempty"` - Res *types.BatchQueryConnectInfoResponse `xml:"BatchQueryConnectInfoResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *BatchQueryConnectInfoBody) Fault() *soap.Fault { return b.Fault_ } - -func BatchQueryConnectInfo(ctx context.Context, r soap.RoundTripper, req *types.BatchQueryConnectInfo) (*types.BatchQueryConnectInfoResponse, error) { - var reqBody, resBody BatchQueryConnectInfoBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type BindVnicBody struct { - Req *types.BindVnic `xml:"urn:vim25 BindVnic,omitempty"` - Res *types.BindVnicResponse `xml:"BindVnicResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *BindVnicBody) Fault() *soap.Fault { return b.Fault_ } - -func BindVnic(ctx context.Context, r soap.RoundTripper, req *types.BindVnic) (*types.BindVnicResponse, error) { - var reqBody, resBody BindVnicBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type BrowseDiagnosticLogBody struct { - Req *types.BrowseDiagnosticLog `xml:"urn:vim25 BrowseDiagnosticLog,omitempty"` - Res *types.BrowseDiagnosticLogResponse `xml:"BrowseDiagnosticLogResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *BrowseDiagnosticLogBody) Fault() *soap.Fault { return b.Fault_ } - -func BrowseDiagnosticLog(ctx context.Context, r soap.RoundTripper, req *types.BrowseDiagnosticLog) (*types.BrowseDiagnosticLogResponse, error) { - var reqBody, resBody BrowseDiagnosticLogBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CanProvisionObjectsBody struct { - Req *types.CanProvisionObjects `xml:"urn:vim25 CanProvisionObjects,omitempty"` - Res *types.CanProvisionObjectsResponse `xml:"CanProvisionObjectsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CanProvisionObjectsBody) Fault() *soap.Fault { return b.Fault_ } - -func CanProvisionObjects(ctx context.Context, r soap.RoundTripper, req *types.CanProvisionObjects) (*types.CanProvisionObjectsResponse, error) { - var reqBody, resBody CanProvisionObjectsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CancelRecommendationBody struct { - Req *types.CancelRecommendation `xml:"urn:vim25 CancelRecommendation,omitempty"` - Res *types.CancelRecommendationResponse `xml:"CancelRecommendationResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CancelRecommendationBody) Fault() *soap.Fault { return b.Fault_ } - -func CancelRecommendation(ctx context.Context, r soap.RoundTripper, req *types.CancelRecommendation) (*types.CancelRecommendationResponse, error) { - var reqBody, resBody CancelRecommendationBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CancelRetrievePropertiesExBody struct { - Req *types.CancelRetrievePropertiesEx `xml:"urn:vim25 CancelRetrievePropertiesEx,omitempty"` - Res *types.CancelRetrievePropertiesExResponse `xml:"CancelRetrievePropertiesExResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CancelRetrievePropertiesExBody) Fault() *soap.Fault { return b.Fault_ } - -func CancelRetrievePropertiesEx(ctx context.Context, r soap.RoundTripper, req *types.CancelRetrievePropertiesEx) (*types.CancelRetrievePropertiesExResponse, error) { - var reqBody, resBody CancelRetrievePropertiesExBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CancelStorageDrsRecommendationBody struct { - Req *types.CancelStorageDrsRecommendation `xml:"urn:vim25 CancelStorageDrsRecommendation,omitempty"` - Res *types.CancelStorageDrsRecommendationResponse `xml:"CancelStorageDrsRecommendationResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CancelStorageDrsRecommendationBody) Fault() *soap.Fault { return b.Fault_ } - -func CancelStorageDrsRecommendation(ctx context.Context, r soap.RoundTripper, req *types.CancelStorageDrsRecommendation) (*types.CancelStorageDrsRecommendationResponse, error) { - var reqBody, resBody CancelStorageDrsRecommendationBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CancelTaskBody struct { - Req *types.CancelTask `xml:"urn:vim25 CancelTask,omitempty"` - Res *types.CancelTaskResponse `xml:"CancelTaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CancelTaskBody) Fault() *soap.Fault { return b.Fault_ } - -func CancelTask(ctx context.Context, r soap.RoundTripper, req *types.CancelTask) (*types.CancelTaskResponse, error) { - var reqBody, resBody CancelTaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CancelWaitForUpdatesBody struct { - Req *types.CancelWaitForUpdates `xml:"urn:vim25 CancelWaitForUpdates,omitempty"` - Res *types.CancelWaitForUpdatesResponse `xml:"CancelWaitForUpdatesResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CancelWaitForUpdatesBody) Fault() *soap.Fault { return b.Fault_ } - -func CancelWaitForUpdates(ctx context.Context, r soap.RoundTripper, req *types.CancelWaitForUpdates) (*types.CancelWaitForUpdatesResponse, error) { - var reqBody, resBody CancelWaitForUpdatesBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CertMgrRefreshCACertificatesAndCRLs_TaskBody struct { - Req *types.CertMgrRefreshCACertificatesAndCRLs_Task `xml:"urn:vim25 CertMgrRefreshCACertificatesAndCRLs_Task,omitempty"` - Res *types.CertMgrRefreshCACertificatesAndCRLs_TaskResponse `xml:"CertMgrRefreshCACertificatesAndCRLs_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CertMgrRefreshCACertificatesAndCRLs_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func CertMgrRefreshCACertificatesAndCRLs_Task(ctx context.Context, r soap.RoundTripper, req *types.CertMgrRefreshCACertificatesAndCRLs_Task) (*types.CertMgrRefreshCACertificatesAndCRLs_TaskResponse, error) { - var reqBody, resBody CertMgrRefreshCACertificatesAndCRLs_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CertMgrRefreshCertificates_TaskBody struct { - Req *types.CertMgrRefreshCertificates_Task `xml:"urn:vim25 CertMgrRefreshCertificates_Task,omitempty"` - Res *types.CertMgrRefreshCertificates_TaskResponse `xml:"CertMgrRefreshCertificates_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CertMgrRefreshCertificates_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func CertMgrRefreshCertificates_Task(ctx context.Context, r soap.RoundTripper, req *types.CertMgrRefreshCertificates_Task) (*types.CertMgrRefreshCertificates_TaskResponse, error) { - var reqBody, resBody CertMgrRefreshCertificates_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CertMgrRevokeCertificates_TaskBody struct { - Req *types.CertMgrRevokeCertificates_Task `xml:"urn:vim25 CertMgrRevokeCertificates_Task,omitempty"` - Res *types.CertMgrRevokeCertificates_TaskResponse `xml:"CertMgrRevokeCertificates_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CertMgrRevokeCertificates_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func CertMgrRevokeCertificates_Task(ctx context.Context, r soap.RoundTripper, req *types.CertMgrRevokeCertificates_Task) (*types.CertMgrRevokeCertificates_TaskResponse, error) { - var reqBody, resBody CertMgrRevokeCertificates_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ChangeAccessModeBody struct { - Req *types.ChangeAccessMode `xml:"urn:vim25 ChangeAccessMode,omitempty"` - Res *types.ChangeAccessModeResponse `xml:"ChangeAccessModeResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ChangeAccessModeBody) Fault() *soap.Fault { return b.Fault_ } - -func ChangeAccessMode(ctx context.Context, r soap.RoundTripper, req *types.ChangeAccessMode) (*types.ChangeAccessModeResponse, error) { - var reqBody, resBody ChangeAccessModeBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ChangeFileAttributesInGuestBody struct { - Req *types.ChangeFileAttributesInGuest `xml:"urn:vim25 ChangeFileAttributesInGuest,omitempty"` - Res *types.ChangeFileAttributesInGuestResponse `xml:"ChangeFileAttributesInGuestResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ChangeFileAttributesInGuestBody) Fault() *soap.Fault { return b.Fault_ } - -func ChangeFileAttributesInGuest(ctx context.Context, r soap.RoundTripper, req *types.ChangeFileAttributesInGuest) (*types.ChangeFileAttributesInGuestResponse, error) { - var reqBody, resBody ChangeFileAttributesInGuestBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ChangeKey_TaskBody struct { - Req *types.ChangeKey_Task `xml:"urn:vim25 ChangeKey_Task,omitempty"` - Res *types.ChangeKey_TaskResponse `xml:"ChangeKey_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ChangeKey_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func ChangeKey_Task(ctx context.Context, r soap.RoundTripper, req *types.ChangeKey_Task) (*types.ChangeKey_TaskResponse, error) { - var reqBody, resBody ChangeKey_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ChangeLockdownModeBody struct { - Req *types.ChangeLockdownMode `xml:"urn:vim25 ChangeLockdownMode,omitempty"` - Res *types.ChangeLockdownModeResponse `xml:"ChangeLockdownModeResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ChangeLockdownModeBody) Fault() *soap.Fault { return b.Fault_ } - -func ChangeLockdownMode(ctx context.Context, r soap.RoundTripper, req *types.ChangeLockdownMode) (*types.ChangeLockdownModeResponse, error) { - var reqBody, resBody ChangeLockdownModeBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ChangeNFSUserPasswordBody struct { - Req *types.ChangeNFSUserPassword `xml:"urn:vim25 ChangeNFSUserPassword,omitempty"` - Res *types.ChangeNFSUserPasswordResponse `xml:"ChangeNFSUserPasswordResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ChangeNFSUserPasswordBody) Fault() *soap.Fault { return b.Fault_ } - -func ChangeNFSUserPassword(ctx context.Context, r soap.RoundTripper, req *types.ChangeNFSUserPassword) (*types.ChangeNFSUserPasswordResponse, error) { - var reqBody, resBody ChangeNFSUserPasswordBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ChangeOwnerBody struct { - Req *types.ChangeOwner `xml:"urn:vim25 ChangeOwner,omitempty"` - Res *types.ChangeOwnerResponse `xml:"ChangeOwnerResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ChangeOwnerBody) Fault() *soap.Fault { return b.Fault_ } - -func ChangeOwner(ctx context.Context, r soap.RoundTripper, req *types.ChangeOwner) (*types.ChangeOwnerResponse, error) { - var reqBody, resBody ChangeOwnerBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ChangePasswordBody struct { - Req *types.ChangePassword `xml:"urn:vim25 ChangePassword,omitempty"` - Res *types.ChangePasswordResponse `xml:"ChangePasswordResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ChangePasswordBody) Fault() *soap.Fault { return b.Fault_ } - -func ChangePassword(ctx context.Context, r soap.RoundTripper, req *types.ChangePassword) (*types.ChangePasswordResponse, error) { - var reqBody, resBody ChangePasswordBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CheckAddHostEvc_TaskBody struct { - Req *types.CheckAddHostEvc_Task `xml:"urn:vim25 CheckAddHostEvc_Task,omitempty"` - Res *types.CheckAddHostEvc_TaskResponse `xml:"CheckAddHostEvc_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CheckAddHostEvc_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func CheckAddHostEvc_Task(ctx context.Context, r soap.RoundTripper, req *types.CheckAddHostEvc_Task) (*types.CheckAddHostEvc_TaskResponse, error) { - var reqBody, resBody CheckAddHostEvc_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CheckAnswerFileStatus_TaskBody struct { - Req *types.CheckAnswerFileStatus_Task `xml:"urn:vim25 CheckAnswerFileStatus_Task,omitempty"` - Res *types.CheckAnswerFileStatus_TaskResponse `xml:"CheckAnswerFileStatus_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CheckAnswerFileStatus_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func CheckAnswerFileStatus_Task(ctx context.Context, r soap.RoundTripper, req *types.CheckAnswerFileStatus_Task) (*types.CheckAnswerFileStatus_TaskResponse, error) { - var reqBody, resBody CheckAnswerFileStatus_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CheckClone_TaskBody struct { - Req *types.CheckClone_Task `xml:"urn:vim25 CheckClone_Task,omitempty"` - Res *types.CheckClone_TaskResponse `xml:"CheckClone_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CheckClone_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func CheckClone_Task(ctx context.Context, r soap.RoundTripper, req *types.CheckClone_Task) (*types.CheckClone_TaskResponse, error) { - var reqBody, resBody CheckClone_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CheckCompatibility_TaskBody struct { - Req *types.CheckCompatibility_Task `xml:"urn:vim25 CheckCompatibility_Task,omitempty"` - Res *types.CheckCompatibility_TaskResponse `xml:"CheckCompatibility_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CheckCompatibility_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func CheckCompatibility_Task(ctx context.Context, r soap.RoundTripper, req *types.CheckCompatibility_Task) (*types.CheckCompatibility_TaskResponse, error) { - var reqBody, resBody CheckCompatibility_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CheckCompliance_TaskBody struct { - Req *types.CheckCompliance_Task `xml:"urn:vim25 CheckCompliance_Task,omitempty"` - Res *types.CheckCompliance_TaskResponse `xml:"CheckCompliance_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CheckCompliance_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func CheckCompliance_Task(ctx context.Context, r soap.RoundTripper, req *types.CheckCompliance_Task) (*types.CheckCompliance_TaskResponse, error) { - var reqBody, resBody CheckCompliance_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CheckConfigureEvcMode_TaskBody struct { - Req *types.CheckConfigureEvcMode_Task `xml:"urn:vim25 CheckConfigureEvcMode_Task,omitempty"` - Res *types.CheckConfigureEvcMode_TaskResponse `xml:"CheckConfigureEvcMode_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CheckConfigureEvcMode_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func CheckConfigureEvcMode_Task(ctx context.Context, r soap.RoundTripper, req *types.CheckConfigureEvcMode_Task) (*types.CheckConfigureEvcMode_TaskResponse, error) { - var reqBody, resBody CheckConfigureEvcMode_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CheckCustomizationResourcesBody struct { - Req *types.CheckCustomizationResources `xml:"urn:vim25 CheckCustomizationResources,omitempty"` - Res *types.CheckCustomizationResourcesResponse `xml:"CheckCustomizationResourcesResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CheckCustomizationResourcesBody) Fault() *soap.Fault { return b.Fault_ } - -func CheckCustomizationResources(ctx context.Context, r soap.RoundTripper, req *types.CheckCustomizationResources) (*types.CheckCustomizationResourcesResponse, error) { - var reqBody, resBody CheckCustomizationResourcesBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CheckCustomizationSpecBody struct { - Req *types.CheckCustomizationSpec `xml:"urn:vim25 CheckCustomizationSpec,omitempty"` - Res *types.CheckCustomizationSpecResponse `xml:"CheckCustomizationSpecResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CheckCustomizationSpecBody) Fault() *soap.Fault { return b.Fault_ } - -func CheckCustomizationSpec(ctx context.Context, r soap.RoundTripper, req *types.CheckCustomizationSpec) (*types.CheckCustomizationSpecResponse, error) { - var reqBody, resBody CheckCustomizationSpecBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CheckForUpdatesBody struct { - Req *types.CheckForUpdates `xml:"urn:vim25 CheckForUpdates,omitempty"` - Res *types.CheckForUpdatesResponse `xml:"CheckForUpdatesResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CheckForUpdatesBody) Fault() *soap.Fault { return b.Fault_ } - -func CheckForUpdates(ctx context.Context, r soap.RoundTripper, req *types.CheckForUpdates) (*types.CheckForUpdatesResponse, error) { - var reqBody, resBody CheckForUpdatesBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CheckHostPatch_TaskBody struct { - Req *types.CheckHostPatch_Task `xml:"urn:vim25 CheckHostPatch_Task,omitempty"` - Res *types.CheckHostPatch_TaskResponse `xml:"CheckHostPatch_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CheckHostPatch_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func CheckHostPatch_Task(ctx context.Context, r soap.RoundTripper, req *types.CheckHostPatch_Task) (*types.CheckHostPatch_TaskResponse, error) { - var reqBody, resBody CheckHostPatch_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CheckInstantClone_TaskBody struct { - Req *types.CheckInstantClone_Task `xml:"urn:vim25 CheckInstantClone_Task,omitempty"` - Res *types.CheckInstantClone_TaskResponse `xml:"CheckInstantClone_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CheckInstantClone_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func CheckInstantClone_Task(ctx context.Context, r soap.RoundTripper, req *types.CheckInstantClone_Task) (*types.CheckInstantClone_TaskResponse, error) { - var reqBody, resBody CheckInstantClone_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CheckLicenseFeatureBody struct { - Req *types.CheckLicenseFeature `xml:"urn:vim25 CheckLicenseFeature,omitempty"` - Res *types.CheckLicenseFeatureResponse `xml:"CheckLicenseFeatureResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CheckLicenseFeatureBody) Fault() *soap.Fault { return b.Fault_ } - -func CheckLicenseFeature(ctx context.Context, r soap.RoundTripper, req *types.CheckLicenseFeature) (*types.CheckLicenseFeatureResponse, error) { - var reqBody, resBody CheckLicenseFeatureBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CheckMigrate_TaskBody struct { - Req *types.CheckMigrate_Task `xml:"urn:vim25 CheckMigrate_Task,omitempty"` - Res *types.CheckMigrate_TaskResponse `xml:"CheckMigrate_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CheckMigrate_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func CheckMigrate_Task(ctx context.Context, r soap.RoundTripper, req *types.CheckMigrate_Task) (*types.CheckMigrate_TaskResponse, error) { - var reqBody, resBody CheckMigrate_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CheckPowerOn_TaskBody struct { - Req *types.CheckPowerOn_Task `xml:"urn:vim25 CheckPowerOn_Task,omitempty"` - Res *types.CheckPowerOn_TaskResponse `xml:"CheckPowerOn_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CheckPowerOn_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func CheckPowerOn_Task(ctx context.Context, r soap.RoundTripper, req *types.CheckPowerOn_Task) (*types.CheckPowerOn_TaskResponse, error) { - var reqBody, resBody CheckPowerOn_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CheckProfileCompliance_TaskBody struct { - Req *types.CheckProfileCompliance_Task `xml:"urn:vim25 CheckProfileCompliance_Task,omitempty"` - Res *types.CheckProfileCompliance_TaskResponse `xml:"CheckProfileCompliance_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CheckProfileCompliance_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func CheckProfileCompliance_Task(ctx context.Context, r soap.RoundTripper, req *types.CheckProfileCompliance_Task) (*types.CheckProfileCompliance_TaskResponse, error) { - var reqBody, resBody CheckProfileCompliance_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CheckRelocate_TaskBody struct { - Req *types.CheckRelocate_Task `xml:"urn:vim25 CheckRelocate_Task,omitempty"` - Res *types.CheckRelocate_TaskResponse `xml:"CheckRelocate_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CheckRelocate_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func CheckRelocate_Task(ctx context.Context, r soap.RoundTripper, req *types.CheckRelocate_Task) (*types.CheckRelocate_TaskResponse, error) { - var reqBody, resBody CheckRelocate_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CheckVmConfig_TaskBody struct { - Req *types.CheckVmConfig_Task `xml:"urn:vim25 CheckVmConfig_Task,omitempty"` - Res *types.CheckVmConfig_TaskResponse `xml:"CheckVmConfig_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CheckVmConfig_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func CheckVmConfig_Task(ctx context.Context, r soap.RoundTripper, req *types.CheckVmConfig_Task) (*types.CheckVmConfig_TaskResponse, error) { - var reqBody, resBody CheckVmConfig_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ClearComplianceStatusBody struct { - Req *types.ClearComplianceStatus `xml:"urn:vim25 ClearComplianceStatus,omitempty"` - Res *types.ClearComplianceStatusResponse `xml:"ClearComplianceStatusResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ClearComplianceStatusBody) Fault() *soap.Fault { return b.Fault_ } - -func ClearComplianceStatus(ctx context.Context, r soap.RoundTripper, req *types.ClearComplianceStatus) (*types.ClearComplianceStatusResponse, error) { - var reqBody, resBody ClearComplianceStatusBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ClearNFSUserBody struct { - Req *types.ClearNFSUser `xml:"urn:vim25 ClearNFSUser,omitempty"` - Res *types.ClearNFSUserResponse `xml:"ClearNFSUserResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ClearNFSUserBody) Fault() *soap.Fault { return b.Fault_ } - -func ClearNFSUser(ctx context.Context, r soap.RoundTripper, req *types.ClearNFSUser) (*types.ClearNFSUserResponse, error) { - var reqBody, resBody ClearNFSUserBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ClearSystemEventLogBody struct { - Req *types.ClearSystemEventLog `xml:"urn:vim25 ClearSystemEventLog,omitempty"` - Res *types.ClearSystemEventLogResponse `xml:"ClearSystemEventLogResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ClearSystemEventLogBody) Fault() *soap.Fault { return b.Fault_ } - -func ClearSystemEventLog(ctx context.Context, r soap.RoundTripper, req *types.ClearSystemEventLog) (*types.ClearSystemEventLogResponse, error) { - var reqBody, resBody ClearSystemEventLogBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ClearTriggeredAlarmsBody struct { - Req *types.ClearTriggeredAlarms `xml:"urn:vim25 ClearTriggeredAlarms,omitempty"` - Res *types.ClearTriggeredAlarmsResponse `xml:"ClearTriggeredAlarmsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ClearTriggeredAlarmsBody) Fault() *soap.Fault { return b.Fault_ } - -func ClearTriggeredAlarms(ctx context.Context, r soap.RoundTripper, req *types.ClearTriggeredAlarms) (*types.ClearTriggeredAlarmsResponse, error) { - var reqBody, resBody ClearTriggeredAlarmsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ClearVStorageObjectControlFlagsBody struct { - Req *types.ClearVStorageObjectControlFlags `xml:"urn:vim25 ClearVStorageObjectControlFlags,omitempty"` - Res *types.ClearVStorageObjectControlFlagsResponse `xml:"ClearVStorageObjectControlFlagsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ClearVStorageObjectControlFlagsBody) Fault() *soap.Fault { return b.Fault_ } - -func ClearVStorageObjectControlFlags(ctx context.Context, r soap.RoundTripper, req *types.ClearVStorageObjectControlFlags) (*types.ClearVStorageObjectControlFlagsResponse, error) { - var reqBody, resBody ClearVStorageObjectControlFlagsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CloneSessionBody struct { - Req *types.CloneSession `xml:"urn:vim25 CloneSession,omitempty"` - Res *types.CloneSessionResponse `xml:"CloneSessionResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CloneSessionBody) Fault() *soap.Fault { return b.Fault_ } - -func CloneSession(ctx context.Context, r soap.RoundTripper, req *types.CloneSession) (*types.CloneSessionResponse, error) { - var reqBody, resBody CloneSessionBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CloneVApp_TaskBody struct { - Req *types.CloneVApp_Task `xml:"urn:vim25 CloneVApp_Task,omitempty"` - Res *types.CloneVApp_TaskResponse `xml:"CloneVApp_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CloneVApp_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func CloneVApp_Task(ctx context.Context, r soap.RoundTripper, req *types.CloneVApp_Task) (*types.CloneVApp_TaskResponse, error) { - var reqBody, resBody CloneVApp_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CloneVM_TaskBody struct { - Req *types.CloneVM_Task `xml:"urn:vim25 CloneVM_Task,omitempty"` - Res *types.CloneVM_TaskResponse `xml:"CloneVM_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CloneVM_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func CloneVM_Task(ctx context.Context, r soap.RoundTripper, req *types.CloneVM_Task) (*types.CloneVM_TaskResponse, error) { - var reqBody, resBody CloneVM_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CloneVStorageObject_TaskBody struct { - Req *types.CloneVStorageObject_Task `xml:"urn:vim25 CloneVStorageObject_Task,omitempty"` - Res *types.CloneVStorageObject_TaskResponse `xml:"CloneVStorageObject_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CloneVStorageObject_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func CloneVStorageObject_Task(ctx context.Context, r soap.RoundTripper, req *types.CloneVStorageObject_Task) (*types.CloneVStorageObject_TaskResponse, error) { - var reqBody, resBody CloneVStorageObject_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CloseInventoryViewFolderBody struct { - Req *types.CloseInventoryViewFolder `xml:"urn:vim25 CloseInventoryViewFolder,omitempty"` - Res *types.CloseInventoryViewFolderResponse `xml:"CloseInventoryViewFolderResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CloseInventoryViewFolderBody) Fault() *soap.Fault { return b.Fault_ } - -func CloseInventoryViewFolder(ctx context.Context, r soap.RoundTripper, req *types.CloseInventoryViewFolder) (*types.CloseInventoryViewFolderResponse, error) { - var reqBody, resBody CloseInventoryViewFolderBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ClusterEnterMaintenanceModeBody struct { - Req *types.ClusterEnterMaintenanceMode `xml:"urn:vim25 ClusterEnterMaintenanceMode,omitempty"` - Res *types.ClusterEnterMaintenanceModeResponse `xml:"ClusterEnterMaintenanceModeResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ClusterEnterMaintenanceModeBody) Fault() *soap.Fault { return b.Fault_ } - -func ClusterEnterMaintenanceMode(ctx context.Context, r soap.RoundTripper, req *types.ClusterEnterMaintenanceMode) (*types.ClusterEnterMaintenanceModeResponse, error) { - var reqBody, resBody ClusterEnterMaintenanceModeBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CompositeHostProfile_TaskBody struct { - Req *types.CompositeHostProfile_Task `xml:"urn:vim25 CompositeHostProfile_Task,omitempty"` - Res *types.CompositeHostProfile_TaskResponse `xml:"CompositeHostProfile_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CompositeHostProfile_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func CompositeHostProfile_Task(ctx context.Context, r soap.RoundTripper, req *types.CompositeHostProfile_Task) (*types.CompositeHostProfile_TaskResponse, error) { - var reqBody, resBody CompositeHostProfile_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ComputeDiskPartitionInfoBody struct { - Req *types.ComputeDiskPartitionInfo `xml:"urn:vim25 ComputeDiskPartitionInfo,omitempty"` - Res *types.ComputeDiskPartitionInfoResponse `xml:"ComputeDiskPartitionInfoResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ComputeDiskPartitionInfoBody) Fault() *soap.Fault { return b.Fault_ } - -func ComputeDiskPartitionInfo(ctx context.Context, r soap.RoundTripper, req *types.ComputeDiskPartitionInfo) (*types.ComputeDiskPartitionInfoResponse, error) { - var reqBody, resBody ComputeDiskPartitionInfoBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ComputeDiskPartitionInfoForResizeBody struct { - Req *types.ComputeDiskPartitionInfoForResize `xml:"urn:vim25 ComputeDiskPartitionInfoForResize,omitempty"` - Res *types.ComputeDiskPartitionInfoForResizeResponse `xml:"ComputeDiskPartitionInfoForResizeResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ComputeDiskPartitionInfoForResizeBody) Fault() *soap.Fault { return b.Fault_ } - -func ComputeDiskPartitionInfoForResize(ctx context.Context, r soap.RoundTripper, req *types.ComputeDiskPartitionInfoForResize) (*types.ComputeDiskPartitionInfoForResizeResponse, error) { - var reqBody, resBody ComputeDiskPartitionInfoForResizeBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ConfigureCryptoKeyBody struct { - Req *types.ConfigureCryptoKey `xml:"urn:vim25 ConfigureCryptoKey,omitempty"` - Res *types.ConfigureCryptoKeyResponse `xml:"ConfigureCryptoKeyResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ConfigureCryptoKeyBody) Fault() *soap.Fault { return b.Fault_ } - -func ConfigureCryptoKey(ctx context.Context, r soap.RoundTripper, req *types.ConfigureCryptoKey) (*types.ConfigureCryptoKeyResponse, error) { - var reqBody, resBody ConfigureCryptoKeyBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ConfigureDatastoreIORM_TaskBody struct { - Req *types.ConfigureDatastoreIORM_Task `xml:"urn:vim25 ConfigureDatastoreIORM_Task,omitempty"` - Res *types.ConfigureDatastoreIORM_TaskResponse `xml:"ConfigureDatastoreIORM_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ConfigureDatastoreIORM_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func ConfigureDatastoreIORM_Task(ctx context.Context, r soap.RoundTripper, req *types.ConfigureDatastoreIORM_Task) (*types.ConfigureDatastoreIORM_TaskResponse, error) { - var reqBody, resBody ConfigureDatastoreIORM_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ConfigureDatastorePrincipalBody struct { - Req *types.ConfigureDatastorePrincipal `xml:"urn:vim25 ConfigureDatastorePrincipal,omitempty"` - Res *types.ConfigureDatastorePrincipalResponse `xml:"ConfigureDatastorePrincipalResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ConfigureDatastorePrincipalBody) Fault() *soap.Fault { return b.Fault_ } - -func ConfigureDatastorePrincipal(ctx context.Context, r soap.RoundTripper, req *types.ConfigureDatastorePrincipal) (*types.ConfigureDatastorePrincipalResponse, error) { - var reqBody, resBody ConfigureDatastorePrincipalBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ConfigureEvcMode_TaskBody struct { - Req *types.ConfigureEvcMode_Task `xml:"urn:vim25 ConfigureEvcMode_Task,omitempty"` - Res *types.ConfigureEvcMode_TaskResponse `xml:"ConfigureEvcMode_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ConfigureEvcMode_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func ConfigureEvcMode_Task(ctx context.Context, r soap.RoundTripper, req *types.ConfigureEvcMode_Task) (*types.ConfigureEvcMode_TaskResponse, error) { - var reqBody, resBody ConfigureEvcMode_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ConfigureHCI_TaskBody struct { - Req *types.ConfigureHCI_Task `xml:"urn:vim25 ConfigureHCI_Task,omitempty"` - Res *types.ConfigureHCI_TaskResponse `xml:"ConfigureHCI_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ConfigureHCI_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func ConfigureHCI_Task(ctx context.Context, r soap.RoundTripper, req *types.ConfigureHCI_Task) (*types.ConfigureHCI_TaskResponse, error) { - var reqBody, resBody ConfigureHCI_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ConfigureHostCache_TaskBody struct { - Req *types.ConfigureHostCache_Task `xml:"urn:vim25 ConfigureHostCache_Task,omitempty"` - Res *types.ConfigureHostCache_TaskResponse `xml:"ConfigureHostCache_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ConfigureHostCache_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func ConfigureHostCache_Task(ctx context.Context, r soap.RoundTripper, req *types.ConfigureHostCache_Task) (*types.ConfigureHostCache_TaskResponse, error) { - var reqBody, resBody ConfigureHostCache_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ConfigureLicenseSourceBody struct { - Req *types.ConfigureLicenseSource `xml:"urn:vim25 ConfigureLicenseSource,omitempty"` - Res *types.ConfigureLicenseSourceResponse `xml:"ConfigureLicenseSourceResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ConfigureLicenseSourceBody) Fault() *soap.Fault { return b.Fault_ } - -func ConfigureLicenseSource(ctx context.Context, r soap.RoundTripper, req *types.ConfigureLicenseSource) (*types.ConfigureLicenseSourceResponse, error) { - var reqBody, resBody ConfigureLicenseSourceBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ConfigurePowerPolicyBody struct { - Req *types.ConfigurePowerPolicy `xml:"urn:vim25 ConfigurePowerPolicy,omitempty"` - Res *types.ConfigurePowerPolicyResponse `xml:"ConfigurePowerPolicyResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ConfigurePowerPolicyBody) Fault() *soap.Fault { return b.Fault_ } - -func ConfigurePowerPolicy(ctx context.Context, r soap.RoundTripper, req *types.ConfigurePowerPolicy) (*types.ConfigurePowerPolicyResponse, error) { - var reqBody, resBody ConfigurePowerPolicyBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ConfigureStorageDrsForPod_TaskBody struct { - Req *types.ConfigureStorageDrsForPod_Task `xml:"urn:vim25 ConfigureStorageDrsForPod_Task,omitempty"` - Res *types.ConfigureStorageDrsForPod_TaskResponse `xml:"ConfigureStorageDrsForPod_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ConfigureStorageDrsForPod_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func ConfigureStorageDrsForPod_Task(ctx context.Context, r soap.RoundTripper, req *types.ConfigureStorageDrsForPod_Task) (*types.ConfigureStorageDrsForPod_TaskResponse, error) { - var reqBody, resBody ConfigureStorageDrsForPod_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ConfigureVFlashResourceEx_TaskBody struct { - Req *types.ConfigureVFlashResourceEx_Task `xml:"urn:vim25 ConfigureVFlashResourceEx_Task,omitempty"` - Res *types.ConfigureVFlashResourceEx_TaskResponse `xml:"ConfigureVFlashResourceEx_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ConfigureVFlashResourceEx_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func ConfigureVFlashResourceEx_Task(ctx context.Context, r soap.RoundTripper, req *types.ConfigureVFlashResourceEx_Task) (*types.ConfigureVFlashResourceEx_TaskResponse, error) { - var reqBody, resBody ConfigureVFlashResourceEx_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ConnectNvmeControllerBody struct { - Req *types.ConnectNvmeController `xml:"urn:vim25 ConnectNvmeController,omitempty"` - Res *types.ConnectNvmeControllerResponse `xml:"ConnectNvmeControllerResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ConnectNvmeControllerBody) Fault() *soap.Fault { return b.Fault_ } - -func ConnectNvmeController(ctx context.Context, r soap.RoundTripper, req *types.ConnectNvmeController) (*types.ConnectNvmeControllerResponse, error) { - var reqBody, resBody ConnectNvmeControllerBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ConnectNvmeControllerEx_TaskBody struct { - Req *types.ConnectNvmeControllerEx_Task `xml:"urn:vim25 ConnectNvmeControllerEx_Task,omitempty"` - Res *types.ConnectNvmeControllerEx_TaskResponse `xml:"ConnectNvmeControllerEx_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ConnectNvmeControllerEx_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func ConnectNvmeControllerEx_Task(ctx context.Context, r soap.RoundTripper, req *types.ConnectNvmeControllerEx_Task) (*types.ConnectNvmeControllerEx_TaskResponse, error) { - var reqBody, resBody ConnectNvmeControllerEx_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ConsolidateVMDisks_TaskBody struct { - Req *types.ConsolidateVMDisks_Task `xml:"urn:vim25 ConsolidateVMDisks_Task,omitempty"` - Res *types.ConsolidateVMDisks_TaskResponse `xml:"ConsolidateVMDisks_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ConsolidateVMDisks_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func ConsolidateVMDisks_Task(ctx context.Context, r soap.RoundTripper, req *types.ConsolidateVMDisks_Task) (*types.ConsolidateVMDisks_TaskResponse, error) { - var reqBody, resBody ConsolidateVMDisks_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ContinueRetrievePropertiesExBody struct { - Req *types.ContinueRetrievePropertiesEx `xml:"urn:vim25 ContinueRetrievePropertiesEx,omitempty"` - Res *types.ContinueRetrievePropertiesExResponse `xml:"ContinueRetrievePropertiesExResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ContinueRetrievePropertiesExBody) Fault() *soap.Fault { return b.Fault_ } - -func ContinueRetrievePropertiesEx(ctx context.Context, r soap.RoundTripper, req *types.ContinueRetrievePropertiesEx) (*types.ContinueRetrievePropertiesExResponse, error) { - var reqBody, resBody ContinueRetrievePropertiesExBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ConvertNamespacePathToUuidPathBody struct { - Req *types.ConvertNamespacePathToUuidPath `xml:"urn:vim25 ConvertNamespacePathToUuidPath,omitempty"` - Res *types.ConvertNamespacePathToUuidPathResponse `xml:"ConvertNamespacePathToUuidPathResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ConvertNamespacePathToUuidPathBody) Fault() *soap.Fault { return b.Fault_ } - -func ConvertNamespacePathToUuidPath(ctx context.Context, r soap.RoundTripper, req *types.ConvertNamespacePathToUuidPath) (*types.ConvertNamespacePathToUuidPathResponse, error) { - var reqBody, resBody ConvertNamespacePathToUuidPathBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CopyDatastoreFile_TaskBody struct { - Req *types.CopyDatastoreFile_Task `xml:"urn:vim25 CopyDatastoreFile_Task,omitempty"` - Res *types.CopyDatastoreFile_TaskResponse `xml:"CopyDatastoreFile_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CopyDatastoreFile_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func CopyDatastoreFile_Task(ctx context.Context, r soap.RoundTripper, req *types.CopyDatastoreFile_Task) (*types.CopyDatastoreFile_TaskResponse, error) { - var reqBody, resBody CopyDatastoreFile_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CopyVirtualDisk_TaskBody struct { - Req *types.CopyVirtualDisk_Task `xml:"urn:vim25 CopyVirtualDisk_Task,omitempty"` - Res *types.CopyVirtualDisk_TaskResponse `xml:"CopyVirtualDisk_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CopyVirtualDisk_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func CopyVirtualDisk_Task(ctx context.Context, r soap.RoundTripper, req *types.CopyVirtualDisk_Task) (*types.CopyVirtualDisk_TaskResponse, error) { - var reqBody, resBody CopyVirtualDisk_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateAlarmBody struct { - Req *types.CreateAlarm `xml:"urn:vim25 CreateAlarm,omitempty"` - Res *types.CreateAlarmResponse `xml:"CreateAlarmResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateAlarmBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateAlarm(ctx context.Context, r soap.RoundTripper, req *types.CreateAlarm) (*types.CreateAlarmResponse, error) { - var reqBody, resBody CreateAlarmBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateChildVM_TaskBody struct { - Req *types.CreateChildVM_Task `xml:"urn:vim25 CreateChildVM_Task,omitempty"` - Res *types.CreateChildVM_TaskResponse `xml:"CreateChildVM_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateChildVM_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateChildVM_Task(ctx context.Context, r soap.RoundTripper, req *types.CreateChildVM_Task) (*types.CreateChildVM_TaskResponse, error) { - var reqBody, resBody CreateChildVM_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateClusterBody struct { - Req *types.CreateCluster `xml:"urn:vim25 CreateCluster,omitempty"` - Res *types.CreateClusterResponse `xml:"CreateClusterResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateClusterBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateCluster(ctx context.Context, r soap.RoundTripper, req *types.CreateCluster) (*types.CreateClusterResponse, error) { - var reqBody, resBody CreateClusterBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateClusterExBody struct { - Req *types.CreateClusterEx `xml:"urn:vim25 CreateClusterEx,omitempty"` - Res *types.CreateClusterExResponse `xml:"CreateClusterExResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateClusterExBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateClusterEx(ctx context.Context, r soap.RoundTripper, req *types.CreateClusterEx) (*types.CreateClusterExResponse, error) { - var reqBody, resBody CreateClusterExBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateCollectorForEventsBody struct { - Req *types.CreateCollectorForEvents `xml:"urn:vim25 CreateCollectorForEvents,omitempty"` - Res *types.CreateCollectorForEventsResponse `xml:"CreateCollectorForEventsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateCollectorForEventsBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateCollectorForEvents(ctx context.Context, r soap.RoundTripper, req *types.CreateCollectorForEvents) (*types.CreateCollectorForEventsResponse, error) { - var reqBody, resBody CreateCollectorForEventsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateCollectorForTasksBody struct { - Req *types.CreateCollectorForTasks `xml:"urn:vim25 CreateCollectorForTasks,omitempty"` - Res *types.CreateCollectorForTasksResponse `xml:"CreateCollectorForTasksResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateCollectorForTasksBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateCollectorForTasks(ctx context.Context, r soap.RoundTripper, req *types.CreateCollectorForTasks) (*types.CreateCollectorForTasksResponse, error) { - var reqBody, resBody CreateCollectorForTasksBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateContainerViewBody struct { - Req *types.CreateContainerView `xml:"urn:vim25 CreateContainerView,omitempty"` - Res *types.CreateContainerViewResponse `xml:"CreateContainerViewResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateContainerViewBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateContainerView(ctx context.Context, r soap.RoundTripper, req *types.CreateContainerView) (*types.CreateContainerViewResponse, error) { - var reqBody, resBody CreateContainerViewBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateCustomizationSpecBody struct { - Req *types.CreateCustomizationSpec `xml:"urn:vim25 CreateCustomizationSpec,omitempty"` - Res *types.CreateCustomizationSpecResponse `xml:"CreateCustomizationSpecResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateCustomizationSpecBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateCustomizationSpec(ctx context.Context, r soap.RoundTripper, req *types.CreateCustomizationSpec) (*types.CreateCustomizationSpecResponse, error) { - var reqBody, resBody CreateCustomizationSpecBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateDVPortgroup_TaskBody struct { - Req *types.CreateDVPortgroup_Task `xml:"urn:vim25 CreateDVPortgroup_Task,omitempty"` - Res *types.CreateDVPortgroup_TaskResponse `xml:"CreateDVPortgroup_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateDVPortgroup_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateDVPortgroup_Task(ctx context.Context, r soap.RoundTripper, req *types.CreateDVPortgroup_Task) (*types.CreateDVPortgroup_TaskResponse, error) { - var reqBody, resBody CreateDVPortgroup_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateDVS_TaskBody struct { - Req *types.CreateDVS_Task `xml:"urn:vim25 CreateDVS_Task,omitempty"` - Res *types.CreateDVS_TaskResponse `xml:"CreateDVS_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateDVS_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateDVS_Task(ctx context.Context, r soap.RoundTripper, req *types.CreateDVS_Task) (*types.CreateDVS_TaskResponse, error) { - var reqBody, resBody CreateDVS_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateDatacenterBody struct { - Req *types.CreateDatacenter `xml:"urn:vim25 CreateDatacenter,omitempty"` - Res *types.CreateDatacenterResponse `xml:"CreateDatacenterResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateDatacenterBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateDatacenter(ctx context.Context, r soap.RoundTripper, req *types.CreateDatacenter) (*types.CreateDatacenterResponse, error) { - var reqBody, resBody CreateDatacenterBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateDefaultProfileBody struct { - Req *types.CreateDefaultProfile `xml:"urn:vim25 CreateDefaultProfile,omitempty"` - Res *types.CreateDefaultProfileResponse `xml:"CreateDefaultProfileResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateDefaultProfileBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateDefaultProfile(ctx context.Context, r soap.RoundTripper, req *types.CreateDefaultProfile) (*types.CreateDefaultProfileResponse, error) { - var reqBody, resBody CreateDefaultProfileBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateDescriptorBody struct { - Req *types.CreateDescriptor `xml:"urn:vim25 CreateDescriptor,omitempty"` - Res *types.CreateDescriptorResponse `xml:"CreateDescriptorResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateDescriptorBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateDescriptor(ctx context.Context, r soap.RoundTripper, req *types.CreateDescriptor) (*types.CreateDescriptorResponse, error) { - var reqBody, resBody CreateDescriptorBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateDiagnosticPartitionBody struct { - Req *types.CreateDiagnosticPartition `xml:"urn:vim25 CreateDiagnosticPartition,omitempty"` - Res *types.CreateDiagnosticPartitionResponse `xml:"CreateDiagnosticPartitionResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateDiagnosticPartitionBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateDiagnosticPartition(ctx context.Context, r soap.RoundTripper, req *types.CreateDiagnosticPartition) (*types.CreateDiagnosticPartitionResponse, error) { - var reqBody, resBody CreateDiagnosticPartitionBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateDirectoryBody struct { - Req *types.CreateDirectory `xml:"urn:vim25 CreateDirectory,omitempty"` - Res *types.CreateDirectoryResponse `xml:"CreateDirectoryResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateDirectoryBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateDirectory(ctx context.Context, r soap.RoundTripper, req *types.CreateDirectory) (*types.CreateDirectoryResponse, error) { - var reqBody, resBody CreateDirectoryBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateDiskFromSnapshot_TaskBody struct { - Req *types.CreateDiskFromSnapshot_Task `xml:"urn:vim25 CreateDiskFromSnapshot_Task,omitempty"` - Res *types.CreateDiskFromSnapshot_TaskResponse `xml:"CreateDiskFromSnapshot_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateDiskFromSnapshot_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateDiskFromSnapshot_Task(ctx context.Context, r soap.RoundTripper, req *types.CreateDiskFromSnapshot_Task) (*types.CreateDiskFromSnapshot_TaskResponse, error) { - var reqBody, resBody CreateDiskFromSnapshot_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateDisk_TaskBody struct { - Req *types.CreateDisk_Task `xml:"urn:vim25 CreateDisk_Task,omitempty"` - Res *types.CreateDisk_TaskResponse `xml:"CreateDisk_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateDisk_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateDisk_Task(ctx context.Context, r soap.RoundTripper, req *types.CreateDisk_Task) (*types.CreateDisk_TaskResponse, error) { - var reqBody, resBody CreateDisk_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateFilterBody struct { - Req *types.CreateFilter `xml:"urn:vim25 CreateFilter,omitempty"` - Res *types.CreateFilterResponse `xml:"CreateFilterResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateFilterBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateFilter(ctx context.Context, r soap.RoundTripper, req *types.CreateFilter) (*types.CreateFilterResponse, error) { - var reqBody, resBody CreateFilterBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateFolderBody struct { - Req *types.CreateFolder `xml:"urn:vim25 CreateFolder,omitempty"` - Res *types.CreateFolderResponse `xml:"CreateFolderResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateFolderBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateFolder(ctx context.Context, r soap.RoundTripper, req *types.CreateFolder) (*types.CreateFolderResponse, error) { - var reqBody, resBody CreateFolderBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateGroupBody struct { - Req *types.CreateGroup `xml:"urn:vim25 CreateGroup,omitempty"` - Res *types.CreateGroupResponse `xml:"CreateGroupResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateGroupBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateGroup(ctx context.Context, r soap.RoundTripper, req *types.CreateGroup) (*types.CreateGroupResponse, error) { - var reqBody, resBody CreateGroupBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateImportSpecBody struct { - Req *types.CreateImportSpec `xml:"urn:vim25 CreateImportSpec,omitempty"` - Res *types.CreateImportSpecResponse `xml:"CreateImportSpecResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateImportSpecBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateImportSpec(ctx context.Context, r soap.RoundTripper, req *types.CreateImportSpec) (*types.CreateImportSpecResponse, error) { - var reqBody, resBody CreateImportSpecBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateInventoryViewBody struct { - Req *types.CreateInventoryView `xml:"urn:vim25 CreateInventoryView,omitempty"` - Res *types.CreateInventoryViewResponse `xml:"CreateInventoryViewResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateInventoryViewBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateInventoryView(ctx context.Context, r soap.RoundTripper, req *types.CreateInventoryView) (*types.CreateInventoryViewResponse, error) { - var reqBody, resBody CreateInventoryViewBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateIpPoolBody struct { - Req *types.CreateIpPool `xml:"urn:vim25 CreateIpPool,omitempty"` - Res *types.CreateIpPoolResponse `xml:"CreateIpPoolResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateIpPoolBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateIpPool(ctx context.Context, r soap.RoundTripper, req *types.CreateIpPool) (*types.CreateIpPoolResponse, error) { - var reqBody, resBody CreateIpPoolBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateListViewBody struct { - Req *types.CreateListView `xml:"urn:vim25 CreateListView,omitempty"` - Res *types.CreateListViewResponse `xml:"CreateListViewResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateListViewBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateListView(ctx context.Context, r soap.RoundTripper, req *types.CreateListView) (*types.CreateListViewResponse, error) { - var reqBody, resBody CreateListViewBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateListViewFromViewBody struct { - Req *types.CreateListViewFromView `xml:"urn:vim25 CreateListViewFromView,omitempty"` - Res *types.CreateListViewFromViewResponse `xml:"CreateListViewFromViewResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateListViewFromViewBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateListViewFromView(ctx context.Context, r soap.RoundTripper, req *types.CreateListViewFromView) (*types.CreateListViewFromViewResponse, error) { - var reqBody, resBody CreateListViewFromViewBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateLocalDatastoreBody struct { - Req *types.CreateLocalDatastore `xml:"urn:vim25 CreateLocalDatastore,omitempty"` - Res *types.CreateLocalDatastoreResponse `xml:"CreateLocalDatastoreResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateLocalDatastoreBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateLocalDatastore(ctx context.Context, r soap.RoundTripper, req *types.CreateLocalDatastore) (*types.CreateLocalDatastoreResponse, error) { - var reqBody, resBody CreateLocalDatastoreBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateNasDatastoreBody struct { - Req *types.CreateNasDatastore `xml:"urn:vim25 CreateNasDatastore,omitempty"` - Res *types.CreateNasDatastoreResponse `xml:"CreateNasDatastoreResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateNasDatastoreBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateNasDatastore(ctx context.Context, r soap.RoundTripper, req *types.CreateNasDatastore) (*types.CreateNasDatastoreResponse, error) { - var reqBody, resBody CreateNasDatastoreBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateNvdimmNamespace_TaskBody struct { - Req *types.CreateNvdimmNamespace_Task `xml:"urn:vim25 CreateNvdimmNamespace_Task,omitempty"` - Res *types.CreateNvdimmNamespace_TaskResponse `xml:"CreateNvdimmNamespace_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateNvdimmNamespace_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateNvdimmNamespace_Task(ctx context.Context, r soap.RoundTripper, req *types.CreateNvdimmNamespace_Task) (*types.CreateNvdimmNamespace_TaskResponse, error) { - var reqBody, resBody CreateNvdimmNamespace_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateNvdimmPMemNamespace_TaskBody struct { - Req *types.CreateNvdimmPMemNamespace_Task `xml:"urn:vim25 CreateNvdimmPMemNamespace_Task,omitempty"` - Res *types.CreateNvdimmPMemNamespace_TaskResponse `xml:"CreateNvdimmPMemNamespace_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateNvdimmPMemNamespace_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateNvdimmPMemNamespace_Task(ctx context.Context, r soap.RoundTripper, req *types.CreateNvdimmPMemNamespace_Task) (*types.CreateNvdimmPMemNamespace_TaskResponse, error) { - var reqBody, resBody CreateNvdimmPMemNamespace_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateNvmeOverRdmaAdapterBody struct { - Req *types.CreateNvmeOverRdmaAdapter `xml:"urn:vim25 CreateNvmeOverRdmaAdapter,omitempty"` - Res *types.CreateNvmeOverRdmaAdapterResponse `xml:"CreateNvmeOverRdmaAdapterResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateNvmeOverRdmaAdapterBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateNvmeOverRdmaAdapter(ctx context.Context, r soap.RoundTripper, req *types.CreateNvmeOverRdmaAdapter) (*types.CreateNvmeOverRdmaAdapterResponse, error) { - var reqBody, resBody CreateNvmeOverRdmaAdapterBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateObjectScheduledTaskBody struct { - Req *types.CreateObjectScheduledTask `xml:"urn:vim25 CreateObjectScheduledTask,omitempty"` - Res *types.CreateObjectScheduledTaskResponse `xml:"CreateObjectScheduledTaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateObjectScheduledTaskBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateObjectScheduledTask(ctx context.Context, r soap.RoundTripper, req *types.CreateObjectScheduledTask) (*types.CreateObjectScheduledTaskResponse, error) { - var reqBody, resBody CreateObjectScheduledTaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreatePerfIntervalBody struct { - Req *types.CreatePerfInterval `xml:"urn:vim25 CreatePerfInterval,omitempty"` - Res *types.CreatePerfIntervalResponse `xml:"CreatePerfIntervalResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreatePerfIntervalBody) Fault() *soap.Fault { return b.Fault_ } - -func CreatePerfInterval(ctx context.Context, r soap.RoundTripper, req *types.CreatePerfInterval) (*types.CreatePerfIntervalResponse, error) { - var reqBody, resBody CreatePerfIntervalBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateProfileBody struct { - Req *types.CreateProfile `xml:"urn:vim25 CreateProfile,omitempty"` - Res *types.CreateProfileResponse `xml:"CreateProfileResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateProfileBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateProfile(ctx context.Context, r soap.RoundTripper, req *types.CreateProfile) (*types.CreateProfileResponse, error) { - var reqBody, resBody CreateProfileBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreatePropertyCollectorBody struct { - Req *types.CreatePropertyCollector `xml:"urn:vim25 CreatePropertyCollector,omitempty"` - Res *types.CreatePropertyCollectorResponse `xml:"CreatePropertyCollectorResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreatePropertyCollectorBody) Fault() *soap.Fault { return b.Fault_ } - -func CreatePropertyCollector(ctx context.Context, r soap.RoundTripper, req *types.CreatePropertyCollector) (*types.CreatePropertyCollectorResponse, error) { - var reqBody, resBody CreatePropertyCollectorBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateRegistryKeyInGuestBody struct { - Req *types.CreateRegistryKeyInGuest `xml:"urn:vim25 CreateRegistryKeyInGuest,omitempty"` - Res *types.CreateRegistryKeyInGuestResponse `xml:"CreateRegistryKeyInGuestResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateRegistryKeyInGuestBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateRegistryKeyInGuest(ctx context.Context, r soap.RoundTripper, req *types.CreateRegistryKeyInGuest) (*types.CreateRegistryKeyInGuestResponse, error) { - var reqBody, resBody CreateRegistryKeyInGuestBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateResourcePoolBody struct { - Req *types.CreateResourcePool `xml:"urn:vim25 CreateResourcePool,omitempty"` - Res *types.CreateResourcePoolResponse `xml:"CreateResourcePoolResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateResourcePoolBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateResourcePool(ctx context.Context, r soap.RoundTripper, req *types.CreateResourcePool) (*types.CreateResourcePoolResponse, error) { - var reqBody, resBody CreateResourcePoolBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateScheduledTaskBody struct { - Req *types.CreateScheduledTask `xml:"urn:vim25 CreateScheduledTask,omitempty"` - Res *types.CreateScheduledTaskResponse `xml:"CreateScheduledTaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateScheduledTaskBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateScheduledTask(ctx context.Context, r soap.RoundTripper, req *types.CreateScheduledTask) (*types.CreateScheduledTaskResponse, error) { - var reqBody, resBody CreateScheduledTaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateScreenshot_TaskBody struct { - Req *types.CreateScreenshot_Task `xml:"urn:vim25 CreateScreenshot_Task,omitempty"` - Res *types.CreateScreenshot_TaskResponse `xml:"CreateScreenshot_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateScreenshot_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateScreenshot_Task(ctx context.Context, r soap.RoundTripper, req *types.CreateScreenshot_Task) (*types.CreateScreenshot_TaskResponse, error) { - var reqBody, resBody CreateScreenshot_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateSecondaryVMEx_TaskBody struct { - Req *types.CreateSecondaryVMEx_Task `xml:"urn:vim25 CreateSecondaryVMEx_Task,omitempty"` - Res *types.CreateSecondaryVMEx_TaskResponse `xml:"CreateSecondaryVMEx_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateSecondaryVMEx_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateSecondaryVMEx_Task(ctx context.Context, r soap.RoundTripper, req *types.CreateSecondaryVMEx_Task) (*types.CreateSecondaryVMEx_TaskResponse, error) { - var reqBody, resBody CreateSecondaryVMEx_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateSecondaryVM_TaskBody struct { - Req *types.CreateSecondaryVM_Task `xml:"urn:vim25 CreateSecondaryVM_Task,omitempty"` - Res *types.CreateSecondaryVM_TaskResponse `xml:"CreateSecondaryVM_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateSecondaryVM_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateSecondaryVM_Task(ctx context.Context, r soap.RoundTripper, req *types.CreateSecondaryVM_Task) (*types.CreateSecondaryVM_TaskResponse, error) { - var reqBody, resBody CreateSecondaryVM_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateSnapshotEx_TaskBody struct { - Req *types.CreateSnapshotEx_Task `xml:"urn:vim25 CreateSnapshotEx_Task,omitempty"` - Res *types.CreateSnapshotEx_TaskResponse `xml:"CreateSnapshotEx_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateSnapshotEx_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateSnapshotEx_Task(ctx context.Context, r soap.RoundTripper, req *types.CreateSnapshotEx_Task) (*types.CreateSnapshotEx_TaskResponse, error) { - var reqBody, resBody CreateSnapshotEx_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateSnapshot_TaskBody struct { - Req *types.CreateSnapshot_Task `xml:"urn:vim25 CreateSnapshot_Task,omitempty"` - Res *types.CreateSnapshot_TaskResponse `xml:"CreateSnapshot_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateSnapshot_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateSnapshot_Task(ctx context.Context, r soap.RoundTripper, req *types.CreateSnapshot_Task) (*types.CreateSnapshot_TaskResponse, error) { - var reqBody, resBody CreateSnapshot_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateSoftwareAdapterBody struct { - Req *types.CreateSoftwareAdapter `xml:"urn:vim25 CreateSoftwareAdapter,omitempty"` - Res *types.CreateSoftwareAdapterResponse `xml:"CreateSoftwareAdapterResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateSoftwareAdapterBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateSoftwareAdapter(ctx context.Context, r soap.RoundTripper, req *types.CreateSoftwareAdapter) (*types.CreateSoftwareAdapterResponse, error) { - var reqBody, resBody CreateSoftwareAdapterBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateStoragePodBody struct { - Req *types.CreateStoragePod `xml:"urn:vim25 CreateStoragePod,omitempty"` - Res *types.CreateStoragePodResponse `xml:"CreateStoragePodResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateStoragePodBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateStoragePod(ctx context.Context, r soap.RoundTripper, req *types.CreateStoragePod) (*types.CreateStoragePodResponse, error) { - var reqBody, resBody CreateStoragePodBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateTaskBody struct { - Req *types.CreateTask `xml:"urn:vim25 CreateTask,omitempty"` - Res *types.CreateTaskResponse `xml:"CreateTaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateTaskBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateTask(ctx context.Context, r soap.RoundTripper, req *types.CreateTask) (*types.CreateTaskResponse, error) { - var reqBody, resBody CreateTaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateTemporaryDirectoryInGuestBody struct { - Req *types.CreateTemporaryDirectoryInGuest `xml:"urn:vim25 CreateTemporaryDirectoryInGuest,omitempty"` - Res *types.CreateTemporaryDirectoryInGuestResponse `xml:"CreateTemporaryDirectoryInGuestResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateTemporaryDirectoryInGuestBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateTemporaryDirectoryInGuest(ctx context.Context, r soap.RoundTripper, req *types.CreateTemporaryDirectoryInGuest) (*types.CreateTemporaryDirectoryInGuestResponse, error) { - var reqBody, resBody CreateTemporaryDirectoryInGuestBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateTemporaryFileInGuestBody struct { - Req *types.CreateTemporaryFileInGuest `xml:"urn:vim25 CreateTemporaryFileInGuest,omitempty"` - Res *types.CreateTemporaryFileInGuestResponse `xml:"CreateTemporaryFileInGuestResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateTemporaryFileInGuestBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateTemporaryFileInGuest(ctx context.Context, r soap.RoundTripper, req *types.CreateTemporaryFileInGuest) (*types.CreateTemporaryFileInGuestResponse, error) { - var reqBody, resBody CreateTemporaryFileInGuestBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateUserBody struct { - Req *types.CreateUser `xml:"urn:vim25 CreateUser,omitempty"` - Res *types.CreateUserResponse `xml:"CreateUserResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateUserBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateUser(ctx context.Context, r soap.RoundTripper, req *types.CreateUser) (*types.CreateUserResponse, error) { - var reqBody, resBody CreateUserBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateVAppBody struct { - Req *types.CreateVApp `xml:"urn:vim25 CreateVApp,omitempty"` - Res *types.CreateVAppResponse `xml:"CreateVAppResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateVAppBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateVApp(ctx context.Context, r soap.RoundTripper, req *types.CreateVApp) (*types.CreateVAppResponse, error) { - var reqBody, resBody CreateVAppBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateVM_TaskBody struct { - Req *types.CreateVM_Task `xml:"urn:vim25 CreateVM_Task,omitempty"` - Res *types.CreateVM_TaskResponse `xml:"CreateVM_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateVM_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateVM_Task(ctx context.Context, r soap.RoundTripper, req *types.CreateVM_Task) (*types.CreateVM_TaskResponse, error) { - var reqBody, resBody CreateVM_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateVirtualDisk_TaskBody struct { - Req *types.CreateVirtualDisk_Task `xml:"urn:vim25 CreateVirtualDisk_Task,omitempty"` - Res *types.CreateVirtualDisk_TaskResponse `xml:"CreateVirtualDisk_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateVirtualDisk_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateVirtualDisk_Task(ctx context.Context, r soap.RoundTripper, req *types.CreateVirtualDisk_Task) (*types.CreateVirtualDisk_TaskResponse, error) { - var reqBody, resBody CreateVirtualDisk_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateVmfsDatastoreBody struct { - Req *types.CreateVmfsDatastore `xml:"urn:vim25 CreateVmfsDatastore,omitempty"` - Res *types.CreateVmfsDatastoreResponse `xml:"CreateVmfsDatastoreResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateVmfsDatastoreBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateVmfsDatastore(ctx context.Context, r soap.RoundTripper, req *types.CreateVmfsDatastore) (*types.CreateVmfsDatastoreResponse, error) { - var reqBody, resBody CreateVmfsDatastoreBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateVvolDatastoreBody struct { - Req *types.CreateVvolDatastore `xml:"urn:vim25 CreateVvolDatastore,omitempty"` - Res *types.CreateVvolDatastoreResponse `xml:"CreateVvolDatastoreResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateVvolDatastoreBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateVvolDatastore(ctx context.Context, r soap.RoundTripper, req *types.CreateVvolDatastore) (*types.CreateVvolDatastoreResponse, error) { - var reqBody, resBody CreateVvolDatastoreBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CryptoManagerHostDisableBody struct { - Req *types.CryptoManagerHostDisable `xml:"urn:vim25 CryptoManagerHostDisable,omitempty"` - Res *types.CryptoManagerHostDisableResponse `xml:"CryptoManagerHostDisableResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CryptoManagerHostDisableBody) Fault() *soap.Fault { return b.Fault_ } - -func CryptoManagerHostDisable(ctx context.Context, r soap.RoundTripper, req *types.CryptoManagerHostDisable) (*types.CryptoManagerHostDisableResponse, error) { - var reqBody, resBody CryptoManagerHostDisableBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CryptoManagerHostEnableBody struct { - Req *types.CryptoManagerHostEnable `xml:"urn:vim25 CryptoManagerHostEnable,omitempty"` - Res *types.CryptoManagerHostEnableResponse `xml:"CryptoManagerHostEnableResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CryptoManagerHostEnableBody) Fault() *soap.Fault { return b.Fault_ } - -func CryptoManagerHostEnable(ctx context.Context, r soap.RoundTripper, req *types.CryptoManagerHostEnable) (*types.CryptoManagerHostEnableResponse, error) { - var reqBody, resBody CryptoManagerHostEnableBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CryptoManagerHostPrepareBody struct { - Req *types.CryptoManagerHostPrepare `xml:"urn:vim25 CryptoManagerHostPrepare,omitempty"` - Res *types.CryptoManagerHostPrepareResponse `xml:"CryptoManagerHostPrepareResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CryptoManagerHostPrepareBody) Fault() *soap.Fault { return b.Fault_ } - -func CryptoManagerHostPrepare(ctx context.Context, r soap.RoundTripper, req *types.CryptoManagerHostPrepare) (*types.CryptoManagerHostPrepareResponse, error) { - var reqBody, resBody CryptoManagerHostPrepareBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CryptoUnlock_TaskBody struct { - Req *types.CryptoUnlock_Task `xml:"urn:vim25 CryptoUnlock_Task,omitempty"` - Res *types.CryptoUnlock_TaskResponse `xml:"CryptoUnlock_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CryptoUnlock_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func CryptoUnlock_Task(ctx context.Context, r soap.RoundTripper, req *types.CryptoUnlock_Task) (*types.CryptoUnlock_TaskResponse, error) { - var reqBody, resBody CryptoUnlock_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CurrentTimeBody struct { - Req *types.CurrentTime `xml:"urn:vim25 CurrentTime,omitempty"` - Res *types.CurrentTimeResponse `xml:"CurrentTimeResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CurrentTimeBody) Fault() *soap.Fault { return b.Fault_ } - -func CurrentTime(ctx context.Context, r soap.RoundTripper, req *types.CurrentTime) (*types.CurrentTimeResponse, error) { - var reqBody, resBody CurrentTimeBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CustomizationSpecItemToXmlBody struct { - Req *types.CustomizationSpecItemToXml `xml:"urn:vim25 CustomizationSpecItemToXml,omitempty"` - Res *types.CustomizationSpecItemToXmlResponse `xml:"CustomizationSpecItemToXmlResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CustomizationSpecItemToXmlBody) Fault() *soap.Fault { return b.Fault_ } - -func CustomizationSpecItemToXml(ctx context.Context, r soap.RoundTripper, req *types.CustomizationSpecItemToXml) (*types.CustomizationSpecItemToXmlResponse, error) { - var reqBody, resBody CustomizationSpecItemToXmlBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CustomizeGuest_TaskBody struct { - Req *types.CustomizeGuest_Task `xml:"urn:vim25 CustomizeGuest_Task,omitempty"` - Res *types.CustomizeGuest_TaskResponse `xml:"CustomizeGuest_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CustomizeGuest_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func CustomizeGuest_Task(ctx context.Context, r soap.RoundTripper, req *types.CustomizeGuest_Task) (*types.CustomizeGuest_TaskResponse, error) { - var reqBody, resBody CustomizeGuest_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CustomizeVM_TaskBody struct { - Req *types.CustomizeVM_Task `xml:"urn:vim25 CustomizeVM_Task,omitempty"` - Res *types.CustomizeVM_TaskResponse `xml:"CustomizeVM_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CustomizeVM_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func CustomizeVM_Task(ctx context.Context, r soap.RoundTripper, req *types.CustomizeVM_Task) (*types.CustomizeVM_TaskResponse, error) { - var reqBody, resBody CustomizeVM_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DVPortgroupRollback_TaskBody struct { - Req *types.DVPortgroupRollback_Task `xml:"urn:vim25 DVPortgroupRollback_Task,omitempty"` - Res *types.DVPortgroupRollback_TaskResponse `xml:"DVPortgroupRollback_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DVPortgroupRollback_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func DVPortgroupRollback_Task(ctx context.Context, r soap.RoundTripper, req *types.DVPortgroupRollback_Task) (*types.DVPortgroupRollback_TaskResponse, error) { - var reqBody, resBody DVPortgroupRollback_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DVSManagerExportEntity_TaskBody struct { - Req *types.DVSManagerExportEntity_Task `xml:"urn:vim25 DVSManagerExportEntity_Task,omitempty"` - Res *types.DVSManagerExportEntity_TaskResponse `xml:"DVSManagerExportEntity_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DVSManagerExportEntity_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func DVSManagerExportEntity_Task(ctx context.Context, r soap.RoundTripper, req *types.DVSManagerExportEntity_Task) (*types.DVSManagerExportEntity_TaskResponse, error) { - var reqBody, resBody DVSManagerExportEntity_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DVSManagerImportEntity_TaskBody struct { - Req *types.DVSManagerImportEntity_Task `xml:"urn:vim25 DVSManagerImportEntity_Task,omitempty"` - Res *types.DVSManagerImportEntity_TaskResponse `xml:"DVSManagerImportEntity_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DVSManagerImportEntity_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func DVSManagerImportEntity_Task(ctx context.Context, r soap.RoundTripper, req *types.DVSManagerImportEntity_Task) (*types.DVSManagerImportEntity_TaskResponse, error) { - var reqBody, resBody DVSManagerImportEntity_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DVSManagerLookupDvPortGroupBody struct { - Req *types.DVSManagerLookupDvPortGroup `xml:"urn:vim25 DVSManagerLookupDvPortGroup,omitempty"` - Res *types.DVSManagerLookupDvPortGroupResponse `xml:"DVSManagerLookupDvPortGroupResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DVSManagerLookupDvPortGroupBody) Fault() *soap.Fault { return b.Fault_ } - -func DVSManagerLookupDvPortGroup(ctx context.Context, r soap.RoundTripper, req *types.DVSManagerLookupDvPortGroup) (*types.DVSManagerLookupDvPortGroupResponse, error) { - var reqBody, resBody DVSManagerLookupDvPortGroupBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DVSRollback_TaskBody struct { - Req *types.DVSRollback_Task `xml:"urn:vim25 DVSRollback_Task,omitempty"` - Res *types.DVSRollback_TaskResponse `xml:"DVSRollback_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DVSRollback_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func DVSRollback_Task(ctx context.Context, r soap.RoundTripper, req *types.DVSRollback_Task) (*types.DVSRollback_TaskResponse, error) { - var reqBody, resBody DVSRollback_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DatastoreEnterMaintenanceModeBody struct { - Req *types.DatastoreEnterMaintenanceMode `xml:"urn:vim25 DatastoreEnterMaintenanceMode,omitempty"` - Res *types.DatastoreEnterMaintenanceModeResponse `xml:"DatastoreEnterMaintenanceModeResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DatastoreEnterMaintenanceModeBody) Fault() *soap.Fault { return b.Fault_ } - -func DatastoreEnterMaintenanceMode(ctx context.Context, r soap.RoundTripper, req *types.DatastoreEnterMaintenanceMode) (*types.DatastoreEnterMaintenanceModeResponse, error) { - var reqBody, resBody DatastoreEnterMaintenanceModeBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DatastoreExitMaintenanceMode_TaskBody struct { - Req *types.DatastoreExitMaintenanceMode_Task `xml:"urn:vim25 DatastoreExitMaintenanceMode_Task,omitempty"` - Res *types.DatastoreExitMaintenanceMode_TaskResponse `xml:"DatastoreExitMaintenanceMode_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DatastoreExitMaintenanceMode_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func DatastoreExitMaintenanceMode_Task(ctx context.Context, r soap.RoundTripper, req *types.DatastoreExitMaintenanceMode_Task) (*types.DatastoreExitMaintenanceMode_TaskResponse, error) { - var reqBody, resBody DatastoreExitMaintenanceMode_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DecodeLicenseBody struct { - Req *types.DecodeLicense `xml:"urn:vim25 DecodeLicense,omitempty"` - Res *types.DecodeLicenseResponse `xml:"DecodeLicenseResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DecodeLicenseBody) Fault() *soap.Fault { return b.Fault_ } - -func DecodeLicense(ctx context.Context, r soap.RoundTripper, req *types.DecodeLicense) (*types.DecodeLicenseResponse, error) { - var reqBody, resBody DecodeLicenseBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DefragmentAllDisksBody struct { - Req *types.DefragmentAllDisks `xml:"urn:vim25 DefragmentAllDisks,omitempty"` - Res *types.DefragmentAllDisksResponse `xml:"DefragmentAllDisksResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DefragmentAllDisksBody) Fault() *soap.Fault { return b.Fault_ } - -func DefragmentAllDisks(ctx context.Context, r soap.RoundTripper, req *types.DefragmentAllDisks) (*types.DefragmentAllDisksResponse, error) { - var reqBody, resBody DefragmentAllDisksBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DefragmentVirtualDisk_TaskBody struct { - Req *types.DefragmentVirtualDisk_Task `xml:"urn:vim25 DefragmentVirtualDisk_Task,omitempty"` - Res *types.DefragmentVirtualDisk_TaskResponse `xml:"DefragmentVirtualDisk_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DefragmentVirtualDisk_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func DefragmentVirtualDisk_Task(ctx context.Context, r soap.RoundTripper, req *types.DefragmentVirtualDisk_Task) (*types.DefragmentVirtualDisk_TaskResponse, error) { - var reqBody, resBody DefragmentVirtualDisk_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DeleteCustomizationSpecBody struct { - Req *types.DeleteCustomizationSpec `xml:"urn:vim25 DeleteCustomizationSpec,omitempty"` - Res *types.DeleteCustomizationSpecResponse `xml:"DeleteCustomizationSpecResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DeleteCustomizationSpecBody) Fault() *soap.Fault { return b.Fault_ } - -func DeleteCustomizationSpec(ctx context.Context, r soap.RoundTripper, req *types.DeleteCustomizationSpec) (*types.DeleteCustomizationSpecResponse, error) { - var reqBody, resBody DeleteCustomizationSpecBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DeleteDatastoreFile_TaskBody struct { - Req *types.DeleteDatastoreFile_Task `xml:"urn:vim25 DeleteDatastoreFile_Task,omitempty"` - Res *types.DeleteDatastoreFile_TaskResponse `xml:"DeleteDatastoreFile_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DeleteDatastoreFile_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func DeleteDatastoreFile_Task(ctx context.Context, r soap.RoundTripper, req *types.DeleteDatastoreFile_Task) (*types.DeleteDatastoreFile_TaskResponse, error) { - var reqBody, resBody DeleteDatastoreFile_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DeleteDirectoryBody struct { - Req *types.DeleteDirectory `xml:"urn:vim25 DeleteDirectory,omitempty"` - Res *types.DeleteDirectoryResponse `xml:"DeleteDirectoryResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DeleteDirectoryBody) Fault() *soap.Fault { return b.Fault_ } - -func DeleteDirectory(ctx context.Context, r soap.RoundTripper, req *types.DeleteDirectory) (*types.DeleteDirectoryResponse, error) { - var reqBody, resBody DeleteDirectoryBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DeleteDirectoryInGuestBody struct { - Req *types.DeleteDirectoryInGuest `xml:"urn:vim25 DeleteDirectoryInGuest,omitempty"` - Res *types.DeleteDirectoryInGuestResponse `xml:"DeleteDirectoryInGuestResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DeleteDirectoryInGuestBody) Fault() *soap.Fault { return b.Fault_ } - -func DeleteDirectoryInGuest(ctx context.Context, r soap.RoundTripper, req *types.DeleteDirectoryInGuest) (*types.DeleteDirectoryInGuestResponse, error) { - var reqBody, resBody DeleteDirectoryInGuestBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DeleteFileBody struct { - Req *types.DeleteFile `xml:"urn:vim25 DeleteFile,omitempty"` - Res *types.DeleteFileResponse `xml:"DeleteFileResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DeleteFileBody) Fault() *soap.Fault { return b.Fault_ } - -func DeleteFile(ctx context.Context, r soap.RoundTripper, req *types.DeleteFile) (*types.DeleteFileResponse, error) { - var reqBody, resBody DeleteFileBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DeleteFileInGuestBody struct { - Req *types.DeleteFileInGuest `xml:"urn:vim25 DeleteFileInGuest,omitempty"` - Res *types.DeleteFileInGuestResponse `xml:"DeleteFileInGuestResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DeleteFileInGuestBody) Fault() *soap.Fault { return b.Fault_ } - -func DeleteFileInGuest(ctx context.Context, r soap.RoundTripper, req *types.DeleteFileInGuest) (*types.DeleteFileInGuestResponse, error) { - var reqBody, resBody DeleteFileInGuestBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DeleteHostSpecificationBody struct { - Req *types.DeleteHostSpecification `xml:"urn:vim25 DeleteHostSpecification,omitempty"` - Res *types.DeleteHostSpecificationResponse `xml:"DeleteHostSpecificationResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DeleteHostSpecificationBody) Fault() *soap.Fault { return b.Fault_ } - -func DeleteHostSpecification(ctx context.Context, r soap.RoundTripper, req *types.DeleteHostSpecification) (*types.DeleteHostSpecificationResponse, error) { - var reqBody, resBody DeleteHostSpecificationBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DeleteHostSubSpecificationBody struct { - Req *types.DeleteHostSubSpecification `xml:"urn:vim25 DeleteHostSubSpecification,omitempty"` - Res *types.DeleteHostSubSpecificationResponse `xml:"DeleteHostSubSpecificationResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DeleteHostSubSpecificationBody) Fault() *soap.Fault { return b.Fault_ } - -func DeleteHostSubSpecification(ctx context.Context, r soap.RoundTripper, req *types.DeleteHostSubSpecification) (*types.DeleteHostSubSpecificationResponse, error) { - var reqBody, resBody DeleteHostSubSpecificationBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DeleteNvdimmBlockNamespaces_TaskBody struct { - Req *types.DeleteNvdimmBlockNamespaces_Task `xml:"urn:vim25 DeleteNvdimmBlockNamespaces_Task,omitempty"` - Res *types.DeleteNvdimmBlockNamespaces_TaskResponse `xml:"DeleteNvdimmBlockNamespaces_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DeleteNvdimmBlockNamespaces_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func DeleteNvdimmBlockNamespaces_Task(ctx context.Context, r soap.RoundTripper, req *types.DeleteNvdimmBlockNamespaces_Task) (*types.DeleteNvdimmBlockNamespaces_TaskResponse, error) { - var reqBody, resBody DeleteNvdimmBlockNamespaces_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DeleteNvdimmNamespace_TaskBody struct { - Req *types.DeleteNvdimmNamespace_Task `xml:"urn:vim25 DeleteNvdimmNamespace_Task,omitempty"` - Res *types.DeleteNvdimmNamespace_TaskResponse `xml:"DeleteNvdimmNamespace_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DeleteNvdimmNamespace_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func DeleteNvdimmNamespace_Task(ctx context.Context, r soap.RoundTripper, req *types.DeleteNvdimmNamespace_Task) (*types.DeleteNvdimmNamespace_TaskResponse, error) { - var reqBody, resBody DeleteNvdimmNamespace_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DeleteRegistryKeyInGuestBody struct { - Req *types.DeleteRegistryKeyInGuest `xml:"urn:vim25 DeleteRegistryKeyInGuest,omitempty"` - Res *types.DeleteRegistryKeyInGuestResponse `xml:"DeleteRegistryKeyInGuestResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DeleteRegistryKeyInGuestBody) Fault() *soap.Fault { return b.Fault_ } - -func DeleteRegistryKeyInGuest(ctx context.Context, r soap.RoundTripper, req *types.DeleteRegistryKeyInGuest) (*types.DeleteRegistryKeyInGuestResponse, error) { - var reqBody, resBody DeleteRegistryKeyInGuestBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DeleteRegistryValueInGuestBody struct { - Req *types.DeleteRegistryValueInGuest `xml:"urn:vim25 DeleteRegistryValueInGuest,omitempty"` - Res *types.DeleteRegistryValueInGuestResponse `xml:"DeleteRegistryValueInGuestResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DeleteRegistryValueInGuestBody) Fault() *soap.Fault { return b.Fault_ } - -func DeleteRegistryValueInGuest(ctx context.Context, r soap.RoundTripper, req *types.DeleteRegistryValueInGuest) (*types.DeleteRegistryValueInGuestResponse, error) { - var reqBody, resBody DeleteRegistryValueInGuestBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DeleteScsiLunStateBody struct { - Req *types.DeleteScsiLunState `xml:"urn:vim25 DeleteScsiLunState,omitempty"` - Res *types.DeleteScsiLunStateResponse `xml:"DeleteScsiLunStateResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DeleteScsiLunStateBody) Fault() *soap.Fault { return b.Fault_ } - -func DeleteScsiLunState(ctx context.Context, r soap.RoundTripper, req *types.DeleteScsiLunState) (*types.DeleteScsiLunStateResponse, error) { - var reqBody, resBody DeleteScsiLunStateBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DeleteSnapshot_TaskBody struct { - Req *types.DeleteSnapshot_Task `xml:"urn:vim25 DeleteSnapshot_Task,omitempty"` - Res *types.DeleteSnapshot_TaskResponse `xml:"DeleteSnapshot_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DeleteSnapshot_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func DeleteSnapshot_Task(ctx context.Context, r soap.RoundTripper, req *types.DeleteSnapshot_Task) (*types.DeleteSnapshot_TaskResponse, error) { - var reqBody, resBody DeleteSnapshot_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DeleteVStorageObjectEx_TaskBody struct { - Req *types.DeleteVStorageObjectEx_Task `xml:"urn:vim25 DeleteVStorageObjectEx_Task,omitempty"` - Res *types.DeleteVStorageObjectEx_TaskResponse `xml:"DeleteVStorageObjectEx_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DeleteVStorageObjectEx_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func DeleteVStorageObjectEx_Task(ctx context.Context, r soap.RoundTripper, req *types.DeleteVStorageObjectEx_Task) (*types.DeleteVStorageObjectEx_TaskResponse, error) { - var reqBody, resBody DeleteVStorageObjectEx_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DeleteVStorageObject_TaskBody struct { - Req *types.DeleteVStorageObject_Task `xml:"urn:vim25 DeleteVStorageObject_Task,omitempty"` - Res *types.DeleteVStorageObject_TaskResponse `xml:"DeleteVStorageObject_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DeleteVStorageObject_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func DeleteVStorageObject_Task(ctx context.Context, r soap.RoundTripper, req *types.DeleteVStorageObject_Task) (*types.DeleteVStorageObject_TaskResponse, error) { - var reqBody, resBody DeleteVStorageObject_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DeleteVffsVolumeStateBody struct { - Req *types.DeleteVffsVolumeState `xml:"urn:vim25 DeleteVffsVolumeState,omitempty"` - Res *types.DeleteVffsVolumeStateResponse `xml:"DeleteVffsVolumeStateResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DeleteVffsVolumeStateBody) Fault() *soap.Fault { return b.Fault_ } - -func DeleteVffsVolumeState(ctx context.Context, r soap.RoundTripper, req *types.DeleteVffsVolumeState) (*types.DeleteVffsVolumeStateResponse, error) { - var reqBody, resBody DeleteVffsVolumeStateBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DeleteVirtualDisk_TaskBody struct { - Req *types.DeleteVirtualDisk_Task `xml:"urn:vim25 DeleteVirtualDisk_Task,omitempty"` - Res *types.DeleteVirtualDisk_TaskResponse `xml:"DeleteVirtualDisk_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DeleteVirtualDisk_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func DeleteVirtualDisk_Task(ctx context.Context, r soap.RoundTripper, req *types.DeleteVirtualDisk_Task) (*types.DeleteVirtualDisk_TaskResponse, error) { - var reqBody, resBody DeleteVirtualDisk_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DeleteVmfsVolumeStateBody struct { - Req *types.DeleteVmfsVolumeState `xml:"urn:vim25 DeleteVmfsVolumeState,omitempty"` - Res *types.DeleteVmfsVolumeStateResponse `xml:"DeleteVmfsVolumeStateResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DeleteVmfsVolumeStateBody) Fault() *soap.Fault { return b.Fault_ } - -func DeleteVmfsVolumeState(ctx context.Context, r soap.RoundTripper, req *types.DeleteVmfsVolumeState) (*types.DeleteVmfsVolumeStateResponse, error) { - var reqBody, resBody DeleteVmfsVolumeStateBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DeleteVsanObjectsBody struct { - Req *types.DeleteVsanObjects `xml:"urn:vim25 DeleteVsanObjects,omitempty"` - Res *types.DeleteVsanObjectsResponse `xml:"DeleteVsanObjectsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DeleteVsanObjectsBody) Fault() *soap.Fault { return b.Fault_ } - -func DeleteVsanObjects(ctx context.Context, r soap.RoundTripper, req *types.DeleteVsanObjects) (*types.DeleteVsanObjectsResponse, error) { - var reqBody, resBody DeleteVsanObjectsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DeselectVnicBody struct { - Req *types.DeselectVnic `xml:"urn:vim25 DeselectVnic,omitempty"` - Res *types.DeselectVnicResponse `xml:"DeselectVnicResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DeselectVnicBody) Fault() *soap.Fault { return b.Fault_ } - -func DeselectVnic(ctx context.Context, r soap.RoundTripper, req *types.DeselectVnic) (*types.DeselectVnicResponse, error) { - var reqBody, resBody DeselectVnicBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DeselectVnicForNicTypeBody struct { - Req *types.DeselectVnicForNicType `xml:"urn:vim25 DeselectVnicForNicType,omitempty"` - Res *types.DeselectVnicForNicTypeResponse `xml:"DeselectVnicForNicTypeResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DeselectVnicForNicTypeBody) Fault() *soap.Fault { return b.Fault_ } - -func DeselectVnicForNicType(ctx context.Context, r soap.RoundTripper, req *types.DeselectVnicForNicType) (*types.DeselectVnicForNicTypeResponse, error) { - var reqBody, resBody DeselectVnicForNicTypeBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DestroyChildrenBody struct { - Req *types.DestroyChildren `xml:"urn:vim25 DestroyChildren,omitempty"` - Res *types.DestroyChildrenResponse `xml:"DestroyChildrenResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DestroyChildrenBody) Fault() *soap.Fault { return b.Fault_ } - -func DestroyChildren(ctx context.Context, r soap.RoundTripper, req *types.DestroyChildren) (*types.DestroyChildrenResponse, error) { - var reqBody, resBody DestroyChildrenBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DestroyCollectorBody struct { - Req *types.DestroyCollector `xml:"urn:vim25 DestroyCollector,omitempty"` - Res *types.DestroyCollectorResponse `xml:"DestroyCollectorResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DestroyCollectorBody) Fault() *soap.Fault { return b.Fault_ } - -func DestroyCollector(ctx context.Context, r soap.RoundTripper, req *types.DestroyCollector) (*types.DestroyCollectorResponse, error) { - var reqBody, resBody DestroyCollectorBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DestroyDatastoreBody struct { - Req *types.DestroyDatastore `xml:"urn:vim25 DestroyDatastore,omitempty"` - Res *types.DestroyDatastoreResponse `xml:"DestroyDatastoreResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DestroyDatastoreBody) Fault() *soap.Fault { return b.Fault_ } - -func DestroyDatastore(ctx context.Context, r soap.RoundTripper, req *types.DestroyDatastore) (*types.DestroyDatastoreResponse, error) { - var reqBody, resBody DestroyDatastoreBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DestroyIpPoolBody struct { - Req *types.DestroyIpPool `xml:"urn:vim25 DestroyIpPool,omitempty"` - Res *types.DestroyIpPoolResponse `xml:"DestroyIpPoolResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DestroyIpPoolBody) Fault() *soap.Fault { return b.Fault_ } - -func DestroyIpPool(ctx context.Context, r soap.RoundTripper, req *types.DestroyIpPool) (*types.DestroyIpPoolResponse, error) { - var reqBody, resBody DestroyIpPoolBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DestroyNetworkBody struct { - Req *types.DestroyNetwork `xml:"urn:vim25 DestroyNetwork,omitempty"` - Res *types.DestroyNetworkResponse `xml:"DestroyNetworkResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DestroyNetworkBody) Fault() *soap.Fault { return b.Fault_ } - -func DestroyNetwork(ctx context.Context, r soap.RoundTripper, req *types.DestroyNetwork) (*types.DestroyNetworkResponse, error) { - var reqBody, resBody DestroyNetworkBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DestroyProfileBody struct { - Req *types.DestroyProfile `xml:"urn:vim25 DestroyProfile,omitempty"` - Res *types.DestroyProfileResponse `xml:"DestroyProfileResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DestroyProfileBody) Fault() *soap.Fault { return b.Fault_ } - -func DestroyProfile(ctx context.Context, r soap.RoundTripper, req *types.DestroyProfile) (*types.DestroyProfileResponse, error) { - var reqBody, resBody DestroyProfileBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DestroyPropertyCollectorBody struct { - Req *types.DestroyPropertyCollector `xml:"urn:vim25 DestroyPropertyCollector,omitempty"` - Res *types.DestroyPropertyCollectorResponse `xml:"DestroyPropertyCollectorResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DestroyPropertyCollectorBody) Fault() *soap.Fault { return b.Fault_ } - -func DestroyPropertyCollector(ctx context.Context, r soap.RoundTripper, req *types.DestroyPropertyCollector) (*types.DestroyPropertyCollectorResponse, error) { - var reqBody, resBody DestroyPropertyCollectorBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DestroyPropertyFilterBody struct { - Req *types.DestroyPropertyFilter `xml:"urn:vim25 DestroyPropertyFilter,omitempty"` - Res *types.DestroyPropertyFilterResponse `xml:"DestroyPropertyFilterResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DestroyPropertyFilterBody) Fault() *soap.Fault { return b.Fault_ } - -func DestroyPropertyFilter(ctx context.Context, r soap.RoundTripper, req *types.DestroyPropertyFilter) (*types.DestroyPropertyFilterResponse, error) { - var reqBody, resBody DestroyPropertyFilterBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DestroyVffsBody struct { - Req *types.DestroyVffs `xml:"urn:vim25 DestroyVffs,omitempty"` - Res *types.DestroyVffsResponse `xml:"DestroyVffsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DestroyVffsBody) Fault() *soap.Fault { return b.Fault_ } - -func DestroyVffs(ctx context.Context, r soap.RoundTripper, req *types.DestroyVffs) (*types.DestroyVffsResponse, error) { - var reqBody, resBody DestroyVffsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DestroyViewBody struct { - Req *types.DestroyView `xml:"urn:vim25 DestroyView,omitempty"` - Res *types.DestroyViewResponse `xml:"DestroyViewResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DestroyViewBody) Fault() *soap.Fault { return b.Fault_ } - -func DestroyView(ctx context.Context, r soap.RoundTripper, req *types.DestroyView) (*types.DestroyViewResponse, error) { - var reqBody, resBody DestroyViewBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type Destroy_TaskBody struct { - Req *types.Destroy_Task `xml:"urn:vim25 Destroy_Task,omitempty"` - Res *types.Destroy_TaskResponse `xml:"Destroy_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *Destroy_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func Destroy_Task(ctx context.Context, r soap.RoundTripper, req *types.Destroy_Task) (*types.Destroy_TaskResponse, error) { - var reqBody, resBody Destroy_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DetachDisk_TaskBody struct { - Req *types.DetachDisk_Task `xml:"urn:vim25 DetachDisk_Task,omitempty"` - Res *types.DetachDisk_TaskResponse `xml:"DetachDisk_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DetachDisk_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func DetachDisk_Task(ctx context.Context, r soap.RoundTripper, req *types.DetachDisk_Task) (*types.DetachDisk_TaskResponse, error) { - var reqBody, resBody DetachDisk_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DetachScsiLunBody struct { - Req *types.DetachScsiLun `xml:"urn:vim25 DetachScsiLun,omitempty"` - Res *types.DetachScsiLunResponse `xml:"DetachScsiLunResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DetachScsiLunBody) Fault() *soap.Fault { return b.Fault_ } - -func DetachScsiLun(ctx context.Context, r soap.RoundTripper, req *types.DetachScsiLun) (*types.DetachScsiLunResponse, error) { - var reqBody, resBody DetachScsiLunBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DetachScsiLunEx_TaskBody struct { - Req *types.DetachScsiLunEx_Task `xml:"urn:vim25 DetachScsiLunEx_Task,omitempty"` - Res *types.DetachScsiLunEx_TaskResponse `xml:"DetachScsiLunEx_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DetachScsiLunEx_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func DetachScsiLunEx_Task(ctx context.Context, r soap.RoundTripper, req *types.DetachScsiLunEx_Task) (*types.DetachScsiLunEx_TaskResponse, error) { - var reqBody, resBody DetachScsiLunEx_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DetachTagFromVStorageObjectBody struct { - Req *types.DetachTagFromVStorageObject `xml:"urn:vim25 DetachTagFromVStorageObject,omitempty"` - Res *types.DetachTagFromVStorageObjectResponse `xml:"DetachTagFromVStorageObjectResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DetachTagFromVStorageObjectBody) Fault() *soap.Fault { return b.Fault_ } - -func DetachTagFromVStorageObject(ctx context.Context, r soap.RoundTripper, req *types.DetachTagFromVStorageObject) (*types.DetachTagFromVStorageObjectResponse, error) { - var reqBody, resBody DetachTagFromVStorageObjectBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DisableAlarmBody struct { - Req *types.DisableAlarm `xml:"urn:vim25 DisableAlarm,omitempty"` - Res *types.DisableAlarmResponse `xml:"DisableAlarmResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DisableAlarmBody) Fault() *soap.Fault { return b.Fault_ } - -func DisableAlarm(ctx context.Context, r soap.RoundTripper, req *types.DisableAlarm) (*types.DisableAlarmResponse, error) { - var reqBody, resBody DisableAlarmBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DisableClusteredVmdkSupportBody struct { - Req *types.DisableClusteredVmdkSupport `xml:"urn:vim25 DisableClusteredVmdkSupport,omitempty"` - Res *types.DisableClusteredVmdkSupportResponse `xml:"DisableClusteredVmdkSupportResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DisableClusteredVmdkSupportBody) Fault() *soap.Fault { return b.Fault_ } - -func DisableClusteredVmdkSupport(ctx context.Context, r soap.RoundTripper, req *types.DisableClusteredVmdkSupport) (*types.DisableClusteredVmdkSupportResponse, error) { - var reqBody, resBody DisableClusteredVmdkSupportBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DisableEvcMode_TaskBody struct { - Req *types.DisableEvcMode_Task `xml:"urn:vim25 DisableEvcMode_Task,omitempty"` - Res *types.DisableEvcMode_TaskResponse `xml:"DisableEvcMode_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DisableEvcMode_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func DisableEvcMode_Task(ctx context.Context, r soap.RoundTripper, req *types.DisableEvcMode_Task) (*types.DisableEvcMode_TaskResponse, error) { - var reqBody, resBody DisableEvcMode_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DisableFeatureBody struct { - Req *types.DisableFeature `xml:"urn:vim25 DisableFeature,omitempty"` - Res *types.DisableFeatureResponse `xml:"DisableFeatureResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DisableFeatureBody) Fault() *soap.Fault { return b.Fault_ } - -func DisableFeature(ctx context.Context, r soap.RoundTripper, req *types.DisableFeature) (*types.DisableFeatureResponse, error) { - var reqBody, resBody DisableFeatureBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DisableHyperThreadingBody struct { - Req *types.DisableHyperThreading `xml:"urn:vim25 DisableHyperThreading,omitempty"` - Res *types.DisableHyperThreadingResponse `xml:"DisableHyperThreadingResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DisableHyperThreadingBody) Fault() *soap.Fault { return b.Fault_ } - -func DisableHyperThreading(ctx context.Context, r soap.RoundTripper, req *types.DisableHyperThreading) (*types.DisableHyperThreadingResponse, error) { - var reqBody, resBody DisableHyperThreadingBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DisableMultipathPathBody struct { - Req *types.DisableMultipathPath `xml:"urn:vim25 DisableMultipathPath,omitempty"` - Res *types.DisableMultipathPathResponse `xml:"DisableMultipathPathResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DisableMultipathPathBody) Fault() *soap.Fault { return b.Fault_ } - -func DisableMultipathPath(ctx context.Context, r soap.RoundTripper, req *types.DisableMultipathPath) (*types.DisableMultipathPathResponse, error) { - var reqBody, resBody DisableMultipathPathBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DisableRulesetBody struct { - Req *types.DisableRuleset `xml:"urn:vim25 DisableRuleset,omitempty"` - Res *types.DisableRulesetResponse `xml:"DisableRulesetResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DisableRulesetBody) Fault() *soap.Fault { return b.Fault_ } - -func DisableRuleset(ctx context.Context, r soap.RoundTripper, req *types.DisableRuleset) (*types.DisableRulesetResponse, error) { - var reqBody, resBody DisableRulesetBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DisableSecondaryVM_TaskBody struct { - Req *types.DisableSecondaryVM_Task `xml:"urn:vim25 DisableSecondaryVM_Task,omitempty"` - Res *types.DisableSecondaryVM_TaskResponse `xml:"DisableSecondaryVM_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DisableSecondaryVM_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func DisableSecondaryVM_Task(ctx context.Context, r soap.RoundTripper, req *types.DisableSecondaryVM_Task) (*types.DisableSecondaryVM_TaskResponse, error) { - var reqBody, resBody DisableSecondaryVM_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DisableSmartCardAuthenticationBody struct { - Req *types.DisableSmartCardAuthentication `xml:"urn:vim25 DisableSmartCardAuthentication,omitempty"` - Res *types.DisableSmartCardAuthenticationResponse `xml:"DisableSmartCardAuthenticationResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DisableSmartCardAuthenticationBody) Fault() *soap.Fault { return b.Fault_ } - -func DisableSmartCardAuthentication(ctx context.Context, r soap.RoundTripper, req *types.DisableSmartCardAuthentication) (*types.DisableSmartCardAuthenticationResponse, error) { - var reqBody, resBody DisableSmartCardAuthenticationBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DisconnectHost_TaskBody struct { - Req *types.DisconnectHost_Task `xml:"urn:vim25 DisconnectHost_Task,omitempty"` - Res *types.DisconnectHost_TaskResponse `xml:"DisconnectHost_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DisconnectHost_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func DisconnectHost_Task(ctx context.Context, r soap.RoundTripper, req *types.DisconnectHost_Task) (*types.DisconnectHost_TaskResponse, error) { - var reqBody, resBody DisconnectHost_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DisconnectNvmeControllerBody struct { - Req *types.DisconnectNvmeController `xml:"urn:vim25 DisconnectNvmeController,omitempty"` - Res *types.DisconnectNvmeControllerResponse `xml:"DisconnectNvmeControllerResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DisconnectNvmeControllerBody) Fault() *soap.Fault { return b.Fault_ } - -func DisconnectNvmeController(ctx context.Context, r soap.RoundTripper, req *types.DisconnectNvmeController) (*types.DisconnectNvmeControllerResponse, error) { - var reqBody, resBody DisconnectNvmeControllerBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DisconnectNvmeControllerEx_TaskBody struct { - Req *types.DisconnectNvmeControllerEx_Task `xml:"urn:vim25 DisconnectNvmeControllerEx_Task,omitempty"` - Res *types.DisconnectNvmeControllerEx_TaskResponse `xml:"DisconnectNvmeControllerEx_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DisconnectNvmeControllerEx_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func DisconnectNvmeControllerEx_Task(ctx context.Context, r soap.RoundTripper, req *types.DisconnectNvmeControllerEx_Task) (*types.DisconnectNvmeControllerEx_TaskResponse, error) { - var reqBody, resBody DisconnectNvmeControllerEx_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DiscoverFcoeHbasBody struct { - Req *types.DiscoverFcoeHbas `xml:"urn:vim25 DiscoverFcoeHbas,omitempty"` - Res *types.DiscoverFcoeHbasResponse `xml:"DiscoverFcoeHbasResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DiscoverFcoeHbasBody) Fault() *soap.Fault { return b.Fault_ } - -func DiscoverFcoeHbas(ctx context.Context, r soap.RoundTripper, req *types.DiscoverFcoeHbas) (*types.DiscoverFcoeHbasResponse, error) { - var reqBody, resBody DiscoverFcoeHbasBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DiscoverNvmeControllersBody struct { - Req *types.DiscoverNvmeControllers `xml:"urn:vim25 DiscoverNvmeControllers,omitempty"` - Res *types.DiscoverNvmeControllersResponse `xml:"DiscoverNvmeControllersResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DiscoverNvmeControllersBody) Fault() *soap.Fault { return b.Fault_ } - -func DiscoverNvmeControllers(ctx context.Context, r soap.RoundTripper, req *types.DiscoverNvmeControllers) (*types.DiscoverNvmeControllersResponse, error) { - var reqBody, resBody DiscoverNvmeControllersBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DissociateProfileBody struct { - Req *types.DissociateProfile `xml:"urn:vim25 DissociateProfile,omitempty"` - Res *types.DissociateProfileResponse `xml:"DissociateProfileResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DissociateProfileBody) Fault() *soap.Fault { return b.Fault_ } - -func DissociateProfile(ctx context.Context, r soap.RoundTripper, req *types.DissociateProfile) (*types.DissociateProfileResponse, error) { - var reqBody, resBody DissociateProfileBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DoesCustomizationSpecExistBody struct { - Req *types.DoesCustomizationSpecExist `xml:"urn:vim25 DoesCustomizationSpecExist,omitempty"` - Res *types.DoesCustomizationSpecExistResponse `xml:"DoesCustomizationSpecExistResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DoesCustomizationSpecExistBody) Fault() *soap.Fault { return b.Fault_ } - -func DoesCustomizationSpecExist(ctx context.Context, r soap.RoundTripper, req *types.DoesCustomizationSpecExist) (*types.DoesCustomizationSpecExistResponse, error) { - var reqBody, resBody DoesCustomizationSpecExistBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DownloadDescriptionTreeBody struct { - Req *types.DownloadDescriptionTree `xml:"urn:vim25 DownloadDescriptionTree,omitempty"` - Res *types.DownloadDescriptionTreeResponse `xml:"DownloadDescriptionTreeResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DownloadDescriptionTreeBody) Fault() *soap.Fault { return b.Fault_ } - -func DownloadDescriptionTree(ctx context.Context, r soap.RoundTripper, req *types.DownloadDescriptionTree) (*types.DownloadDescriptionTreeResponse, error) { - var reqBody, resBody DownloadDescriptionTreeBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DropConnectionsBody struct { - Req *types.DropConnections `xml:"urn:vim25 DropConnections,omitempty"` - Res *types.DropConnectionsResponse `xml:"DropConnectionsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DropConnectionsBody) Fault() *soap.Fault { return b.Fault_ } - -func DropConnections(ctx context.Context, r soap.RoundTripper, req *types.DropConnections) (*types.DropConnectionsResponse, error) { - var reqBody, resBody DropConnectionsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DuplicateCustomizationSpecBody struct { - Req *types.DuplicateCustomizationSpec `xml:"urn:vim25 DuplicateCustomizationSpec,omitempty"` - Res *types.DuplicateCustomizationSpecResponse `xml:"DuplicateCustomizationSpecResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DuplicateCustomizationSpecBody) Fault() *soap.Fault { return b.Fault_ } - -func DuplicateCustomizationSpec(ctx context.Context, r soap.RoundTripper, req *types.DuplicateCustomizationSpec) (*types.DuplicateCustomizationSpecResponse, error) { - var reqBody, resBody DuplicateCustomizationSpecBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DvsReconfigureVmVnicNetworkResourcePool_TaskBody struct { - Req *types.DvsReconfigureVmVnicNetworkResourcePool_Task `xml:"urn:vim25 DvsReconfigureVmVnicNetworkResourcePool_Task,omitempty"` - Res *types.DvsReconfigureVmVnicNetworkResourcePool_TaskResponse `xml:"DvsReconfigureVmVnicNetworkResourcePool_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DvsReconfigureVmVnicNetworkResourcePool_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func DvsReconfigureVmVnicNetworkResourcePool_Task(ctx context.Context, r soap.RoundTripper, req *types.DvsReconfigureVmVnicNetworkResourcePool_Task) (*types.DvsReconfigureVmVnicNetworkResourcePool_TaskResponse, error) { - var reqBody, resBody DvsReconfigureVmVnicNetworkResourcePool_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type EagerZeroVirtualDisk_TaskBody struct { - Req *types.EagerZeroVirtualDisk_Task `xml:"urn:vim25 EagerZeroVirtualDisk_Task,omitempty"` - Res *types.EagerZeroVirtualDisk_TaskResponse `xml:"EagerZeroVirtualDisk_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *EagerZeroVirtualDisk_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func EagerZeroVirtualDisk_Task(ctx context.Context, r soap.RoundTripper, req *types.EagerZeroVirtualDisk_Task) (*types.EagerZeroVirtualDisk_TaskResponse, error) { - var reqBody, resBody EagerZeroVirtualDisk_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type EnableAlarmBody struct { - Req *types.EnableAlarm `xml:"urn:vim25 EnableAlarm,omitempty"` - Res *types.EnableAlarmResponse `xml:"EnableAlarmResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *EnableAlarmBody) Fault() *soap.Fault { return b.Fault_ } - -func EnableAlarm(ctx context.Context, r soap.RoundTripper, req *types.EnableAlarm) (*types.EnableAlarmResponse, error) { - var reqBody, resBody EnableAlarmBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type EnableAlarmActionsBody struct { - Req *types.EnableAlarmActions `xml:"urn:vim25 EnableAlarmActions,omitempty"` - Res *types.EnableAlarmActionsResponse `xml:"EnableAlarmActionsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *EnableAlarmActionsBody) Fault() *soap.Fault { return b.Fault_ } - -func EnableAlarmActions(ctx context.Context, r soap.RoundTripper, req *types.EnableAlarmActions) (*types.EnableAlarmActionsResponse, error) { - var reqBody, resBody EnableAlarmActionsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type EnableClusteredVmdkSupportBody struct { - Req *types.EnableClusteredVmdkSupport `xml:"urn:vim25 EnableClusteredVmdkSupport,omitempty"` - Res *types.EnableClusteredVmdkSupportResponse `xml:"EnableClusteredVmdkSupportResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *EnableClusteredVmdkSupportBody) Fault() *soap.Fault { return b.Fault_ } - -func EnableClusteredVmdkSupport(ctx context.Context, r soap.RoundTripper, req *types.EnableClusteredVmdkSupport) (*types.EnableClusteredVmdkSupportResponse, error) { - var reqBody, resBody EnableClusteredVmdkSupportBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type EnableCryptoBody struct { - Req *types.EnableCrypto `xml:"urn:vim25 EnableCrypto,omitempty"` - Res *types.EnableCryptoResponse `xml:"EnableCryptoResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *EnableCryptoBody) Fault() *soap.Fault { return b.Fault_ } - -func EnableCrypto(ctx context.Context, r soap.RoundTripper, req *types.EnableCrypto) (*types.EnableCryptoResponse, error) { - var reqBody, resBody EnableCryptoBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type EnableFeatureBody struct { - Req *types.EnableFeature `xml:"urn:vim25 EnableFeature,omitempty"` - Res *types.EnableFeatureResponse `xml:"EnableFeatureResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *EnableFeatureBody) Fault() *soap.Fault { return b.Fault_ } - -func EnableFeature(ctx context.Context, r soap.RoundTripper, req *types.EnableFeature) (*types.EnableFeatureResponse, error) { - var reqBody, resBody EnableFeatureBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type EnableHyperThreadingBody struct { - Req *types.EnableHyperThreading `xml:"urn:vim25 EnableHyperThreading,omitempty"` - Res *types.EnableHyperThreadingResponse `xml:"EnableHyperThreadingResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *EnableHyperThreadingBody) Fault() *soap.Fault { return b.Fault_ } - -func EnableHyperThreading(ctx context.Context, r soap.RoundTripper, req *types.EnableHyperThreading) (*types.EnableHyperThreadingResponse, error) { - var reqBody, resBody EnableHyperThreadingBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type EnableMultipathPathBody struct { - Req *types.EnableMultipathPath `xml:"urn:vim25 EnableMultipathPath,omitempty"` - Res *types.EnableMultipathPathResponse `xml:"EnableMultipathPathResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *EnableMultipathPathBody) Fault() *soap.Fault { return b.Fault_ } - -func EnableMultipathPath(ctx context.Context, r soap.RoundTripper, req *types.EnableMultipathPath) (*types.EnableMultipathPathResponse, error) { - var reqBody, resBody EnableMultipathPathBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type EnableNetworkResourceManagementBody struct { - Req *types.EnableNetworkResourceManagement `xml:"urn:vim25 EnableNetworkResourceManagement,omitempty"` - Res *types.EnableNetworkResourceManagementResponse `xml:"EnableNetworkResourceManagementResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *EnableNetworkResourceManagementBody) Fault() *soap.Fault { return b.Fault_ } - -func EnableNetworkResourceManagement(ctx context.Context, r soap.RoundTripper, req *types.EnableNetworkResourceManagement) (*types.EnableNetworkResourceManagementResponse, error) { - var reqBody, resBody EnableNetworkResourceManagementBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type EnableRulesetBody struct { - Req *types.EnableRuleset `xml:"urn:vim25 EnableRuleset,omitempty"` - Res *types.EnableRulesetResponse `xml:"EnableRulesetResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *EnableRulesetBody) Fault() *soap.Fault { return b.Fault_ } - -func EnableRuleset(ctx context.Context, r soap.RoundTripper, req *types.EnableRuleset) (*types.EnableRulesetResponse, error) { - var reqBody, resBody EnableRulesetBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type EnableSecondaryVM_TaskBody struct { - Req *types.EnableSecondaryVM_Task `xml:"urn:vim25 EnableSecondaryVM_Task,omitempty"` - Res *types.EnableSecondaryVM_TaskResponse `xml:"EnableSecondaryVM_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *EnableSecondaryVM_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func EnableSecondaryVM_Task(ctx context.Context, r soap.RoundTripper, req *types.EnableSecondaryVM_Task) (*types.EnableSecondaryVM_TaskResponse, error) { - var reqBody, resBody EnableSecondaryVM_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type EnableSmartCardAuthenticationBody struct { - Req *types.EnableSmartCardAuthentication `xml:"urn:vim25 EnableSmartCardAuthentication,omitempty"` - Res *types.EnableSmartCardAuthenticationResponse `xml:"EnableSmartCardAuthenticationResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *EnableSmartCardAuthenticationBody) Fault() *soap.Fault { return b.Fault_ } - -func EnableSmartCardAuthentication(ctx context.Context, r soap.RoundTripper, req *types.EnableSmartCardAuthentication) (*types.EnableSmartCardAuthenticationResponse, error) { - var reqBody, resBody EnableSmartCardAuthenticationBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type EnterLockdownModeBody struct { - Req *types.EnterLockdownMode `xml:"urn:vim25 EnterLockdownMode,omitempty"` - Res *types.EnterLockdownModeResponse `xml:"EnterLockdownModeResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *EnterLockdownModeBody) Fault() *soap.Fault { return b.Fault_ } - -func EnterLockdownMode(ctx context.Context, r soap.RoundTripper, req *types.EnterLockdownMode) (*types.EnterLockdownModeResponse, error) { - var reqBody, resBody EnterLockdownModeBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type EnterMaintenanceMode_TaskBody struct { - Req *types.EnterMaintenanceMode_Task `xml:"urn:vim25 EnterMaintenanceMode_Task,omitempty"` - Res *types.EnterMaintenanceMode_TaskResponse `xml:"EnterMaintenanceMode_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *EnterMaintenanceMode_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func EnterMaintenanceMode_Task(ctx context.Context, r soap.RoundTripper, req *types.EnterMaintenanceMode_Task) (*types.EnterMaintenanceMode_TaskResponse, error) { - var reqBody, resBody EnterMaintenanceMode_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type EstimateDatabaseSizeBody struct { - Req *types.EstimateDatabaseSize `xml:"urn:vim25 EstimateDatabaseSize,omitempty"` - Res *types.EstimateDatabaseSizeResponse `xml:"EstimateDatabaseSizeResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *EstimateDatabaseSizeBody) Fault() *soap.Fault { return b.Fault_ } - -func EstimateDatabaseSize(ctx context.Context, r soap.RoundTripper, req *types.EstimateDatabaseSize) (*types.EstimateDatabaseSizeResponse, error) { - var reqBody, resBody EstimateDatabaseSizeBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type EstimateStorageForConsolidateSnapshots_TaskBody struct { - Req *types.EstimateStorageForConsolidateSnapshots_Task `xml:"urn:vim25 EstimateStorageForConsolidateSnapshots_Task,omitempty"` - Res *types.EstimateStorageForConsolidateSnapshots_TaskResponse `xml:"EstimateStorageForConsolidateSnapshots_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *EstimateStorageForConsolidateSnapshots_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func EstimateStorageForConsolidateSnapshots_Task(ctx context.Context, r soap.RoundTripper, req *types.EstimateStorageForConsolidateSnapshots_Task) (*types.EstimateStorageForConsolidateSnapshots_TaskResponse, error) { - var reqBody, resBody EstimateStorageForConsolidateSnapshots_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type EsxAgentHostManagerUpdateConfigBody struct { - Req *types.EsxAgentHostManagerUpdateConfig `xml:"urn:vim25 EsxAgentHostManagerUpdateConfig,omitempty"` - Res *types.EsxAgentHostManagerUpdateConfigResponse `xml:"EsxAgentHostManagerUpdateConfigResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *EsxAgentHostManagerUpdateConfigBody) Fault() *soap.Fault { return b.Fault_ } - -func EsxAgentHostManagerUpdateConfig(ctx context.Context, r soap.RoundTripper, req *types.EsxAgentHostManagerUpdateConfig) (*types.EsxAgentHostManagerUpdateConfigResponse, error) { - var reqBody, resBody EsxAgentHostManagerUpdateConfigBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type EvacuateVsanNode_TaskBody struct { - Req *types.EvacuateVsanNode_Task `xml:"urn:vim25 EvacuateVsanNode_Task,omitempty"` - Res *types.EvacuateVsanNode_TaskResponse `xml:"EvacuateVsanNode_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *EvacuateVsanNode_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func EvacuateVsanNode_Task(ctx context.Context, r soap.RoundTripper, req *types.EvacuateVsanNode_Task) (*types.EvacuateVsanNode_TaskResponse, error) { - var reqBody, resBody EvacuateVsanNode_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type EvcManagerBody struct { - Req *types.EvcManager `xml:"urn:vim25 EvcManager,omitempty"` - Res *types.EvcManagerResponse `xml:"EvcManagerResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *EvcManagerBody) Fault() *soap.Fault { return b.Fault_ } - -func EvcManager(ctx context.Context, r soap.RoundTripper, req *types.EvcManager) (*types.EvcManagerResponse, error) { - var reqBody, resBody EvcManagerBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ExecuteHostProfileBody struct { - Req *types.ExecuteHostProfile `xml:"urn:vim25 ExecuteHostProfile,omitempty"` - Res *types.ExecuteHostProfileResponse `xml:"ExecuteHostProfileResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ExecuteHostProfileBody) Fault() *soap.Fault { return b.Fault_ } - -func ExecuteHostProfile(ctx context.Context, r soap.RoundTripper, req *types.ExecuteHostProfile) (*types.ExecuteHostProfileResponse, error) { - var reqBody, resBody ExecuteHostProfileBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ExecuteSimpleCommandBody struct { - Req *types.ExecuteSimpleCommand `xml:"urn:vim25 ExecuteSimpleCommand,omitempty"` - Res *types.ExecuteSimpleCommandResponse `xml:"ExecuteSimpleCommandResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ExecuteSimpleCommandBody) Fault() *soap.Fault { return b.Fault_ } - -func ExecuteSimpleCommand(ctx context.Context, r soap.RoundTripper, req *types.ExecuteSimpleCommand) (*types.ExecuteSimpleCommandResponse, error) { - var reqBody, resBody ExecuteSimpleCommandBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ExitLockdownModeBody struct { - Req *types.ExitLockdownMode `xml:"urn:vim25 ExitLockdownMode,omitempty"` - Res *types.ExitLockdownModeResponse `xml:"ExitLockdownModeResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ExitLockdownModeBody) Fault() *soap.Fault { return b.Fault_ } - -func ExitLockdownMode(ctx context.Context, r soap.RoundTripper, req *types.ExitLockdownMode) (*types.ExitLockdownModeResponse, error) { - var reqBody, resBody ExitLockdownModeBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ExitMaintenanceMode_TaskBody struct { - Req *types.ExitMaintenanceMode_Task `xml:"urn:vim25 ExitMaintenanceMode_Task,omitempty"` - Res *types.ExitMaintenanceMode_TaskResponse `xml:"ExitMaintenanceMode_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ExitMaintenanceMode_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func ExitMaintenanceMode_Task(ctx context.Context, r soap.RoundTripper, req *types.ExitMaintenanceMode_Task) (*types.ExitMaintenanceMode_TaskResponse, error) { - var reqBody, resBody ExitMaintenanceMode_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ExpandVmfsDatastoreBody struct { - Req *types.ExpandVmfsDatastore `xml:"urn:vim25 ExpandVmfsDatastore,omitempty"` - Res *types.ExpandVmfsDatastoreResponse `xml:"ExpandVmfsDatastoreResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ExpandVmfsDatastoreBody) Fault() *soap.Fault { return b.Fault_ } - -func ExpandVmfsDatastore(ctx context.Context, r soap.RoundTripper, req *types.ExpandVmfsDatastore) (*types.ExpandVmfsDatastoreResponse, error) { - var reqBody, resBody ExpandVmfsDatastoreBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ExpandVmfsExtentBody struct { - Req *types.ExpandVmfsExtent `xml:"urn:vim25 ExpandVmfsExtent,omitempty"` - Res *types.ExpandVmfsExtentResponse `xml:"ExpandVmfsExtentResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ExpandVmfsExtentBody) Fault() *soap.Fault { return b.Fault_ } - -func ExpandVmfsExtent(ctx context.Context, r soap.RoundTripper, req *types.ExpandVmfsExtent) (*types.ExpandVmfsExtentResponse, error) { - var reqBody, resBody ExpandVmfsExtentBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ExportAnswerFile_TaskBody struct { - Req *types.ExportAnswerFile_Task `xml:"urn:vim25 ExportAnswerFile_Task,omitempty"` - Res *types.ExportAnswerFile_TaskResponse `xml:"ExportAnswerFile_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ExportAnswerFile_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func ExportAnswerFile_Task(ctx context.Context, r soap.RoundTripper, req *types.ExportAnswerFile_Task) (*types.ExportAnswerFile_TaskResponse, error) { - var reqBody, resBody ExportAnswerFile_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ExportProfileBody struct { - Req *types.ExportProfile `xml:"urn:vim25 ExportProfile,omitempty"` - Res *types.ExportProfileResponse `xml:"ExportProfileResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ExportProfileBody) Fault() *soap.Fault { return b.Fault_ } - -func ExportProfile(ctx context.Context, r soap.RoundTripper, req *types.ExportProfile) (*types.ExportProfileResponse, error) { - var reqBody, resBody ExportProfileBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ExportSnapshotBody struct { - Req *types.ExportSnapshot `xml:"urn:vim25 ExportSnapshot,omitempty"` - Res *types.ExportSnapshotResponse `xml:"ExportSnapshotResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ExportSnapshotBody) Fault() *soap.Fault { return b.Fault_ } - -func ExportSnapshot(ctx context.Context, r soap.RoundTripper, req *types.ExportSnapshot) (*types.ExportSnapshotResponse, error) { - var reqBody, resBody ExportSnapshotBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ExportVAppBody struct { - Req *types.ExportVApp `xml:"urn:vim25 ExportVApp,omitempty"` - Res *types.ExportVAppResponse `xml:"ExportVAppResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ExportVAppBody) Fault() *soap.Fault { return b.Fault_ } - -func ExportVApp(ctx context.Context, r soap.RoundTripper, req *types.ExportVApp) (*types.ExportVAppResponse, error) { - var reqBody, resBody ExportVAppBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ExportVmBody struct { - Req *types.ExportVm `xml:"urn:vim25 ExportVm,omitempty"` - Res *types.ExportVmResponse `xml:"ExportVmResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ExportVmBody) Fault() *soap.Fault { return b.Fault_ } - -func ExportVm(ctx context.Context, r soap.RoundTripper, req *types.ExportVm) (*types.ExportVmResponse, error) { - var reqBody, resBody ExportVmBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ExtendDisk_TaskBody struct { - Req *types.ExtendDisk_Task `xml:"urn:vim25 ExtendDisk_Task,omitempty"` - Res *types.ExtendDisk_TaskResponse `xml:"ExtendDisk_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ExtendDisk_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func ExtendDisk_Task(ctx context.Context, r soap.RoundTripper, req *types.ExtendDisk_Task) (*types.ExtendDisk_TaskResponse, error) { - var reqBody, resBody ExtendDisk_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ExtendHCI_TaskBody struct { - Req *types.ExtendHCI_Task `xml:"urn:vim25 ExtendHCI_Task,omitempty"` - Res *types.ExtendHCI_TaskResponse `xml:"ExtendHCI_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ExtendHCI_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func ExtendHCI_Task(ctx context.Context, r soap.RoundTripper, req *types.ExtendHCI_Task) (*types.ExtendHCI_TaskResponse, error) { - var reqBody, resBody ExtendHCI_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ExtendVffsBody struct { - Req *types.ExtendVffs `xml:"urn:vim25 ExtendVffs,omitempty"` - Res *types.ExtendVffsResponse `xml:"ExtendVffsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ExtendVffsBody) Fault() *soap.Fault { return b.Fault_ } - -func ExtendVffs(ctx context.Context, r soap.RoundTripper, req *types.ExtendVffs) (*types.ExtendVffsResponse, error) { - var reqBody, resBody ExtendVffsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ExtendVirtualDisk_TaskBody struct { - Req *types.ExtendVirtualDisk_Task `xml:"urn:vim25 ExtendVirtualDisk_Task,omitempty"` - Res *types.ExtendVirtualDisk_TaskResponse `xml:"ExtendVirtualDisk_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ExtendVirtualDisk_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func ExtendVirtualDisk_Task(ctx context.Context, r soap.RoundTripper, req *types.ExtendVirtualDisk_Task) (*types.ExtendVirtualDisk_TaskResponse, error) { - var reqBody, resBody ExtendVirtualDisk_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ExtendVmfsDatastoreBody struct { - Req *types.ExtendVmfsDatastore `xml:"urn:vim25 ExtendVmfsDatastore,omitempty"` - Res *types.ExtendVmfsDatastoreResponse `xml:"ExtendVmfsDatastoreResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ExtendVmfsDatastoreBody) Fault() *soap.Fault { return b.Fault_ } - -func ExtendVmfsDatastore(ctx context.Context, r soap.RoundTripper, req *types.ExtendVmfsDatastore) (*types.ExtendVmfsDatastoreResponse, error) { - var reqBody, resBody ExtendVmfsDatastoreBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ExtractOvfEnvironmentBody struct { - Req *types.ExtractOvfEnvironment `xml:"urn:vim25 ExtractOvfEnvironment,omitempty"` - Res *types.ExtractOvfEnvironmentResponse `xml:"ExtractOvfEnvironmentResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ExtractOvfEnvironmentBody) Fault() *soap.Fault { return b.Fault_ } - -func ExtractOvfEnvironment(ctx context.Context, r soap.RoundTripper, req *types.ExtractOvfEnvironment) (*types.ExtractOvfEnvironmentResponse, error) { - var reqBody, resBody ExtractOvfEnvironmentBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type FetchAuditRecordsBody struct { - Req *types.FetchAuditRecords `xml:"urn:vim25 FetchAuditRecords,omitempty"` - Res *types.FetchAuditRecordsResponse `xml:"FetchAuditRecordsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *FetchAuditRecordsBody) Fault() *soap.Fault { return b.Fault_ } - -func FetchAuditRecords(ctx context.Context, r soap.RoundTripper, req *types.FetchAuditRecords) (*types.FetchAuditRecordsResponse, error) { - var reqBody, resBody FetchAuditRecordsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type FetchDVPortKeysBody struct { - Req *types.FetchDVPortKeys `xml:"urn:vim25 FetchDVPortKeys,omitempty"` - Res *types.FetchDVPortKeysResponse `xml:"FetchDVPortKeysResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *FetchDVPortKeysBody) Fault() *soap.Fault { return b.Fault_ } - -func FetchDVPortKeys(ctx context.Context, r soap.RoundTripper, req *types.FetchDVPortKeys) (*types.FetchDVPortKeysResponse, error) { - var reqBody, resBody FetchDVPortKeysBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type FetchDVPortsBody struct { - Req *types.FetchDVPorts `xml:"urn:vim25 FetchDVPorts,omitempty"` - Res *types.FetchDVPortsResponse `xml:"FetchDVPortsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *FetchDVPortsBody) Fault() *soap.Fault { return b.Fault_ } - -func FetchDVPorts(ctx context.Context, r soap.RoundTripper, req *types.FetchDVPorts) (*types.FetchDVPortsResponse, error) { - var reqBody, resBody FetchDVPortsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type FetchSystemEventLogBody struct { - Req *types.FetchSystemEventLog `xml:"urn:vim25 FetchSystemEventLog,omitempty"` - Res *types.FetchSystemEventLogResponse `xml:"FetchSystemEventLogResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *FetchSystemEventLogBody) Fault() *soap.Fault { return b.Fault_ } - -func FetchSystemEventLog(ctx context.Context, r soap.RoundTripper, req *types.FetchSystemEventLog) (*types.FetchSystemEventLogResponse, error) { - var reqBody, resBody FetchSystemEventLogBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type FetchUserPrivilegeOnEntitiesBody struct { - Req *types.FetchUserPrivilegeOnEntities `xml:"urn:vim25 FetchUserPrivilegeOnEntities,omitempty"` - Res *types.FetchUserPrivilegeOnEntitiesResponse `xml:"FetchUserPrivilegeOnEntitiesResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *FetchUserPrivilegeOnEntitiesBody) Fault() *soap.Fault { return b.Fault_ } - -func FetchUserPrivilegeOnEntities(ctx context.Context, r soap.RoundTripper, req *types.FetchUserPrivilegeOnEntities) (*types.FetchUserPrivilegeOnEntitiesResponse, error) { - var reqBody, resBody FetchUserPrivilegeOnEntitiesBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type FindAllByDnsNameBody struct { - Req *types.FindAllByDnsName `xml:"urn:vim25 FindAllByDnsName,omitempty"` - Res *types.FindAllByDnsNameResponse `xml:"FindAllByDnsNameResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *FindAllByDnsNameBody) Fault() *soap.Fault { return b.Fault_ } - -func FindAllByDnsName(ctx context.Context, r soap.RoundTripper, req *types.FindAllByDnsName) (*types.FindAllByDnsNameResponse, error) { - var reqBody, resBody FindAllByDnsNameBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type FindAllByIpBody struct { - Req *types.FindAllByIp `xml:"urn:vim25 FindAllByIp,omitempty"` - Res *types.FindAllByIpResponse `xml:"FindAllByIpResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *FindAllByIpBody) Fault() *soap.Fault { return b.Fault_ } - -func FindAllByIp(ctx context.Context, r soap.RoundTripper, req *types.FindAllByIp) (*types.FindAllByIpResponse, error) { - var reqBody, resBody FindAllByIpBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type FindAllByUuidBody struct { - Req *types.FindAllByUuid `xml:"urn:vim25 FindAllByUuid,omitempty"` - Res *types.FindAllByUuidResponse `xml:"FindAllByUuidResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *FindAllByUuidBody) Fault() *soap.Fault { return b.Fault_ } - -func FindAllByUuid(ctx context.Context, r soap.RoundTripper, req *types.FindAllByUuid) (*types.FindAllByUuidResponse, error) { - var reqBody, resBody FindAllByUuidBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type FindAssociatedProfileBody struct { - Req *types.FindAssociatedProfile `xml:"urn:vim25 FindAssociatedProfile,omitempty"` - Res *types.FindAssociatedProfileResponse `xml:"FindAssociatedProfileResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *FindAssociatedProfileBody) Fault() *soap.Fault { return b.Fault_ } - -func FindAssociatedProfile(ctx context.Context, r soap.RoundTripper, req *types.FindAssociatedProfile) (*types.FindAssociatedProfileResponse, error) { - var reqBody, resBody FindAssociatedProfileBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type FindByDatastorePathBody struct { - Req *types.FindByDatastorePath `xml:"urn:vim25 FindByDatastorePath,omitempty"` - Res *types.FindByDatastorePathResponse `xml:"FindByDatastorePathResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *FindByDatastorePathBody) Fault() *soap.Fault { return b.Fault_ } - -func FindByDatastorePath(ctx context.Context, r soap.RoundTripper, req *types.FindByDatastorePath) (*types.FindByDatastorePathResponse, error) { - var reqBody, resBody FindByDatastorePathBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type FindByDnsNameBody struct { - Req *types.FindByDnsName `xml:"urn:vim25 FindByDnsName,omitempty"` - Res *types.FindByDnsNameResponse `xml:"FindByDnsNameResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *FindByDnsNameBody) Fault() *soap.Fault { return b.Fault_ } - -func FindByDnsName(ctx context.Context, r soap.RoundTripper, req *types.FindByDnsName) (*types.FindByDnsNameResponse, error) { - var reqBody, resBody FindByDnsNameBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type FindByInventoryPathBody struct { - Req *types.FindByInventoryPath `xml:"urn:vim25 FindByInventoryPath,omitempty"` - Res *types.FindByInventoryPathResponse `xml:"FindByInventoryPathResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *FindByInventoryPathBody) Fault() *soap.Fault { return b.Fault_ } - -func FindByInventoryPath(ctx context.Context, r soap.RoundTripper, req *types.FindByInventoryPath) (*types.FindByInventoryPathResponse, error) { - var reqBody, resBody FindByInventoryPathBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type FindByIpBody struct { - Req *types.FindByIp `xml:"urn:vim25 FindByIp,omitempty"` - Res *types.FindByIpResponse `xml:"FindByIpResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *FindByIpBody) Fault() *soap.Fault { return b.Fault_ } - -func FindByIp(ctx context.Context, r soap.RoundTripper, req *types.FindByIp) (*types.FindByIpResponse, error) { - var reqBody, resBody FindByIpBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type FindByUuidBody struct { - Req *types.FindByUuid `xml:"urn:vim25 FindByUuid,omitempty"` - Res *types.FindByUuidResponse `xml:"FindByUuidResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *FindByUuidBody) Fault() *soap.Fault { return b.Fault_ } - -func FindByUuid(ctx context.Context, r soap.RoundTripper, req *types.FindByUuid) (*types.FindByUuidResponse, error) { - var reqBody, resBody FindByUuidBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type FindChildBody struct { - Req *types.FindChild `xml:"urn:vim25 FindChild,omitempty"` - Res *types.FindChildResponse `xml:"FindChildResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *FindChildBody) Fault() *soap.Fault { return b.Fault_ } - -func FindChild(ctx context.Context, r soap.RoundTripper, req *types.FindChild) (*types.FindChildResponse, error) { - var reqBody, resBody FindChildBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type FindExtensionBody struct { - Req *types.FindExtension `xml:"urn:vim25 FindExtension,omitempty"` - Res *types.FindExtensionResponse `xml:"FindExtensionResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *FindExtensionBody) Fault() *soap.Fault { return b.Fault_ } - -func FindExtension(ctx context.Context, r soap.RoundTripper, req *types.FindExtension) (*types.FindExtensionResponse, error) { - var reqBody, resBody FindExtensionBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type FindRulesForVmBody struct { - Req *types.FindRulesForVm `xml:"urn:vim25 FindRulesForVm,omitempty"` - Res *types.FindRulesForVmResponse `xml:"FindRulesForVmResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *FindRulesForVmBody) Fault() *soap.Fault { return b.Fault_ } - -func FindRulesForVm(ctx context.Context, r soap.RoundTripper, req *types.FindRulesForVm) (*types.FindRulesForVmResponse, error) { - var reqBody, resBody FindRulesForVmBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type FormatVffsBody struct { - Req *types.FormatVffs `xml:"urn:vim25 FormatVffs,omitempty"` - Res *types.FormatVffsResponse `xml:"FormatVffsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *FormatVffsBody) Fault() *soap.Fault { return b.Fault_ } - -func FormatVffs(ctx context.Context, r soap.RoundTripper, req *types.FormatVffs) (*types.FormatVffsResponse, error) { - var reqBody, resBody FormatVffsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type FormatVmfsBody struct { - Req *types.FormatVmfs `xml:"urn:vim25 FormatVmfs,omitempty"` - Res *types.FormatVmfsResponse `xml:"FormatVmfsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *FormatVmfsBody) Fault() *soap.Fault { return b.Fault_ } - -func FormatVmfs(ctx context.Context, r soap.RoundTripper, req *types.FormatVmfs) (*types.FormatVmfsResponse, error) { - var reqBody, resBody FormatVmfsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type GenerateCertificateSigningRequestBody struct { - Req *types.GenerateCertificateSigningRequest `xml:"urn:vim25 GenerateCertificateSigningRequest,omitempty"` - Res *types.GenerateCertificateSigningRequestResponse `xml:"GenerateCertificateSigningRequestResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *GenerateCertificateSigningRequestBody) Fault() *soap.Fault { return b.Fault_ } - -func GenerateCertificateSigningRequest(ctx context.Context, r soap.RoundTripper, req *types.GenerateCertificateSigningRequest) (*types.GenerateCertificateSigningRequestResponse, error) { - var reqBody, resBody GenerateCertificateSigningRequestBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type GenerateCertificateSigningRequestByDnBody struct { - Req *types.GenerateCertificateSigningRequestByDn `xml:"urn:vim25 GenerateCertificateSigningRequestByDn,omitempty"` - Res *types.GenerateCertificateSigningRequestByDnResponse `xml:"GenerateCertificateSigningRequestByDnResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *GenerateCertificateSigningRequestByDnBody) Fault() *soap.Fault { return b.Fault_ } - -func GenerateCertificateSigningRequestByDn(ctx context.Context, r soap.RoundTripper, req *types.GenerateCertificateSigningRequestByDn) (*types.GenerateCertificateSigningRequestByDnResponse, error) { - var reqBody, resBody GenerateCertificateSigningRequestByDnBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type GenerateClientCsrBody struct { - Req *types.GenerateClientCsr `xml:"urn:vim25 GenerateClientCsr,omitempty"` - Res *types.GenerateClientCsrResponse `xml:"GenerateClientCsrResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *GenerateClientCsrBody) Fault() *soap.Fault { return b.Fault_ } - -func GenerateClientCsr(ctx context.Context, r soap.RoundTripper, req *types.GenerateClientCsr) (*types.GenerateClientCsrResponse, error) { - var reqBody, resBody GenerateClientCsrBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type GenerateConfigTaskListBody struct { - Req *types.GenerateConfigTaskList `xml:"urn:vim25 GenerateConfigTaskList,omitempty"` - Res *types.GenerateConfigTaskListResponse `xml:"GenerateConfigTaskListResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *GenerateConfigTaskListBody) Fault() *soap.Fault { return b.Fault_ } - -func GenerateConfigTaskList(ctx context.Context, r soap.RoundTripper, req *types.GenerateConfigTaskList) (*types.GenerateConfigTaskListResponse, error) { - var reqBody, resBody GenerateConfigTaskListBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type GenerateHostConfigTaskSpec_TaskBody struct { - Req *types.GenerateHostConfigTaskSpec_Task `xml:"urn:vim25 GenerateHostConfigTaskSpec_Task,omitempty"` - Res *types.GenerateHostConfigTaskSpec_TaskResponse `xml:"GenerateHostConfigTaskSpec_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *GenerateHostConfigTaskSpec_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func GenerateHostConfigTaskSpec_Task(ctx context.Context, r soap.RoundTripper, req *types.GenerateHostConfigTaskSpec_Task) (*types.GenerateHostConfigTaskSpec_TaskResponse, error) { - var reqBody, resBody GenerateHostConfigTaskSpec_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type GenerateHostProfileTaskList_TaskBody struct { - Req *types.GenerateHostProfileTaskList_Task `xml:"urn:vim25 GenerateHostProfileTaskList_Task,omitempty"` - Res *types.GenerateHostProfileTaskList_TaskResponse `xml:"GenerateHostProfileTaskList_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *GenerateHostProfileTaskList_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func GenerateHostProfileTaskList_Task(ctx context.Context, r soap.RoundTripper, req *types.GenerateHostProfileTaskList_Task) (*types.GenerateHostProfileTaskList_TaskResponse, error) { - var reqBody, resBody GenerateHostProfileTaskList_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type GenerateKeyBody struct { - Req *types.GenerateKey `xml:"urn:vim25 GenerateKey,omitempty"` - Res *types.GenerateKeyResponse `xml:"GenerateKeyResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *GenerateKeyBody) Fault() *soap.Fault { return b.Fault_ } - -func GenerateKey(ctx context.Context, r soap.RoundTripper, req *types.GenerateKey) (*types.GenerateKeyResponse, error) { - var reqBody, resBody GenerateKeyBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type GenerateLogBundles_TaskBody struct { - Req *types.GenerateLogBundles_Task `xml:"urn:vim25 GenerateLogBundles_Task,omitempty"` - Res *types.GenerateLogBundles_TaskResponse `xml:"GenerateLogBundles_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *GenerateLogBundles_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func GenerateLogBundles_Task(ctx context.Context, r soap.RoundTripper, req *types.GenerateLogBundles_Task) (*types.GenerateLogBundles_TaskResponse, error) { - var reqBody, resBody GenerateLogBundles_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type GenerateSelfSignedClientCertBody struct { - Req *types.GenerateSelfSignedClientCert `xml:"urn:vim25 GenerateSelfSignedClientCert,omitempty"` - Res *types.GenerateSelfSignedClientCertResponse `xml:"GenerateSelfSignedClientCertResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *GenerateSelfSignedClientCertBody) Fault() *soap.Fault { return b.Fault_ } - -func GenerateSelfSignedClientCert(ctx context.Context, r soap.RoundTripper, req *types.GenerateSelfSignedClientCert) (*types.GenerateSelfSignedClientCertResponse, error) { - var reqBody, resBody GenerateSelfSignedClientCertBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type GetAlarmBody struct { - Req *types.GetAlarm `xml:"urn:vim25 GetAlarm,omitempty"` - Res *types.GetAlarmResponse `xml:"GetAlarmResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *GetAlarmBody) Fault() *soap.Fault { return b.Fault_ } - -func GetAlarm(ctx context.Context, r soap.RoundTripper, req *types.GetAlarm) (*types.GetAlarmResponse, error) { - var reqBody, resBody GetAlarmBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type GetAlarmStateBody struct { - Req *types.GetAlarmState `xml:"urn:vim25 GetAlarmState,omitempty"` - Res *types.GetAlarmStateResponse `xml:"GetAlarmStateResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *GetAlarmStateBody) Fault() *soap.Fault { return b.Fault_ } - -func GetAlarmState(ctx context.Context, r soap.RoundTripper, req *types.GetAlarmState) (*types.GetAlarmStateResponse, error) { - var reqBody, resBody GetAlarmStateBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type GetCustomizationSpecBody struct { - Req *types.GetCustomizationSpec `xml:"urn:vim25 GetCustomizationSpec,omitempty"` - Res *types.GetCustomizationSpecResponse `xml:"GetCustomizationSpecResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *GetCustomizationSpecBody) Fault() *soap.Fault { return b.Fault_ } - -func GetCustomizationSpec(ctx context.Context, r soap.RoundTripper, req *types.GetCustomizationSpec) (*types.GetCustomizationSpecResponse, error) { - var reqBody, resBody GetCustomizationSpecBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type GetDefaultKmsClusterBody struct { - Req *types.GetDefaultKmsCluster `xml:"urn:vim25 GetDefaultKmsCluster,omitempty"` - Res *types.GetDefaultKmsClusterResponse `xml:"GetDefaultKmsClusterResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *GetDefaultKmsClusterBody) Fault() *soap.Fault { return b.Fault_ } - -func GetDefaultKmsCluster(ctx context.Context, r soap.RoundTripper, req *types.GetDefaultKmsCluster) (*types.GetDefaultKmsClusterResponse, error) { - var reqBody, resBody GetDefaultKmsClusterBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type GetPublicKeyBody struct { - Req *types.GetPublicKey `xml:"urn:vim25 GetPublicKey,omitempty"` - Res *types.GetPublicKeyResponse `xml:"GetPublicKeyResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *GetPublicKeyBody) Fault() *soap.Fault { return b.Fault_ } - -func GetPublicKey(ctx context.Context, r soap.RoundTripper, req *types.GetPublicKey) (*types.GetPublicKeyResponse, error) { - var reqBody, resBody GetPublicKeyBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type GetResourceUsageBody struct { - Req *types.GetResourceUsage `xml:"urn:vim25 GetResourceUsage,omitempty"` - Res *types.GetResourceUsageResponse `xml:"GetResourceUsageResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *GetResourceUsageBody) Fault() *soap.Fault { return b.Fault_ } - -func GetResourceUsage(ctx context.Context, r soap.RoundTripper, req *types.GetResourceUsage) (*types.GetResourceUsageResponse, error) { - var reqBody, resBody GetResourceUsageBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type GetSiteInfoBody struct { - Req *types.GetSiteInfo `xml:"urn:vim25 GetSiteInfo,omitempty"` - Res *types.GetSiteInfoResponse `xml:"GetSiteInfoResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *GetSiteInfoBody) Fault() *soap.Fault { return b.Fault_ } - -func GetSiteInfo(ctx context.Context, r soap.RoundTripper, req *types.GetSiteInfo) (*types.GetSiteInfoResponse, error) { - var reqBody, resBody GetSiteInfoBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type GetSystemVMsRestrictedDatastoresBody struct { - Req *types.GetSystemVMsRestrictedDatastores `xml:"urn:vim25 GetSystemVMsRestrictedDatastores,omitempty"` - Res *types.GetSystemVMsRestrictedDatastoresResponse `xml:"GetSystemVMsRestrictedDatastoresResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *GetSystemVMsRestrictedDatastoresBody) Fault() *soap.Fault { return b.Fault_ } - -func GetSystemVMsRestrictedDatastores(ctx context.Context, r soap.RoundTripper, req *types.GetSystemVMsRestrictedDatastores) (*types.GetSystemVMsRestrictedDatastoresResponse, error) { - var reqBody, resBody GetSystemVMsRestrictedDatastoresBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type GetVchaClusterHealthBody struct { - Req *types.GetVchaClusterHealth `xml:"urn:vim25 GetVchaClusterHealth,omitempty"` - Res *types.GetVchaClusterHealthResponse `xml:"GetVchaClusterHealthResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *GetVchaClusterHealthBody) Fault() *soap.Fault { return b.Fault_ } - -func GetVchaClusterHealth(ctx context.Context, r soap.RoundTripper, req *types.GetVchaClusterHealth) (*types.GetVchaClusterHealthResponse, error) { - var reqBody, resBody GetVchaClusterHealthBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type GetVsanObjExtAttrsBody struct { - Req *types.GetVsanObjExtAttrs `xml:"urn:vim25 GetVsanObjExtAttrs,omitempty"` - Res *types.GetVsanObjExtAttrsResponse `xml:"GetVsanObjExtAttrsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *GetVsanObjExtAttrsBody) Fault() *soap.Fault { return b.Fault_ } - -func GetVsanObjExtAttrs(ctx context.Context, r soap.RoundTripper, req *types.GetVsanObjExtAttrs) (*types.GetVsanObjExtAttrsResponse, error) { - var reqBody, resBody GetVsanObjExtAttrsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type HasMonitoredEntityBody struct { - Req *types.HasMonitoredEntity `xml:"urn:vim25 HasMonitoredEntity,omitempty"` - Res *types.HasMonitoredEntityResponse `xml:"HasMonitoredEntityResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *HasMonitoredEntityBody) Fault() *soap.Fault { return b.Fault_ } - -func HasMonitoredEntity(ctx context.Context, r soap.RoundTripper, req *types.HasMonitoredEntity) (*types.HasMonitoredEntityResponse, error) { - var reqBody, resBody HasMonitoredEntityBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type HasPrivilegeOnEntitiesBody struct { - Req *types.HasPrivilegeOnEntities `xml:"urn:vim25 HasPrivilegeOnEntities,omitempty"` - Res *types.HasPrivilegeOnEntitiesResponse `xml:"HasPrivilegeOnEntitiesResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *HasPrivilegeOnEntitiesBody) Fault() *soap.Fault { return b.Fault_ } - -func HasPrivilegeOnEntities(ctx context.Context, r soap.RoundTripper, req *types.HasPrivilegeOnEntities) (*types.HasPrivilegeOnEntitiesResponse, error) { - var reqBody, resBody HasPrivilegeOnEntitiesBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type HasPrivilegeOnEntityBody struct { - Req *types.HasPrivilegeOnEntity `xml:"urn:vim25 HasPrivilegeOnEntity,omitempty"` - Res *types.HasPrivilegeOnEntityResponse `xml:"HasPrivilegeOnEntityResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *HasPrivilegeOnEntityBody) Fault() *soap.Fault { return b.Fault_ } - -func HasPrivilegeOnEntity(ctx context.Context, r soap.RoundTripper, req *types.HasPrivilegeOnEntity) (*types.HasPrivilegeOnEntityResponse, error) { - var reqBody, resBody HasPrivilegeOnEntityBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type HasProviderBody struct { - Req *types.HasProvider `xml:"urn:vim25 HasProvider,omitempty"` - Res *types.HasProviderResponse `xml:"HasProviderResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *HasProviderBody) Fault() *soap.Fault { return b.Fault_ } - -func HasProvider(ctx context.Context, r soap.RoundTripper, req *types.HasProvider) (*types.HasProviderResponse, error) { - var reqBody, resBody HasProviderBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type HasUserPrivilegeOnEntitiesBody struct { - Req *types.HasUserPrivilegeOnEntities `xml:"urn:vim25 HasUserPrivilegeOnEntities,omitempty"` - Res *types.HasUserPrivilegeOnEntitiesResponse `xml:"HasUserPrivilegeOnEntitiesResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *HasUserPrivilegeOnEntitiesBody) Fault() *soap.Fault { return b.Fault_ } - -func HasUserPrivilegeOnEntities(ctx context.Context, r soap.RoundTripper, req *types.HasUserPrivilegeOnEntities) (*types.HasUserPrivilegeOnEntitiesResponse, error) { - var reqBody, resBody HasUserPrivilegeOnEntitiesBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type HostClearVStorageObjectControlFlagsBody struct { - Req *types.HostClearVStorageObjectControlFlags `xml:"urn:vim25 HostClearVStorageObjectControlFlags,omitempty"` - Res *types.HostClearVStorageObjectControlFlagsResponse `xml:"HostClearVStorageObjectControlFlagsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *HostClearVStorageObjectControlFlagsBody) Fault() *soap.Fault { return b.Fault_ } - -func HostClearVStorageObjectControlFlags(ctx context.Context, r soap.RoundTripper, req *types.HostClearVStorageObjectControlFlags) (*types.HostClearVStorageObjectControlFlagsResponse, error) { - var reqBody, resBody HostClearVStorageObjectControlFlagsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type HostCloneVStorageObject_TaskBody struct { - Req *types.HostCloneVStorageObject_Task `xml:"urn:vim25 HostCloneVStorageObject_Task,omitempty"` - Res *types.HostCloneVStorageObject_TaskResponse `xml:"HostCloneVStorageObject_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *HostCloneVStorageObject_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func HostCloneVStorageObject_Task(ctx context.Context, r soap.RoundTripper, req *types.HostCloneVStorageObject_Task) (*types.HostCloneVStorageObject_TaskResponse, error) { - var reqBody, resBody HostCloneVStorageObject_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type HostConfigVFlashCacheBody struct { - Req *types.HostConfigVFlashCache `xml:"urn:vim25 HostConfigVFlashCache,omitempty"` - Res *types.HostConfigVFlashCacheResponse `xml:"HostConfigVFlashCacheResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *HostConfigVFlashCacheBody) Fault() *soap.Fault { return b.Fault_ } - -func HostConfigVFlashCache(ctx context.Context, r soap.RoundTripper, req *types.HostConfigVFlashCache) (*types.HostConfigVFlashCacheResponse, error) { - var reqBody, resBody HostConfigVFlashCacheBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type HostConfigureVFlashResourceBody struct { - Req *types.HostConfigureVFlashResource `xml:"urn:vim25 HostConfigureVFlashResource,omitempty"` - Res *types.HostConfigureVFlashResourceResponse `xml:"HostConfigureVFlashResourceResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *HostConfigureVFlashResourceBody) Fault() *soap.Fault { return b.Fault_ } - -func HostConfigureVFlashResource(ctx context.Context, r soap.RoundTripper, req *types.HostConfigureVFlashResource) (*types.HostConfigureVFlashResourceResponse, error) { - var reqBody, resBody HostConfigureVFlashResourceBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type HostCreateDisk_TaskBody struct { - Req *types.HostCreateDisk_Task `xml:"urn:vim25 HostCreateDisk_Task,omitempty"` - Res *types.HostCreateDisk_TaskResponse `xml:"HostCreateDisk_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *HostCreateDisk_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func HostCreateDisk_Task(ctx context.Context, r soap.RoundTripper, req *types.HostCreateDisk_Task) (*types.HostCreateDisk_TaskResponse, error) { - var reqBody, resBody HostCreateDisk_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type HostDeleteVStorageObjectEx_TaskBody struct { - Req *types.HostDeleteVStorageObjectEx_Task `xml:"urn:vim25 HostDeleteVStorageObjectEx_Task,omitempty"` - Res *types.HostDeleteVStorageObjectEx_TaskResponse `xml:"HostDeleteVStorageObjectEx_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *HostDeleteVStorageObjectEx_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func HostDeleteVStorageObjectEx_Task(ctx context.Context, r soap.RoundTripper, req *types.HostDeleteVStorageObjectEx_Task) (*types.HostDeleteVStorageObjectEx_TaskResponse, error) { - var reqBody, resBody HostDeleteVStorageObjectEx_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type HostDeleteVStorageObject_TaskBody struct { - Req *types.HostDeleteVStorageObject_Task `xml:"urn:vim25 HostDeleteVStorageObject_Task,omitempty"` - Res *types.HostDeleteVStorageObject_TaskResponse `xml:"HostDeleteVStorageObject_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *HostDeleteVStorageObject_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func HostDeleteVStorageObject_Task(ctx context.Context, r soap.RoundTripper, req *types.HostDeleteVStorageObject_Task) (*types.HostDeleteVStorageObject_TaskResponse, error) { - var reqBody, resBody HostDeleteVStorageObject_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type HostExtendDisk_TaskBody struct { - Req *types.HostExtendDisk_Task `xml:"urn:vim25 HostExtendDisk_Task,omitempty"` - Res *types.HostExtendDisk_TaskResponse `xml:"HostExtendDisk_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *HostExtendDisk_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func HostExtendDisk_Task(ctx context.Context, r soap.RoundTripper, req *types.HostExtendDisk_Task) (*types.HostExtendDisk_TaskResponse, error) { - var reqBody, resBody HostExtendDisk_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type HostGetVFlashModuleDefaultConfigBody struct { - Req *types.HostGetVFlashModuleDefaultConfig `xml:"urn:vim25 HostGetVFlashModuleDefaultConfig,omitempty"` - Res *types.HostGetVFlashModuleDefaultConfigResponse `xml:"HostGetVFlashModuleDefaultConfigResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *HostGetVFlashModuleDefaultConfigBody) Fault() *soap.Fault { return b.Fault_ } - -func HostGetVFlashModuleDefaultConfig(ctx context.Context, r soap.RoundTripper, req *types.HostGetVFlashModuleDefaultConfig) (*types.HostGetVFlashModuleDefaultConfigResponse, error) { - var reqBody, resBody HostGetVFlashModuleDefaultConfigBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type HostImageConfigGetAcceptanceBody struct { - Req *types.HostImageConfigGetAcceptance `xml:"urn:vim25 HostImageConfigGetAcceptance,omitempty"` - Res *types.HostImageConfigGetAcceptanceResponse `xml:"HostImageConfigGetAcceptanceResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *HostImageConfigGetAcceptanceBody) Fault() *soap.Fault { return b.Fault_ } - -func HostImageConfigGetAcceptance(ctx context.Context, r soap.RoundTripper, req *types.HostImageConfigGetAcceptance) (*types.HostImageConfigGetAcceptanceResponse, error) { - var reqBody, resBody HostImageConfigGetAcceptanceBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type HostImageConfigGetProfileBody struct { - Req *types.HostImageConfigGetProfile `xml:"urn:vim25 HostImageConfigGetProfile,omitempty"` - Res *types.HostImageConfigGetProfileResponse `xml:"HostImageConfigGetProfileResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *HostImageConfigGetProfileBody) Fault() *soap.Fault { return b.Fault_ } - -func HostImageConfigGetProfile(ctx context.Context, r soap.RoundTripper, req *types.HostImageConfigGetProfile) (*types.HostImageConfigGetProfileResponse, error) { - var reqBody, resBody HostImageConfigGetProfileBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type HostInflateDisk_TaskBody struct { - Req *types.HostInflateDisk_Task `xml:"urn:vim25 HostInflateDisk_Task,omitempty"` - Res *types.HostInflateDisk_TaskResponse `xml:"HostInflateDisk_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *HostInflateDisk_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func HostInflateDisk_Task(ctx context.Context, r soap.RoundTripper, req *types.HostInflateDisk_Task) (*types.HostInflateDisk_TaskResponse, error) { - var reqBody, resBody HostInflateDisk_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type HostListVStorageObjectBody struct { - Req *types.HostListVStorageObject `xml:"urn:vim25 HostListVStorageObject,omitempty"` - Res *types.HostListVStorageObjectResponse `xml:"HostListVStorageObjectResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *HostListVStorageObjectBody) Fault() *soap.Fault { return b.Fault_ } - -func HostListVStorageObject(ctx context.Context, r soap.RoundTripper, req *types.HostListVStorageObject) (*types.HostListVStorageObjectResponse, error) { - var reqBody, resBody HostListVStorageObjectBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type HostProfileResetValidationStateBody struct { - Req *types.HostProfileResetValidationState `xml:"urn:vim25 HostProfileResetValidationState,omitempty"` - Res *types.HostProfileResetValidationStateResponse `xml:"HostProfileResetValidationStateResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *HostProfileResetValidationStateBody) Fault() *soap.Fault { return b.Fault_ } - -func HostProfileResetValidationState(ctx context.Context, r soap.RoundTripper, req *types.HostProfileResetValidationState) (*types.HostProfileResetValidationStateResponse, error) { - var reqBody, resBody HostProfileResetValidationStateBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type HostReconcileDatastoreInventory_TaskBody struct { - Req *types.HostReconcileDatastoreInventory_Task `xml:"urn:vim25 HostReconcileDatastoreInventory_Task,omitempty"` - Res *types.HostReconcileDatastoreInventory_TaskResponse `xml:"HostReconcileDatastoreInventory_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *HostReconcileDatastoreInventory_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func HostReconcileDatastoreInventory_Task(ctx context.Context, r soap.RoundTripper, req *types.HostReconcileDatastoreInventory_Task) (*types.HostReconcileDatastoreInventory_TaskResponse, error) { - var reqBody, resBody HostReconcileDatastoreInventory_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type HostRegisterDiskBody struct { - Req *types.HostRegisterDisk `xml:"urn:vim25 HostRegisterDisk,omitempty"` - Res *types.HostRegisterDiskResponse `xml:"HostRegisterDiskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *HostRegisterDiskBody) Fault() *soap.Fault { return b.Fault_ } - -func HostRegisterDisk(ctx context.Context, r soap.RoundTripper, req *types.HostRegisterDisk) (*types.HostRegisterDiskResponse, error) { - var reqBody, resBody HostRegisterDiskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type HostRelocateVStorageObject_TaskBody struct { - Req *types.HostRelocateVStorageObject_Task `xml:"urn:vim25 HostRelocateVStorageObject_Task,omitempty"` - Res *types.HostRelocateVStorageObject_TaskResponse `xml:"HostRelocateVStorageObject_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *HostRelocateVStorageObject_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func HostRelocateVStorageObject_Task(ctx context.Context, r soap.RoundTripper, req *types.HostRelocateVStorageObject_Task) (*types.HostRelocateVStorageObject_TaskResponse, error) { - var reqBody, resBody HostRelocateVStorageObject_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type HostRemoveVFlashResourceBody struct { - Req *types.HostRemoveVFlashResource `xml:"urn:vim25 HostRemoveVFlashResource,omitempty"` - Res *types.HostRemoveVFlashResourceResponse `xml:"HostRemoveVFlashResourceResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *HostRemoveVFlashResourceBody) Fault() *soap.Fault { return b.Fault_ } - -func HostRemoveVFlashResource(ctx context.Context, r soap.RoundTripper, req *types.HostRemoveVFlashResource) (*types.HostRemoveVFlashResourceResponse, error) { - var reqBody, resBody HostRemoveVFlashResourceBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type HostRenameVStorageObjectBody struct { - Req *types.HostRenameVStorageObject `xml:"urn:vim25 HostRenameVStorageObject,omitempty"` - Res *types.HostRenameVStorageObjectResponse `xml:"HostRenameVStorageObjectResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *HostRenameVStorageObjectBody) Fault() *soap.Fault { return b.Fault_ } - -func HostRenameVStorageObject(ctx context.Context, r soap.RoundTripper, req *types.HostRenameVStorageObject) (*types.HostRenameVStorageObjectResponse, error) { - var reqBody, resBody HostRenameVStorageObjectBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type HostRetrieveVStorageInfrastructureObjectPolicyBody struct { - Req *types.HostRetrieveVStorageInfrastructureObjectPolicy `xml:"urn:vim25 HostRetrieveVStorageInfrastructureObjectPolicy,omitempty"` - Res *types.HostRetrieveVStorageInfrastructureObjectPolicyResponse `xml:"HostRetrieveVStorageInfrastructureObjectPolicyResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *HostRetrieveVStorageInfrastructureObjectPolicyBody) Fault() *soap.Fault { return b.Fault_ } - -func HostRetrieveVStorageInfrastructureObjectPolicy(ctx context.Context, r soap.RoundTripper, req *types.HostRetrieveVStorageInfrastructureObjectPolicy) (*types.HostRetrieveVStorageInfrastructureObjectPolicyResponse, error) { - var reqBody, resBody HostRetrieveVStorageInfrastructureObjectPolicyBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type HostRetrieveVStorageObjectBody struct { - Req *types.HostRetrieveVStorageObject `xml:"urn:vim25 HostRetrieveVStorageObject,omitempty"` - Res *types.HostRetrieveVStorageObjectResponse `xml:"HostRetrieveVStorageObjectResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *HostRetrieveVStorageObjectBody) Fault() *soap.Fault { return b.Fault_ } - -func HostRetrieveVStorageObject(ctx context.Context, r soap.RoundTripper, req *types.HostRetrieveVStorageObject) (*types.HostRetrieveVStorageObjectResponse, error) { - var reqBody, resBody HostRetrieveVStorageObjectBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type HostRetrieveVStorageObjectMetadataBody struct { - Req *types.HostRetrieveVStorageObjectMetadata `xml:"urn:vim25 HostRetrieveVStorageObjectMetadata,omitempty"` - Res *types.HostRetrieveVStorageObjectMetadataResponse `xml:"HostRetrieveVStorageObjectMetadataResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *HostRetrieveVStorageObjectMetadataBody) Fault() *soap.Fault { return b.Fault_ } - -func HostRetrieveVStorageObjectMetadata(ctx context.Context, r soap.RoundTripper, req *types.HostRetrieveVStorageObjectMetadata) (*types.HostRetrieveVStorageObjectMetadataResponse, error) { - var reqBody, resBody HostRetrieveVStorageObjectMetadataBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type HostRetrieveVStorageObjectMetadataValueBody struct { - Req *types.HostRetrieveVStorageObjectMetadataValue `xml:"urn:vim25 HostRetrieveVStorageObjectMetadataValue,omitempty"` - Res *types.HostRetrieveVStorageObjectMetadataValueResponse `xml:"HostRetrieveVStorageObjectMetadataValueResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *HostRetrieveVStorageObjectMetadataValueBody) Fault() *soap.Fault { return b.Fault_ } - -func HostRetrieveVStorageObjectMetadataValue(ctx context.Context, r soap.RoundTripper, req *types.HostRetrieveVStorageObjectMetadataValue) (*types.HostRetrieveVStorageObjectMetadataValueResponse, error) { - var reqBody, resBody HostRetrieveVStorageObjectMetadataValueBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type HostRetrieveVStorageObjectStateBody struct { - Req *types.HostRetrieveVStorageObjectState `xml:"urn:vim25 HostRetrieveVStorageObjectState,omitempty"` - Res *types.HostRetrieveVStorageObjectStateResponse `xml:"HostRetrieveVStorageObjectStateResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *HostRetrieveVStorageObjectStateBody) Fault() *soap.Fault { return b.Fault_ } - -func HostRetrieveVStorageObjectState(ctx context.Context, r soap.RoundTripper, req *types.HostRetrieveVStorageObjectState) (*types.HostRetrieveVStorageObjectStateResponse, error) { - var reqBody, resBody HostRetrieveVStorageObjectStateBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type HostScheduleReconcileDatastoreInventoryBody struct { - Req *types.HostScheduleReconcileDatastoreInventory `xml:"urn:vim25 HostScheduleReconcileDatastoreInventory,omitempty"` - Res *types.HostScheduleReconcileDatastoreInventoryResponse `xml:"HostScheduleReconcileDatastoreInventoryResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *HostScheduleReconcileDatastoreInventoryBody) Fault() *soap.Fault { return b.Fault_ } - -func HostScheduleReconcileDatastoreInventory(ctx context.Context, r soap.RoundTripper, req *types.HostScheduleReconcileDatastoreInventory) (*types.HostScheduleReconcileDatastoreInventoryResponse, error) { - var reqBody, resBody HostScheduleReconcileDatastoreInventoryBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type HostSetVStorageObjectControlFlagsBody struct { - Req *types.HostSetVStorageObjectControlFlags `xml:"urn:vim25 HostSetVStorageObjectControlFlags,omitempty"` - Res *types.HostSetVStorageObjectControlFlagsResponse `xml:"HostSetVStorageObjectControlFlagsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *HostSetVStorageObjectControlFlagsBody) Fault() *soap.Fault { return b.Fault_ } - -func HostSetVStorageObjectControlFlags(ctx context.Context, r soap.RoundTripper, req *types.HostSetVStorageObjectControlFlags) (*types.HostSetVStorageObjectControlFlagsResponse, error) { - var reqBody, resBody HostSetVStorageObjectControlFlagsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type HostSpecGetUpdatedHostsBody struct { - Req *types.HostSpecGetUpdatedHosts `xml:"urn:vim25 HostSpecGetUpdatedHosts,omitempty"` - Res *types.HostSpecGetUpdatedHostsResponse `xml:"HostSpecGetUpdatedHostsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *HostSpecGetUpdatedHostsBody) Fault() *soap.Fault { return b.Fault_ } - -func HostSpecGetUpdatedHosts(ctx context.Context, r soap.RoundTripper, req *types.HostSpecGetUpdatedHosts) (*types.HostSpecGetUpdatedHostsResponse, error) { - var reqBody, resBody HostSpecGetUpdatedHostsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type HostUpdateVStorageObjectMetadataEx_TaskBody struct { - Req *types.HostUpdateVStorageObjectMetadataEx_Task `xml:"urn:vim25 HostUpdateVStorageObjectMetadataEx_Task,omitempty"` - Res *types.HostUpdateVStorageObjectMetadataEx_TaskResponse `xml:"HostUpdateVStorageObjectMetadataEx_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *HostUpdateVStorageObjectMetadataEx_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func HostUpdateVStorageObjectMetadataEx_Task(ctx context.Context, r soap.RoundTripper, req *types.HostUpdateVStorageObjectMetadataEx_Task) (*types.HostUpdateVStorageObjectMetadataEx_TaskResponse, error) { - var reqBody, resBody HostUpdateVStorageObjectMetadataEx_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type HostUpdateVStorageObjectMetadata_TaskBody struct { - Req *types.HostUpdateVStorageObjectMetadata_Task `xml:"urn:vim25 HostUpdateVStorageObjectMetadata_Task,omitempty"` - Res *types.HostUpdateVStorageObjectMetadata_TaskResponse `xml:"HostUpdateVStorageObjectMetadata_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *HostUpdateVStorageObjectMetadata_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func HostUpdateVStorageObjectMetadata_Task(ctx context.Context, r soap.RoundTripper, req *types.HostUpdateVStorageObjectMetadata_Task) (*types.HostUpdateVStorageObjectMetadata_TaskResponse, error) { - var reqBody, resBody HostUpdateVStorageObjectMetadata_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type HostVStorageObjectCreateDiskFromSnapshot_TaskBody struct { - Req *types.HostVStorageObjectCreateDiskFromSnapshot_Task `xml:"urn:vim25 HostVStorageObjectCreateDiskFromSnapshot_Task,omitempty"` - Res *types.HostVStorageObjectCreateDiskFromSnapshot_TaskResponse `xml:"HostVStorageObjectCreateDiskFromSnapshot_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *HostVStorageObjectCreateDiskFromSnapshot_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func HostVStorageObjectCreateDiskFromSnapshot_Task(ctx context.Context, r soap.RoundTripper, req *types.HostVStorageObjectCreateDiskFromSnapshot_Task) (*types.HostVStorageObjectCreateDiskFromSnapshot_TaskResponse, error) { - var reqBody, resBody HostVStorageObjectCreateDiskFromSnapshot_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type HostVStorageObjectCreateSnapshot_TaskBody struct { - Req *types.HostVStorageObjectCreateSnapshot_Task `xml:"urn:vim25 HostVStorageObjectCreateSnapshot_Task,omitempty"` - Res *types.HostVStorageObjectCreateSnapshot_TaskResponse `xml:"HostVStorageObjectCreateSnapshot_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *HostVStorageObjectCreateSnapshot_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func HostVStorageObjectCreateSnapshot_Task(ctx context.Context, r soap.RoundTripper, req *types.HostVStorageObjectCreateSnapshot_Task) (*types.HostVStorageObjectCreateSnapshot_TaskResponse, error) { - var reqBody, resBody HostVStorageObjectCreateSnapshot_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type HostVStorageObjectDeleteSnapshot_TaskBody struct { - Req *types.HostVStorageObjectDeleteSnapshot_Task `xml:"urn:vim25 HostVStorageObjectDeleteSnapshot_Task,omitempty"` - Res *types.HostVStorageObjectDeleteSnapshot_TaskResponse `xml:"HostVStorageObjectDeleteSnapshot_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *HostVStorageObjectDeleteSnapshot_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func HostVStorageObjectDeleteSnapshot_Task(ctx context.Context, r soap.RoundTripper, req *types.HostVStorageObjectDeleteSnapshot_Task) (*types.HostVStorageObjectDeleteSnapshot_TaskResponse, error) { - var reqBody, resBody HostVStorageObjectDeleteSnapshot_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type HostVStorageObjectRetrieveSnapshotInfoBody struct { - Req *types.HostVStorageObjectRetrieveSnapshotInfo `xml:"urn:vim25 HostVStorageObjectRetrieveSnapshotInfo,omitempty"` - Res *types.HostVStorageObjectRetrieveSnapshotInfoResponse `xml:"HostVStorageObjectRetrieveSnapshotInfoResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *HostVStorageObjectRetrieveSnapshotInfoBody) Fault() *soap.Fault { return b.Fault_ } - -func HostVStorageObjectRetrieveSnapshotInfo(ctx context.Context, r soap.RoundTripper, req *types.HostVStorageObjectRetrieveSnapshotInfo) (*types.HostVStorageObjectRetrieveSnapshotInfoResponse, error) { - var reqBody, resBody HostVStorageObjectRetrieveSnapshotInfoBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type HostVStorageObjectRevert_TaskBody struct { - Req *types.HostVStorageObjectRevert_Task `xml:"urn:vim25 HostVStorageObjectRevert_Task,omitempty"` - Res *types.HostVStorageObjectRevert_TaskResponse `xml:"HostVStorageObjectRevert_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *HostVStorageObjectRevert_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func HostVStorageObjectRevert_Task(ctx context.Context, r soap.RoundTripper, req *types.HostVStorageObjectRevert_Task) (*types.HostVStorageObjectRevert_TaskResponse, error) { - var reqBody, resBody HostVStorageObjectRevert_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type HttpNfcLeaseAbortBody struct { - Req *types.HttpNfcLeaseAbort `xml:"urn:vim25 HttpNfcLeaseAbort,omitempty"` - Res *types.HttpNfcLeaseAbortResponse `xml:"HttpNfcLeaseAbortResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *HttpNfcLeaseAbortBody) Fault() *soap.Fault { return b.Fault_ } - -func HttpNfcLeaseAbort(ctx context.Context, r soap.RoundTripper, req *types.HttpNfcLeaseAbort) (*types.HttpNfcLeaseAbortResponse, error) { - var reqBody, resBody HttpNfcLeaseAbortBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type HttpNfcLeaseCompleteBody struct { - Req *types.HttpNfcLeaseComplete `xml:"urn:vim25 HttpNfcLeaseComplete,omitempty"` - Res *types.HttpNfcLeaseCompleteResponse `xml:"HttpNfcLeaseCompleteResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *HttpNfcLeaseCompleteBody) Fault() *soap.Fault { return b.Fault_ } - -func HttpNfcLeaseComplete(ctx context.Context, r soap.RoundTripper, req *types.HttpNfcLeaseComplete) (*types.HttpNfcLeaseCompleteResponse, error) { - var reqBody, resBody HttpNfcLeaseCompleteBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type HttpNfcLeaseGetManifestBody struct { - Req *types.HttpNfcLeaseGetManifest `xml:"urn:vim25 HttpNfcLeaseGetManifest,omitempty"` - Res *types.HttpNfcLeaseGetManifestResponse `xml:"HttpNfcLeaseGetManifestResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *HttpNfcLeaseGetManifestBody) Fault() *soap.Fault { return b.Fault_ } - -func HttpNfcLeaseGetManifest(ctx context.Context, r soap.RoundTripper, req *types.HttpNfcLeaseGetManifest) (*types.HttpNfcLeaseGetManifestResponse, error) { - var reqBody, resBody HttpNfcLeaseGetManifestBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type HttpNfcLeaseProbeUrlsBody struct { - Req *types.HttpNfcLeaseProbeUrls `xml:"urn:vim25 HttpNfcLeaseProbeUrls,omitempty"` - Res *types.HttpNfcLeaseProbeUrlsResponse `xml:"HttpNfcLeaseProbeUrlsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *HttpNfcLeaseProbeUrlsBody) Fault() *soap.Fault { return b.Fault_ } - -func HttpNfcLeaseProbeUrls(ctx context.Context, r soap.RoundTripper, req *types.HttpNfcLeaseProbeUrls) (*types.HttpNfcLeaseProbeUrlsResponse, error) { - var reqBody, resBody HttpNfcLeaseProbeUrlsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type HttpNfcLeaseProgressBody struct { - Req *types.HttpNfcLeaseProgress `xml:"urn:vim25 HttpNfcLeaseProgress,omitempty"` - Res *types.HttpNfcLeaseProgressResponse `xml:"HttpNfcLeaseProgressResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *HttpNfcLeaseProgressBody) Fault() *soap.Fault { return b.Fault_ } - -func HttpNfcLeaseProgress(ctx context.Context, r soap.RoundTripper, req *types.HttpNfcLeaseProgress) (*types.HttpNfcLeaseProgressResponse, error) { - var reqBody, resBody HttpNfcLeaseProgressBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type HttpNfcLeasePullFromUrls_TaskBody struct { - Req *types.HttpNfcLeasePullFromUrls_Task `xml:"urn:vim25 HttpNfcLeasePullFromUrls_Task,omitempty"` - Res *types.HttpNfcLeasePullFromUrls_TaskResponse `xml:"HttpNfcLeasePullFromUrls_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *HttpNfcLeasePullFromUrls_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func HttpNfcLeasePullFromUrls_Task(ctx context.Context, r soap.RoundTripper, req *types.HttpNfcLeasePullFromUrls_Task) (*types.HttpNfcLeasePullFromUrls_TaskResponse, error) { - var reqBody, resBody HttpNfcLeasePullFromUrls_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type HttpNfcLeaseSetManifestChecksumTypeBody struct { - Req *types.HttpNfcLeaseSetManifestChecksumType `xml:"urn:vim25 HttpNfcLeaseSetManifestChecksumType,omitempty"` - Res *types.HttpNfcLeaseSetManifestChecksumTypeResponse `xml:"HttpNfcLeaseSetManifestChecksumTypeResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *HttpNfcLeaseSetManifestChecksumTypeBody) Fault() *soap.Fault { return b.Fault_ } - -func HttpNfcLeaseSetManifestChecksumType(ctx context.Context, r soap.RoundTripper, req *types.HttpNfcLeaseSetManifestChecksumType) (*types.HttpNfcLeaseSetManifestChecksumTypeResponse, error) { - var reqBody, resBody HttpNfcLeaseSetManifestChecksumTypeBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ImpersonateUserBody struct { - Req *types.ImpersonateUser `xml:"urn:vim25 ImpersonateUser,omitempty"` - Res *types.ImpersonateUserResponse `xml:"ImpersonateUserResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ImpersonateUserBody) Fault() *soap.Fault { return b.Fault_ } - -func ImpersonateUser(ctx context.Context, r soap.RoundTripper, req *types.ImpersonateUser) (*types.ImpersonateUserResponse, error) { - var reqBody, resBody ImpersonateUserBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ImportCertificateForCAM_TaskBody struct { - Req *types.ImportCertificateForCAM_Task `xml:"urn:vim25 ImportCertificateForCAM_Task,omitempty"` - Res *types.ImportCertificateForCAM_TaskResponse `xml:"ImportCertificateForCAM_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ImportCertificateForCAM_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func ImportCertificateForCAM_Task(ctx context.Context, r soap.RoundTripper, req *types.ImportCertificateForCAM_Task) (*types.ImportCertificateForCAM_TaskResponse, error) { - var reqBody, resBody ImportCertificateForCAM_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ImportUnmanagedSnapshotBody struct { - Req *types.ImportUnmanagedSnapshot `xml:"urn:vim25 ImportUnmanagedSnapshot,omitempty"` - Res *types.ImportUnmanagedSnapshotResponse `xml:"ImportUnmanagedSnapshotResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ImportUnmanagedSnapshotBody) Fault() *soap.Fault { return b.Fault_ } - -func ImportUnmanagedSnapshot(ctx context.Context, r soap.RoundTripper, req *types.ImportUnmanagedSnapshot) (*types.ImportUnmanagedSnapshotResponse, error) { - var reqBody, resBody ImportUnmanagedSnapshotBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ImportVAppBody struct { - Req *types.ImportVApp `xml:"urn:vim25 ImportVApp,omitempty"` - Res *types.ImportVAppResponse `xml:"ImportVAppResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ImportVAppBody) Fault() *soap.Fault { return b.Fault_ } - -func ImportVApp(ctx context.Context, r soap.RoundTripper, req *types.ImportVApp) (*types.ImportVAppResponse, error) { - var reqBody, resBody ImportVAppBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type InflateDisk_TaskBody struct { - Req *types.InflateDisk_Task `xml:"urn:vim25 InflateDisk_Task,omitempty"` - Res *types.InflateDisk_TaskResponse `xml:"InflateDisk_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *InflateDisk_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func InflateDisk_Task(ctx context.Context, r soap.RoundTripper, req *types.InflateDisk_Task) (*types.InflateDisk_TaskResponse, error) { - var reqBody, resBody InflateDisk_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type InflateVirtualDisk_TaskBody struct { - Req *types.InflateVirtualDisk_Task `xml:"urn:vim25 InflateVirtualDisk_Task,omitempty"` - Res *types.InflateVirtualDisk_TaskResponse `xml:"InflateVirtualDisk_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *InflateVirtualDisk_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func InflateVirtualDisk_Task(ctx context.Context, r soap.RoundTripper, req *types.InflateVirtualDisk_Task) (*types.InflateVirtualDisk_TaskResponse, error) { - var reqBody, resBody InflateVirtualDisk_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type InitializeDisks_TaskBody struct { - Req *types.InitializeDisks_Task `xml:"urn:vim25 InitializeDisks_Task,omitempty"` - Res *types.InitializeDisks_TaskResponse `xml:"InitializeDisks_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *InitializeDisks_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func InitializeDisks_Task(ctx context.Context, r soap.RoundTripper, req *types.InitializeDisks_Task) (*types.InitializeDisks_TaskResponse, error) { - var reqBody, resBody InitializeDisks_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type InitiateFileTransferFromGuestBody struct { - Req *types.InitiateFileTransferFromGuest `xml:"urn:vim25 InitiateFileTransferFromGuest,omitempty"` - Res *types.InitiateFileTransferFromGuestResponse `xml:"InitiateFileTransferFromGuestResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *InitiateFileTransferFromGuestBody) Fault() *soap.Fault { return b.Fault_ } - -func InitiateFileTransferFromGuest(ctx context.Context, r soap.RoundTripper, req *types.InitiateFileTransferFromGuest) (*types.InitiateFileTransferFromGuestResponse, error) { - var reqBody, resBody InitiateFileTransferFromGuestBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type InitiateFileTransferToGuestBody struct { - Req *types.InitiateFileTransferToGuest `xml:"urn:vim25 InitiateFileTransferToGuest,omitempty"` - Res *types.InitiateFileTransferToGuestResponse `xml:"InitiateFileTransferToGuestResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *InitiateFileTransferToGuestBody) Fault() *soap.Fault { return b.Fault_ } - -func InitiateFileTransferToGuest(ctx context.Context, r soap.RoundTripper, req *types.InitiateFileTransferToGuest) (*types.InitiateFileTransferToGuestResponse, error) { - var reqBody, resBody InitiateFileTransferToGuestBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type InstallHostPatchV2_TaskBody struct { - Req *types.InstallHostPatchV2_Task `xml:"urn:vim25 InstallHostPatchV2_Task,omitempty"` - Res *types.InstallHostPatchV2_TaskResponse `xml:"InstallHostPatchV2_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *InstallHostPatchV2_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func InstallHostPatchV2_Task(ctx context.Context, r soap.RoundTripper, req *types.InstallHostPatchV2_Task) (*types.InstallHostPatchV2_TaskResponse, error) { - var reqBody, resBody InstallHostPatchV2_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type InstallHostPatch_TaskBody struct { - Req *types.InstallHostPatch_Task `xml:"urn:vim25 InstallHostPatch_Task,omitempty"` - Res *types.InstallHostPatch_TaskResponse `xml:"InstallHostPatch_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *InstallHostPatch_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func InstallHostPatch_Task(ctx context.Context, r soap.RoundTripper, req *types.InstallHostPatch_Task) (*types.InstallHostPatch_TaskResponse, error) { - var reqBody, resBody InstallHostPatch_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type InstallIoFilter_TaskBody struct { - Req *types.InstallIoFilter_Task `xml:"urn:vim25 InstallIoFilter_Task,omitempty"` - Res *types.InstallIoFilter_TaskResponse `xml:"InstallIoFilter_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *InstallIoFilter_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func InstallIoFilter_Task(ctx context.Context, r soap.RoundTripper, req *types.InstallIoFilter_Task) (*types.InstallIoFilter_TaskResponse, error) { - var reqBody, resBody InstallIoFilter_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type InstallServerCertificateBody struct { - Req *types.InstallServerCertificate `xml:"urn:vim25 InstallServerCertificate,omitempty"` - Res *types.InstallServerCertificateResponse `xml:"InstallServerCertificateResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *InstallServerCertificateBody) Fault() *soap.Fault { return b.Fault_ } - -func InstallServerCertificate(ctx context.Context, r soap.RoundTripper, req *types.InstallServerCertificate) (*types.InstallServerCertificateResponse, error) { - var reqBody, resBody InstallServerCertificateBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type InstallSmartCardTrustAnchorBody struct { - Req *types.InstallSmartCardTrustAnchor `xml:"urn:vim25 InstallSmartCardTrustAnchor,omitempty"` - Res *types.InstallSmartCardTrustAnchorResponse `xml:"InstallSmartCardTrustAnchorResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *InstallSmartCardTrustAnchorBody) Fault() *soap.Fault { return b.Fault_ } - -func InstallSmartCardTrustAnchor(ctx context.Context, r soap.RoundTripper, req *types.InstallSmartCardTrustAnchor) (*types.InstallSmartCardTrustAnchorResponse, error) { - var reqBody, resBody InstallSmartCardTrustAnchorBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type InstantClone_TaskBody struct { - Req *types.InstantClone_Task `xml:"urn:vim25 InstantClone_Task,omitempty"` - Res *types.InstantClone_TaskResponse `xml:"InstantClone_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *InstantClone_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func InstantClone_Task(ctx context.Context, r soap.RoundTripper, req *types.InstantClone_Task) (*types.InstantClone_TaskResponse, error) { - var reqBody, resBody InstantClone_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type IsKmsClusterActiveBody struct { - Req *types.IsKmsClusterActive `xml:"urn:vim25 IsKmsClusterActive,omitempty"` - Res *types.IsKmsClusterActiveResponse `xml:"IsKmsClusterActiveResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *IsKmsClusterActiveBody) Fault() *soap.Fault { return b.Fault_ } - -func IsKmsClusterActive(ctx context.Context, r soap.RoundTripper, req *types.IsKmsClusterActive) (*types.IsKmsClusterActiveResponse, error) { - var reqBody, resBody IsKmsClusterActiveBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type IsSharedGraphicsActiveBody struct { - Req *types.IsSharedGraphicsActive `xml:"urn:vim25 IsSharedGraphicsActive,omitempty"` - Res *types.IsSharedGraphicsActiveResponse `xml:"IsSharedGraphicsActiveResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *IsSharedGraphicsActiveBody) Fault() *soap.Fault { return b.Fault_ } - -func IsSharedGraphicsActive(ctx context.Context, r soap.RoundTripper, req *types.IsSharedGraphicsActive) (*types.IsSharedGraphicsActiveResponse, error) { - var reqBody, resBody IsSharedGraphicsActiveBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type JoinDomainWithCAM_TaskBody struct { - Req *types.JoinDomainWithCAM_Task `xml:"urn:vim25 JoinDomainWithCAM_Task,omitempty"` - Res *types.JoinDomainWithCAM_TaskResponse `xml:"JoinDomainWithCAM_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *JoinDomainWithCAM_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func JoinDomainWithCAM_Task(ctx context.Context, r soap.RoundTripper, req *types.JoinDomainWithCAM_Task) (*types.JoinDomainWithCAM_TaskResponse, error) { - var reqBody, resBody JoinDomainWithCAM_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type JoinDomain_TaskBody struct { - Req *types.JoinDomain_Task `xml:"urn:vim25 JoinDomain_Task,omitempty"` - Res *types.JoinDomain_TaskResponse `xml:"JoinDomain_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *JoinDomain_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func JoinDomain_Task(ctx context.Context, r soap.RoundTripper, req *types.JoinDomain_Task) (*types.JoinDomain_TaskResponse, error) { - var reqBody, resBody JoinDomain_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type LeaveCurrentDomain_TaskBody struct { - Req *types.LeaveCurrentDomain_Task `xml:"urn:vim25 LeaveCurrentDomain_Task,omitempty"` - Res *types.LeaveCurrentDomain_TaskResponse `xml:"LeaveCurrentDomain_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *LeaveCurrentDomain_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func LeaveCurrentDomain_Task(ctx context.Context, r soap.RoundTripper, req *types.LeaveCurrentDomain_Task) (*types.LeaveCurrentDomain_TaskResponse, error) { - var reqBody, resBody LeaveCurrentDomain_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ListCACertificateRevocationListsBody struct { - Req *types.ListCACertificateRevocationLists `xml:"urn:vim25 ListCACertificateRevocationLists,omitempty"` - Res *types.ListCACertificateRevocationListsResponse `xml:"ListCACertificateRevocationListsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ListCACertificateRevocationListsBody) Fault() *soap.Fault { return b.Fault_ } - -func ListCACertificateRevocationLists(ctx context.Context, r soap.RoundTripper, req *types.ListCACertificateRevocationLists) (*types.ListCACertificateRevocationListsResponse, error) { - var reqBody, resBody ListCACertificateRevocationListsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ListCACertificatesBody struct { - Req *types.ListCACertificates `xml:"urn:vim25 ListCACertificates,omitempty"` - Res *types.ListCACertificatesResponse `xml:"ListCACertificatesResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ListCACertificatesBody) Fault() *soap.Fault { return b.Fault_ } - -func ListCACertificates(ctx context.Context, r soap.RoundTripper, req *types.ListCACertificates) (*types.ListCACertificatesResponse, error) { - var reqBody, resBody ListCACertificatesBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ListFilesInGuestBody struct { - Req *types.ListFilesInGuest `xml:"urn:vim25 ListFilesInGuest,omitempty"` - Res *types.ListFilesInGuestResponse `xml:"ListFilesInGuestResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ListFilesInGuestBody) Fault() *soap.Fault { return b.Fault_ } - -func ListFilesInGuest(ctx context.Context, r soap.RoundTripper, req *types.ListFilesInGuest) (*types.ListFilesInGuestResponse, error) { - var reqBody, resBody ListFilesInGuestBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ListGuestAliasesBody struct { - Req *types.ListGuestAliases `xml:"urn:vim25 ListGuestAliases,omitempty"` - Res *types.ListGuestAliasesResponse `xml:"ListGuestAliasesResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ListGuestAliasesBody) Fault() *soap.Fault { return b.Fault_ } - -func ListGuestAliases(ctx context.Context, r soap.RoundTripper, req *types.ListGuestAliases) (*types.ListGuestAliasesResponse, error) { - var reqBody, resBody ListGuestAliasesBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ListGuestMappedAliasesBody struct { - Req *types.ListGuestMappedAliases `xml:"urn:vim25 ListGuestMappedAliases,omitempty"` - Res *types.ListGuestMappedAliasesResponse `xml:"ListGuestMappedAliasesResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ListGuestMappedAliasesBody) Fault() *soap.Fault { return b.Fault_ } - -func ListGuestMappedAliases(ctx context.Context, r soap.RoundTripper, req *types.ListGuestMappedAliases) (*types.ListGuestMappedAliasesResponse, error) { - var reqBody, resBody ListGuestMappedAliasesBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ListKeysBody struct { - Req *types.ListKeys `xml:"urn:vim25 ListKeys,omitempty"` - Res *types.ListKeysResponse `xml:"ListKeysResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ListKeysBody) Fault() *soap.Fault { return b.Fault_ } - -func ListKeys(ctx context.Context, r soap.RoundTripper, req *types.ListKeys) (*types.ListKeysResponse, error) { - var reqBody, resBody ListKeysBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ListKmipServersBody struct { - Req *types.ListKmipServers `xml:"urn:vim25 ListKmipServers,omitempty"` - Res *types.ListKmipServersResponse `xml:"ListKmipServersResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ListKmipServersBody) Fault() *soap.Fault { return b.Fault_ } - -func ListKmipServers(ctx context.Context, r soap.RoundTripper, req *types.ListKmipServers) (*types.ListKmipServersResponse, error) { - var reqBody, resBody ListKmipServersBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ListKmsClustersBody struct { - Req *types.ListKmsClusters `xml:"urn:vim25 ListKmsClusters,omitempty"` - Res *types.ListKmsClustersResponse `xml:"ListKmsClustersResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ListKmsClustersBody) Fault() *soap.Fault { return b.Fault_ } - -func ListKmsClusters(ctx context.Context, r soap.RoundTripper, req *types.ListKmsClusters) (*types.ListKmsClustersResponse, error) { - var reqBody, resBody ListKmsClustersBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ListProcessesInGuestBody struct { - Req *types.ListProcessesInGuest `xml:"urn:vim25 ListProcessesInGuest,omitempty"` - Res *types.ListProcessesInGuestResponse `xml:"ListProcessesInGuestResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ListProcessesInGuestBody) Fault() *soap.Fault { return b.Fault_ } - -func ListProcessesInGuest(ctx context.Context, r soap.RoundTripper, req *types.ListProcessesInGuest) (*types.ListProcessesInGuestResponse, error) { - var reqBody, resBody ListProcessesInGuestBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ListRegistryKeysInGuestBody struct { - Req *types.ListRegistryKeysInGuest `xml:"urn:vim25 ListRegistryKeysInGuest,omitempty"` - Res *types.ListRegistryKeysInGuestResponse `xml:"ListRegistryKeysInGuestResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ListRegistryKeysInGuestBody) Fault() *soap.Fault { return b.Fault_ } - -func ListRegistryKeysInGuest(ctx context.Context, r soap.RoundTripper, req *types.ListRegistryKeysInGuest) (*types.ListRegistryKeysInGuestResponse, error) { - var reqBody, resBody ListRegistryKeysInGuestBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ListRegistryValuesInGuestBody struct { - Req *types.ListRegistryValuesInGuest `xml:"urn:vim25 ListRegistryValuesInGuest,omitempty"` - Res *types.ListRegistryValuesInGuestResponse `xml:"ListRegistryValuesInGuestResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ListRegistryValuesInGuestBody) Fault() *soap.Fault { return b.Fault_ } - -func ListRegistryValuesInGuest(ctx context.Context, r soap.RoundTripper, req *types.ListRegistryValuesInGuest) (*types.ListRegistryValuesInGuestResponse, error) { - var reqBody, resBody ListRegistryValuesInGuestBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ListSmartCardTrustAnchorsBody struct { - Req *types.ListSmartCardTrustAnchors `xml:"urn:vim25 ListSmartCardTrustAnchors,omitempty"` - Res *types.ListSmartCardTrustAnchorsResponse `xml:"ListSmartCardTrustAnchorsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ListSmartCardTrustAnchorsBody) Fault() *soap.Fault { return b.Fault_ } - -func ListSmartCardTrustAnchors(ctx context.Context, r soap.RoundTripper, req *types.ListSmartCardTrustAnchors) (*types.ListSmartCardTrustAnchorsResponse, error) { - var reqBody, resBody ListSmartCardTrustAnchorsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ListTagsAttachedToVStorageObjectBody struct { - Req *types.ListTagsAttachedToVStorageObject `xml:"urn:vim25 ListTagsAttachedToVStorageObject,omitempty"` - Res *types.ListTagsAttachedToVStorageObjectResponse `xml:"ListTagsAttachedToVStorageObjectResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ListTagsAttachedToVStorageObjectBody) Fault() *soap.Fault { return b.Fault_ } - -func ListTagsAttachedToVStorageObject(ctx context.Context, r soap.RoundTripper, req *types.ListTagsAttachedToVStorageObject) (*types.ListTagsAttachedToVStorageObjectResponse, error) { - var reqBody, resBody ListTagsAttachedToVStorageObjectBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ListVStorageObjectBody struct { - Req *types.ListVStorageObject `xml:"urn:vim25 ListVStorageObject,omitempty"` - Res *types.ListVStorageObjectResponse `xml:"ListVStorageObjectResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ListVStorageObjectBody) Fault() *soap.Fault { return b.Fault_ } - -func ListVStorageObject(ctx context.Context, r soap.RoundTripper, req *types.ListVStorageObject) (*types.ListVStorageObjectResponse, error) { - var reqBody, resBody ListVStorageObjectBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ListVStorageObjectsAttachedToTagBody struct { - Req *types.ListVStorageObjectsAttachedToTag `xml:"urn:vim25 ListVStorageObjectsAttachedToTag,omitempty"` - Res *types.ListVStorageObjectsAttachedToTagResponse `xml:"ListVStorageObjectsAttachedToTagResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ListVStorageObjectsAttachedToTagBody) Fault() *soap.Fault { return b.Fault_ } - -func ListVStorageObjectsAttachedToTag(ctx context.Context, r soap.RoundTripper, req *types.ListVStorageObjectsAttachedToTag) (*types.ListVStorageObjectsAttachedToTagResponse, error) { - var reqBody, resBody ListVStorageObjectsAttachedToTagBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type LogUserEventBody struct { - Req *types.LogUserEvent `xml:"urn:vim25 LogUserEvent,omitempty"` - Res *types.LogUserEventResponse `xml:"LogUserEventResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *LogUserEventBody) Fault() *soap.Fault { return b.Fault_ } - -func LogUserEvent(ctx context.Context, r soap.RoundTripper, req *types.LogUserEvent) (*types.LogUserEventResponse, error) { - var reqBody, resBody LogUserEventBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type LoginBody struct { - Req *types.Login `xml:"urn:vim25 Login,omitempty"` - Res *types.LoginResponse `xml:"LoginResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *LoginBody) Fault() *soap.Fault { return b.Fault_ } - -func Login(ctx context.Context, r soap.RoundTripper, req *types.Login) (*types.LoginResponse, error) { - var reqBody, resBody LoginBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type LoginBySSPIBody struct { - Req *types.LoginBySSPI `xml:"urn:vim25 LoginBySSPI,omitempty"` - Res *types.LoginBySSPIResponse `xml:"LoginBySSPIResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *LoginBySSPIBody) Fault() *soap.Fault { return b.Fault_ } - -func LoginBySSPI(ctx context.Context, r soap.RoundTripper, req *types.LoginBySSPI) (*types.LoginBySSPIResponse, error) { - var reqBody, resBody LoginBySSPIBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type LoginByTokenBody struct { - Req *types.LoginByToken `xml:"urn:vim25 LoginByToken,omitempty"` - Res *types.LoginByTokenResponse `xml:"LoginByTokenResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *LoginByTokenBody) Fault() *soap.Fault { return b.Fault_ } - -func LoginByToken(ctx context.Context, r soap.RoundTripper, req *types.LoginByToken) (*types.LoginByTokenResponse, error) { - var reqBody, resBody LoginByTokenBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type LoginExtensionByCertificateBody struct { - Req *types.LoginExtensionByCertificate `xml:"urn:vim25 LoginExtensionByCertificate,omitempty"` - Res *types.LoginExtensionByCertificateResponse `xml:"LoginExtensionByCertificateResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *LoginExtensionByCertificateBody) Fault() *soap.Fault { return b.Fault_ } - -func LoginExtensionByCertificate(ctx context.Context, r soap.RoundTripper, req *types.LoginExtensionByCertificate) (*types.LoginExtensionByCertificateResponse, error) { - var reqBody, resBody LoginExtensionByCertificateBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type LoginExtensionBySubjectNameBody struct { - Req *types.LoginExtensionBySubjectName `xml:"urn:vim25 LoginExtensionBySubjectName,omitempty"` - Res *types.LoginExtensionBySubjectNameResponse `xml:"LoginExtensionBySubjectNameResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *LoginExtensionBySubjectNameBody) Fault() *soap.Fault { return b.Fault_ } - -func LoginExtensionBySubjectName(ctx context.Context, r soap.RoundTripper, req *types.LoginExtensionBySubjectName) (*types.LoginExtensionBySubjectNameResponse, error) { - var reqBody, resBody LoginExtensionBySubjectNameBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type LogoutBody struct { - Req *types.Logout `xml:"urn:vim25 Logout,omitempty"` - Res *types.LogoutResponse `xml:"LogoutResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *LogoutBody) Fault() *soap.Fault { return b.Fault_ } - -func Logout(ctx context.Context, r soap.RoundTripper, req *types.Logout) (*types.LogoutResponse, error) { - var reqBody, resBody LogoutBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type LookupDvPortGroupBody struct { - Req *types.LookupDvPortGroup `xml:"urn:vim25 LookupDvPortGroup,omitempty"` - Res *types.LookupDvPortGroupResponse `xml:"LookupDvPortGroupResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *LookupDvPortGroupBody) Fault() *soap.Fault { return b.Fault_ } - -func LookupDvPortGroup(ctx context.Context, r soap.RoundTripper, req *types.LookupDvPortGroup) (*types.LookupDvPortGroupResponse, error) { - var reqBody, resBody LookupDvPortGroupBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type LookupVmOverheadMemoryBody struct { - Req *types.LookupVmOverheadMemory `xml:"urn:vim25 LookupVmOverheadMemory,omitempty"` - Res *types.LookupVmOverheadMemoryResponse `xml:"LookupVmOverheadMemoryResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *LookupVmOverheadMemoryBody) Fault() *soap.Fault { return b.Fault_ } - -func LookupVmOverheadMemory(ctx context.Context, r soap.RoundTripper, req *types.LookupVmOverheadMemory) (*types.LookupVmOverheadMemoryResponse, error) { - var reqBody, resBody LookupVmOverheadMemoryBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type MakeDirectoryBody struct { - Req *types.MakeDirectory `xml:"urn:vim25 MakeDirectory,omitempty"` - Res *types.MakeDirectoryResponse `xml:"MakeDirectoryResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *MakeDirectoryBody) Fault() *soap.Fault { return b.Fault_ } - -func MakeDirectory(ctx context.Context, r soap.RoundTripper, req *types.MakeDirectory) (*types.MakeDirectoryResponse, error) { - var reqBody, resBody MakeDirectoryBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type MakeDirectoryInGuestBody struct { - Req *types.MakeDirectoryInGuest `xml:"urn:vim25 MakeDirectoryInGuest,omitempty"` - Res *types.MakeDirectoryInGuestResponse `xml:"MakeDirectoryInGuestResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *MakeDirectoryInGuestBody) Fault() *soap.Fault { return b.Fault_ } - -func MakeDirectoryInGuest(ctx context.Context, r soap.RoundTripper, req *types.MakeDirectoryInGuest) (*types.MakeDirectoryInGuestResponse, error) { - var reqBody, resBody MakeDirectoryInGuestBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type MakePrimaryVM_TaskBody struct { - Req *types.MakePrimaryVM_Task `xml:"urn:vim25 MakePrimaryVM_Task,omitempty"` - Res *types.MakePrimaryVM_TaskResponse `xml:"MakePrimaryVM_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *MakePrimaryVM_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func MakePrimaryVM_Task(ctx context.Context, r soap.RoundTripper, req *types.MakePrimaryVM_Task) (*types.MakePrimaryVM_TaskResponse, error) { - var reqBody, resBody MakePrimaryVM_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type MarkAsLocal_TaskBody struct { - Req *types.MarkAsLocal_Task `xml:"urn:vim25 MarkAsLocal_Task,omitempty"` - Res *types.MarkAsLocal_TaskResponse `xml:"MarkAsLocal_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *MarkAsLocal_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func MarkAsLocal_Task(ctx context.Context, r soap.RoundTripper, req *types.MarkAsLocal_Task) (*types.MarkAsLocal_TaskResponse, error) { - var reqBody, resBody MarkAsLocal_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type MarkAsNonLocal_TaskBody struct { - Req *types.MarkAsNonLocal_Task `xml:"urn:vim25 MarkAsNonLocal_Task,omitempty"` - Res *types.MarkAsNonLocal_TaskResponse `xml:"MarkAsNonLocal_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *MarkAsNonLocal_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func MarkAsNonLocal_Task(ctx context.Context, r soap.RoundTripper, req *types.MarkAsNonLocal_Task) (*types.MarkAsNonLocal_TaskResponse, error) { - var reqBody, resBody MarkAsNonLocal_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type MarkAsNonSsd_TaskBody struct { - Req *types.MarkAsNonSsd_Task `xml:"urn:vim25 MarkAsNonSsd_Task,omitempty"` - Res *types.MarkAsNonSsd_TaskResponse `xml:"MarkAsNonSsd_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *MarkAsNonSsd_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func MarkAsNonSsd_Task(ctx context.Context, r soap.RoundTripper, req *types.MarkAsNonSsd_Task) (*types.MarkAsNonSsd_TaskResponse, error) { - var reqBody, resBody MarkAsNonSsd_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type MarkAsSsd_TaskBody struct { - Req *types.MarkAsSsd_Task `xml:"urn:vim25 MarkAsSsd_Task,omitempty"` - Res *types.MarkAsSsd_TaskResponse `xml:"MarkAsSsd_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *MarkAsSsd_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func MarkAsSsd_Task(ctx context.Context, r soap.RoundTripper, req *types.MarkAsSsd_Task) (*types.MarkAsSsd_TaskResponse, error) { - var reqBody, resBody MarkAsSsd_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type MarkAsTemplateBody struct { - Req *types.MarkAsTemplate `xml:"urn:vim25 MarkAsTemplate,omitempty"` - Res *types.MarkAsTemplateResponse `xml:"MarkAsTemplateResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *MarkAsTemplateBody) Fault() *soap.Fault { return b.Fault_ } - -func MarkAsTemplate(ctx context.Context, r soap.RoundTripper, req *types.MarkAsTemplate) (*types.MarkAsTemplateResponse, error) { - var reqBody, resBody MarkAsTemplateBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type MarkAsVirtualMachineBody struct { - Req *types.MarkAsVirtualMachine `xml:"urn:vim25 MarkAsVirtualMachine,omitempty"` - Res *types.MarkAsVirtualMachineResponse `xml:"MarkAsVirtualMachineResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *MarkAsVirtualMachineBody) Fault() *soap.Fault { return b.Fault_ } - -func MarkAsVirtualMachine(ctx context.Context, r soap.RoundTripper, req *types.MarkAsVirtualMachine) (*types.MarkAsVirtualMachineResponse, error) { - var reqBody, resBody MarkAsVirtualMachineBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type MarkDefaultBody struct { - Req *types.MarkDefault `xml:"urn:vim25 MarkDefault,omitempty"` - Res *types.MarkDefaultResponse `xml:"MarkDefaultResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *MarkDefaultBody) Fault() *soap.Fault { return b.Fault_ } - -func MarkDefault(ctx context.Context, r soap.RoundTripper, req *types.MarkDefault) (*types.MarkDefaultResponse, error) { - var reqBody, resBody MarkDefaultBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type MarkForRemovalBody struct { - Req *types.MarkForRemoval `xml:"urn:vim25 MarkForRemoval,omitempty"` - Res *types.MarkForRemovalResponse `xml:"MarkForRemovalResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *MarkForRemovalBody) Fault() *soap.Fault { return b.Fault_ } - -func MarkForRemoval(ctx context.Context, r soap.RoundTripper, req *types.MarkForRemoval) (*types.MarkForRemovalResponse, error) { - var reqBody, resBody MarkForRemovalBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type MarkPerenniallyReservedBody struct { - Req *types.MarkPerenniallyReserved `xml:"urn:vim25 MarkPerenniallyReserved,omitempty"` - Res *types.MarkPerenniallyReservedResponse `xml:"MarkPerenniallyReservedResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *MarkPerenniallyReservedBody) Fault() *soap.Fault { return b.Fault_ } - -func MarkPerenniallyReserved(ctx context.Context, r soap.RoundTripper, req *types.MarkPerenniallyReserved) (*types.MarkPerenniallyReservedResponse, error) { - var reqBody, resBody MarkPerenniallyReservedBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type MarkPerenniallyReservedEx_TaskBody struct { - Req *types.MarkPerenniallyReservedEx_Task `xml:"urn:vim25 MarkPerenniallyReservedEx_Task,omitempty"` - Res *types.MarkPerenniallyReservedEx_TaskResponse `xml:"MarkPerenniallyReservedEx_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *MarkPerenniallyReservedEx_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func MarkPerenniallyReservedEx_Task(ctx context.Context, r soap.RoundTripper, req *types.MarkPerenniallyReservedEx_Task) (*types.MarkPerenniallyReservedEx_TaskResponse, error) { - var reqBody, resBody MarkPerenniallyReservedEx_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type MarkServiceProviderEntitiesBody struct { - Req *types.MarkServiceProviderEntities `xml:"urn:vim25 MarkServiceProviderEntities,omitempty"` - Res *types.MarkServiceProviderEntitiesResponse `xml:"MarkServiceProviderEntitiesResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *MarkServiceProviderEntitiesBody) Fault() *soap.Fault { return b.Fault_ } - -func MarkServiceProviderEntities(ctx context.Context, r soap.RoundTripper, req *types.MarkServiceProviderEntities) (*types.MarkServiceProviderEntitiesResponse, error) { - var reqBody, resBody MarkServiceProviderEntitiesBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type MergeDvs_TaskBody struct { - Req *types.MergeDvs_Task `xml:"urn:vim25 MergeDvs_Task,omitempty"` - Res *types.MergeDvs_TaskResponse `xml:"MergeDvs_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *MergeDvs_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func MergeDvs_Task(ctx context.Context, r soap.RoundTripper, req *types.MergeDvs_Task) (*types.MergeDvs_TaskResponse, error) { - var reqBody, resBody MergeDvs_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type MergePermissionsBody struct { - Req *types.MergePermissions `xml:"urn:vim25 MergePermissions,omitempty"` - Res *types.MergePermissionsResponse `xml:"MergePermissionsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *MergePermissionsBody) Fault() *soap.Fault { return b.Fault_ } - -func MergePermissions(ctx context.Context, r soap.RoundTripper, req *types.MergePermissions) (*types.MergePermissionsResponse, error) { - var reqBody, resBody MergePermissionsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type MigrateVM_TaskBody struct { - Req *types.MigrateVM_Task `xml:"urn:vim25 MigrateVM_Task,omitempty"` - Res *types.MigrateVM_TaskResponse `xml:"MigrateVM_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *MigrateVM_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func MigrateVM_Task(ctx context.Context, r soap.RoundTripper, req *types.MigrateVM_Task) (*types.MigrateVM_TaskResponse, error) { - var reqBody, resBody MigrateVM_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ModifyListViewBody struct { - Req *types.ModifyListView `xml:"urn:vim25 ModifyListView,omitempty"` - Res *types.ModifyListViewResponse `xml:"ModifyListViewResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ModifyListViewBody) Fault() *soap.Fault { return b.Fault_ } - -func ModifyListView(ctx context.Context, r soap.RoundTripper, req *types.ModifyListView) (*types.ModifyListViewResponse, error) { - var reqBody, resBody ModifyListViewBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type MountToolsInstallerBody struct { - Req *types.MountToolsInstaller `xml:"urn:vim25 MountToolsInstaller,omitempty"` - Res *types.MountToolsInstallerResponse `xml:"MountToolsInstallerResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *MountToolsInstallerBody) Fault() *soap.Fault { return b.Fault_ } - -func MountToolsInstaller(ctx context.Context, r soap.RoundTripper, req *types.MountToolsInstaller) (*types.MountToolsInstallerResponse, error) { - var reqBody, resBody MountToolsInstallerBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type MountVffsVolumeBody struct { - Req *types.MountVffsVolume `xml:"urn:vim25 MountVffsVolume,omitempty"` - Res *types.MountVffsVolumeResponse `xml:"MountVffsVolumeResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *MountVffsVolumeBody) Fault() *soap.Fault { return b.Fault_ } - -func MountVffsVolume(ctx context.Context, r soap.RoundTripper, req *types.MountVffsVolume) (*types.MountVffsVolumeResponse, error) { - var reqBody, resBody MountVffsVolumeBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type MountVmfsVolumeBody struct { - Req *types.MountVmfsVolume `xml:"urn:vim25 MountVmfsVolume,omitempty"` - Res *types.MountVmfsVolumeResponse `xml:"MountVmfsVolumeResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *MountVmfsVolumeBody) Fault() *soap.Fault { return b.Fault_ } - -func MountVmfsVolume(ctx context.Context, r soap.RoundTripper, req *types.MountVmfsVolume) (*types.MountVmfsVolumeResponse, error) { - var reqBody, resBody MountVmfsVolumeBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type MountVmfsVolumeEx_TaskBody struct { - Req *types.MountVmfsVolumeEx_Task `xml:"urn:vim25 MountVmfsVolumeEx_Task,omitempty"` - Res *types.MountVmfsVolumeEx_TaskResponse `xml:"MountVmfsVolumeEx_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *MountVmfsVolumeEx_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func MountVmfsVolumeEx_Task(ctx context.Context, r soap.RoundTripper, req *types.MountVmfsVolumeEx_Task) (*types.MountVmfsVolumeEx_TaskResponse, error) { - var reqBody, resBody MountVmfsVolumeEx_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type MoveDVPort_TaskBody struct { - Req *types.MoveDVPort_Task `xml:"urn:vim25 MoveDVPort_Task,omitempty"` - Res *types.MoveDVPort_TaskResponse `xml:"MoveDVPort_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *MoveDVPort_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func MoveDVPort_Task(ctx context.Context, r soap.RoundTripper, req *types.MoveDVPort_Task) (*types.MoveDVPort_TaskResponse, error) { - var reqBody, resBody MoveDVPort_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type MoveDatastoreFile_TaskBody struct { - Req *types.MoveDatastoreFile_Task `xml:"urn:vim25 MoveDatastoreFile_Task,omitempty"` - Res *types.MoveDatastoreFile_TaskResponse `xml:"MoveDatastoreFile_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *MoveDatastoreFile_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func MoveDatastoreFile_Task(ctx context.Context, r soap.RoundTripper, req *types.MoveDatastoreFile_Task) (*types.MoveDatastoreFile_TaskResponse, error) { - var reqBody, resBody MoveDatastoreFile_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type MoveDirectoryInGuestBody struct { - Req *types.MoveDirectoryInGuest `xml:"urn:vim25 MoveDirectoryInGuest,omitempty"` - Res *types.MoveDirectoryInGuestResponse `xml:"MoveDirectoryInGuestResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *MoveDirectoryInGuestBody) Fault() *soap.Fault { return b.Fault_ } - -func MoveDirectoryInGuest(ctx context.Context, r soap.RoundTripper, req *types.MoveDirectoryInGuest) (*types.MoveDirectoryInGuestResponse, error) { - var reqBody, resBody MoveDirectoryInGuestBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type MoveFileInGuestBody struct { - Req *types.MoveFileInGuest `xml:"urn:vim25 MoveFileInGuest,omitempty"` - Res *types.MoveFileInGuestResponse `xml:"MoveFileInGuestResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *MoveFileInGuestBody) Fault() *soap.Fault { return b.Fault_ } - -func MoveFileInGuest(ctx context.Context, r soap.RoundTripper, req *types.MoveFileInGuest) (*types.MoveFileInGuestResponse, error) { - var reqBody, resBody MoveFileInGuestBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type MoveHostInto_TaskBody struct { - Req *types.MoveHostInto_Task `xml:"urn:vim25 MoveHostInto_Task,omitempty"` - Res *types.MoveHostInto_TaskResponse `xml:"MoveHostInto_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *MoveHostInto_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func MoveHostInto_Task(ctx context.Context, r soap.RoundTripper, req *types.MoveHostInto_Task) (*types.MoveHostInto_TaskResponse, error) { - var reqBody, resBody MoveHostInto_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type MoveIntoFolder_TaskBody struct { - Req *types.MoveIntoFolder_Task `xml:"urn:vim25 MoveIntoFolder_Task,omitempty"` - Res *types.MoveIntoFolder_TaskResponse `xml:"MoveIntoFolder_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *MoveIntoFolder_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func MoveIntoFolder_Task(ctx context.Context, r soap.RoundTripper, req *types.MoveIntoFolder_Task) (*types.MoveIntoFolder_TaskResponse, error) { - var reqBody, resBody MoveIntoFolder_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type MoveIntoResourcePoolBody struct { - Req *types.MoveIntoResourcePool `xml:"urn:vim25 MoveIntoResourcePool,omitempty"` - Res *types.MoveIntoResourcePoolResponse `xml:"MoveIntoResourcePoolResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *MoveIntoResourcePoolBody) Fault() *soap.Fault { return b.Fault_ } - -func MoveIntoResourcePool(ctx context.Context, r soap.RoundTripper, req *types.MoveIntoResourcePool) (*types.MoveIntoResourcePoolResponse, error) { - var reqBody, resBody MoveIntoResourcePoolBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type MoveInto_TaskBody struct { - Req *types.MoveInto_Task `xml:"urn:vim25 MoveInto_Task,omitempty"` - Res *types.MoveInto_TaskResponse `xml:"MoveInto_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *MoveInto_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func MoveInto_Task(ctx context.Context, r soap.RoundTripper, req *types.MoveInto_Task) (*types.MoveInto_TaskResponse, error) { - var reqBody, resBody MoveInto_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type MoveVirtualDisk_TaskBody struct { - Req *types.MoveVirtualDisk_Task `xml:"urn:vim25 MoveVirtualDisk_Task,omitempty"` - Res *types.MoveVirtualDisk_TaskResponse `xml:"MoveVirtualDisk_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *MoveVirtualDisk_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func MoveVirtualDisk_Task(ctx context.Context, r soap.RoundTripper, req *types.MoveVirtualDisk_Task) (*types.MoveVirtualDisk_TaskResponse, error) { - var reqBody, resBody MoveVirtualDisk_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type OpenInventoryViewFolderBody struct { - Req *types.OpenInventoryViewFolder `xml:"urn:vim25 OpenInventoryViewFolder,omitempty"` - Res *types.OpenInventoryViewFolderResponse `xml:"OpenInventoryViewFolderResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *OpenInventoryViewFolderBody) Fault() *soap.Fault { return b.Fault_ } - -func OpenInventoryViewFolder(ctx context.Context, r soap.RoundTripper, req *types.OpenInventoryViewFolder) (*types.OpenInventoryViewFolderResponse, error) { - var reqBody, resBody OpenInventoryViewFolderBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type OverwriteCustomizationSpecBody struct { - Req *types.OverwriteCustomizationSpec `xml:"urn:vim25 OverwriteCustomizationSpec,omitempty"` - Res *types.OverwriteCustomizationSpecResponse `xml:"OverwriteCustomizationSpecResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *OverwriteCustomizationSpecBody) Fault() *soap.Fault { return b.Fault_ } - -func OverwriteCustomizationSpec(ctx context.Context, r soap.RoundTripper, req *types.OverwriteCustomizationSpec) (*types.OverwriteCustomizationSpecResponse, error) { - var reqBody, resBody OverwriteCustomizationSpecBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ParseDescriptorBody struct { - Req *types.ParseDescriptor `xml:"urn:vim25 ParseDescriptor,omitempty"` - Res *types.ParseDescriptorResponse `xml:"ParseDescriptorResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ParseDescriptorBody) Fault() *soap.Fault { return b.Fault_ } - -func ParseDescriptor(ctx context.Context, r soap.RoundTripper, req *types.ParseDescriptor) (*types.ParseDescriptorResponse, error) { - var reqBody, resBody ParseDescriptorBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PerformDvsProductSpecOperation_TaskBody struct { - Req *types.PerformDvsProductSpecOperation_Task `xml:"urn:vim25 PerformDvsProductSpecOperation_Task,omitempty"` - Res *types.PerformDvsProductSpecOperation_TaskResponse `xml:"PerformDvsProductSpecOperation_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PerformDvsProductSpecOperation_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func PerformDvsProductSpecOperation_Task(ctx context.Context, r soap.RoundTripper, req *types.PerformDvsProductSpecOperation_Task) (*types.PerformDvsProductSpecOperation_TaskResponse, error) { - var reqBody, resBody PerformDvsProductSpecOperation_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PerformVsanUpgradePreflightCheckBody struct { - Req *types.PerformVsanUpgradePreflightCheck `xml:"urn:vim25 PerformVsanUpgradePreflightCheck,omitempty"` - Res *types.PerformVsanUpgradePreflightCheckResponse `xml:"PerformVsanUpgradePreflightCheckResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PerformVsanUpgradePreflightCheckBody) Fault() *soap.Fault { return b.Fault_ } - -func PerformVsanUpgradePreflightCheck(ctx context.Context, r soap.RoundTripper, req *types.PerformVsanUpgradePreflightCheck) (*types.PerformVsanUpgradePreflightCheckResponse, error) { - var reqBody, resBody PerformVsanUpgradePreflightCheckBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PerformVsanUpgrade_TaskBody struct { - Req *types.PerformVsanUpgrade_Task `xml:"urn:vim25 PerformVsanUpgrade_Task,omitempty"` - Res *types.PerformVsanUpgrade_TaskResponse `xml:"PerformVsanUpgrade_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PerformVsanUpgrade_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func PerformVsanUpgrade_Task(ctx context.Context, r soap.RoundTripper, req *types.PerformVsanUpgrade_Task) (*types.PerformVsanUpgrade_TaskResponse, error) { - var reqBody, resBody PerformVsanUpgrade_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PlaceVmBody struct { - Req *types.PlaceVm `xml:"urn:vim25 PlaceVm,omitempty"` - Res *types.PlaceVmResponse `xml:"PlaceVmResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PlaceVmBody) Fault() *soap.Fault { return b.Fault_ } - -func PlaceVm(ctx context.Context, r soap.RoundTripper, req *types.PlaceVm) (*types.PlaceVmResponse, error) { - var reqBody, resBody PlaceVmBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PostEventBody struct { - Req *types.PostEvent `xml:"urn:vim25 PostEvent,omitempty"` - Res *types.PostEventResponse `xml:"PostEventResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PostEventBody) Fault() *soap.Fault { return b.Fault_ } - -func PostEvent(ctx context.Context, r soap.RoundTripper, req *types.PostEvent) (*types.PostEventResponse, error) { - var reqBody, resBody PostEventBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PostHealthUpdatesBody struct { - Req *types.PostHealthUpdates `xml:"urn:vim25 PostHealthUpdates,omitempty"` - Res *types.PostHealthUpdatesResponse `xml:"PostHealthUpdatesResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PostHealthUpdatesBody) Fault() *soap.Fault { return b.Fault_ } - -func PostHealthUpdates(ctx context.Context, r soap.RoundTripper, req *types.PostHealthUpdates) (*types.PostHealthUpdatesResponse, error) { - var reqBody, resBody PostHealthUpdatesBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PowerDownHostToStandBy_TaskBody struct { - Req *types.PowerDownHostToStandBy_Task `xml:"urn:vim25 PowerDownHostToStandBy_Task,omitempty"` - Res *types.PowerDownHostToStandBy_TaskResponse `xml:"PowerDownHostToStandBy_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PowerDownHostToStandBy_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func PowerDownHostToStandBy_Task(ctx context.Context, r soap.RoundTripper, req *types.PowerDownHostToStandBy_Task) (*types.PowerDownHostToStandBy_TaskResponse, error) { - var reqBody, resBody PowerDownHostToStandBy_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PowerOffVApp_TaskBody struct { - Req *types.PowerOffVApp_Task `xml:"urn:vim25 PowerOffVApp_Task,omitempty"` - Res *types.PowerOffVApp_TaskResponse `xml:"PowerOffVApp_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PowerOffVApp_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func PowerOffVApp_Task(ctx context.Context, r soap.RoundTripper, req *types.PowerOffVApp_Task) (*types.PowerOffVApp_TaskResponse, error) { - var reqBody, resBody PowerOffVApp_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PowerOffVM_TaskBody struct { - Req *types.PowerOffVM_Task `xml:"urn:vim25 PowerOffVM_Task,omitempty"` - Res *types.PowerOffVM_TaskResponse `xml:"PowerOffVM_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PowerOffVM_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func PowerOffVM_Task(ctx context.Context, r soap.RoundTripper, req *types.PowerOffVM_Task) (*types.PowerOffVM_TaskResponse, error) { - var reqBody, resBody PowerOffVM_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PowerOnMultiVM_TaskBody struct { - Req *types.PowerOnMultiVM_Task `xml:"urn:vim25 PowerOnMultiVM_Task,omitempty"` - Res *types.PowerOnMultiVM_TaskResponse `xml:"PowerOnMultiVM_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PowerOnMultiVM_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func PowerOnMultiVM_Task(ctx context.Context, r soap.RoundTripper, req *types.PowerOnMultiVM_Task) (*types.PowerOnMultiVM_TaskResponse, error) { - var reqBody, resBody PowerOnMultiVM_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PowerOnVApp_TaskBody struct { - Req *types.PowerOnVApp_Task `xml:"urn:vim25 PowerOnVApp_Task,omitempty"` - Res *types.PowerOnVApp_TaskResponse `xml:"PowerOnVApp_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PowerOnVApp_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func PowerOnVApp_Task(ctx context.Context, r soap.RoundTripper, req *types.PowerOnVApp_Task) (*types.PowerOnVApp_TaskResponse, error) { - var reqBody, resBody PowerOnVApp_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PowerOnVM_TaskBody struct { - Req *types.PowerOnVM_Task `xml:"urn:vim25 PowerOnVM_Task,omitempty"` - Res *types.PowerOnVM_TaskResponse `xml:"PowerOnVM_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PowerOnVM_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func PowerOnVM_Task(ctx context.Context, r soap.RoundTripper, req *types.PowerOnVM_Task) (*types.PowerOnVM_TaskResponse, error) { - var reqBody, resBody PowerOnVM_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PowerUpHostFromStandBy_TaskBody struct { - Req *types.PowerUpHostFromStandBy_Task `xml:"urn:vim25 PowerUpHostFromStandBy_Task,omitempty"` - Res *types.PowerUpHostFromStandBy_TaskResponse `xml:"PowerUpHostFromStandBy_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PowerUpHostFromStandBy_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func PowerUpHostFromStandBy_Task(ctx context.Context, r soap.RoundTripper, req *types.PowerUpHostFromStandBy_Task) (*types.PowerUpHostFromStandBy_TaskResponse, error) { - var reqBody, resBody PowerUpHostFromStandBy_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PrepareCryptoBody struct { - Req *types.PrepareCrypto `xml:"urn:vim25 PrepareCrypto,omitempty"` - Res *types.PrepareCryptoResponse `xml:"PrepareCryptoResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PrepareCryptoBody) Fault() *soap.Fault { return b.Fault_ } - -func PrepareCrypto(ctx context.Context, r soap.RoundTripper, req *types.PrepareCrypto) (*types.PrepareCryptoResponse, error) { - var reqBody, resBody PrepareCryptoBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PromoteDisks_TaskBody struct { - Req *types.PromoteDisks_Task `xml:"urn:vim25 PromoteDisks_Task,omitempty"` - Res *types.PromoteDisks_TaskResponse `xml:"PromoteDisks_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PromoteDisks_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func PromoteDisks_Task(ctx context.Context, r soap.RoundTripper, req *types.PromoteDisks_Task) (*types.PromoteDisks_TaskResponse, error) { - var reqBody, resBody PromoteDisks_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PutUsbScanCodesBody struct { - Req *types.PutUsbScanCodes `xml:"urn:vim25 PutUsbScanCodes,omitempty"` - Res *types.PutUsbScanCodesResponse `xml:"PutUsbScanCodesResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PutUsbScanCodesBody) Fault() *soap.Fault { return b.Fault_ } - -func PutUsbScanCodes(ctx context.Context, r soap.RoundTripper, req *types.PutUsbScanCodes) (*types.PutUsbScanCodesResponse, error) { - var reqBody, resBody PutUsbScanCodesBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryAnswerFileStatusBody struct { - Req *types.QueryAnswerFileStatus `xml:"urn:vim25 QueryAnswerFileStatus,omitempty"` - Res *types.QueryAnswerFileStatusResponse `xml:"QueryAnswerFileStatusResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryAnswerFileStatusBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryAnswerFileStatus(ctx context.Context, r soap.RoundTripper, req *types.QueryAnswerFileStatus) (*types.QueryAnswerFileStatusResponse, error) { - var reqBody, resBody QueryAnswerFileStatusBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryAssignedLicensesBody struct { - Req *types.QueryAssignedLicenses `xml:"urn:vim25 QueryAssignedLicenses,omitempty"` - Res *types.QueryAssignedLicensesResponse `xml:"QueryAssignedLicensesResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryAssignedLicensesBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryAssignedLicenses(ctx context.Context, r soap.RoundTripper, req *types.QueryAssignedLicenses) (*types.QueryAssignedLicensesResponse, error) { - var reqBody, resBody QueryAssignedLicensesBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryAvailableDisksForVmfsBody struct { - Req *types.QueryAvailableDisksForVmfs `xml:"urn:vim25 QueryAvailableDisksForVmfs,omitempty"` - Res *types.QueryAvailableDisksForVmfsResponse `xml:"QueryAvailableDisksForVmfsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryAvailableDisksForVmfsBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryAvailableDisksForVmfs(ctx context.Context, r soap.RoundTripper, req *types.QueryAvailableDisksForVmfs) (*types.QueryAvailableDisksForVmfsResponse, error) { - var reqBody, resBody QueryAvailableDisksForVmfsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryAvailableDvsSpecBody struct { - Req *types.QueryAvailableDvsSpec `xml:"urn:vim25 QueryAvailableDvsSpec,omitempty"` - Res *types.QueryAvailableDvsSpecResponse `xml:"QueryAvailableDvsSpecResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryAvailableDvsSpecBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryAvailableDvsSpec(ctx context.Context, r soap.RoundTripper, req *types.QueryAvailableDvsSpec) (*types.QueryAvailableDvsSpecResponse, error) { - var reqBody, resBody QueryAvailableDvsSpecBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryAvailablePartitionBody struct { - Req *types.QueryAvailablePartition `xml:"urn:vim25 QueryAvailablePartition,omitempty"` - Res *types.QueryAvailablePartitionResponse `xml:"QueryAvailablePartitionResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryAvailablePartitionBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryAvailablePartition(ctx context.Context, r soap.RoundTripper, req *types.QueryAvailablePartition) (*types.QueryAvailablePartitionResponse, error) { - var reqBody, resBody QueryAvailablePartitionBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryAvailablePerfMetricBody struct { - Req *types.QueryAvailablePerfMetric `xml:"urn:vim25 QueryAvailablePerfMetric,omitempty"` - Res *types.QueryAvailablePerfMetricResponse `xml:"QueryAvailablePerfMetricResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryAvailablePerfMetricBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryAvailablePerfMetric(ctx context.Context, r soap.RoundTripper, req *types.QueryAvailablePerfMetric) (*types.QueryAvailablePerfMetricResponse, error) { - var reqBody, resBody QueryAvailablePerfMetricBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryAvailableSsdsBody struct { - Req *types.QueryAvailableSsds `xml:"urn:vim25 QueryAvailableSsds,omitempty"` - Res *types.QueryAvailableSsdsResponse `xml:"QueryAvailableSsdsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryAvailableSsdsBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryAvailableSsds(ctx context.Context, r soap.RoundTripper, req *types.QueryAvailableSsds) (*types.QueryAvailableSsdsResponse, error) { - var reqBody, resBody QueryAvailableSsdsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryAvailableTimeZonesBody struct { - Req *types.QueryAvailableTimeZones `xml:"urn:vim25 QueryAvailableTimeZones,omitempty"` - Res *types.QueryAvailableTimeZonesResponse `xml:"QueryAvailableTimeZonesResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryAvailableTimeZonesBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryAvailableTimeZones(ctx context.Context, r soap.RoundTripper, req *types.QueryAvailableTimeZones) (*types.QueryAvailableTimeZonesResponse, error) { - var reqBody, resBody QueryAvailableTimeZonesBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryBootDevicesBody struct { - Req *types.QueryBootDevices `xml:"urn:vim25 QueryBootDevices,omitempty"` - Res *types.QueryBootDevicesResponse `xml:"QueryBootDevicesResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryBootDevicesBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryBootDevices(ctx context.Context, r soap.RoundTripper, req *types.QueryBootDevices) (*types.QueryBootDevicesResponse, error) { - var reqBody, resBody QueryBootDevicesBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryBoundVnicsBody struct { - Req *types.QueryBoundVnics `xml:"urn:vim25 QueryBoundVnics,omitempty"` - Res *types.QueryBoundVnicsResponse `xml:"QueryBoundVnicsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryBoundVnicsBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryBoundVnics(ctx context.Context, r soap.RoundTripper, req *types.QueryBoundVnics) (*types.QueryBoundVnicsResponse, error) { - var reqBody, resBody QueryBoundVnicsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryCandidateNicsBody struct { - Req *types.QueryCandidateNics `xml:"urn:vim25 QueryCandidateNics,omitempty"` - Res *types.QueryCandidateNicsResponse `xml:"QueryCandidateNicsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryCandidateNicsBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryCandidateNics(ctx context.Context, r soap.RoundTripper, req *types.QueryCandidateNics) (*types.QueryCandidateNicsResponse, error) { - var reqBody, resBody QueryCandidateNicsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryChangedDiskAreasBody struct { - Req *types.QueryChangedDiskAreas `xml:"urn:vim25 QueryChangedDiskAreas,omitempty"` - Res *types.QueryChangedDiskAreasResponse `xml:"QueryChangedDiskAreasResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryChangedDiskAreasBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryChangedDiskAreas(ctx context.Context, r soap.RoundTripper, req *types.QueryChangedDiskAreas) (*types.QueryChangedDiskAreasResponse, error) { - var reqBody, resBody QueryChangedDiskAreasBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryCmmdsBody struct { - Req *types.QueryCmmds `xml:"urn:vim25 QueryCmmds,omitempty"` - Res *types.QueryCmmdsResponse `xml:"QueryCmmdsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryCmmdsBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryCmmds(ctx context.Context, r soap.RoundTripper, req *types.QueryCmmds) (*types.QueryCmmdsResponse, error) { - var reqBody, resBody QueryCmmdsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryCompatibleHostForExistingDvsBody struct { - Req *types.QueryCompatibleHostForExistingDvs `xml:"urn:vim25 QueryCompatibleHostForExistingDvs,omitempty"` - Res *types.QueryCompatibleHostForExistingDvsResponse `xml:"QueryCompatibleHostForExistingDvsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryCompatibleHostForExistingDvsBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryCompatibleHostForExistingDvs(ctx context.Context, r soap.RoundTripper, req *types.QueryCompatibleHostForExistingDvs) (*types.QueryCompatibleHostForExistingDvsResponse, error) { - var reqBody, resBody QueryCompatibleHostForExistingDvsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryCompatibleHostForNewDvsBody struct { - Req *types.QueryCompatibleHostForNewDvs `xml:"urn:vim25 QueryCompatibleHostForNewDvs,omitempty"` - Res *types.QueryCompatibleHostForNewDvsResponse `xml:"QueryCompatibleHostForNewDvsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryCompatibleHostForNewDvsBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryCompatibleHostForNewDvs(ctx context.Context, r soap.RoundTripper, req *types.QueryCompatibleHostForNewDvs) (*types.QueryCompatibleHostForNewDvsResponse, error) { - var reqBody, resBody QueryCompatibleHostForNewDvsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryCompatibleVmnicsFromHostsBody struct { - Req *types.QueryCompatibleVmnicsFromHosts `xml:"urn:vim25 QueryCompatibleVmnicsFromHosts,omitempty"` - Res *types.QueryCompatibleVmnicsFromHostsResponse `xml:"QueryCompatibleVmnicsFromHostsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryCompatibleVmnicsFromHostsBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryCompatibleVmnicsFromHosts(ctx context.Context, r soap.RoundTripper, req *types.QueryCompatibleVmnicsFromHosts) (*types.QueryCompatibleVmnicsFromHostsResponse, error) { - var reqBody, resBody QueryCompatibleVmnicsFromHostsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryComplianceStatusBody struct { - Req *types.QueryComplianceStatus `xml:"urn:vim25 QueryComplianceStatus,omitempty"` - Res *types.QueryComplianceStatusResponse `xml:"QueryComplianceStatusResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryComplianceStatusBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryComplianceStatus(ctx context.Context, r soap.RoundTripper, req *types.QueryComplianceStatus) (*types.QueryComplianceStatusResponse, error) { - var reqBody, resBody QueryComplianceStatusBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryConfigOptionBody struct { - Req *types.QueryConfigOption `xml:"urn:vim25 QueryConfigOption,omitempty"` - Res *types.QueryConfigOptionResponse `xml:"QueryConfigOptionResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryConfigOptionBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryConfigOption(ctx context.Context, r soap.RoundTripper, req *types.QueryConfigOption) (*types.QueryConfigOptionResponse, error) { - var reqBody, resBody QueryConfigOptionBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryConfigOptionDescriptorBody struct { - Req *types.QueryConfigOptionDescriptor `xml:"urn:vim25 QueryConfigOptionDescriptor,omitempty"` - Res *types.QueryConfigOptionDescriptorResponse `xml:"QueryConfigOptionDescriptorResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryConfigOptionDescriptorBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryConfigOptionDescriptor(ctx context.Context, r soap.RoundTripper, req *types.QueryConfigOptionDescriptor) (*types.QueryConfigOptionDescriptorResponse, error) { - var reqBody, resBody QueryConfigOptionDescriptorBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryConfigOptionExBody struct { - Req *types.QueryConfigOptionEx `xml:"urn:vim25 QueryConfigOptionEx,omitempty"` - Res *types.QueryConfigOptionExResponse `xml:"QueryConfigOptionExResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryConfigOptionExBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryConfigOptionEx(ctx context.Context, r soap.RoundTripper, req *types.QueryConfigOptionEx) (*types.QueryConfigOptionExResponse, error) { - var reqBody, resBody QueryConfigOptionExBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryConfigTargetBody struct { - Req *types.QueryConfigTarget `xml:"urn:vim25 QueryConfigTarget,omitempty"` - Res *types.QueryConfigTargetResponse `xml:"QueryConfigTargetResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryConfigTargetBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryConfigTarget(ctx context.Context, r soap.RoundTripper, req *types.QueryConfigTarget) (*types.QueryConfigTargetResponse, error) { - var reqBody, resBody QueryConfigTargetBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryConfiguredModuleOptionStringBody struct { - Req *types.QueryConfiguredModuleOptionString `xml:"urn:vim25 QueryConfiguredModuleOptionString,omitempty"` - Res *types.QueryConfiguredModuleOptionStringResponse `xml:"QueryConfiguredModuleOptionStringResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryConfiguredModuleOptionStringBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryConfiguredModuleOptionString(ctx context.Context, r soap.RoundTripper, req *types.QueryConfiguredModuleOptionString) (*types.QueryConfiguredModuleOptionStringResponse, error) { - var reqBody, resBody QueryConfiguredModuleOptionStringBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryConnectionInfoBody struct { - Req *types.QueryConnectionInfo `xml:"urn:vim25 QueryConnectionInfo,omitempty"` - Res *types.QueryConnectionInfoResponse `xml:"QueryConnectionInfoResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryConnectionInfoBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryConnectionInfo(ctx context.Context, r soap.RoundTripper, req *types.QueryConnectionInfo) (*types.QueryConnectionInfoResponse, error) { - var reqBody, resBody QueryConnectionInfoBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryConnectionInfoViaSpecBody struct { - Req *types.QueryConnectionInfoViaSpec `xml:"urn:vim25 QueryConnectionInfoViaSpec,omitempty"` - Res *types.QueryConnectionInfoViaSpecResponse `xml:"QueryConnectionInfoViaSpecResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryConnectionInfoViaSpecBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryConnectionInfoViaSpec(ctx context.Context, r soap.RoundTripper, req *types.QueryConnectionInfoViaSpec) (*types.QueryConnectionInfoViaSpecResponse, error) { - var reqBody, resBody QueryConnectionInfoViaSpecBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryConnectionsBody struct { - Req *types.QueryConnections `xml:"urn:vim25 QueryConnections,omitempty"` - Res *types.QueryConnectionsResponse `xml:"QueryConnectionsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryConnectionsBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryConnections(ctx context.Context, r soap.RoundTripper, req *types.QueryConnections) (*types.QueryConnectionsResponse, error) { - var reqBody, resBody QueryConnectionsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryCryptoKeyStatusBody struct { - Req *types.QueryCryptoKeyStatus `xml:"urn:vim25 QueryCryptoKeyStatus,omitempty"` - Res *types.QueryCryptoKeyStatusResponse `xml:"QueryCryptoKeyStatusResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryCryptoKeyStatusBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryCryptoKeyStatus(ctx context.Context, r soap.RoundTripper, req *types.QueryCryptoKeyStatus) (*types.QueryCryptoKeyStatusResponse, error) { - var reqBody, resBody QueryCryptoKeyStatusBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryDatastorePerformanceSummaryBody struct { - Req *types.QueryDatastorePerformanceSummary `xml:"urn:vim25 QueryDatastorePerformanceSummary,omitempty"` - Res *types.QueryDatastorePerformanceSummaryResponse `xml:"QueryDatastorePerformanceSummaryResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryDatastorePerformanceSummaryBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryDatastorePerformanceSummary(ctx context.Context, r soap.RoundTripper, req *types.QueryDatastorePerformanceSummary) (*types.QueryDatastorePerformanceSummaryResponse, error) { - var reqBody, resBody QueryDatastorePerformanceSummaryBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryDateTimeBody struct { - Req *types.QueryDateTime `xml:"urn:vim25 QueryDateTime,omitempty"` - Res *types.QueryDateTimeResponse `xml:"QueryDateTimeResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryDateTimeBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryDateTime(ctx context.Context, r soap.RoundTripper, req *types.QueryDateTime) (*types.QueryDateTimeResponse, error) { - var reqBody, resBody QueryDateTimeBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryDescriptionsBody struct { - Req *types.QueryDescriptions `xml:"urn:vim25 QueryDescriptions,omitempty"` - Res *types.QueryDescriptionsResponse `xml:"QueryDescriptionsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryDescriptionsBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryDescriptions(ctx context.Context, r soap.RoundTripper, req *types.QueryDescriptions) (*types.QueryDescriptionsResponse, error) { - var reqBody, resBody QueryDescriptionsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryDisksForVsanBody struct { - Req *types.QueryDisksForVsan `xml:"urn:vim25 QueryDisksForVsan,omitempty"` - Res *types.QueryDisksForVsanResponse `xml:"QueryDisksForVsanResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryDisksForVsanBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryDisksForVsan(ctx context.Context, r soap.RoundTripper, req *types.QueryDisksForVsan) (*types.QueryDisksForVsanResponse, error) { - var reqBody, resBody QueryDisksForVsanBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryDisksUsingFilterBody struct { - Req *types.QueryDisksUsingFilter `xml:"urn:vim25 QueryDisksUsingFilter,omitempty"` - Res *types.QueryDisksUsingFilterResponse `xml:"QueryDisksUsingFilterResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryDisksUsingFilterBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryDisksUsingFilter(ctx context.Context, r soap.RoundTripper, req *types.QueryDisksUsingFilter) (*types.QueryDisksUsingFilterResponse, error) { - var reqBody, resBody QueryDisksUsingFilterBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryDvsByUuidBody struct { - Req *types.QueryDvsByUuid `xml:"urn:vim25 QueryDvsByUuid,omitempty"` - Res *types.QueryDvsByUuidResponse `xml:"QueryDvsByUuidResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryDvsByUuidBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryDvsByUuid(ctx context.Context, r soap.RoundTripper, req *types.QueryDvsByUuid) (*types.QueryDvsByUuidResponse, error) { - var reqBody, resBody QueryDvsByUuidBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryDvsCheckCompatibilityBody struct { - Req *types.QueryDvsCheckCompatibility `xml:"urn:vim25 QueryDvsCheckCompatibility,omitempty"` - Res *types.QueryDvsCheckCompatibilityResponse `xml:"QueryDvsCheckCompatibilityResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryDvsCheckCompatibilityBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryDvsCheckCompatibility(ctx context.Context, r soap.RoundTripper, req *types.QueryDvsCheckCompatibility) (*types.QueryDvsCheckCompatibilityResponse, error) { - var reqBody, resBody QueryDvsCheckCompatibilityBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryDvsCompatibleHostSpecBody struct { - Req *types.QueryDvsCompatibleHostSpec `xml:"urn:vim25 QueryDvsCompatibleHostSpec,omitempty"` - Res *types.QueryDvsCompatibleHostSpecResponse `xml:"QueryDvsCompatibleHostSpecResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryDvsCompatibleHostSpecBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryDvsCompatibleHostSpec(ctx context.Context, r soap.RoundTripper, req *types.QueryDvsCompatibleHostSpec) (*types.QueryDvsCompatibleHostSpecResponse, error) { - var reqBody, resBody QueryDvsCompatibleHostSpecBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryDvsConfigTargetBody struct { - Req *types.QueryDvsConfigTarget `xml:"urn:vim25 QueryDvsConfigTarget,omitempty"` - Res *types.QueryDvsConfigTargetResponse `xml:"QueryDvsConfigTargetResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryDvsConfigTargetBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryDvsConfigTarget(ctx context.Context, r soap.RoundTripper, req *types.QueryDvsConfigTarget) (*types.QueryDvsConfigTargetResponse, error) { - var reqBody, resBody QueryDvsConfigTargetBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryDvsFeatureCapabilityBody struct { - Req *types.QueryDvsFeatureCapability `xml:"urn:vim25 QueryDvsFeatureCapability,omitempty"` - Res *types.QueryDvsFeatureCapabilityResponse `xml:"QueryDvsFeatureCapabilityResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryDvsFeatureCapabilityBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryDvsFeatureCapability(ctx context.Context, r soap.RoundTripper, req *types.QueryDvsFeatureCapability) (*types.QueryDvsFeatureCapabilityResponse, error) { - var reqBody, resBody QueryDvsFeatureCapabilityBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryEventsBody struct { - Req *types.QueryEvents `xml:"urn:vim25 QueryEvents,omitempty"` - Res *types.QueryEventsResponse `xml:"QueryEventsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryEventsBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryEvents(ctx context.Context, r soap.RoundTripper, req *types.QueryEvents) (*types.QueryEventsResponse, error) { - var reqBody, resBody QueryEventsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryExpressionMetadataBody struct { - Req *types.QueryExpressionMetadata `xml:"urn:vim25 QueryExpressionMetadata,omitempty"` - Res *types.QueryExpressionMetadataResponse `xml:"QueryExpressionMetadataResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryExpressionMetadataBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryExpressionMetadata(ctx context.Context, r soap.RoundTripper, req *types.QueryExpressionMetadata) (*types.QueryExpressionMetadataResponse, error) { - var reqBody, resBody QueryExpressionMetadataBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryExtensionIpAllocationUsageBody struct { - Req *types.QueryExtensionIpAllocationUsage `xml:"urn:vim25 QueryExtensionIpAllocationUsage,omitempty"` - Res *types.QueryExtensionIpAllocationUsageResponse `xml:"QueryExtensionIpAllocationUsageResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryExtensionIpAllocationUsageBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryExtensionIpAllocationUsage(ctx context.Context, r soap.RoundTripper, req *types.QueryExtensionIpAllocationUsage) (*types.QueryExtensionIpAllocationUsageResponse, error) { - var reqBody, resBody QueryExtensionIpAllocationUsageBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryFaultToleranceCompatibilityBody struct { - Req *types.QueryFaultToleranceCompatibility `xml:"urn:vim25 QueryFaultToleranceCompatibility,omitempty"` - Res *types.QueryFaultToleranceCompatibilityResponse `xml:"QueryFaultToleranceCompatibilityResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryFaultToleranceCompatibilityBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryFaultToleranceCompatibility(ctx context.Context, r soap.RoundTripper, req *types.QueryFaultToleranceCompatibility) (*types.QueryFaultToleranceCompatibilityResponse, error) { - var reqBody, resBody QueryFaultToleranceCompatibilityBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryFaultToleranceCompatibilityExBody struct { - Req *types.QueryFaultToleranceCompatibilityEx `xml:"urn:vim25 QueryFaultToleranceCompatibilityEx,omitempty"` - Res *types.QueryFaultToleranceCompatibilityExResponse `xml:"QueryFaultToleranceCompatibilityExResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryFaultToleranceCompatibilityExBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryFaultToleranceCompatibilityEx(ctx context.Context, r soap.RoundTripper, req *types.QueryFaultToleranceCompatibilityEx) (*types.QueryFaultToleranceCompatibilityExResponse, error) { - var reqBody, resBody QueryFaultToleranceCompatibilityExBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryFilterEntitiesBody struct { - Req *types.QueryFilterEntities `xml:"urn:vim25 QueryFilterEntities,omitempty"` - Res *types.QueryFilterEntitiesResponse `xml:"QueryFilterEntitiesResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryFilterEntitiesBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryFilterEntities(ctx context.Context, r soap.RoundTripper, req *types.QueryFilterEntities) (*types.QueryFilterEntitiesResponse, error) { - var reqBody, resBody QueryFilterEntitiesBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryFilterInfoIdsBody struct { - Req *types.QueryFilterInfoIds `xml:"urn:vim25 QueryFilterInfoIds,omitempty"` - Res *types.QueryFilterInfoIdsResponse `xml:"QueryFilterInfoIdsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryFilterInfoIdsBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryFilterInfoIds(ctx context.Context, r soap.RoundTripper, req *types.QueryFilterInfoIds) (*types.QueryFilterInfoIdsResponse, error) { - var reqBody, resBody QueryFilterInfoIdsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryFilterListBody struct { - Req *types.QueryFilterList `xml:"urn:vim25 QueryFilterList,omitempty"` - Res *types.QueryFilterListResponse `xml:"QueryFilterListResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryFilterListBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryFilterList(ctx context.Context, r soap.RoundTripper, req *types.QueryFilterList) (*types.QueryFilterListResponse, error) { - var reqBody, resBody QueryFilterListBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryFilterNameBody struct { - Req *types.QueryFilterName `xml:"urn:vim25 QueryFilterName,omitempty"` - Res *types.QueryFilterNameResponse `xml:"QueryFilterNameResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryFilterNameBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryFilterName(ctx context.Context, r soap.RoundTripper, req *types.QueryFilterName) (*types.QueryFilterNameResponse, error) { - var reqBody, resBody QueryFilterNameBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryFirmwareConfigUploadURLBody struct { - Req *types.QueryFirmwareConfigUploadURL `xml:"urn:vim25 QueryFirmwareConfigUploadURL,omitempty"` - Res *types.QueryFirmwareConfigUploadURLResponse `xml:"QueryFirmwareConfigUploadURLResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryFirmwareConfigUploadURLBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryFirmwareConfigUploadURL(ctx context.Context, r soap.RoundTripper, req *types.QueryFirmwareConfigUploadURL) (*types.QueryFirmwareConfigUploadURLResponse, error) { - var reqBody, resBody QueryFirmwareConfigUploadURLBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryHealthUpdateInfosBody struct { - Req *types.QueryHealthUpdateInfos `xml:"urn:vim25 QueryHealthUpdateInfos,omitempty"` - Res *types.QueryHealthUpdateInfosResponse `xml:"QueryHealthUpdateInfosResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryHealthUpdateInfosBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryHealthUpdateInfos(ctx context.Context, r soap.RoundTripper, req *types.QueryHealthUpdateInfos) (*types.QueryHealthUpdateInfosResponse, error) { - var reqBody, resBody QueryHealthUpdateInfosBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryHealthUpdatesBody struct { - Req *types.QueryHealthUpdates `xml:"urn:vim25 QueryHealthUpdates,omitempty"` - Res *types.QueryHealthUpdatesResponse `xml:"QueryHealthUpdatesResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryHealthUpdatesBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryHealthUpdates(ctx context.Context, r soap.RoundTripper, req *types.QueryHealthUpdates) (*types.QueryHealthUpdatesResponse, error) { - var reqBody, resBody QueryHealthUpdatesBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryHostConnectionInfoBody struct { - Req *types.QueryHostConnectionInfo `xml:"urn:vim25 QueryHostConnectionInfo,omitempty"` - Res *types.QueryHostConnectionInfoResponse `xml:"QueryHostConnectionInfoResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryHostConnectionInfoBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryHostConnectionInfo(ctx context.Context, r soap.RoundTripper, req *types.QueryHostConnectionInfo) (*types.QueryHostConnectionInfoResponse, error) { - var reqBody, resBody QueryHostConnectionInfoBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryHostPatch_TaskBody struct { - Req *types.QueryHostPatch_Task `xml:"urn:vim25 QueryHostPatch_Task,omitempty"` - Res *types.QueryHostPatch_TaskResponse `xml:"QueryHostPatch_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryHostPatch_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryHostPatch_Task(ctx context.Context, r soap.RoundTripper, req *types.QueryHostPatch_Task) (*types.QueryHostPatch_TaskResponse, error) { - var reqBody, resBody QueryHostPatch_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryHostProfileMetadataBody struct { - Req *types.QueryHostProfileMetadata `xml:"urn:vim25 QueryHostProfileMetadata,omitempty"` - Res *types.QueryHostProfileMetadataResponse `xml:"QueryHostProfileMetadataResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryHostProfileMetadataBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryHostProfileMetadata(ctx context.Context, r soap.RoundTripper, req *types.QueryHostProfileMetadata) (*types.QueryHostProfileMetadataResponse, error) { - var reqBody, resBody QueryHostProfileMetadataBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryHostStatusBody struct { - Req *types.QueryHostStatus `xml:"urn:vim25 QueryHostStatus,omitempty"` - Res *types.QueryHostStatusResponse `xml:"QueryHostStatusResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryHostStatusBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryHostStatus(ctx context.Context, r soap.RoundTripper, req *types.QueryHostStatus) (*types.QueryHostStatusResponse, error) { - var reqBody, resBody QueryHostStatusBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryHostsWithAttachedLunBody struct { - Req *types.QueryHostsWithAttachedLun `xml:"urn:vim25 QueryHostsWithAttachedLun,omitempty"` - Res *types.QueryHostsWithAttachedLunResponse `xml:"QueryHostsWithAttachedLunResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryHostsWithAttachedLunBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryHostsWithAttachedLun(ctx context.Context, r soap.RoundTripper, req *types.QueryHostsWithAttachedLun) (*types.QueryHostsWithAttachedLunResponse, error) { - var reqBody, resBody QueryHostsWithAttachedLunBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryIORMConfigOptionBody struct { - Req *types.QueryIORMConfigOption `xml:"urn:vim25 QueryIORMConfigOption,omitempty"` - Res *types.QueryIORMConfigOptionResponse `xml:"QueryIORMConfigOptionResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryIORMConfigOptionBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryIORMConfigOption(ctx context.Context, r soap.RoundTripper, req *types.QueryIORMConfigOption) (*types.QueryIORMConfigOptionResponse, error) { - var reqBody, resBody QueryIORMConfigOptionBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryIPAllocationsBody struct { - Req *types.QueryIPAllocations `xml:"urn:vim25 QueryIPAllocations,omitempty"` - Res *types.QueryIPAllocationsResponse `xml:"QueryIPAllocationsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryIPAllocationsBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryIPAllocations(ctx context.Context, r soap.RoundTripper, req *types.QueryIPAllocations) (*types.QueryIPAllocationsResponse, error) { - var reqBody, resBody QueryIPAllocationsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryIoFilterInfoBody struct { - Req *types.QueryIoFilterInfo `xml:"urn:vim25 QueryIoFilterInfo,omitempty"` - Res *types.QueryIoFilterInfoResponse `xml:"QueryIoFilterInfoResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryIoFilterInfoBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryIoFilterInfo(ctx context.Context, r soap.RoundTripper, req *types.QueryIoFilterInfo) (*types.QueryIoFilterInfoResponse, error) { - var reqBody, resBody QueryIoFilterInfoBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryIoFilterIssuesBody struct { - Req *types.QueryIoFilterIssues `xml:"urn:vim25 QueryIoFilterIssues,omitempty"` - Res *types.QueryIoFilterIssuesResponse `xml:"QueryIoFilterIssuesResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryIoFilterIssuesBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryIoFilterIssues(ctx context.Context, r soap.RoundTripper, req *types.QueryIoFilterIssues) (*types.QueryIoFilterIssuesResponse, error) { - var reqBody, resBody QueryIoFilterIssuesBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryIpPoolsBody struct { - Req *types.QueryIpPools `xml:"urn:vim25 QueryIpPools,omitempty"` - Res *types.QueryIpPoolsResponse `xml:"QueryIpPoolsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryIpPoolsBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryIpPools(ctx context.Context, r soap.RoundTripper, req *types.QueryIpPools) (*types.QueryIpPoolsResponse, error) { - var reqBody, resBody QueryIpPoolsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryLicenseSourceAvailabilityBody struct { - Req *types.QueryLicenseSourceAvailability `xml:"urn:vim25 QueryLicenseSourceAvailability,omitempty"` - Res *types.QueryLicenseSourceAvailabilityResponse `xml:"QueryLicenseSourceAvailabilityResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryLicenseSourceAvailabilityBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryLicenseSourceAvailability(ctx context.Context, r soap.RoundTripper, req *types.QueryLicenseSourceAvailability) (*types.QueryLicenseSourceAvailabilityResponse, error) { - var reqBody, resBody QueryLicenseSourceAvailabilityBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryLicenseUsageBody struct { - Req *types.QueryLicenseUsage `xml:"urn:vim25 QueryLicenseUsage,omitempty"` - Res *types.QueryLicenseUsageResponse `xml:"QueryLicenseUsageResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryLicenseUsageBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryLicenseUsage(ctx context.Context, r soap.RoundTripper, req *types.QueryLicenseUsage) (*types.QueryLicenseUsageResponse, error) { - var reqBody, resBody QueryLicenseUsageBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryLockdownExceptionsBody struct { - Req *types.QueryLockdownExceptions `xml:"urn:vim25 QueryLockdownExceptions,omitempty"` - Res *types.QueryLockdownExceptionsResponse `xml:"QueryLockdownExceptionsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryLockdownExceptionsBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryLockdownExceptions(ctx context.Context, r soap.RoundTripper, req *types.QueryLockdownExceptions) (*types.QueryLockdownExceptionsResponse, error) { - var reqBody, resBody QueryLockdownExceptionsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryManagedByBody struct { - Req *types.QueryManagedBy `xml:"urn:vim25 QueryManagedBy,omitempty"` - Res *types.QueryManagedByResponse `xml:"QueryManagedByResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryManagedByBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryManagedBy(ctx context.Context, r soap.RoundTripper, req *types.QueryManagedBy) (*types.QueryManagedByResponse, error) { - var reqBody, resBody QueryManagedByBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryMaxQueueDepthBody struct { - Req *types.QueryMaxQueueDepth `xml:"urn:vim25 QueryMaxQueueDepth,omitempty"` - Res *types.QueryMaxQueueDepthResponse `xml:"QueryMaxQueueDepthResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryMaxQueueDepthBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryMaxQueueDepth(ctx context.Context, r soap.RoundTripper, req *types.QueryMaxQueueDepth) (*types.QueryMaxQueueDepthResponse, error) { - var reqBody, resBody QueryMaxQueueDepthBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryMemoryOverheadBody struct { - Req *types.QueryMemoryOverhead `xml:"urn:vim25 QueryMemoryOverhead,omitempty"` - Res *types.QueryMemoryOverheadResponse `xml:"QueryMemoryOverheadResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryMemoryOverheadBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryMemoryOverhead(ctx context.Context, r soap.RoundTripper, req *types.QueryMemoryOverhead) (*types.QueryMemoryOverheadResponse, error) { - var reqBody, resBody QueryMemoryOverheadBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryMemoryOverheadExBody struct { - Req *types.QueryMemoryOverheadEx `xml:"urn:vim25 QueryMemoryOverheadEx,omitempty"` - Res *types.QueryMemoryOverheadExResponse `xml:"QueryMemoryOverheadExResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryMemoryOverheadExBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryMemoryOverheadEx(ctx context.Context, r soap.RoundTripper, req *types.QueryMemoryOverheadEx) (*types.QueryMemoryOverheadExResponse, error) { - var reqBody, resBody QueryMemoryOverheadExBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryMigrationDependenciesBody struct { - Req *types.QueryMigrationDependencies `xml:"urn:vim25 QueryMigrationDependencies,omitempty"` - Res *types.QueryMigrationDependenciesResponse `xml:"QueryMigrationDependenciesResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryMigrationDependenciesBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryMigrationDependencies(ctx context.Context, r soap.RoundTripper, req *types.QueryMigrationDependencies) (*types.QueryMigrationDependenciesResponse, error) { - var reqBody, resBody QueryMigrationDependenciesBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryModulesBody struct { - Req *types.QueryModules `xml:"urn:vim25 QueryModules,omitempty"` - Res *types.QueryModulesResponse `xml:"QueryModulesResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryModulesBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryModules(ctx context.Context, r soap.RoundTripper, req *types.QueryModules) (*types.QueryModulesResponse, error) { - var reqBody, resBody QueryModulesBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryMonitoredEntitiesBody struct { - Req *types.QueryMonitoredEntities `xml:"urn:vim25 QueryMonitoredEntities,omitempty"` - Res *types.QueryMonitoredEntitiesResponse `xml:"QueryMonitoredEntitiesResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryMonitoredEntitiesBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryMonitoredEntities(ctx context.Context, r soap.RoundTripper, req *types.QueryMonitoredEntities) (*types.QueryMonitoredEntitiesResponse, error) { - var reqBody, resBody QueryMonitoredEntitiesBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryNFSUserBody struct { - Req *types.QueryNFSUser `xml:"urn:vim25 QueryNFSUser,omitempty"` - Res *types.QueryNFSUserResponse `xml:"QueryNFSUserResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryNFSUserBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryNFSUser(ctx context.Context, r soap.RoundTripper, req *types.QueryNFSUser) (*types.QueryNFSUserResponse, error) { - var reqBody, resBody QueryNFSUserBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryNetConfigBody struct { - Req *types.QueryNetConfig `xml:"urn:vim25 QueryNetConfig,omitempty"` - Res *types.QueryNetConfigResponse `xml:"QueryNetConfigResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryNetConfigBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryNetConfig(ctx context.Context, r soap.RoundTripper, req *types.QueryNetConfig) (*types.QueryNetConfigResponse, error) { - var reqBody, resBody QueryNetConfigBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryNetworkHintBody struct { - Req *types.QueryNetworkHint `xml:"urn:vim25 QueryNetworkHint,omitempty"` - Res *types.QueryNetworkHintResponse `xml:"QueryNetworkHintResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryNetworkHintBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryNetworkHint(ctx context.Context, r soap.RoundTripper, req *types.QueryNetworkHint) (*types.QueryNetworkHintResponse, error) { - var reqBody, resBody QueryNetworkHintBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryObjectsOnPhysicalVsanDiskBody struct { - Req *types.QueryObjectsOnPhysicalVsanDisk `xml:"urn:vim25 QueryObjectsOnPhysicalVsanDisk,omitempty"` - Res *types.QueryObjectsOnPhysicalVsanDiskResponse `xml:"QueryObjectsOnPhysicalVsanDiskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryObjectsOnPhysicalVsanDiskBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryObjectsOnPhysicalVsanDisk(ctx context.Context, r soap.RoundTripper, req *types.QueryObjectsOnPhysicalVsanDisk) (*types.QueryObjectsOnPhysicalVsanDiskResponse, error) { - var reqBody, resBody QueryObjectsOnPhysicalVsanDiskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryOptionsBody struct { - Req *types.QueryOptions `xml:"urn:vim25 QueryOptions,omitempty"` - Res *types.QueryOptionsResponse `xml:"QueryOptionsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryOptionsBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryOptions(ctx context.Context, r soap.RoundTripper, req *types.QueryOptions) (*types.QueryOptionsResponse, error) { - var reqBody, resBody QueryOptionsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryPartitionCreateDescBody struct { - Req *types.QueryPartitionCreateDesc `xml:"urn:vim25 QueryPartitionCreateDesc,omitempty"` - Res *types.QueryPartitionCreateDescResponse `xml:"QueryPartitionCreateDescResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryPartitionCreateDescBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryPartitionCreateDesc(ctx context.Context, r soap.RoundTripper, req *types.QueryPartitionCreateDesc) (*types.QueryPartitionCreateDescResponse, error) { - var reqBody, resBody QueryPartitionCreateDescBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryPartitionCreateOptionsBody struct { - Req *types.QueryPartitionCreateOptions `xml:"urn:vim25 QueryPartitionCreateOptions,omitempty"` - Res *types.QueryPartitionCreateOptionsResponse `xml:"QueryPartitionCreateOptionsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryPartitionCreateOptionsBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryPartitionCreateOptions(ctx context.Context, r soap.RoundTripper, req *types.QueryPartitionCreateOptions) (*types.QueryPartitionCreateOptionsResponse, error) { - var reqBody, resBody QueryPartitionCreateOptionsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryPathSelectionPolicyOptionsBody struct { - Req *types.QueryPathSelectionPolicyOptions `xml:"urn:vim25 QueryPathSelectionPolicyOptions,omitempty"` - Res *types.QueryPathSelectionPolicyOptionsResponse `xml:"QueryPathSelectionPolicyOptionsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryPathSelectionPolicyOptionsBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryPathSelectionPolicyOptions(ctx context.Context, r soap.RoundTripper, req *types.QueryPathSelectionPolicyOptions) (*types.QueryPathSelectionPolicyOptionsResponse, error) { - var reqBody, resBody QueryPathSelectionPolicyOptionsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryPerfBody struct { - Req *types.QueryPerf `xml:"urn:vim25 QueryPerf,omitempty"` - Res *types.QueryPerfResponse `xml:"QueryPerfResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryPerfBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryPerf(ctx context.Context, r soap.RoundTripper, req *types.QueryPerf) (*types.QueryPerfResponse, error) { - var reqBody, resBody QueryPerfBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryPerfCompositeBody struct { - Req *types.QueryPerfComposite `xml:"urn:vim25 QueryPerfComposite,omitempty"` - Res *types.QueryPerfCompositeResponse `xml:"QueryPerfCompositeResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryPerfCompositeBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryPerfComposite(ctx context.Context, r soap.RoundTripper, req *types.QueryPerfComposite) (*types.QueryPerfCompositeResponse, error) { - var reqBody, resBody QueryPerfCompositeBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryPerfCounterBody struct { - Req *types.QueryPerfCounter `xml:"urn:vim25 QueryPerfCounter,omitempty"` - Res *types.QueryPerfCounterResponse `xml:"QueryPerfCounterResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryPerfCounterBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryPerfCounter(ctx context.Context, r soap.RoundTripper, req *types.QueryPerfCounter) (*types.QueryPerfCounterResponse, error) { - var reqBody, resBody QueryPerfCounterBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryPerfCounterByLevelBody struct { - Req *types.QueryPerfCounterByLevel `xml:"urn:vim25 QueryPerfCounterByLevel,omitempty"` - Res *types.QueryPerfCounterByLevelResponse `xml:"QueryPerfCounterByLevelResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryPerfCounterByLevelBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryPerfCounterByLevel(ctx context.Context, r soap.RoundTripper, req *types.QueryPerfCounterByLevel) (*types.QueryPerfCounterByLevelResponse, error) { - var reqBody, resBody QueryPerfCounterByLevelBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryPerfProviderSummaryBody struct { - Req *types.QueryPerfProviderSummary `xml:"urn:vim25 QueryPerfProviderSummary,omitempty"` - Res *types.QueryPerfProviderSummaryResponse `xml:"QueryPerfProviderSummaryResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryPerfProviderSummaryBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryPerfProviderSummary(ctx context.Context, r soap.RoundTripper, req *types.QueryPerfProviderSummary) (*types.QueryPerfProviderSummaryResponse, error) { - var reqBody, resBody QueryPerfProviderSummaryBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryPhysicalVsanDisksBody struct { - Req *types.QueryPhysicalVsanDisks `xml:"urn:vim25 QueryPhysicalVsanDisks,omitempty"` - Res *types.QueryPhysicalVsanDisksResponse `xml:"QueryPhysicalVsanDisksResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryPhysicalVsanDisksBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryPhysicalVsanDisks(ctx context.Context, r soap.RoundTripper, req *types.QueryPhysicalVsanDisks) (*types.QueryPhysicalVsanDisksResponse, error) { - var reqBody, resBody QueryPhysicalVsanDisksBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryPnicStatusBody struct { - Req *types.QueryPnicStatus `xml:"urn:vim25 QueryPnicStatus,omitempty"` - Res *types.QueryPnicStatusResponse `xml:"QueryPnicStatusResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryPnicStatusBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryPnicStatus(ctx context.Context, r soap.RoundTripper, req *types.QueryPnicStatus) (*types.QueryPnicStatusResponse, error) { - var reqBody, resBody QueryPnicStatusBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryPolicyMetadataBody struct { - Req *types.QueryPolicyMetadata `xml:"urn:vim25 QueryPolicyMetadata,omitempty"` - Res *types.QueryPolicyMetadataResponse `xml:"QueryPolicyMetadataResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryPolicyMetadataBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryPolicyMetadata(ctx context.Context, r soap.RoundTripper, req *types.QueryPolicyMetadata) (*types.QueryPolicyMetadataResponse, error) { - var reqBody, resBody QueryPolicyMetadataBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryProductLockerLocationBody struct { - Req *types.QueryProductLockerLocation `xml:"urn:vim25 QueryProductLockerLocation,omitempty"` - Res *types.QueryProductLockerLocationResponse `xml:"QueryProductLockerLocationResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryProductLockerLocationBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryProductLockerLocation(ctx context.Context, r soap.RoundTripper, req *types.QueryProductLockerLocation) (*types.QueryProductLockerLocationResponse, error) { - var reqBody, resBody QueryProductLockerLocationBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryProfileStructureBody struct { - Req *types.QueryProfileStructure `xml:"urn:vim25 QueryProfileStructure,omitempty"` - Res *types.QueryProfileStructureResponse `xml:"QueryProfileStructureResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryProfileStructureBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryProfileStructure(ctx context.Context, r soap.RoundTripper, req *types.QueryProfileStructure) (*types.QueryProfileStructureResponse, error) { - var reqBody, resBody QueryProfileStructureBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryProviderListBody struct { - Req *types.QueryProviderList `xml:"urn:vim25 QueryProviderList,omitempty"` - Res *types.QueryProviderListResponse `xml:"QueryProviderListResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryProviderListBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryProviderList(ctx context.Context, r soap.RoundTripper, req *types.QueryProviderList) (*types.QueryProviderListResponse, error) { - var reqBody, resBody QueryProviderListBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryProviderNameBody struct { - Req *types.QueryProviderName `xml:"urn:vim25 QueryProviderName,omitempty"` - Res *types.QueryProviderNameResponse `xml:"QueryProviderNameResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryProviderNameBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryProviderName(ctx context.Context, r soap.RoundTripper, req *types.QueryProviderName) (*types.QueryProviderNameResponse, error) { - var reqBody, resBody QueryProviderNameBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryResourceConfigOptionBody struct { - Req *types.QueryResourceConfigOption `xml:"urn:vim25 QueryResourceConfigOption,omitempty"` - Res *types.QueryResourceConfigOptionResponse `xml:"QueryResourceConfigOptionResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryResourceConfigOptionBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryResourceConfigOption(ctx context.Context, r soap.RoundTripper, req *types.QueryResourceConfigOption) (*types.QueryResourceConfigOptionResponse, error) { - var reqBody, resBody QueryResourceConfigOptionBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryServiceListBody struct { - Req *types.QueryServiceList `xml:"urn:vim25 QueryServiceList,omitempty"` - Res *types.QueryServiceListResponse `xml:"QueryServiceListResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryServiceListBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryServiceList(ctx context.Context, r soap.RoundTripper, req *types.QueryServiceList) (*types.QueryServiceListResponse, error) { - var reqBody, resBody QueryServiceListBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryStorageArrayTypePolicyOptionsBody struct { - Req *types.QueryStorageArrayTypePolicyOptions `xml:"urn:vim25 QueryStorageArrayTypePolicyOptions,omitempty"` - Res *types.QueryStorageArrayTypePolicyOptionsResponse `xml:"QueryStorageArrayTypePolicyOptionsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryStorageArrayTypePolicyOptionsBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryStorageArrayTypePolicyOptions(ctx context.Context, r soap.RoundTripper, req *types.QueryStorageArrayTypePolicyOptions) (*types.QueryStorageArrayTypePolicyOptionsResponse, error) { - var reqBody, resBody QueryStorageArrayTypePolicyOptionsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QuerySupportedFeaturesBody struct { - Req *types.QuerySupportedFeatures `xml:"urn:vim25 QuerySupportedFeatures,omitempty"` - Res *types.QuerySupportedFeaturesResponse `xml:"QuerySupportedFeaturesResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QuerySupportedFeaturesBody) Fault() *soap.Fault { return b.Fault_ } - -func QuerySupportedFeatures(ctx context.Context, r soap.RoundTripper, req *types.QuerySupportedFeatures) (*types.QuerySupportedFeaturesResponse, error) { - var reqBody, resBody QuerySupportedFeaturesBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QuerySupportedNetworkOffloadSpecBody struct { - Req *types.QuerySupportedNetworkOffloadSpec `xml:"urn:vim25 QuerySupportedNetworkOffloadSpec,omitempty"` - Res *types.QuerySupportedNetworkOffloadSpecResponse `xml:"QuerySupportedNetworkOffloadSpecResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QuerySupportedNetworkOffloadSpecBody) Fault() *soap.Fault { return b.Fault_ } - -func QuerySupportedNetworkOffloadSpec(ctx context.Context, r soap.RoundTripper, req *types.QuerySupportedNetworkOffloadSpec) (*types.QuerySupportedNetworkOffloadSpecResponse, error) { - var reqBody, resBody QuerySupportedNetworkOffloadSpecBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QuerySyncingVsanObjectsBody struct { - Req *types.QuerySyncingVsanObjects `xml:"urn:vim25 QuerySyncingVsanObjects,omitempty"` - Res *types.QuerySyncingVsanObjectsResponse `xml:"QuerySyncingVsanObjectsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QuerySyncingVsanObjectsBody) Fault() *soap.Fault { return b.Fault_ } - -func QuerySyncingVsanObjects(ctx context.Context, r soap.RoundTripper, req *types.QuerySyncingVsanObjects) (*types.QuerySyncingVsanObjectsResponse, error) { - var reqBody, resBody QuerySyncingVsanObjectsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QuerySystemUsersBody struct { - Req *types.QuerySystemUsers `xml:"urn:vim25 QuerySystemUsers,omitempty"` - Res *types.QuerySystemUsersResponse `xml:"QuerySystemUsersResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QuerySystemUsersBody) Fault() *soap.Fault { return b.Fault_ } - -func QuerySystemUsers(ctx context.Context, r soap.RoundTripper, req *types.QuerySystemUsers) (*types.QuerySystemUsersResponse, error) { - var reqBody, resBody QuerySystemUsersBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryTargetCapabilitiesBody struct { - Req *types.QueryTargetCapabilities `xml:"urn:vim25 QueryTargetCapabilities,omitempty"` - Res *types.QueryTargetCapabilitiesResponse `xml:"QueryTargetCapabilitiesResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryTargetCapabilitiesBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryTargetCapabilities(ctx context.Context, r soap.RoundTripper, req *types.QueryTargetCapabilities) (*types.QueryTargetCapabilitiesResponse, error) { - var reqBody, resBody QueryTargetCapabilitiesBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryTpmAttestationReportBody struct { - Req *types.QueryTpmAttestationReport `xml:"urn:vim25 QueryTpmAttestationReport,omitempty"` - Res *types.QueryTpmAttestationReportResponse `xml:"QueryTpmAttestationReportResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryTpmAttestationReportBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryTpmAttestationReport(ctx context.Context, r soap.RoundTripper, req *types.QueryTpmAttestationReport) (*types.QueryTpmAttestationReportResponse, error) { - var reqBody, resBody QueryTpmAttestationReportBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryUnmonitoredHostsBody struct { - Req *types.QueryUnmonitoredHosts `xml:"urn:vim25 QueryUnmonitoredHosts,omitempty"` - Res *types.QueryUnmonitoredHostsResponse `xml:"QueryUnmonitoredHostsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryUnmonitoredHostsBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryUnmonitoredHosts(ctx context.Context, r soap.RoundTripper, req *types.QueryUnmonitoredHosts) (*types.QueryUnmonitoredHostsResponse, error) { - var reqBody, resBody QueryUnmonitoredHostsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryUnownedFilesBody struct { - Req *types.QueryUnownedFiles `xml:"urn:vim25 QueryUnownedFiles,omitempty"` - Res *types.QueryUnownedFilesResponse `xml:"QueryUnownedFilesResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryUnownedFilesBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryUnownedFiles(ctx context.Context, r soap.RoundTripper, req *types.QueryUnownedFiles) (*types.QueryUnownedFilesResponse, error) { - var reqBody, resBody QueryUnownedFilesBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryUnresolvedVmfsVolumeBody struct { - Req *types.QueryUnresolvedVmfsVolume `xml:"urn:vim25 QueryUnresolvedVmfsVolume,omitempty"` - Res *types.QueryUnresolvedVmfsVolumeResponse `xml:"QueryUnresolvedVmfsVolumeResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryUnresolvedVmfsVolumeBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryUnresolvedVmfsVolume(ctx context.Context, r soap.RoundTripper, req *types.QueryUnresolvedVmfsVolume) (*types.QueryUnresolvedVmfsVolumeResponse, error) { - var reqBody, resBody QueryUnresolvedVmfsVolumeBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryUnresolvedVmfsVolumesBody struct { - Req *types.QueryUnresolvedVmfsVolumes `xml:"urn:vim25 QueryUnresolvedVmfsVolumes,omitempty"` - Res *types.QueryUnresolvedVmfsVolumesResponse `xml:"QueryUnresolvedVmfsVolumesResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryUnresolvedVmfsVolumesBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryUnresolvedVmfsVolumes(ctx context.Context, r soap.RoundTripper, req *types.QueryUnresolvedVmfsVolumes) (*types.QueryUnresolvedVmfsVolumesResponse, error) { - var reqBody, resBody QueryUnresolvedVmfsVolumesBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryUsedVlanIdInDvsBody struct { - Req *types.QueryUsedVlanIdInDvs `xml:"urn:vim25 QueryUsedVlanIdInDvs,omitempty"` - Res *types.QueryUsedVlanIdInDvsResponse `xml:"QueryUsedVlanIdInDvsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryUsedVlanIdInDvsBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryUsedVlanIdInDvs(ctx context.Context, r soap.RoundTripper, req *types.QueryUsedVlanIdInDvs) (*types.QueryUsedVlanIdInDvsResponse, error) { - var reqBody, resBody QueryUsedVlanIdInDvsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryVMotionCompatibilityBody struct { - Req *types.QueryVMotionCompatibility `xml:"urn:vim25 QueryVMotionCompatibility,omitempty"` - Res *types.QueryVMotionCompatibilityResponse `xml:"QueryVMotionCompatibilityResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryVMotionCompatibilityBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryVMotionCompatibility(ctx context.Context, r soap.RoundTripper, req *types.QueryVMotionCompatibility) (*types.QueryVMotionCompatibilityResponse, error) { - var reqBody, resBody QueryVMotionCompatibilityBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryVMotionCompatibilityEx_TaskBody struct { - Req *types.QueryVMotionCompatibilityEx_Task `xml:"urn:vim25 QueryVMotionCompatibilityEx_Task,omitempty"` - Res *types.QueryVMotionCompatibilityEx_TaskResponse `xml:"QueryVMotionCompatibilityEx_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryVMotionCompatibilityEx_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryVMotionCompatibilityEx_Task(ctx context.Context, r soap.RoundTripper, req *types.QueryVMotionCompatibilityEx_Task) (*types.QueryVMotionCompatibilityEx_TaskResponse, error) { - var reqBody, resBody QueryVMotionCompatibilityEx_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryVirtualDiskFragmentationBody struct { - Req *types.QueryVirtualDiskFragmentation `xml:"urn:vim25 QueryVirtualDiskFragmentation,omitempty"` - Res *types.QueryVirtualDiskFragmentationResponse `xml:"QueryVirtualDiskFragmentationResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryVirtualDiskFragmentationBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryVirtualDiskFragmentation(ctx context.Context, r soap.RoundTripper, req *types.QueryVirtualDiskFragmentation) (*types.QueryVirtualDiskFragmentationResponse, error) { - var reqBody, resBody QueryVirtualDiskFragmentationBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryVirtualDiskGeometryBody struct { - Req *types.QueryVirtualDiskGeometry `xml:"urn:vim25 QueryVirtualDiskGeometry,omitempty"` - Res *types.QueryVirtualDiskGeometryResponse `xml:"QueryVirtualDiskGeometryResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryVirtualDiskGeometryBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryVirtualDiskGeometry(ctx context.Context, r soap.RoundTripper, req *types.QueryVirtualDiskGeometry) (*types.QueryVirtualDiskGeometryResponse, error) { - var reqBody, resBody QueryVirtualDiskGeometryBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryVirtualDiskUuidBody struct { - Req *types.QueryVirtualDiskUuid `xml:"urn:vim25 QueryVirtualDiskUuid,omitempty"` - Res *types.QueryVirtualDiskUuidResponse `xml:"QueryVirtualDiskUuidResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryVirtualDiskUuidBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryVirtualDiskUuid(ctx context.Context, r soap.RoundTripper, req *types.QueryVirtualDiskUuid) (*types.QueryVirtualDiskUuidResponse, error) { - var reqBody, resBody QueryVirtualDiskUuidBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryVmfsConfigOptionBody struct { - Req *types.QueryVmfsConfigOption `xml:"urn:vim25 QueryVmfsConfigOption,omitempty"` - Res *types.QueryVmfsConfigOptionResponse `xml:"QueryVmfsConfigOptionResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryVmfsConfigOptionBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryVmfsConfigOption(ctx context.Context, r soap.RoundTripper, req *types.QueryVmfsConfigOption) (*types.QueryVmfsConfigOptionResponse, error) { - var reqBody, resBody QueryVmfsConfigOptionBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryVmfsDatastoreCreateOptionsBody struct { - Req *types.QueryVmfsDatastoreCreateOptions `xml:"urn:vim25 QueryVmfsDatastoreCreateOptions,omitempty"` - Res *types.QueryVmfsDatastoreCreateOptionsResponse `xml:"QueryVmfsDatastoreCreateOptionsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryVmfsDatastoreCreateOptionsBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryVmfsDatastoreCreateOptions(ctx context.Context, r soap.RoundTripper, req *types.QueryVmfsDatastoreCreateOptions) (*types.QueryVmfsDatastoreCreateOptionsResponse, error) { - var reqBody, resBody QueryVmfsDatastoreCreateOptionsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryVmfsDatastoreExpandOptionsBody struct { - Req *types.QueryVmfsDatastoreExpandOptions `xml:"urn:vim25 QueryVmfsDatastoreExpandOptions,omitempty"` - Res *types.QueryVmfsDatastoreExpandOptionsResponse `xml:"QueryVmfsDatastoreExpandOptionsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryVmfsDatastoreExpandOptionsBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryVmfsDatastoreExpandOptions(ctx context.Context, r soap.RoundTripper, req *types.QueryVmfsDatastoreExpandOptions) (*types.QueryVmfsDatastoreExpandOptionsResponse, error) { - var reqBody, resBody QueryVmfsDatastoreExpandOptionsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryVmfsDatastoreExtendOptionsBody struct { - Req *types.QueryVmfsDatastoreExtendOptions `xml:"urn:vim25 QueryVmfsDatastoreExtendOptions,omitempty"` - Res *types.QueryVmfsDatastoreExtendOptionsResponse `xml:"QueryVmfsDatastoreExtendOptionsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryVmfsDatastoreExtendOptionsBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryVmfsDatastoreExtendOptions(ctx context.Context, r soap.RoundTripper, req *types.QueryVmfsDatastoreExtendOptions) (*types.QueryVmfsDatastoreExtendOptionsResponse, error) { - var reqBody, resBody QueryVmfsDatastoreExtendOptionsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryVnicStatusBody struct { - Req *types.QueryVnicStatus `xml:"urn:vim25 QueryVnicStatus,omitempty"` - Res *types.QueryVnicStatusResponse `xml:"QueryVnicStatusResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryVnicStatusBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryVnicStatus(ctx context.Context, r soap.RoundTripper, req *types.QueryVnicStatus) (*types.QueryVnicStatusResponse, error) { - var reqBody, resBody QueryVnicStatusBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryVsanObjectUuidsByFilterBody struct { - Req *types.QueryVsanObjectUuidsByFilter `xml:"urn:vim25 QueryVsanObjectUuidsByFilter,omitempty"` - Res *types.QueryVsanObjectUuidsByFilterResponse `xml:"QueryVsanObjectUuidsByFilterResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryVsanObjectUuidsByFilterBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryVsanObjectUuidsByFilter(ctx context.Context, r soap.RoundTripper, req *types.QueryVsanObjectUuidsByFilter) (*types.QueryVsanObjectUuidsByFilterResponse, error) { - var reqBody, resBody QueryVsanObjectUuidsByFilterBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryVsanObjectsBody struct { - Req *types.QueryVsanObjects `xml:"urn:vim25 QueryVsanObjects,omitempty"` - Res *types.QueryVsanObjectsResponse `xml:"QueryVsanObjectsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryVsanObjectsBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryVsanObjects(ctx context.Context, r soap.RoundTripper, req *types.QueryVsanObjects) (*types.QueryVsanObjectsResponse, error) { - var reqBody, resBody QueryVsanObjectsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryVsanStatisticsBody struct { - Req *types.QueryVsanStatistics `xml:"urn:vim25 QueryVsanStatistics,omitempty"` - Res *types.QueryVsanStatisticsResponse `xml:"QueryVsanStatisticsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryVsanStatisticsBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryVsanStatistics(ctx context.Context, r soap.RoundTripper, req *types.QueryVsanStatistics) (*types.QueryVsanStatisticsResponse, error) { - var reqBody, resBody QueryVsanStatisticsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryVsanUpgradeStatusBody struct { - Req *types.QueryVsanUpgradeStatus `xml:"urn:vim25 QueryVsanUpgradeStatus,omitempty"` - Res *types.QueryVsanUpgradeStatusResponse `xml:"QueryVsanUpgradeStatusResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryVsanUpgradeStatusBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryVsanUpgradeStatus(ctx context.Context, r soap.RoundTripper, req *types.QueryVsanUpgradeStatus) (*types.QueryVsanUpgradeStatusResponse, error) { - var reqBody, resBody QueryVsanUpgradeStatusBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ReadEnvironmentVariableInGuestBody struct { - Req *types.ReadEnvironmentVariableInGuest `xml:"urn:vim25 ReadEnvironmentVariableInGuest,omitempty"` - Res *types.ReadEnvironmentVariableInGuestResponse `xml:"ReadEnvironmentVariableInGuestResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ReadEnvironmentVariableInGuestBody) Fault() *soap.Fault { return b.Fault_ } - -func ReadEnvironmentVariableInGuest(ctx context.Context, r soap.RoundTripper, req *types.ReadEnvironmentVariableInGuest) (*types.ReadEnvironmentVariableInGuestResponse, error) { - var reqBody, resBody ReadEnvironmentVariableInGuestBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ReadNextEventsBody struct { - Req *types.ReadNextEvents `xml:"urn:vim25 ReadNextEvents,omitempty"` - Res *types.ReadNextEventsResponse `xml:"ReadNextEventsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ReadNextEventsBody) Fault() *soap.Fault { return b.Fault_ } - -func ReadNextEvents(ctx context.Context, r soap.RoundTripper, req *types.ReadNextEvents) (*types.ReadNextEventsResponse, error) { - var reqBody, resBody ReadNextEventsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ReadNextTasksBody struct { - Req *types.ReadNextTasks `xml:"urn:vim25 ReadNextTasks,omitempty"` - Res *types.ReadNextTasksResponse `xml:"ReadNextTasksResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ReadNextTasksBody) Fault() *soap.Fault { return b.Fault_ } - -func ReadNextTasks(ctx context.Context, r soap.RoundTripper, req *types.ReadNextTasks) (*types.ReadNextTasksResponse, error) { - var reqBody, resBody ReadNextTasksBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ReadPreviousEventsBody struct { - Req *types.ReadPreviousEvents `xml:"urn:vim25 ReadPreviousEvents,omitempty"` - Res *types.ReadPreviousEventsResponse `xml:"ReadPreviousEventsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ReadPreviousEventsBody) Fault() *soap.Fault { return b.Fault_ } - -func ReadPreviousEvents(ctx context.Context, r soap.RoundTripper, req *types.ReadPreviousEvents) (*types.ReadPreviousEventsResponse, error) { - var reqBody, resBody ReadPreviousEventsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ReadPreviousTasksBody struct { - Req *types.ReadPreviousTasks `xml:"urn:vim25 ReadPreviousTasks,omitempty"` - Res *types.ReadPreviousTasksResponse `xml:"ReadPreviousTasksResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ReadPreviousTasksBody) Fault() *soap.Fault { return b.Fault_ } - -func ReadPreviousTasks(ctx context.Context, r soap.RoundTripper, req *types.ReadPreviousTasks) (*types.ReadPreviousTasksResponse, error) { - var reqBody, resBody ReadPreviousTasksBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RebootGuestBody struct { - Req *types.RebootGuest `xml:"urn:vim25 RebootGuest,omitempty"` - Res *types.RebootGuestResponse `xml:"RebootGuestResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RebootGuestBody) Fault() *soap.Fault { return b.Fault_ } - -func RebootGuest(ctx context.Context, r soap.RoundTripper, req *types.RebootGuest) (*types.RebootGuestResponse, error) { - var reqBody, resBody RebootGuestBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RebootHost_TaskBody struct { - Req *types.RebootHost_Task `xml:"urn:vim25 RebootHost_Task,omitempty"` - Res *types.RebootHost_TaskResponse `xml:"RebootHost_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RebootHost_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func RebootHost_Task(ctx context.Context, r soap.RoundTripper, req *types.RebootHost_Task) (*types.RebootHost_TaskResponse, error) { - var reqBody, resBody RebootHost_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RecommendDatastoresBody struct { - Req *types.RecommendDatastores `xml:"urn:vim25 RecommendDatastores,omitempty"` - Res *types.RecommendDatastoresResponse `xml:"RecommendDatastoresResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RecommendDatastoresBody) Fault() *soap.Fault { return b.Fault_ } - -func RecommendDatastores(ctx context.Context, r soap.RoundTripper, req *types.RecommendDatastores) (*types.RecommendDatastoresResponse, error) { - var reqBody, resBody RecommendDatastoresBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RecommendHostsForVmBody struct { - Req *types.RecommendHostsForVm `xml:"urn:vim25 RecommendHostsForVm,omitempty"` - Res *types.RecommendHostsForVmResponse `xml:"RecommendHostsForVmResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RecommendHostsForVmBody) Fault() *soap.Fault { return b.Fault_ } - -func RecommendHostsForVm(ctx context.Context, r soap.RoundTripper, req *types.RecommendHostsForVm) (*types.RecommendHostsForVmResponse, error) { - var reqBody, resBody RecommendHostsForVmBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RecommissionVsanNode_TaskBody struct { - Req *types.RecommissionVsanNode_Task `xml:"urn:vim25 RecommissionVsanNode_Task,omitempty"` - Res *types.RecommissionVsanNode_TaskResponse `xml:"RecommissionVsanNode_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RecommissionVsanNode_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func RecommissionVsanNode_Task(ctx context.Context, r soap.RoundTripper, req *types.RecommissionVsanNode_Task) (*types.RecommissionVsanNode_TaskResponse, error) { - var reqBody, resBody RecommissionVsanNode_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ReconcileDatastoreInventory_TaskBody struct { - Req *types.ReconcileDatastoreInventory_Task `xml:"urn:vim25 ReconcileDatastoreInventory_Task,omitempty"` - Res *types.ReconcileDatastoreInventory_TaskResponse `xml:"ReconcileDatastoreInventory_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ReconcileDatastoreInventory_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func ReconcileDatastoreInventory_Task(ctx context.Context, r soap.RoundTripper, req *types.ReconcileDatastoreInventory_Task) (*types.ReconcileDatastoreInventory_TaskResponse, error) { - var reqBody, resBody ReconcileDatastoreInventory_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ReconfigVM_TaskBody struct { - Req *types.ReconfigVM_Task `xml:"urn:vim25 ReconfigVM_Task,omitempty"` - Res *types.ReconfigVM_TaskResponse `xml:"ReconfigVM_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ReconfigVM_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func ReconfigVM_Task(ctx context.Context, r soap.RoundTripper, req *types.ReconfigVM_Task) (*types.ReconfigVM_TaskResponse, error) { - var reqBody, resBody ReconfigVM_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ReconfigurationSatisfiableBody struct { - Req *types.ReconfigurationSatisfiable `xml:"urn:vim25 ReconfigurationSatisfiable,omitempty"` - Res *types.ReconfigurationSatisfiableResponse `xml:"ReconfigurationSatisfiableResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ReconfigurationSatisfiableBody) Fault() *soap.Fault { return b.Fault_ } - -func ReconfigurationSatisfiable(ctx context.Context, r soap.RoundTripper, req *types.ReconfigurationSatisfiable) (*types.ReconfigurationSatisfiableResponse, error) { - var reqBody, resBody ReconfigurationSatisfiableBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ReconfigureAlarmBody struct { - Req *types.ReconfigureAlarm `xml:"urn:vim25 ReconfigureAlarm,omitempty"` - Res *types.ReconfigureAlarmResponse `xml:"ReconfigureAlarmResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ReconfigureAlarmBody) Fault() *soap.Fault { return b.Fault_ } - -func ReconfigureAlarm(ctx context.Context, r soap.RoundTripper, req *types.ReconfigureAlarm) (*types.ReconfigureAlarmResponse, error) { - var reqBody, resBody ReconfigureAlarmBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ReconfigureAutostartBody struct { - Req *types.ReconfigureAutostart `xml:"urn:vim25 ReconfigureAutostart,omitempty"` - Res *types.ReconfigureAutostartResponse `xml:"ReconfigureAutostartResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ReconfigureAutostartBody) Fault() *soap.Fault { return b.Fault_ } - -func ReconfigureAutostart(ctx context.Context, r soap.RoundTripper, req *types.ReconfigureAutostart) (*types.ReconfigureAutostartResponse, error) { - var reqBody, resBody ReconfigureAutostartBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ReconfigureCluster_TaskBody struct { - Req *types.ReconfigureCluster_Task `xml:"urn:vim25 ReconfigureCluster_Task,omitempty"` - Res *types.ReconfigureCluster_TaskResponse `xml:"ReconfigureCluster_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ReconfigureCluster_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func ReconfigureCluster_Task(ctx context.Context, r soap.RoundTripper, req *types.ReconfigureCluster_Task) (*types.ReconfigureCluster_TaskResponse, error) { - var reqBody, resBody ReconfigureCluster_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ReconfigureComputeResource_TaskBody struct { - Req *types.ReconfigureComputeResource_Task `xml:"urn:vim25 ReconfigureComputeResource_Task,omitempty"` - Res *types.ReconfigureComputeResource_TaskResponse `xml:"ReconfigureComputeResource_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ReconfigureComputeResource_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func ReconfigureComputeResource_Task(ctx context.Context, r soap.RoundTripper, req *types.ReconfigureComputeResource_Task) (*types.ReconfigureComputeResource_TaskResponse, error) { - var reqBody, resBody ReconfigureComputeResource_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ReconfigureDVPort_TaskBody struct { - Req *types.ReconfigureDVPort_Task `xml:"urn:vim25 ReconfigureDVPort_Task,omitempty"` - Res *types.ReconfigureDVPort_TaskResponse `xml:"ReconfigureDVPort_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ReconfigureDVPort_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func ReconfigureDVPort_Task(ctx context.Context, r soap.RoundTripper, req *types.ReconfigureDVPort_Task) (*types.ReconfigureDVPort_TaskResponse, error) { - var reqBody, resBody ReconfigureDVPort_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ReconfigureDVPortgroup_TaskBody struct { - Req *types.ReconfigureDVPortgroup_Task `xml:"urn:vim25 ReconfigureDVPortgroup_Task,omitempty"` - Res *types.ReconfigureDVPortgroup_TaskResponse `xml:"ReconfigureDVPortgroup_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ReconfigureDVPortgroup_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func ReconfigureDVPortgroup_Task(ctx context.Context, r soap.RoundTripper, req *types.ReconfigureDVPortgroup_Task) (*types.ReconfigureDVPortgroup_TaskResponse, error) { - var reqBody, resBody ReconfigureDVPortgroup_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ReconfigureDatacenter_TaskBody struct { - Req *types.ReconfigureDatacenter_Task `xml:"urn:vim25 ReconfigureDatacenter_Task,omitempty"` - Res *types.ReconfigureDatacenter_TaskResponse `xml:"ReconfigureDatacenter_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ReconfigureDatacenter_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func ReconfigureDatacenter_Task(ctx context.Context, r soap.RoundTripper, req *types.ReconfigureDatacenter_Task) (*types.ReconfigureDatacenter_TaskResponse, error) { - var reqBody, resBody ReconfigureDatacenter_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ReconfigureDomObjectBody struct { - Req *types.ReconfigureDomObject `xml:"urn:vim25 ReconfigureDomObject,omitempty"` - Res *types.ReconfigureDomObjectResponse `xml:"ReconfigureDomObjectResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ReconfigureDomObjectBody) Fault() *soap.Fault { return b.Fault_ } - -func ReconfigureDomObject(ctx context.Context, r soap.RoundTripper, req *types.ReconfigureDomObject) (*types.ReconfigureDomObjectResponse, error) { - var reqBody, resBody ReconfigureDomObjectBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ReconfigureDvs_TaskBody struct { - Req *types.ReconfigureDvs_Task `xml:"urn:vim25 ReconfigureDvs_Task,omitempty"` - Res *types.ReconfigureDvs_TaskResponse `xml:"ReconfigureDvs_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ReconfigureDvs_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func ReconfigureDvs_Task(ctx context.Context, r soap.RoundTripper, req *types.ReconfigureDvs_Task) (*types.ReconfigureDvs_TaskResponse, error) { - var reqBody, resBody ReconfigureDvs_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ReconfigureHostForDAS_TaskBody struct { - Req *types.ReconfigureHostForDAS_Task `xml:"urn:vim25 ReconfigureHostForDAS_Task,omitempty"` - Res *types.ReconfigureHostForDAS_TaskResponse `xml:"ReconfigureHostForDAS_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ReconfigureHostForDAS_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func ReconfigureHostForDAS_Task(ctx context.Context, r soap.RoundTripper, req *types.ReconfigureHostForDAS_Task) (*types.ReconfigureHostForDAS_TaskResponse, error) { - var reqBody, resBody ReconfigureHostForDAS_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ReconfigureScheduledTaskBody struct { - Req *types.ReconfigureScheduledTask `xml:"urn:vim25 ReconfigureScheduledTask,omitempty"` - Res *types.ReconfigureScheduledTaskResponse `xml:"ReconfigureScheduledTaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ReconfigureScheduledTaskBody) Fault() *soap.Fault { return b.Fault_ } - -func ReconfigureScheduledTask(ctx context.Context, r soap.RoundTripper, req *types.ReconfigureScheduledTask) (*types.ReconfigureScheduledTaskResponse, error) { - var reqBody, resBody ReconfigureScheduledTaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ReconfigureServiceConsoleReservationBody struct { - Req *types.ReconfigureServiceConsoleReservation `xml:"urn:vim25 ReconfigureServiceConsoleReservation,omitempty"` - Res *types.ReconfigureServiceConsoleReservationResponse `xml:"ReconfigureServiceConsoleReservationResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ReconfigureServiceConsoleReservationBody) Fault() *soap.Fault { return b.Fault_ } - -func ReconfigureServiceConsoleReservation(ctx context.Context, r soap.RoundTripper, req *types.ReconfigureServiceConsoleReservation) (*types.ReconfigureServiceConsoleReservationResponse, error) { - var reqBody, resBody ReconfigureServiceConsoleReservationBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ReconfigureSnmpAgentBody struct { - Req *types.ReconfigureSnmpAgent `xml:"urn:vim25 ReconfigureSnmpAgent,omitempty"` - Res *types.ReconfigureSnmpAgentResponse `xml:"ReconfigureSnmpAgentResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ReconfigureSnmpAgentBody) Fault() *soap.Fault { return b.Fault_ } - -func ReconfigureSnmpAgent(ctx context.Context, r soap.RoundTripper, req *types.ReconfigureSnmpAgent) (*types.ReconfigureSnmpAgentResponse, error) { - var reqBody, resBody ReconfigureSnmpAgentBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ReconfigureVirtualMachineReservationBody struct { - Req *types.ReconfigureVirtualMachineReservation `xml:"urn:vim25 ReconfigureVirtualMachineReservation,omitempty"` - Res *types.ReconfigureVirtualMachineReservationResponse `xml:"ReconfigureVirtualMachineReservationResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ReconfigureVirtualMachineReservationBody) Fault() *soap.Fault { return b.Fault_ } - -func ReconfigureVirtualMachineReservation(ctx context.Context, r soap.RoundTripper, req *types.ReconfigureVirtualMachineReservation) (*types.ReconfigureVirtualMachineReservationResponse, error) { - var reqBody, resBody ReconfigureVirtualMachineReservationBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ReconnectHost_TaskBody struct { - Req *types.ReconnectHost_Task `xml:"urn:vim25 ReconnectHost_Task,omitempty"` - Res *types.ReconnectHost_TaskResponse `xml:"ReconnectHost_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ReconnectHost_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func ReconnectHost_Task(ctx context.Context, r soap.RoundTripper, req *types.ReconnectHost_Task) (*types.ReconnectHost_TaskResponse, error) { - var reqBody, resBody ReconnectHost_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RectifyDvsHost_TaskBody struct { - Req *types.RectifyDvsHost_Task `xml:"urn:vim25 RectifyDvsHost_Task,omitempty"` - Res *types.RectifyDvsHost_TaskResponse `xml:"RectifyDvsHost_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RectifyDvsHost_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func RectifyDvsHost_Task(ctx context.Context, r soap.RoundTripper, req *types.RectifyDvsHost_Task) (*types.RectifyDvsHost_TaskResponse, error) { - var reqBody, resBody RectifyDvsHost_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RectifyDvsOnHost_TaskBody struct { - Req *types.RectifyDvsOnHost_Task `xml:"urn:vim25 RectifyDvsOnHost_Task,omitempty"` - Res *types.RectifyDvsOnHost_TaskResponse `xml:"RectifyDvsOnHost_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RectifyDvsOnHost_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func RectifyDvsOnHost_Task(ctx context.Context, r soap.RoundTripper, req *types.RectifyDvsOnHost_Task) (*types.RectifyDvsOnHost_TaskResponse, error) { - var reqBody, resBody RectifyDvsOnHost_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RefreshBody struct { - Req *types.Refresh `xml:"urn:vim25 Refresh,omitempty"` - Res *types.RefreshResponse `xml:"RefreshResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RefreshBody) Fault() *soap.Fault { return b.Fault_ } - -func Refresh(ctx context.Context, r soap.RoundTripper, req *types.Refresh) (*types.RefreshResponse, error) { - var reqBody, resBody RefreshBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RefreshDVPortStateBody struct { - Req *types.RefreshDVPortState `xml:"urn:vim25 RefreshDVPortState,omitempty"` - Res *types.RefreshDVPortStateResponse `xml:"RefreshDVPortStateResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RefreshDVPortStateBody) Fault() *soap.Fault { return b.Fault_ } - -func RefreshDVPortState(ctx context.Context, r soap.RoundTripper, req *types.RefreshDVPortState) (*types.RefreshDVPortStateResponse, error) { - var reqBody, resBody RefreshDVPortStateBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RefreshDatastoreBody struct { - Req *types.RefreshDatastore `xml:"urn:vim25 RefreshDatastore,omitempty"` - Res *types.RefreshDatastoreResponse `xml:"RefreshDatastoreResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RefreshDatastoreBody) Fault() *soap.Fault { return b.Fault_ } - -func RefreshDatastore(ctx context.Context, r soap.RoundTripper, req *types.RefreshDatastore) (*types.RefreshDatastoreResponse, error) { - var reqBody, resBody RefreshDatastoreBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RefreshDatastoreStorageInfoBody struct { - Req *types.RefreshDatastoreStorageInfo `xml:"urn:vim25 RefreshDatastoreStorageInfo,omitempty"` - Res *types.RefreshDatastoreStorageInfoResponse `xml:"RefreshDatastoreStorageInfoResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RefreshDatastoreStorageInfoBody) Fault() *soap.Fault { return b.Fault_ } - -func RefreshDatastoreStorageInfo(ctx context.Context, r soap.RoundTripper, req *types.RefreshDatastoreStorageInfo) (*types.RefreshDatastoreStorageInfoResponse, error) { - var reqBody, resBody RefreshDatastoreStorageInfoBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RefreshDateTimeSystemBody struct { - Req *types.RefreshDateTimeSystem `xml:"urn:vim25 RefreshDateTimeSystem,omitempty"` - Res *types.RefreshDateTimeSystemResponse `xml:"RefreshDateTimeSystemResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RefreshDateTimeSystemBody) Fault() *soap.Fault { return b.Fault_ } - -func RefreshDateTimeSystem(ctx context.Context, r soap.RoundTripper, req *types.RefreshDateTimeSystem) (*types.RefreshDateTimeSystemResponse, error) { - var reqBody, resBody RefreshDateTimeSystemBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RefreshFirewallBody struct { - Req *types.RefreshFirewall `xml:"urn:vim25 RefreshFirewall,omitempty"` - Res *types.RefreshFirewallResponse `xml:"RefreshFirewallResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RefreshFirewallBody) Fault() *soap.Fault { return b.Fault_ } - -func RefreshFirewall(ctx context.Context, r soap.RoundTripper, req *types.RefreshFirewall) (*types.RefreshFirewallResponse, error) { - var reqBody, resBody RefreshFirewallBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RefreshGraphicsManagerBody struct { - Req *types.RefreshGraphicsManager `xml:"urn:vim25 RefreshGraphicsManager,omitempty"` - Res *types.RefreshGraphicsManagerResponse `xml:"RefreshGraphicsManagerResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RefreshGraphicsManagerBody) Fault() *soap.Fault { return b.Fault_ } - -func RefreshGraphicsManager(ctx context.Context, r soap.RoundTripper, req *types.RefreshGraphicsManager) (*types.RefreshGraphicsManagerResponse, error) { - var reqBody, resBody RefreshGraphicsManagerBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RefreshHealthStatusSystemBody struct { - Req *types.RefreshHealthStatusSystem `xml:"urn:vim25 RefreshHealthStatusSystem,omitempty"` - Res *types.RefreshHealthStatusSystemResponse `xml:"RefreshHealthStatusSystemResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RefreshHealthStatusSystemBody) Fault() *soap.Fault { return b.Fault_ } - -func RefreshHealthStatusSystem(ctx context.Context, r soap.RoundTripper, req *types.RefreshHealthStatusSystem) (*types.RefreshHealthStatusSystemResponse, error) { - var reqBody, resBody RefreshHealthStatusSystemBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RefreshNetworkSystemBody struct { - Req *types.RefreshNetworkSystem `xml:"urn:vim25 RefreshNetworkSystem,omitempty"` - Res *types.RefreshNetworkSystemResponse `xml:"RefreshNetworkSystemResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RefreshNetworkSystemBody) Fault() *soap.Fault { return b.Fault_ } - -func RefreshNetworkSystem(ctx context.Context, r soap.RoundTripper, req *types.RefreshNetworkSystem) (*types.RefreshNetworkSystemResponse, error) { - var reqBody, resBody RefreshNetworkSystemBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RefreshRecommendationBody struct { - Req *types.RefreshRecommendation `xml:"urn:vim25 RefreshRecommendation,omitempty"` - Res *types.RefreshRecommendationResponse `xml:"RefreshRecommendationResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RefreshRecommendationBody) Fault() *soap.Fault { return b.Fault_ } - -func RefreshRecommendation(ctx context.Context, r soap.RoundTripper, req *types.RefreshRecommendation) (*types.RefreshRecommendationResponse, error) { - var reqBody, resBody RefreshRecommendationBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RefreshRuntimeBody struct { - Req *types.RefreshRuntime `xml:"urn:vim25 RefreshRuntime,omitempty"` - Res *types.RefreshRuntimeResponse `xml:"RefreshRuntimeResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RefreshRuntimeBody) Fault() *soap.Fault { return b.Fault_ } - -func RefreshRuntime(ctx context.Context, r soap.RoundTripper, req *types.RefreshRuntime) (*types.RefreshRuntimeResponse, error) { - var reqBody, resBody RefreshRuntimeBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RefreshServicesBody struct { - Req *types.RefreshServices `xml:"urn:vim25 RefreshServices,omitempty"` - Res *types.RefreshServicesResponse `xml:"RefreshServicesResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RefreshServicesBody) Fault() *soap.Fault { return b.Fault_ } - -func RefreshServices(ctx context.Context, r soap.RoundTripper, req *types.RefreshServices) (*types.RefreshServicesResponse, error) { - var reqBody, resBody RefreshServicesBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RefreshStorageDrsRecommendationBody struct { - Req *types.RefreshStorageDrsRecommendation `xml:"urn:vim25 RefreshStorageDrsRecommendation,omitempty"` - Res *types.RefreshStorageDrsRecommendationResponse `xml:"RefreshStorageDrsRecommendationResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RefreshStorageDrsRecommendationBody) Fault() *soap.Fault { return b.Fault_ } - -func RefreshStorageDrsRecommendation(ctx context.Context, r soap.RoundTripper, req *types.RefreshStorageDrsRecommendation) (*types.RefreshStorageDrsRecommendationResponse, error) { - var reqBody, resBody RefreshStorageDrsRecommendationBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RefreshStorageDrsRecommendationsForPod_TaskBody struct { - Req *types.RefreshStorageDrsRecommendationsForPod_Task `xml:"urn:vim25 RefreshStorageDrsRecommendationsForPod_Task,omitempty"` - Res *types.RefreshStorageDrsRecommendationsForPod_TaskResponse `xml:"RefreshStorageDrsRecommendationsForPod_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RefreshStorageDrsRecommendationsForPod_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func RefreshStorageDrsRecommendationsForPod_Task(ctx context.Context, r soap.RoundTripper, req *types.RefreshStorageDrsRecommendationsForPod_Task) (*types.RefreshStorageDrsRecommendationsForPod_TaskResponse, error) { - var reqBody, resBody RefreshStorageDrsRecommendationsForPod_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RefreshStorageInfoBody struct { - Req *types.RefreshStorageInfo `xml:"urn:vim25 RefreshStorageInfo,omitempty"` - Res *types.RefreshStorageInfoResponse `xml:"RefreshStorageInfoResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RefreshStorageInfoBody) Fault() *soap.Fault { return b.Fault_ } - -func RefreshStorageInfo(ctx context.Context, r soap.RoundTripper, req *types.RefreshStorageInfo) (*types.RefreshStorageInfoResponse, error) { - var reqBody, resBody RefreshStorageInfoBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RefreshStorageSystemBody struct { - Req *types.RefreshStorageSystem `xml:"urn:vim25 RefreshStorageSystem,omitempty"` - Res *types.RefreshStorageSystemResponse `xml:"RefreshStorageSystemResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RefreshStorageSystemBody) Fault() *soap.Fault { return b.Fault_ } - -func RefreshStorageSystem(ctx context.Context, r soap.RoundTripper, req *types.RefreshStorageSystem) (*types.RefreshStorageSystemResponse, error) { - var reqBody, resBody RefreshStorageSystemBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RegisterChildVM_TaskBody struct { - Req *types.RegisterChildVM_Task `xml:"urn:vim25 RegisterChildVM_Task,omitempty"` - Res *types.RegisterChildVM_TaskResponse `xml:"RegisterChildVM_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RegisterChildVM_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func RegisterChildVM_Task(ctx context.Context, r soap.RoundTripper, req *types.RegisterChildVM_Task) (*types.RegisterChildVM_TaskResponse, error) { - var reqBody, resBody RegisterChildVM_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RegisterDiskBody struct { - Req *types.RegisterDisk `xml:"urn:vim25 RegisterDisk,omitempty"` - Res *types.RegisterDiskResponse `xml:"RegisterDiskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RegisterDiskBody) Fault() *soap.Fault { return b.Fault_ } - -func RegisterDisk(ctx context.Context, r soap.RoundTripper, req *types.RegisterDisk) (*types.RegisterDiskResponse, error) { - var reqBody, resBody RegisterDiskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RegisterExtensionBody struct { - Req *types.RegisterExtension `xml:"urn:vim25 RegisterExtension,omitempty"` - Res *types.RegisterExtensionResponse `xml:"RegisterExtensionResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RegisterExtensionBody) Fault() *soap.Fault { return b.Fault_ } - -func RegisterExtension(ctx context.Context, r soap.RoundTripper, req *types.RegisterExtension) (*types.RegisterExtensionResponse, error) { - var reqBody, resBody RegisterExtensionBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RegisterHealthUpdateProviderBody struct { - Req *types.RegisterHealthUpdateProvider `xml:"urn:vim25 RegisterHealthUpdateProvider,omitempty"` - Res *types.RegisterHealthUpdateProviderResponse `xml:"RegisterHealthUpdateProviderResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RegisterHealthUpdateProviderBody) Fault() *soap.Fault { return b.Fault_ } - -func RegisterHealthUpdateProvider(ctx context.Context, r soap.RoundTripper, req *types.RegisterHealthUpdateProvider) (*types.RegisterHealthUpdateProviderResponse, error) { - var reqBody, resBody RegisterHealthUpdateProviderBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RegisterKmipServerBody struct { - Req *types.RegisterKmipServer `xml:"urn:vim25 RegisterKmipServer,omitempty"` - Res *types.RegisterKmipServerResponse `xml:"RegisterKmipServerResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RegisterKmipServerBody) Fault() *soap.Fault { return b.Fault_ } - -func RegisterKmipServer(ctx context.Context, r soap.RoundTripper, req *types.RegisterKmipServer) (*types.RegisterKmipServerResponse, error) { - var reqBody, resBody RegisterKmipServerBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RegisterKmsClusterBody struct { - Req *types.RegisterKmsCluster `xml:"urn:vim25 RegisterKmsCluster,omitempty"` - Res *types.RegisterKmsClusterResponse `xml:"RegisterKmsClusterResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RegisterKmsClusterBody) Fault() *soap.Fault { return b.Fault_ } - -func RegisterKmsCluster(ctx context.Context, r soap.RoundTripper, req *types.RegisterKmsCluster) (*types.RegisterKmsClusterResponse, error) { - var reqBody, resBody RegisterKmsClusterBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RegisterVM_TaskBody struct { - Req *types.RegisterVM_Task `xml:"urn:vim25 RegisterVM_Task,omitempty"` - Res *types.RegisterVM_TaskResponse `xml:"RegisterVM_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RegisterVM_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func RegisterVM_Task(ctx context.Context, r soap.RoundTripper, req *types.RegisterVM_Task) (*types.RegisterVM_TaskResponse, error) { - var reqBody, resBody RegisterVM_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ReleaseCredentialsInGuestBody struct { - Req *types.ReleaseCredentialsInGuest `xml:"urn:vim25 ReleaseCredentialsInGuest,omitempty"` - Res *types.ReleaseCredentialsInGuestResponse `xml:"ReleaseCredentialsInGuestResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ReleaseCredentialsInGuestBody) Fault() *soap.Fault { return b.Fault_ } - -func ReleaseCredentialsInGuest(ctx context.Context, r soap.RoundTripper, req *types.ReleaseCredentialsInGuest) (*types.ReleaseCredentialsInGuestResponse, error) { - var reqBody, resBody ReleaseCredentialsInGuestBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ReleaseIpAllocationBody struct { - Req *types.ReleaseIpAllocation `xml:"urn:vim25 ReleaseIpAllocation,omitempty"` - Res *types.ReleaseIpAllocationResponse `xml:"ReleaseIpAllocationResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ReleaseIpAllocationBody) Fault() *soap.Fault { return b.Fault_ } - -func ReleaseIpAllocation(ctx context.Context, r soap.RoundTripper, req *types.ReleaseIpAllocation) (*types.ReleaseIpAllocationResponse, error) { - var reqBody, resBody ReleaseIpAllocationBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ReleaseManagedSnapshotBody struct { - Req *types.ReleaseManagedSnapshot `xml:"urn:vim25 ReleaseManagedSnapshot,omitempty"` - Res *types.ReleaseManagedSnapshotResponse `xml:"ReleaseManagedSnapshotResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ReleaseManagedSnapshotBody) Fault() *soap.Fault { return b.Fault_ } - -func ReleaseManagedSnapshot(ctx context.Context, r soap.RoundTripper, req *types.ReleaseManagedSnapshot) (*types.ReleaseManagedSnapshotResponse, error) { - var reqBody, resBody ReleaseManagedSnapshotBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ReloadBody struct { - Req *types.Reload `xml:"urn:vim25 Reload,omitempty"` - Res *types.ReloadResponse `xml:"ReloadResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ReloadBody) Fault() *soap.Fault { return b.Fault_ } - -func Reload(ctx context.Context, r soap.RoundTripper, req *types.Reload) (*types.ReloadResponse, error) { - var reqBody, resBody ReloadBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RelocateVM_TaskBody struct { - Req *types.RelocateVM_Task `xml:"urn:vim25 RelocateVM_Task,omitempty"` - Res *types.RelocateVM_TaskResponse `xml:"RelocateVM_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RelocateVM_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func RelocateVM_Task(ctx context.Context, r soap.RoundTripper, req *types.RelocateVM_Task) (*types.RelocateVM_TaskResponse, error) { - var reqBody, resBody RelocateVM_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RelocateVStorageObject_TaskBody struct { - Req *types.RelocateVStorageObject_Task `xml:"urn:vim25 RelocateVStorageObject_Task,omitempty"` - Res *types.RelocateVStorageObject_TaskResponse `xml:"RelocateVStorageObject_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RelocateVStorageObject_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func RelocateVStorageObject_Task(ctx context.Context, r soap.RoundTripper, req *types.RelocateVStorageObject_Task) (*types.RelocateVStorageObject_TaskResponse, error) { - var reqBody, resBody RelocateVStorageObject_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RemoveAlarmBody struct { - Req *types.RemoveAlarm `xml:"urn:vim25 RemoveAlarm,omitempty"` - Res *types.RemoveAlarmResponse `xml:"RemoveAlarmResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RemoveAlarmBody) Fault() *soap.Fault { return b.Fault_ } - -func RemoveAlarm(ctx context.Context, r soap.RoundTripper, req *types.RemoveAlarm) (*types.RemoveAlarmResponse, error) { - var reqBody, resBody RemoveAlarmBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RemoveAllSnapshots_TaskBody struct { - Req *types.RemoveAllSnapshots_Task `xml:"urn:vim25 RemoveAllSnapshots_Task,omitempty"` - Res *types.RemoveAllSnapshots_TaskResponse `xml:"RemoveAllSnapshots_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RemoveAllSnapshots_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func RemoveAllSnapshots_Task(ctx context.Context, r soap.RoundTripper, req *types.RemoveAllSnapshots_Task) (*types.RemoveAllSnapshots_TaskResponse, error) { - var reqBody, resBody RemoveAllSnapshots_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RemoveAssignedLicenseBody struct { - Req *types.RemoveAssignedLicense `xml:"urn:vim25 RemoveAssignedLicense,omitempty"` - Res *types.RemoveAssignedLicenseResponse `xml:"RemoveAssignedLicenseResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RemoveAssignedLicenseBody) Fault() *soap.Fault { return b.Fault_ } - -func RemoveAssignedLicense(ctx context.Context, r soap.RoundTripper, req *types.RemoveAssignedLicense) (*types.RemoveAssignedLicenseResponse, error) { - var reqBody, resBody RemoveAssignedLicenseBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RemoveAuthorizationRoleBody struct { - Req *types.RemoveAuthorizationRole `xml:"urn:vim25 RemoveAuthorizationRole,omitempty"` - Res *types.RemoveAuthorizationRoleResponse `xml:"RemoveAuthorizationRoleResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RemoveAuthorizationRoleBody) Fault() *soap.Fault { return b.Fault_ } - -func RemoveAuthorizationRole(ctx context.Context, r soap.RoundTripper, req *types.RemoveAuthorizationRole) (*types.RemoveAuthorizationRoleResponse, error) { - var reqBody, resBody RemoveAuthorizationRoleBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RemoveCustomFieldDefBody struct { - Req *types.RemoveCustomFieldDef `xml:"urn:vim25 RemoveCustomFieldDef,omitempty"` - Res *types.RemoveCustomFieldDefResponse `xml:"RemoveCustomFieldDefResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RemoveCustomFieldDefBody) Fault() *soap.Fault { return b.Fault_ } - -func RemoveCustomFieldDef(ctx context.Context, r soap.RoundTripper, req *types.RemoveCustomFieldDef) (*types.RemoveCustomFieldDefResponse, error) { - var reqBody, resBody RemoveCustomFieldDefBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RemoveDatastoreBody struct { - Req *types.RemoveDatastore `xml:"urn:vim25 RemoveDatastore,omitempty"` - Res *types.RemoveDatastoreResponse `xml:"RemoveDatastoreResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RemoveDatastoreBody) Fault() *soap.Fault { return b.Fault_ } - -func RemoveDatastore(ctx context.Context, r soap.RoundTripper, req *types.RemoveDatastore) (*types.RemoveDatastoreResponse, error) { - var reqBody, resBody RemoveDatastoreBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RemoveDatastoreEx_TaskBody struct { - Req *types.RemoveDatastoreEx_Task `xml:"urn:vim25 RemoveDatastoreEx_Task,omitempty"` - Res *types.RemoveDatastoreEx_TaskResponse `xml:"RemoveDatastoreEx_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RemoveDatastoreEx_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func RemoveDatastoreEx_Task(ctx context.Context, r soap.RoundTripper, req *types.RemoveDatastoreEx_Task) (*types.RemoveDatastoreEx_TaskResponse, error) { - var reqBody, resBody RemoveDatastoreEx_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RemoveDiskMapping_TaskBody struct { - Req *types.RemoveDiskMapping_Task `xml:"urn:vim25 RemoveDiskMapping_Task,omitempty"` - Res *types.RemoveDiskMapping_TaskResponse `xml:"RemoveDiskMapping_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RemoveDiskMapping_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func RemoveDiskMapping_Task(ctx context.Context, r soap.RoundTripper, req *types.RemoveDiskMapping_Task) (*types.RemoveDiskMapping_TaskResponse, error) { - var reqBody, resBody RemoveDiskMapping_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RemoveDisk_TaskBody struct { - Req *types.RemoveDisk_Task `xml:"urn:vim25 RemoveDisk_Task,omitempty"` - Res *types.RemoveDisk_TaskResponse `xml:"RemoveDisk_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RemoveDisk_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func RemoveDisk_Task(ctx context.Context, r soap.RoundTripper, req *types.RemoveDisk_Task) (*types.RemoveDisk_TaskResponse, error) { - var reqBody, resBody RemoveDisk_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RemoveEntityPermissionBody struct { - Req *types.RemoveEntityPermission `xml:"urn:vim25 RemoveEntityPermission,omitempty"` - Res *types.RemoveEntityPermissionResponse `xml:"RemoveEntityPermissionResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RemoveEntityPermissionBody) Fault() *soap.Fault { return b.Fault_ } - -func RemoveEntityPermission(ctx context.Context, r soap.RoundTripper, req *types.RemoveEntityPermission) (*types.RemoveEntityPermissionResponse, error) { - var reqBody, resBody RemoveEntityPermissionBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RemoveFilterBody struct { - Req *types.RemoveFilter `xml:"urn:vim25 RemoveFilter,omitempty"` - Res *types.RemoveFilterResponse `xml:"RemoveFilterResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RemoveFilterBody) Fault() *soap.Fault { return b.Fault_ } - -func RemoveFilter(ctx context.Context, r soap.RoundTripper, req *types.RemoveFilter) (*types.RemoveFilterResponse, error) { - var reqBody, resBody RemoveFilterBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RemoveFilterEntitiesBody struct { - Req *types.RemoveFilterEntities `xml:"urn:vim25 RemoveFilterEntities,omitempty"` - Res *types.RemoveFilterEntitiesResponse `xml:"RemoveFilterEntitiesResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RemoveFilterEntitiesBody) Fault() *soap.Fault { return b.Fault_ } - -func RemoveFilterEntities(ctx context.Context, r soap.RoundTripper, req *types.RemoveFilterEntities) (*types.RemoveFilterEntitiesResponse, error) { - var reqBody, resBody RemoveFilterEntitiesBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RemoveGroupBody struct { - Req *types.RemoveGroup `xml:"urn:vim25 RemoveGroup,omitempty"` - Res *types.RemoveGroupResponse `xml:"RemoveGroupResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RemoveGroupBody) Fault() *soap.Fault { return b.Fault_ } - -func RemoveGroup(ctx context.Context, r soap.RoundTripper, req *types.RemoveGroup) (*types.RemoveGroupResponse, error) { - var reqBody, resBody RemoveGroupBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RemoveGuestAliasBody struct { - Req *types.RemoveGuestAlias `xml:"urn:vim25 RemoveGuestAlias,omitempty"` - Res *types.RemoveGuestAliasResponse `xml:"RemoveGuestAliasResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RemoveGuestAliasBody) Fault() *soap.Fault { return b.Fault_ } - -func RemoveGuestAlias(ctx context.Context, r soap.RoundTripper, req *types.RemoveGuestAlias) (*types.RemoveGuestAliasResponse, error) { - var reqBody, resBody RemoveGuestAliasBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RemoveGuestAliasByCertBody struct { - Req *types.RemoveGuestAliasByCert `xml:"urn:vim25 RemoveGuestAliasByCert,omitempty"` - Res *types.RemoveGuestAliasByCertResponse `xml:"RemoveGuestAliasByCertResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RemoveGuestAliasByCertBody) Fault() *soap.Fault { return b.Fault_ } - -func RemoveGuestAliasByCert(ctx context.Context, r soap.RoundTripper, req *types.RemoveGuestAliasByCert) (*types.RemoveGuestAliasByCertResponse, error) { - var reqBody, resBody RemoveGuestAliasByCertBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RemoveInternetScsiSendTargetsBody struct { - Req *types.RemoveInternetScsiSendTargets `xml:"urn:vim25 RemoveInternetScsiSendTargets,omitempty"` - Res *types.RemoveInternetScsiSendTargetsResponse `xml:"RemoveInternetScsiSendTargetsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RemoveInternetScsiSendTargetsBody) Fault() *soap.Fault { return b.Fault_ } - -func RemoveInternetScsiSendTargets(ctx context.Context, r soap.RoundTripper, req *types.RemoveInternetScsiSendTargets) (*types.RemoveInternetScsiSendTargetsResponse, error) { - var reqBody, resBody RemoveInternetScsiSendTargetsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RemoveInternetScsiStaticTargetsBody struct { - Req *types.RemoveInternetScsiStaticTargets `xml:"urn:vim25 RemoveInternetScsiStaticTargets,omitempty"` - Res *types.RemoveInternetScsiStaticTargetsResponse `xml:"RemoveInternetScsiStaticTargetsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RemoveInternetScsiStaticTargetsBody) Fault() *soap.Fault { return b.Fault_ } - -func RemoveInternetScsiStaticTargets(ctx context.Context, r soap.RoundTripper, req *types.RemoveInternetScsiStaticTargets) (*types.RemoveInternetScsiStaticTargetsResponse, error) { - var reqBody, resBody RemoveInternetScsiStaticTargetsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RemoveKeyBody struct { - Req *types.RemoveKey `xml:"urn:vim25 RemoveKey,omitempty"` - Res *types.RemoveKeyResponse `xml:"RemoveKeyResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RemoveKeyBody) Fault() *soap.Fault { return b.Fault_ } - -func RemoveKey(ctx context.Context, r soap.RoundTripper, req *types.RemoveKey) (*types.RemoveKeyResponse, error) { - var reqBody, resBody RemoveKeyBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RemoveKeysBody struct { - Req *types.RemoveKeys `xml:"urn:vim25 RemoveKeys,omitempty"` - Res *types.RemoveKeysResponse `xml:"RemoveKeysResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RemoveKeysBody) Fault() *soap.Fault { return b.Fault_ } - -func RemoveKeys(ctx context.Context, r soap.RoundTripper, req *types.RemoveKeys) (*types.RemoveKeysResponse, error) { - var reqBody, resBody RemoveKeysBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RemoveKmipServerBody struct { - Req *types.RemoveKmipServer `xml:"urn:vim25 RemoveKmipServer,omitempty"` - Res *types.RemoveKmipServerResponse `xml:"RemoveKmipServerResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RemoveKmipServerBody) Fault() *soap.Fault { return b.Fault_ } - -func RemoveKmipServer(ctx context.Context, r soap.RoundTripper, req *types.RemoveKmipServer) (*types.RemoveKmipServerResponse, error) { - var reqBody, resBody RemoveKmipServerBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RemoveLicenseBody struct { - Req *types.RemoveLicense `xml:"urn:vim25 RemoveLicense,omitempty"` - Res *types.RemoveLicenseResponse `xml:"RemoveLicenseResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RemoveLicenseBody) Fault() *soap.Fault { return b.Fault_ } - -func RemoveLicense(ctx context.Context, r soap.RoundTripper, req *types.RemoveLicense) (*types.RemoveLicenseResponse, error) { - var reqBody, resBody RemoveLicenseBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RemoveLicenseLabelBody struct { - Req *types.RemoveLicenseLabel `xml:"urn:vim25 RemoveLicenseLabel,omitempty"` - Res *types.RemoveLicenseLabelResponse `xml:"RemoveLicenseLabelResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RemoveLicenseLabelBody) Fault() *soap.Fault { return b.Fault_ } - -func RemoveLicenseLabel(ctx context.Context, r soap.RoundTripper, req *types.RemoveLicenseLabel) (*types.RemoveLicenseLabelResponse, error) { - var reqBody, resBody RemoveLicenseLabelBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RemoveMonitoredEntitiesBody struct { - Req *types.RemoveMonitoredEntities `xml:"urn:vim25 RemoveMonitoredEntities,omitempty"` - Res *types.RemoveMonitoredEntitiesResponse `xml:"RemoveMonitoredEntitiesResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RemoveMonitoredEntitiesBody) Fault() *soap.Fault { return b.Fault_ } - -func RemoveMonitoredEntities(ctx context.Context, r soap.RoundTripper, req *types.RemoveMonitoredEntities) (*types.RemoveMonitoredEntitiesResponse, error) { - var reqBody, resBody RemoveMonitoredEntitiesBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RemoveNetworkResourcePoolBody struct { - Req *types.RemoveNetworkResourcePool `xml:"urn:vim25 RemoveNetworkResourcePool,omitempty"` - Res *types.RemoveNetworkResourcePoolResponse `xml:"RemoveNetworkResourcePoolResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RemoveNetworkResourcePoolBody) Fault() *soap.Fault { return b.Fault_ } - -func RemoveNetworkResourcePool(ctx context.Context, r soap.RoundTripper, req *types.RemoveNetworkResourcePool) (*types.RemoveNetworkResourcePoolResponse, error) { - var reqBody, resBody RemoveNetworkResourcePoolBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RemoveNvmeOverRdmaAdapterBody struct { - Req *types.RemoveNvmeOverRdmaAdapter `xml:"urn:vim25 RemoveNvmeOverRdmaAdapter,omitempty"` - Res *types.RemoveNvmeOverRdmaAdapterResponse `xml:"RemoveNvmeOverRdmaAdapterResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RemoveNvmeOverRdmaAdapterBody) Fault() *soap.Fault { return b.Fault_ } - -func RemoveNvmeOverRdmaAdapter(ctx context.Context, r soap.RoundTripper, req *types.RemoveNvmeOverRdmaAdapter) (*types.RemoveNvmeOverRdmaAdapterResponse, error) { - var reqBody, resBody RemoveNvmeOverRdmaAdapterBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RemovePerfIntervalBody struct { - Req *types.RemovePerfInterval `xml:"urn:vim25 RemovePerfInterval,omitempty"` - Res *types.RemovePerfIntervalResponse `xml:"RemovePerfIntervalResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RemovePerfIntervalBody) Fault() *soap.Fault { return b.Fault_ } - -func RemovePerfInterval(ctx context.Context, r soap.RoundTripper, req *types.RemovePerfInterval) (*types.RemovePerfIntervalResponse, error) { - var reqBody, resBody RemovePerfIntervalBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RemovePortGroupBody struct { - Req *types.RemovePortGroup `xml:"urn:vim25 RemovePortGroup,omitempty"` - Res *types.RemovePortGroupResponse `xml:"RemovePortGroupResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RemovePortGroupBody) Fault() *soap.Fault { return b.Fault_ } - -func RemovePortGroup(ctx context.Context, r soap.RoundTripper, req *types.RemovePortGroup) (*types.RemovePortGroupResponse, error) { - var reqBody, resBody RemovePortGroupBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RemoveScheduledTaskBody struct { - Req *types.RemoveScheduledTask `xml:"urn:vim25 RemoveScheduledTask,omitempty"` - Res *types.RemoveScheduledTaskResponse `xml:"RemoveScheduledTaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RemoveScheduledTaskBody) Fault() *soap.Fault { return b.Fault_ } - -func RemoveScheduledTask(ctx context.Context, r soap.RoundTripper, req *types.RemoveScheduledTask) (*types.RemoveScheduledTaskResponse, error) { - var reqBody, resBody RemoveScheduledTaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RemoveServiceConsoleVirtualNicBody struct { - Req *types.RemoveServiceConsoleVirtualNic `xml:"urn:vim25 RemoveServiceConsoleVirtualNic,omitempty"` - Res *types.RemoveServiceConsoleVirtualNicResponse `xml:"RemoveServiceConsoleVirtualNicResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RemoveServiceConsoleVirtualNicBody) Fault() *soap.Fault { return b.Fault_ } - -func RemoveServiceConsoleVirtualNic(ctx context.Context, r soap.RoundTripper, req *types.RemoveServiceConsoleVirtualNic) (*types.RemoveServiceConsoleVirtualNicResponse, error) { - var reqBody, resBody RemoveServiceConsoleVirtualNicBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RemoveSmartCardTrustAnchorBody struct { - Req *types.RemoveSmartCardTrustAnchor `xml:"urn:vim25 RemoveSmartCardTrustAnchor,omitempty"` - Res *types.RemoveSmartCardTrustAnchorResponse `xml:"RemoveSmartCardTrustAnchorResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RemoveSmartCardTrustAnchorBody) Fault() *soap.Fault { return b.Fault_ } - -func RemoveSmartCardTrustAnchor(ctx context.Context, r soap.RoundTripper, req *types.RemoveSmartCardTrustAnchor) (*types.RemoveSmartCardTrustAnchorResponse, error) { - var reqBody, resBody RemoveSmartCardTrustAnchorBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RemoveSmartCardTrustAnchorByFingerprintBody struct { - Req *types.RemoveSmartCardTrustAnchorByFingerprint `xml:"urn:vim25 RemoveSmartCardTrustAnchorByFingerprint,omitempty"` - Res *types.RemoveSmartCardTrustAnchorByFingerprintResponse `xml:"RemoveSmartCardTrustAnchorByFingerprintResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RemoveSmartCardTrustAnchorByFingerprintBody) Fault() *soap.Fault { return b.Fault_ } - -func RemoveSmartCardTrustAnchorByFingerprint(ctx context.Context, r soap.RoundTripper, req *types.RemoveSmartCardTrustAnchorByFingerprint) (*types.RemoveSmartCardTrustAnchorByFingerprintResponse, error) { - var reqBody, resBody RemoveSmartCardTrustAnchorByFingerprintBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RemoveSnapshot_TaskBody struct { - Req *types.RemoveSnapshot_Task `xml:"urn:vim25 RemoveSnapshot_Task,omitempty"` - Res *types.RemoveSnapshot_TaskResponse `xml:"RemoveSnapshot_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RemoveSnapshot_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func RemoveSnapshot_Task(ctx context.Context, r soap.RoundTripper, req *types.RemoveSnapshot_Task) (*types.RemoveSnapshot_TaskResponse, error) { - var reqBody, resBody RemoveSnapshot_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RemoveSoftwareAdapterBody struct { - Req *types.RemoveSoftwareAdapter `xml:"urn:vim25 RemoveSoftwareAdapter,omitempty"` - Res *types.RemoveSoftwareAdapterResponse `xml:"RemoveSoftwareAdapterResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RemoveSoftwareAdapterBody) Fault() *soap.Fault { return b.Fault_ } - -func RemoveSoftwareAdapter(ctx context.Context, r soap.RoundTripper, req *types.RemoveSoftwareAdapter) (*types.RemoveSoftwareAdapterResponse, error) { - var reqBody, resBody RemoveSoftwareAdapterBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RemoveUserBody struct { - Req *types.RemoveUser `xml:"urn:vim25 RemoveUser,omitempty"` - Res *types.RemoveUserResponse `xml:"RemoveUserResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RemoveUserBody) Fault() *soap.Fault { return b.Fault_ } - -func RemoveUser(ctx context.Context, r soap.RoundTripper, req *types.RemoveUser) (*types.RemoveUserResponse, error) { - var reqBody, resBody RemoveUserBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RemoveVirtualNicBody struct { - Req *types.RemoveVirtualNic `xml:"urn:vim25 RemoveVirtualNic,omitempty"` - Res *types.RemoveVirtualNicResponse `xml:"RemoveVirtualNicResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RemoveVirtualNicBody) Fault() *soap.Fault { return b.Fault_ } - -func RemoveVirtualNic(ctx context.Context, r soap.RoundTripper, req *types.RemoveVirtualNic) (*types.RemoveVirtualNicResponse, error) { - var reqBody, resBody RemoveVirtualNicBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RemoveVirtualSwitchBody struct { - Req *types.RemoveVirtualSwitch `xml:"urn:vim25 RemoveVirtualSwitch,omitempty"` - Res *types.RemoveVirtualSwitchResponse `xml:"RemoveVirtualSwitchResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RemoveVirtualSwitchBody) Fault() *soap.Fault { return b.Fault_ } - -func RemoveVirtualSwitch(ctx context.Context, r soap.RoundTripper, req *types.RemoveVirtualSwitch) (*types.RemoveVirtualSwitchResponse, error) { - var reqBody, resBody RemoveVirtualSwitchBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RenameCustomFieldDefBody struct { - Req *types.RenameCustomFieldDef `xml:"urn:vim25 RenameCustomFieldDef,omitempty"` - Res *types.RenameCustomFieldDefResponse `xml:"RenameCustomFieldDefResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RenameCustomFieldDefBody) Fault() *soap.Fault { return b.Fault_ } - -func RenameCustomFieldDef(ctx context.Context, r soap.RoundTripper, req *types.RenameCustomFieldDef) (*types.RenameCustomFieldDefResponse, error) { - var reqBody, resBody RenameCustomFieldDefBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RenameCustomizationSpecBody struct { - Req *types.RenameCustomizationSpec `xml:"urn:vim25 RenameCustomizationSpec,omitempty"` - Res *types.RenameCustomizationSpecResponse `xml:"RenameCustomizationSpecResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RenameCustomizationSpecBody) Fault() *soap.Fault { return b.Fault_ } - -func RenameCustomizationSpec(ctx context.Context, r soap.RoundTripper, req *types.RenameCustomizationSpec) (*types.RenameCustomizationSpecResponse, error) { - var reqBody, resBody RenameCustomizationSpecBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RenameDatastoreBody struct { - Req *types.RenameDatastore `xml:"urn:vim25 RenameDatastore,omitempty"` - Res *types.RenameDatastoreResponse `xml:"RenameDatastoreResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RenameDatastoreBody) Fault() *soap.Fault { return b.Fault_ } - -func RenameDatastore(ctx context.Context, r soap.RoundTripper, req *types.RenameDatastore) (*types.RenameDatastoreResponse, error) { - var reqBody, resBody RenameDatastoreBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RenameSnapshotBody struct { - Req *types.RenameSnapshot `xml:"urn:vim25 RenameSnapshot,omitempty"` - Res *types.RenameSnapshotResponse `xml:"RenameSnapshotResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RenameSnapshotBody) Fault() *soap.Fault { return b.Fault_ } - -func RenameSnapshot(ctx context.Context, r soap.RoundTripper, req *types.RenameSnapshot) (*types.RenameSnapshotResponse, error) { - var reqBody, resBody RenameSnapshotBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RenameVStorageObjectBody struct { - Req *types.RenameVStorageObject `xml:"urn:vim25 RenameVStorageObject,omitempty"` - Res *types.RenameVStorageObjectResponse `xml:"RenameVStorageObjectResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RenameVStorageObjectBody) Fault() *soap.Fault { return b.Fault_ } - -func RenameVStorageObject(ctx context.Context, r soap.RoundTripper, req *types.RenameVStorageObject) (*types.RenameVStorageObjectResponse, error) { - var reqBody, resBody RenameVStorageObjectBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type Rename_TaskBody struct { - Req *types.Rename_Task `xml:"urn:vim25 Rename_Task,omitempty"` - Res *types.Rename_TaskResponse `xml:"Rename_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *Rename_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func Rename_Task(ctx context.Context, r soap.RoundTripper, req *types.Rename_Task) (*types.Rename_TaskResponse, error) { - var reqBody, resBody Rename_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ReplaceCACertificatesAndCRLsBody struct { - Req *types.ReplaceCACertificatesAndCRLs `xml:"urn:vim25 ReplaceCACertificatesAndCRLs,omitempty"` - Res *types.ReplaceCACertificatesAndCRLsResponse `xml:"ReplaceCACertificatesAndCRLsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ReplaceCACertificatesAndCRLsBody) Fault() *soap.Fault { return b.Fault_ } - -func ReplaceCACertificatesAndCRLs(ctx context.Context, r soap.RoundTripper, req *types.ReplaceCACertificatesAndCRLs) (*types.ReplaceCACertificatesAndCRLsResponse, error) { - var reqBody, resBody ReplaceCACertificatesAndCRLsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ReplaceSmartCardTrustAnchorsBody struct { - Req *types.ReplaceSmartCardTrustAnchors `xml:"urn:vim25 ReplaceSmartCardTrustAnchors,omitempty"` - Res *types.ReplaceSmartCardTrustAnchorsResponse `xml:"ReplaceSmartCardTrustAnchorsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ReplaceSmartCardTrustAnchorsBody) Fault() *soap.Fault { return b.Fault_ } - -func ReplaceSmartCardTrustAnchors(ctx context.Context, r soap.RoundTripper, req *types.ReplaceSmartCardTrustAnchors) (*types.ReplaceSmartCardTrustAnchorsResponse, error) { - var reqBody, resBody ReplaceSmartCardTrustAnchorsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RescanAllHbaBody struct { - Req *types.RescanAllHba `xml:"urn:vim25 RescanAllHba,omitempty"` - Res *types.RescanAllHbaResponse `xml:"RescanAllHbaResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RescanAllHbaBody) Fault() *soap.Fault { return b.Fault_ } - -func RescanAllHba(ctx context.Context, r soap.RoundTripper, req *types.RescanAllHba) (*types.RescanAllHbaResponse, error) { - var reqBody, resBody RescanAllHbaBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RescanHbaBody struct { - Req *types.RescanHba `xml:"urn:vim25 RescanHba,omitempty"` - Res *types.RescanHbaResponse `xml:"RescanHbaResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RescanHbaBody) Fault() *soap.Fault { return b.Fault_ } - -func RescanHba(ctx context.Context, r soap.RoundTripper, req *types.RescanHba) (*types.RescanHbaResponse, error) { - var reqBody, resBody RescanHbaBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RescanVffsBody struct { - Req *types.RescanVffs `xml:"urn:vim25 RescanVffs,omitempty"` - Res *types.RescanVffsResponse `xml:"RescanVffsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RescanVffsBody) Fault() *soap.Fault { return b.Fault_ } - -func RescanVffs(ctx context.Context, r soap.RoundTripper, req *types.RescanVffs) (*types.RescanVffsResponse, error) { - var reqBody, resBody RescanVffsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RescanVmfsBody struct { - Req *types.RescanVmfs `xml:"urn:vim25 RescanVmfs,omitempty"` - Res *types.RescanVmfsResponse `xml:"RescanVmfsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RescanVmfsBody) Fault() *soap.Fault { return b.Fault_ } - -func RescanVmfs(ctx context.Context, r soap.RoundTripper, req *types.RescanVmfs) (*types.RescanVmfsResponse, error) { - var reqBody, resBody RescanVmfsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ResetCollectorBody struct { - Req *types.ResetCollector `xml:"urn:vim25 ResetCollector,omitempty"` - Res *types.ResetCollectorResponse `xml:"ResetCollectorResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ResetCollectorBody) Fault() *soap.Fault { return b.Fault_ } - -func ResetCollector(ctx context.Context, r soap.RoundTripper, req *types.ResetCollector) (*types.ResetCollectorResponse, error) { - var reqBody, resBody ResetCollectorBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ResetCounterLevelMappingBody struct { - Req *types.ResetCounterLevelMapping `xml:"urn:vim25 ResetCounterLevelMapping,omitempty"` - Res *types.ResetCounterLevelMappingResponse `xml:"ResetCounterLevelMappingResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ResetCounterLevelMappingBody) Fault() *soap.Fault { return b.Fault_ } - -func ResetCounterLevelMapping(ctx context.Context, r soap.RoundTripper, req *types.ResetCounterLevelMapping) (*types.ResetCounterLevelMappingResponse, error) { - var reqBody, resBody ResetCounterLevelMappingBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ResetEntityPermissionsBody struct { - Req *types.ResetEntityPermissions `xml:"urn:vim25 ResetEntityPermissions,omitempty"` - Res *types.ResetEntityPermissionsResponse `xml:"ResetEntityPermissionsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ResetEntityPermissionsBody) Fault() *soap.Fault { return b.Fault_ } - -func ResetEntityPermissions(ctx context.Context, r soap.RoundTripper, req *types.ResetEntityPermissions) (*types.ResetEntityPermissionsResponse, error) { - var reqBody, resBody ResetEntityPermissionsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ResetFirmwareToFactoryDefaultsBody struct { - Req *types.ResetFirmwareToFactoryDefaults `xml:"urn:vim25 ResetFirmwareToFactoryDefaults,omitempty"` - Res *types.ResetFirmwareToFactoryDefaultsResponse `xml:"ResetFirmwareToFactoryDefaultsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ResetFirmwareToFactoryDefaultsBody) Fault() *soap.Fault { return b.Fault_ } - -func ResetFirmwareToFactoryDefaults(ctx context.Context, r soap.RoundTripper, req *types.ResetFirmwareToFactoryDefaults) (*types.ResetFirmwareToFactoryDefaultsResponse, error) { - var reqBody, resBody ResetFirmwareToFactoryDefaultsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ResetGuestInformationBody struct { - Req *types.ResetGuestInformation `xml:"urn:vim25 ResetGuestInformation,omitempty"` - Res *types.ResetGuestInformationResponse `xml:"ResetGuestInformationResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ResetGuestInformationBody) Fault() *soap.Fault { return b.Fault_ } - -func ResetGuestInformation(ctx context.Context, r soap.RoundTripper, req *types.ResetGuestInformation) (*types.ResetGuestInformationResponse, error) { - var reqBody, resBody ResetGuestInformationBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ResetListViewBody struct { - Req *types.ResetListView `xml:"urn:vim25 ResetListView,omitempty"` - Res *types.ResetListViewResponse `xml:"ResetListViewResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ResetListViewBody) Fault() *soap.Fault { return b.Fault_ } - -func ResetListView(ctx context.Context, r soap.RoundTripper, req *types.ResetListView) (*types.ResetListViewResponse, error) { - var reqBody, resBody ResetListViewBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ResetListViewFromViewBody struct { - Req *types.ResetListViewFromView `xml:"urn:vim25 ResetListViewFromView,omitempty"` - Res *types.ResetListViewFromViewResponse `xml:"ResetListViewFromViewResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ResetListViewFromViewBody) Fault() *soap.Fault { return b.Fault_ } - -func ResetListViewFromView(ctx context.Context, r soap.RoundTripper, req *types.ResetListViewFromView) (*types.ResetListViewFromViewResponse, error) { - var reqBody, resBody ResetListViewFromViewBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ResetSystemHealthInfoBody struct { - Req *types.ResetSystemHealthInfo `xml:"urn:vim25 ResetSystemHealthInfo,omitempty"` - Res *types.ResetSystemHealthInfoResponse `xml:"ResetSystemHealthInfoResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ResetSystemHealthInfoBody) Fault() *soap.Fault { return b.Fault_ } - -func ResetSystemHealthInfo(ctx context.Context, r soap.RoundTripper, req *types.ResetSystemHealthInfo) (*types.ResetSystemHealthInfoResponse, error) { - var reqBody, resBody ResetSystemHealthInfoBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ResetVM_TaskBody struct { - Req *types.ResetVM_Task `xml:"urn:vim25 ResetVM_Task,omitempty"` - Res *types.ResetVM_TaskResponse `xml:"ResetVM_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ResetVM_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func ResetVM_Task(ctx context.Context, r soap.RoundTripper, req *types.ResetVM_Task) (*types.ResetVM_TaskResponse, error) { - var reqBody, resBody ResetVM_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ResignatureUnresolvedVmfsVolume_TaskBody struct { - Req *types.ResignatureUnresolvedVmfsVolume_Task `xml:"urn:vim25 ResignatureUnresolvedVmfsVolume_Task,omitempty"` - Res *types.ResignatureUnresolvedVmfsVolume_TaskResponse `xml:"ResignatureUnresolvedVmfsVolume_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ResignatureUnresolvedVmfsVolume_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func ResignatureUnresolvedVmfsVolume_Task(ctx context.Context, r soap.RoundTripper, req *types.ResignatureUnresolvedVmfsVolume_Task) (*types.ResignatureUnresolvedVmfsVolume_TaskResponse, error) { - var reqBody, resBody ResignatureUnresolvedVmfsVolume_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ResolveInstallationErrorsOnCluster_TaskBody struct { - Req *types.ResolveInstallationErrorsOnCluster_Task `xml:"urn:vim25 ResolveInstallationErrorsOnCluster_Task,omitempty"` - Res *types.ResolveInstallationErrorsOnCluster_TaskResponse `xml:"ResolveInstallationErrorsOnCluster_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ResolveInstallationErrorsOnCluster_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func ResolveInstallationErrorsOnCluster_Task(ctx context.Context, r soap.RoundTripper, req *types.ResolveInstallationErrorsOnCluster_Task) (*types.ResolveInstallationErrorsOnCluster_TaskResponse, error) { - var reqBody, resBody ResolveInstallationErrorsOnCluster_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ResolveInstallationErrorsOnHost_TaskBody struct { - Req *types.ResolveInstallationErrorsOnHost_Task `xml:"urn:vim25 ResolveInstallationErrorsOnHost_Task,omitempty"` - Res *types.ResolveInstallationErrorsOnHost_TaskResponse `xml:"ResolveInstallationErrorsOnHost_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ResolveInstallationErrorsOnHost_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func ResolveInstallationErrorsOnHost_Task(ctx context.Context, r soap.RoundTripper, req *types.ResolveInstallationErrorsOnHost_Task) (*types.ResolveInstallationErrorsOnHost_TaskResponse, error) { - var reqBody, resBody ResolveInstallationErrorsOnHost_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ResolveMultipleUnresolvedVmfsVolumesBody struct { - Req *types.ResolveMultipleUnresolvedVmfsVolumes `xml:"urn:vim25 ResolveMultipleUnresolvedVmfsVolumes,omitempty"` - Res *types.ResolveMultipleUnresolvedVmfsVolumesResponse `xml:"ResolveMultipleUnresolvedVmfsVolumesResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ResolveMultipleUnresolvedVmfsVolumesBody) Fault() *soap.Fault { return b.Fault_ } - -func ResolveMultipleUnresolvedVmfsVolumes(ctx context.Context, r soap.RoundTripper, req *types.ResolveMultipleUnresolvedVmfsVolumes) (*types.ResolveMultipleUnresolvedVmfsVolumesResponse, error) { - var reqBody, resBody ResolveMultipleUnresolvedVmfsVolumesBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ResolveMultipleUnresolvedVmfsVolumesEx_TaskBody struct { - Req *types.ResolveMultipleUnresolvedVmfsVolumesEx_Task `xml:"urn:vim25 ResolveMultipleUnresolvedVmfsVolumesEx_Task,omitempty"` - Res *types.ResolveMultipleUnresolvedVmfsVolumesEx_TaskResponse `xml:"ResolveMultipleUnresolvedVmfsVolumesEx_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ResolveMultipleUnresolvedVmfsVolumesEx_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func ResolveMultipleUnresolvedVmfsVolumesEx_Task(ctx context.Context, r soap.RoundTripper, req *types.ResolveMultipleUnresolvedVmfsVolumesEx_Task) (*types.ResolveMultipleUnresolvedVmfsVolumesEx_TaskResponse, error) { - var reqBody, resBody ResolveMultipleUnresolvedVmfsVolumesEx_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RestartServiceBody struct { - Req *types.RestartService `xml:"urn:vim25 RestartService,omitempty"` - Res *types.RestartServiceResponse `xml:"RestartServiceResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RestartServiceBody) Fault() *soap.Fault { return b.Fault_ } - -func RestartService(ctx context.Context, r soap.RoundTripper, req *types.RestartService) (*types.RestartServiceResponse, error) { - var reqBody, resBody RestartServiceBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RestartServiceConsoleVirtualNicBody struct { - Req *types.RestartServiceConsoleVirtualNic `xml:"urn:vim25 RestartServiceConsoleVirtualNic,omitempty"` - Res *types.RestartServiceConsoleVirtualNicResponse `xml:"RestartServiceConsoleVirtualNicResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RestartServiceConsoleVirtualNicBody) Fault() *soap.Fault { return b.Fault_ } - -func RestartServiceConsoleVirtualNic(ctx context.Context, r soap.RoundTripper, req *types.RestartServiceConsoleVirtualNic) (*types.RestartServiceConsoleVirtualNicResponse, error) { - var reqBody, resBody RestartServiceConsoleVirtualNicBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RestoreFirmwareConfigurationBody struct { - Req *types.RestoreFirmwareConfiguration `xml:"urn:vim25 RestoreFirmwareConfiguration,omitempty"` - Res *types.RestoreFirmwareConfigurationResponse `xml:"RestoreFirmwareConfigurationResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RestoreFirmwareConfigurationBody) Fault() *soap.Fault { return b.Fault_ } - -func RestoreFirmwareConfiguration(ctx context.Context, r soap.RoundTripper, req *types.RestoreFirmwareConfiguration) (*types.RestoreFirmwareConfigurationResponse, error) { - var reqBody, resBody RestoreFirmwareConfigurationBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RetrieveAllPermissionsBody struct { - Req *types.RetrieveAllPermissions `xml:"urn:vim25 RetrieveAllPermissions,omitempty"` - Res *types.RetrieveAllPermissionsResponse `xml:"RetrieveAllPermissionsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RetrieveAllPermissionsBody) Fault() *soap.Fault { return b.Fault_ } - -func RetrieveAllPermissions(ctx context.Context, r soap.RoundTripper, req *types.RetrieveAllPermissions) (*types.RetrieveAllPermissionsResponse, error) { - var reqBody, resBody RetrieveAllPermissionsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RetrieveAnswerFileBody struct { - Req *types.RetrieveAnswerFile `xml:"urn:vim25 RetrieveAnswerFile,omitempty"` - Res *types.RetrieveAnswerFileResponse `xml:"RetrieveAnswerFileResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RetrieveAnswerFileBody) Fault() *soap.Fault { return b.Fault_ } - -func RetrieveAnswerFile(ctx context.Context, r soap.RoundTripper, req *types.RetrieveAnswerFile) (*types.RetrieveAnswerFileResponse, error) { - var reqBody, resBody RetrieveAnswerFileBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RetrieveAnswerFileForProfileBody struct { - Req *types.RetrieveAnswerFileForProfile `xml:"urn:vim25 RetrieveAnswerFileForProfile,omitempty"` - Res *types.RetrieveAnswerFileForProfileResponse `xml:"RetrieveAnswerFileForProfileResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RetrieveAnswerFileForProfileBody) Fault() *soap.Fault { return b.Fault_ } - -func RetrieveAnswerFileForProfile(ctx context.Context, r soap.RoundTripper, req *types.RetrieveAnswerFileForProfile) (*types.RetrieveAnswerFileForProfileResponse, error) { - var reqBody, resBody RetrieveAnswerFileForProfileBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RetrieveArgumentDescriptionBody struct { - Req *types.RetrieveArgumentDescription `xml:"urn:vim25 RetrieveArgumentDescription,omitempty"` - Res *types.RetrieveArgumentDescriptionResponse `xml:"RetrieveArgumentDescriptionResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RetrieveArgumentDescriptionBody) Fault() *soap.Fault { return b.Fault_ } - -func RetrieveArgumentDescription(ctx context.Context, r soap.RoundTripper, req *types.RetrieveArgumentDescription) (*types.RetrieveArgumentDescriptionResponse, error) { - var reqBody, resBody RetrieveArgumentDescriptionBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RetrieveClientCertBody struct { - Req *types.RetrieveClientCert `xml:"urn:vim25 RetrieveClientCert,omitempty"` - Res *types.RetrieveClientCertResponse `xml:"RetrieveClientCertResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RetrieveClientCertBody) Fault() *soap.Fault { return b.Fault_ } - -func RetrieveClientCert(ctx context.Context, r soap.RoundTripper, req *types.RetrieveClientCert) (*types.RetrieveClientCertResponse, error) { - var reqBody, resBody RetrieveClientCertBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RetrieveClientCsrBody struct { - Req *types.RetrieveClientCsr `xml:"urn:vim25 RetrieveClientCsr,omitempty"` - Res *types.RetrieveClientCsrResponse `xml:"RetrieveClientCsrResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RetrieveClientCsrBody) Fault() *soap.Fault { return b.Fault_ } - -func RetrieveClientCsr(ctx context.Context, r soap.RoundTripper, req *types.RetrieveClientCsr) (*types.RetrieveClientCsrResponse, error) { - var reqBody, resBody RetrieveClientCsrBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RetrieveDasAdvancedRuntimeInfoBody struct { - Req *types.RetrieveDasAdvancedRuntimeInfo `xml:"urn:vim25 RetrieveDasAdvancedRuntimeInfo,omitempty"` - Res *types.RetrieveDasAdvancedRuntimeInfoResponse `xml:"RetrieveDasAdvancedRuntimeInfoResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RetrieveDasAdvancedRuntimeInfoBody) Fault() *soap.Fault { return b.Fault_ } - -func RetrieveDasAdvancedRuntimeInfo(ctx context.Context, r soap.RoundTripper, req *types.RetrieveDasAdvancedRuntimeInfo) (*types.RetrieveDasAdvancedRuntimeInfoResponse, error) { - var reqBody, resBody RetrieveDasAdvancedRuntimeInfoBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RetrieveDescriptionBody struct { - Req *types.RetrieveDescription `xml:"urn:vim25 RetrieveDescription,omitempty"` - Res *types.RetrieveDescriptionResponse `xml:"RetrieveDescriptionResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RetrieveDescriptionBody) Fault() *soap.Fault { return b.Fault_ } - -func RetrieveDescription(ctx context.Context, r soap.RoundTripper, req *types.RetrieveDescription) (*types.RetrieveDescriptionResponse, error) { - var reqBody, resBody RetrieveDescriptionBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RetrieveDiskPartitionInfoBody struct { - Req *types.RetrieveDiskPartitionInfo `xml:"urn:vim25 RetrieveDiskPartitionInfo,omitempty"` - Res *types.RetrieveDiskPartitionInfoResponse `xml:"RetrieveDiskPartitionInfoResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RetrieveDiskPartitionInfoBody) Fault() *soap.Fault { return b.Fault_ } - -func RetrieveDiskPartitionInfo(ctx context.Context, r soap.RoundTripper, req *types.RetrieveDiskPartitionInfo) (*types.RetrieveDiskPartitionInfoResponse, error) { - var reqBody, resBody RetrieveDiskPartitionInfoBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RetrieveDynamicPassthroughInfoBody struct { - Req *types.RetrieveDynamicPassthroughInfo `xml:"urn:vim25 RetrieveDynamicPassthroughInfo,omitempty"` - Res *types.RetrieveDynamicPassthroughInfoResponse `xml:"RetrieveDynamicPassthroughInfoResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RetrieveDynamicPassthroughInfoBody) Fault() *soap.Fault { return b.Fault_ } - -func RetrieveDynamicPassthroughInfo(ctx context.Context, r soap.RoundTripper, req *types.RetrieveDynamicPassthroughInfo) (*types.RetrieveDynamicPassthroughInfoResponse, error) { - var reqBody, resBody RetrieveDynamicPassthroughInfoBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RetrieveEntityPermissionsBody struct { - Req *types.RetrieveEntityPermissions `xml:"urn:vim25 RetrieveEntityPermissions,omitempty"` - Res *types.RetrieveEntityPermissionsResponse `xml:"RetrieveEntityPermissionsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RetrieveEntityPermissionsBody) Fault() *soap.Fault { return b.Fault_ } - -func RetrieveEntityPermissions(ctx context.Context, r soap.RoundTripper, req *types.RetrieveEntityPermissions) (*types.RetrieveEntityPermissionsResponse, error) { - var reqBody, resBody RetrieveEntityPermissionsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RetrieveEntityScheduledTaskBody struct { - Req *types.RetrieveEntityScheduledTask `xml:"urn:vim25 RetrieveEntityScheduledTask,omitempty"` - Res *types.RetrieveEntityScheduledTaskResponse `xml:"RetrieveEntityScheduledTaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RetrieveEntityScheduledTaskBody) Fault() *soap.Fault { return b.Fault_ } - -func RetrieveEntityScheduledTask(ctx context.Context, r soap.RoundTripper, req *types.RetrieveEntityScheduledTask) (*types.RetrieveEntityScheduledTaskResponse, error) { - var reqBody, resBody RetrieveEntityScheduledTaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RetrieveFreeEpcMemoryBody struct { - Req *types.RetrieveFreeEpcMemory `xml:"urn:vim25 RetrieveFreeEpcMemory,omitempty"` - Res *types.RetrieveFreeEpcMemoryResponse `xml:"RetrieveFreeEpcMemoryResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RetrieveFreeEpcMemoryBody) Fault() *soap.Fault { return b.Fault_ } - -func RetrieveFreeEpcMemory(ctx context.Context, r soap.RoundTripper, req *types.RetrieveFreeEpcMemory) (*types.RetrieveFreeEpcMemoryResponse, error) { - var reqBody, resBody RetrieveFreeEpcMemoryBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RetrieveHardwareUptimeBody struct { - Req *types.RetrieveHardwareUptime `xml:"urn:vim25 RetrieveHardwareUptime,omitempty"` - Res *types.RetrieveHardwareUptimeResponse `xml:"RetrieveHardwareUptimeResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RetrieveHardwareUptimeBody) Fault() *soap.Fault { return b.Fault_ } - -func RetrieveHardwareUptime(ctx context.Context, r soap.RoundTripper, req *types.RetrieveHardwareUptime) (*types.RetrieveHardwareUptimeResponse, error) { - var reqBody, resBody RetrieveHardwareUptimeBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RetrieveHostAccessControlEntriesBody struct { - Req *types.RetrieveHostAccessControlEntries `xml:"urn:vim25 RetrieveHostAccessControlEntries,omitempty"` - Res *types.RetrieveHostAccessControlEntriesResponse `xml:"RetrieveHostAccessControlEntriesResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RetrieveHostAccessControlEntriesBody) Fault() *soap.Fault { return b.Fault_ } - -func RetrieveHostAccessControlEntries(ctx context.Context, r soap.RoundTripper, req *types.RetrieveHostAccessControlEntries) (*types.RetrieveHostAccessControlEntriesResponse, error) { - var reqBody, resBody RetrieveHostAccessControlEntriesBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RetrieveHostCustomizationsBody struct { - Req *types.RetrieveHostCustomizations `xml:"urn:vim25 RetrieveHostCustomizations,omitempty"` - Res *types.RetrieveHostCustomizationsResponse `xml:"RetrieveHostCustomizationsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RetrieveHostCustomizationsBody) Fault() *soap.Fault { return b.Fault_ } - -func RetrieveHostCustomizations(ctx context.Context, r soap.RoundTripper, req *types.RetrieveHostCustomizations) (*types.RetrieveHostCustomizationsResponse, error) { - var reqBody, resBody RetrieveHostCustomizationsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RetrieveHostCustomizationsForProfileBody struct { - Req *types.RetrieveHostCustomizationsForProfile `xml:"urn:vim25 RetrieveHostCustomizationsForProfile,omitempty"` - Res *types.RetrieveHostCustomizationsForProfileResponse `xml:"RetrieveHostCustomizationsForProfileResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RetrieveHostCustomizationsForProfileBody) Fault() *soap.Fault { return b.Fault_ } - -func RetrieveHostCustomizationsForProfile(ctx context.Context, r soap.RoundTripper, req *types.RetrieveHostCustomizationsForProfile) (*types.RetrieveHostCustomizationsForProfileResponse, error) { - var reqBody, resBody RetrieveHostCustomizationsForProfileBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RetrieveHostSpecificationBody struct { - Req *types.RetrieveHostSpecification `xml:"urn:vim25 RetrieveHostSpecification,omitempty"` - Res *types.RetrieveHostSpecificationResponse `xml:"RetrieveHostSpecificationResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RetrieveHostSpecificationBody) Fault() *soap.Fault { return b.Fault_ } - -func RetrieveHostSpecification(ctx context.Context, r soap.RoundTripper, req *types.RetrieveHostSpecification) (*types.RetrieveHostSpecificationResponse, error) { - var reqBody, resBody RetrieveHostSpecificationBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RetrieveKmipServerCertBody struct { - Req *types.RetrieveKmipServerCert `xml:"urn:vim25 RetrieveKmipServerCert,omitempty"` - Res *types.RetrieveKmipServerCertResponse `xml:"RetrieveKmipServerCertResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RetrieveKmipServerCertBody) Fault() *soap.Fault { return b.Fault_ } - -func RetrieveKmipServerCert(ctx context.Context, r soap.RoundTripper, req *types.RetrieveKmipServerCert) (*types.RetrieveKmipServerCertResponse, error) { - var reqBody, resBody RetrieveKmipServerCertBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RetrieveKmipServersStatus_TaskBody struct { - Req *types.RetrieveKmipServersStatus_Task `xml:"urn:vim25 RetrieveKmipServersStatus_Task,omitempty"` - Res *types.RetrieveKmipServersStatus_TaskResponse `xml:"RetrieveKmipServersStatus_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RetrieveKmipServersStatus_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func RetrieveKmipServersStatus_Task(ctx context.Context, r soap.RoundTripper, req *types.RetrieveKmipServersStatus_Task) (*types.RetrieveKmipServersStatus_TaskResponse, error) { - var reqBody, resBody RetrieveKmipServersStatus_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RetrieveObjectScheduledTaskBody struct { - Req *types.RetrieveObjectScheduledTask `xml:"urn:vim25 RetrieveObjectScheduledTask,omitempty"` - Res *types.RetrieveObjectScheduledTaskResponse `xml:"RetrieveObjectScheduledTaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RetrieveObjectScheduledTaskBody) Fault() *soap.Fault { return b.Fault_ } - -func RetrieveObjectScheduledTask(ctx context.Context, r soap.RoundTripper, req *types.RetrieveObjectScheduledTask) (*types.RetrieveObjectScheduledTaskResponse, error) { - var reqBody, resBody RetrieveObjectScheduledTaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RetrieveProductComponentsBody struct { - Req *types.RetrieveProductComponents `xml:"urn:vim25 RetrieveProductComponents,omitempty"` - Res *types.RetrieveProductComponentsResponse `xml:"RetrieveProductComponentsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RetrieveProductComponentsBody) Fault() *soap.Fault { return b.Fault_ } - -func RetrieveProductComponents(ctx context.Context, r soap.RoundTripper, req *types.RetrieveProductComponents) (*types.RetrieveProductComponentsResponse, error) { - var reqBody, resBody RetrieveProductComponentsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RetrievePropertiesBody struct { - Req *types.RetrieveProperties `xml:"urn:vim25 RetrieveProperties,omitempty"` - Res *types.RetrievePropertiesResponse `xml:"RetrievePropertiesResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RetrievePropertiesBody) Fault() *soap.Fault { return b.Fault_ } - -func RetrieveProperties(ctx context.Context, r soap.RoundTripper, req *types.RetrieveProperties) (*types.RetrievePropertiesResponse, error) { - var reqBody, resBody RetrievePropertiesBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RetrievePropertiesExBody struct { - Req *types.RetrievePropertiesEx `xml:"urn:vim25 RetrievePropertiesEx,omitempty"` - Res *types.RetrievePropertiesExResponse `xml:"RetrievePropertiesExResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RetrievePropertiesExBody) Fault() *soap.Fault { return b.Fault_ } - -func RetrievePropertiesEx(ctx context.Context, r soap.RoundTripper, req *types.RetrievePropertiesEx) (*types.RetrievePropertiesExResponse, error) { - var reqBody, resBody RetrievePropertiesExBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RetrieveRolePermissionsBody struct { - Req *types.RetrieveRolePermissions `xml:"urn:vim25 RetrieveRolePermissions,omitempty"` - Res *types.RetrieveRolePermissionsResponse `xml:"RetrieveRolePermissionsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RetrieveRolePermissionsBody) Fault() *soap.Fault { return b.Fault_ } - -func RetrieveRolePermissions(ctx context.Context, r soap.RoundTripper, req *types.RetrieveRolePermissions) (*types.RetrieveRolePermissionsResponse, error) { - var reqBody, resBody RetrieveRolePermissionsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RetrieveSelfSignedClientCertBody struct { - Req *types.RetrieveSelfSignedClientCert `xml:"urn:vim25 RetrieveSelfSignedClientCert,omitempty"` - Res *types.RetrieveSelfSignedClientCertResponse `xml:"RetrieveSelfSignedClientCertResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RetrieveSelfSignedClientCertBody) Fault() *soap.Fault { return b.Fault_ } - -func RetrieveSelfSignedClientCert(ctx context.Context, r soap.RoundTripper, req *types.RetrieveSelfSignedClientCert) (*types.RetrieveSelfSignedClientCertResponse, error) { - var reqBody, resBody RetrieveSelfSignedClientCertBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RetrieveServiceContentBody struct { - Req *types.RetrieveServiceContent `xml:"urn:vim25 RetrieveServiceContent,omitempty"` - Res *types.RetrieveServiceContentResponse `xml:"RetrieveServiceContentResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RetrieveServiceContentBody) Fault() *soap.Fault { return b.Fault_ } - -func RetrieveServiceContent(ctx context.Context, r soap.RoundTripper, req *types.RetrieveServiceContent) (*types.RetrieveServiceContentResponse, error) { - var reqBody, resBody RetrieveServiceContentBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RetrieveServiceProviderEntitiesBody struct { - Req *types.RetrieveServiceProviderEntities `xml:"urn:vim25 RetrieveServiceProviderEntities,omitempty"` - Res *types.RetrieveServiceProviderEntitiesResponse `xml:"RetrieveServiceProviderEntitiesResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RetrieveServiceProviderEntitiesBody) Fault() *soap.Fault { return b.Fault_ } - -func RetrieveServiceProviderEntities(ctx context.Context, r soap.RoundTripper, req *types.RetrieveServiceProviderEntities) (*types.RetrieveServiceProviderEntitiesResponse, error) { - var reqBody, resBody RetrieveServiceProviderEntitiesBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RetrieveSnapshotDetailsBody struct { - Req *types.RetrieveSnapshotDetails `xml:"urn:vim25 RetrieveSnapshotDetails,omitempty"` - Res *types.RetrieveSnapshotDetailsResponse `xml:"RetrieveSnapshotDetailsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RetrieveSnapshotDetailsBody) Fault() *soap.Fault { return b.Fault_ } - -func RetrieveSnapshotDetails(ctx context.Context, r soap.RoundTripper, req *types.RetrieveSnapshotDetails) (*types.RetrieveSnapshotDetailsResponse, error) { - var reqBody, resBody RetrieveSnapshotDetailsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RetrieveSnapshotInfoBody struct { - Req *types.RetrieveSnapshotInfo `xml:"urn:vim25 RetrieveSnapshotInfo,omitempty"` - Res *types.RetrieveSnapshotInfoResponse `xml:"RetrieveSnapshotInfoResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RetrieveSnapshotInfoBody) Fault() *soap.Fault { return b.Fault_ } - -func RetrieveSnapshotInfo(ctx context.Context, r soap.RoundTripper, req *types.RetrieveSnapshotInfo) (*types.RetrieveSnapshotInfoResponse, error) { - var reqBody, resBody RetrieveSnapshotInfoBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RetrieveUserGroupsBody struct { - Req *types.RetrieveUserGroups `xml:"urn:vim25 RetrieveUserGroups,omitempty"` - Res *types.RetrieveUserGroupsResponse `xml:"RetrieveUserGroupsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RetrieveUserGroupsBody) Fault() *soap.Fault { return b.Fault_ } - -func RetrieveUserGroups(ctx context.Context, r soap.RoundTripper, req *types.RetrieveUserGroups) (*types.RetrieveUserGroupsResponse, error) { - var reqBody, resBody RetrieveUserGroupsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RetrieveVStorageInfrastructureObjectPolicyBody struct { - Req *types.RetrieveVStorageInfrastructureObjectPolicy `xml:"urn:vim25 RetrieveVStorageInfrastructureObjectPolicy,omitempty"` - Res *types.RetrieveVStorageInfrastructureObjectPolicyResponse `xml:"RetrieveVStorageInfrastructureObjectPolicyResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RetrieveVStorageInfrastructureObjectPolicyBody) Fault() *soap.Fault { return b.Fault_ } - -func RetrieveVStorageInfrastructureObjectPolicy(ctx context.Context, r soap.RoundTripper, req *types.RetrieveVStorageInfrastructureObjectPolicy) (*types.RetrieveVStorageInfrastructureObjectPolicyResponse, error) { - var reqBody, resBody RetrieveVStorageInfrastructureObjectPolicyBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RetrieveVStorageObjectBody struct { - Req *types.RetrieveVStorageObject `xml:"urn:vim25 RetrieveVStorageObject,omitempty"` - Res *types.RetrieveVStorageObjectResponse `xml:"RetrieveVStorageObjectResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RetrieveVStorageObjectBody) Fault() *soap.Fault { return b.Fault_ } - -func RetrieveVStorageObject(ctx context.Context, r soap.RoundTripper, req *types.RetrieveVStorageObject) (*types.RetrieveVStorageObjectResponse, error) { - var reqBody, resBody RetrieveVStorageObjectBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RetrieveVStorageObjectAssociationsBody struct { - Req *types.RetrieveVStorageObjectAssociations `xml:"urn:vim25 RetrieveVStorageObjectAssociations,omitempty"` - Res *types.RetrieveVStorageObjectAssociationsResponse `xml:"RetrieveVStorageObjectAssociationsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RetrieveVStorageObjectAssociationsBody) Fault() *soap.Fault { return b.Fault_ } - -func RetrieveVStorageObjectAssociations(ctx context.Context, r soap.RoundTripper, req *types.RetrieveVStorageObjectAssociations) (*types.RetrieveVStorageObjectAssociationsResponse, error) { - var reqBody, resBody RetrieveVStorageObjectAssociationsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RetrieveVStorageObjectStateBody struct { - Req *types.RetrieveVStorageObjectState `xml:"urn:vim25 RetrieveVStorageObjectState,omitempty"` - Res *types.RetrieveVStorageObjectStateResponse `xml:"RetrieveVStorageObjectStateResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RetrieveVStorageObjectStateBody) Fault() *soap.Fault { return b.Fault_ } - -func RetrieveVStorageObjectState(ctx context.Context, r soap.RoundTripper, req *types.RetrieveVStorageObjectState) (*types.RetrieveVStorageObjectStateResponse, error) { - var reqBody, resBody RetrieveVStorageObjectStateBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RetrieveVendorDeviceGroupInfoBody struct { - Req *types.RetrieveVendorDeviceGroupInfo `xml:"urn:vim25 RetrieveVendorDeviceGroupInfo,omitempty"` - Res *types.RetrieveVendorDeviceGroupInfoResponse `xml:"RetrieveVendorDeviceGroupInfoResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RetrieveVendorDeviceGroupInfoBody) Fault() *soap.Fault { return b.Fault_ } - -func RetrieveVendorDeviceGroupInfo(ctx context.Context, r soap.RoundTripper, req *types.RetrieveVendorDeviceGroupInfo) (*types.RetrieveVendorDeviceGroupInfoResponse, error) { - var reqBody, resBody RetrieveVendorDeviceGroupInfoBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RetrieveVgpuDeviceInfoBody struct { - Req *types.RetrieveVgpuDeviceInfo `xml:"urn:vim25 RetrieveVgpuDeviceInfo,omitempty"` - Res *types.RetrieveVgpuDeviceInfoResponse `xml:"RetrieveVgpuDeviceInfoResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RetrieveVgpuDeviceInfoBody) Fault() *soap.Fault { return b.Fault_ } - -func RetrieveVgpuDeviceInfo(ctx context.Context, r soap.RoundTripper, req *types.RetrieveVgpuDeviceInfo) (*types.RetrieveVgpuDeviceInfoResponse, error) { - var reqBody, resBody RetrieveVgpuDeviceInfoBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RetrieveVgpuProfileInfoBody struct { - Req *types.RetrieveVgpuProfileInfo `xml:"urn:vim25 RetrieveVgpuProfileInfo,omitempty"` - Res *types.RetrieveVgpuProfileInfoResponse `xml:"RetrieveVgpuProfileInfoResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RetrieveVgpuProfileInfoBody) Fault() *soap.Fault { return b.Fault_ } - -func RetrieveVgpuProfileInfo(ctx context.Context, r soap.RoundTripper, req *types.RetrieveVgpuProfileInfo) (*types.RetrieveVgpuProfileInfoResponse, error) { - var reqBody, resBody RetrieveVgpuProfileInfoBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RevertToCurrentSnapshot_TaskBody struct { - Req *types.RevertToCurrentSnapshot_Task `xml:"urn:vim25 RevertToCurrentSnapshot_Task,omitempty"` - Res *types.RevertToCurrentSnapshot_TaskResponse `xml:"RevertToCurrentSnapshot_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RevertToCurrentSnapshot_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func RevertToCurrentSnapshot_Task(ctx context.Context, r soap.RoundTripper, req *types.RevertToCurrentSnapshot_Task) (*types.RevertToCurrentSnapshot_TaskResponse, error) { - var reqBody, resBody RevertToCurrentSnapshot_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RevertToSnapshot_TaskBody struct { - Req *types.RevertToSnapshot_Task `xml:"urn:vim25 RevertToSnapshot_Task,omitempty"` - Res *types.RevertToSnapshot_TaskResponse `xml:"RevertToSnapshot_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RevertToSnapshot_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func RevertToSnapshot_Task(ctx context.Context, r soap.RoundTripper, req *types.RevertToSnapshot_Task) (*types.RevertToSnapshot_TaskResponse, error) { - var reqBody, resBody RevertToSnapshot_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RevertVStorageObject_TaskBody struct { - Req *types.RevertVStorageObject_Task `xml:"urn:vim25 RevertVStorageObject_Task,omitempty"` - Res *types.RevertVStorageObject_TaskResponse `xml:"RevertVStorageObject_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RevertVStorageObject_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func RevertVStorageObject_Task(ctx context.Context, r soap.RoundTripper, req *types.RevertVStorageObject_Task) (*types.RevertVStorageObject_TaskResponse, error) { - var reqBody, resBody RevertVStorageObject_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RewindCollectorBody struct { - Req *types.RewindCollector `xml:"urn:vim25 RewindCollector,omitempty"` - Res *types.RewindCollectorResponse `xml:"RewindCollectorResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RewindCollectorBody) Fault() *soap.Fault { return b.Fault_ } - -func RewindCollector(ctx context.Context, r soap.RoundTripper, req *types.RewindCollector) (*types.RewindCollectorResponse, error) { - var reqBody, resBody RewindCollectorBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RunScheduledTaskBody struct { - Req *types.RunScheduledTask `xml:"urn:vim25 RunScheduledTask,omitempty"` - Res *types.RunScheduledTaskResponse `xml:"RunScheduledTaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RunScheduledTaskBody) Fault() *soap.Fault { return b.Fault_ } - -func RunScheduledTask(ctx context.Context, r soap.RoundTripper, req *types.RunScheduledTask) (*types.RunScheduledTaskResponse, error) { - var reqBody, resBody RunScheduledTaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type RunVsanPhysicalDiskDiagnosticsBody struct { - Req *types.RunVsanPhysicalDiskDiagnostics `xml:"urn:vim25 RunVsanPhysicalDiskDiagnostics,omitempty"` - Res *types.RunVsanPhysicalDiskDiagnosticsResponse `xml:"RunVsanPhysicalDiskDiagnosticsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *RunVsanPhysicalDiskDiagnosticsBody) Fault() *soap.Fault { return b.Fault_ } - -func RunVsanPhysicalDiskDiagnostics(ctx context.Context, r soap.RoundTripper, req *types.RunVsanPhysicalDiskDiagnostics) (*types.RunVsanPhysicalDiskDiagnosticsResponse, error) { - var reqBody, resBody RunVsanPhysicalDiskDiagnosticsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ScanHostPatchV2_TaskBody struct { - Req *types.ScanHostPatchV2_Task `xml:"urn:vim25 ScanHostPatchV2_Task,omitempty"` - Res *types.ScanHostPatchV2_TaskResponse `xml:"ScanHostPatchV2_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ScanHostPatchV2_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func ScanHostPatchV2_Task(ctx context.Context, r soap.RoundTripper, req *types.ScanHostPatchV2_Task) (*types.ScanHostPatchV2_TaskResponse, error) { - var reqBody, resBody ScanHostPatchV2_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ScanHostPatch_TaskBody struct { - Req *types.ScanHostPatch_Task `xml:"urn:vim25 ScanHostPatch_Task,omitempty"` - Res *types.ScanHostPatch_TaskResponse `xml:"ScanHostPatch_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ScanHostPatch_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func ScanHostPatch_Task(ctx context.Context, r soap.RoundTripper, req *types.ScanHostPatch_Task) (*types.ScanHostPatch_TaskResponse, error) { - var reqBody, resBody ScanHostPatch_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ScheduleReconcileDatastoreInventoryBody struct { - Req *types.ScheduleReconcileDatastoreInventory `xml:"urn:vim25 ScheduleReconcileDatastoreInventory,omitempty"` - Res *types.ScheduleReconcileDatastoreInventoryResponse `xml:"ScheduleReconcileDatastoreInventoryResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ScheduleReconcileDatastoreInventoryBody) Fault() *soap.Fault { return b.Fault_ } - -func ScheduleReconcileDatastoreInventory(ctx context.Context, r soap.RoundTripper, req *types.ScheduleReconcileDatastoreInventory) (*types.ScheduleReconcileDatastoreInventoryResponse, error) { - var reqBody, resBody ScheduleReconcileDatastoreInventoryBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type SearchDatastoreSubFolders_TaskBody struct { - Req *types.SearchDatastoreSubFolders_Task `xml:"urn:vim25 SearchDatastoreSubFolders_Task,omitempty"` - Res *types.SearchDatastoreSubFolders_TaskResponse `xml:"SearchDatastoreSubFolders_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *SearchDatastoreSubFolders_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func SearchDatastoreSubFolders_Task(ctx context.Context, r soap.RoundTripper, req *types.SearchDatastoreSubFolders_Task) (*types.SearchDatastoreSubFolders_TaskResponse, error) { - var reqBody, resBody SearchDatastoreSubFolders_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type SearchDatastore_TaskBody struct { - Req *types.SearchDatastore_Task `xml:"urn:vim25 SearchDatastore_Task,omitempty"` - Res *types.SearchDatastore_TaskResponse `xml:"SearchDatastore_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *SearchDatastore_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func SearchDatastore_Task(ctx context.Context, r soap.RoundTripper, req *types.SearchDatastore_Task) (*types.SearchDatastore_TaskResponse, error) { - var reqBody, resBody SearchDatastore_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type SelectActivePartitionBody struct { - Req *types.SelectActivePartition `xml:"urn:vim25 SelectActivePartition,omitempty"` - Res *types.SelectActivePartitionResponse `xml:"SelectActivePartitionResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *SelectActivePartitionBody) Fault() *soap.Fault { return b.Fault_ } - -func SelectActivePartition(ctx context.Context, r soap.RoundTripper, req *types.SelectActivePartition) (*types.SelectActivePartitionResponse, error) { - var reqBody, resBody SelectActivePartitionBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type SelectVnicBody struct { - Req *types.SelectVnic `xml:"urn:vim25 SelectVnic,omitempty"` - Res *types.SelectVnicResponse `xml:"SelectVnicResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *SelectVnicBody) Fault() *soap.Fault { return b.Fault_ } - -func SelectVnic(ctx context.Context, r soap.RoundTripper, req *types.SelectVnic) (*types.SelectVnicResponse, error) { - var reqBody, resBody SelectVnicBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type SelectVnicForNicTypeBody struct { - Req *types.SelectVnicForNicType `xml:"urn:vim25 SelectVnicForNicType,omitempty"` - Res *types.SelectVnicForNicTypeResponse `xml:"SelectVnicForNicTypeResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *SelectVnicForNicTypeBody) Fault() *soap.Fault { return b.Fault_ } - -func SelectVnicForNicType(ctx context.Context, r soap.RoundTripper, req *types.SelectVnicForNicType) (*types.SelectVnicForNicTypeResponse, error) { - var reqBody, resBody SelectVnicForNicTypeBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type SendNMIBody struct { - Req *types.SendNMI `xml:"urn:vim25 SendNMI,omitempty"` - Res *types.SendNMIResponse `xml:"SendNMIResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *SendNMIBody) Fault() *soap.Fault { return b.Fault_ } - -func SendNMI(ctx context.Context, r soap.RoundTripper, req *types.SendNMI) (*types.SendNMIResponse, error) { - var reqBody, resBody SendNMIBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type SendTestNotificationBody struct { - Req *types.SendTestNotification `xml:"urn:vim25 SendTestNotification,omitempty"` - Res *types.SendTestNotificationResponse `xml:"SendTestNotificationResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *SendTestNotificationBody) Fault() *soap.Fault { return b.Fault_ } - -func SendTestNotification(ctx context.Context, r soap.RoundTripper, req *types.SendTestNotification) (*types.SendTestNotificationResponse, error) { - var reqBody, resBody SendTestNotificationBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type SessionIsActiveBody struct { - Req *types.SessionIsActive `xml:"urn:vim25 SessionIsActive,omitempty"` - Res *types.SessionIsActiveResponse `xml:"SessionIsActiveResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *SessionIsActiveBody) Fault() *soap.Fault { return b.Fault_ } - -func SessionIsActive(ctx context.Context, r soap.RoundTripper, req *types.SessionIsActive) (*types.SessionIsActiveResponse, error) { - var reqBody, resBody SessionIsActiveBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type SetCollectorPageSizeBody struct { - Req *types.SetCollectorPageSize `xml:"urn:vim25 SetCollectorPageSize,omitempty"` - Res *types.SetCollectorPageSizeResponse `xml:"SetCollectorPageSizeResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *SetCollectorPageSizeBody) Fault() *soap.Fault { return b.Fault_ } - -func SetCollectorPageSize(ctx context.Context, r soap.RoundTripper, req *types.SetCollectorPageSize) (*types.SetCollectorPageSizeResponse, error) { - var reqBody, resBody SetCollectorPageSizeBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type SetCryptoModeBody struct { - Req *types.SetCryptoMode `xml:"urn:vim25 SetCryptoMode,omitempty"` - Res *types.SetCryptoModeResponse `xml:"SetCryptoModeResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *SetCryptoModeBody) Fault() *soap.Fault { return b.Fault_ } - -func SetCryptoMode(ctx context.Context, r soap.RoundTripper, req *types.SetCryptoMode) (*types.SetCryptoModeResponse, error) { - var reqBody, resBody SetCryptoModeBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type SetDefaultKmsClusterBody struct { - Req *types.SetDefaultKmsCluster `xml:"urn:vim25 SetDefaultKmsCluster,omitempty"` - Res *types.SetDefaultKmsClusterResponse `xml:"SetDefaultKmsClusterResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *SetDefaultKmsClusterBody) Fault() *soap.Fault { return b.Fault_ } - -func SetDefaultKmsCluster(ctx context.Context, r soap.RoundTripper, req *types.SetDefaultKmsCluster) (*types.SetDefaultKmsClusterResponse, error) { - var reqBody, resBody SetDefaultKmsClusterBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type SetDisplayTopologyBody struct { - Req *types.SetDisplayTopology `xml:"urn:vim25 SetDisplayTopology,omitempty"` - Res *types.SetDisplayTopologyResponse `xml:"SetDisplayTopologyResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *SetDisplayTopologyBody) Fault() *soap.Fault { return b.Fault_ } - -func SetDisplayTopology(ctx context.Context, r soap.RoundTripper, req *types.SetDisplayTopology) (*types.SetDisplayTopologyResponse, error) { - var reqBody, resBody SetDisplayTopologyBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type SetEntityPermissionsBody struct { - Req *types.SetEntityPermissions `xml:"urn:vim25 SetEntityPermissions,omitempty"` - Res *types.SetEntityPermissionsResponse `xml:"SetEntityPermissionsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *SetEntityPermissionsBody) Fault() *soap.Fault { return b.Fault_ } - -func SetEntityPermissions(ctx context.Context, r soap.RoundTripper, req *types.SetEntityPermissions) (*types.SetEntityPermissionsResponse, error) { - var reqBody, resBody SetEntityPermissionsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type SetExtensionCertificateBody struct { - Req *types.SetExtensionCertificate `xml:"urn:vim25 SetExtensionCertificate,omitempty"` - Res *types.SetExtensionCertificateResponse `xml:"SetExtensionCertificateResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *SetExtensionCertificateBody) Fault() *soap.Fault { return b.Fault_ } - -func SetExtensionCertificate(ctx context.Context, r soap.RoundTripper, req *types.SetExtensionCertificate) (*types.SetExtensionCertificateResponse, error) { - var reqBody, resBody SetExtensionCertificateBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type SetFieldBody struct { - Req *types.SetField `xml:"urn:vim25 SetField,omitempty"` - Res *types.SetFieldResponse `xml:"SetFieldResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *SetFieldBody) Fault() *soap.Fault { return b.Fault_ } - -func SetField(ctx context.Context, r soap.RoundTripper, req *types.SetField) (*types.SetFieldResponse, error) { - var reqBody, resBody SetFieldBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type SetLicenseEditionBody struct { - Req *types.SetLicenseEdition `xml:"urn:vim25 SetLicenseEdition,omitempty"` - Res *types.SetLicenseEditionResponse `xml:"SetLicenseEditionResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *SetLicenseEditionBody) Fault() *soap.Fault { return b.Fault_ } - -func SetLicenseEdition(ctx context.Context, r soap.RoundTripper, req *types.SetLicenseEdition) (*types.SetLicenseEditionResponse, error) { - var reqBody, resBody SetLicenseEditionBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type SetLocaleBody struct { - Req *types.SetLocale `xml:"urn:vim25 SetLocale,omitempty"` - Res *types.SetLocaleResponse `xml:"SetLocaleResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *SetLocaleBody) Fault() *soap.Fault { return b.Fault_ } - -func SetLocale(ctx context.Context, r soap.RoundTripper, req *types.SetLocale) (*types.SetLocaleResponse, error) { - var reqBody, resBody SetLocaleBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type SetMaxQueueDepthBody struct { - Req *types.SetMaxQueueDepth `xml:"urn:vim25 SetMaxQueueDepth,omitempty"` - Res *types.SetMaxQueueDepthResponse `xml:"SetMaxQueueDepthResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *SetMaxQueueDepthBody) Fault() *soap.Fault { return b.Fault_ } - -func SetMaxQueueDepth(ctx context.Context, r soap.RoundTripper, req *types.SetMaxQueueDepth) (*types.SetMaxQueueDepthResponse, error) { - var reqBody, resBody SetMaxQueueDepthBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type SetMultipathLunPolicyBody struct { - Req *types.SetMultipathLunPolicy `xml:"urn:vim25 SetMultipathLunPolicy,omitempty"` - Res *types.SetMultipathLunPolicyResponse `xml:"SetMultipathLunPolicyResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *SetMultipathLunPolicyBody) Fault() *soap.Fault { return b.Fault_ } - -func SetMultipathLunPolicy(ctx context.Context, r soap.RoundTripper, req *types.SetMultipathLunPolicy) (*types.SetMultipathLunPolicyResponse, error) { - var reqBody, resBody SetMultipathLunPolicyBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type SetNFSUserBody struct { - Req *types.SetNFSUser `xml:"urn:vim25 SetNFSUser,omitempty"` - Res *types.SetNFSUserResponse `xml:"SetNFSUserResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *SetNFSUserBody) Fault() *soap.Fault { return b.Fault_ } - -func SetNFSUser(ctx context.Context, r soap.RoundTripper, req *types.SetNFSUser) (*types.SetNFSUserResponse, error) { - var reqBody, resBody SetNFSUserBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type SetPublicKeyBody struct { - Req *types.SetPublicKey `xml:"urn:vim25 SetPublicKey,omitempty"` - Res *types.SetPublicKeyResponse `xml:"SetPublicKeyResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *SetPublicKeyBody) Fault() *soap.Fault { return b.Fault_ } - -func SetPublicKey(ctx context.Context, r soap.RoundTripper, req *types.SetPublicKey) (*types.SetPublicKeyResponse, error) { - var reqBody, resBody SetPublicKeyBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type SetRegistryValueInGuestBody struct { - Req *types.SetRegistryValueInGuest `xml:"urn:vim25 SetRegistryValueInGuest,omitempty"` - Res *types.SetRegistryValueInGuestResponse `xml:"SetRegistryValueInGuestResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *SetRegistryValueInGuestBody) Fault() *soap.Fault { return b.Fault_ } - -func SetRegistryValueInGuest(ctx context.Context, r soap.RoundTripper, req *types.SetRegistryValueInGuest) (*types.SetRegistryValueInGuestResponse, error) { - var reqBody, resBody SetRegistryValueInGuestBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type SetScreenResolutionBody struct { - Req *types.SetScreenResolution `xml:"urn:vim25 SetScreenResolution,omitempty"` - Res *types.SetScreenResolutionResponse `xml:"SetScreenResolutionResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *SetScreenResolutionBody) Fault() *soap.Fault { return b.Fault_ } - -func SetScreenResolution(ctx context.Context, r soap.RoundTripper, req *types.SetScreenResolution) (*types.SetScreenResolutionResponse, error) { - var reqBody, resBody SetScreenResolutionBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type SetTaskDescriptionBody struct { - Req *types.SetTaskDescription `xml:"urn:vim25 SetTaskDescription,omitempty"` - Res *types.SetTaskDescriptionResponse `xml:"SetTaskDescriptionResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *SetTaskDescriptionBody) Fault() *soap.Fault { return b.Fault_ } - -func SetTaskDescription(ctx context.Context, r soap.RoundTripper, req *types.SetTaskDescription) (*types.SetTaskDescriptionResponse, error) { - var reqBody, resBody SetTaskDescriptionBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type SetTaskStateBody struct { - Req *types.SetTaskState `xml:"urn:vim25 SetTaskState,omitempty"` - Res *types.SetTaskStateResponse `xml:"SetTaskStateResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *SetTaskStateBody) Fault() *soap.Fault { return b.Fault_ } - -func SetTaskState(ctx context.Context, r soap.RoundTripper, req *types.SetTaskState) (*types.SetTaskStateResponse, error) { - var reqBody, resBody SetTaskStateBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type SetVStorageObjectControlFlagsBody struct { - Req *types.SetVStorageObjectControlFlags `xml:"urn:vim25 SetVStorageObjectControlFlags,omitempty"` - Res *types.SetVStorageObjectControlFlagsResponse `xml:"SetVStorageObjectControlFlagsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *SetVStorageObjectControlFlagsBody) Fault() *soap.Fault { return b.Fault_ } - -func SetVStorageObjectControlFlags(ctx context.Context, r soap.RoundTripper, req *types.SetVStorageObjectControlFlags) (*types.SetVStorageObjectControlFlagsResponse, error) { - var reqBody, resBody SetVStorageObjectControlFlagsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type SetVirtualDiskUuidBody struct { - Req *types.SetVirtualDiskUuid `xml:"urn:vim25 SetVirtualDiskUuid,omitempty"` - Res *types.SetVirtualDiskUuidResponse `xml:"SetVirtualDiskUuidResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *SetVirtualDiskUuidBody) Fault() *soap.Fault { return b.Fault_ } - -func SetVirtualDiskUuid(ctx context.Context, r soap.RoundTripper, req *types.SetVirtualDiskUuid) (*types.SetVirtualDiskUuidResponse, error) { - var reqBody, resBody SetVirtualDiskUuidBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ShrinkVirtualDisk_TaskBody struct { - Req *types.ShrinkVirtualDisk_Task `xml:"urn:vim25 ShrinkVirtualDisk_Task,omitempty"` - Res *types.ShrinkVirtualDisk_TaskResponse `xml:"ShrinkVirtualDisk_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ShrinkVirtualDisk_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func ShrinkVirtualDisk_Task(ctx context.Context, r soap.RoundTripper, req *types.ShrinkVirtualDisk_Task) (*types.ShrinkVirtualDisk_TaskResponse, error) { - var reqBody, resBody ShrinkVirtualDisk_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ShutdownGuestBody struct { - Req *types.ShutdownGuest `xml:"urn:vim25 ShutdownGuest,omitempty"` - Res *types.ShutdownGuestResponse `xml:"ShutdownGuestResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ShutdownGuestBody) Fault() *soap.Fault { return b.Fault_ } - -func ShutdownGuest(ctx context.Context, r soap.RoundTripper, req *types.ShutdownGuest) (*types.ShutdownGuestResponse, error) { - var reqBody, resBody ShutdownGuestBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ShutdownHost_TaskBody struct { - Req *types.ShutdownHost_Task `xml:"urn:vim25 ShutdownHost_Task,omitempty"` - Res *types.ShutdownHost_TaskResponse `xml:"ShutdownHost_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ShutdownHost_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func ShutdownHost_Task(ctx context.Context, r soap.RoundTripper, req *types.ShutdownHost_Task) (*types.ShutdownHost_TaskResponse, error) { - var reqBody, resBody ShutdownHost_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type StageHostPatch_TaskBody struct { - Req *types.StageHostPatch_Task `xml:"urn:vim25 StageHostPatch_Task,omitempty"` - Res *types.StageHostPatch_TaskResponse `xml:"StageHostPatch_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *StageHostPatch_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func StageHostPatch_Task(ctx context.Context, r soap.RoundTripper, req *types.StageHostPatch_Task) (*types.StageHostPatch_TaskResponse, error) { - var reqBody, resBody StageHostPatch_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type StampAllRulesWithUuid_TaskBody struct { - Req *types.StampAllRulesWithUuid_Task `xml:"urn:vim25 StampAllRulesWithUuid_Task,omitempty"` - Res *types.StampAllRulesWithUuid_TaskResponse `xml:"StampAllRulesWithUuid_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *StampAllRulesWithUuid_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func StampAllRulesWithUuid_Task(ctx context.Context, r soap.RoundTripper, req *types.StampAllRulesWithUuid_Task) (*types.StampAllRulesWithUuid_TaskResponse, error) { - var reqBody, resBody StampAllRulesWithUuid_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type StandbyGuestBody struct { - Req *types.StandbyGuest `xml:"urn:vim25 StandbyGuest,omitempty"` - Res *types.StandbyGuestResponse `xml:"StandbyGuestResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *StandbyGuestBody) Fault() *soap.Fault { return b.Fault_ } - -func StandbyGuest(ctx context.Context, r soap.RoundTripper, req *types.StandbyGuest) (*types.StandbyGuestResponse, error) { - var reqBody, resBody StandbyGuestBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type StartGuestNetwork_TaskBody struct { - Req *types.StartGuestNetwork_Task `xml:"urn:vim25 StartGuestNetwork_Task,omitempty"` - Res *types.StartGuestNetwork_TaskResponse `xml:"StartGuestNetwork_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *StartGuestNetwork_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func StartGuestNetwork_Task(ctx context.Context, r soap.RoundTripper, req *types.StartGuestNetwork_Task) (*types.StartGuestNetwork_TaskResponse, error) { - var reqBody, resBody StartGuestNetwork_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type StartProgramInGuestBody struct { - Req *types.StartProgramInGuest `xml:"urn:vim25 StartProgramInGuest,omitempty"` - Res *types.StartProgramInGuestResponse `xml:"StartProgramInGuestResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *StartProgramInGuestBody) Fault() *soap.Fault { return b.Fault_ } - -func StartProgramInGuest(ctx context.Context, r soap.RoundTripper, req *types.StartProgramInGuest) (*types.StartProgramInGuestResponse, error) { - var reqBody, resBody StartProgramInGuestBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type StartRecording_TaskBody struct { - Req *types.StartRecording_Task `xml:"urn:vim25 StartRecording_Task,omitempty"` - Res *types.StartRecording_TaskResponse `xml:"StartRecording_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *StartRecording_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func StartRecording_Task(ctx context.Context, r soap.RoundTripper, req *types.StartRecording_Task) (*types.StartRecording_TaskResponse, error) { - var reqBody, resBody StartRecording_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type StartReplaying_TaskBody struct { - Req *types.StartReplaying_Task `xml:"urn:vim25 StartReplaying_Task,omitempty"` - Res *types.StartReplaying_TaskResponse `xml:"StartReplaying_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *StartReplaying_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func StartReplaying_Task(ctx context.Context, r soap.RoundTripper, req *types.StartReplaying_Task) (*types.StartReplaying_TaskResponse, error) { - var reqBody, resBody StartReplaying_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type StartServiceBody struct { - Req *types.StartService `xml:"urn:vim25 StartService,omitempty"` - Res *types.StartServiceResponse `xml:"StartServiceResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *StartServiceBody) Fault() *soap.Fault { return b.Fault_ } - -func StartService(ctx context.Context, r soap.RoundTripper, req *types.StartService) (*types.StartServiceResponse, error) { - var reqBody, resBody StartServiceBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type StopRecording_TaskBody struct { - Req *types.StopRecording_Task `xml:"urn:vim25 StopRecording_Task,omitempty"` - Res *types.StopRecording_TaskResponse `xml:"StopRecording_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *StopRecording_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func StopRecording_Task(ctx context.Context, r soap.RoundTripper, req *types.StopRecording_Task) (*types.StopRecording_TaskResponse, error) { - var reqBody, resBody StopRecording_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type StopReplaying_TaskBody struct { - Req *types.StopReplaying_Task `xml:"urn:vim25 StopReplaying_Task,omitempty"` - Res *types.StopReplaying_TaskResponse `xml:"StopReplaying_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *StopReplaying_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func StopReplaying_Task(ctx context.Context, r soap.RoundTripper, req *types.StopReplaying_Task) (*types.StopReplaying_TaskResponse, error) { - var reqBody, resBody StopReplaying_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type StopServiceBody struct { - Req *types.StopService `xml:"urn:vim25 StopService,omitempty"` - Res *types.StopServiceResponse `xml:"StopServiceResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *StopServiceBody) Fault() *soap.Fault { return b.Fault_ } - -func StopService(ctx context.Context, r soap.RoundTripper, req *types.StopService) (*types.StopServiceResponse, error) { - var reqBody, resBody StopServiceBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type SuspendVApp_TaskBody struct { - Req *types.SuspendVApp_Task `xml:"urn:vim25 SuspendVApp_Task,omitempty"` - Res *types.SuspendVApp_TaskResponse `xml:"SuspendVApp_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *SuspendVApp_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func SuspendVApp_Task(ctx context.Context, r soap.RoundTripper, req *types.SuspendVApp_Task) (*types.SuspendVApp_TaskResponse, error) { - var reqBody, resBody SuspendVApp_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type SuspendVM_TaskBody struct { - Req *types.SuspendVM_Task `xml:"urn:vim25 SuspendVM_Task,omitempty"` - Res *types.SuspendVM_TaskResponse `xml:"SuspendVM_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *SuspendVM_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func SuspendVM_Task(ctx context.Context, r soap.RoundTripper, req *types.SuspendVM_Task) (*types.SuspendVM_TaskResponse, error) { - var reqBody, resBody SuspendVM_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type TerminateFaultTolerantVM_TaskBody struct { - Req *types.TerminateFaultTolerantVM_Task `xml:"urn:vim25 TerminateFaultTolerantVM_Task,omitempty"` - Res *types.TerminateFaultTolerantVM_TaskResponse `xml:"TerminateFaultTolerantVM_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *TerminateFaultTolerantVM_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func TerminateFaultTolerantVM_Task(ctx context.Context, r soap.RoundTripper, req *types.TerminateFaultTolerantVM_Task) (*types.TerminateFaultTolerantVM_TaskResponse, error) { - var reqBody, resBody TerminateFaultTolerantVM_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type TerminateProcessInGuestBody struct { - Req *types.TerminateProcessInGuest `xml:"urn:vim25 TerminateProcessInGuest,omitempty"` - Res *types.TerminateProcessInGuestResponse `xml:"TerminateProcessInGuestResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *TerminateProcessInGuestBody) Fault() *soap.Fault { return b.Fault_ } - -func TerminateProcessInGuest(ctx context.Context, r soap.RoundTripper, req *types.TerminateProcessInGuest) (*types.TerminateProcessInGuestResponse, error) { - var reqBody, resBody TerminateProcessInGuestBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type TerminateSessionBody struct { - Req *types.TerminateSession `xml:"urn:vim25 TerminateSession,omitempty"` - Res *types.TerminateSessionResponse `xml:"TerminateSessionResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *TerminateSessionBody) Fault() *soap.Fault { return b.Fault_ } - -func TerminateSession(ctx context.Context, r soap.RoundTripper, req *types.TerminateSession) (*types.TerminateSessionResponse, error) { - var reqBody, resBody TerminateSessionBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type TerminateVMBody struct { - Req *types.TerminateVM `xml:"urn:vim25 TerminateVM,omitempty"` - Res *types.TerminateVMResponse `xml:"TerminateVMResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *TerminateVMBody) Fault() *soap.Fault { return b.Fault_ } - -func TerminateVM(ctx context.Context, r soap.RoundTripper, req *types.TerminateVM) (*types.TerminateVMResponse, error) { - var reqBody, resBody TerminateVMBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type TestTimeServiceBody struct { - Req *types.TestTimeService `xml:"urn:vim25 TestTimeService,omitempty"` - Res *types.TestTimeServiceResponse `xml:"TestTimeServiceResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *TestTimeServiceBody) Fault() *soap.Fault { return b.Fault_ } - -func TestTimeService(ctx context.Context, r soap.RoundTripper, req *types.TestTimeService) (*types.TestTimeServiceResponse, error) { - var reqBody, resBody TestTimeServiceBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type TurnDiskLocatorLedOff_TaskBody struct { - Req *types.TurnDiskLocatorLedOff_Task `xml:"urn:vim25 TurnDiskLocatorLedOff_Task,omitempty"` - Res *types.TurnDiskLocatorLedOff_TaskResponse `xml:"TurnDiskLocatorLedOff_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *TurnDiskLocatorLedOff_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func TurnDiskLocatorLedOff_Task(ctx context.Context, r soap.RoundTripper, req *types.TurnDiskLocatorLedOff_Task) (*types.TurnDiskLocatorLedOff_TaskResponse, error) { - var reqBody, resBody TurnDiskLocatorLedOff_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type TurnDiskLocatorLedOn_TaskBody struct { - Req *types.TurnDiskLocatorLedOn_Task `xml:"urn:vim25 TurnDiskLocatorLedOn_Task,omitempty"` - Res *types.TurnDiskLocatorLedOn_TaskResponse `xml:"TurnDiskLocatorLedOn_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *TurnDiskLocatorLedOn_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func TurnDiskLocatorLedOn_Task(ctx context.Context, r soap.RoundTripper, req *types.TurnDiskLocatorLedOn_Task) (*types.TurnDiskLocatorLedOn_TaskResponse, error) { - var reqBody, resBody TurnDiskLocatorLedOn_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type TurnOffFaultToleranceForVM_TaskBody struct { - Req *types.TurnOffFaultToleranceForVM_Task `xml:"urn:vim25 TurnOffFaultToleranceForVM_Task,omitempty"` - Res *types.TurnOffFaultToleranceForVM_TaskResponse `xml:"TurnOffFaultToleranceForVM_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *TurnOffFaultToleranceForVM_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func TurnOffFaultToleranceForVM_Task(ctx context.Context, r soap.RoundTripper, req *types.TurnOffFaultToleranceForVM_Task) (*types.TurnOffFaultToleranceForVM_TaskResponse, error) { - var reqBody, resBody TurnOffFaultToleranceForVM_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UnassignUserFromGroupBody struct { - Req *types.UnassignUserFromGroup `xml:"urn:vim25 UnassignUserFromGroup,omitempty"` - Res *types.UnassignUserFromGroupResponse `xml:"UnassignUserFromGroupResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UnassignUserFromGroupBody) Fault() *soap.Fault { return b.Fault_ } - -func UnassignUserFromGroup(ctx context.Context, r soap.RoundTripper, req *types.UnassignUserFromGroup) (*types.UnassignUserFromGroupResponse, error) { - var reqBody, resBody UnassignUserFromGroupBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UnbindVnicBody struct { - Req *types.UnbindVnic `xml:"urn:vim25 UnbindVnic,omitempty"` - Res *types.UnbindVnicResponse `xml:"UnbindVnicResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UnbindVnicBody) Fault() *soap.Fault { return b.Fault_ } - -func UnbindVnic(ctx context.Context, r soap.RoundTripper, req *types.UnbindVnic) (*types.UnbindVnicResponse, error) { - var reqBody, resBody UnbindVnicBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UninstallHostPatch_TaskBody struct { - Req *types.UninstallHostPatch_Task `xml:"urn:vim25 UninstallHostPatch_Task,omitempty"` - Res *types.UninstallHostPatch_TaskResponse `xml:"UninstallHostPatch_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UninstallHostPatch_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func UninstallHostPatch_Task(ctx context.Context, r soap.RoundTripper, req *types.UninstallHostPatch_Task) (*types.UninstallHostPatch_TaskResponse, error) { - var reqBody, resBody UninstallHostPatch_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UninstallIoFilter_TaskBody struct { - Req *types.UninstallIoFilter_Task `xml:"urn:vim25 UninstallIoFilter_Task,omitempty"` - Res *types.UninstallIoFilter_TaskResponse `xml:"UninstallIoFilter_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UninstallIoFilter_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func UninstallIoFilter_Task(ctx context.Context, r soap.RoundTripper, req *types.UninstallIoFilter_Task) (*types.UninstallIoFilter_TaskResponse, error) { - var reqBody, resBody UninstallIoFilter_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UninstallServiceBody struct { - Req *types.UninstallService `xml:"urn:vim25 UninstallService,omitempty"` - Res *types.UninstallServiceResponse `xml:"UninstallServiceResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UninstallServiceBody) Fault() *soap.Fault { return b.Fault_ } - -func UninstallService(ctx context.Context, r soap.RoundTripper, req *types.UninstallService) (*types.UninstallServiceResponse, error) { - var reqBody, resBody UninstallServiceBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UnmapVmfsVolumeEx_TaskBody struct { - Req *types.UnmapVmfsVolumeEx_Task `xml:"urn:vim25 UnmapVmfsVolumeEx_Task,omitempty"` - Res *types.UnmapVmfsVolumeEx_TaskResponse `xml:"UnmapVmfsVolumeEx_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UnmapVmfsVolumeEx_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func UnmapVmfsVolumeEx_Task(ctx context.Context, r soap.RoundTripper, req *types.UnmapVmfsVolumeEx_Task) (*types.UnmapVmfsVolumeEx_TaskResponse, error) { - var reqBody, resBody UnmapVmfsVolumeEx_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UnmarkServiceProviderEntitiesBody struct { - Req *types.UnmarkServiceProviderEntities `xml:"urn:vim25 UnmarkServiceProviderEntities,omitempty"` - Res *types.UnmarkServiceProviderEntitiesResponse `xml:"UnmarkServiceProviderEntitiesResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UnmarkServiceProviderEntitiesBody) Fault() *soap.Fault { return b.Fault_ } - -func UnmarkServiceProviderEntities(ctx context.Context, r soap.RoundTripper, req *types.UnmarkServiceProviderEntities) (*types.UnmarkServiceProviderEntitiesResponse, error) { - var reqBody, resBody UnmarkServiceProviderEntitiesBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UnmountDiskMapping_TaskBody struct { - Req *types.UnmountDiskMapping_Task `xml:"urn:vim25 UnmountDiskMapping_Task,omitempty"` - Res *types.UnmountDiskMapping_TaskResponse `xml:"UnmountDiskMapping_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UnmountDiskMapping_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func UnmountDiskMapping_Task(ctx context.Context, r soap.RoundTripper, req *types.UnmountDiskMapping_Task) (*types.UnmountDiskMapping_TaskResponse, error) { - var reqBody, resBody UnmountDiskMapping_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UnmountForceMountedVmfsVolumeBody struct { - Req *types.UnmountForceMountedVmfsVolume `xml:"urn:vim25 UnmountForceMountedVmfsVolume,omitempty"` - Res *types.UnmountForceMountedVmfsVolumeResponse `xml:"UnmountForceMountedVmfsVolumeResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UnmountForceMountedVmfsVolumeBody) Fault() *soap.Fault { return b.Fault_ } - -func UnmountForceMountedVmfsVolume(ctx context.Context, r soap.RoundTripper, req *types.UnmountForceMountedVmfsVolume) (*types.UnmountForceMountedVmfsVolumeResponse, error) { - var reqBody, resBody UnmountForceMountedVmfsVolumeBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UnmountToolsInstallerBody struct { - Req *types.UnmountToolsInstaller `xml:"urn:vim25 UnmountToolsInstaller,omitempty"` - Res *types.UnmountToolsInstallerResponse `xml:"UnmountToolsInstallerResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UnmountToolsInstallerBody) Fault() *soap.Fault { return b.Fault_ } - -func UnmountToolsInstaller(ctx context.Context, r soap.RoundTripper, req *types.UnmountToolsInstaller) (*types.UnmountToolsInstallerResponse, error) { - var reqBody, resBody UnmountToolsInstallerBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UnmountVffsVolumeBody struct { - Req *types.UnmountVffsVolume `xml:"urn:vim25 UnmountVffsVolume,omitempty"` - Res *types.UnmountVffsVolumeResponse `xml:"UnmountVffsVolumeResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UnmountVffsVolumeBody) Fault() *soap.Fault { return b.Fault_ } - -func UnmountVffsVolume(ctx context.Context, r soap.RoundTripper, req *types.UnmountVffsVolume) (*types.UnmountVffsVolumeResponse, error) { - var reqBody, resBody UnmountVffsVolumeBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UnmountVmfsVolumeBody struct { - Req *types.UnmountVmfsVolume `xml:"urn:vim25 UnmountVmfsVolume,omitempty"` - Res *types.UnmountVmfsVolumeResponse `xml:"UnmountVmfsVolumeResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UnmountVmfsVolumeBody) Fault() *soap.Fault { return b.Fault_ } - -func UnmountVmfsVolume(ctx context.Context, r soap.RoundTripper, req *types.UnmountVmfsVolume) (*types.UnmountVmfsVolumeResponse, error) { - var reqBody, resBody UnmountVmfsVolumeBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UnmountVmfsVolumeEx_TaskBody struct { - Req *types.UnmountVmfsVolumeEx_Task `xml:"urn:vim25 UnmountVmfsVolumeEx_Task,omitempty"` - Res *types.UnmountVmfsVolumeEx_TaskResponse `xml:"UnmountVmfsVolumeEx_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UnmountVmfsVolumeEx_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func UnmountVmfsVolumeEx_Task(ctx context.Context, r soap.RoundTripper, req *types.UnmountVmfsVolumeEx_Task) (*types.UnmountVmfsVolumeEx_TaskResponse, error) { - var reqBody, resBody UnmountVmfsVolumeEx_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UnregisterAndDestroy_TaskBody struct { - Req *types.UnregisterAndDestroy_Task `xml:"urn:vim25 UnregisterAndDestroy_Task,omitempty"` - Res *types.UnregisterAndDestroy_TaskResponse `xml:"UnregisterAndDestroy_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UnregisterAndDestroy_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func UnregisterAndDestroy_Task(ctx context.Context, r soap.RoundTripper, req *types.UnregisterAndDestroy_Task) (*types.UnregisterAndDestroy_TaskResponse, error) { - var reqBody, resBody UnregisterAndDestroy_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UnregisterExtensionBody struct { - Req *types.UnregisterExtension `xml:"urn:vim25 UnregisterExtension,omitempty"` - Res *types.UnregisterExtensionResponse `xml:"UnregisterExtensionResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UnregisterExtensionBody) Fault() *soap.Fault { return b.Fault_ } - -func UnregisterExtension(ctx context.Context, r soap.RoundTripper, req *types.UnregisterExtension) (*types.UnregisterExtensionResponse, error) { - var reqBody, resBody UnregisterExtensionBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UnregisterHealthUpdateProviderBody struct { - Req *types.UnregisterHealthUpdateProvider `xml:"urn:vim25 UnregisterHealthUpdateProvider,omitempty"` - Res *types.UnregisterHealthUpdateProviderResponse `xml:"UnregisterHealthUpdateProviderResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UnregisterHealthUpdateProviderBody) Fault() *soap.Fault { return b.Fault_ } - -func UnregisterHealthUpdateProvider(ctx context.Context, r soap.RoundTripper, req *types.UnregisterHealthUpdateProvider) (*types.UnregisterHealthUpdateProviderResponse, error) { - var reqBody, resBody UnregisterHealthUpdateProviderBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UnregisterKmsClusterBody struct { - Req *types.UnregisterKmsCluster `xml:"urn:vim25 UnregisterKmsCluster,omitempty"` - Res *types.UnregisterKmsClusterResponse `xml:"UnregisterKmsClusterResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UnregisterKmsClusterBody) Fault() *soap.Fault { return b.Fault_ } - -func UnregisterKmsCluster(ctx context.Context, r soap.RoundTripper, req *types.UnregisterKmsCluster) (*types.UnregisterKmsClusterResponse, error) { - var reqBody, resBody UnregisterKmsClusterBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UnregisterVMBody struct { - Req *types.UnregisterVM `xml:"urn:vim25 UnregisterVM,omitempty"` - Res *types.UnregisterVMResponse `xml:"UnregisterVMResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UnregisterVMBody) Fault() *soap.Fault { return b.Fault_ } - -func UnregisterVM(ctx context.Context, r soap.RoundTripper, req *types.UnregisterVM) (*types.UnregisterVMResponse, error) { - var reqBody, resBody UnregisterVMBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateAnswerFile_TaskBody struct { - Req *types.UpdateAnswerFile_Task `xml:"urn:vim25 UpdateAnswerFile_Task,omitempty"` - Res *types.UpdateAnswerFile_TaskResponse `xml:"UpdateAnswerFile_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateAnswerFile_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateAnswerFile_Task(ctx context.Context, r soap.RoundTripper, req *types.UpdateAnswerFile_Task) (*types.UpdateAnswerFile_TaskResponse, error) { - var reqBody, resBody UpdateAnswerFile_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateAssignableHardwareConfigBody struct { - Req *types.UpdateAssignableHardwareConfig `xml:"urn:vim25 UpdateAssignableHardwareConfig,omitempty"` - Res *types.UpdateAssignableHardwareConfigResponse `xml:"UpdateAssignableHardwareConfigResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateAssignableHardwareConfigBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateAssignableHardwareConfig(ctx context.Context, r soap.RoundTripper, req *types.UpdateAssignableHardwareConfig) (*types.UpdateAssignableHardwareConfigResponse, error) { - var reqBody, resBody UpdateAssignableHardwareConfigBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateAssignedLicenseBody struct { - Req *types.UpdateAssignedLicense `xml:"urn:vim25 UpdateAssignedLicense,omitempty"` - Res *types.UpdateAssignedLicenseResponse `xml:"UpdateAssignedLicenseResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateAssignedLicenseBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateAssignedLicense(ctx context.Context, r soap.RoundTripper, req *types.UpdateAssignedLicense) (*types.UpdateAssignedLicenseResponse, error) { - var reqBody, resBody UpdateAssignedLicenseBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateAuthorizationRoleBody struct { - Req *types.UpdateAuthorizationRole `xml:"urn:vim25 UpdateAuthorizationRole,omitempty"` - Res *types.UpdateAuthorizationRoleResponse `xml:"UpdateAuthorizationRoleResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateAuthorizationRoleBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateAuthorizationRole(ctx context.Context, r soap.RoundTripper, req *types.UpdateAuthorizationRole) (*types.UpdateAuthorizationRoleResponse, error) { - var reqBody, resBody UpdateAuthorizationRoleBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateBootDeviceBody struct { - Req *types.UpdateBootDevice `xml:"urn:vim25 UpdateBootDevice,omitempty"` - Res *types.UpdateBootDeviceResponse `xml:"UpdateBootDeviceResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateBootDeviceBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateBootDevice(ctx context.Context, r soap.RoundTripper, req *types.UpdateBootDevice) (*types.UpdateBootDeviceResponse, error) { - var reqBody, resBody UpdateBootDeviceBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateChildResourceConfigurationBody struct { - Req *types.UpdateChildResourceConfiguration `xml:"urn:vim25 UpdateChildResourceConfiguration,omitempty"` - Res *types.UpdateChildResourceConfigurationResponse `xml:"UpdateChildResourceConfigurationResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateChildResourceConfigurationBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateChildResourceConfiguration(ctx context.Context, r soap.RoundTripper, req *types.UpdateChildResourceConfiguration) (*types.UpdateChildResourceConfigurationResponse, error) { - var reqBody, resBody UpdateChildResourceConfigurationBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateClusterProfileBody struct { - Req *types.UpdateClusterProfile `xml:"urn:vim25 UpdateClusterProfile,omitempty"` - Res *types.UpdateClusterProfileResponse `xml:"UpdateClusterProfileResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateClusterProfileBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateClusterProfile(ctx context.Context, r soap.RoundTripper, req *types.UpdateClusterProfile) (*types.UpdateClusterProfileResponse, error) { - var reqBody, resBody UpdateClusterProfileBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateConfigBody struct { - Req *types.UpdateConfig `xml:"urn:vim25 UpdateConfig,omitempty"` - Res *types.UpdateConfigResponse `xml:"UpdateConfigResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateConfigBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateConfig(ctx context.Context, r soap.RoundTripper, req *types.UpdateConfig) (*types.UpdateConfigResponse, error) { - var reqBody, resBody UpdateConfigBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateConsoleIpRouteConfigBody struct { - Req *types.UpdateConsoleIpRouteConfig `xml:"urn:vim25 UpdateConsoleIpRouteConfig,omitempty"` - Res *types.UpdateConsoleIpRouteConfigResponse `xml:"UpdateConsoleIpRouteConfigResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateConsoleIpRouteConfigBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateConsoleIpRouteConfig(ctx context.Context, r soap.RoundTripper, req *types.UpdateConsoleIpRouteConfig) (*types.UpdateConsoleIpRouteConfigResponse, error) { - var reqBody, resBody UpdateConsoleIpRouteConfigBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateCounterLevelMappingBody struct { - Req *types.UpdateCounterLevelMapping `xml:"urn:vim25 UpdateCounterLevelMapping,omitempty"` - Res *types.UpdateCounterLevelMappingResponse `xml:"UpdateCounterLevelMappingResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateCounterLevelMappingBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateCounterLevelMapping(ctx context.Context, r soap.RoundTripper, req *types.UpdateCounterLevelMapping) (*types.UpdateCounterLevelMappingResponse, error) { - var reqBody, resBody UpdateCounterLevelMappingBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateDVSHealthCheckConfig_TaskBody struct { - Req *types.UpdateDVSHealthCheckConfig_Task `xml:"urn:vim25 UpdateDVSHealthCheckConfig_Task,omitempty"` - Res *types.UpdateDVSHealthCheckConfig_TaskResponse `xml:"UpdateDVSHealthCheckConfig_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateDVSHealthCheckConfig_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateDVSHealthCheckConfig_Task(ctx context.Context, r soap.RoundTripper, req *types.UpdateDVSHealthCheckConfig_Task) (*types.UpdateDVSHealthCheckConfig_TaskResponse, error) { - var reqBody, resBody UpdateDVSHealthCheckConfig_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateDVSLacpGroupConfig_TaskBody struct { - Req *types.UpdateDVSLacpGroupConfig_Task `xml:"urn:vim25 UpdateDVSLacpGroupConfig_Task,omitempty"` - Res *types.UpdateDVSLacpGroupConfig_TaskResponse `xml:"UpdateDVSLacpGroupConfig_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateDVSLacpGroupConfig_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateDVSLacpGroupConfig_Task(ctx context.Context, r soap.RoundTripper, req *types.UpdateDVSLacpGroupConfig_Task) (*types.UpdateDVSLacpGroupConfig_TaskResponse, error) { - var reqBody, resBody UpdateDVSLacpGroupConfig_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateDateTimeBody struct { - Req *types.UpdateDateTime `xml:"urn:vim25 UpdateDateTime,omitempty"` - Res *types.UpdateDateTimeResponse `xml:"UpdateDateTimeResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateDateTimeBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateDateTime(ctx context.Context, r soap.RoundTripper, req *types.UpdateDateTime) (*types.UpdateDateTimeResponse, error) { - var reqBody, resBody UpdateDateTimeBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateDateTimeConfigBody struct { - Req *types.UpdateDateTimeConfig `xml:"urn:vim25 UpdateDateTimeConfig,omitempty"` - Res *types.UpdateDateTimeConfigResponse `xml:"UpdateDateTimeConfigResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateDateTimeConfigBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateDateTimeConfig(ctx context.Context, r soap.RoundTripper, req *types.UpdateDateTimeConfig) (*types.UpdateDateTimeConfigResponse, error) { - var reqBody, resBody UpdateDateTimeConfigBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateDefaultPolicyBody struct { - Req *types.UpdateDefaultPolicy `xml:"urn:vim25 UpdateDefaultPolicy,omitempty"` - Res *types.UpdateDefaultPolicyResponse `xml:"UpdateDefaultPolicyResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateDefaultPolicyBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateDefaultPolicy(ctx context.Context, r soap.RoundTripper, req *types.UpdateDefaultPolicy) (*types.UpdateDefaultPolicyResponse, error) { - var reqBody, resBody UpdateDefaultPolicyBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateDiskPartitionsBody struct { - Req *types.UpdateDiskPartitions `xml:"urn:vim25 UpdateDiskPartitions,omitempty"` - Res *types.UpdateDiskPartitionsResponse `xml:"UpdateDiskPartitionsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateDiskPartitionsBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateDiskPartitions(ctx context.Context, r soap.RoundTripper, req *types.UpdateDiskPartitions) (*types.UpdateDiskPartitionsResponse, error) { - var reqBody, resBody UpdateDiskPartitionsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateDnsConfigBody struct { - Req *types.UpdateDnsConfig `xml:"urn:vim25 UpdateDnsConfig,omitempty"` - Res *types.UpdateDnsConfigResponse `xml:"UpdateDnsConfigResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateDnsConfigBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateDnsConfig(ctx context.Context, r soap.RoundTripper, req *types.UpdateDnsConfig) (*types.UpdateDnsConfigResponse, error) { - var reqBody, resBody UpdateDnsConfigBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateDvsCapabilityBody struct { - Req *types.UpdateDvsCapability `xml:"urn:vim25 UpdateDvsCapability,omitempty"` - Res *types.UpdateDvsCapabilityResponse `xml:"UpdateDvsCapabilityResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateDvsCapabilityBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateDvsCapability(ctx context.Context, r soap.RoundTripper, req *types.UpdateDvsCapability) (*types.UpdateDvsCapabilityResponse, error) { - var reqBody, resBody UpdateDvsCapabilityBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateExtensionBody struct { - Req *types.UpdateExtension `xml:"urn:vim25 UpdateExtension,omitempty"` - Res *types.UpdateExtensionResponse `xml:"UpdateExtensionResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateExtensionBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateExtension(ctx context.Context, r soap.RoundTripper, req *types.UpdateExtension) (*types.UpdateExtensionResponse, error) { - var reqBody, resBody UpdateExtensionBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateFlagsBody struct { - Req *types.UpdateFlags `xml:"urn:vim25 UpdateFlags,omitempty"` - Res *types.UpdateFlagsResponse `xml:"UpdateFlagsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateFlagsBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateFlags(ctx context.Context, r soap.RoundTripper, req *types.UpdateFlags) (*types.UpdateFlagsResponse, error) { - var reqBody, resBody UpdateFlagsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateGraphicsConfigBody struct { - Req *types.UpdateGraphicsConfig `xml:"urn:vim25 UpdateGraphicsConfig,omitempty"` - Res *types.UpdateGraphicsConfigResponse `xml:"UpdateGraphicsConfigResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateGraphicsConfigBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateGraphicsConfig(ctx context.Context, r soap.RoundTripper, req *types.UpdateGraphicsConfig) (*types.UpdateGraphicsConfigResponse, error) { - var reqBody, resBody UpdateGraphicsConfigBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateHostCustomizations_TaskBody struct { - Req *types.UpdateHostCustomizations_Task `xml:"urn:vim25 UpdateHostCustomizations_Task,omitempty"` - Res *types.UpdateHostCustomizations_TaskResponse `xml:"UpdateHostCustomizations_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateHostCustomizations_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateHostCustomizations_Task(ctx context.Context, r soap.RoundTripper, req *types.UpdateHostCustomizations_Task) (*types.UpdateHostCustomizations_TaskResponse, error) { - var reqBody, resBody UpdateHostCustomizations_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateHostImageAcceptanceLevelBody struct { - Req *types.UpdateHostImageAcceptanceLevel `xml:"urn:vim25 UpdateHostImageAcceptanceLevel,omitempty"` - Res *types.UpdateHostImageAcceptanceLevelResponse `xml:"UpdateHostImageAcceptanceLevelResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateHostImageAcceptanceLevelBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateHostImageAcceptanceLevel(ctx context.Context, r soap.RoundTripper, req *types.UpdateHostImageAcceptanceLevel) (*types.UpdateHostImageAcceptanceLevelResponse, error) { - var reqBody, resBody UpdateHostImageAcceptanceLevelBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateHostProfileBody struct { - Req *types.UpdateHostProfile `xml:"urn:vim25 UpdateHostProfile,omitempty"` - Res *types.UpdateHostProfileResponse `xml:"UpdateHostProfileResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateHostProfileBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateHostProfile(ctx context.Context, r soap.RoundTripper, req *types.UpdateHostProfile) (*types.UpdateHostProfileResponse, error) { - var reqBody, resBody UpdateHostProfileBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateHostSpecificationBody struct { - Req *types.UpdateHostSpecification `xml:"urn:vim25 UpdateHostSpecification,omitempty"` - Res *types.UpdateHostSpecificationResponse `xml:"UpdateHostSpecificationResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateHostSpecificationBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateHostSpecification(ctx context.Context, r soap.RoundTripper, req *types.UpdateHostSpecification) (*types.UpdateHostSpecificationResponse, error) { - var reqBody, resBody UpdateHostSpecificationBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateHostSubSpecificationBody struct { - Req *types.UpdateHostSubSpecification `xml:"urn:vim25 UpdateHostSubSpecification,omitempty"` - Res *types.UpdateHostSubSpecificationResponse `xml:"UpdateHostSubSpecificationResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateHostSubSpecificationBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateHostSubSpecification(ctx context.Context, r soap.RoundTripper, req *types.UpdateHostSubSpecification) (*types.UpdateHostSubSpecificationResponse, error) { - var reqBody, resBody UpdateHostSubSpecificationBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateHppMultipathLunPolicyBody struct { - Req *types.UpdateHppMultipathLunPolicy `xml:"urn:vim25 UpdateHppMultipathLunPolicy,omitempty"` - Res *types.UpdateHppMultipathLunPolicyResponse `xml:"UpdateHppMultipathLunPolicyResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateHppMultipathLunPolicyBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateHppMultipathLunPolicy(ctx context.Context, r soap.RoundTripper, req *types.UpdateHppMultipathLunPolicy) (*types.UpdateHppMultipathLunPolicyResponse, error) { - var reqBody, resBody UpdateHppMultipathLunPolicyBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateInternetScsiAdvancedOptionsBody struct { - Req *types.UpdateInternetScsiAdvancedOptions `xml:"urn:vim25 UpdateInternetScsiAdvancedOptions,omitempty"` - Res *types.UpdateInternetScsiAdvancedOptionsResponse `xml:"UpdateInternetScsiAdvancedOptionsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateInternetScsiAdvancedOptionsBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateInternetScsiAdvancedOptions(ctx context.Context, r soap.RoundTripper, req *types.UpdateInternetScsiAdvancedOptions) (*types.UpdateInternetScsiAdvancedOptionsResponse, error) { - var reqBody, resBody UpdateInternetScsiAdvancedOptionsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateInternetScsiAliasBody struct { - Req *types.UpdateInternetScsiAlias `xml:"urn:vim25 UpdateInternetScsiAlias,omitempty"` - Res *types.UpdateInternetScsiAliasResponse `xml:"UpdateInternetScsiAliasResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateInternetScsiAliasBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateInternetScsiAlias(ctx context.Context, r soap.RoundTripper, req *types.UpdateInternetScsiAlias) (*types.UpdateInternetScsiAliasResponse, error) { - var reqBody, resBody UpdateInternetScsiAliasBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateInternetScsiAuthenticationPropertiesBody struct { - Req *types.UpdateInternetScsiAuthenticationProperties `xml:"urn:vim25 UpdateInternetScsiAuthenticationProperties,omitempty"` - Res *types.UpdateInternetScsiAuthenticationPropertiesResponse `xml:"UpdateInternetScsiAuthenticationPropertiesResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateInternetScsiAuthenticationPropertiesBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateInternetScsiAuthenticationProperties(ctx context.Context, r soap.RoundTripper, req *types.UpdateInternetScsiAuthenticationProperties) (*types.UpdateInternetScsiAuthenticationPropertiesResponse, error) { - var reqBody, resBody UpdateInternetScsiAuthenticationPropertiesBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateInternetScsiDigestPropertiesBody struct { - Req *types.UpdateInternetScsiDigestProperties `xml:"urn:vim25 UpdateInternetScsiDigestProperties,omitempty"` - Res *types.UpdateInternetScsiDigestPropertiesResponse `xml:"UpdateInternetScsiDigestPropertiesResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateInternetScsiDigestPropertiesBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateInternetScsiDigestProperties(ctx context.Context, r soap.RoundTripper, req *types.UpdateInternetScsiDigestProperties) (*types.UpdateInternetScsiDigestPropertiesResponse, error) { - var reqBody, resBody UpdateInternetScsiDigestPropertiesBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateInternetScsiDiscoveryPropertiesBody struct { - Req *types.UpdateInternetScsiDiscoveryProperties `xml:"urn:vim25 UpdateInternetScsiDiscoveryProperties,omitempty"` - Res *types.UpdateInternetScsiDiscoveryPropertiesResponse `xml:"UpdateInternetScsiDiscoveryPropertiesResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateInternetScsiDiscoveryPropertiesBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateInternetScsiDiscoveryProperties(ctx context.Context, r soap.RoundTripper, req *types.UpdateInternetScsiDiscoveryProperties) (*types.UpdateInternetScsiDiscoveryPropertiesResponse, error) { - var reqBody, resBody UpdateInternetScsiDiscoveryPropertiesBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateInternetScsiIPPropertiesBody struct { - Req *types.UpdateInternetScsiIPProperties `xml:"urn:vim25 UpdateInternetScsiIPProperties,omitempty"` - Res *types.UpdateInternetScsiIPPropertiesResponse `xml:"UpdateInternetScsiIPPropertiesResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateInternetScsiIPPropertiesBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateInternetScsiIPProperties(ctx context.Context, r soap.RoundTripper, req *types.UpdateInternetScsiIPProperties) (*types.UpdateInternetScsiIPPropertiesResponse, error) { - var reqBody, resBody UpdateInternetScsiIPPropertiesBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateInternetScsiNameBody struct { - Req *types.UpdateInternetScsiName `xml:"urn:vim25 UpdateInternetScsiName,omitempty"` - Res *types.UpdateInternetScsiNameResponse `xml:"UpdateInternetScsiNameResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateInternetScsiNameBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateInternetScsiName(ctx context.Context, r soap.RoundTripper, req *types.UpdateInternetScsiName) (*types.UpdateInternetScsiNameResponse, error) { - var reqBody, resBody UpdateInternetScsiNameBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateIpConfigBody struct { - Req *types.UpdateIpConfig `xml:"urn:vim25 UpdateIpConfig,omitempty"` - Res *types.UpdateIpConfigResponse `xml:"UpdateIpConfigResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateIpConfigBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateIpConfig(ctx context.Context, r soap.RoundTripper, req *types.UpdateIpConfig) (*types.UpdateIpConfigResponse, error) { - var reqBody, resBody UpdateIpConfigBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateIpPoolBody struct { - Req *types.UpdateIpPool `xml:"urn:vim25 UpdateIpPool,omitempty"` - Res *types.UpdateIpPoolResponse `xml:"UpdateIpPoolResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateIpPoolBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateIpPool(ctx context.Context, r soap.RoundTripper, req *types.UpdateIpPool) (*types.UpdateIpPoolResponse, error) { - var reqBody, resBody UpdateIpPoolBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateIpRouteConfigBody struct { - Req *types.UpdateIpRouteConfig `xml:"urn:vim25 UpdateIpRouteConfig,omitempty"` - Res *types.UpdateIpRouteConfigResponse `xml:"UpdateIpRouteConfigResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateIpRouteConfigBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateIpRouteConfig(ctx context.Context, r soap.RoundTripper, req *types.UpdateIpRouteConfig) (*types.UpdateIpRouteConfigResponse, error) { - var reqBody, resBody UpdateIpRouteConfigBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateIpRouteTableConfigBody struct { - Req *types.UpdateIpRouteTableConfig `xml:"urn:vim25 UpdateIpRouteTableConfig,omitempty"` - Res *types.UpdateIpRouteTableConfigResponse `xml:"UpdateIpRouteTableConfigResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateIpRouteTableConfigBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateIpRouteTableConfig(ctx context.Context, r soap.RoundTripper, req *types.UpdateIpRouteTableConfig) (*types.UpdateIpRouteTableConfigResponse, error) { - var reqBody, resBody UpdateIpRouteTableConfigBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateIpmiBody struct { - Req *types.UpdateIpmi `xml:"urn:vim25 UpdateIpmi,omitempty"` - Res *types.UpdateIpmiResponse `xml:"UpdateIpmiResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateIpmiBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateIpmi(ctx context.Context, r soap.RoundTripper, req *types.UpdateIpmi) (*types.UpdateIpmiResponse, error) { - var reqBody, resBody UpdateIpmiBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateKmipServerBody struct { - Req *types.UpdateKmipServer `xml:"urn:vim25 UpdateKmipServer,omitempty"` - Res *types.UpdateKmipServerResponse `xml:"UpdateKmipServerResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateKmipServerBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateKmipServer(ctx context.Context, r soap.RoundTripper, req *types.UpdateKmipServer) (*types.UpdateKmipServerResponse, error) { - var reqBody, resBody UpdateKmipServerBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateKmsSignedCsrClientCertBody struct { - Req *types.UpdateKmsSignedCsrClientCert `xml:"urn:vim25 UpdateKmsSignedCsrClientCert,omitempty"` - Res *types.UpdateKmsSignedCsrClientCertResponse `xml:"UpdateKmsSignedCsrClientCertResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateKmsSignedCsrClientCertBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateKmsSignedCsrClientCert(ctx context.Context, r soap.RoundTripper, req *types.UpdateKmsSignedCsrClientCert) (*types.UpdateKmsSignedCsrClientCertResponse, error) { - var reqBody, resBody UpdateKmsSignedCsrClientCertBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateLicenseBody struct { - Req *types.UpdateLicense `xml:"urn:vim25 UpdateLicense,omitempty"` - Res *types.UpdateLicenseResponse `xml:"UpdateLicenseResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateLicenseBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateLicense(ctx context.Context, r soap.RoundTripper, req *types.UpdateLicense) (*types.UpdateLicenseResponse, error) { - var reqBody, resBody UpdateLicenseBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateLicenseLabelBody struct { - Req *types.UpdateLicenseLabel `xml:"urn:vim25 UpdateLicenseLabel,omitempty"` - Res *types.UpdateLicenseLabelResponse `xml:"UpdateLicenseLabelResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateLicenseLabelBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateLicenseLabel(ctx context.Context, r soap.RoundTripper, req *types.UpdateLicenseLabel) (*types.UpdateLicenseLabelResponse, error) { - var reqBody, resBody UpdateLicenseLabelBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateLinkedChildrenBody struct { - Req *types.UpdateLinkedChildren `xml:"urn:vim25 UpdateLinkedChildren,omitempty"` - Res *types.UpdateLinkedChildrenResponse `xml:"UpdateLinkedChildrenResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateLinkedChildrenBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateLinkedChildren(ctx context.Context, r soap.RoundTripper, req *types.UpdateLinkedChildren) (*types.UpdateLinkedChildrenResponse, error) { - var reqBody, resBody UpdateLinkedChildrenBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateLocalSwapDatastoreBody struct { - Req *types.UpdateLocalSwapDatastore `xml:"urn:vim25 UpdateLocalSwapDatastore,omitempty"` - Res *types.UpdateLocalSwapDatastoreResponse `xml:"UpdateLocalSwapDatastoreResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateLocalSwapDatastoreBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateLocalSwapDatastore(ctx context.Context, r soap.RoundTripper, req *types.UpdateLocalSwapDatastore) (*types.UpdateLocalSwapDatastoreResponse, error) { - var reqBody, resBody UpdateLocalSwapDatastoreBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateLockdownExceptionsBody struct { - Req *types.UpdateLockdownExceptions `xml:"urn:vim25 UpdateLockdownExceptions,omitempty"` - Res *types.UpdateLockdownExceptionsResponse `xml:"UpdateLockdownExceptionsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateLockdownExceptionsBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateLockdownExceptions(ctx context.Context, r soap.RoundTripper, req *types.UpdateLockdownExceptions) (*types.UpdateLockdownExceptionsResponse, error) { - var reqBody, resBody UpdateLockdownExceptionsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateModuleOptionStringBody struct { - Req *types.UpdateModuleOptionString `xml:"urn:vim25 UpdateModuleOptionString,omitempty"` - Res *types.UpdateModuleOptionStringResponse `xml:"UpdateModuleOptionStringResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateModuleOptionStringBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateModuleOptionString(ctx context.Context, r soap.RoundTripper, req *types.UpdateModuleOptionString) (*types.UpdateModuleOptionStringResponse, error) { - var reqBody, resBody UpdateModuleOptionStringBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateNetworkConfigBody struct { - Req *types.UpdateNetworkConfig `xml:"urn:vim25 UpdateNetworkConfig,omitempty"` - Res *types.UpdateNetworkConfigResponse `xml:"UpdateNetworkConfigResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateNetworkConfigBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateNetworkConfig(ctx context.Context, r soap.RoundTripper, req *types.UpdateNetworkConfig) (*types.UpdateNetworkConfigResponse, error) { - var reqBody, resBody UpdateNetworkConfigBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateNetworkResourcePoolBody struct { - Req *types.UpdateNetworkResourcePool `xml:"urn:vim25 UpdateNetworkResourcePool,omitempty"` - Res *types.UpdateNetworkResourcePoolResponse `xml:"UpdateNetworkResourcePoolResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateNetworkResourcePoolBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateNetworkResourcePool(ctx context.Context, r soap.RoundTripper, req *types.UpdateNetworkResourcePool) (*types.UpdateNetworkResourcePoolResponse, error) { - var reqBody, resBody UpdateNetworkResourcePoolBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateOptionsBody struct { - Req *types.UpdateOptions `xml:"urn:vim25 UpdateOptions,omitempty"` - Res *types.UpdateOptionsResponse `xml:"UpdateOptionsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateOptionsBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateOptions(ctx context.Context, r soap.RoundTripper, req *types.UpdateOptions) (*types.UpdateOptionsResponse, error) { - var reqBody, resBody UpdateOptionsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdatePassthruConfigBody struct { - Req *types.UpdatePassthruConfig `xml:"urn:vim25 UpdatePassthruConfig,omitempty"` - Res *types.UpdatePassthruConfigResponse `xml:"UpdatePassthruConfigResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdatePassthruConfigBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdatePassthruConfig(ctx context.Context, r soap.RoundTripper, req *types.UpdatePassthruConfig) (*types.UpdatePassthruConfigResponse, error) { - var reqBody, resBody UpdatePassthruConfigBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdatePerfIntervalBody struct { - Req *types.UpdatePerfInterval `xml:"urn:vim25 UpdatePerfInterval,omitempty"` - Res *types.UpdatePerfIntervalResponse `xml:"UpdatePerfIntervalResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdatePerfIntervalBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdatePerfInterval(ctx context.Context, r soap.RoundTripper, req *types.UpdatePerfInterval) (*types.UpdatePerfIntervalResponse, error) { - var reqBody, resBody UpdatePerfIntervalBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdatePhysicalNicLinkSpeedBody struct { - Req *types.UpdatePhysicalNicLinkSpeed `xml:"urn:vim25 UpdatePhysicalNicLinkSpeed,omitempty"` - Res *types.UpdatePhysicalNicLinkSpeedResponse `xml:"UpdatePhysicalNicLinkSpeedResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdatePhysicalNicLinkSpeedBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdatePhysicalNicLinkSpeed(ctx context.Context, r soap.RoundTripper, req *types.UpdatePhysicalNicLinkSpeed) (*types.UpdatePhysicalNicLinkSpeedResponse, error) { - var reqBody, resBody UpdatePhysicalNicLinkSpeedBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdatePortGroupBody struct { - Req *types.UpdatePortGroup `xml:"urn:vim25 UpdatePortGroup,omitempty"` - Res *types.UpdatePortGroupResponse `xml:"UpdatePortGroupResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdatePortGroupBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdatePortGroup(ctx context.Context, r soap.RoundTripper, req *types.UpdatePortGroup) (*types.UpdatePortGroupResponse, error) { - var reqBody, resBody UpdatePortGroupBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateProductLockerLocation_TaskBody struct { - Req *types.UpdateProductLockerLocation_Task `xml:"urn:vim25 UpdateProductLockerLocation_Task,omitempty"` - Res *types.UpdateProductLockerLocation_TaskResponse `xml:"UpdateProductLockerLocation_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateProductLockerLocation_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateProductLockerLocation_Task(ctx context.Context, r soap.RoundTripper, req *types.UpdateProductLockerLocation_Task) (*types.UpdateProductLockerLocation_TaskResponse, error) { - var reqBody, resBody UpdateProductLockerLocation_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateProgressBody struct { - Req *types.UpdateProgress `xml:"urn:vim25 UpdateProgress,omitempty"` - Res *types.UpdateProgressResponse `xml:"UpdateProgressResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateProgressBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateProgress(ctx context.Context, r soap.RoundTripper, req *types.UpdateProgress) (*types.UpdateProgressResponse, error) { - var reqBody, resBody UpdateProgressBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateReferenceHostBody struct { - Req *types.UpdateReferenceHost `xml:"urn:vim25 UpdateReferenceHost,omitempty"` - Res *types.UpdateReferenceHostResponse `xml:"UpdateReferenceHostResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateReferenceHostBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateReferenceHost(ctx context.Context, r soap.RoundTripper, req *types.UpdateReferenceHost) (*types.UpdateReferenceHostResponse, error) { - var reqBody, resBody UpdateReferenceHostBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateRulesetBody struct { - Req *types.UpdateRuleset `xml:"urn:vim25 UpdateRuleset,omitempty"` - Res *types.UpdateRulesetResponse `xml:"UpdateRulesetResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateRulesetBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateRuleset(ctx context.Context, r soap.RoundTripper, req *types.UpdateRuleset) (*types.UpdateRulesetResponse, error) { - var reqBody, resBody UpdateRulesetBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateScsiLunDisplayNameBody struct { - Req *types.UpdateScsiLunDisplayName `xml:"urn:vim25 UpdateScsiLunDisplayName,omitempty"` - Res *types.UpdateScsiLunDisplayNameResponse `xml:"UpdateScsiLunDisplayNameResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateScsiLunDisplayNameBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateScsiLunDisplayName(ctx context.Context, r soap.RoundTripper, req *types.UpdateScsiLunDisplayName) (*types.UpdateScsiLunDisplayNameResponse, error) { - var reqBody, resBody UpdateScsiLunDisplayNameBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateSelfSignedClientCertBody struct { - Req *types.UpdateSelfSignedClientCert `xml:"urn:vim25 UpdateSelfSignedClientCert,omitempty"` - Res *types.UpdateSelfSignedClientCertResponse `xml:"UpdateSelfSignedClientCertResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateSelfSignedClientCertBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateSelfSignedClientCert(ctx context.Context, r soap.RoundTripper, req *types.UpdateSelfSignedClientCert) (*types.UpdateSelfSignedClientCertResponse, error) { - var reqBody, resBody UpdateSelfSignedClientCertBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateServiceConsoleVirtualNicBody struct { - Req *types.UpdateServiceConsoleVirtualNic `xml:"urn:vim25 UpdateServiceConsoleVirtualNic,omitempty"` - Res *types.UpdateServiceConsoleVirtualNicResponse `xml:"UpdateServiceConsoleVirtualNicResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateServiceConsoleVirtualNicBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateServiceConsoleVirtualNic(ctx context.Context, r soap.RoundTripper, req *types.UpdateServiceConsoleVirtualNic) (*types.UpdateServiceConsoleVirtualNicResponse, error) { - var reqBody, resBody UpdateServiceConsoleVirtualNicBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateServiceMessageBody struct { - Req *types.UpdateServiceMessage `xml:"urn:vim25 UpdateServiceMessage,omitempty"` - Res *types.UpdateServiceMessageResponse `xml:"UpdateServiceMessageResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateServiceMessageBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateServiceMessage(ctx context.Context, r soap.RoundTripper, req *types.UpdateServiceMessage) (*types.UpdateServiceMessageResponse, error) { - var reqBody, resBody UpdateServiceMessageBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateServicePolicyBody struct { - Req *types.UpdateServicePolicy `xml:"urn:vim25 UpdateServicePolicy,omitempty"` - Res *types.UpdateServicePolicyResponse `xml:"UpdateServicePolicyResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateServicePolicyBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateServicePolicy(ctx context.Context, r soap.RoundTripper, req *types.UpdateServicePolicy) (*types.UpdateServicePolicyResponse, error) { - var reqBody, resBody UpdateServicePolicyBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateSoftwareInternetScsiEnabledBody struct { - Req *types.UpdateSoftwareInternetScsiEnabled `xml:"urn:vim25 UpdateSoftwareInternetScsiEnabled,omitempty"` - Res *types.UpdateSoftwareInternetScsiEnabledResponse `xml:"UpdateSoftwareInternetScsiEnabledResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateSoftwareInternetScsiEnabledBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateSoftwareInternetScsiEnabled(ctx context.Context, r soap.RoundTripper, req *types.UpdateSoftwareInternetScsiEnabled) (*types.UpdateSoftwareInternetScsiEnabledResponse, error) { - var reqBody, resBody UpdateSoftwareInternetScsiEnabledBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateSystemResourcesBody struct { - Req *types.UpdateSystemResources `xml:"urn:vim25 UpdateSystemResources,omitempty"` - Res *types.UpdateSystemResourcesResponse `xml:"UpdateSystemResourcesResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateSystemResourcesBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateSystemResources(ctx context.Context, r soap.RoundTripper, req *types.UpdateSystemResources) (*types.UpdateSystemResourcesResponse, error) { - var reqBody, resBody UpdateSystemResourcesBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateSystemSwapConfigurationBody struct { - Req *types.UpdateSystemSwapConfiguration `xml:"urn:vim25 UpdateSystemSwapConfiguration,omitempty"` - Res *types.UpdateSystemSwapConfigurationResponse `xml:"UpdateSystemSwapConfigurationResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateSystemSwapConfigurationBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateSystemSwapConfiguration(ctx context.Context, r soap.RoundTripper, req *types.UpdateSystemSwapConfiguration) (*types.UpdateSystemSwapConfigurationResponse, error) { - var reqBody, resBody UpdateSystemSwapConfigurationBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateSystemUsersBody struct { - Req *types.UpdateSystemUsers `xml:"urn:vim25 UpdateSystemUsers,omitempty"` - Res *types.UpdateSystemUsersResponse `xml:"UpdateSystemUsersResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateSystemUsersBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateSystemUsers(ctx context.Context, r soap.RoundTripper, req *types.UpdateSystemUsers) (*types.UpdateSystemUsersResponse, error) { - var reqBody, resBody UpdateSystemUsersBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateUserBody struct { - Req *types.UpdateUser `xml:"urn:vim25 UpdateUser,omitempty"` - Res *types.UpdateUserResponse `xml:"UpdateUserResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateUserBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateUser(ctx context.Context, r soap.RoundTripper, req *types.UpdateUser) (*types.UpdateUserResponse, error) { - var reqBody, resBody UpdateUserBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateVAppConfigBody struct { - Req *types.UpdateVAppConfig `xml:"urn:vim25 UpdateVAppConfig,omitempty"` - Res *types.UpdateVAppConfigResponse `xml:"UpdateVAppConfigResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateVAppConfigBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateVAppConfig(ctx context.Context, r soap.RoundTripper, req *types.UpdateVAppConfig) (*types.UpdateVAppConfigResponse, error) { - var reqBody, resBody UpdateVAppConfigBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateVStorageInfrastructureObjectPolicy_TaskBody struct { - Req *types.UpdateVStorageInfrastructureObjectPolicy_Task `xml:"urn:vim25 UpdateVStorageInfrastructureObjectPolicy_Task,omitempty"` - Res *types.UpdateVStorageInfrastructureObjectPolicy_TaskResponse `xml:"UpdateVStorageInfrastructureObjectPolicy_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateVStorageInfrastructureObjectPolicy_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateVStorageInfrastructureObjectPolicy_Task(ctx context.Context, r soap.RoundTripper, req *types.UpdateVStorageInfrastructureObjectPolicy_Task) (*types.UpdateVStorageInfrastructureObjectPolicy_TaskResponse, error) { - var reqBody, resBody UpdateVStorageInfrastructureObjectPolicy_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateVStorageObjectCrypto_TaskBody struct { - Req *types.UpdateVStorageObjectCrypto_Task `xml:"urn:vim25 UpdateVStorageObjectCrypto_Task,omitempty"` - Res *types.UpdateVStorageObjectCrypto_TaskResponse `xml:"UpdateVStorageObjectCrypto_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateVStorageObjectCrypto_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateVStorageObjectCrypto_Task(ctx context.Context, r soap.RoundTripper, req *types.UpdateVStorageObjectCrypto_Task) (*types.UpdateVStorageObjectCrypto_TaskResponse, error) { - var reqBody, resBody UpdateVStorageObjectCrypto_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateVStorageObjectPolicy_TaskBody struct { - Req *types.UpdateVStorageObjectPolicy_Task `xml:"urn:vim25 UpdateVStorageObjectPolicy_Task,omitempty"` - Res *types.UpdateVStorageObjectPolicy_TaskResponse `xml:"UpdateVStorageObjectPolicy_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateVStorageObjectPolicy_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateVStorageObjectPolicy_Task(ctx context.Context, r soap.RoundTripper, req *types.UpdateVStorageObjectPolicy_Task) (*types.UpdateVStorageObjectPolicy_TaskResponse, error) { - var reqBody, resBody UpdateVStorageObjectPolicy_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateVVolVirtualMachineFiles_TaskBody struct { - Req *types.UpdateVVolVirtualMachineFiles_Task `xml:"urn:vim25 UpdateVVolVirtualMachineFiles_Task,omitempty"` - Res *types.UpdateVVolVirtualMachineFiles_TaskResponse `xml:"UpdateVVolVirtualMachineFiles_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateVVolVirtualMachineFiles_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateVVolVirtualMachineFiles_Task(ctx context.Context, r soap.RoundTripper, req *types.UpdateVVolVirtualMachineFiles_Task) (*types.UpdateVVolVirtualMachineFiles_TaskResponse, error) { - var reqBody, resBody UpdateVVolVirtualMachineFiles_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateVirtualMachineFiles_TaskBody struct { - Req *types.UpdateVirtualMachineFiles_Task `xml:"urn:vim25 UpdateVirtualMachineFiles_Task,omitempty"` - Res *types.UpdateVirtualMachineFiles_TaskResponse `xml:"UpdateVirtualMachineFiles_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateVirtualMachineFiles_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateVirtualMachineFiles_Task(ctx context.Context, r soap.RoundTripper, req *types.UpdateVirtualMachineFiles_Task) (*types.UpdateVirtualMachineFiles_TaskResponse, error) { - var reqBody, resBody UpdateVirtualMachineFiles_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateVirtualNicBody struct { - Req *types.UpdateVirtualNic `xml:"urn:vim25 UpdateVirtualNic,omitempty"` - Res *types.UpdateVirtualNicResponse `xml:"UpdateVirtualNicResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateVirtualNicBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateVirtualNic(ctx context.Context, r soap.RoundTripper, req *types.UpdateVirtualNic) (*types.UpdateVirtualNicResponse, error) { - var reqBody, resBody UpdateVirtualNicBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateVirtualSwitchBody struct { - Req *types.UpdateVirtualSwitch `xml:"urn:vim25 UpdateVirtualSwitch,omitempty"` - Res *types.UpdateVirtualSwitchResponse `xml:"UpdateVirtualSwitchResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateVirtualSwitchBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateVirtualSwitch(ctx context.Context, r soap.RoundTripper, req *types.UpdateVirtualSwitch) (*types.UpdateVirtualSwitchResponse, error) { - var reqBody, resBody UpdateVirtualSwitchBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateVmfsUnmapBandwidthBody struct { - Req *types.UpdateVmfsUnmapBandwidth `xml:"urn:vim25 UpdateVmfsUnmapBandwidth,omitempty"` - Res *types.UpdateVmfsUnmapBandwidthResponse `xml:"UpdateVmfsUnmapBandwidthResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateVmfsUnmapBandwidthBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateVmfsUnmapBandwidth(ctx context.Context, r soap.RoundTripper, req *types.UpdateVmfsUnmapBandwidth) (*types.UpdateVmfsUnmapBandwidthResponse, error) { - var reqBody, resBody UpdateVmfsUnmapBandwidthBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateVmfsUnmapPriorityBody struct { - Req *types.UpdateVmfsUnmapPriority `xml:"urn:vim25 UpdateVmfsUnmapPriority,omitempty"` - Res *types.UpdateVmfsUnmapPriorityResponse `xml:"UpdateVmfsUnmapPriorityResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateVmfsUnmapPriorityBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateVmfsUnmapPriority(ctx context.Context, r soap.RoundTripper, req *types.UpdateVmfsUnmapPriority) (*types.UpdateVmfsUnmapPriorityResponse, error) { - var reqBody, resBody UpdateVmfsUnmapPriorityBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpdateVsan_TaskBody struct { - Req *types.UpdateVsan_Task `xml:"urn:vim25 UpdateVsan_Task,omitempty"` - Res *types.UpdateVsan_TaskResponse `xml:"UpdateVsan_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpdateVsan_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func UpdateVsan_Task(ctx context.Context, r soap.RoundTripper, req *types.UpdateVsan_Task) (*types.UpdateVsan_TaskResponse, error) { - var reqBody, resBody UpdateVsan_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpgradeIoFilter_TaskBody struct { - Req *types.UpgradeIoFilter_Task `xml:"urn:vim25 UpgradeIoFilter_Task,omitempty"` - Res *types.UpgradeIoFilter_TaskResponse `xml:"UpgradeIoFilter_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpgradeIoFilter_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func UpgradeIoFilter_Task(ctx context.Context, r soap.RoundTripper, req *types.UpgradeIoFilter_Task) (*types.UpgradeIoFilter_TaskResponse, error) { - var reqBody, resBody UpgradeIoFilter_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpgradeTools_TaskBody struct { - Req *types.UpgradeTools_Task `xml:"urn:vim25 UpgradeTools_Task,omitempty"` - Res *types.UpgradeTools_TaskResponse `xml:"UpgradeTools_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpgradeTools_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func UpgradeTools_Task(ctx context.Context, r soap.RoundTripper, req *types.UpgradeTools_Task) (*types.UpgradeTools_TaskResponse, error) { - var reqBody, resBody UpgradeTools_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpgradeVM_TaskBody struct { - Req *types.UpgradeVM_Task `xml:"urn:vim25 UpgradeVM_Task,omitempty"` - Res *types.UpgradeVM_TaskResponse `xml:"UpgradeVM_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpgradeVM_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func UpgradeVM_Task(ctx context.Context, r soap.RoundTripper, req *types.UpgradeVM_Task) (*types.UpgradeVM_TaskResponse, error) { - var reqBody, resBody UpgradeVM_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpgradeVmLayoutBody struct { - Req *types.UpgradeVmLayout `xml:"urn:vim25 UpgradeVmLayout,omitempty"` - Res *types.UpgradeVmLayoutResponse `xml:"UpgradeVmLayoutResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpgradeVmLayoutBody) Fault() *soap.Fault { return b.Fault_ } - -func UpgradeVmLayout(ctx context.Context, r soap.RoundTripper, req *types.UpgradeVmLayout) (*types.UpgradeVmLayoutResponse, error) { - var reqBody, resBody UpgradeVmLayoutBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpgradeVmfsBody struct { - Req *types.UpgradeVmfs `xml:"urn:vim25 UpgradeVmfs,omitempty"` - Res *types.UpgradeVmfsResponse `xml:"UpgradeVmfsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpgradeVmfsBody) Fault() *soap.Fault { return b.Fault_ } - -func UpgradeVmfs(ctx context.Context, r soap.RoundTripper, req *types.UpgradeVmfs) (*types.UpgradeVmfsResponse, error) { - var reqBody, resBody UpgradeVmfsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UpgradeVsanObjectsBody struct { - Req *types.UpgradeVsanObjects `xml:"urn:vim25 UpgradeVsanObjects,omitempty"` - Res *types.UpgradeVsanObjectsResponse `xml:"UpgradeVsanObjectsResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UpgradeVsanObjectsBody) Fault() *soap.Fault { return b.Fault_ } - -func UpgradeVsanObjects(ctx context.Context, r soap.RoundTripper, req *types.UpgradeVsanObjects) (*types.UpgradeVsanObjectsResponse, error) { - var reqBody, resBody UpgradeVsanObjectsBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UploadClientCertBody struct { - Req *types.UploadClientCert `xml:"urn:vim25 UploadClientCert,omitempty"` - Res *types.UploadClientCertResponse `xml:"UploadClientCertResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UploadClientCertBody) Fault() *soap.Fault { return b.Fault_ } - -func UploadClientCert(ctx context.Context, r soap.RoundTripper, req *types.UploadClientCert) (*types.UploadClientCertResponse, error) { - var reqBody, resBody UploadClientCertBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UploadKmipServerCertBody struct { - Req *types.UploadKmipServerCert `xml:"urn:vim25 UploadKmipServerCert,omitempty"` - Res *types.UploadKmipServerCertResponse `xml:"UploadKmipServerCertResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UploadKmipServerCertBody) Fault() *soap.Fault { return b.Fault_ } - -func UploadKmipServerCert(ctx context.Context, r soap.RoundTripper, req *types.UploadKmipServerCert) (*types.UploadKmipServerCertResponse, error) { - var reqBody, resBody UploadKmipServerCertBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type VCenterUpdateVStorageObjectMetadataEx_TaskBody struct { - Req *types.VCenterUpdateVStorageObjectMetadataEx_Task `xml:"urn:vim25 VCenterUpdateVStorageObjectMetadataEx_Task,omitempty"` - Res *types.VCenterUpdateVStorageObjectMetadataEx_TaskResponse `xml:"VCenterUpdateVStorageObjectMetadataEx_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *VCenterUpdateVStorageObjectMetadataEx_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func VCenterUpdateVStorageObjectMetadataEx_Task(ctx context.Context, r soap.RoundTripper, req *types.VCenterUpdateVStorageObjectMetadataEx_Task) (*types.VCenterUpdateVStorageObjectMetadataEx_TaskResponse, error) { - var reqBody, resBody VCenterUpdateVStorageObjectMetadataEx_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type VStorageObjectCreateSnapshot_TaskBody struct { - Req *types.VStorageObjectCreateSnapshot_Task `xml:"urn:vim25 VStorageObjectCreateSnapshot_Task,omitempty"` - Res *types.VStorageObjectCreateSnapshot_TaskResponse `xml:"VStorageObjectCreateSnapshot_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *VStorageObjectCreateSnapshot_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func VStorageObjectCreateSnapshot_Task(ctx context.Context, r soap.RoundTripper, req *types.VStorageObjectCreateSnapshot_Task) (*types.VStorageObjectCreateSnapshot_TaskResponse, error) { - var reqBody, resBody VStorageObjectCreateSnapshot_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ValidateCredentialsInGuestBody struct { - Req *types.ValidateCredentialsInGuest `xml:"urn:vim25 ValidateCredentialsInGuest,omitempty"` - Res *types.ValidateCredentialsInGuestResponse `xml:"ValidateCredentialsInGuestResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ValidateCredentialsInGuestBody) Fault() *soap.Fault { return b.Fault_ } - -func ValidateCredentialsInGuest(ctx context.Context, r soap.RoundTripper, req *types.ValidateCredentialsInGuest) (*types.ValidateCredentialsInGuestResponse, error) { - var reqBody, resBody ValidateCredentialsInGuestBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ValidateHCIConfigurationBody struct { - Req *types.ValidateHCIConfiguration `xml:"urn:vim25 ValidateHCIConfiguration,omitempty"` - Res *types.ValidateHCIConfigurationResponse `xml:"ValidateHCIConfigurationResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ValidateHCIConfigurationBody) Fault() *soap.Fault { return b.Fault_ } - -func ValidateHCIConfiguration(ctx context.Context, r soap.RoundTripper, req *types.ValidateHCIConfiguration) (*types.ValidateHCIConfigurationResponse, error) { - var reqBody, resBody ValidateHCIConfigurationBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ValidateHostBody struct { - Req *types.ValidateHost `xml:"urn:vim25 ValidateHost,omitempty"` - Res *types.ValidateHostResponse `xml:"ValidateHostResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ValidateHostBody) Fault() *soap.Fault { return b.Fault_ } - -func ValidateHost(ctx context.Context, r soap.RoundTripper, req *types.ValidateHost) (*types.ValidateHostResponse, error) { - var reqBody, resBody ValidateHostBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ValidateHostProfileComposition_TaskBody struct { - Req *types.ValidateHostProfileComposition_Task `xml:"urn:vim25 ValidateHostProfileComposition_Task,omitempty"` - Res *types.ValidateHostProfileComposition_TaskResponse `xml:"ValidateHostProfileComposition_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ValidateHostProfileComposition_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func ValidateHostProfileComposition_Task(ctx context.Context, r soap.RoundTripper, req *types.ValidateHostProfileComposition_Task) (*types.ValidateHostProfileComposition_TaskResponse, error) { - var reqBody, resBody ValidateHostProfileComposition_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ValidateMigrationBody struct { - Req *types.ValidateMigration `xml:"urn:vim25 ValidateMigration,omitempty"` - Res *types.ValidateMigrationResponse `xml:"ValidateMigrationResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ValidateMigrationBody) Fault() *soap.Fault { return b.Fault_ } - -func ValidateMigration(ctx context.Context, r soap.RoundTripper, req *types.ValidateMigration) (*types.ValidateMigrationResponse, error) { - var reqBody, resBody ValidateMigrationBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ValidateStoragePodConfigBody struct { - Req *types.ValidateStoragePodConfig `xml:"urn:vim25 ValidateStoragePodConfig,omitempty"` - Res *types.ValidateStoragePodConfigResponse `xml:"ValidateStoragePodConfigResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ValidateStoragePodConfigBody) Fault() *soap.Fault { return b.Fault_ } - -func ValidateStoragePodConfig(ctx context.Context, r soap.RoundTripper, req *types.ValidateStoragePodConfig) (*types.ValidateStoragePodConfigResponse, error) { - var reqBody, resBody ValidateStoragePodConfigBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type VstorageObjectVCenterQueryChangedDiskAreasBody struct { - Req *types.VstorageObjectVCenterQueryChangedDiskAreas `xml:"urn:vim25 VstorageObjectVCenterQueryChangedDiskAreas,omitempty"` - Res *types.VstorageObjectVCenterQueryChangedDiskAreasResponse `xml:"VstorageObjectVCenterQueryChangedDiskAreasResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *VstorageObjectVCenterQueryChangedDiskAreasBody) Fault() *soap.Fault { return b.Fault_ } - -func VstorageObjectVCenterQueryChangedDiskAreas(ctx context.Context, r soap.RoundTripper, req *types.VstorageObjectVCenterQueryChangedDiskAreas) (*types.VstorageObjectVCenterQueryChangedDiskAreasResponse, error) { - var reqBody, resBody VstorageObjectVCenterQueryChangedDiskAreasBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type WaitForUpdatesBody struct { - Req *types.WaitForUpdates `xml:"urn:vim25 WaitForUpdates,omitempty"` - Res *types.WaitForUpdatesResponse `xml:"WaitForUpdatesResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *WaitForUpdatesBody) Fault() *soap.Fault { return b.Fault_ } - -func WaitForUpdates(ctx context.Context, r soap.RoundTripper, req *types.WaitForUpdates) (*types.WaitForUpdatesResponse, error) { - var reqBody, resBody WaitForUpdatesBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type WaitForUpdatesExBody struct { - Req *types.WaitForUpdatesEx `xml:"urn:vim25 WaitForUpdatesEx,omitempty"` - Res *types.WaitForUpdatesExResponse `xml:"WaitForUpdatesExResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *WaitForUpdatesExBody) Fault() *soap.Fault { return b.Fault_ } - -func WaitForUpdatesEx(ctx context.Context, r soap.RoundTripper, req *types.WaitForUpdatesEx) (*types.WaitForUpdatesExResponse, error) { - var reqBody, resBody WaitForUpdatesExBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type XmlToCustomizationSpecItemBody struct { - Req *types.XmlToCustomizationSpecItem `xml:"urn:vim25 XmlToCustomizationSpecItem,omitempty"` - Res *types.XmlToCustomizationSpecItemResponse `xml:"XmlToCustomizationSpecItemResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *XmlToCustomizationSpecItemBody) Fault() *soap.Fault { return b.Fault_ } - -func XmlToCustomizationSpecItem(ctx context.Context, r soap.RoundTripper, req *types.XmlToCustomizationSpecItem) (*types.XmlToCustomizationSpecItemResponse, error) { - var reqBody, resBody XmlToCustomizationSpecItemBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ZeroFillVirtualDisk_TaskBody struct { - Req *types.ZeroFillVirtualDisk_Task `xml:"urn:vim25 ZeroFillVirtualDisk_Task,omitempty"` - Res *types.ZeroFillVirtualDisk_TaskResponse `xml:"ZeroFillVirtualDisk_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ZeroFillVirtualDisk_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func ZeroFillVirtualDisk_Task(ctx context.Context, r soap.RoundTripper, req *types.ZeroFillVirtualDisk_Task) (*types.ZeroFillVirtualDisk_TaskResponse, error) { - var reqBody, resBody ZeroFillVirtualDisk_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ConfigureVcha_TaskBody struct { - Req *types.ConfigureVcha_Task `xml:"urn:vim25 configureVcha_Task,omitempty"` - Res *types.ConfigureVcha_TaskResponse `xml:"configureVcha_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ConfigureVcha_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func ConfigureVcha_Task(ctx context.Context, r soap.RoundTripper, req *types.ConfigureVcha_Task) (*types.ConfigureVcha_TaskResponse, error) { - var reqBody, resBody ConfigureVcha_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreatePassiveNode_TaskBody struct { - Req *types.CreatePassiveNode_Task `xml:"urn:vim25 createPassiveNode_Task,omitempty"` - Res *types.CreatePassiveNode_TaskResponse `xml:"createPassiveNode_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreatePassiveNode_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func CreatePassiveNode_Task(ctx context.Context, r soap.RoundTripper, req *types.CreatePassiveNode_Task) (*types.CreatePassiveNode_TaskResponse, error) { - var reqBody, resBody CreatePassiveNode_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type CreateWitnessNode_TaskBody struct { - Req *types.CreateWitnessNode_Task `xml:"urn:vim25 createWitnessNode_Task,omitempty"` - Res *types.CreateWitnessNode_TaskResponse `xml:"createWitnessNode_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *CreateWitnessNode_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func CreateWitnessNode_Task(ctx context.Context, r soap.RoundTripper, req *types.CreateWitnessNode_Task) (*types.CreateWitnessNode_TaskResponse, error) { - var reqBody, resBody CreateWitnessNode_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DeployVcha_TaskBody struct { - Req *types.DeployVcha_Task `xml:"urn:vim25 deployVcha_Task,omitempty"` - Res *types.DeployVcha_TaskResponse `xml:"deployVcha_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DeployVcha_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func DeployVcha_Task(ctx context.Context, r soap.RoundTripper, req *types.DeployVcha_Task) (*types.DeployVcha_TaskResponse, error) { - var reqBody, resBody DeployVcha_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type DestroyVcha_TaskBody struct { - Req *types.DestroyVcha_Task `xml:"urn:vim25 destroyVcha_Task,omitempty"` - Res *types.DestroyVcha_TaskResponse `xml:"destroyVcha_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *DestroyVcha_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func DestroyVcha_Task(ctx context.Context, r soap.RoundTripper, req *types.DestroyVcha_Task) (*types.DestroyVcha_TaskResponse, error) { - var reqBody, resBody DestroyVcha_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type FetchSoftwarePackagesBody struct { - Req *types.FetchSoftwarePackages `xml:"urn:vim25 fetchSoftwarePackages,omitempty"` - Res *types.FetchSoftwarePackagesResponse `xml:"fetchSoftwarePackagesResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *FetchSoftwarePackagesBody) Fault() *soap.Fault { return b.Fault_ } - -func FetchSoftwarePackages(ctx context.Context, r soap.RoundTripper, req *types.FetchSoftwarePackages) (*types.FetchSoftwarePackagesResponse, error) { - var reqBody, resBody FetchSoftwarePackagesBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type GetClusterModeBody struct { - Req *types.GetClusterMode `xml:"urn:vim25 getClusterMode,omitempty"` - Res *types.GetClusterModeResponse `xml:"getClusterModeResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *GetClusterModeBody) Fault() *soap.Fault { return b.Fault_ } - -func GetClusterMode(ctx context.Context, r soap.RoundTripper, req *types.GetClusterMode) (*types.GetClusterModeResponse, error) { - var reqBody, resBody GetClusterModeBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type GetVchaConfigBody struct { - Req *types.GetVchaConfig `xml:"urn:vim25 getVchaConfig,omitempty"` - Res *types.GetVchaConfigResponse `xml:"getVchaConfigResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *GetVchaConfigBody) Fault() *soap.Fault { return b.Fault_ } - -func GetVchaConfig(ctx context.Context, r soap.RoundTripper, req *types.GetVchaConfig) (*types.GetVchaConfigResponse, error) { - var reqBody, resBody GetVchaConfigBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type InitiateFailover_TaskBody struct { - Req *types.InitiateFailover_Task `xml:"urn:vim25 initiateFailover_Task,omitempty"` - Res *types.InitiateFailover_TaskResponse `xml:"initiateFailover_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *InitiateFailover_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func InitiateFailover_Task(ctx context.Context, r soap.RoundTripper, req *types.InitiateFailover_Task) (*types.InitiateFailover_TaskResponse, error) { - var reqBody, resBody InitiateFailover_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type InstallDateBody struct { - Req *types.InstallDate `xml:"urn:vim25 installDate,omitempty"` - Res *types.InstallDateResponse `xml:"installDateResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *InstallDateBody) Fault() *soap.Fault { return b.Fault_ } - -func InstallDate(ctx context.Context, r soap.RoundTripper, req *types.InstallDate) (*types.InstallDateResponse, error) { - var reqBody, resBody InstallDateBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type PrepareVcha_TaskBody struct { - Req *types.PrepareVcha_Task `xml:"urn:vim25 prepareVcha_Task,omitempty"` - Res *types.PrepareVcha_TaskResponse `xml:"prepareVcha_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PrepareVcha_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func PrepareVcha_Task(ctx context.Context, r soap.RoundTripper, req *types.PrepareVcha_Task) (*types.PrepareVcha_TaskResponse, error) { - var reqBody, resBody PrepareVcha_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type QueryDatacenterConfigOptionDescriptorBody struct { - Req *types.QueryDatacenterConfigOptionDescriptor `xml:"urn:vim25 queryDatacenterConfigOptionDescriptor,omitempty"` - Res *types.QueryDatacenterConfigOptionDescriptorResponse `xml:"queryDatacenterConfigOptionDescriptorResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *QueryDatacenterConfigOptionDescriptorBody) Fault() *soap.Fault { return b.Fault_ } - -func QueryDatacenterConfigOptionDescriptor(ctx context.Context, r soap.RoundTripper, req *types.QueryDatacenterConfigOptionDescriptor) (*types.QueryDatacenterConfigOptionDescriptorResponse, error) { - var reqBody, resBody QueryDatacenterConfigOptionDescriptorBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type ReloadVirtualMachineFromPath_TaskBody struct { - Req *types.ReloadVirtualMachineFromPath_Task `xml:"urn:vim25 reloadVirtualMachineFromPath_Task,omitempty"` - Res *types.ReloadVirtualMachineFromPath_TaskResponse `xml:"reloadVirtualMachineFromPath_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *ReloadVirtualMachineFromPath_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func ReloadVirtualMachineFromPath_Task(ctx context.Context, r soap.RoundTripper, req *types.ReloadVirtualMachineFromPath_Task) (*types.ReloadVirtualMachineFromPath_TaskResponse, error) { - var reqBody, resBody ReloadVirtualMachineFromPath_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type SetClusterMode_TaskBody struct { - Req *types.SetClusterMode_Task `xml:"urn:vim25 setClusterMode_Task,omitempty"` - Res *types.SetClusterMode_TaskResponse `xml:"setClusterMode_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *SetClusterMode_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func SetClusterMode_Task(ctx context.Context, r soap.RoundTripper, req *types.SetClusterMode_Task) (*types.SetClusterMode_TaskResponse, error) { - var reqBody, resBody SetClusterMode_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type SetCustomValueBody struct { - Req *types.SetCustomValue `xml:"urn:vim25 setCustomValue,omitempty"` - Res *types.SetCustomValueResponse `xml:"setCustomValueResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *SetCustomValueBody) Fault() *soap.Fault { return b.Fault_ } - -func SetCustomValue(ctx context.Context, r soap.RoundTripper, req *types.SetCustomValue) (*types.SetCustomValueResponse, error) { - var reqBody, resBody SetCustomValueBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} - -type UnregisterVApp_TaskBody struct { - Req *types.UnregisterVApp_Task `xml:"urn:vim25 unregisterVApp_Task,omitempty"` - Res *types.UnregisterVApp_TaskResponse `xml:"unregisterVApp_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *UnregisterVApp_TaskBody) Fault() *soap.Fault { return b.Fault_ } - -func UnregisterVApp_Task(ctx context.Context, r soap.RoundTripper, req *types.UnregisterVApp_Task) (*types.UnregisterVApp_TaskResponse, error) { - var reqBody, resBody UnregisterVApp_TaskBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} diff --git a/vendor/github.com/vmware/govmomi/vim25/methods/service_content.go b/vendor/github.com/vmware/govmomi/vim25/methods/service_content.go deleted file mode 100644 index 401646598d4..00000000000 --- a/vendor/github.com/vmware/govmomi/vim25/methods/service_content.go +++ /dev/null @@ -1,57 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package methods - -import ( - "context" - "time" - - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -// copy of vim25.ServiceInstance to avoid import cycle -var serviceInstance = types.ManagedObjectReference{ - Type: "ServiceInstance", - Value: "ServiceInstance", -} - -func GetServiceContent(ctx context.Context, r soap.RoundTripper) (types.ServiceContent, error) { - req := types.RetrieveServiceContent{ - This: serviceInstance, - } - - res, err := RetrieveServiceContent(ctx, r, &req) - if err != nil { - return types.ServiceContent{}, err - } - - return res.Returnval, nil -} - -func GetCurrentTime(ctx context.Context, r soap.RoundTripper) (*time.Time, error) { - req := types.CurrentTime{ - This: serviceInstance, - } - - res, err := CurrentTime(ctx, r, &req) - if err != nil { - return nil, err - } - - return &res.Returnval, nil -} diff --git a/vendor/github.com/vmware/govmomi/vim25/methods/unreleased.go b/vendor/github.com/vmware/govmomi/vim25/methods/unreleased.go deleted file mode 100644 index a0ffff8c327..00000000000 --- a/vendor/github.com/vmware/govmomi/vim25/methods/unreleased.go +++ /dev/null @@ -1,44 +0,0 @@ -/* - Copyright (c) 2022 VMware, Inc. All Rights Reserved. - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - -http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -*/ - -package methods - -import ( - "context" - - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -type PlaceVmsXClusterBody struct { - Req *types.PlaceVmsXCluster `xml:"urn:vim25 PlaceVmsXCluster,omitempty"` - Res *types.PlaceVmsXClusterResponse `xml:"PlaceVmsXClusterResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` -} - -func (b *PlaceVmsXClusterBody) Fault() *soap.Fault { return b.Fault_ } - -func PlaceVmsXCluster(ctx context.Context, r soap.RoundTripper, req *types.PlaceVmsXCluster) (*types.PlaceVmsXClusterResponse, error) { - var reqBody, resBody PlaceVmsXClusterBody - - reqBody.Req = req - - if err := r.RoundTrip(ctx, &reqBody, &resBody); err != nil { - return nil, err - } - - return resBody.Res, nil -} diff --git a/vendor/github.com/vmware/govmomi/vim25/mo/ancestors.go b/vendor/github.com/vmware/govmomi/vim25/mo/ancestors.go deleted file mode 100644 index d3da5b1847c..00000000000 --- a/vendor/github.com/vmware/govmomi/vim25/mo/ancestors.go +++ /dev/null @@ -1,137 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package mo - -import ( - "context" - "fmt" - - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -// Ancestors returns the entire ancestry tree of a specified managed object. -// The return value includes the root node and the specified object itself. -func Ancestors(ctx context.Context, rt soap.RoundTripper, pc, obj types.ManagedObjectReference) ([]ManagedEntity, error) { - ospec := types.ObjectSpec{ - Obj: obj, - SelectSet: []types.BaseSelectionSpec{ - &types.TraversalSpec{ - SelectionSpec: types.SelectionSpec{Name: "traverseParent"}, - Type: "ManagedEntity", - Path: "parent", - Skip: types.NewBool(false), - SelectSet: []types.BaseSelectionSpec{ - &types.SelectionSpec{Name: "traverseParent"}, - }, - }, - &types.TraversalSpec{ - SelectionSpec: types.SelectionSpec{}, - Type: "VirtualMachine", - Path: "parentVApp", - Skip: types.NewBool(false), - SelectSet: []types.BaseSelectionSpec{ - &types.SelectionSpec{Name: "traverseParent"}, - }, - }, - }, - Skip: types.NewBool(false), - } - - pspec := []types.PropertySpec{ - { - Type: "ManagedEntity", - PathSet: []string{"name", "parent"}, - }, - { - Type: "VirtualMachine", - PathSet: []string{"parentVApp"}, - }, - } - - req := types.RetrieveProperties{ - This: pc, - SpecSet: []types.PropertyFilterSpec{ - { - ObjectSet: []types.ObjectSpec{ospec}, - PropSet: pspec, - }, - }, - } - - var ifaces []interface{} - err := RetrievePropertiesForRequest(ctx, rt, req, &ifaces) - if err != nil { - return nil, err - } - - var out []ManagedEntity - - // Build ancestry tree by iteratively finding a new child. - for len(out) < len(ifaces) { - var find types.ManagedObjectReference - - if len(out) > 0 { - find = out[len(out)-1].Self - } - - // Find entity we're looking for given the last entity in the current tree. - for _, iface := range ifaces { - me := iface.(IsManagedEntity).GetManagedEntity() - - if me.Name == "" { - // The types below have their own 'Name' field, so ManagedEntity.Name (me.Name) is empty. - // We only hit this case when the 'obj' param is one of these types. - // In most cases, 'obj' is a Folder so Name isn't collected in this call. - switch x := iface.(type) { - case Network: - me.Name = x.Name - case DistributedVirtualSwitch: - me.Name = x.Name - case DistributedVirtualPortgroup: - me.Name = x.Name - case OpaqueNetwork: - me.Name = x.Name - default: - // ManagedEntity always has a Name, if we hit this point we missed a case above. - panic(fmt.Sprintf("%#v Name is empty", me.Reference())) - } - } - - if me.Parent == nil { - // Special case for VirtualMachine within VirtualApp, - // unlikely to hit this other than via Finder.Element() - switch x := iface.(type) { - case VirtualMachine: - me.Parent = x.ParentVApp - } - } - - if me.Parent == nil { - out = append(out, me) - break - } - - if *me.Parent == find { - out = append(out, me) - break - } - } - } - - return out, nil -} diff --git a/vendor/github.com/vmware/govmomi/vim25/mo/entity.go b/vendor/github.com/vmware/govmomi/vim25/mo/entity.go deleted file mode 100644 index 193e6f71ea1..00000000000 --- a/vendor/github.com/vmware/govmomi/vim25/mo/entity.go +++ /dev/null @@ -1,24 +0,0 @@ -/* -Copyright (c) 2016 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package mo - -// Entity is the interface that is implemented by all managed objects -// that extend ManagedEntity. -type Entity interface { - Reference - Entity() *ManagedEntity -} diff --git a/vendor/github.com/vmware/govmomi/vim25/mo/extra.go b/vendor/github.com/vmware/govmomi/vim25/mo/extra.go deleted file mode 100644 index 254ef35949b..00000000000 --- a/vendor/github.com/vmware/govmomi/vim25/mo/extra.go +++ /dev/null @@ -1,61 +0,0 @@ -/* -Copyright (c) 2014 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package mo - -type IsManagedEntity interface { - GetManagedEntity() ManagedEntity -} - -func (m ComputeResource) GetManagedEntity() ManagedEntity { - return m.ManagedEntity -} - -func (m Datacenter) GetManagedEntity() ManagedEntity { - return m.ManagedEntity -} - -func (m Datastore) GetManagedEntity() ManagedEntity { - return m.ManagedEntity -} - -func (m DistributedVirtualSwitch) GetManagedEntity() ManagedEntity { - return m.ManagedEntity -} - -func (m DistributedVirtualPortgroup) GetManagedEntity() ManagedEntity { - return m.ManagedEntity -} - -func (m Folder) GetManagedEntity() ManagedEntity { - return m.ManagedEntity -} - -func (m HostSystem) GetManagedEntity() ManagedEntity { - return m.ManagedEntity -} - -func (m Network) GetManagedEntity() ManagedEntity { - return m.ManagedEntity -} - -func (m ResourcePool) GetManagedEntity() ManagedEntity { - return m.ManagedEntity -} - -func (m VirtualMachine) GetManagedEntity() ManagedEntity { - return m.ManagedEntity -} diff --git a/vendor/github.com/vmware/govmomi/vim25/mo/mo.go b/vendor/github.com/vmware/govmomi/vim25/mo/mo.go deleted file mode 100644 index f3dcb5e2992..00000000000 --- a/vendor/github.com/vmware/govmomi/vim25/mo/mo.go +++ /dev/null @@ -1,1868 +0,0 @@ -/* -Copyright (c) 2014-2022 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package mo - -import ( - "reflect" - "time" - - "github.com/vmware/govmomi/vim25/types" -) - -type Alarm struct { - ExtensibleManagedObject - - Info types.AlarmInfo `mo:"info"` -} - -func init() { - t["Alarm"] = reflect.TypeOf((*Alarm)(nil)).Elem() -} - -type AlarmManager struct { - Self types.ManagedObjectReference - - DefaultExpression []types.BaseAlarmExpression `mo:"defaultExpression"` - Description types.AlarmDescription `mo:"description"` -} - -func (m AlarmManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["AlarmManager"] = reflect.TypeOf((*AlarmManager)(nil)).Elem() -} - -type AuthorizationManager struct { - Self types.ManagedObjectReference - - PrivilegeList []types.AuthorizationPrivilege `mo:"privilegeList"` - RoleList []types.AuthorizationRole `mo:"roleList"` - Description types.AuthorizationDescription `mo:"description"` -} - -func (m AuthorizationManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["AuthorizationManager"] = reflect.TypeOf((*AuthorizationManager)(nil)).Elem() -} - -type CertificateManager struct { - Self types.ManagedObjectReference -} - -func (m CertificateManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["CertificateManager"] = reflect.TypeOf((*CertificateManager)(nil)).Elem() -} - -type ClusterComputeResource struct { - ComputeResource - - Configuration types.ClusterConfigInfo `mo:"configuration"` - Recommendation []types.ClusterRecommendation `mo:"recommendation"` - DrsRecommendation []types.ClusterDrsRecommendation `mo:"drsRecommendation"` - HciConfig *types.ClusterComputeResourceHCIConfigInfo `mo:"hciConfig"` - MigrationHistory []types.ClusterDrsMigration `mo:"migrationHistory"` - ActionHistory []types.ClusterActionHistory `mo:"actionHistory"` - DrsFault []types.ClusterDrsFaults `mo:"drsFault"` -} - -func init() { - t["ClusterComputeResource"] = reflect.TypeOf((*ClusterComputeResource)(nil)).Elem() -} - -type ClusterEVCManager struct { - ExtensibleManagedObject - - ManagedCluster types.ManagedObjectReference `mo:"managedCluster"` - EvcState types.ClusterEVCManagerEVCState `mo:"evcState"` -} - -func init() { - t["ClusterEVCManager"] = reflect.TypeOf((*ClusterEVCManager)(nil)).Elem() -} - -type ClusterProfile struct { - Profile -} - -func init() { - t["ClusterProfile"] = reflect.TypeOf((*ClusterProfile)(nil)).Elem() -} - -type ClusterProfileManager struct { - ProfileManager -} - -func init() { - t["ClusterProfileManager"] = reflect.TypeOf((*ClusterProfileManager)(nil)).Elem() -} - -type ComputeResource struct { - ManagedEntity - - ResourcePool *types.ManagedObjectReference `mo:"resourcePool"` - Host []types.ManagedObjectReference `mo:"host"` - Datastore []types.ManagedObjectReference `mo:"datastore"` - Network []types.ManagedObjectReference `mo:"network"` - Summary types.BaseComputeResourceSummary `mo:"summary"` - EnvironmentBrowser *types.ManagedObjectReference `mo:"environmentBrowser"` - ConfigurationEx types.BaseComputeResourceConfigInfo `mo:"configurationEx"` - LifecycleManaged *bool `mo:"lifecycleManaged"` -} - -func (m *ComputeResource) Entity() *ManagedEntity { - return &m.ManagedEntity -} - -func init() { - t["ComputeResource"] = reflect.TypeOf((*ComputeResource)(nil)).Elem() -} - -type ContainerView struct { - ManagedObjectView - - Container types.ManagedObjectReference `mo:"container"` - Type []string `mo:"type"` - Recursive bool `mo:"recursive"` -} - -func init() { - t["ContainerView"] = reflect.TypeOf((*ContainerView)(nil)).Elem() -} - -type CryptoManager struct { - Self types.ManagedObjectReference - - Enabled bool `mo:"enabled"` -} - -func (m CryptoManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["CryptoManager"] = reflect.TypeOf((*CryptoManager)(nil)).Elem() -} - -type CryptoManagerHost struct { - CryptoManager -} - -func init() { - t["CryptoManagerHost"] = reflect.TypeOf((*CryptoManagerHost)(nil)).Elem() -} - -type CryptoManagerHostKMS struct { - CryptoManagerHost -} - -func init() { - t["CryptoManagerHostKMS"] = reflect.TypeOf((*CryptoManagerHostKMS)(nil)).Elem() -} - -type CryptoManagerKmip struct { - CryptoManager - - KmipServers []types.KmipClusterInfo `mo:"kmipServers"` -} - -func init() { - t["CryptoManagerKmip"] = reflect.TypeOf((*CryptoManagerKmip)(nil)).Elem() -} - -type CustomFieldsManager struct { - Self types.ManagedObjectReference - - Field []types.CustomFieldDef `mo:"field"` -} - -func (m CustomFieldsManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["CustomFieldsManager"] = reflect.TypeOf((*CustomFieldsManager)(nil)).Elem() -} - -type CustomizationSpecManager struct { - Self types.ManagedObjectReference - - Info []types.CustomizationSpecInfo `mo:"info"` - EncryptionKey []byte `mo:"encryptionKey"` -} - -func (m CustomizationSpecManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["CustomizationSpecManager"] = reflect.TypeOf((*CustomizationSpecManager)(nil)).Elem() -} - -type Datacenter struct { - ManagedEntity - - VmFolder types.ManagedObjectReference `mo:"vmFolder"` - HostFolder types.ManagedObjectReference `mo:"hostFolder"` - DatastoreFolder types.ManagedObjectReference `mo:"datastoreFolder"` - NetworkFolder types.ManagedObjectReference `mo:"networkFolder"` - Datastore []types.ManagedObjectReference `mo:"datastore"` - Network []types.ManagedObjectReference `mo:"network"` - Configuration types.DatacenterConfigInfo `mo:"configuration"` -} - -func (m *Datacenter) Entity() *ManagedEntity { - return &m.ManagedEntity -} - -func init() { - t["Datacenter"] = reflect.TypeOf((*Datacenter)(nil)).Elem() -} - -type Datastore struct { - ManagedEntity - - Info types.BaseDatastoreInfo `mo:"info"` - Summary types.DatastoreSummary `mo:"summary"` - Host []types.DatastoreHostMount `mo:"host"` - Vm []types.ManagedObjectReference `mo:"vm"` - Browser types.ManagedObjectReference `mo:"browser"` - Capability types.DatastoreCapability `mo:"capability"` - IormConfiguration *types.StorageIORMInfo `mo:"iormConfiguration"` -} - -func (m *Datastore) Entity() *ManagedEntity { - return &m.ManagedEntity -} - -func init() { - t["Datastore"] = reflect.TypeOf((*Datastore)(nil)).Elem() -} - -type DatastoreNamespaceManager struct { - Self types.ManagedObjectReference -} - -func (m DatastoreNamespaceManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["DatastoreNamespaceManager"] = reflect.TypeOf((*DatastoreNamespaceManager)(nil)).Elem() -} - -type DiagnosticManager struct { - Self types.ManagedObjectReference -} - -func (m DiagnosticManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["DiagnosticManager"] = reflect.TypeOf((*DiagnosticManager)(nil)).Elem() -} - -type DistributedVirtualPortgroup struct { - Network - - Key string `mo:"key"` - Config types.DVPortgroupConfigInfo `mo:"config"` - PortKeys []string `mo:"portKeys"` -} - -func init() { - t["DistributedVirtualPortgroup"] = reflect.TypeOf((*DistributedVirtualPortgroup)(nil)).Elem() -} - -type DistributedVirtualSwitch struct { - ManagedEntity - - Uuid string `mo:"uuid"` - Capability types.DVSCapability `mo:"capability"` - Summary types.DVSSummary `mo:"summary"` - Config types.BaseDVSConfigInfo `mo:"config"` - NetworkResourcePool []types.DVSNetworkResourcePool `mo:"networkResourcePool"` - Portgroup []types.ManagedObjectReference `mo:"portgroup"` - Runtime *types.DVSRuntimeInfo `mo:"runtime"` -} - -func (m *DistributedVirtualSwitch) Entity() *ManagedEntity { - return &m.ManagedEntity -} - -func init() { - t["DistributedVirtualSwitch"] = reflect.TypeOf((*DistributedVirtualSwitch)(nil)).Elem() -} - -type DistributedVirtualSwitchManager struct { - Self types.ManagedObjectReference -} - -func (m DistributedVirtualSwitchManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["DistributedVirtualSwitchManager"] = reflect.TypeOf((*DistributedVirtualSwitchManager)(nil)).Elem() -} - -type EnvironmentBrowser struct { - Self types.ManagedObjectReference - - DatastoreBrowser *types.ManagedObjectReference `mo:"datastoreBrowser"` -} - -func (m EnvironmentBrowser) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["EnvironmentBrowser"] = reflect.TypeOf((*EnvironmentBrowser)(nil)).Elem() -} - -type EventHistoryCollector struct { - HistoryCollector - - LatestPage []types.BaseEvent `mo:"latestPage"` -} - -func init() { - t["EventHistoryCollector"] = reflect.TypeOf((*EventHistoryCollector)(nil)).Elem() -} - -type EventManager struct { - Self types.ManagedObjectReference - - Description types.EventDescription `mo:"description"` - LatestEvent types.BaseEvent `mo:"latestEvent"` - MaxCollector int32 `mo:"maxCollector"` -} - -func (m EventManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["EventManager"] = reflect.TypeOf((*EventManager)(nil)).Elem() -} - -type ExtensibleManagedObject struct { - Self types.ManagedObjectReference - - Value []types.BaseCustomFieldValue `mo:"value"` - AvailableField []types.CustomFieldDef `mo:"availableField"` -} - -func (m ExtensibleManagedObject) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["ExtensibleManagedObject"] = reflect.TypeOf((*ExtensibleManagedObject)(nil)).Elem() -} - -type ExtensionManager struct { - Self types.ManagedObjectReference - - ExtensionList []types.Extension `mo:"extensionList"` -} - -func (m ExtensionManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["ExtensionManager"] = reflect.TypeOf((*ExtensionManager)(nil)).Elem() -} - -type FailoverClusterConfigurator struct { - Self types.ManagedObjectReference - - DisabledConfigureMethod []string `mo:"disabledConfigureMethod"` -} - -func (m FailoverClusterConfigurator) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["FailoverClusterConfigurator"] = reflect.TypeOf((*FailoverClusterConfigurator)(nil)).Elem() -} - -type FailoverClusterManager struct { - Self types.ManagedObjectReference - - DisabledClusterMethod []string `mo:"disabledClusterMethod"` -} - -func (m FailoverClusterManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["FailoverClusterManager"] = reflect.TypeOf((*FailoverClusterManager)(nil)).Elem() -} - -type FileManager struct { - Self types.ManagedObjectReference -} - -func (m FileManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["FileManager"] = reflect.TypeOf((*FileManager)(nil)).Elem() -} - -type Folder struct { - ManagedEntity - - ChildType []string `mo:"childType"` - ChildEntity []types.ManagedObjectReference `mo:"childEntity"` - Namespace *string `mo:"namespace"` -} - -func (m *Folder) Entity() *ManagedEntity { - return &m.ManagedEntity -} - -func init() { - t["Folder"] = reflect.TypeOf((*Folder)(nil)).Elem() -} - -type GuestAliasManager struct { - Self types.ManagedObjectReference -} - -func (m GuestAliasManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["GuestAliasManager"] = reflect.TypeOf((*GuestAliasManager)(nil)).Elem() -} - -type GuestAuthManager struct { - Self types.ManagedObjectReference -} - -func (m GuestAuthManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["GuestAuthManager"] = reflect.TypeOf((*GuestAuthManager)(nil)).Elem() -} - -type GuestFileManager struct { - Self types.ManagedObjectReference -} - -func (m GuestFileManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["GuestFileManager"] = reflect.TypeOf((*GuestFileManager)(nil)).Elem() -} - -type GuestOperationsManager struct { - Self types.ManagedObjectReference - - AuthManager *types.ManagedObjectReference `mo:"authManager"` - FileManager *types.ManagedObjectReference `mo:"fileManager"` - ProcessManager *types.ManagedObjectReference `mo:"processManager"` - GuestWindowsRegistryManager *types.ManagedObjectReference `mo:"guestWindowsRegistryManager"` - AliasManager *types.ManagedObjectReference `mo:"aliasManager"` -} - -func (m GuestOperationsManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["GuestOperationsManager"] = reflect.TypeOf((*GuestOperationsManager)(nil)).Elem() -} - -type GuestProcessManager struct { - Self types.ManagedObjectReference -} - -func (m GuestProcessManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["GuestProcessManager"] = reflect.TypeOf((*GuestProcessManager)(nil)).Elem() -} - -type GuestWindowsRegistryManager struct { - Self types.ManagedObjectReference -} - -func (m GuestWindowsRegistryManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["GuestWindowsRegistryManager"] = reflect.TypeOf((*GuestWindowsRegistryManager)(nil)).Elem() -} - -type HealthUpdateManager struct { - Self types.ManagedObjectReference -} - -func (m HealthUpdateManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["HealthUpdateManager"] = reflect.TypeOf((*HealthUpdateManager)(nil)).Elem() -} - -type HistoryCollector struct { - Self types.ManagedObjectReference - - Filter types.AnyType `mo:"filter"` -} - -func (m HistoryCollector) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["HistoryCollector"] = reflect.TypeOf((*HistoryCollector)(nil)).Elem() -} - -type HostAccessManager struct { - Self types.ManagedObjectReference - - LockdownMode types.HostLockdownMode `mo:"lockdownMode"` -} - -func (m HostAccessManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["HostAccessManager"] = reflect.TypeOf((*HostAccessManager)(nil)).Elem() -} - -type HostActiveDirectoryAuthentication struct { - HostDirectoryStore -} - -func init() { - t["HostActiveDirectoryAuthentication"] = reflect.TypeOf((*HostActiveDirectoryAuthentication)(nil)).Elem() -} - -type HostAssignableHardwareManager struct { - Self types.ManagedObjectReference - - Binding []types.HostAssignableHardwareBinding `mo:"binding"` - Config types.HostAssignableHardwareConfig `mo:"config"` -} - -func (m HostAssignableHardwareManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["HostAssignableHardwareManager"] = reflect.TypeOf((*HostAssignableHardwareManager)(nil)).Elem() -} - -type HostAuthenticationManager struct { - Self types.ManagedObjectReference - - Info types.HostAuthenticationManagerInfo `mo:"info"` - SupportedStore []types.ManagedObjectReference `mo:"supportedStore"` -} - -func (m HostAuthenticationManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["HostAuthenticationManager"] = reflect.TypeOf((*HostAuthenticationManager)(nil)).Elem() -} - -type HostAuthenticationStore struct { - Self types.ManagedObjectReference - - Info types.BaseHostAuthenticationStoreInfo `mo:"info"` -} - -func (m HostAuthenticationStore) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["HostAuthenticationStore"] = reflect.TypeOf((*HostAuthenticationStore)(nil)).Elem() -} - -type HostAutoStartManager struct { - Self types.ManagedObjectReference - - Config types.HostAutoStartManagerConfig `mo:"config"` -} - -func (m HostAutoStartManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["HostAutoStartManager"] = reflect.TypeOf((*HostAutoStartManager)(nil)).Elem() -} - -type HostBootDeviceSystem struct { - Self types.ManagedObjectReference -} - -func (m HostBootDeviceSystem) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["HostBootDeviceSystem"] = reflect.TypeOf((*HostBootDeviceSystem)(nil)).Elem() -} - -type HostCacheConfigurationManager struct { - Self types.ManagedObjectReference - - CacheConfigurationInfo []types.HostCacheConfigurationInfo `mo:"cacheConfigurationInfo"` -} - -func (m HostCacheConfigurationManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["HostCacheConfigurationManager"] = reflect.TypeOf((*HostCacheConfigurationManager)(nil)).Elem() -} - -type HostCertificateManager struct { - Self types.ManagedObjectReference - - CertificateInfo types.HostCertificateManagerCertificateInfo `mo:"certificateInfo"` -} - -func (m HostCertificateManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["HostCertificateManager"] = reflect.TypeOf((*HostCertificateManager)(nil)).Elem() -} - -type HostCpuSchedulerSystem struct { - ExtensibleManagedObject - - HyperthreadInfo *types.HostHyperThreadScheduleInfo `mo:"hyperthreadInfo"` -} - -func init() { - t["HostCpuSchedulerSystem"] = reflect.TypeOf((*HostCpuSchedulerSystem)(nil)).Elem() -} - -type HostDatastoreBrowser struct { - Self types.ManagedObjectReference - - Datastore []types.ManagedObjectReference `mo:"datastore"` - SupportedType []types.BaseFileQuery `mo:"supportedType"` -} - -func (m HostDatastoreBrowser) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["HostDatastoreBrowser"] = reflect.TypeOf((*HostDatastoreBrowser)(nil)).Elem() -} - -type HostDatastoreSystem struct { - Self types.ManagedObjectReference - - Datastore []types.ManagedObjectReference `mo:"datastore"` - Capabilities types.HostDatastoreSystemCapabilities `mo:"capabilities"` -} - -func (m HostDatastoreSystem) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["HostDatastoreSystem"] = reflect.TypeOf((*HostDatastoreSystem)(nil)).Elem() -} - -type HostDateTimeSystem struct { - Self types.ManagedObjectReference - - DateTimeInfo types.HostDateTimeInfo `mo:"dateTimeInfo"` -} - -func (m HostDateTimeSystem) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["HostDateTimeSystem"] = reflect.TypeOf((*HostDateTimeSystem)(nil)).Elem() -} - -type HostDiagnosticSystem struct { - Self types.ManagedObjectReference - - ActivePartition *types.HostDiagnosticPartition `mo:"activePartition"` -} - -func (m HostDiagnosticSystem) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["HostDiagnosticSystem"] = reflect.TypeOf((*HostDiagnosticSystem)(nil)).Elem() -} - -type HostDirectoryStore struct { - HostAuthenticationStore -} - -func init() { - t["HostDirectoryStore"] = reflect.TypeOf((*HostDirectoryStore)(nil)).Elem() -} - -type HostEsxAgentHostManager struct { - Self types.ManagedObjectReference - - ConfigInfo types.HostEsxAgentHostManagerConfigInfo `mo:"configInfo"` -} - -func (m HostEsxAgentHostManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["HostEsxAgentHostManager"] = reflect.TypeOf((*HostEsxAgentHostManager)(nil)).Elem() -} - -type HostFirewallSystem struct { - ExtensibleManagedObject - - FirewallInfo *types.HostFirewallInfo `mo:"firewallInfo"` -} - -func init() { - t["HostFirewallSystem"] = reflect.TypeOf((*HostFirewallSystem)(nil)).Elem() -} - -type HostFirmwareSystem struct { - Self types.ManagedObjectReference -} - -func (m HostFirmwareSystem) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["HostFirmwareSystem"] = reflect.TypeOf((*HostFirmwareSystem)(nil)).Elem() -} - -type HostGraphicsManager struct { - ExtensibleManagedObject - - GraphicsInfo []types.HostGraphicsInfo `mo:"graphicsInfo"` - GraphicsConfig *types.HostGraphicsConfig `mo:"graphicsConfig"` - SharedPassthruGpuTypes []string `mo:"sharedPassthruGpuTypes"` - SharedGpuCapabilities []types.HostSharedGpuCapabilities `mo:"sharedGpuCapabilities"` -} - -func init() { - t["HostGraphicsManager"] = reflect.TypeOf((*HostGraphicsManager)(nil)).Elem() -} - -type HostHealthStatusSystem struct { - Self types.ManagedObjectReference - - Runtime types.HealthSystemRuntime `mo:"runtime"` -} - -func (m HostHealthStatusSystem) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["HostHealthStatusSystem"] = reflect.TypeOf((*HostHealthStatusSystem)(nil)).Elem() -} - -type HostImageConfigManager struct { - Self types.ManagedObjectReference -} - -func (m HostImageConfigManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["HostImageConfigManager"] = reflect.TypeOf((*HostImageConfigManager)(nil)).Elem() -} - -type HostKernelModuleSystem struct { - Self types.ManagedObjectReference -} - -func (m HostKernelModuleSystem) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["HostKernelModuleSystem"] = reflect.TypeOf((*HostKernelModuleSystem)(nil)).Elem() -} - -type HostLocalAccountManager struct { - Self types.ManagedObjectReference -} - -func (m HostLocalAccountManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["HostLocalAccountManager"] = reflect.TypeOf((*HostLocalAccountManager)(nil)).Elem() -} - -type HostLocalAuthentication struct { - HostAuthenticationStore -} - -func init() { - t["HostLocalAuthentication"] = reflect.TypeOf((*HostLocalAuthentication)(nil)).Elem() -} - -type HostMemorySystem struct { - ExtensibleManagedObject - - ConsoleReservationInfo *types.ServiceConsoleReservationInfo `mo:"consoleReservationInfo"` - VirtualMachineReservationInfo *types.VirtualMachineMemoryReservationInfo `mo:"virtualMachineReservationInfo"` -} - -func init() { - t["HostMemorySystem"] = reflect.TypeOf((*HostMemorySystem)(nil)).Elem() -} - -type HostNetworkSystem struct { - ExtensibleManagedObject - - Capabilities *types.HostNetCapabilities `mo:"capabilities"` - NetworkInfo *types.HostNetworkInfo `mo:"networkInfo"` - OffloadCapabilities *types.HostNetOffloadCapabilities `mo:"offloadCapabilities"` - NetworkConfig *types.HostNetworkConfig `mo:"networkConfig"` - DnsConfig types.BaseHostDnsConfig `mo:"dnsConfig"` - IpRouteConfig types.BaseHostIpRouteConfig `mo:"ipRouteConfig"` - ConsoleIpRouteConfig types.BaseHostIpRouteConfig `mo:"consoleIpRouteConfig"` -} - -func init() { - t["HostNetworkSystem"] = reflect.TypeOf((*HostNetworkSystem)(nil)).Elem() -} - -type HostNvdimmSystem struct { - Self types.ManagedObjectReference - - NvdimmSystemInfo types.NvdimmSystemInfo `mo:"nvdimmSystemInfo"` -} - -func (m HostNvdimmSystem) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["HostNvdimmSystem"] = reflect.TypeOf((*HostNvdimmSystem)(nil)).Elem() -} - -type HostPatchManager struct { - Self types.ManagedObjectReference -} - -func (m HostPatchManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["HostPatchManager"] = reflect.TypeOf((*HostPatchManager)(nil)).Elem() -} - -type HostPciPassthruSystem struct { - ExtensibleManagedObject - - PciPassthruInfo []types.BaseHostPciPassthruInfo `mo:"pciPassthruInfo"` - SriovDevicePoolInfo []types.BaseHostSriovDevicePoolInfo `mo:"sriovDevicePoolInfo"` -} - -func init() { - t["HostPciPassthruSystem"] = reflect.TypeOf((*HostPciPassthruSystem)(nil)).Elem() -} - -type HostPowerSystem struct { - Self types.ManagedObjectReference - - Capability types.PowerSystemCapability `mo:"capability"` - Info types.PowerSystemInfo `mo:"info"` -} - -func (m HostPowerSystem) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["HostPowerSystem"] = reflect.TypeOf((*HostPowerSystem)(nil)).Elem() -} - -type HostProfile struct { - Profile - - ValidationState *string `mo:"validationState"` - ValidationStateUpdateTime *time.Time `mo:"validationStateUpdateTime"` - ValidationFailureInfo *types.HostProfileValidationFailureInfo `mo:"validationFailureInfo"` - ReferenceHost *types.ManagedObjectReference `mo:"referenceHost"` -} - -func init() { - t["HostProfile"] = reflect.TypeOf((*HostProfile)(nil)).Elem() -} - -type HostProfileManager struct { - ProfileManager -} - -func init() { - t["HostProfileManager"] = reflect.TypeOf((*HostProfileManager)(nil)).Elem() -} - -type HostServiceSystem struct { - ExtensibleManagedObject - - ServiceInfo types.HostServiceInfo `mo:"serviceInfo"` -} - -func init() { - t["HostServiceSystem"] = reflect.TypeOf((*HostServiceSystem)(nil)).Elem() -} - -type HostSnmpSystem struct { - Self types.ManagedObjectReference - - Configuration types.HostSnmpConfigSpec `mo:"configuration"` - Limits types.HostSnmpSystemAgentLimits `mo:"limits"` -} - -func (m HostSnmpSystem) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["HostSnmpSystem"] = reflect.TypeOf((*HostSnmpSystem)(nil)).Elem() -} - -type HostSpecificationManager struct { - Self types.ManagedObjectReference -} - -func (m HostSpecificationManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["HostSpecificationManager"] = reflect.TypeOf((*HostSpecificationManager)(nil)).Elem() -} - -type HostStorageSystem struct { - ExtensibleManagedObject - - StorageDeviceInfo *types.HostStorageDeviceInfo `mo:"storageDeviceInfo"` - FileSystemVolumeInfo types.HostFileSystemVolumeInfo `mo:"fileSystemVolumeInfo"` - SystemFile []string `mo:"systemFile"` - MultipathStateInfo *types.HostMultipathStateInfo `mo:"multipathStateInfo"` -} - -func init() { - t["HostStorageSystem"] = reflect.TypeOf((*HostStorageSystem)(nil)).Elem() -} - -type HostSystem struct { - ManagedEntity - - Runtime types.HostRuntimeInfo `mo:"runtime"` - Summary types.HostListSummary `mo:"summary"` - Hardware *types.HostHardwareInfo `mo:"hardware"` - Capability *types.HostCapability `mo:"capability"` - LicensableResource types.HostLicensableResourceInfo `mo:"licensableResource"` - RemediationState *types.HostSystemRemediationState `mo:"remediationState"` - PrecheckRemediationResult *types.ApplyHostProfileConfigurationSpec `mo:"precheckRemediationResult"` - RemediationResult *types.ApplyHostProfileConfigurationResult `mo:"remediationResult"` - ComplianceCheckState *types.HostSystemComplianceCheckState `mo:"complianceCheckState"` - ComplianceCheckResult *types.ComplianceResult `mo:"complianceCheckResult"` - ConfigManager types.HostConfigManager `mo:"configManager"` - Config *types.HostConfigInfo `mo:"config"` - Vm []types.ManagedObjectReference `mo:"vm"` - Datastore []types.ManagedObjectReference `mo:"datastore"` - Network []types.ManagedObjectReference `mo:"network"` - DatastoreBrowser types.ManagedObjectReference `mo:"datastoreBrowser"` - SystemResources *types.HostSystemResourceInfo `mo:"systemResources"` - AnswerFileValidationState *types.AnswerFileStatusResult `mo:"answerFileValidationState"` - AnswerFileValidationResult *types.AnswerFileStatusResult `mo:"answerFileValidationResult"` -} - -func (m *HostSystem) Entity() *ManagedEntity { - return &m.ManagedEntity -} - -func init() { - t["HostSystem"] = reflect.TypeOf((*HostSystem)(nil)).Elem() -} - -type HostVFlashManager struct { - Self types.ManagedObjectReference - - VFlashConfigInfo *types.HostVFlashManagerVFlashConfigInfo `mo:"vFlashConfigInfo"` -} - -func (m HostVFlashManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["HostVFlashManager"] = reflect.TypeOf((*HostVFlashManager)(nil)).Elem() -} - -type HostVMotionSystem struct { - ExtensibleManagedObject - - NetConfig *types.HostVMotionNetConfig `mo:"netConfig"` - IpConfig *types.HostIpConfig `mo:"ipConfig"` -} - -func init() { - t["HostVMotionSystem"] = reflect.TypeOf((*HostVMotionSystem)(nil)).Elem() -} - -type HostVStorageObjectManager struct { - VStorageObjectManagerBase -} - -func init() { - t["HostVStorageObjectManager"] = reflect.TypeOf((*HostVStorageObjectManager)(nil)).Elem() -} - -type HostVirtualNicManager struct { - ExtensibleManagedObject - - Info types.HostVirtualNicManagerInfo `mo:"info"` -} - -func init() { - t["HostVirtualNicManager"] = reflect.TypeOf((*HostVirtualNicManager)(nil)).Elem() -} - -type HostVsanInternalSystem struct { - Self types.ManagedObjectReference -} - -func (m HostVsanInternalSystem) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["HostVsanInternalSystem"] = reflect.TypeOf((*HostVsanInternalSystem)(nil)).Elem() -} - -type HostVsanSystem struct { - Self types.ManagedObjectReference - - Config types.VsanHostConfigInfo `mo:"config"` -} - -func (m HostVsanSystem) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["HostVsanSystem"] = reflect.TypeOf((*HostVsanSystem)(nil)).Elem() -} - -type HttpNfcLease struct { - Self types.ManagedObjectReference - - InitializeProgress int32 `mo:"initializeProgress"` - TransferProgress int32 `mo:"transferProgress"` - Mode string `mo:"mode"` - Capabilities types.HttpNfcLeaseCapabilities `mo:"capabilities"` - Info *types.HttpNfcLeaseInfo `mo:"info"` - State types.HttpNfcLeaseState `mo:"state"` - Error *types.LocalizedMethodFault `mo:"error"` -} - -func (m HttpNfcLease) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["HttpNfcLease"] = reflect.TypeOf((*HttpNfcLease)(nil)).Elem() -} - -type InventoryView struct { - ManagedObjectView -} - -func init() { - t["InventoryView"] = reflect.TypeOf((*InventoryView)(nil)).Elem() -} - -type IoFilterManager struct { - Self types.ManagedObjectReference -} - -func (m IoFilterManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["IoFilterManager"] = reflect.TypeOf((*IoFilterManager)(nil)).Elem() -} - -type IpPoolManager struct { - Self types.ManagedObjectReference -} - -func (m IpPoolManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["IpPoolManager"] = reflect.TypeOf((*IpPoolManager)(nil)).Elem() -} - -type IscsiManager struct { - Self types.ManagedObjectReference -} - -func (m IscsiManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["IscsiManager"] = reflect.TypeOf((*IscsiManager)(nil)).Elem() -} - -type LicenseAssignmentManager struct { - Self types.ManagedObjectReference -} - -func (m LicenseAssignmentManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["LicenseAssignmentManager"] = reflect.TypeOf((*LicenseAssignmentManager)(nil)).Elem() -} - -type LicenseManager struct { - Self types.ManagedObjectReference - - Source types.BaseLicenseSource `mo:"source"` - SourceAvailable bool `mo:"sourceAvailable"` - Diagnostics *types.LicenseDiagnostics `mo:"diagnostics"` - FeatureInfo []types.LicenseFeatureInfo `mo:"featureInfo"` - LicensedEdition string `mo:"licensedEdition"` - Licenses []types.LicenseManagerLicenseInfo `mo:"licenses"` - LicenseAssignmentManager *types.ManagedObjectReference `mo:"licenseAssignmentManager"` - Evaluation types.LicenseManagerEvaluationInfo `mo:"evaluation"` -} - -func (m LicenseManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["LicenseManager"] = reflect.TypeOf((*LicenseManager)(nil)).Elem() -} - -type ListView struct { - ManagedObjectView -} - -func init() { - t["ListView"] = reflect.TypeOf((*ListView)(nil)).Elem() -} - -type LocalizationManager struct { - Self types.ManagedObjectReference - - Catalog []types.LocalizationManagerMessageCatalog `mo:"catalog"` -} - -func (m LocalizationManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["LocalizationManager"] = reflect.TypeOf((*LocalizationManager)(nil)).Elem() -} - -type ManagedEntity struct { - ExtensibleManagedObject - - Parent *types.ManagedObjectReference `mo:"parent"` - CustomValue []types.BaseCustomFieldValue `mo:"customValue"` - OverallStatus types.ManagedEntityStatus `mo:"overallStatus"` - ConfigStatus types.ManagedEntityStatus `mo:"configStatus"` - ConfigIssue []types.BaseEvent `mo:"configIssue"` - EffectiveRole []int32 `mo:"effectiveRole"` - Permission []types.Permission `mo:"permission"` - Name string `mo:"name"` - DisabledMethod []string `mo:"disabledMethod"` - RecentTask []types.ManagedObjectReference `mo:"recentTask"` - DeclaredAlarmState []types.AlarmState `mo:"declaredAlarmState"` - TriggeredAlarmState []types.AlarmState `mo:"triggeredAlarmState"` - AlarmActionsEnabled *bool `mo:"alarmActionsEnabled"` - Tag []types.Tag `mo:"tag"` -} - -func init() { - t["ManagedEntity"] = reflect.TypeOf((*ManagedEntity)(nil)).Elem() -} - -type ManagedObjectView struct { - Self types.ManagedObjectReference - - View []types.ManagedObjectReference `mo:"view"` -} - -func (m ManagedObjectView) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["ManagedObjectView"] = reflect.TypeOf((*ManagedObjectView)(nil)).Elem() -} - -type MessageBusProxy struct { - Self types.ManagedObjectReference -} - -func (m MessageBusProxy) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["MessageBusProxy"] = reflect.TypeOf((*MessageBusProxy)(nil)).Elem() -} - -type Network struct { - ManagedEntity - - Summary types.BaseNetworkSummary `mo:"summary"` - Host []types.ManagedObjectReference `mo:"host"` - Vm []types.ManagedObjectReference `mo:"vm"` - Name string `mo:"name"` -} - -func (m *Network) Entity() *ManagedEntity { - return &m.ManagedEntity -} - -func init() { - t["Network"] = reflect.TypeOf((*Network)(nil)).Elem() -} - -type OpaqueNetwork struct { - Network - - Capability *types.OpaqueNetworkCapability `mo:"capability"` - ExtraConfig []types.BaseOptionValue `mo:"extraConfig"` -} - -func init() { - t["OpaqueNetwork"] = reflect.TypeOf((*OpaqueNetwork)(nil)).Elem() -} - -type OptionManager struct { - Self types.ManagedObjectReference - - SupportedOption []types.OptionDef `mo:"supportedOption"` - Setting []types.BaseOptionValue `mo:"setting"` -} - -func (m OptionManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["OptionManager"] = reflect.TypeOf((*OptionManager)(nil)).Elem() -} - -type OverheadMemoryManager struct { - Self types.ManagedObjectReference -} - -func (m OverheadMemoryManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["OverheadMemoryManager"] = reflect.TypeOf((*OverheadMemoryManager)(nil)).Elem() -} - -type OvfManager struct { - Self types.ManagedObjectReference - - OvfImportOption []types.OvfOptionInfo `mo:"ovfImportOption"` - OvfExportOption []types.OvfOptionInfo `mo:"ovfExportOption"` -} - -func (m OvfManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["OvfManager"] = reflect.TypeOf((*OvfManager)(nil)).Elem() -} - -type PerformanceManager struct { - Self types.ManagedObjectReference - - Description types.PerformanceDescription `mo:"description"` - HistoricalInterval []types.PerfInterval `mo:"historicalInterval"` - PerfCounter []types.PerfCounterInfo `mo:"perfCounter"` -} - -func (m PerformanceManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["PerformanceManager"] = reflect.TypeOf((*PerformanceManager)(nil)).Elem() -} - -type Profile struct { - Self types.ManagedObjectReference - - Config types.BaseProfileConfigInfo `mo:"config"` - Description *types.ProfileDescription `mo:"description"` - Name string `mo:"name"` - CreatedTime time.Time `mo:"createdTime"` - ModifiedTime time.Time `mo:"modifiedTime"` - Entity []types.ManagedObjectReference `mo:"entity"` - ComplianceStatus string `mo:"complianceStatus"` -} - -func (m Profile) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["Profile"] = reflect.TypeOf((*Profile)(nil)).Elem() -} - -type ProfileComplianceManager struct { - Self types.ManagedObjectReference -} - -func (m ProfileComplianceManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["ProfileComplianceManager"] = reflect.TypeOf((*ProfileComplianceManager)(nil)).Elem() -} - -type ProfileManager struct { - Self types.ManagedObjectReference - - Profile []types.ManagedObjectReference `mo:"profile"` -} - -func (m ProfileManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["ProfileManager"] = reflect.TypeOf((*ProfileManager)(nil)).Elem() -} - -type PropertyCollector struct { - Self types.ManagedObjectReference - - Filter []types.ManagedObjectReference `mo:"filter"` -} - -func (m PropertyCollector) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["PropertyCollector"] = reflect.TypeOf((*PropertyCollector)(nil)).Elem() -} - -type PropertyFilter struct { - Self types.ManagedObjectReference - - Spec types.PropertyFilterSpec `mo:"spec"` - PartialUpdates bool `mo:"partialUpdates"` -} - -func (m PropertyFilter) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["PropertyFilter"] = reflect.TypeOf((*PropertyFilter)(nil)).Elem() -} - -type ResourcePlanningManager struct { - Self types.ManagedObjectReference -} - -func (m ResourcePlanningManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["ResourcePlanningManager"] = reflect.TypeOf((*ResourcePlanningManager)(nil)).Elem() -} - -type ResourcePool struct { - ManagedEntity - - Summary types.BaseResourcePoolSummary `mo:"summary"` - Runtime types.ResourcePoolRuntimeInfo `mo:"runtime"` - Owner types.ManagedObjectReference `mo:"owner"` - ResourcePool []types.ManagedObjectReference `mo:"resourcePool"` - Vm []types.ManagedObjectReference `mo:"vm"` - Config types.ResourceConfigSpec `mo:"config"` - Namespace *string `mo:"namespace"` - ChildConfiguration []types.ResourceConfigSpec `mo:"childConfiguration"` -} - -func (m *ResourcePool) Entity() *ManagedEntity { - return &m.ManagedEntity -} - -func init() { - t["ResourcePool"] = reflect.TypeOf((*ResourcePool)(nil)).Elem() -} - -type ScheduledTask struct { - ExtensibleManagedObject - - Info types.ScheduledTaskInfo `mo:"info"` -} - -func init() { - t["ScheduledTask"] = reflect.TypeOf((*ScheduledTask)(nil)).Elem() -} - -type ScheduledTaskManager struct { - Self types.ManagedObjectReference - - ScheduledTask []types.ManagedObjectReference `mo:"scheduledTask"` - Description types.ScheduledTaskDescription `mo:"description"` -} - -func (m ScheduledTaskManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["ScheduledTaskManager"] = reflect.TypeOf((*ScheduledTaskManager)(nil)).Elem() -} - -type SearchIndex struct { - Self types.ManagedObjectReference -} - -func (m SearchIndex) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["SearchIndex"] = reflect.TypeOf((*SearchIndex)(nil)).Elem() -} - -type ServiceInstance struct { - Self types.ManagedObjectReference - - ServerClock time.Time `mo:"serverClock"` - Capability types.Capability `mo:"capability"` - Content types.ServiceContent `mo:"content"` -} - -func (m ServiceInstance) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["ServiceInstance"] = reflect.TypeOf((*ServiceInstance)(nil)).Elem() -} - -type ServiceManager struct { - Self types.ManagedObjectReference - - Service []types.ServiceManagerServiceInfo `mo:"service"` -} - -func (m ServiceManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["ServiceManager"] = reflect.TypeOf((*ServiceManager)(nil)).Elem() -} - -type SessionManager struct { - Self types.ManagedObjectReference - - SessionList []types.UserSession `mo:"sessionList"` - CurrentSession *types.UserSession `mo:"currentSession"` - Message *string `mo:"message"` - MessageLocaleList []string `mo:"messageLocaleList"` - SupportedLocaleList []string `mo:"supportedLocaleList"` - DefaultLocale string `mo:"defaultLocale"` -} - -func (m SessionManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["SessionManager"] = reflect.TypeOf((*SessionManager)(nil)).Elem() -} - -type SimpleCommand struct { - Self types.ManagedObjectReference - - EncodingType types.SimpleCommandEncoding `mo:"encodingType"` - Entity types.ServiceManagerServiceInfo `mo:"entity"` -} - -func (m SimpleCommand) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["SimpleCommand"] = reflect.TypeOf((*SimpleCommand)(nil)).Elem() -} - -type SiteInfoManager struct { - Self types.ManagedObjectReference -} - -func (m SiteInfoManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["SiteInfoManager"] = reflect.TypeOf((*SiteInfoManager)(nil)).Elem() -} - -type StoragePod struct { - Folder - - Summary *types.StoragePodSummary `mo:"summary"` - PodStorageDrsEntry *types.PodStorageDrsEntry `mo:"podStorageDrsEntry"` -} - -func init() { - t["StoragePod"] = reflect.TypeOf((*StoragePod)(nil)).Elem() -} - -type StorageQueryManager struct { - Self types.ManagedObjectReference -} - -func (m StorageQueryManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["StorageQueryManager"] = reflect.TypeOf((*StorageQueryManager)(nil)).Elem() -} - -type StorageResourceManager struct { - Self types.ManagedObjectReference -} - -func (m StorageResourceManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["StorageResourceManager"] = reflect.TypeOf((*StorageResourceManager)(nil)).Elem() -} - -type Task struct { - ExtensibleManagedObject - - Info types.TaskInfo `mo:"info"` -} - -func init() { - t["Task"] = reflect.TypeOf((*Task)(nil)).Elem() -} - -type TaskHistoryCollector struct { - HistoryCollector - - LatestPage []types.TaskInfo `mo:"latestPage"` -} - -func init() { - t["TaskHistoryCollector"] = reflect.TypeOf((*TaskHistoryCollector)(nil)).Elem() -} - -type TaskManager struct { - Self types.ManagedObjectReference - - RecentTask []types.ManagedObjectReference `mo:"recentTask"` - Description types.TaskDescription `mo:"description"` - MaxCollector int32 `mo:"maxCollector"` -} - -func (m TaskManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["TaskManager"] = reflect.TypeOf((*TaskManager)(nil)).Elem() -} - -type TenantTenantManager struct { - Self types.ManagedObjectReference -} - -func (m TenantTenantManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["TenantTenantManager"] = reflect.TypeOf((*TenantTenantManager)(nil)).Elem() -} - -type UserDirectory struct { - Self types.ManagedObjectReference - - DomainList []string `mo:"domainList"` -} - -func (m UserDirectory) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["UserDirectory"] = reflect.TypeOf((*UserDirectory)(nil)).Elem() -} - -type VStorageObjectManagerBase struct { - Self types.ManagedObjectReference -} - -func (m VStorageObjectManagerBase) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["VStorageObjectManagerBase"] = reflect.TypeOf((*VStorageObjectManagerBase)(nil)).Elem() -} - -type VcenterVStorageObjectManager struct { - VStorageObjectManagerBase -} - -func init() { - t["VcenterVStorageObjectManager"] = reflect.TypeOf((*VcenterVStorageObjectManager)(nil)).Elem() -} - -type View struct { - Self types.ManagedObjectReference -} - -func (m View) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["View"] = reflect.TypeOf((*View)(nil)).Elem() -} - -type ViewManager struct { - Self types.ManagedObjectReference - - ViewList []types.ManagedObjectReference `mo:"viewList"` -} - -func (m ViewManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["ViewManager"] = reflect.TypeOf((*ViewManager)(nil)).Elem() -} - -type VirtualApp struct { - ResourcePool - - ParentFolder *types.ManagedObjectReference `mo:"parentFolder"` - Datastore []types.ManagedObjectReference `mo:"datastore"` - Network []types.ManagedObjectReference `mo:"network"` - VAppConfig *types.VAppConfigInfo `mo:"vAppConfig"` - ParentVApp *types.ManagedObjectReference `mo:"parentVApp"` - ChildLink []types.VirtualAppLinkInfo `mo:"childLink"` -} - -func init() { - t["VirtualApp"] = reflect.TypeOf((*VirtualApp)(nil)).Elem() -} - -type VirtualDiskManager struct { - Self types.ManagedObjectReference -} - -func (m VirtualDiskManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["VirtualDiskManager"] = reflect.TypeOf((*VirtualDiskManager)(nil)).Elem() -} - -type VirtualMachine struct { - ManagedEntity - - Capability types.VirtualMachineCapability `mo:"capability"` - Config *types.VirtualMachineConfigInfo `mo:"config"` - Layout *types.VirtualMachineFileLayout `mo:"layout"` - LayoutEx *types.VirtualMachineFileLayoutEx `mo:"layoutEx"` - Storage *types.VirtualMachineStorageInfo `mo:"storage"` - EnvironmentBrowser types.ManagedObjectReference `mo:"environmentBrowser"` - ResourcePool *types.ManagedObjectReference `mo:"resourcePool"` - ParentVApp *types.ManagedObjectReference `mo:"parentVApp"` - ResourceConfig *types.ResourceConfigSpec `mo:"resourceConfig"` - Runtime types.VirtualMachineRuntimeInfo `mo:"runtime"` - Guest *types.GuestInfo `mo:"guest"` - Summary types.VirtualMachineSummary `mo:"summary"` - Datastore []types.ManagedObjectReference `mo:"datastore"` - Network []types.ManagedObjectReference `mo:"network"` - Snapshot *types.VirtualMachineSnapshotInfo `mo:"snapshot"` - RootSnapshot []types.ManagedObjectReference `mo:"rootSnapshot"` - GuestHeartbeatStatus types.ManagedEntityStatus `mo:"guestHeartbeatStatus"` -} - -func (m *VirtualMachine) Entity() *ManagedEntity { - return &m.ManagedEntity -} - -func init() { - t["VirtualMachine"] = reflect.TypeOf((*VirtualMachine)(nil)).Elem() -} - -type VirtualMachineCompatibilityChecker struct { - Self types.ManagedObjectReference -} - -func (m VirtualMachineCompatibilityChecker) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["VirtualMachineCompatibilityChecker"] = reflect.TypeOf((*VirtualMachineCompatibilityChecker)(nil)).Elem() -} - -type VirtualMachineGuestCustomizationManager struct { - Self types.ManagedObjectReference -} - -func (m VirtualMachineGuestCustomizationManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["VirtualMachineGuestCustomizationManager"] = reflect.TypeOf((*VirtualMachineGuestCustomizationManager)(nil)).Elem() -} - -type VirtualMachineProvisioningChecker struct { - Self types.ManagedObjectReference -} - -func (m VirtualMachineProvisioningChecker) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["VirtualMachineProvisioningChecker"] = reflect.TypeOf((*VirtualMachineProvisioningChecker)(nil)).Elem() -} - -type VirtualMachineSnapshot struct { - ExtensibleManagedObject - - Config types.VirtualMachineConfigInfo `mo:"config"` - ChildSnapshot []types.ManagedObjectReference `mo:"childSnapshot"` - Vm types.ManagedObjectReference `mo:"vm"` -} - -func init() { - t["VirtualMachineSnapshot"] = reflect.TypeOf((*VirtualMachineSnapshot)(nil)).Elem() -} - -type VirtualizationManager struct { - Self types.ManagedObjectReference -} - -func (m VirtualizationManager) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["VirtualizationManager"] = reflect.TypeOf((*VirtualizationManager)(nil)).Elem() -} - -type VmwareDistributedVirtualSwitch struct { - DistributedVirtualSwitch -} - -func init() { - t["VmwareDistributedVirtualSwitch"] = reflect.TypeOf((*VmwareDistributedVirtualSwitch)(nil)).Elem() -} - -type VsanUpgradeSystem struct { - Self types.ManagedObjectReference -} - -func (m VsanUpgradeSystem) Reference() types.ManagedObjectReference { - return m.Self -} - -func init() { - t["VsanUpgradeSystem"] = reflect.TypeOf((*VsanUpgradeSystem)(nil)).Elem() -} diff --git a/vendor/github.com/vmware/govmomi/vim25/mo/reference.go b/vendor/github.com/vmware/govmomi/vim25/mo/reference.go deleted file mode 100644 index 465edbe8072..00000000000 --- a/vendor/github.com/vmware/govmomi/vim25/mo/reference.go +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package mo - -import "github.com/vmware/govmomi/vim25/types" - -// Reference is the interface that is implemented by all the managed objects -// defined in this package. It specifies that these managed objects have a -// function that returns the managed object reference to themselves. -type Reference interface { - Reference() types.ManagedObjectReference -} diff --git a/vendor/github.com/vmware/govmomi/vim25/mo/registry.go b/vendor/github.com/vmware/govmomi/vim25/mo/registry.go deleted file mode 100644 index deacf508bba..00000000000 --- a/vendor/github.com/vmware/govmomi/vim25/mo/registry.go +++ /dev/null @@ -1,21 +0,0 @@ -/* -Copyright (c) 2014 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package mo - -import "reflect" - -var t = map[string]reflect.Type{} diff --git a/vendor/github.com/vmware/govmomi/vim25/mo/retrieve.go b/vendor/github.com/vmware/govmomi/vim25/mo/retrieve.go deleted file mode 100644 index e877da063a3..00000000000 --- a/vendor/github.com/vmware/govmomi/vim25/mo/retrieve.go +++ /dev/null @@ -1,255 +0,0 @@ -/* -Copyright (c) 2014-2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package mo - -import ( - "context" - "reflect" - - "github.com/vmware/govmomi/vim25/methods" - "github.com/vmware/govmomi/vim25/soap" - "github.com/vmware/govmomi/vim25/types" -) - -func ignoreMissingProperty(ref types.ManagedObjectReference, p types.MissingProperty) bool { - switch ref.Type { - case "VirtualMachine": - switch p.Path { - case "environmentBrowser": - // See https://github.com/vmware/govmomi/pull/242 - return true - case "alarmActionsEnabled": - // Seen with vApp child VM - return true - } - } - - return false -} - -// ObjectContentToType loads an ObjectContent value into the value it -// represents. If the ObjectContent value has a non-empty 'MissingSet' field, -// it returns the first fault it finds there as error. If the 'MissingSet' -// field is empty, it returns a pointer to a reflect.Value. It handles contain -// nested properties, such as 'guest.ipAddress' or 'config.hardware'. -func ObjectContentToType(o types.ObjectContent, ptr ...bool) (interface{}, error) { - // Expect no properties in the missing set - for _, p := range o.MissingSet { - if ignoreMissingProperty(o.Obj, p) { - continue - } - - return nil, soap.WrapVimFault(p.Fault.Fault) - } - - ti := typeInfoForType(o.Obj.Type) - v, err := ti.LoadFromObjectContent(o) - if err != nil { - return nil, err - } - - if len(ptr) == 1 && ptr[0] { - return v.Interface(), nil - } - return v.Elem().Interface(), nil -} - -// ApplyPropertyChange converts the response of a call to WaitForUpdates -// and applies it to the given managed object. -func ApplyPropertyChange(obj Reference, changes []types.PropertyChange) { - t := typeInfoForType(obj.Reference().Type) - v := reflect.ValueOf(obj) - - for _, p := range changes { - rv, ok := t.props[p.Name] - if !ok { - continue - } - - assignValue(v, rv, reflect.ValueOf(p.Val)) - } -} - -// LoadObjectContent converts the response of a call to -// RetrieveProperties{Ex} to one or more managed objects. -func LoadObjectContent(content []types.ObjectContent, dst interface{}) error { - rt := reflect.TypeOf(dst) - if rt == nil || rt.Kind() != reflect.Ptr { - panic("need pointer") - } - - rv := reflect.ValueOf(dst).Elem() - if !rv.CanSet() { - panic("cannot set dst") - } - - isSlice := false - switch rt.Elem().Kind() { - case reflect.Struct: - case reflect.Slice: - isSlice = true - default: - panic("unexpected type") - } - - if isSlice { - for _, p := range content { - v, err := ObjectContentToType(p) - if err != nil { - return err - } - - vt := reflect.TypeOf(v) - - if !rv.Type().AssignableTo(vt) { - // For example: dst is []ManagedEntity, res is []HostSystem - if field, ok := vt.FieldByName(rt.Elem().Elem().Name()); ok && field.Anonymous { - rv.Set(reflect.Append(rv, reflect.ValueOf(v).FieldByIndex(field.Index))) - continue - } - } - - rv.Set(reflect.Append(rv, reflect.ValueOf(v))) - } - } else { - switch len(content) { - case 0: - case 1: - v, err := ObjectContentToType(content[0]) - if err != nil { - return err - } - - vt := reflect.TypeOf(v) - - if !rv.Type().AssignableTo(vt) { - // For example: dst is ComputeResource, res is ClusterComputeResource - if field, ok := vt.FieldByName(rt.Elem().Name()); ok && field.Anonymous { - rv.Set(reflect.ValueOf(v).FieldByIndex(field.Index)) - return nil - } - } - - rv.Set(reflect.ValueOf(v)) - default: - // If dst is not a slice, expect to receive 0 or 1 results - panic("more than 1 result") - } - } - - return nil -} - -// RetrievePropertiesForRequest calls the RetrieveProperties method with the -// specified request and decodes the response struct into the value pointed to -// by dst. -func RetrievePropertiesForRequest(ctx context.Context, r soap.RoundTripper, req types.RetrieveProperties, dst interface{}) error { - res, err := methods.RetrieveProperties(ctx, r, &req) - if err != nil { - return err - } - - return LoadObjectContent(res.Returnval, dst) -} - -// RetrieveProperties retrieves the properties of the managed object specified -// as obj and decodes the response struct into the value pointed to by dst. -func RetrieveProperties(ctx context.Context, r soap.RoundTripper, pc, obj types.ManagedObjectReference, dst interface{}) error { - req := types.RetrieveProperties{ - This: pc, - SpecSet: []types.PropertyFilterSpec{ - { - ObjectSet: []types.ObjectSpec{ - { - Obj: obj, - Skip: types.NewBool(false), - }, - }, - PropSet: []types.PropertySpec{ - { - All: types.NewBool(true), - Type: obj.Type, - }, - }, - }, - }, - } - - return RetrievePropertiesForRequest(ctx, r, req, dst) -} - -var morType = reflect.TypeOf((*types.ManagedObjectReference)(nil)).Elem() - -// References returns all non-nil moref field values in the given struct. -// Only Anonymous struct fields are followed by default. The optional follow -// param will follow any struct fields when true. -func References(s interface{}, follow ...bool) []types.ManagedObjectReference { - var refs []types.ManagedObjectReference - rval := reflect.ValueOf(s) - rtype := rval.Type() - - if rval.Kind() == reflect.Ptr { - rval = rval.Elem() - rtype = rval.Type() - } - - for i := 0; i < rval.NumField(); i++ { - val := rval.Field(i) - finfo := rtype.Field(i) - - if finfo.Anonymous { - refs = append(refs, References(val.Interface(), follow...)...) - continue - } - if finfo.Name == "Self" { - continue - } - - ftype := val.Type() - - if ftype.Kind() == reflect.Slice { - if ftype.Elem() == morType { - s := val.Interface().([]types.ManagedObjectReference) - for i := range s { - refs = append(refs, s[i]) - } - } - continue - } - - if ftype.Kind() == reflect.Ptr { - if val.IsNil() { - continue - } - val = val.Elem() - ftype = val.Type() - } - - if ftype == morType { - refs = append(refs, val.Interface().(types.ManagedObjectReference)) - continue - } - - if len(follow) != 0 && follow[0] { - if ftype.Kind() == reflect.Struct && val.CanSet() { - refs = append(refs, References(val.Interface(), follow...)...) - } - } - } - - return refs -} diff --git a/vendor/github.com/vmware/govmomi/vim25/mo/type_info.go b/vendor/github.com/vmware/govmomi/vim25/mo/type_info.go deleted file mode 100644 index aeb7d4a7980..00000000000 --- a/vendor/github.com/vmware/govmomi/vim25/mo/type_info.go +++ /dev/null @@ -1,263 +0,0 @@ -/* -Copyright (c) 2014 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package mo - -import ( - "fmt" - "reflect" - "regexp" - "strings" - "sync" - - "github.com/vmware/govmomi/vim25/types" -) - -type typeInfo struct { - typ reflect.Type - - // Field indices of "Self" field. - self []int - - // Map property names to field indices. - props map[string][]int -} - -var typeInfoLock sync.RWMutex -var typeInfoMap = make(map[string]*typeInfo) - -func typeInfoForType(tname string) *typeInfo { - typeInfoLock.RLock() - ti, ok := typeInfoMap[tname] - typeInfoLock.RUnlock() - - if ok { - return ti - } - - // Create new typeInfo for type. - if typ, ok := t[tname]; !ok { - panic("unknown type: " + tname) - } else { - // Multiple routines may race to set it, but the result is the same. - typeInfoLock.Lock() - ti = newTypeInfo(typ) - typeInfoMap[tname] = ti - typeInfoLock.Unlock() - } - - return ti -} - -func newTypeInfo(typ reflect.Type) *typeInfo { - t := typeInfo{ - typ: typ, - props: make(map[string][]int), - } - - t.build(typ, "", []int{}) - - return &t -} - -var managedObjectRefType = reflect.TypeOf((*types.ManagedObjectReference)(nil)).Elem() - -func buildName(fn string, f reflect.StructField) string { - if fn != "" { - fn += "." - } - - motag := f.Tag.Get("mo") - if motag != "" { - return fn + motag - } - - xmltag := f.Tag.Get("xml") - if xmltag != "" { - tokens := strings.Split(xmltag, ",") - if tokens[0] != "" { - return fn + tokens[0] - } - } - - return "" -} - -func (t *typeInfo) build(typ reflect.Type, fn string, fi []int) { - if typ.Kind() == reflect.Ptr { - typ = typ.Elem() - } - - if typ.Kind() != reflect.Struct { - panic("need struct") - } - - for i := 0; i < typ.NumField(); i++ { - f := typ.Field(i) - ftyp := f.Type - - // Copy field indices so they can be passed along. - fic := make([]int, len(fi)+1) - copy(fic, fi) - fic[len(fi)] = i - - // Recurse into embedded field. - if f.Anonymous { - t.build(ftyp, fn, fic) - continue - } - - // Top level type has a "Self" field. - if f.Name == "Self" && ftyp == managedObjectRefType { - t.self = fic - continue - } - - fnc := buildName(fn, f) - if fnc == "" { - continue - } - - t.props[fnc] = fic - - // Dereference pointer. - if ftyp.Kind() == reflect.Ptr { - ftyp = ftyp.Elem() - } - - // Slices are not addressable by `foo.bar.qux`. - if ftyp.Kind() == reflect.Slice { - continue - } - - // Skip the managed reference type. - if ftyp == managedObjectRefType { - continue - } - - // Recurse into structs. - if ftyp.Kind() == reflect.Struct { - t.build(ftyp, fnc, fic) - } - } -} - -var nilValue reflect.Value - -// assignValue assigns a value 'pv' to the struct pointed to by 'val', given a -// slice of field indices. It recurses into the struct until it finds the field -// specified by the indices. It creates new values for pointer types where -// needed. -func assignValue(val reflect.Value, fi []int, pv reflect.Value) { - // Create new value if necessary. - if val.Kind() == reflect.Ptr { - if val.IsNil() { - val.Set(reflect.New(val.Type().Elem())) - } - - val = val.Elem() - } - - rv := val.Field(fi[0]) - fi = fi[1:] - if len(fi) == 0 { - if pv == nilValue { - pv = reflect.Zero(rv.Type()) - rv.Set(pv) - return - } - rt := rv.Type() - pt := pv.Type() - - // If type is a pointer, create new instance of type. - if rt.Kind() == reflect.Ptr { - rv.Set(reflect.New(rt.Elem())) - rv = rv.Elem() - rt = rv.Type() - } - - // If the target type is a slice, but the source is not, deference any ArrayOfXYZ type - if rt.Kind() == reflect.Slice && pt.Kind() != reflect.Slice { - if pt.Kind() == reflect.Ptr { - pv = pv.Elem() - pt = pt.Elem() - } - - m := arrayOfRegexp.FindStringSubmatch(pt.Name()) - if len(m) > 0 { - pv = pv.FieldByName(m[1]) // ArrayOfXYZ type has single field named XYZ - pt = pv.Type() - - if !pv.IsValid() { - panic(fmt.Sprintf("expected %s type to have field %s", m[0], m[1])) - } - } - } - - // If type is an interface, check if pv implements it. - if rt.Kind() == reflect.Interface && !pt.Implements(rt) { - // Check if pointer to pv implements it. - if reflect.PtrTo(pt).Implements(rt) { - npv := reflect.New(pt) - npv.Elem().Set(pv) - pv = npv - pt = pv.Type() - } else { - panic(fmt.Sprintf("type %s doesn't implement %s", pt.Name(), rt.Name())) - } - } else if rt.Kind() == reflect.Struct && pt.Kind() == reflect.Ptr { - pv = pv.Elem() - pt = pv.Type() - } - - if pt.AssignableTo(rt) { - rv.Set(pv) - } else if rt.ConvertibleTo(pt) { - rv.Set(pv.Convert(rt)) - } else { - panic(fmt.Sprintf("cannot assign %q (%s) to %q (%s)", rt.Name(), rt.Kind(), pt.Name(), pt.Kind())) - } - - return - } - - assignValue(rv, fi, pv) -} - -var arrayOfRegexp = regexp.MustCompile("ArrayOf(.*)$") - -// LoadObjectFromContent loads properties from the 'PropSet' field in the -// specified ObjectContent value into the value it represents, which is -// returned as a reflect.Value. -func (t *typeInfo) LoadFromObjectContent(o types.ObjectContent) (reflect.Value, error) { - v := reflect.New(t.typ) - assignValue(v, t.self, reflect.ValueOf(o.Obj)) - - for _, p := range o.PropSet { - rv, ok := t.props[p.Name] - if !ok { - continue - } - assignValue(v, rv, reflect.ValueOf(p.Val)) - } - - return v, nil -} - -func IsManagedObjectType(kind string) bool { - _, ok := t[kind] - return ok -} diff --git a/vendor/github.com/vmware/govmomi/vim25/progress/aggregator.go b/vendor/github.com/vmware/govmomi/vim25/progress/aggregator.go deleted file mode 100644 index 24cb3d59a97..00000000000 --- a/vendor/github.com/vmware/govmomi/vim25/progress/aggregator.go +++ /dev/null @@ -1,73 +0,0 @@ -/* -Copyright (c) 2014 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package progress - -import "sync" - -type Aggregator struct { - downstream Sinker - upstream chan (<-chan Report) - - done chan struct{} - w sync.WaitGroup -} - -func NewAggregator(s Sinker) *Aggregator { - a := &Aggregator{ - downstream: s, - upstream: make(chan (<-chan Report)), - - done: make(chan struct{}), - } - - a.w.Add(1) - go a.loop() - - return a -} - -func (a *Aggregator) loop() { - defer a.w.Done() - - dch := a.downstream.Sink() - defer close(dch) - - for { - select { - case uch := <-a.upstream: - // Drain upstream channel - for e := range uch { - dch <- e - } - case <-a.done: - return - } - } -} - -func (a *Aggregator) Sink() chan<- Report { - ch := make(chan Report) - a.upstream <- ch - return ch -} - -// Done marks the aggregator as done. No more calls to Sink() may be made and -// the downstream progress report channel will be closed when Done() returns. -func (a *Aggregator) Done() { - close(a.done) - a.w.Wait() -} diff --git a/vendor/github.com/vmware/govmomi/vim25/progress/doc.go b/vendor/github.com/vmware/govmomi/vim25/progress/doc.go deleted file mode 100644 index a0458dd5cc9..00000000000 --- a/vendor/github.com/vmware/govmomi/vim25/progress/doc.go +++ /dev/null @@ -1,32 +0,0 @@ -/* -Copyright (c) 2014 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package progress - -/* -The progress package contains functionality to deal with progress reporting. -The functionality is built to serve progress reporting for infrastructure -operations when talking the vSphere API, but is generic enough to be used -elsewhere. - -At the core of this progress reporting API lies the Sinker interface. This -interface is implemented by any object that can act as a sink for progress -reports. Callers of the Sink() function receives a send-only channel for -progress reports. They are responsible for closing the channel when done. -This semantic makes it easy to keep track of multiple progress report channels; -they are only created when Sink() is called and assumed closed when any -function that receives a Sinker parameter returns. -*/ diff --git a/vendor/github.com/vmware/govmomi/vim25/progress/prefix.go b/vendor/github.com/vmware/govmomi/vim25/progress/prefix.go deleted file mode 100644 index 4f842ad951f..00000000000 --- a/vendor/github.com/vmware/govmomi/vim25/progress/prefix.go +++ /dev/null @@ -1,54 +0,0 @@ -/* -Copyright (c) 2014 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package progress - -import "fmt" - -type prefixedReport struct { - Report - prefix string -} - -func (r prefixedReport) Detail() string { - if d := r.Report.Detail(); d != "" { - return fmt.Sprintf("%s: %s", r.prefix, d) - } - - return r.prefix -} - -func prefixLoop(upstream <-chan Report, downstream chan<- Report, prefix string) { - defer close(downstream) - - for r := range upstream { - downstream <- prefixedReport{ - Report: r, - prefix: prefix, - } - } -} - -func Prefix(s Sinker, prefix string) Sinker { - fn := func() chan<- Report { - upstream := make(chan Report) - downstream := s.Sink() - go prefixLoop(upstream, downstream, prefix) - return upstream - } - - return SinkFunc(fn) -} diff --git a/vendor/github.com/vmware/govmomi/vim25/progress/reader.go b/vendor/github.com/vmware/govmomi/vim25/progress/reader.go deleted file mode 100644 index 201333ee4b5..00000000000 --- a/vendor/github.com/vmware/govmomi/vim25/progress/reader.go +++ /dev/null @@ -1,188 +0,0 @@ -/* -Copyright (c) 2014-2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package progress - -import ( - "container/list" - "context" - "fmt" - "io" - "sync/atomic" - "time" -) - -type readerReport struct { - pos int64 // Keep first to ensure 64-bit alignment - size int64 // Keep first to ensure 64-bit alignment - bps *uint64 // Keep first to ensure 64-bit alignment - - t time.Time - - err error -} - -func (r readerReport) Percentage() float32 { - if r.size <= 0 { - return 0 - } - return 100.0 * float32(r.pos) / float32(r.size) -} - -func (r readerReport) Detail() string { - const ( - KiB = 1024 - MiB = 1024 * KiB - GiB = 1024 * MiB - ) - - // Use the reader's bps field, so this report returns an up-to-date number. - // - // For example: if there hasn't been progress for the last 5 seconds, the - // most recent report should return "0B/s". - // - bps := atomic.LoadUint64(r.bps) - - switch { - case bps >= GiB: - return fmt.Sprintf("%.1fGiB/s", float32(bps)/float32(GiB)) - case bps >= MiB: - return fmt.Sprintf("%.1fMiB/s", float32(bps)/float32(MiB)) - case bps >= KiB: - return fmt.Sprintf("%.1fKiB/s", float32(bps)/float32(KiB)) - default: - return fmt.Sprintf("%dB/s", bps) - } -} - -func (p readerReport) Error() error { - return p.err -} - -// reader wraps an io.Reader and sends a progress report over a channel for -// every read it handles. -type reader struct { - r io.Reader - - pos int64 - size int64 - bps uint64 - - ch chan<- Report - ctx context.Context -} - -func NewReader(ctx context.Context, s Sinker, r io.Reader, size int64) *reader { - pr := reader{ - r: r, - ctx: ctx, - size: size, - } - - // Reports must be sent downstream and to the bps computation loop. - pr.ch = Tee(s, newBpsLoop(&pr.bps)).Sink() - - return &pr -} - -// Read calls the Read function on the underlying io.Reader. Additionally, -// every read causes a progress report to be sent to the progress reader's -// underlying channel. -func (r *reader) Read(b []byte) (int, error) { - n, err := r.r.Read(b) - r.pos += int64(n) - - if err != nil && err != io.EOF { - return n, err - } - - q := readerReport{ - t: time.Now(), - pos: r.pos, - size: r.size, - bps: &r.bps, - } - - select { - case r.ch <- q: - case <-r.ctx.Done(): - } - - return n, err -} - -// Done marks the progress reader as done, optionally including an error in the -// progress report. After sending it, the underlying channel is closed. -func (r *reader) Done(err error) { - q := readerReport{ - t: time.Now(), - pos: r.pos, - size: r.size, - bps: &r.bps, - err: err, - } - - select { - case r.ch <- q: - close(r.ch) - case <-r.ctx.Done(): - } -} - -// newBpsLoop returns a sink that monitors and stores throughput. -func newBpsLoop(dst *uint64) SinkFunc { - fn := func() chan<- Report { - sink := make(chan Report) - go bpsLoop(sink, dst) - return sink - } - - return fn -} - -func bpsLoop(ch <-chan Report, dst *uint64) { - l := list.New() - - for { - var tch <-chan time.Time - - // Setup timer for front of list to become stale. - if e := l.Front(); e != nil { - dt := time.Second - time.Since(e.Value.(readerReport).t) - tch = time.After(dt) - } - - select { - case q, ok := <-ch: - if !ok { - return - } - - l.PushBack(q) - case <-tch: - l.Remove(l.Front()) - } - - // Compute new bps - if l.Len() == 0 { - atomic.StoreUint64(dst, 0) - } else { - f := l.Front().Value.(readerReport) - b := l.Back().Value.(readerReport) - atomic.StoreUint64(dst, uint64(b.pos-f.pos)) - } - } -} diff --git a/vendor/github.com/vmware/govmomi/vim25/progress/report.go b/vendor/github.com/vmware/govmomi/vim25/progress/report.go deleted file mode 100644 index bf80263ff5c..00000000000 --- a/vendor/github.com/vmware/govmomi/vim25/progress/report.go +++ /dev/null @@ -1,26 +0,0 @@ -/* -Copyright (c) 2014 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package progress - -// Report defines the interface for types that can deliver progress reports. -// Examples include uploads/downloads in the http client and the task info -// field in the task managed object. -type Report interface { - Percentage() float32 - Detail() string - Error() error -} diff --git a/vendor/github.com/vmware/govmomi/vim25/progress/scale.go b/vendor/github.com/vmware/govmomi/vim25/progress/scale.go deleted file mode 100644 index 98808392068..00000000000 --- a/vendor/github.com/vmware/govmomi/vim25/progress/scale.go +++ /dev/null @@ -1,76 +0,0 @@ -/* -Copyright (c) 2014 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package progress - -type scaledReport struct { - Report - n int - i int -} - -func (r scaledReport) Percentage() float32 { - b := 100 * float32(r.i) / float32(r.n) - return b + (r.Report.Percentage() / float32(r.n)) -} - -type scaleOne struct { - s Sinker - n int - i int -} - -func (s scaleOne) Sink() chan<- Report { - upstream := make(chan Report) - downstream := s.s.Sink() - go s.loop(upstream, downstream) - return upstream -} - -func (s scaleOne) loop(upstream <-chan Report, downstream chan<- Report) { - defer close(downstream) - - for r := range upstream { - downstream <- scaledReport{ - Report: r, - n: s.n, - i: s.i, - } - } -} - -type scaleMany struct { - s Sinker - n int - i int -} - -func Scale(s Sinker, n int) Sinker { - return &scaleMany{ - s: s, - n: n, - } -} - -func (s *scaleMany) Sink() chan<- Report { - if s.i == s.n { - s.n++ - } - - ch := scaleOne{s: s.s, n: s.n, i: s.i}.Sink() - s.i++ - return ch -} diff --git a/vendor/github.com/vmware/govmomi/vim25/progress/sinker.go b/vendor/github.com/vmware/govmomi/vim25/progress/sinker.go deleted file mode 100644 index 0bd35a47f75..00000000000 --- a/vendor/github.com/vmware/govmomi/vim25/progress/sinker.go +++ /dev/null @@ -1,33 +0,0 @@ -/* -Copyright (c) 2014 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package progress - -// Sinker defines what is expected of a type that can act as a sink for -// progress reports. The semantics are as follows. If you call Sink(), you are -// responsible for closing the returned channel. Closing this channel means -// that the related task is done, or resulted in error. -type Sinker interface { - Sink() chan<- Report -} - -// SinkFunc defines a function that returns a progress report channel. -type SinkFunc func() chan<- Report - -// Sink makes the SinkFunc implement the Sinker interface. -func (fn SinkFunc) Sink() chan<- Report { - return fn() -} diff --git a/vendor/github.com/vmware/govmomi/vim25/progress/tee.go b/vendor/github.com/vmware/govmomi/vim25/progress/tee.go deleted file mode 100644 index ab4607842b0..00000000000 --- a/vendor/github.com/vmware/govmomi/vim25/progress/tee.go +++ /dev/null @@ -1,41 +0,0 @@ -/* -Copyright (c) 2014 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package progress - -// Tee works like Unix tee; it forwards all progress reports it receives to the -// specified sinks -func Tee(s1, s2 Sinker) Sinker { - fn := func() chan<- Report { - d1 := s1.Sink() - d2 := s2.Sink() - u := make(chan Report) - go tee(u, d1, d2) - return u - } - - return SinkFunc(fn) -} - -func tee(u <-chan Report, d1, d2 chan<- Report) { - defer close(d1) - defer close(d2) - - for r := range u { - d1 <- r - d2 <- r - } -} diff --git a/vendor/github.com/vmware/govmomi/vim25/retry.go b/vendor/github.com/vmware/govmomi/vim25/retry.go deleted file mode 100644 index bf663a10126..00000000000 --- a/vendor/github.com/vmware/govmomi/vim25/retry.go +++ /dev/null @@ -1,113 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package vim25 - -import ( - "context" - "time" - - "github.com/vmware/govmomi/vim25/soap" -) - -type RetryFunc func(err error) (retry bool, delay time.Duration) - -// TemporaryNetworkError is deprecated. Use Retry() with RetryTemporaryNetworkError and retryAttempts instead. -func TemporaryNetworkError(n int) RetryFunc { - return func(err error) (bool, time.Duration) { - if IsTemporaryNetworkError(err) { - // Don't retry if we're out of tries. - if n--; n <= 0 { - return false, 0 - } - return true, 0 - } - return false, 0 - } -} - -// RetryTemporaryNetworkError returns a RetryFunc that returns IsTemporaryNetworkError(err) -func RetryTemporaryNetworkError(err error) (bool, time.Duration) { - return IsTemporaryNetworkError(err), 0 -} - -// IsTemporaryNetworkError returns false unless the error implements -// a Temporary() bool method such as url.Error and net.Error. -// Otherwise, returns the value of the Temporary() method. -func IsTemporaryNetworkError(err error) bool { - t, ok := err.(interface { - // Temporary is implemented by url.Error and net.Error - Temporary() bool - }) - - if !ok { - // Not a Temporary error. - return false - } - - return t.Temporary() -} - -type retry struct { - roundTripper soap.RoundTripper - - // fn is a custom function that is called when an error occurs. - // It returns whether or not to retry, and if so, how long to - // delay before retrying. - fn RetryFunc - maxRetryAttempts int -} - -// Retry wraps the specified soap.RoundTripper and invokes the -// specified RetryFunc. The RetryFunc returns whether or not to -// retry the call, and if so, how long to wait before retrying. If -// the result of this function is to not retry, the original error -// is returned from the RoundTrip function. -// The soap.RoundTripper will return the original error if retryAttempts is specified and reached. -func Retry(roundTripper soap.RoundTripper, fn RetryFunc, retryAttempts ...int) soap.RoundTripper { - r := &retry{ - roundTripper: roundTripper, - fn: fn, - maxRetryAttempts: 1, - } - - if len(retryAttempts) == 1 { - r.maxRetryAttempts = retryAttempts[0] - } - - return r -} - -func (r *retry) RoundTrip(ctx context.Context, req, res soap.HasFault) error { - var err error - - for attempt := 0; attempt < r.maxRetryAttempts; attempt++ { - err = r.roundTripper.RoundTrip(ctx, req, res) - if err == nil { - break - } - - // Invoke retry function to see if another attempt should be made. - if retry, delay := r.fn(err); retry { - time.Sleep(delay) - continue - } - - break - } - - return err -} diff --git a/vendor/github.com/vmware/govmomi/vim25/soap/client.go b/vendor/github.com/vmware/govmomi/vim25/soap/client.go deleted file mode 100644 index 624d04cb11f..00000000000 --- a/vendor/github.com/vmware/govmomi/vim25/soap/client.go +++ /dev/null @@ -1,891 +0,0 @@ -/* -Copyright (c) 2014-2018 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package soap - -import ( - "bufio" - "bytes" - "context" - "crypto/sha1" - "crypto/tls" - "crypto/x509" - "encoding/json" - "errors" - "fmt" - "io" - "io/ioutil" - "log" - "net" - "net/http" - "net/http/cookiejar" - "net/url" - "os" - "path/filepath" - "reflect" - "regexp" - "runtime" - "strings" - "sync" - "time" - - "github.com/vmware/govmomi/internal/version" - "github.com/vmware/govmomi/vim25/progress" - "github.com/vmware/govmomi/vim25/types" - "github.com/vmware/govmomi/vim25/xml" -) - -type HasFault interface { - Fault() *Fault -} - -type RoundTripper interface { - RoundTrip(ctx context.Context, req, res HasFault) error -} - -const ( - SessionCookieName = "vmware_soap_session" -) - -// defaultUserAgent is the default user agent string, e.g. -// "govmomi/0.28.0 (go1.18.3;linux;amd64)" -var defaultUserAgent = fmt.Sprintf( - "%s/%s (%s)", - version.ClientName, - version.ClientVersion, - strings.Join([]string{runtime.Version(), runtime.GOOS, runtime.GOARCH}, ";"), -) - -type Client struct { - http.Client - - u *url.URL - k bool // Named after curl's -k flag - d *debugContainer - t *http.Transport - - hostsMu sync.Mutex - hosts map[string]string - - Namespace string // Vim namespace - Version string // Vim version - Types types.Func - UserAgent string - - cookie string - insecureCookies bool -} - -var schemeMatch = regexp.MustCompile(`^\w+://`) - -type errInvalidCACertificate struct { - File string -} - -func (e errInvalidCACertificate) Error() string { - return fmt.Sprintf( - "invalid certificate '%s', cannot be used as a trusted CA certificate", - e.File, - ) -} - -// ParseURL is wrapper around url.Parse, where Scheme defaults to "https" and Path defaults to "/sdk" -func ParseURL(s string) (*url.URL, error) { - var err error - var u *url.URL - - if s != "" { - // Default the scheme to https - if !schemeMatch.MatchString(s) { - s = "https://" + s - } - - u, err = url.Parse(s) - if err != nil { - return nil, err - } - - // Default the path to /sdk - if u.Path == "" { - u.Path = "/sdk" - } - - if u.User == nil { - u.User = url.UserPassword("", "") - } - } - - return u, nil -} - -func NewClient(u *url.URL, insecure bool) *Client { - c := Client{ - u: u, - k: insecure, - d: newDebug(), - - Types: types.TypeFunc(), - } - - // Initialize http.RoundTripper on client, so we can customize it below - if t, ok := http.DefaultTransport.(*http.Transport); ok { - c.t = &http.Transport{ - Proxy: t.Proxy, - DialContext: t.DialContext, - MaxIdleConns: t.MaxIdleConns, - IdleConnTimeout: t.IdleConnTimeout, - TLSHandshakeTimeout: t.TLSHandshakeTimeout, - ExpectContinueTimeout: t.ExpectContinueTimeout, - } - } else { - c.t = new(http.Transport) - } - - c.hosts = make(map[string]string) - c.t.TLSClientConfig = &tls.Config{InsecureSkipVerify: c.k} - - // Always set DialTLS and DialTLSContext, even if InsecureSkipVerify=true, - // because of how certificate verification has been delegated to the host's - // PKI framework in Go 1.18. Please see the following links for more info: - // - // * https://tip.golang.org/doc/go1.18 (search for "Certificate.Verify") - // * https://github.com/square/certigo/issues/264 - c.t.DialTLSContext = c.dialTLSContext - - c.Client.Transport = c.t - c.Client.Jar, _ = cookiejar.New(nil) - - // Remove user information from a copy of the URL - c.u = c.URL() - c.u.User = nil - - if c.u.Scheme == "http" { - c.insecureCookies = os.Getenv("GOVMOMI_INSECURE_COOKIES") == "true" - } - - return &c -} - -func (c *Client) DefaultTransport() *http.Transport { - return c.t -} - -// NewServiceClient creates a NewClient with the given URL.Path and namespace. -func (c *Client) NewServiceClient(path string, namespace string) *Client { - vc := c.URL() - u, err := url.Parse(path) - if err != nil { - log.Panicf("url.Parse(%q): %s", path, err) - } - if u.Host == "" { - u.Scheme = vc.Scheme - u.Host = vc.Host - } - - client := NewClient(u, c.k) - client.Namespace = "urn:" + namespace - client.DefaultTransport().TLSClientConfig = c.DefaultTransport().TLSClientConfig - if cert := c.Certificate(); cert != nil { - client.SetCertificate(*cert) - } - - // Copy the trusted thumbprints - c.hostsMu.Lock() - for k, v := range c.hosts { - client.hosts[k] = v - } - c.hostsMu.Unlock() - - // Copy the cookies - client.Client.Jar.SetCookies(u, c.Client.Jar.Cookies(u)) - - // Set SOAP Header cookie - for _, cookie := range client.Jar.Cookies(u) { - if cookie.Name == SessionCookieName { - client.cookie = cookie.Value - break - } - } - - // Copy any query params (e.g. GOVMOMI_TUNNEL_PROXY_PORT used in testing) - client.u.RawQuery = vc.RawQuery - - client.UserAgent = c.UserAgent - - vimTypes := c.Types - client.Types = func(name string) (reflect.Type, bool) { - kind, ok := vimTypes(name) - if ok { - return kind, ok - } - // vim25/xml typeToString() does not have an option to include namespace prefix. - // Workaround this by re-trying the lookup with the namespace prefix. - return vimTypes(namespace + ":" + name) - } - - return client -} - -// SetRootCAs defines the set of PEM-encoded file locations of root certificate -// authorities the client uses when verifying server certificates instead of the -// TLS defaults which uses the host's root CA set. Multiple PEM file locations -// can be specified using the OS-specific PathListSeparator. -// -// See: http.Client.Transport.TLSClientConfig.RootCAs and -// https://pkg.go.dev/os#PathListSeparator -func (c *Client) SetRootCAs(pemPaths string) error { - pool := x509.NewCertPool() - - for _, name := range filepath.SplitList(pemPaths) { - pem, err := ioutil.ReadFile(filepath.Clean(name)) - if err != nil { - return err - } - - if ok := pool.AppendCertsFromPEM(pem); !ok { - return errInvalidCACertificate{ - File: name, - } - } - } - - c.t.TLSClientConfig.RootCAs = pool - - return nil -} - -// Add default https port if missing -func hostAddr(addr string) string { - _, port := splitHostPort(addr) - if port == "" { - return addr + ":443" - } - return addr -} - -// SetThumbprint sets the known certificate thumbprint for the given host. -// A custom DialTLS function is used to support thumbprint based verification. -// We first try tls.Dial with the default tls.Config, only falling back to thumbprint verification -// if it fails with an x509.UnknownAuthorityError or x509.HostnameError -// -// See: http.Client.Transport.DialTLS -func (c *Client) SetThumbprint(host string, thumbprint string) { - host = hostAddr(host) - - c.hostsMu.Lock() - if thumbprint == "" { - delete(c.hosts, host) - } else { - c.hosts[host] = thumbprint - } - c.hostsMu.Unlock() -} - -// Thumbprint returns the certificate thumbprint for the given host if known to this client. -func (c *Client) Thumbprint(host string) string { - host = hostAddr(host) - c.hostsMu.Lock() - defer c.hostsMu.Unlock() - return c.hosts[host] -} - -// LoadThumbprints from file with the give name. -// If name is empty or name does not exist this function will return nil. -func (c *Client) LoadThumbprints(file string) error { - if file == "" { - return nil - } - - for _, name := range filepath.SplitList(file) { - err := c.loadThumbprints(name) - if err != nil { - return err - } - } - - return nil -} - -func (c *Client) loadThumbprints(name string) error { - f, err := os.Open(filepath.Clean(name)) - if err != nil { - if os.IsNotExist(err) { - return nil - } - return err - } - - scanner := bufio.NewScanner(f) - - for scanner.Scan() { - e := strings.SplitN(scanner.Text(), " ", 2) - if len(e) != 2 { - continue - } - - c.SetThumbprint(e[0], e[1]) - } - - _ = f.Close() - - return scanner.Err() -} - -// ThumbprintSHA1 returns the thumbprint of the given cert in the same format used by the SDK and Client.SetThumbprint. -// -// See: SSLVerifyFault.Thumbprint, SessionManagerGenericServiceTicket.Thumbprint, HostConnectSpec.SslThumbprint -func ThumbprintSHA1(cert *x509.Certificate) string { - sum := sha1.Sum(cert.Raw) - hex := make([]string, len(sum)) - for i, b := range sum { - hex[i] = fmt.Sprintf("%02X", b) - } - return strings.Join(hex, ":") -} - -func (c *Client) dialTLSContext( - ctx context.Context, - network, addr string) (net.Conn, error) { - - // Would be nice if there was a tls.Config.Verify func, - // see tls.clientHandshakeState.doFullHandshake - - conn, err := tls.Dial(network, addr, c.t.TLSClientConfig) - - if err == nil { - return conn, nil - } - - // Allow a thumbprint verification attempt if the error indicates - // the failure was due to lack of trust. - if !IsCertificateUntrusted(err) { - return nil, err - } - - thumbprint := c.Thumbprint(addr) - if thumbprint == "" { - return nil, err - } - - config := &tls.Config{InsecureSkipVerify: true} - conn, err = tls.Dial(network, addr, config) - if err != nil { - return nil, err - } - - cert := conn.ConnectionState().PeerCertificates[0] - peer := ThumbprintSHA1(cert) - if thumbprint != peer { - _ = conn.Close() - - return nil, fmt.Errorf("host %q thumbprint does not match %q", addr, thumbprint) - } - - return conn, nil -} - -// splitHostPort is similar to net.SplitHostPort, -// but rather than return error if there isn't a ':port', -// return an empty string for the port. -func splitHostPort(host string) (string, string) { - ix := strings.LastIndex(host, ":") - - if ix <= strings.LastIndex(host, "]") { - return host, "" - } - - name := host[:ix] - port := host[ix+1:] - - return name, port -} - -const sdkTunnel = "sdkTunnel:8089" - -func (c *Client) Certificate() *tls.Certificate { - certs := c.t.TLSClientConfig.Certificates - if len(certs) == 0 { - return nil - } - return &certs[0] -} - -func (c *Client) SetCertificate(cert tls.Certificate) { - t := c.Client.Transport.(*http.Transport) - - // Extension or HoK certificate - t.TLSClientConfig.Certificates = []tls.Certificate{cert} -} - -// Tunnel returns a Client configured to proxy requests through vCenter's http port 80, -// to the SDK tunnel virtual host. Use of the SDK tunnel is required by LoginExtensionByCertificate() -// and optional for other methods. -func (c *Client) Tunnel() *Client { - tunnel := c.NewServiceClient(c.u.Path, c.Namespace) - t := tunnel.Client.Transport.(*http.Transport) - // Proxy to vCenter host on port 80 - host := tunnel.u.Hostname() - // Should be no reason to change the default port other than testing - key := "GOVMOMI_TUNNEL_PROXY_PORT" - - port := tunnel.URL().Query().Get(key) - if port == "" { - port = os.Getenv(key) - } - - if port != "" { - host += ":" + port - } - - t.Proxy = http.ProxyURL(&url.URL{ - Scheme: "http", - Host: host, - }) - - // Rewrite url Host to use the sdk tunnel, required for a certificate request. - tunnel.u.Host = sdkTunnel - return tunnel -} - -func (c *Client) URL() *url.URL { - urlCopy := *c.u - return &urlCopy -} - -type marshaledClient struct { - Cookies []*http.Cookie - URL *url.URL - Insecure bool - Version string -} - -func (c *Client) MarshalJSON() ([]byte, error) { - m := marshaledClient{ - Cookies: c.Jar.Cookies(c.u), - URL: c.u, - Insecure: c.k, - Version: c.Version, - } - - return json.Marshal(m) -} - -func (c *Client) UnmarshalJSON(b []byte) error { - var m marshaledClient - - err := json.Unmarshal(b, &m) - if err != nil { - return err - } - - *c = *NewClient(m.URL, m.Insecure) - c.Version = m.Version - c.Jar.SetCookies(m.URL, m.Cookies) - - return nil -} - -type kindContext struct{} - -func (c *Client) setInsecureCookies(res *http.Response) { - cookies := res.Cookies() - if len(cookies) != 0 { - for _, cookie := range cookies { - cookie.Secure = false - } - c.Jar.SetCookies(c.u, cookies) - } -} - -func (c *Client) Do(ctx context.Context, req *http.Request, f func(*http.Response) error) error { - if ctx == nil { - ctx = context.Background() - } - // Create debugging context for this round trip - d := c.d.newRoundTrip() - if d.enabled() { - defer d.done() - } - - // use default - if c.UserAgent == "" { - c.UserAgent = defaultUserAgent - } - - req.Header.Set(`User-Agent`, c.UserAgent) - - ext := "" - if d.enabled() { - ext = d.debugRequest(req) - } - - tstart := time.Now() - res, err := c.Client.Do(req.WithContext(ctx)) - tstop := time.Now() - - if d.enabled() { - var name string - if kind, ok := ctx.Value(kindContext{}).(HasFault); ok { - name = fmt.Sprintf("%T", kind) - } else { - name = fmt.Sprintf("%s %s", req.Method, req.URL) - } - d.logf("%6dms (%s)", tstop.Sub(tstart)/time.Millisecond, name) - } - - if err != nil { - return err - } - - if d.enabled() { - d.debugResponse(res, ext) - } - - if c.insecureCookies { - c.setInsecureCookies(res) - } - - defer res.Body.Close() - - return f(res) -} - -// Signer can be implemented by soap.Header.Security to sign requests. -// If the soap.Header.Security field is set to an implementation of Signer via WithHeader(), -// then Client.RoundTrip will call Sign() to marshal the SOAP request. -type Signer interface { - Sign(Envelope) ([]byte, error) -} - -type headerContext struct{} - -// WithHeader can be used to modify the outgoing request soap.Header fields. -func (c *Client) WithHeader(ctx context.Context, header Header) context.Context { - return context.WithValue(ctx, headerContext{}, header) -} - -type statusError struct { - res *http.Response -} - -// Temporary returns true for HTTP response codes that can be retried -// See vim25.IsTemporaryNetworkError -func (e *statusError) Temporary() bool { - switch e.res.StatusCode { - case http.StatusBadGateway: - return true - } - return false -} - -func (e *statusError) Error() string { - return e.res.Status -} - -func newStatusError(res *http.Response) error { - return &url.Error{ - Op: res.Request.Method, - URL: res.Request.URL.Path, - Err: &statusError{res}, - } -} - -func (c *Client) RoundTrip(ctx context.Context, reqBody, resBody HasFault) error { - var err error - var b []byte - - reqEnv := Envelope{Body: reqBody} - resEnv := Envelope{Body: resBody} - - h, ok := ctx.Value(headerContext{}).(Header) - if !ok { - h = Header{} - } - - // We added support for OperationID before soap.Header was exported. - if id, ok := ctx.Value(types.ID{}).(string); ok { - h.ID = id - } - - h.Cookie = c.cookie - if h.Cookie != "" || h.ID != "" || h.Security != nil { - reqEnv.Header = &h // XML marshal header only if a field is set - } - - if signer, ok := h.Security.(Signer); ok { - b, err = signer.Sign(reqEnv) - if err != nil { - return err - } - } else { - b, err = xml.Marshal(reqEnv) - if err != nil { - panic(err) - } - } - - rawReqBody := io.MultiReader(strings.NewReader(xml.Header), bytes.NewReader(b)) - req, err := http.NewRequest("POST", c.u.String(), rawReqBody) - if err != nil { - panic(err) - } - - req.Header.Set(`Content-Type`, `text/xml; charset="utf-8"`) - - action := h.Action - if action == "" { - action = fmt.Sprintf("%s/%s", c.Namespace, c.Version) - } - req.Header.Set(`SOAPAction`, action) - - return c.Do(context.WithValue(ctx, kindContext{}, resBody), req, func(res *http.Response) error { - switch res.StatusCode { - case http.StatusOK: - // OK - case http.StatusInternalServerError: - // Error, but typically includes a body explaining the error - default: - return newStatusError(res) - } - - dec := xml.NewDecoder(res.Body) - dec.TypeFunc = c.Types - err = dec.Decode(&resEnv) - if err != nil { - return err - } - - if f := resBody.Fault(); f != nil { - return WrapSoapFault(f) - } - - return err - }) -} - -func (c *Client) CloseIdleConnections() { - c.t.CloseIdleConnections() -} - -// ParseURL wraps url.Parse to rewrite the URL.Host field -// In the case of VM guest uploads or NFC lease URLs, a Host -// field with a value of "*" is rewritten to the Client's URL.Host. -func (c *Client) ParseURL(urlStr string) (*url.URL, error) { - u, err := url.Parse(urlStr) - if err != nil { - return nil, err - } - - host, _ := splitHostPort(u.Host) - if host == "*" { - // Also use Client's port, to support port forwarding - u.Host = c.URL().Host - } - - return u, nil -} - -type Upload struct { - Type string - Method string - ContentLength int64 - Headers map[string]string - Ticket *http.Cookie - Progress progress.Sinker -} - -var DefaultUpload = Upload{ - Type: "application/octet-stream", - Method: "PUT", -} - -// Upload PUTs the local file to the given URL -func (c *Client) Upload(ctx context.Context, f io.Reader, u *url.URL, param *Upload) error { - var err error - - if param.Progress != nil { - pr := progress.NewReader(ctx, param.Progress, f, param.ContentLength) - f = pr - - // Mark progress reader as done when returning from this function. - defer func() { - pr.Done(err) - }() - } - - req, err := http.NewRequest(param.Method, u.String(), f) - if err != nil { - return err - } - - req = req.WithContext(ctx) - - req.ContentLength = param.ContentLength - req.Header.Set("Content-Type", param.Type) - - for k, v := range param.Headers { - req.Header.Add(k, v) - } - - if param.Ticket != nil { - req.AddCookie(param.Ticket) - } - - res, err := c.Client.Do(req) - if err != nil { - return err - } - - defer res.Body.Close() - - switch res.StatusCode { - case http.StatusOK: - case http.StatusCreated: - default: - err = errors.New(res.Status) - } - - return err -} - -// UploadFile PUTs the local file to the given URL -func (c *Client) UploadFile(ctx context.Context, file string, u *url.URL, param *Upload) error { - if param == nil { - p := DefaultUpload // Copy since we set ContentLength - param = &p - } - - s, err := os.Stat(file) - if err != nil { - return err - } - - f, err := os.Open(filepath.Clean(file)) - if err != nil { - return err - } - defer f.Close() - - param.ContentLength = s.Size() - - return c.Upload(ctx, f, u, param) -} - -type Download struct { - Method string - Headers map[string]string - Ticket *http.Cookie - Progress progress.Sinker - Writer io.Writer -} - -var DefaultDownload = Download{ - Method: "GET", -} - -// DownloadRequest wraps http.Client.Do, returning the http.Response without checking its StatusCode -func (c *Client) DownloadRequest(ctx context.Context, u *url.URL, param *Download) (*http.Response, error) { - req, err := http.NewRequest(param.Method, u.String(), nil) - if err != nil { - return nil, err - } - - req = req.WithContext(ctx) - - for k, v := range param.Headers { - req.Header.Add(k, v) - } - - if param.Ticket != nil { - req.AddCookie(param.Ticket) - } - - return c.Client.Do(req) -} - -// Download GETs the remote file from the given URL -func (c *Client) Download(ctx context.Context, u *url.URL, param *Download) (io.ReadCloser, int64, error) { - res, err := c.DownloadRequest(ctx, u, param) - if err != nil { - return nil, 0, err - } - - switch res.StatusCode { - case http.StatusOK: - default: - err = fmt.Errorf("download(%s): %s", u, res.Status) - } - - if err != nil { - return nil, 0, err - } - - r := res.Body - - return r, res.ContentLength, nil -} - -func (c *Client) WriteFile(ctx context.Context, file string, src io.Reader, size int64, s progress.Sinker, w io.Writer) error { - var err error - - r := src - - fh, err := os.Create(file) - if err != nil { - return err - } - - if s != nil { - pr := progress.NewReader(ctx, s, src, size) - r = pr - - // Mark progress reader as done when returning from this function. - defer func() { - pr.Done(err) - }() - } - - if w == nil { - w = fh - } else { - w = io.MultiWriter(w, fh) - } - - _, err = io.Copy(w, r) - - cerr := fh.Close() - - if err == nil { - err = cerr - } - - return err -} - -// DownloadFile GETs the given URL to a local file -func (c *Client) DownloadFile(ctx context.Context, file string, u *url.URL, param *Download) error { - var err error - if param == nil { - param = &DefaultDownload - } - - rc, contentLength, err := c.Download(ctx, u, param) - if err != nil { - return err - } - - return c.WriteFile(ctx, file, rc, contentLength, param.Progress, param.Writer) -} diff --git a/vendor/github.com/vmware/govmomi/vim25/soap/debug.go b/vendor/github.com/vmware/govmomi/vim25/soap/debug.go deleted file mode 100644 index bc5b902030a..00000000000 --- a/vendor/github.com/vmware/govmomi/vim25/soap/debug.go +++ /dev/null @@ -1,154 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package soap - -import ( - "fmt" - "io" - "net/http" - "net/http/httputil" - "sync/atomic" - "time" - - "github.com/vmware/govmomi/vim25/debug" -) - -var ( - // Trace reads an http request or response from rc and writes to w. - // The content type (kind) should be one of "xml" or "json". - Trace = func(rc io.ReadCloser, w io.Writer, kind string) io.ReadCloser { - return debug.NewTeeReader(rc, w) - } -) - -// debugRoundTrip contains state and logic needed to debug a single round trip. -type debugRoundTrip struct { - cn uint64 // Client number - rn uint64 // Request number - log io.WriteCloser // Request log - cs []io.Closer // Files that need closing when done -} - -func (d *debugRoundTrip) logf(format string, a ...interface{}) { - now := time.Now().Format("2006-01-02T15-04-05.000000000") - fmt.Fprintf(d.log, "%s - %04d: ", now, d.rn) - fmt.Fprintf(d.log, format, a...) - fmt.Fprintf(d.log, "\n") -} - -func (d *debugRoundTrip) enabled() bool { - return d != nil -} - -func (d *debugRoundTrip) done() { - for _, c := range d.cs { - c.Close() - } -} - -func (d *debugRoundTrip) newFile(suffix string) io.WriteCloser { - return debug.NewFile(fmt.Sprintf("%d-%04d.%s", d.cn, d.rn, suffix)) -} - -func (d *debugRoundTrip) ext(h http.Header) string { - const json = "application/json" - ext := "xml" - if h.Get("Accept") == json || h.Get("Content-Type") == json { - ext = "json" - } - return ext -} - -func (d *debugRoundTrip) debugRequest(req *http.Request) string { - if d == nil { - return "" - } - - // Capture headers - var wc io.WriteCloser = d.newFile("req.headers") - b, _ := httputil.DumpRequest(req, false) - wc.Write(b) - wc.Close() - - ext := d.ext(req.Header) - // Capture body - wc = d.newFile("req." + ext) - if req.Body != nil { - req.Body = Trace(req.Body, wc, ext) - } - - // Delay closing until marked done - d.cs = append(d.cs, wc) - - return ext -} - -func (d *debugRoundTrip) debugResponse(res *http.Response, ext string) { - if d == nil { - return - } - - // Capture headers - var wc io.WriteCloser = d.newFile("res.headers") - b, _ := httputil.DumpResponse(res, false) - wc.Write(b) - wc.Close() - - // Capture body - wc = d.newFile("res." + ext) - res.Body = Trace(res.Body, wc, ext) - - // Delay closing until marked done - d.cs = append(d.cs, wc) -} - -var cn uint64 // Client counter - -// debugContainer wraps the debugging state for a single client. -type debugContainer struct { - cn uint64 // Client number - rn uint64 // Request counter - log io.WriteCloser // Request log -} - -func newDebug() *debugContainer { - d := debugContainer{ - cn: atomic.AddUint64(&cn, 1), - rn: 0, - } - - if !debug.Enabled() { - return nil - } - - d.log = debug.NewFile(fmt.Sprintf("%d-client.log", d.cn)) - return &d -} - -func (d *debugContainer) newRoundTrip() *debugRoundTrip { - if d == nil { - return nil - } - - drt := debugRoundTrip{ - cn: d.cn, - rn: atomic.AddUint64(&d.rn, 1), - log: d.log, - } - - return &drt -} diff --git a/vendor/github.com/vmware/govmomi/vim25/soap/error.go b/vendor/github.com/vmware/govmomi/vim25/soap/error.go deleted file mode 100644 index fd30e3ff8cb..00000000000 --- a/vendor/github.com/vmware/govmomi/vim25/soap/error.go +++ /dev/null @@ -1,166 +0,0 @@ -/* -Copyright (c) 2014 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package soap - -import ( - "crypto/x509" - "encoding/json" - "errors" - "fmt" - "reflect" - "strings" - - "github.com/vmware/govmomi/vim25/types" -) - -type regularError struct { - err error -} - -func (r regularError) Error() string { - return r.err.Error() -} - -type soapFaultError struct { - fault *Fault -} - -func (s soapFaultError) Error() string { - msg := s.fault.String - - if msg == "" { - if s.fault.Detail.Fault == nil { - msg = "unknown fault" - } else { - msg = reflect.TypeOf(s.fault.Detail.Fault).Name() - } - } - - return fmt.Sprintf("%s: %s", s.fault.Code, msg) -} - -func (s soapFaultError) MarshalJSON() ([]byte, error) { - out := struct { - Fault *Fault - }{ - Fault: s.fault, - } - return json.Marshal(out) -} - -type vimFaultError struct { - fault types.BaseMethodFault -} - -func (v vimFaultError) Error() string { - typ := reflect.TypeOf(v.fault) - for typ.Kind() == reflect.Ptr { - typ = typ.Elem() - } - - return typ.Name() -} - -func (v vimFaultError) Fault() types.BaseMethodFault { - return v.fault -} - -func Wrap(err error) error { - switch err.(type) { - case regularError: - return err - case soapFaultError: - return err - case vimFaultError: - return err - } - - return WrapRegularError(err) -} - -func WrapRegularError(err error) error { - return regularError{err} -} - -func IsRegularError(err error) bool { - _, ok := err.(regularError) - return ok -} - -func ToRegularError(err error) error { - return err.(regularError).err -} - -func WrapSoapFault(f *Fault) error { - return soapFaultError{f} -} - -func IsSoapFault(err error) bool { - _, ok := err.(soapFaultError) - return ok -} - -func ToSoapFault(err error) *Fault { - return err.(soapFaultError).fault -} - -func WrapVimFault(v types.BaseMethodFault) error { - return vimFaultError{v} -} - -func IsVimFault(err error) bool { - _, ok := err.(vimFaultError) - return ok -} - -func ToVimFault(err error) types.BaseMethodFault { - return err.(vimFaultError).fault -} - -func IsCertificateUntrusted(err error) bool { - // golang 1.20 introduce a new type to wrap 509 errors. So instead of - // casting the type, now we check the error chain contains the - // x509 error or not. - x509UnknownAuthorityErr := &x509.UnknownAuthorityError{} - ok := errors.As(err, x509UnknownAuthorityErr) - if ok { - return true - } - - x509HostNameErr := &x509.HostnameError{} - ok = errors.As(err, x509HostNameErr) - if ok { - return true - } - - // The err variable may not be a special type of x509 or HTTP - // error that can be validated by a type assertion. The err variable is - // in fact be an *errors.errorString. - - msgs := []string{ - "certificate is not trusted", - "certificate signed by unknown authority", - } - - for _, msg := range msgs { - if strings.HasSuffix(err.Error(), msg) { - return true - } - } - - return false -} diff --git a/vendor/github.com/vmware/govmomi/vim25/soap/soap.go b/vendor/github.com/vmware/govmomi/vim25/soap/soap.go deleted file mode 100644 index a8dc121baad..00000000000 --- a/vendor/github.com/vmware/govmomi/vim25/soap/soap.go +++ /dev/null @@ -1,49 +0,0 @@ -/* -Copyright (c) 2014-2018 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package soap - -import ( - "github.com/vmware/govmomi/vim25/types" - "github.com/vmware/govmomi/vim25/xml" -) - -// Header includes optional soap Header fields. -type Header struct { - Action string `xml:"-"` // Action is the 'SOAPAction' HTTP header value. Defaults to "Client.Namespace/Client.Version". - Cookie string `xml:"vcSessionCookie,omitempty"` // Cookie is a vCenter session cookie that can be used with other SDK endpoints (e.g. pbm). - ID string `xml:"operationID,omitempty"` // ID is the operationID used by ESX/vCenter logging for correlation. - Security interface{} `xml:",omitempty"` // Security is used for SAML token authentication and request signing. -} - -type Envelope struct { - XMLName xml.Name `xml:"http://schemas.xmlsoap.org/soap/envelope/ Envelope"` - Header *Header `xml:"http://schemas.xmlsoap.org/soap/envelope/ Header,omitempty"` - Body interface{} -} - -type Fault struct { - XMLName xml.Name `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault"` - Code string `xml:"faultcode"` - String string `xml:"faultstring"` - Detail struct { - Fault types.AnyType `xml:",any,typeattr"` - } `xml:"detail"` -} - -func (f *Fault) VimFault() types.AnyType { - return f.Detail.Fault -} diff --git a/vendor/github.com/vmware/govmomi/vim25/types/base.go b/vendor/github.com/vmware/govmomi/vim25/types/base.go deleted file mode 100644 index 3bb12b7412e..00000000000 --- a/vendor/github.com/vmware/govmomi/vim25/types/base.go +++ /dev/null @@ -1,19 +0,0 @@ -/* -Copyright (c) 2014 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package types - -type AnyType interface{} diff --git a/vendor/github.com/vmware/govmomi/vim25/types/enum.go b/vendor/github.com/vmware/govmomi/vim25/types/enum.go deleted file mode 100644 index e8da547b38c..00000000000 --- a/vendor/github.com/vmware/govmomi/vim25/types/enum.go +++ /dev/null @@ -1,5547 +0,0 @@ -/* -Copyright (c) 2014-2022 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package types - -import "reflect" - -type ActionParameter string - -const ( - ActionParameterTargetName = ActionParameter("targetName") - ActionParameterAlarmName = ActionParameter("alarmName") - ActionParameterOldStatus = ActionParameter("oldStatus") - ActionParameterNewStatus = ActionParameter("newStatus") - ActionParameterTriggeringSummary = ActionParameter("triggeringSummary") - ActionParameterDeclaringSummary = ActionParameter("declaringSummary") - ActionParameterEventDescription = ActionParameter("eventDescription") - ActionParameterTarget = ActionParameter("target") - ActionParameterAlarm = ActionParameter("alarm") -) - -func init() { - t["ActionParameter"] = reflect.TypeOf((*ActionParameter)(nil)).Elem() -} - -type ActionType string - -const ( - ActionTypeMigrationV1 = ActionType("MigrationV1") - ActionTypeVmPowerV1 = ActionType("VmPowerV1") - ActionTypeHostPowerV1 = ActionType("HostPowerV1") - ActionTypeHostMaintenanceV1 = ActionType("HostMaintenanceV1") - ActionTypeStorageMigrationV1 = ActionType("StorageMigrationV1") - ActionTypeStoragePlacementV1 = ActionType("StoragePlacementV1") - ActionTypePlacementV1 = ActionType("PlacementV1") - ActionTypeHostInfraUpdateHaV1 = ActionType("HostInfraUpdateHaV1") -) - -func init() { - t["ActionType"] = reflect.TypeOf((*ActionType)(nil)).Elem() -} - -type AffinityType string - -const ( - AffinityTypeMemory = AffinityType("memory") - AffinityTypeCpu = AffinityType("cpu") -) - -func init() { - t["AffinityType"] = reflect.TypeOf((*AffinityType)(nil)).Elem() -} - -type AgentInstallFailedReason string - -const ( - AgentInstallFailedReasonNotEnoughSpaceOnDevice = AgentInstallFailedReason("NotEnoughSpaceOnDevice") - AgentInstallFailedReasonPrepareToUpgradeFailed = AgentInstallFailedReason("PrepareToUpgradeFailed") - AgentInstallFailedReasonAgentNotRunning = AgentInstallFailedReason("AgentNotRunning") - AgentInstallFailedReasonAgentNotReachable = AgentInstallFailedReason("AgentNotReachable") - AgentInstallFailedReasonInstallTimedout = AgentInstallFailedReason("InstallTimedout") - AgentInstallFailedReasonSignatureVerificationFailed = AgentInstallFailedReason("SignatureVerificationFailed") - AgentInstallFailedReasonAgentUploadFailed = AgentInstallFailedReason("AgentUploadFailed") - AgentInstallFailedReasonAgentUploadTimedout = AgentInstallFailedReason("AgentUploadTimedout") - AgentInstallFailedReasonUnknownInstallerError = AgentInstallFailedReason("UnknownInstallerError") -) - -func init() { - t["AgentInstallFailedReason"] = reflect.TypeOf((*AgentInstallFailedReason)(nil)).Elem() -} - -type AlarmFilterSpecAlarmTypeByEntity string - -const ( - AlarmFilterSpecAlarmTypeByEntityEntityTypeAll = AlarmFilterSpecAlarmTypeByEntity("entityTypeAll") - AlarmFilterSpecAlarmTypeByEntityEntityTypeHost = AlarmFilterSpecAlarmTypeByEntity("entityTypeHost") - AlarmFilterSpecAlarmTypeByEntityEntityTypeVm = AlarmFilterSpecAlarmTypeByEntity("entityTypeVm") -) - -func init() { - t["AlarmFilterSpecAlarmTypeByEntity"] = reflect.TypeOf((*AlarmFilterSpecAlarmTypeByEntity)(nil)).Elem() -} - -type AlarmFilterSpecAlarmTypeByTrigger string - -const ( - AlarmFilterSpecAlarmTypeByTriggerTriggerTypeAll = AlarmFilterSpecAlarmTypeByTrigger("triggerTypeAll") - AlarmFilterSpecAlarmTypeByTriggerTriggerTypeEvent = AlarmFilterSpecAlarmTypeByTrigger("triggerTypeEvent") - AlarmFilterSpecAlarmTypeByTriggerTriggerTypeMetric = AlarmFilterSpecAlarmTypeByTrigger("triggerTypeMetric") -) - -func init() { - t["AlarmFilterSpecAlarmTypeByTrigger"] = reflect.TypeOf((*AlarmFilterSpecAlarmTypeByTrigger)(nil)).Elem() -} - -type AnswerFileValidationInfoStatus string - -const ( - AnswerFileValidationInfoStatusSuccess = AnswerFileValidationInfoStatus("success") - AnswerFileValidationInfoStatusFailed = AnswerFileValidationInfoStatus("failed") - AnswerFileValidationInfoStatusFailed_defaults = AnswerFileValidationInfoStatus("failed_defaults") -) - -func init() { - t["AnswerFileValidationInfoStatus"] = reflect.TypeOf((*AnswerFileValidationInfoStatus)(nil)).Elem() -} - -type ApplyHostProfileConfigurationResultStatus string - -const ( - ApplyHostProfileConfigurationResultStatusSuccess = ApplyHostProfileConfigurationResultStatus("success") - ApplyHostProfileConfigurationResultStatusFailed = ApplyHostProfileConfigurationResultStatus("failed") - ApplyHostProfileConfigurationResultStatusReboot_failed = ApplyHostProfileConfigurationResultStatus("reboot_failed") - ApplyHostProfileConfigurationResultStatusStateless_reboot_failed = ApplyHostProfileConfigurationResultStatus("stateless_reboot_failed") - ApplyHostProfileConfigurationResultStatusCheck_compliance_failed = ApplyHostProfileConfigurationResultStatus("check_compliance_failed") - ApplyHostProfileConfigurationResultStatusState_not_satisfied = ApplyHostProfileConfigurationResultStatus("state_not_satisfied") - ApplyHostProfileConfigurationResultStatusExit_maintenancemode_failed = ApplyHostProfileConfigurationResultStatus("exit_maintenancemode_failed") - ApplyHostProfileConfigurationResultStatusCanceled = ApplyHostProfileConfigurationResultStatus("canceled") -) - -func init() { - t["ApplyHostProfileConfigurationResultStatus"] = reflect.TypeOf((*ApplyHostProfileConfigurationResultStatus)(nil)).Elem() -} - -type ArrayUpdateOperation string - -const ( - ArrayUpdateOperationAdd = ArrayUpdateOperation("add") - ArrayUpdateOperationRemove = ArrayUpdateOperation("remove") - ArrayUpdateOperationEdit = ArrayUpdateOperation("edit") -) - -func init() { - t["ArrayUpdateOperation"] = reflect.TypeOf((*ArrayUpdateOperation)(nil)).Elem() -} - -type AutoStartAction string - -const ( - AutoStartActionNone = AutoStartAction("none") - AutoStartActionSystemDefault = AutoStartAction("systemDefault") - AutoStartActionPowerOn = AutoStartAction("powerOn") - AutoStartActionPowerOff = AutoStartAction("powerOff") - AutoStartActionGuestShutdown = AutoStartAction("guestShutdown") - AutoStartActionSuspend = AutoStartAction("suspend") -) - -func init() { - t["AutoStartAction"] = reflect.TypeOf((*AutoStartAction)(nil)).Elem() -} - -type AutoStartWaitHeartbeatSetting string - -const ( - AutoStartWaitHeartbeatSettingYes = AutoStartWaitHeartbeatSetting("yes") - AutoStartWaitHeartbeatSettingNo = AutoStartWaitHeartbeatSetting("no") - AutoStartWaitHeartbeatSettingSystemDefault = AutoStartWaitHeartbeatSetting("systemDefault") -) - -func init() { - t["AutoStartWaitHeartbeatSetting"] = reflect.TypeOf((*AutoStartWaitHeartbeatSetting)(nil)).Elem() -} - -type BaseConfigInfoDiskFileBackingInfoProvisioningType string - -const ( - BaseConfigInfoDiskFileBackingInfoProvisioningTypeThin = BaseConfigInfoDiskFileBackingInfoProvisioningType("thin") - BaseConfigInfoDiskFileBackingInfoProvisioningTypeEagerZeroedThick = BaseConfigInfoDiskFileBackingInfoProvisioningType("eagerZeroedThick") - BaseConfigInfoDiskFileBackingInfoProvisioningTypeLazyZeroedThick = BaseConfigInfoDiskFileBackingInfoProvisioningType("lazyZeroedThick") -) - -func init() { - t["BaseConfigInfoDiskFileBackingInfoProvisioningType"] = reflect.TypeOf((*BaseConfigInfoDiskFileBackingInfoProvisioningType)(nil)).Elem() -} - -type BatchResultResult string - -const ( - BatchResultResultSuccess = BatchResultResult("success") - BatchResultResultFail = BatchResultResult("fail") -) - -func init() { - t["BatchResultResult"] = reflect.TypeOf((*BatchResultResult)(nil)).Elem() -} - -type CannotEnableVmcpForClusterReason string - -const ( - CannotEnableVmcpForClusterReasonAPDTimeoutDisabled = CannotEnableVmcpForClusterReason("APDTimeoutDisabled") -) - -func init() { - t["CannotEnableVmcpForClusterReason"] = reflect.TypeOf((*CannotEnableVmcpForClusterReason)(nil)).Elem() -} - -type CannotMoveFaultToleranceVmMoveType string - -const ( - CannotMoveFaultToleranceVmMoveTypeResourcePool = CannotMoveFaultToleranceVmMoveType("resourcePool") - CannotMoveFaultToleranceVmMoveTypeCluster = CannotMoveFaultToleranceVmMoveType("cluster") -) - -func init() { - t["CannotMoveFaultToleranceVmMoveType"] = reflect.TypeOf((*CannotMoveFaultToleranceVmMoveType)(nil)).Elem() -} - -type CannotPowerOffVmInClusterOperation string - -const ( - CannotPowerOffVmInClusterOperationSuspend = CannotPowerOffVmInClusterOperation("suspend") - CannotPowerOffVmInClusterOperationPowerOff = CannotPowerOffVmInClusterOperation("powerOff") - CannotPowerOffVmInClusterOperationGuestShutdown = CannotPowerOffVmInClusterOperation("guestShutdown") - CannotPowerOffVmInClusterOperationGuestSuspend = CannotPowerOffVmInClusterOperation("guestSuspend") -) - -func init() { - t["CannotPowerOffVmInClusterOperation"] = reflect.TypeOf((*CannotPowerOffVmInClusterOperation)(nil)).Elem() -} - -type CannotUseNetworkReason string - -const ( - CannotUseNetworkReasonNetworkReservationNotSupported = CannotUseNetworkReason("NetworkReservationNotSupported") - CannotUseNetworkReasonMismatchedNetworkPolicies = CannotUseNetworkReason("MismatchedNetworkPolicies") - CannotUseNetworkReasonMismatchedDvsVersionOrVendor = CannotUseNetworkReason("MismatchedDvsVersionOrVendor") - CannotUseNetworkReasonVMotionToUnsupportedNetworkType = CannotUseNetworkReason("VMotionToUnsupportedNetworkType") - CannotUseNetworkReasonNetworkUnderMaintenance = CannotUseNetworkReason("NetworkUnderMaintenance") - CannotUseNetworkReasonMismatchedEnsMode = CannotUseNetworkReason("MismatchedEnsMode") -) - -func init() { - t["CannotUseNetworkReason"] = reflect.TypeOf((*CannotUseNetworkReason)(nil)).Elem() -} - -type CheckTestType string - -const ( - CheckTestTypeSourceTests = CheckTestType("sourceTests") - CheckTestTypeHostTests = CheckTestType("hostTests") - CheckTestTypeResourcePoolTests = CheckTestType("resourcePoolTests") - CheckTestTypeDatastoreTests = CheckTestType("datastoreTests") - CheckTestTypeNetworkTests = CheckTestType("networkTests") -) - -func init() { - t["CheckTestType"] = reflect.TypeOf((*CheckTestType)(nil)).Elem() -} - -type ClusterComputeResourceHCIWorkflowState string - -const ( - ClusterComputeResourceHCIWorkflowStateIn_progress = ClusterComputeResourceHCIWorkflowState("in_progress") - ClusterComputeResourceHCIWorkflowStateDone = ClusterComputeResourceHCIWorkflowState("done") - ClusterComputeResourceHCIWorkflowStateInvalid = ClusterComputeResourceHCIWorkflowState("invalid") -) - -func init() { - t["ClusterComputeResourceHCIWorkflowState"] = reflect.TypeOf((*ClusterComputeResourceHCIWorkflowState)(nil)).Elem() -} - -type ClusterComputeResourceVcsHealthStatus string - -const ( - ClusterComputeResourceVcsHealthStatusHealthy = ClusterComputeResourceVcsHealthStatus("healthy") - ClusterComputeResourceVcsHealthStatusDegraded = ClusterComputeResourceVcsHealthStatus("degraded") - ClusterComputeResourceVcsHealthStatusNonhealthy = ClusterComputeResourceVcsHealthStatus("nonhealthy") -) - -func init() { - t["ClusterComputeResourceVcsHealthStatus"] = reflect.TypeOf((*ClusterComputeResourceVcsHealthStatus)(nil)).Elem() -} - -type ClusterCryptoConfigInfoCryptoMode string - -const ( - ClusterCryptoConfigInfoCryptoModeOnDemand = ClusterCryptoConfigInfoCryptoMode("onDemand") - ClusterCryptoConfigInfoCryptoModeForceEnable = ClusterCryptoConfigInfoCryptoMode("forceEnable") -) - -func init() { - t["ClusterCryptoConfigInfoCryptoMode"] = reflect.TypeOf((*ClusterCryptoConfigInfoCryptoMode)(nil)).Elem() -} - -type ClusterDasAamNodeStateDasState string - -const ( - ClusterDasAamNodeStateDasStateUninitialized = ClusterDasAamNodeStateDasState("uninitialized") - ClusterDasAamNodeStateDasStateInitialized = ClusterDasAamNodeStateDasState("initialized") - ClusterDasAamNodeStateDasStateConfiguring = ClusterDasAamNodeStateDasState("configuring") - ClusterDasAamNodeStateDasStateUnconfiguring = ClusterDasAamNodeStateDasState("unconfiguring") - ClusterDasAamNodeStateDasStateRunning = ClusterDasAamNodeStateDasState("running") - ClusterDasAamNodeStateDasStateError = ClusterDasAamNodeStateDasState("error") - ClusterDasAamNodeStateDasStateAgentShutdown = ClusterDasAamNodeStateDasState("agentShutdown") - ClusterDasAamNodeStateDasStateNodeFailed = ClusterDasAamNodeStateDasState("nodeFailed") -) - -func init() { - t["ClusterDasAamNodeStateDasState"] = reflect.TypeOf((*ClusterDasAamNodeStateDasState)(nil)).Elem() -} - -type ClusterDasConfigInfoHBDatastoreCandidate string - -const ( - ClusterDasConfigInfoHBDatastoreCandidateUserSelectedDs = ClusterDasConfigInfoHBDatastoreCandidate("userSelectedDs") - ClusterDasConfigInfoHBDatastoreCandidateAllFeasibleDs = ClusterDasConfigInfoHBDatastoreCandidate("allFeasibleDs") - ClusterDasConfigInfoHBDatastoreCandidateAllFeasibleDsWithUserPreference = ClusterDasConfigInfoHBDatastoreCandidate("allFeasibleDsWithUserPreference") -) - -func init() { - t["ClusterDasConfigInfoHBDatastoreCandidate"] = reflect.TypeOf((*ClusterDasConfigInfoHBDatastoreCandidate)(nil)).Elem() -} - -type ClusterDasConfigInfoServiceState string - -const ( - ClusterDasConfigInfoServiceStateDisabled = ClusterDasConfigInfoServiceState("disabled") - ClusterDasConfigInfoServiceStateEnabled = ClusterDasConfigInfoServiceState("enabled") -) - -func init() { - t["ClusterDasConfigInfoServiceState"] = reflect.TypeOf((*ClusterDasConfigInfoServiceState)(nil)).Elem() -} - -type ClusterDasConfigInfoVmMonitoringState string - -const ( - ClusterDasConfigInfoVmMonitoringStateVmMonitoringDisabled = ClusterDasConfigInfoVmMonitoringState("vmMonitoringDisabled") - ClusterDasConfigInfoVmMonitoringStateVmMonitoringOnly = ClusterDasConfigInfoVmMonitoringState("vmMonitoringOnly") - ClusterDasConfigInfoVmMonitoringStateVmAndAppMonitoring = ClusterDasConfigInfoVmMonitoringState("vmAndAppMonitoring") -) - -func init() { - t["ClusterDasConfigInfoVmMonitoringState"] = reflect.TypeOf((*ClusterDasConfigInfoVmMonitoringState)(nil)).Elem() -} - -type ClusterDasFdmAvailabilityState string - -const ( - ClusterDasFdmAvailabilityStateUninitialized = ClusterDasFdmAvailabilityState("uninitialized") - ClusterDasFdmAvailabilityStateElection = ClusterDasFdmAvailabilityState("election") - ClusterDasFdmAvailabilityStateMaster = ClusterDasFdmAvailabilityState("master") - ClusterDasFdmAvailabilityStateConnectedToMaster = ClusterDasFdmAvailabilityState("connectedToMaster") - ClusterDasFdmAvailabilityStateNetworkPartitionedFromMaster = ClusterDasFdmAvailabilityState("networkPartitionedFromMaster") - ClusterDasFdmAvailabilityStateNetworkIsolated = ClusterDasFdmAvailabilityState("networkIsolated") - ClusterDasFdmAvailabilityStateHostDown = ClusterDasFdmAvailabilityState("hostDown") - ClusterDasFdmAvailabilityStateInitializationError = ClusterDasFdmAvailabilityState("initializationError") - ClusterDasFdmAvailabilityStateUninitializationError = ClusterDasFdmAvailabilityState("uninitializationError") - ClusterDasFdmAvailabilityStateFdmUnreachable = ClusterDasFdmAvailabilityState("fdmUnreachable") - ClusterDasFdmAvailabilityStateRetry = ClusterDasFdmAvailabilityState("retry") -) - -func init() { - t["ClusterDasFdmAvailabilityState"] = reflect.TypeOf((*ClusterDasFdmAvailabilityState)(nil)).Elem() -} - -type ClusterDasVmSettingsIsolationResponse string - -const ( - ClusterDasVmSettingsIsolationResponseNone = ClusterDasVmSettingsIsolationResponse("none") - ClusterDasVmSettingsIsolationResponsePowerOff = ClusterDasVmSettingsIsolationResponse("powerOff") - ClusterDasVmSettingsIsolationResponseShutdown = ClusterDasVmSettingsIsolationResponse("shutdown") - ClusterDasVmSettingsIsolationResponseClusterIsolationResponse = ClusterDasVmSettingsIsolationResponse("clusterIsolationResponse") -) - -func init() { - t["ClusterDasVmSettingsIsolationResponse"] = reflect.TypeOf((*ClusterDasVmSettingsIsolationResponse)(nil)).Elem() -} - -type ClusterDasVmSettingsRestartPriority string - -const ( - ClusterDasVmSettingsRestartPriorityDisabled = ClusterDasVmSettingsRestartPriority("disabled") - ClusterDasVmSettingsRestartPriorityLowest = ClusterDasVmSettingsRestartPriority("lowest") - ClusterDasVmSettingsRestartPriorityLow = ClusterDasVmSettingsRestartPriority("low") - ClusterDasVmSettingsRestartPriorityMedium = ClusterDasVmSettingsRestartPriority("medium") - ClusterDasVmSettingsRestartPriorityHigh = ClusterDasVmSettingsRestartPriority("high") - ClusterDasVmSettingsRestartPriorityHighest = ClusterDasVmSettingsRestartPriority("highest") - ClusterDasVmSettingsRestartPriorityClusterRestartPriority = ClusterDasVmSettingsRestartPriority("clusterRestartPriority") -) - -func init() { - t["ClusterDasVmSettingsRestartPriority"] = reflect.TypeOf((*ClusterDasVmSettingsRestartPriority)(nil)).Elem() -} - -type ClusterHostInfraUpdateHaModeActionOperationType string - -const ( - ClusterHostInfraUpdateHaModeActionOperationTypeEnterQuarantine = ClusterHostInfraUpdateHaModeActionOperationType("enterQuarantine") - ClusterHostInfraUpdateHaModeActionOperationTypeExitQuarantine = ClusterHostInfraUpdateHaModeActionOperationType("exitQuarantine") - ClusterHostInfraUpdateHaModeActionOperationTypeEnterMaintenance = ClusterHostInfraUpdateHaModeActionOperationType("enterMaintenance") -) - -func init() { - t["ClusterHostInfraUpdateHaModeActionOperationType"] = reflect.TypeOf((*ClusterHostInfraUpdateHaModeActionOperationType)(nil)).Elem() -} - -type ClusterInfraUpdateHaConfigInfoBehaviorType string - -const ( - ClusterInfraUpdateHaConfigInfoBehaviorTypeManual = ClusterInfraUpdateHaConfigInfoBehaviorType("Manual") - ClusterInfraUpdateHaConfigInfoBehaviorTypeAutomated = ClusterInfraUpdateHaConfigInfoBehaviorType("Automated") -) - -func init() { - t["ClusterInfraUpdateHaConfigInfoBehaviorType"] = reflect.TypeOf((*ClusterInfraUpdateHaConfigInfoBehaviorType)(nil)).Elem() -} - -type ClusterInfraUpdateHaConfigInfoRemediationType string - -const ( - ClusterInfraUpdateHaConfigInfoRemediationTypeQuarantineMode = ClusterInfraUpdateHaConfigInfoRemediationType("QuarantineMode") - ClusterInfraUpdateHaConfigInfoRemediationTypeMaintenanceMode = ClusterInfraUpdateHaConfigInfoRemediationType("MaintenanceMode") -) - -func init() { - t["ClusterInfraUpdateHaConfigInfoRemediationType"] = reflect.TypeOf((*ClusterInfraUpdateHaConfigInfoRemediationType)(nil)).Elem() -} - -type ClusterPowerOnVmOption string - -const ( - ClusterPowerOnVmOptionOverrideAutomationLevel = ClusterPowerOnVmOption("OverrideAutomationLevel") - ClusterPowerOnVmOptionReserveResources = ClusterPowerOnVmOption("ReserveResources") -) - -func init() { - t["ClusterPowerOnVmOption"] = reflect.TypeOf((*ClusterPowerOnVmOption)(nil)).Elem() -} - -type ClusterProfileServiceType string - -const ( - ClusterProfileServiceTypeDRS = ClusterProfileServiceType("DRS") - ClusterProfileServiceTypeHA = ClusterProfileServiceType("HA") - ClusterProfileServiceTypeDPM = ClusterProfileServiceType("DPM") - ClusterProfileServiceTypeFT = ClusterProfileServiceType("FT") -) - -func init() { - t["ClusterProfileServiceType"] = reflect.TypeOf((*ClusterProfileServiceType)(nil)).Elem() -} - -type ClusterVmComponentProtectionSettingsStorageVmReaction string - -const ( - ClusterVmComponentProtectionSettingsStorageVmReactionDisabled = ClusterVmComponentProtectionSettingsStorageVmReaction("disabled") - ClusterVmComponentProtectionSettingsStorageVmReactionWarning = ClusterVmComponentProtectionSettingsStorageVmReaction("warning") - ClusterVmComponentProtectionSettingsStorageVmReactionRestartConservative = ClusterVmComponentProtectionSettingsStorageVmReaction("restartConservative") - ClusterVmComponentProtectionSettingsStorageVmReactionRestartAggressive = ClusterVmComponentProtectionSettingsStorageVmReaction("restartAggressive") - ClusterVmComponentProtectionSettingsStorageVmReactionClusterDefault = ClusterVmComponentProtectionSettingsStorageVmReaction("clusterDefault") -) - -func init() { - t["ClusterVmComponentProtectionSettingsStorageVmReaction"] = reflect.TypeOf((*ClusterVmComponentProtectionSettingsStorageVmReaction)(nil)).Elem() -} - -type ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared string - -const ( - ClusterVmComponentProtectionSettingsVmReactionOnAPDClearedNone = ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared("none") - ClusterVmComponentProtectionSettingsVmReactionOnAPDClearedReset = ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared("reset") - ClusterVmComponentProtectionSettingsVmReactionOnAPDClearedUseClusterDefault = ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared("useClusterDefault") -) - -func init() { - t["ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared"] = reflect.TypeOf((*ClusterVmComponentProtectionSettingsVmReactionOnAPDCleared)(nil)).Elem() -} - -type ClusterVmReadinessReadyCondition string - -const ( - ClusterVmReadinessReadyConditionNone = ClusterVmReadinessReadyCondition("none") - ClusterVmReadinessReadyConditionPoweredOn = ClusterVmReadinessReadyCondition("poweredOn") - ClusterVmReadinessReadyConditionGuestHbStatusGreen = ClusterVmReadinessReadyCondition("guestHbStatusGreen") - ClusterVmReadinessReadyConditionAppHbStatusGreen = ClusterVmReadinessReadyCondition("appHbStatusGreen") - ClusterVmReadinessReadyConditionUseClusterDefault = ClusterVmReadinessReadyCondition("useClusterDefault") -) - -func init() { - t["ClusterVmReadinessReadyCondition"] = reflect.TypeOf((*ClusterVmReadinessReadyCondition)(nil)).Elem() -} - -type ComplianceResultStatus string - -const ( - ComplianceResultStatusCompliant = ComplianceResultStatus("compliant") - ComplianceResultStatusNonCompliant = ComplianceResultStatus("nonCompliant") - ComplianceResultStatusUnknown = ComplianceResultStatus("unknown") - ComplianceResultStatusRunning = ComplianceResultStatus("running") -) - -func init() { - t["ComplianceResultStatus"] = reflect.TypeOf((*ComplianceResultStatus)(nil)).Elem() -} - -type ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState string - -const ( - ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseStateLicensed = ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState("licensed") - ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseStateUnlicensed = ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState("unlicensed") - ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseStateUnknown = ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState("unknown") -) - -func init() { - t["ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState"] = reflect.TypeOf((*ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState)(nil)).Elem() -} - -type ConfigSpecOperation string - -const ( - ConfigSpecOperationAdd = ConfigSpecOperation("add") - ConfigSpecOperationEdit = ConfigSpecOperation("edit") - ConfigSpecOperationRemove = ConfigSpecOperation("remove") -) - -func init() { - t["ConfigSpecOperation"] = reflect.TypeOf((*ConfigSpecOperation)(nil)).Elem() -} - -type CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason string - -const ( - CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonKeyStateMissingInCache = CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason("KeyStateMissingInCache") - CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonKeyStateClusterInvalid = CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason("KeyStateClusterInvalid") - CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonKeyStateClusterUnreachable = CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason("KeyStateClusterUnreachable") - CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonKeyStateMissingInKMS = CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason("KeyStateMissingInKMS") - CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonKeyStateNotActiveOrEnabled = CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason("KeyStateNotActiveOrEnabled") - CryptoManagerKmipCryptoKeyStatusKeyUnavailableReasonKeyStateManagedByTrustAuthority = CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason("KeyStateManagedByTrustAuthority") -) - -func init() { - t["CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason"] = reflect.TypeOf((*CryptoManagerKmipCryptoKeyStatusKeyUnavailableReason)(nil)).Elem() -} - -type CustomizationFailedReasonCode string - -const ( - CustomizationFailedReasonCodeUserDefinedScriptDisabled = CustomizationFailedReasonCode("userDefinedScriptDisabled") - CustomizationFailedReasonCodeCustomizationDisabled = CustomizationFailedReasonCode("customizationDisabled") - CustomizationFailedReasonCodeRawDataIsNotSupported = CustomizationFailedReasonCode("rawDataIsNotSupported") - CustomizationFailedReasonCodeWrongMetadataFormat = CustomizationFailedReasonCode("wrongMetadataFormat") -) - -func init() { - t["CustomizationFailedReasonCode"] = reflect.TypeOf((*CustomizationFailedReasonCode)(nil)).Elem() -} - -type CustomizationLicenseDataMode string - -const ( - CustomizationLicenseDataModePerServer = CustomizationLicenseDataMode("perServer") - CustomizationLicenseDataModePerSeat = CustomizationLicenseDataMode("perSeat") -) - -func init() { - t["CustomizationLicenseDataMode"] = reflect.TypeOf((*CustomizationLicenseDataMode)(nil)).Elem() -} - -type CustomizationNetBIOSMode string - -const ( - CustomizationNetBIOSModeEnableNetBIOSViaDhcp = CustomizationNetBIOSMode("enableNetBIOSViaDhcp") - CustomizationNetBIOSModeEnableNetBIOS = CustomizationNetBIOSMode("enableNetBIOS") - CustomizationNetBIOSModeDisableNetBIOS = CustomizationNetBIOSMode("disableNetBIOS") -) - -func init() { - t["CustomizationNetBIOSMode"] = reflect.TypeOf((*CustomizationNetBIOSMode)(nil)).Elem() -} - -type CustomizationSysprepRebootOption string - -const ( - CustomizationSysprepRebootOptionReboot = CustomizationSysprepRebootOption("reboot") - CustomizationSysprepRebootOptionNoreboot = CustomizationSysprepRebootOption("noreboot") - CustomizationSysprepRebootOptionShutdown = CustomizationSysprepRebootOption("shutdown") -) - -func init() { - t["CustomizationSysprepRebootOption"] = reflect.TypeOf((*CustomizationSysprepRebootOption)(nil)).Elem() -} - -type DVPortStatusVmDirectPathGen2InactiveReasonNetwork string - -const ( - DVPortStatusVmDirectPathGen2InactiveReasonNetworkPortNptIncompatibleDvs = DVPortStatusVmDirectPathGen2InactiveReasonNetwork("portNptIncompatibleDvs") - DVPortStatusVmDirectPathGen2InactiveReasonNetworkPortNptNoCompatibleNics = DVPortStatusVmDirectPathGen2InactiveReasonNetwork("portNptNoCompatibleNics") - DVPortStatusVmDirectPathGen2InactiveReasonNetworkPortNptNoVirtualFunctionsAvailable = DVPortStatusVmDirectPathGen2InactiveReasonNetwork("portNptNoVirtualFunctionsAvailable") - DVPortStatusVmDirectPathGen2InactiveReasonNetworkPortNptDisabledForPort = DVPortStatusVmDirectPathGen2InactiveReasonNetwork("portNptDisabledForPort") -) - -func init() { - t["DVPortStatusVmDirectPathGen2InactiveReasonNetwork"] = reflect.TypeOf((*DVPortStatusVmDirectPathGen2InactiveReasonNetwork)(nil)).Elem() -} - -type DVPortStatusVmDirectPathGen2InactiveReasonOther string - -const ( - DVPortStatusVmDirectPathGen2InactiveReasonOtherPortNptIncompatibleHost = DVPortStatusVmDirectPathGen2InactiveReasonOther("portNptIncompatibleHost") - DVPortStatusVmDirectPathGen2InactiveReasonOtherPortNptIncompatibleConnectee = DVPortStatusVmDirectPathGen2InactiveReasonOther("portNptIncompatibleConnectee") -) - -func init() { - t["DVPortStatusVmDirectPathGen2InactiveReasonOther"] = reflect.TypeOf((*DVPortStatusVmDirectPathGen2InactiveReasonOther)(nil)).Elem() -} - -type DVSMacLimitPolicyType string - -const ( - DVSMacLimitPolicyTypeAllow = DVSMacLimitPolicyType("allow") - DVSMacLimitPolicyTypeDrop = DVSMacLimitPolicyType("drop") -) - -func init() { - t["DVSMacLimitPolicyType"] = reflect.TypeOf((*DVSMacLimitPolicyType)(nil)).Elem() -} - -type DasConfigFaultDasConfigFaultReason string - -const ( - DasConfigFaultDasConfigFaultReasonHostNetworkMisconfiguration = DasConfigFaultDasConfigFaultReason("HostNetworkMisconfiguration") - DasConfigFaultDasConfigFaultReasonHostMisconfiguration = DasConfigFaultDasConfigFaultReason("HostMisconfiguration") - DasConfigFaultDasConfigFaultReasonInsufficientPrivileges = DasConfigFaultDasConfigFaultReason("InsufficientPrivileges") - DasConfigFaultDasConfigFaultReasonNoPrimaryAgentAvailable = DasConfigFaultDasConfigFaultReason("NoPrimaryAgentAvailable") - DasConfigFaultDasConfigFaultReasonOther = DasConfigFaultDasConfigFaultReason("Other") - DasConfigFaultDasConfigFaultReasonNoDatastoresConfigured = DasConfigFaultDasConfigFaultReason("NoDatastoresConfigured") - DasConfigFaultDasConfigFaultReasonCreateConfigVvolFailed = DasConfigFaultDasConfigFaultReason("CreateConfigVvolFailed") - DasConfigFaultDasConfigFaultReasonVSanNotSupportedOnHost = DasConfigFaultDasConfigFaultReason("VSanNotSupportedOnHost") - DasConfigFaultDasConfigFaultReasonDasNetworkMisconfiguration = DasConfigFaultDasConfigFaultReason("DasNetworkMisconfiguration") - DasConfigFaultDasConfigFaultReasonSetDesiredImageSpecFailed = DasConfigFaultDasConfigFaultReason("SetDesiredImageSpecFailed") - DasConfigFaultDasConfigFaultReasonApplyHAVibsOnClusterFailed = DasConfigFaultDasConfigFaultReason("ApplyHAVibsOnClusterFailed") -) - -func init() { - t["DasConfigFaultDasConfigFaultReason"] = reflect.TypeOf((*DasConfigFaultDasConfigFaultReason)(nil)).Elem() -} - -type DasVmPriority string - -const ( - DasVmPriorityDisabled = DasVmPriority("disabled") - DasVmPriorityLow = DasVmPriority("low") - DasVmPriorityMedium = DasVmPriority("medium") - DasVmPriorityHigh = DasVmPriority("high") -) - -func init() { - t["DasVmPriority"] = reflect.TypeOf((*DasVmPriority)(nil)).Elem() -} - -type DatastoreAccessible string - -const ( - DatastoreAccessibleTrue = DatastoreAccessible("True") - DatastoreAccessibleFalse = DatastoreAccessible("False") -) - -func init() { - t["DatastoreAccessible"] = reflect.TypeOf((*DatastoreAccessible)(nil)).Elem() -} - -type DatastoreSummaryMaintenanceModeState string - -const ( - DatastoreSummaryMaintenanceModeStateNormal = DatastoreSummaryMaintenanceModeState("normal") - DatastoreSummaryMaintenanceModeStateEnteringMaintenance = DatastoreSummaryMaintenanceModeState("enteringMaintenance") - DatastoreSummaryMaintenanceModeStateInMaintenance = DatastoreSummaryMaintenanceModeState("inMaintenance") -) - -func init() { - t["DatastoreSummaryMaintenanceModeState"] = reflect.TypeOf((*DatastoreSummaryMaintenanceModeState)(nil)).Elem() -} - -type DayOfWeek string - -const ( - DayOfWeekSunday = DayOfWeek("sunday") - DayOfWeekMonday = DayOfWeek("monday") - DayOfWeekTuesday = DayOfWeek("tuesday") - DayOfWeekWednesday = DayOfWeek("wednesday") - DayOfWeekThursday = DayOfWeek("thursday") - DayOfWeekFriday = DayOfWeek("friday") - DayOfWeekSaturday = DayOfWeek("saturday") -) - -func init() { - t["DayOfWeek"] = reflect.TypeOf((*DayOfWeek)(nil)).Elem() -} - -type DeviceNotSupportedReason string - -const ( - DeviceNotSupportedReasonHost = DeviceNotSupportedReason("host") - DeviceNotSupportedReasonGuest = DeviceNotSupportedReason("guest") -) - -func init() { - t["DeviceNotSupportedReason"] = reflect.TypeOf((*DeviceNotSupportedReason)(nil)).Elem() -} - -type DiagnosticManagerLogCreator string - -const ( - DiagnosticManagerLogCreatorVpxd = DiagnosticManagerLogCreator("vpxd") - DiagnosticManagerLogCreatorVpxa = DiagnosticManagerLogCreator("vpxa") - DiagnosticManagerLogCreatorHostd = DiagnosticManagerLogCreator("hostd") - DiagnosticManagerLogCreatorServerd = DiagnosticManagerLogCreator("serverd") - DiagnosticManagerLogCreatorInstall = DiagnosticManagerLogCreator("install") - DiagnosticManagerLogCreatorVpxClient = DiagnosticManagerLogCreator("vpxClient") - DiagnosticManagerLogCreatorRecordLog = DiagnosticManagerLogCreator("recordLog") -) - -func init() { - t["DiagnosticManagerLogCreator"] = reflect.TypeOf((*DiagnosticManagerLogCreator)(nil)).Elem() -} - -type DiagnosticManagerLogFormat string - -const ( - DiagnosticManagerLogFormatPlain = DiagnosticManagerLogFormat("plain") -) - -func init() { - t["DiagnosticManagerLogFormat"] = reflect.TypeOf((*DiagnosticManagerLogFormat)(nil)).Elem() -} - -type DiagnosticPartitionStorageType string - -const ( - DiagnosticPartitionStorageTypeDirectAttached = DiagnosticPartitionStorageType("directAttached") - DiagnosticPartitionStorageTypeNetworkAttached = DiagnosticPartitionStorageType("networkAttached") -) - -func init() { - t["DiagnosticPartitionStorageType"] = reflect.TypeOf((*DiagnosticPartitionStorageType)(nil)).Elem() -} - -type DiagnosticPartitionType string - -const ( - DiagnosticPartitionTypeSingleHost = DiagnosticPartitionType("singleHost") - DiagnosticPartitionTypeMultiHost = DiagnosticPartitionType("multiHost") -) - -func init() { - t["DiagnosticPartitionType"] = reflect.TypeOf((*DiagnosticPartitionType)(nil)).Elem() -} - -type DisallowedChangeByServiceDisallowedChange string - -const ( - DisallowedChangeByServiceDisallowedChangeHotExtendDisk = DisallowedChangeByServiceDisallowedChange("hotExtendDisk") -) - -func init() { - t["DisallowedChangeByServiceDisallowedChange"] = reflect.TypeOf((*DisallowedChangeByServiceDisallowedChange)(nil)).Elem() -} - -type DistributedVirtualPortgroupBackingType string - -const ( - DistributedVirtualPortgroupBackingTypeStandard = DistributedVirtualPortgroupBackingType("standard") - DistributedVirtualPortgroupBackingTypeNsx = DistributedVirtualPortgroupBackingType("nsx") -) - -func init() { - t["DistributedVirtualPortgroupBackingType"] = reflect.TypeOf((*DistributedVirtualPortgroupBackingType)(nil)).Elem() -} - -type DistributedVirtualPortgroupMetaTagName string - -const ( - DistributedVirtualPortgroupMetaTagNameDvsName = DistributedVirtualPortgroupMetaTagName("dvsName") - DistributedVirtualPortgroupMetaTagNamePortgroupName = DistributedVirtualPortgroupMetaTagName("portgroupName") - DistributedVirtualPortgroupMetaTagNamePortIndex = DistributedVirtualPortgroupMetaTagName("portIndex") -) - -func init() { - t["DistributedVirtualPortgroupMetaTagName"] = reflect.TypeOf((*DistributedVirtualPortgroupMetaTagName)(nil)).Elem() -} - -type DistributedVirtualPortgroupPortgroupType string - -const ( - DistributedVirtualPortgroupPortgroupTypeEarlyBinding = DistributedVirtualPortgroupPortgroupType("earlyBinding") - DistributedVirtualPortgroupPortgroupTypeLateBinding = DistributedVirtualPortgroupPortgroupType("lateBinding") - DistributedVirtualPortgroupPortgroupTypeEphemeral = DistributedVirtualPortgroupPortgroupType("ephemeral") -) - -func init() { - t["DistributedVirtualPortgroupPortgroupType"] = reflect.TypeOf((*DistributedVirtualPortgroupPortgroupType)(nil)).Elem() -} - -type DistributedVirtualSwitchHostInfrastructureTrafficClass string - -const ( - DistributedVirtualSwitchHostInfrastructureTrafficClassManagement = DistributedVirtualSwitchHostInfrastructureTrafficClass("management") - DistributedVirtualSwitchHostInfrastructureTrafficClassFaultTolerance = DistributedVirtualSwitchHostInfrastructureTrafficClass("faultTolerance") - DistributedVirtualSwitchHostInfrastructureTrafficClassVmotion = DistributedVirtualSwitchHostInfrastructureTrafficClass("vmotion") - DistributedVirtualSwitchHostInfrastructureTrafficClassVirtualMachine = DistributedVirtualSwitchHostInfrastructureTrafficClass("virtualMachine") - DistributedVirtualSwitchHostInfrastructureTrafficClassISCSI = DistributedVirtualSwitchHostInfrastructureTrafficClass("iSCSI") - DistributedVirtualSwitchHostInfrastructureTrafficClassNfs = DistributedVirtualSwitchHostInfrastructureTrafficClass("nfs") - DistributedVirtualSwitchHostInfrastructureTrafficClassHbr = DistributedVirtualSwitchHostInfrastructureTrafficClass("hbr") - DistributedVirtualSwitchHostInfrastructureTrafficClassVsan = DistributedVirtualSwitchHostInfrastructureTrafficClass("vsan") - DistributedVirtualSwitchHostInfrastructureTrafficClassVdp = DistributedVirtualSwitchHostInfrastructureTrafficClass("vdp") - DistributedVirtualSwitchHostInfrastructureTrafficClassBackupNfc = DistributedVirtualSwitchHostInfrastructureTrafficClass("backupNfc") - DistributedVirtualSwitchHostInfrastructureTrafficClassNvmetcp = DistributedVirtualSwitchHostInfrastructureTrafficClass("nvmetcp") -) - -func init() { - t["DistributedVirtualSwitchHostInfrastructureTrafficClass"] = reflect.TypeOf((*DistributedVirtualSwitchHostInfrastructureTrafficClass)(nil)).Elem() -} - -type DistributedVirtualSwitchHostMemberHostComponentState string - -const ( - DistributedVirtualSwitchHostMemberHostComponentStateUp = DistributedVirtualSwitchHostMemberHostComponentState("up") - DistributedVirtualSwitchHostMemberHostComponentStatePending = DistributedVirtualSwitchHostMemberHostComponentState("pending") - DistributedVirtualSwitchHostMemberHostComponentStateOutOfSync = DistributedVirtualSwitchHostMemberHostComponentState("outOfSync") - DistributedVirtualSwitchHostMemberHostComponentStateWarning = DistributedVirtualSwitchHostMemberHostComponentState("warning") - DistributedVirtualSwitchHostMemberHostComponentStateDisconnected = DistributedVirtualSwitchHostMemberHostComponentState("disconnected") - DistributedVirtualSwitchHostMemberHostComponentStateDown = DistributedVirtualSwitchHostMemberHostComponentState("down") -) - -func init() { - t["DistributedVirtualSwitchHostMemberHostComponentState"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberHostComponentState)(nil)).Elem() -} - -type DistributedVirtualSwitchHostMemberTransportZoneType string - -const ( - DistributedVirtualSwitchHostMemberTransportZoneTypeVlan = DistributedVirtualSwitchHostMemberTransportZoneType("vlan") - DistributedVirtualSwitchHostMemberTransportZoneTypeOverlay = DistributedVirtualSwitchHostMemberTransportZoneType("overlay") -) - -func init() { - t["DistributedVirtualSwitchHostMemberTransportZoneType"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberTransportZoneType)(nil)).Elem() -} - -type DistributedVirtualSwitchNetworkResourceControlVersion string - -const ( - DistributedVirtualSwitchNetworkResourceControlVersionVersion2 = DistributedVirtualSwitchNetworkResourceControlVersion("version2") - DistributedVirtualSwitchNetworkResourceControlVersionVersion3 = DistributedVirtualSwitchNetworkResourceControlVersion("version3") -) - -func init() { - t["DistributedVirtualSwitchNetworkResourceControlVersion"] = reflect.TypeOf((*DistributedVirtualSwitchNetworkResourceControlVersion)(nil)).Elem() -} - -type DistributedVirtualSwitchNicTeamingPolicyMode string - -const ( - DistributedVirtualSwitchNicTeamingPolicyModeLoadbalance_ip = DistributedVirtualSwitchNicTeamingPolicyMode("loadbalance_ip") - DistributedVirtualSwitchNicTeamingPolicyModeLoadbalance_srcmac = DistributedVirtualSwitchNicTeamingPolicyMode("loadbalance_srcmac") - DistributedVirtualSwitchNicTeamingPolicyModeLoadbalance_srcid = DistributedVirtualSwitchNicTeamingPolicyMode("loadbalance_srcid") - DistributedVirtualSwitchNicTeamingPolicyModeFailover_explicit = DistributedVirtualSwitchNicTeamingPolicyMode("failover_explicit") - DistributedVirtualSwitchNicTeamingPolicyModeLoadbalance_loadbased = DistributedVirtualSwitchNicTeamingPolicyMode("loadbalance_loadbased") -) - -func init() { - t["DistributedVirtualSwitchNicTeamingPolicyMode"] = reflect.TypeOf((*DistributedVirtualSwitchNicTeamingPolicyMode)(nil)).Elem() -} - -type DistributedVirtualSwitchPortConnecteeConnecteeType string - -const ( - DistributedVirtualSwitchPortConnecteeConnecteeTypePnic = DistributedVirtualSwitchPortConnecteeConnecteeType("pnic") - DistributedVirtualSwitchPortConnecteeConnecteeTypeVmVnic = DistributedVirtualSwitchPortConnecteeConnecteeType("vmVnic") - DistributedVirtualSwitchPortConnecteeConnecteeTypeHostConsoleVnic = DistributedVirtualSwitchPortConnecteeConnecteeType("hostConsoleVnic") - DistributedVirtualSwitchPortConnecteeConnecteeTypeHostVmkVnic = DistributedVirtualSwitchPortConnecteeConnecteeType("hostVmkVnic") -) - -func init() { - t["DistributedVirtualSwitchPortConnecteeConnecteeType"] = reflect.TypeOf((*DistributedVirtualSwitchPortConnecteeConnecteeType)(nil)).Elem() -} - -type DistributedVirtualSwitchProductSpecOperationType string - -const ( - DistributedVirtualSwitchProductSpecOperationTypePreInstall = DistributedVirtualSwitchProductSpecOperationType("preInstall") - DistributedVirtualSwitchProductSpecOperationTypeUpgrade = DistributedVirtualSwitchProductSpecOperationType("upgrade") - DistributedVirtualSwitchProductSpecOperationTypeNotifyAvailableUpgrade = DistributedVirtualSwitchProductSpecOperationType("notifyAvailableUpgrade") - DistributedVirtualSwitchProductSpecOperationTypeProceedWithUpgrade = DistributedVirtualSwitchProductSpecOperationType("proceedWithUpgrade") - DistributedVirtualSwitchProductSpecOperationTypeUpdateBundleInfo = DistributedVirtualSwitchProductSpecOperationType("updateBundleInfo") -) - -func init() { - t["DistributedVirtualSwitchProductSpecOperationType"] = reflect.TypeOf((*DistributedVirtualSwitchProductSpecOperationType)(nil)).Elem() -} - -type DpmBehavior string - -const ( - DpmBehaviorManual = DpmBehavior("manual") - DpmBehaviorAutomated = DpmBehavior("automated") -) - -func init() { - t["DpmBehavior"] = reflect.TypeOf((*DpmBehavior)(nil)).Elem() -} - -type DrsBehavior string - -const ( - DrsBehaviorManual = DrsBehavior("manual") - DrsBehaviorPartiallyAutomated = DrsBehavior("partiallyAutomated") - DrsBehaviorFullyAutomated = DrsBehavior("fullyAutomated") -) - -func init() { - t["DrsBehavior"] = reflect.TypeOf((*DrsBehavior)(nil)).Elem() -} - -type DrsInjectorWorkloadCorrelationState string - -const ( - DrsInjectorWorkloadCorrelationStateCorrelated = DrsInjectorWorkloadCorrelationState("Correlated") - DrsInjectorWorkloadCorrelationStateUncorrelated = DrsInjectorWorkloadCorrelationState("Uncorrelated") -) - -func init() { - t["DrsInjectorWorkloadCorrelationState"] = reflect.TypeOf((*DrsInjectorWorkloadCorrelationState)(nil)).Elem() -} - -type DrsRecommendationReasonCode string - -const ( - DrsRecommendationReasonCodeFairnessCpuAvg = DrsRecommendationReasonCode("fairnessCpuAvg") - DrsRecommendationReasonCodeFairnessMemAvg = DrsRecommendationReasonCode("fairnessMemAvg") - DrsRecommendationReasonCodeJointAffin = DrsRecommendationReasonCode("jointAffin") - DrsRecommendationReasonCodeAntiAffin = DrsRecommendationReasonCode("antiAffin") - DrsRecommendationReasonCodeHostMaint = DrsRecommendationReasonCode("hostMaint") -) - -func init() { - t["DrsRecommendationReasonCode"] = reflect.TypeOf((*DrsRecommendationReasonCode)(nil)).Elem() -} - -type DvsEventPortBlockState string - -const ( - DvsEventPortBlockStateUnset = DvsEventPortBlockState("unset") - DvsEventPortBlockStateBlocked = DvsEventPortBlockState("blocked") - DvsEventPortBlockStateUnblocked = DvsEventPortBlockState("unblocked") - DvsEventPortBlockStateUnknown = DvsEventPortBlockState("unknown") -) - -func init() { - t["DvsEventPortBlockState"] = reflect.TypeOf((*DvsEventPortBlockState)(nil)).Elem() -} - -type DvsFilterOnFailure string - -const ( - DvsFilterOnFailureFailOpen = DvsFilterOnFailure("failOpen") - DvsFilterOnFailureFailClosed = DvsFilterOnFailure("failClosed") -) - -func init() { - t["DvsFilterOnFailure"] = reflect.TypeOf((*DvsFilterOnFailure)(nil)).Elem() -} - -type DvsNetworkRuleDirectionType string - -const ( - DvsNetworkRuleDirectionTypeIncomingPackets = DvsNetworkRuleDirectionType("incomingPackets") - DvsNetworkRuleDirectionTypeOutgoingPackets = DvsNetworkRuleDirectionType("outgoingPackets") - DvsNetworkRuleDirectionTypeBoth = DvsNetworkRuleDirectionType("both") -) - -func init() { - t["DvsNetworkRuleDirectionType"] = reflect.TypeOf((*DvsNetworkRuleDirectionType)(nil)).Elem() -} - -type EntityImportType string - -const ( - EntityImportTypeCreateEntityWithNewIdentifier = EntityImportType("createEntityWithNewIdentifier") - EntityImportTypeCreateEntityWithOriginalIdentifier = EntityImportType("createEntityWithOriginalIdentifier") - EntityImportTypeApplyToEntitySpecified = EntityImportType("applyToEntitySpecified") -) - -func init() { - t["EntityImportType"] = reflect.TypeOf((*EntityImportType)(nil)).Elem() -} - -type EntityType string - -const ( - EntityTypeDistributedVirtualSwitch = EntityType("distributedVirtualSwitch") - EntityTypeDistributedVirtualPortgroup = EntityType("distributedVirtualPortgroup") -) - -func init() { - t["EntityType"] = reflect.TypeOf((*EntityType)(nil)).Elem() -} - -type EventAlarmExpressionComparisonOperator string - -const ( - EventAlarmExpressionComparisonOperatorEquals = EventAlarmExpressionComparisonOperator("equals") - EventAlarmExpressionComparisonOperatorNotEqualTo = EventAlarmExpressionComparisonOperator("notEqualTo") - EventAlarmExpressionComparisonOperatorStartsWith = EventAlarmExpressionComparisonOperator("startsWith") - EventAlarmExpressionComparisonOperatorDoesNotStartWith = EventAlarmExpressionComparisonOperator("doesNotStartWith") - EventAlarmExpressionComparisonOperatorEndsWith = EventAlarmExpressionComparisonOperator("endsWith") - EventAlarmExpressionComparisonOperatorDoesNotEndWith = EventAlarmExpressionComparisonOperator("doesNotEndWith") -) - -func init() { - t["EventAlarmExpressionComparisonOperator"] = reflect.TypeOf((*EventAlarmExpressionComparisonOperator)(nil)).Elem() -} - -type EventCategory string - -const ( - EventCategoryInfo = EventCategory("info") - EventCategoryWarning = EventCategory("warning") - EventCategoryError = EventCategory("error") - EventCategoryUser = EventCategory("user") -) - -func init() { - t["EventCategory"] = reflect.TypeOf((*EventCategory)(nil)).Elem() -} - -type EventEventSeverity string - -const ( - EventEventSeverityError = EventEventSeverity("error") - EventEventSeverityWarning = EventEventSeverity("warning") - EventEventSeverityInfo = EventEventSeverity("info") - EventEventSeverityUser = EventEventSeverity("user") -) - -func init() { - t["EventEventSeverity"] = reflect.TypeOf((*EventEventSeverity)(nil)).Elem() -} - -type EventFilterSpecRecursionOption string - -const ( - EventFilterSpecRecursionOptionSelf = EventFilterSpecRecursionOption("self") - EventFilterSpecRecursionOptionChildren = EventFilterSpecRecursionOption("children") - EventFilterSpecRecursionOptionAll = EventFilterSpecRecursionOption("all") -) - -func init() { - t["EventFilterSpecRecursionOption"] = reflect.TypeOf((*EventFilterSpecRecursionOption)(nil)).Elem() -} - -type FibreChannelPortType string - -const ( - FibreChannelPortTypeFabric = FibreChannelPortType("fabric") - FibreChannelPortTypeLoop = FibreChannelPortType("loop") - FibreChannelPortTypePointToPoint = FibreChannelPortType("pointToPoint") - FibreChannelPortTypeUnknown = FibreChannelPortType("unknown") -) - -func init() { - t["FibreChannelPortType"] = reflect.TypeOf((*FibreChannelPortType)(nil)).Elem() -} - -type FileSystemMountInfoVStorageSupportStatus string - -const ( - FileSystemMountInfoVStorageSupportStatusVStorageSupported = FileSystemMountInfoVStorageSupportStatus("vStorageSupported") - FileSystemMountInfoVStorageSupportStatusVStorageUnsupported = FileSystemMountInfoVStorageSupportStatus("vStorageUnsupported") - FileSystemMountInfoVStorageSupportStatusVStorageUnknown = FileSystemMountInfoVStorageSupportStatus("vStorageUnknown") -) - -func init() { - t["FileSystemMountInfoVStorageSupportStatus"] = reflect.TypeOf((*FileSystemMountInfoVStorageSupportStatus)(nil)).Elem() -} - -type FolderDesiredHostState string - -const ( - FolderDesiredHostStateMaintenance = FolderDesiredHostState("maintenance") - FolderDesiredHostStateNon_maintenance = FolderDesiredHostState("non_maintenance") -) - -func init() { - t["FolderDesiredHostState"] = reflect.TypeOf((*FolderDesiredHostState)(nil)).Elem() -} - -type FtIssuesOnHostHostSelectionType string - -const ( - FtIssuesOnHostHostSelectionTypeUser = FtIssuesOnHostHostSelectionType("user") - FtIssuesOnHostHostSelectionTypeVc = FtIssuesOnHostHostSelectionType("vc") - FtIssuesOnHostHostSelectionTypeDrs = FtIssuesOnHostHostSelectionType("drs") -) - -func init() { - t["FtIssuesOnHostHostSelectionType"] = reflect.TypeOf((*FtIssuesOnHostHostSelectionType)(nil)).Elem() -} - -type GuestFileType string - -const ( - GuestFileTypeFile = GuestFileType("file") - GuestFileTypeDirectory = GuestFileType("directory") - GuestFileTypeSymlink = GuestFileType("symlink") -) - -func init() { - t["GuestFileType"] = reflect.TypeOf((*GuestFileType)(nil)).Elem() -} - -type GuestInfoAppStateType string - -const ( - GuestInfoAppStateTypeNone = GuestInfoAppStateType("none") - GuestInfoAppStateTypeAppStateOk = GuestInfoAppStateType("appStateOk") - GuestInfoAppStateTypeAppStateNeedReset = GuestInfoAppStateType("appStateNeedReset") -) - -func init() { - t["GuestInfoAppStateType"] = reflect.TypeOf((*GuestInfoAppStateType)(nil)).Elem() -} - -type GuestInfoCustomizationStatus string - -const ( - GuestInfoCustomizationStatusTOOLSDEPLOYPKG_IDLE = GuestInfoCustomizationStatus("TOOLSDEPLOYPKG_IDLE") - GuestInfoCustomizationStatusTOOLSDEPLOYPKG_PENDING = GuestInfoCustomizationStatus("TOOLSDEPLOYPKG_PENDING") - GuestInfoCustomizationStatusTOOLSDEPLOYPKG_RUNNING = GuestInfoCustomizationStatus("TOOLSDEPLOYPKG_RUNNING") - GuestInfoCustomizationStatusTOOLSDEPLOYPKG_SUCCEEDED = GuestInfoCustomizationStatus("TOOLSDEPLOYPKG_SUCCEEDED") - GuestInfoCustomizationStatusTOOLSDEPLOYPKG_FAILED = GuestInfoCustomizationStatus("TOOLSDEPLOYPKG_FAILED") -) - -func init() { - t["GuestInfoCustomizationStatus"] = reflect.TypeOf((*GuestInfoCustomizationStatus)(nil)).Elem() -} - -type GuestOsDescriptorFirmwareType string - -const ( - GuestOsDescriptorFirmwareTypeBios = GuestOsDescriptorFirmwareType("bios") - GuestOsDescriptorFirmwareTypeEfi = GuestOsDescriptorFirmwareType("efi") -) - -func init() { - t["GuestOsDescriptorFirmwareType"] = reflect.TypeOf((*GuestOsDescriptorFirmwareType)(nil)).Elem() -} - -type GuestOsDescriptorSupportLevel string - -const ( - GuestOsDescriptorSupportLevelExperimental = GuestOsDescriptorSupportLevel("experimental") - GuestOsDescriptorSupportLevelLegacy = GuestOsDescriptorSupportLevel("legacy") - GuestOsDescriptorSupportLevelTerminated = GuestOsDescriptorSupportLevel("terminated") - GuestOsDescriptorSupportLevelSupported = GuestOsDescriptorSupportLevel("supported") - GuestOsDescriptorSupportLevelUnsupported = GuestOsDescriptorSupportLevel("unsupported") - GuestOsDescriptorSupportLevelDeprecated = GuestOsDescriptorSupportLevel("deprecated") - GuestOsDescriptorSupportLevelTechPreview = GuestOsDescriptorSupportLevel("techPreview") -) - -func init() { - t["GuestOsDescriptorSupportLevel"] = reflect.TypeOf((*GuestOsDescriptorSupportLevel)(nil)).Elem() -} - -type GuestQuiesceEndGuestQuiesceError string - -const ( - GuestQuiesceEndGuestQuiesceErrorFailure = GuestQuiesceEndGuestQuiesceError("failure") -) - -func init() { - t["GuestQuiesceEndGuestQuiesceError"] = reflect.TypeOf((*GuestQuiesceEndGuestQuiesceError)(nil)).Elem() -} - -type GuestRegKeyWowSpec string - -const ( - GuestRegKeyWowSpecWOWNative = GuestRegKeyWowSpec("WOWNative") - GuestRegKeyWowSpecWOW32 = GuestRegKeyWowSpec("WOW32") - GuestRegKeyWowSpecWOW64 = GuestRegKeyWowSpec("WOW64") -) - -func init() { - t["GuestRegKeyWowSpec"] = reflect.TypeOf((*GuestRegKeyWowSpec)(nil)).Elem() -} - -type HealthUpdateInfoComponentType string - -const ( - HealthUpdateInfoComponentTypeMemory = HealthUpdateInfoComponentType("Memory") - HealthUpdateInfoComponentTypePower = HealthUpdateInfoComponentType("Power") - HealthUpdateInfoComponentTypeFan = HealthUpdateInfoComponentType("Fan") - HealthUpdateInfoComponentTypeNetwork = HealthUpdateInfoComponentType("Network") - HealthUpdateInfoComponentTypeStorage = HealthUpdateInfoComponentType("Storage") -) - -func init() { - t["HealthUpdateInfoComponentType"] = reflect.TypeOf((*HealthUpdateInfoComponentType)(nil)).Elem() -} - -type HostAccessMode string - -const ( - HostAccessModeAccessNone = HostAccessMode("accessNone") - HostAccessModeAccessAdmin = HostAccessMode("accessAdmin") - HostAccessModeAccessNoAccess = HostAccessMode("accessNoAccess") - HostAccessModeAccessReadOnly = HostAccessMode("accessReadOnly") - HostAccessModeAccessOther = HostAccessMode("accessOther") -) - -func init() { - t["HostAccessMode"] = reflect.TypeOf((*HostAccessMode)(nil)).Elem() -} - -type HostActiveDirectoryAuthenticationCertificateDigest string - -const ( - HostActiveDirectoryAuthenticationCertificateDigestSHA1 = HostActiveDirectoryAuthenticationCertificateDigest("SHA1") -) - -func init() { - t["HostActiveDirectoryAuthenticationCertificateDigest"] = reflect.TypeOf((*HostActiveDirectoryAuthenticationCertificateDigest)(nil)).Elem() -} - -type HostActiveDirectoryInfoDomainMembershipStatus string - -const ( - HostActiveDirectoryInfoDomainMembershipStatusUnknown = HostActiveDirectoryInfoDomainMembershipStatus("unknown") - HostActiveDirectoryInfoDomainMembershipStatusOk = HostActiveDirectoryInfoDomainMembershipStatus("ok") - HostActiveDirectoryInfoDomainMembershipStatusNoServers = HostActiveDirectoryInfoDomainMembershipStatus("noServers") - HostActiveDirectoryInfoDomainMembershipStatusClientTrustBroken = HostActiveDirectoryInfoDomainMembershipStatus("clientTrustBroken") - HostActiveDirectoryInfoDomainMembershipStatusServerTrustBroken = HostActiveDirectoryInfoDomainMembershipStatus("serverTrustBroken") - HostActiveDirectoryInfoDomainMembershipStatusInconsistentTrust = HostActiveDirectoryInfoDomainMembershipStatus("inconsistentTrust") - HostActiveDirectoryInfoDomainMembershipStatusOtherProblem = HostActiveDirectoryInfoDomainMembershipStatus("otherProblem") -) - -func init() { - t["HostActiveDirectoryInfoDomainMembershipStatus"] = reflect.TypeOf((*HostActiveDirectoryInfoDomainMembershipStatus)(nil)).Elem() -} - -type HostCapabilityFtUnsupportedReason string - -const ( - HostCapabilityFtUnsupportedReasonVMotionNotLicensed = HostCapabilityFtUnsupportedReason("vMotionNotLicensed") - HostCapabilityFtUnsupportedReasonMissingVMotionNic = HostCapabilityFtUnsupportedReason("missingVMotionNic") - HostCapabilityFtUnsupportedReasonMissingFTLoggingNic = HostCapabilityFtUnsupportedReason("missingFTLoggingNic") - HostCapabilityFtUnsupportedReasonFtNotLicensed = HostCapabilityFtUnsupportedReason("ftNotLicensed") - HostCapabilityFtUnsupportedReasonHaAgentIssue = HostCapabilityFtUnsupportedReason("haAgentIssue") - HostCapabilityFtUnsupportedReasonUnsupportedProduct = HostCapabilityFtUnsupportedReason("unsupportedProduct") - HostCapabilityFtUnsupportedReasonCpuHvUnsupported = HostCapabilityFtUnsupportedReason("cpuHvUnsupported") - HostCapabilityFtUnsupportedReasonCpuHwmmuUnsupported = HostCapabilityFtUnsupportedReason("cpuHwmmuUnsupported") - HostCapabilityFtUnsupportedReasonCpuHvDisabled = HostCapabilityFtUnsupportedReason("cpuHvDisabled") -) - -func init() { - t["HostCapabilityFtUnsupportedReason"] = reflect.TypeOf((*HostCapabilityFtUnsupportedReason)(nil)).Elem() -} - -type HostCapabilityUnmapMethodSupported string - -const ( - HostCapabilityUnmapMethodSupportedPriority = HostCapabilityUnmapMethodSupported("priority") - HostCapabilityUnmapMethodSupportedFixed = HostCapabilityUnmapMethodSupported("fixed") - HostCapabilityUnmapMethodSupportedDynamic = HostCapabilityUnmapMethodSupported("dynamic") -) - -func init() { - t["HostCapabilityUnmapMethodSupported"] = reflect.TypeOf((*HostCapabilityUnmapMethodSupported)(nil)).Elem() -} - -type HostCapabilityVmDirectPathGen2UnsupportedReason string - -const ( - HostCapabilityVmDirectPathGen2UnsupportedReasonHostNptIncompatibleProduct = HostCapabilityVmDirectPathGen2UnsupportedReason("hostNptIncompatibleProduct") - HostCapabilityVmDirectPathGen2UnsupportedReasonHostNptIncompatibleHardware = HostCapabilityVmDirectPathGen2UnsupportedReason("hostNptIncompatibleHardware") - HostCapabilityVmDirectPathGen2UnsupportedReasonHostNptDisabled = HostCapabilityVmDirectPathGen2UnsupportedReason("hostNptDisabled") -) - -func init() { - t["HostCapabilityVmDirectPathGen2UnsupportedReason"] = reflect.TypeOf((*HostCapabilityVmDirectPathGen2UnsupportedReason)(nil)).Elem() -} - -type HostCertificateManagerCertificateInfoCertificateStatus string - -const ( - HostCertificateManagerCertificateInfoCertificateStatusUnknown = HostCertificateManagerCertificateInfoCertificateStatus("unknown") - HostCertificateManagerCertificateInfoCertificateStatusExpired = HostCertificateManagerCertificateInfoCertificateStatus("expired") - HostCertificateManagerCertificateInfoCertificateStatusExpiring = HostCertificateManagerCertificateInfoCertificateStatus("expiring") - HostCertificateManagerCertificateInfoCertificateStatusExpiringShortly = HostCertificateManagerCertificateInfoCertificateStatus("expiringShortly") - HostCertificateManagerCertificateInfoCertificateStatusExpirationImminent = HostCertificateManagerCertificateInfoCertificateStatus("expirationImminent") - HostCertificateManagerCertificateInfoCertificateStatusGood = HostCertificateManagerCertificateInfoCertificateStatus("good") -) - -func init() { - t["HostCertificateManagerCertificateInfoCertificateStatus"] = reflect.TypeOf((*HostCertificateManagerCertificateInfoCertificateStatus)(nil)).Elem() -} - -type HostConfigChangeMode string - -const ( - HostConfigChangeModeModify = HostConfigChangeMode("modify") - HostConfigChangeModeReplace = HostConfigChangeMode("replace") -) - -func init() { - t["HostConfigChangeMode"] = reflect.TypeOf((*HostConfigChangeMode)(nil)).Elem() -} - -type HostConfigChangeOperation string - -const ( - HostConfigChangeOperationAdd = HostConfigChangeOperation("add") - HostConfigChangeOperationRemove = HostConfigChangeOperation("remove") - HostConfigChangeOperationEdit = HostConfigChangeOperation("edit") - HostConfigChangeOperationIgnore = HostConfigChangeOperation("ignore") -) - -func init() { - t["HostConfigChangeOperation"] = reflect.TypeOf((*HostConfigChangeOperation)(nil)).Elem() -} - -type HostCpuPackageVendor string - -const ( - HostCpuPackageVendorUnknown = HostCpuPackageVendor("unknown") - HostCpuPackageVendorIntel = HostCpuPackageVendor("intel") - HostCpuPackageVendorAmd = HostCpuPackageVendor("amd") - HostCpuPackageVendorHygon = HostCpuPackageVendor("hygon") -) - -func init() { - t["HostCpuPackageVendor"] = reflect.TypeOf((*HostCpuPackageVendor)(nil)).Elem() -} - -type HostCpuPowerManagementInfoPolicyType string - -const ( - HostCpuPowerManagementInfoPolicyTypeOff = HostCpuPowerManagementInfoPolicyType("off") - HostCpuPowerManagementInfoPolicyTypeStaticPolicy = HostCpuPowerManagementInfoPolicyType("staticPolicy") - HostCpuPowerManagementInfoPolicyTypeDynamicPolicy = HostCpuPowerManagementInfoPolicyType("dynamicPolicy") -) - -func init() { - t["HostCpuPowerManagementInfoPolicyType"] = reflect.TypeOf((*HostCpuPowerManagementInfoPolicyType)(nil)).Elem() -} - -type HostCryptoState string - -const ( - HostCryptoStateIncapable = HostCryptoState("incapable") - HostCryptoStatePrepared = HostCryptoState("prepared") - HostCryptoStateSafe = HostCryptoState("safe") - HostCryptoStatePendingIncapable = HostCryptoState("pendingIncapable") -) - -func init() { - t["HostCryptoState"] = reflect.TypeOf((*HostCryptoState)(nil)).Elem() -} - -type HostDVSConfigSpecSwitchMode string - -const ( - HostDVSConfigSpecSwitchModeNormal = HostDVSConfigSpecSwitchMode("normal") - HostDVSConfigSpecSwitchModeMux = HostDVSConfigSpecSwitchMode("mux") -) - -func init() { - t["HostDVSConfigSpecSwitchMode"] = reflect.TypeOf((*HostDVSConfigSpecSwitchMode)(nil)).Elem() -} - -type HostDasErrorEventHostDasErrorReason string - -const ( - HostDasErrorEventHostDasErrorReasonConfigFailed = HostDasErrorEventHostDasErrorReason("configFailed") - HostDasErrorEventHostDasErrorReasonTimeout = HostDasErrorEventHostDasErrorReason("timeout") - HostDasErrorEventHostDasErrorReasonCommunicationInitFailed = HostDasErrorEventHostDasErrorReason("communicationInitFailed") - HostDasErrorEventHostDasErrorReasonHealthCheckScriptFailed = HostDasErrorEventHostDasErrorReason("healthCheckScriptFailed") - HostDasErrorEventHostDasErrorReasonAgentFailed = HostDasErrorEventHostDasErrorReason("agentFailed") - HostDasErrorEventHostDasErrorReasonAgentShutdown = HostDasErrorEventHostDasErrorReason("agentShutdown") - HostDasErrorEventHostDasErrorReasonIsolationAddressUnpingable = HostDasErrorEventHostDasErrorReason("isolationAddressUnpingable") - HostDasErrorEventHostDasErrorReasonOther = HostDasErrorEventHostDasErrorReason("other") -) - -func init() { - t["HostDasErrorEventHostDasErrorReason"] = reflect.TypeOf((*HostDasErrorEventHostDasErrorReason)(nil)).Elem() -} - -type HostDateTimeInfoProtocol string - -const ( - HostDateTimeInfoProtocolNtp = HostDateTimeInfoProtocol("ntp") - HostDateTimeInfoProtocolPtp = HostDateTimeInfoProtocol("ptp") -) - -func init() { - t["HostDateTimeInfoProtocol"] = reflect.TypeOf((*HostDateTimeInfoProtocol)(nil)).Elem() -} - -type HostDigestInfoDigestMethodType string - -const ( - HostDigestInfoDigestMethodTypeSHA1 = HostDigestInfoDigestMethodType("SHA1") - HostDigestInfoDigestMethodTypeMD5 = HostDigestInfoDigestMethodType("MD5") - HostDigestInfoDigestMethodTypeSHA256 = HostDigestInfoDigestMethodType("SHA256") - HostDigestInfoDigestMethodTypeSHA384 = HostDigestInfoDigestMethodType("SHA384") - HostDigestInfoDigestMethodTypeSHA512 = HostDigestInfoDigestMethodType("SHA512") - HostDigestInfoDigestMethodTypeSM3_256 = HostDigestInfoDigestMethodType("SM3_256") -) - -func init() { - t["HostDigestInfoDigestMethodType"] = reflect.TypeOf((*HostDigestInfoDigestMethodType)(nil)).Elem() -} - -type HostDigestVerificationSetting string - -const ( - HostDigestVerificationSettingDigestDisabled = HostDigestVerificationSetting("digestDisabled") - HostDigestVerificationSettingHeaderOnly = HostDigestVerificationSetting("headerOnly") - HostDigestVerificationSettingDataOnly = HostDigestVerificationSetting("dataOnly") - HostDigestVerificationSettingHeaderAndData = HostDigestVerificationSetting("headerAndData") -) - -func init() { - t["HostDigestVerificationSetting"] = reflect.TypeOf((*HostDigestVerificationSetting)(nil)).Elem() -} - -type HostDisconnectedEventReasonCode string - -const ( - HostDisconnectedEventReasonCodeSslThumbprintVerifyFailed = HostDisconnectedEventReasonCode("sslThumbprintVerifyFailed") - HostDisconnectedEventReasonCodeLicenseExpired = HostDisconnectedEventReasonCode("licenseExpired") - HostDisconnectedEventReasonCodeAgentUpgrade = HostDisconnectedEventReasonCode("agentUpgrade") - HostDisconnectedEventReasonCodeUserRequest = HostDisconnectedEventReasonCode("userRequest") - HostDisconnectedEventReasonCodeInsufficientLicenses = HostDisconnectedEventReasonCode("insufficientLicenses") - HostDisconnectedEventReasonCodeAgentOutOfDate = HostDisconnectedEventReasonCode("agentOutOfDate") - HostDisconnectedEventReasonCodePasswordDecryptFailure = HostDisconnectedEventReasonCode("passwordDecryptFailure") - HostDisconnectedEventReasonCodeUnknown = HostDisconnectedEventReasonCode("unknown") - HostDisconnectedEventReasonCodeVcVRAMCapacityExceeded = HostDisconnectedEventReasonCode("vcVRAMCapacityExceeded") -) - -func init() { - t["HostDisconnectedEventReasonCode"] = reflect.TypeOf((*HostDisconnectedEventReasonCode)(nil)).Elem() -} - -type HostDiskPartitionInfoPartitionFormat string - -const ( - HostDiskPartitionInfoPartitionFormatGpt = HostDiskPartitionInfoPartitionFormat("gpt") - HostDiskPartitionInfoPartitionFormatMbr = HostDiskPartitionInfoPartitionFormat("mbr") - HostDiskPartitionInfoPartitionFormatUnknown = HostDiskPartitionInfoPartitionFormat("unknown") -) - -func init() { - t["HostDiskPartitionInfoPartitionFormat"] = reflect.TypeOf((*HostDiskPartitionInfoPartitionFormat)(nil)).Elem() -} - -type HostDiskPartitionInfoType string - -const ( - HostDiskPartitionInfoTypeNone = HostDiskPartitionInfoType("none") - HostDiskPartitionInfoTypeVmfs = HostDiskPartitionInfoType("vmfs") - HostDiskPartitionInfoTypeLinuxNative = HostDiskPartitionInfoType("linuxNative") - HostDiskPartitionInfoTypeLinuxSwap = HostDiskPartitionInfoType("linuxSwap") - HostDiskPartitionInfoTypeExtended = HostDiskPartitionInfoType("extended") - HostDiskPartitionInfoTypeNtfs = HostDiskPartitionInfoType("ntfs") - HostDiskPartitionInfoTypeVmkDiagnostic = HostDiskPartitionInfoType("vmkDiagnostic") - HostDiskPartitionInfoTypeVffs = HostDiskPartitionInfoType("vffs") -) - -func init() { - t["HostDiskPartitionInfoType"] = reflect.TypeOf((*HostDiskPartitionInfoType)(nil)).Elem() -} - -type HostFeatureVersionKey string - -const ( - HostFeatureVersionKeyFaultTolerance = HostFeatureVersionKey("faultTolerance") -) - -func init() { - t["HostFeatureVersionKey"] = reflect.TypeOf((*HostFeatureVersionKey)(nil)).Elem() -} - -type HostFileSystemVolumeFileSystemType string - -const ( - HostFileSystemVolumeFileSystemTypeVMFS = HostFileSystemVolumeFileSystemType("VMFS") - HostFileSystemVolumeFileSystemTypeNFS = HostFileSystemVolumeFileSystemType("NFS") - HostFileSystemVolumeFileSystemTypeNFS41 = HostFileSystemVolumeFileSystemType("NFS41") - HostFileSystemVolumeFileSystemTypeCIFS = HostFileSystemVolumeFileSystemType("CIFS") - HostFileSystemVolumeFileSystemTypeVsan = HostFileSystemVolumeFileSystemType("vsan") - HostFileSystemVolumeFileSystemTypeVFFS = HostFileSystemVolumeFileSystemType("VFFS") - HostFileSystemVolumeFileSystemTypeVVOL = HostFileSystemVolumeFileSystemType("VVOL") - HostFileSystemVolumeFileSystemTypePMEM = HostFileSystemVolumeFileSystemType("PMEM") - HostFileSystemVolumeFileSystemTypeVsanD = HostFileSystemVolumeFileSystemType("vsanD") - HostFileSystemVolumeFileSystemTypeOTHER = HostFileSystemVolumeFileSystemType("OTHER") -) - -func init() { - t["HostFileSystemVolumeFileSystemType"] = reflect.TypeOf((*HostFileSystemVolumeFileSystemType)(nil)).Elem() -} - -type HostFirewallRuleDirection string - -const ( - HostFirewallRuleDirectionInbound = HostFirewallRuleDirection("inbound") - HostFirewallRuleDirectionOutbound = HostFirewallRuleDirection("outbound") -) - -func init() { - t["HostFirewallRuleDirection"] = reflect.TypeOf((*HostFirewallRuleDirection)(nil)).Elem() -} - -type HostFirewallRulePortType string - -const ( - HostFirewallRulePortTypeSrc = HostFirewallRulePortType("src") - HostFirewallRulePortTypeDst = HostFirewallRulePortType("dst") -) - -func init() { - t["HostFirewallRulePortType"] = reflect.TypeOf((*HostFirewallRulePortType)(nil)).Elem() -} - -type HostFirewallRuleProtocol string - -const ( - HostFirewallRuleProtocolTcp = HostFirewallRuleProtocol("tcp") - HostFirewallRuleProtocolUdp = HostFirewallRuleProtocol("udp") -) - -func init() { - t["HostFirewallRuleProtocol"] = reflect.TypeOf((*HostFirewallRuleProtocol)(nil)).Elem() -} - -type HostFruFruType string - -const ( - HostFruFruTypeUndefined = HostFruFruType("undefined") - HostFruFruTypeBoard = HostFruFruType("board") - HostFruFruTypeProduct = HostFruFruType("product") -) - -func init() { - t["HostFruFruType"] = reflect.TypeOf((*HostFruFruType)(nil)).Elem() -} - -type HostGraphicsConfigGraphicsType string - -const ( - HostGraphicsConfigGraphicsTypeShared = HostGraphicsConfigGraphicsType("shared") - HostGraphicsConfigGraphicsTypeSharedDirect = HostGraphicsConfigGraphicsType("sharedDirect") -) - -func init() { - t["HostGraphicsConfigGraphicsType"] = reflect.TypeOf((*HostGraphicsConfigGraphicsType)(nil)).Elem() -} - -type HostGraphicsConfigSharedPassthruAssignmentPolicy string - -const ( - HostGraphicsConfigSharedPassthruAssignmentPolicyPerformance = HostGraphicsConfigSharedPassthruAssignmentPolicy("performance") - HostGraphicsConfigSharedPassthruAssignmentPolicyConsolidation = HostGraphicsConfigSharedPassthruAssignmentPolicy("consolidation") -) - -func init() { - t["HostGraphicsConfigSharedPassthruAssignmentPolicy"] = reflect.TypeOf((*HostGraphicsConfigSharedPassthruAssignmentPolicy)(nil)).Elem() -} - -type HostGraphicsInfoGraphicsType string - -const ( - HostGraphicsInfoGraphicsTypeBasic = HostGraphicsInfoGraphicsType("basic") - HostGraphicsInfoGraphicsTypeShared = HostGraphicsInfoGraphicsType("shared") - HostGraphicsInfoGraphicsTypeDirect = HostGraphicsInfoGraphicsType("direct") - HostGraphicsInfoGraphicsTypeSharedDirect = HostGraphicsInfoGraphicsType("sharedDirect") -) - -func init() { - t["HostGraphicsInfoGraphicsType"] = reflect.TypeOf((*HostGraphicsInfoGraphicsType)(nil)).Elem() -} - -type HostHardwareElementStatus string - -const ( - HostHardwareElementStatusUnknown = HostHardwareElementStatus("Unknown") - HostHardwareElementStatusGreen = HostHardwareElementStatus("Green") - HostHardwareElementStatusYellow = HostHardwareElementStatus("Yellow") - HostHardwareElementStatusRed = HostHardwareElementStatus("Red") -) - -func init() { - t["HostHardwareElementStatus"] = reflect.TypeOf((*HostHardwareElementStatus)(nil)).Elem() -} - -type HostHasComponentFailureHostComponentType string - -const ( - HostHasComponentFailureHostComponentTypeDatastore = HostHasComponentFailureHostComponentType("Datastore") -) - -func init() { - t["HostHasComponentFailureHostComponentType"] = reflect.TypeOf((*HostHasComponentFailureHostComponentType)(nil)).Elem() -} - -type HostImageAcceptanceLevel string - -const ( - HostImageAcceptanceLevelVmware_certified = HostImageAcceptanceLevel("vmware_certified") - HostImageAcceptanceLevelVmware_accepted = HostImageAcceptanceLevel("vmware_accepted") - HostImageAcceptanceLevelPartner = HostImageAcceptanceLevel("partner") - HostImageAcceptanceLevelCommunity = HostImageAcceptanceLevel("community") -) - -func init() { - t["HostImageAcceptanceLevel"] = reflect.TypeOf((*HostImageAcceptanceLevel)(nil)).Elem() -} - -type HostIncompatibleForFaultToleranceReason string - -const ( - HostIncompatibleForFaultToleranceReasonProduct = HostIncompatibleForFaultToleranceReason("product") - HostIncompatibleForFaultToleranceReasonProcessor = HostIncompatibleForFaultToleranceReason("processor") -) - -func init() { - t["HostIncompatibleForFaultToleranceReason"] = reflect.TypeOf((*HostIncompatibleForFaultToleranceReason)(nil)).Elem() -} - -type HostIncompatibleForRecordReplayReason string - -const ( - HostIncompatibleForRecordReplayReasonProduct = HostIncompatibleForRecordReplayReason("product") - HostIncompatibleForRecordReplayReasonProcessor = HostIncompatibleForRecordReplayReason("processor") -) - -func init() { - t["HostIncompatibleForRecordReplayReason"] = reflect.TypeOf((*HostIncompatibleForRecordReplayReason)(nil)).Elem() -} - -type HostInternetScsiHbaChapAuthenticationType string - -const ( - HostInternetScsiHbaChapAuthenticationTypeChapProhibited = HostInternetScsiHbaChapAuthenticationType("chapProhibited") - HostInternetScsiHbaChapAuthenticationTypeChapDiscouraged = HostInternetScsiHbaChapAuthenticationType("chapDiscouraged") - HostInternetScsiHbaChapAuthenticationTypeChapPreferred = HostInternetScsiHbaChapAuthenticationType("chapPreferred") - HostInternetScsiHbaChapAuthenticationTypeChapRequired = HostInternetScsiHbaChapAuthenticationType("chapRequired") -) - -func init() { - t["HostInternetScsiHbaChapAuthenticationType"] = reflect.TypeOf((*HostInternetScsiHbaChapAuthenticationType)(nil)).Elem() -} - -type HostInternetScsiHbaDigestType string - -const ( - HostInternetScsiHbaDigestTypeDigestProhibited = HostInternetScsiHbaDigestType("digestProhibited") - HostInternetScsiHbaDigestTypeDigestDiscouraged = HostInternetScsiHbaDigestType("digestDiscouraged") - HostInternetScsiHbaDigestTypeDigestPreferred = HostInternetScsiHbaDigestType("digestPreferred") - HostInternetScsiHbaDigestTypeDigestRequired = HostInternetScsiHbaDigestType("digestRequired") -) - -func init() { - t["HostInternetScsiHbaDigestType"] = reflect.TypeOf((*HostInternetScsiHbaDigestType)(nil)).Elem() -} - -type HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType string - -const ( - HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationTypeDHCP = HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType("DHCP") - HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationTypeAutoConfigured = HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType("AutoConfigured") - HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationTypeStatic = HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType("Static") - HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationTypeOther = HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType("Other") -) - -func init() { - t["HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType"] = reflect.TypeOf((*HostInternetScsiHbaIscsiIpv6AddressAddressConfigurationType)(nil)).Elem() -} - -type HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperation string - -const ( - HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperationAdd = HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperation("add") - HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperationRemove = HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperation("remove") -) - -func init() { - t["HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperation"] = reflect.TypeOf((*HostInternetScsiHbaIscsiIpv6AddressIPv6AddressOperation)(nil)).Elem() -} - -type HostInternetScsiHbaNetworkBindingSupportType string - -const ( - HostInternetScsiHbaNetworkBindingSupportTypeNotsupported = HostInternetScsiHbaNetworkBindingSupportType("notsupported") - HostInternetScsiHbaNetworkBindingSupportTypeOptional = HostInternetScsiHbaNetworkBindingSupportType("optional") - HostInternetScsiHbaNetworkBindingSupportTypeRequired = HostInternetScsiHbaNetworkBindingSupportType("required") -) - -func init() { - t["HostInternetScsiHbaNetworkBindingSupportType"] = reflect.TypeOf((*HostInternetScsiHbaNetworkBindingSupportType)(nil)).Elem() -} - -type HostInternetScsiHbaStaticTargetTargetDiscoveryMethod string - -const ( - HostInternetScsiHbaStaticTargetTargetDiscoveryMethodStaticMethod = HostInternetScsiHbaStaticTargetTargetDiscoveryMethod("staticMethod") - HostInternetScsiHbaStaticTargetTargetDiscoveryMethodSendTargetMethod = HostInternetScsiHbaStaticTargetTargetDiscoveryMethod("sendTargetMethod") - HostInternetScsiHbaStaticTargetTargetDiscoveryMethodSlpMethod = HostInternetScsiHbaStaticTargetTargetDiscoveryMethod("slpMethod") - HostInternetScsiHbaStaticTargetTargetDiscoveryMethodIsnsMethod = HostInternetScsiHbaStaticTargetTargetDiscoveryMethod("isnsMethod") - HostInternetScsiHbaStaticTargetTargetDiscoveryMethodUnknownMethod = HostInternetScsiHbaStaticTargetTargetDiscoveryMethod("unknownMethod") -) - -func init() { - t["HostInternetScsiHbaStaticTargetTargetDiscoveryMethod"] = reflect.TypeOf((*HostInternetScsiHbaStaticTargetTargetDiscoveryMethod)(nil)).Elem() -} - -type HostIpConfigIpV6AddressConfigType string - -const ( - HostIpConfigIpV6AddressConfigTypeOther = HostIpConfigIpV6AddressConfigType("other") - HostIpConfigIpV6AddressConfigTypeManual = HostIpConfigIpV6AddressConfigType("manual") - HostIpConfigIpV6AddressConfigTypeDhcp = HostIpConfigIpV6AddressConfigType("dhcp") - HostIpConfigIpV6AddressConfigTypeLinklayer = HostIpConfigIpV6AddressConfigType("linklayer") - HostIpConfigIpV6AddressConfigTypeRandom = HostIpConfigIpV6AddressConfigType("random") -) - -func init() { - t["HostIpConfigIpV6AddressConfigType"] = reflect.TypeOf((*HostIpConfigIpV6AddressConfigType)(nil)).Elem() -} - -type HostIpConfigIpV6AddressStatus string - -const ( - HostIpConfigIpV6AddressStatusPreferred = HostIpConfigIpV6AddressStatus("preferred") - HostIpConfigIpV6AddressStatusDeprecated = HostIpConfigIpV6AddressStatus("deprecated") - HostIpConfigIpV6AddressStatusInvalid = HostIpConfigIpV6AddressStatus("invalid") - HostIpConfigIpV6AddressStatusInaccessible = HostIpConfigIpV6AddressStatus("inaccessible") - HostIpConfigIpV6AddressStatusUnknown = HostIpConfigIpV6AddressStatus("unknown") - HostIpConfigIpV6AddressStatusTentative = HostIpConfigIpV6AddressStatus("tentative") - HostIpConfigIpV6AddressStatusDuplicate = HostIpConfigIpV6AddressStatus("duplicate") -) - -func init() { - t["HostIpConfigIpV6AddressStatus"] = reflect.TypeOf((*HostIpConfigIpV6AddressStatus)(nil)).Elem() -} - -type HostLicensableResourceKey string - -const ( - HostLicensableResourceKeyNumCpuPackages = HostLicensableResourceKey("numCpuPackages") - HostLicensableResourceKeyNumCpuCores = HostLicensableResourceKey("numCpuCores") - HostLicensableResourceKeyMemorySize = HostLicensableResourceKey("memorySize") - HostLicensableResourceKeyMemoryForVms = HostLicensableResourceKey("memoryForVms") - HostLicensableResourceKeyNumVmsStarted = HostLicensableResourceKey("numVmsStarted") - HostLicensableResourceKeyNumVmsStarting = HostLicensableResourceKey("numVmsStarting") -) - -func init() { - t["HostLicensableResourceKey"] = reflect.TypeOf((*HostLicensableResourceKey)(nil)).Elem() -} - -type HostLockdownMode string - -const ( - HostLockdownModeLockdownDisabled = HostLockdownMode("lockdownDisabled") - HostLockdownModeLockdownNormal = HostLockdownMode("lockdownNormal") - HostLockdownModeLockdownStrict = HostLockdownMode("lockdownStrict") -) - -func init() { - t["HostLockdownMode"] = reflect.TypeOf((*HostLockdownMode)(nil)).Elem() -} - -type HostLowLevelProvisioningManagerFileType string - -const ( - HostLowLevelProvisioningManagerFileTypeFile = HostLowLevelProvisioningManagerFileType("File") - HostLowLevelProvisioningManagerFileTypeVirtualDisk = HostLowLevelProvisioningManagerFileType("VirtualDisk") - HostLowLevelProvisioningManagerFileTypeDirectory = HostLowLevelProvisioningManagerFileType("Directory") -) - -func init() { - t["HostLowLevelProvisioningManagerFileType"] = reflect.TypeOf((*HostLowLevelProvisioningManagerFileType)(nil)).Elem() -} - -type HostLowLevelProvisioningManagerReloadTarget string - -const ( - HostLowLevelProvisioningManagerReloadTargetCurrentConfig = HostLowLevelProvisioningManagerReloadTarget("currentConfig") - HostLowLevelProvisioningManagerReloadTargetSnapshotConfig = HostLowLevelProvisioningManagerReloadTarget("snapshotConfig") -) - -func init() { - t["HostLowLevelProvisioningManagerReloadTarget"] = reflect.TypeOf((*HostLowLevelProvisioningManagerReloadTarget)(nil)).Elem() -} - -type HostMaintenanceSpecPurpose string - -const ( - HostMaintenanceSpecPurposeHostUpgrade = HostMaintenanceSpecPurpose("hostUpgrade") -) - -func init() { - t["HostMaintenanceSpecPurpose"] = reflect.TypeOf((*HostMaintenanceSpecPurpose)(nil)).Elem() -} - -type HostMemoryTierFlags string - -const ( - HostMemoryTierFlagsMemoryTier = HostMemoryTierFlags("memoryTier") - HostMemoryTierFlagsPersistentTier = HostMemoryTierFlags("persistentTier") - HostMemoryTierFlagsCachingTier = HostMemoryTierFlags("cachingTier") -) - -func init() { - t["HostMemoryTierFlags"] = reflect.TypeOf((*HostMemoryTierFlags)(nil)).Elem() -} - -type HostMemoryTierType string - -const ( - HostMemoryTierTypeDRAM = HostMemoryTierType("DRAM") - HostMemoryTierTypePMem = HostMemoryTierType("PMem") -) - -func init() { - t["HostMemoryTierType"] = reflect.TypeOf((*HostMemoryTierType)(nil)).Elem() -} - -type HostMemoryTieringType string - -const ( - HostMemoryTieringTypeNoTiering = HostMemoryTieringType("noTiering") - HostMemoryTieringTypeHardwareTiering = HostMemoryTieringType("hardwareTiering") -) - -func init() { - t["HostMemoryTieringType"] = reflect.TypeOf((*HostMemoryTieringType)(nil)).Elem() -} - -type HostMountInfoInaccessibleReason string - -const ( - HostMountInfoInaccessibleReasonAllPathsDown_Start = HostMountInfoInaccessibleReason("AllPathsDown_Start") - HostMountInfoInaccessibleReasonAllPathsDown_Timeout = HostMountInfoInaccessibleReason("AllPathsDown_Timeout") - HostMountInfoInaccessibleReasonPermanentDeviceLoss = HostMountInfoInaccessibleReason("PermanentDeviceLoss") -) - -func init() { - t["HostMountInfoInaccessibleReason"] = reflect.TypeOf((*HostMountInfoInaccessibleReason)(nil)).Elem() -} - -type HostMountInfoMountFailedReason string - -const ( - HostMountInfoMountFailedReasonCONNECT_FAILURE = HostMountInfoMountFailedReason("CONNECT_FAILURE") - HostMountInfoMountFailedReasonMOUNT_NOT_SUPPORTED = HostMountInfoMountFailedReason("MOUNT_NOT_SUPPORTED") - HostMountInfoMountFailedReasonNFS_NOT_SUPPORTED = HostMountInfoMountFailedReason("NFS_NOT_SUPPORTED") - HostMountInfoMountFailedReasonMOUNT_DENIED = HostMountInfoMountFailedReason("MOUNT_DENIED") - HostMountInfoMountFailedReasonMOUNT_NOT_DIR = HostMountInfoMountFailedReason("MOUNT_NOT_DIR") - HostMountInfoMountFailedReasonVOLUME_LIMIT_EXCEEDED = HostMountInfoMountFailedReason("VOLUME_LIMIT_EXCEEDED") - HostMountInfoMountFailedReasonCONN_LIMIT_EXCEEDED = HostMountInfoMountFailedReason("CONN_LIMIT_EXCEEDED") - HostMountInfoMountFailedReasonMOUNT_EXISTS = HostMountInfoMountFailedReason("MOUNT_EXISTS") - HostMountInfoMountFailedReasonOTHERS = HostMountInfoMountFailedReason("OTHERS") -) - -func init() { - t["HostMountInfoMountFailedReason"] = reflect.TypeOf((*HostMountInfoMountFailedReason)(nil)).Elem() -} - -type HostMountMode string - -const ( - HostMountModeReadWrite = HostMountMode("readWrite") - HostMountModeReadOnly = HostMountMode("readOnly") -) - -func init() { - t["HostMountMode"] = reflect.TypeOf((*HostMountMode)(nil)).Elem() -} - -type HostNasVolumeSecurityType string - -const ( - HostNasVolumeSecurityTypeAUTH_SYS = HostNasVolumeSecurityType("AUTH_SYS") - HostNasVolumeSecurityTypeSEC_KRB5 = HostNasVolumeSecurityType("SEC_KRB5") - HostNasVolumeSecurityTypeSEC_KRB5I = HostNasVolumeSecurityType("SEC_KRB5I") -) - -func init() { - t["HostNasVolumeSecurityType"] = reflect.TypeOf((*HostNasVolumeSecurityType)(nil)).Elem() -} - -type HostNetStackInstanceCongestionControlAlgorithmType string - -const ( - HostNetStackInstanceCongestionControlAlgorithmTypeNewreno = HostNetStackInstanceCongestionControlAlgorithmType("newreno") - HostNetStackInstanceCongestionControlAlgorithmTypeCubic = HostNetStackInstanceCongestionControlAlgorithmType("cubic") -) - -func init() { - t["HostNetStackInstanceCongestionControlAlgorithmType"] = reflect.TypeOf((*HostNetStackInstanceCongestionControlAlgorithmType)(nil)).Elem() -} - -type HostNetStackInstanceSystemStackKey string - -const ( - HostNetStackInstanceSystemStackKeyDefaultTcpipStack = HostNetStackInstanceSystemStackKey("defaultTcpipStack") - HostNetStackInstanceSystemStackKeyVmotion = HostNetStackInstanceSystemStackKey("vmotion") - HostNetStackInstanceSystemStackKeyVSphereProvisioning = HostNetStackInstanceSystemStackKey("vSphereProvisioning") - HostNetStackInstanceSystemStackKeyMirror = HostNetStackInstanceSystemStackKey("mirror") - HostNetStackInstanceSystemStackKeyOps = HostNetStackInstanceSystemStackKey("ops") -) - -func init() { - t["HostNetStackInstanceSystemStackKey"] = reflect.TypeOf((*HostNetStackInstanceSystemStackKey)(nil)).Elem() -} - -type HostNumericSensorHealthState string - -const ( - HostNumericSensorHealthStateUnknown = HostNumericSensorHealthState("unknown") - HostNumericSensorHealthStateGreen = HostNumericSensorHealthState("green") - HostNumericSensorHealthStateYellow = HostNumericSensorHealthState("yellow") - HostNumericSensorHealthStateRed = HostNumericSensorHealthState("red") -) - -func init() { - t["HostNumericSensorHealthState"] = reflect.TypeOf((*HostNumericSensorHealthState)(nil)).Elem() -} - -type HostNumericSensorType string - -const ( - HostNumericSensorTypeFan = HostNumericSensorType("fan") - HostNumericSensorTypePower = HostNumericSensorType("power") - HostNumericSensorTypeTemperature = HostNumericSensorType("temperature") - HostNumericSensorTypeVoltage = HostNumericSensorType("voltage") - HostNumericSensorTypeOther = HostNumericSensorType("other") - HostNumericSensorTypeProcessor = HostNumericSensorType("processor") - HostNumericSensorTypeMemory = HostNumericSensorType("memory") - HostNumericSensorTypeStorage = HostNumericSensorType("storage") - HostNumericSensorTypeSystemBoard = HostNumericSensorType("systemBoard") - HostNumericSensorTypeBattery = HostNumericSensorType("battery") - HostNumericSensorTypeBios = HostNumericSensorType("bios") - HostNumericSensorTypeCable = HostNumericSensorType("cable") - HostNumericSensorTypeWatchdog = HostNumericSensorType("watchdog") -) - -func init() { - t["HostNumericSensorType"] = reflect.TypeOf((*HostNumericSensorType)(nil)).Elem() -} - -type HostNvmeDiscoveryLogSubsystemType string - -const ( - HostNvmeDiscoveryLogSubsystemTypeDiscovery = HostNvmeDiscoveryLogSubsystemType("discovery") - HostNvmeDiscoveryLogSubsystemTypeNvm = HostNvmeDiscoveryLogSubsystemType("nvm") -) - -func init() { - t["HostNvmeDiscoveryLogSubsystemType"] = reflect.TypeOf((*HostNvmeDiscoveryLogSubsystemType)(nil)).Elem() -} - -type HostNvmeDiscoveryLogTransportRequirements string - -const ( - HostNvmeDiscoveryLogTransportRequirementsSecureChannelRequired = HostNvmeDiscoveryLogTransportRequirements("secureChannelRequired") - HostNvmeDiscoveryLogTransportRequirementsSecureChannelNotRequired = HostNvmeDiscoveryLogTransportRequirements("secureChannelNotRequired") - HostNvmeDiscoveryLogTransportRequirementsRequirementsNotSpecified = HostNvmeDiscoveryLogTransportRequirements("requirementsNotSpecified") -) - -func init() { - t["HostNvmeDiscoveryLogTransportRequirements"] = reflect.TypeOf((*HostNvmeDiscoveryLogTransportRequirements)(nil)).Elem() -} - -type HostNvmeTransportParametersNvmeAddressFamily string - -const ( - HostNvmeTransportParametersNvmeAddressFamilyIpv4 = HostNvmeTransportParametersNvmeAddressFamily("ipv4") - HostNvmeTransportParametersNvmeAddressFamilyIpv6 = HostNvmeTransportParametersNvmeAddressFamily("ipv6") - HostNvmeTransportParametersNvmeAddressFamilyInfiniBand = HostNvmeTransportParametersNvmeAddressFamily("infiniBand") - HostNvmeTransportParametersNvmeAddressFamilyFc = HostNvmeTransportParametersNvmeAddressFamily("fc") - HostNvmeTransportParametersNvmeAddressFamilyLoopback = HostNvmeTransportParametersNvmeAddressFamily("loopback") - HostNvmeTransportParametersNvmeAddressFamilyUnknown = HostNvmeTransportParametersNvmeAddressFamily("unknown") -) - -func init() { - t["HostNvmeTransportParametersNvmeAddressFamily"] = reflect.TypeOf((*HostNvmeTransportParametersNvmeAddressFamily)(nil)).Elem() -} - -type HostNvmeTransportType string - -const ( - HostNvmeTransportTypePcie = HostNvmeTransportType("pcie") - HostNvmeTransportTypeFibreChannel = HostNvmeTransportType("fibreChannel") - HostNvmeTransportTypeRdma = HostNvmeTransportType("rdma") - HostNvmeTransportTypeTcp = HostNvmeTransportType("tcp") - HostNvmeTransportTypeLoopback = HostNvmeTransportType("loopback") - HostNvmeTransportTypeUnsupported = HostNvmeTransportType("unsupported") -) - -func init() { - t["HostNvmeTransportType"] = reflect.TypeOf((*HostNvmeTransportType)(nil)).Elem() -} - -type HostOpaqueSwitchOpaqueSwitchState string - -const ( - HostOpaqueSwitchOpaqueSwitchStateUp = HostOpaqueSwitchOpaqueSwitchState("up") - HostOpaqueSwitchOpaqueSwitchStateWarning = HostOpaqueSwitchOpaqueSwitchState("warning") - HostOpaqueSwitchOpaqueSwitchStateDown = HostOpaqueSwitchOpaqueSwitchState("down") - HostOpaqueSwitchOpaqueSwitchStateMaintenance = HostOpaqueSwitchOpaqueSwitchState("maintenance") -) - -func init() { - t["HostOpaqueSwitchOpaqueSwitchState"] = reflect.TypeOf((*HostOpaqueSwitchOpaqueSwitchState)(nil)).Elem() -} - -type HostPatchManagerInstallState string - -const ( - HostPatchManagerInstallStateHostRestarted = HostPatchManagerInstallState("hostRestarted") - HostPatchManagerInstallStateImageActive = HostPatchManagerInstallState("imageActive") -) - -func init() { - t["HostPatchManagerInstallState"] = reflect.TypeOf((*HostPatchManagerInstallState)(nil)).Elem() -} - -type HostPatchManagerIntegrityStatus string - -const ( - HostPatchManagerIntegrityStatusValidated = HostPatchManagerIntegrityStatus("validated") - HostPatchManagerIntegrityStatusKeyNotFound = HostPatchManagerIntegrityStatus("keyNotFound") - HostPatchManagerIntegrityStatusKeyRevoked = HostPatchManagerIntegrityStatus("keyRevoked") - HostPatchManagerIntegrityStatusKeyExpired = HostPatchManagerIntegrityStatus("keyExpired") - HostPatchManagerIntegrityStatusDigestMismatch = HostPatchManagerIntegrityStatus("digestMismatch") - HostPatchManagerIntegrityStatusNotEnoughSignatures = HostPatchManagerIntegrityStatus("notEnoughSignatures") - HostPatchManagerIntegrityStatusValidationError = HostPatchManagerIntegrityStatus("validationError") -) - -func init() { - t["HostPatchManagerIntegrityStatus"] = reflect.TypeOf((*HostPatchManagerIntegrityStatus)(nil)).Elem() -} - -type HostPatchManagerReason string - -const ( - HostPatchManagerReasonObsoleted = HostPatchManagerReason("obsoleted") - HostPatchManagerReasonMissingPatch = HostPatchManagerReason("missingPatch") - HostPatchManagerReasonMissingLib = HostPatchManagerReason("missingLib") - HostPatchManagerReasonHasDependentPatch = HostPatchManagerReason("hasDependentPatch") - HostPatchManagerReasonConflictPatch = HostPatchManagerReason("conflictPatch") - HostPatchManagerReasonConflictLib = HostPatchManagerReason("conflictLib") -) - -func init() { - t["HostPatchManagerReason"] = reflect.TypeOf((*HostPatchManagerReason)(nil)).Elem() -} - -type HostPowerOperationType string - -const ( - HostPowerOperationTypePowerOn = HostPowerOperationType("powerOn") - HostPowerOperationTypePowerOff = HostPowerOperationType("powerOff") -) - -func init() { - t["HostPowerOperationType"] = reflect.TypeOf((*HostPowerOperationType)(nil)).Elem() -} - -type HostProfileManagerAnswerFileStatus string - -const ( - HostProfileManagerAnswerFileStatusValid = HostProfileManagerAnswerFileStatus("valid") - HostProfileManagerAnswerFileStatusInvalid = HostProfileManagerAnswerFileStatus("invalid") - HostProfileManagerAnswerFileStatusUnknown = HostProfileManagerAnswerFileStatus("unknown") -) - -func init() { - t["HostProfileManagerAnswerFileStatus"] = reflect.TypeOf((*HostProfileManagerAnswerFileStatus)(nil)).Elem() -} - -type HostProfileManagerCompositionResultResultElementStatus string - -const ( - HostProfileManagerCompositionResultResultElementStatusSuccess = HostProfileManagerCompositionResultResultElementStatus("success") - HostProfileManagerCompositionResultResultElementStatusError = HostProfileManagerCompositionResultResultElementStatus("error") -) - -func init() { - t["HostProfileManagerCompositionResultResultElementStatus"] = reflect.TypeOf((*HostProfileManagerCompositionResultResultElementStatus)(nil)).Elem() -} - -type HostProfileManagerCompositionValidationResultResultElementStatus string - -const ( - HostProfileManagerCompositionValidationResultResultElementStatusSuccess = HostProfileManagerCompositionValidationResultResultElementStatus("success") - HostProfileManagerCompositionValidationResultResultElementStatusError = HostProfileManagerCompositionValidationResultResultElementStatus("error") -) - -func init() { - t["HostProfileManagerCompositionValidationResultResultElementStatus"] = reflect.TypeOf((*HostProfileManagerCompositionValidationResultResultElementStatus)(nil)).Elem() -} - -type HostProfileManagerTaskListRequirement string - -const ( - HostProfileManagerTaskListRequirementMaintenanceModeRequired = HostProfileManagerTaskListRequirement("maintenanceModeRequired") - HostProfileManagerTaskListRequirementRebootRequired = HostProfileManagerTaskListRequirement("rebootRequired") -) - -func init() { - t["HostProfileManagerTaskListRequirement"] = reflect.TypeOf((*HostProfileManagerTaskListRequirement)(nil)).Elem() -} - -type HostProfileValidationFailureInfoUpdateType string - -const ( - HostProfileValidationFailureInfoUpdateTypeHostBased = HostProfileValidationFailureInfoUpdateType("HostBased") - HostProfileValidationFailureInfoUpdateTypeImport = HostProfileValidationFailureInfoUpdateType("Import") - HostProfileValidationFailureInfoUpdateTypeEdit = HostProfileValidationFailureInfoUpdateType("Edit") - HostProfileValidationFailureInfoUpdateTypeCompose = HostProfileValidationFailureInfoUpdateType("Compose") -) - -func init() { - t["HostProfileValidationFailureInfoUpdateType"] = reflect.TypeOf((*HostProfileValidationFailureInfoUpdateType)(nil)).Elem() -} - -type HostProfileValidationState string - -const ( - HostProfileValidationStateReady = HostProfileValidationState("Ready") - HostProfileValidationStateRunning = HostProfileValidationState("Running") - HostProfileValidationStateFailed = HostProfileValidationState("Failed") -) - -func init() { - t["HostProfileValidationState"] = reflect.TypeOf((*HostProfileValidationState)(nil)).Elem() -} - -type HostProtocolEndpointPEType string - -const ( - HostProtocolEndpointPETypeBlock = HostProtocolEndpointPEType("block") - HostProtocolEndpointPETypeNas = HostProtocolEndpointPEType("nas") -) - -func init() { - t["HostProtocolEndpointPEType"] = reflect.TypeOf((*HostProtocolEndpointPEType)(nil)).Elem() -} - -type HostProtocolEndpointProtocolEndpointType string - -const ( - HostProtocolEndpointProtocolEndpointTypeScsi = HostProtocolEndpointProtocolEndpointType("scsi") - HostProtocolEndpointProtocolEndpointTypeNfs = HostProtocolEndpointProtocolEndpointType("nfs") - HostProtocolEndpointProtocolEndpointTypeNfs4x = HostProtocolEndpointProtocolEndpointType("nfs4x") -) - -func init() { - t["HostProtocolEndpointProtocolEndpointType"] = reflect.TypeOf((*HostProtocolEndpointProtocolEndpointType)(nil)).Elem() -} - -type HostPtpConfigDeviceType string - -const ( - HostPtpConfigDeviceTypeNone = HostPtpConfigDeviceType("none") - HostPtpConfigDeviceTypeVirtualNic = HostPtpConfigDeviceType("virtualNic") - HostPtpConfigDeviceTypePciPassthruNic = HostPtpConfigDeviceType("pciPassthruNic") -) - -func init() { - t["HostPtpConfigDeviceType"] = reflect.TypeOf((*HostPtpConfigDeviceType)(nil)).Elem() -} - -type HostQualifiedNameType string - -const ( - HostQualifiedNameTypeNvmeQualifiedName = HostQualifiedNameType("nvmeQualifiedName") - HostQualifiedNameTypeVvolNvmeQualifiedName = HostQualifiedNameType("vvolNvmeQualifiedName") -) - -func init() { - t["HostQualifiedNameType"] = reflect.TypeOf((*HostQualifiedNameType)(nil)).Elem() -} - -type HostRdmaDeviceConnectionState string - -const ( - HostRdmaDeviceConnectionStateUnknown = HostRdmaDeviceConnectionState("unknown") - HostRdmaDeviceConnectionStateDown = HostRdmaDeviceConnectionState("down") - HostRdmaDeviceConnectionStateInit = HostRdmaDeviceConnectionState("init") - HostRdmaDeviceConnectionStateArmed = HostRdmaDeviceConnectionState("armed") - HostRdmaDeviceConnectionStateActive = HostRdmaDeviceConnectionState("active") - HostRdmaDeviceConnectionStateActiveDefer = HostRdmaDeviceConnectionState("activeDefer") -) - -func init() { - t["HostRdmaDeviceConnectionState"] = reflect.TypeOf((*HostRdmaDeviceConnectionState)(nil)).Elem() -} - -type HostReplayUnsupportedReason string - -const ( - HostReplayUnsupportedReasonIncompatibleProduct = HostReplayUnsupportedReason("incompatibleProduct") - HostReplayUnsupportedReasonIncompatibleCpu = HostReplayUnsupportedReason("incompatibleCpu") - HostReplayUnsupportedReasonHvDisabled = HostReplayUnsupportedReason("hvDisabled") - HostReplayUnsupportedReasonCpuidLimitSet = HostReplayUnsupportedReason("cpuidLimitSet") - HostReplayUnsupportedReasonOldBIOS = HostReplayUnsupportedReason("oldBIOS") - HostReplayUnsupportedReasonUnknown = HostReplayUnsupportedReason("unknown") -) - -func init() { - t["HostReplayUnsupportedReason"] = reflect.TypeOf((*HostReplayUnsupportedReason)(nil)).Elem() -} - -type HostRuntimeInfoNetStackInstanceRuntimeInfoState string - -const ( - HostRuntimeInfoNetStackInstanceRuntimeInfoStateInactive = HostRuntimeInfoNetStackInstanceRuntimeInfoState("inactive") - HostRuntimeInfoNetStackInstanceRuntimeInfoStateActive = HostRuntimeInfoNetStackInstanceRuntimeInfoState("active") - HostRuntimeInfoNetStackInstanceRuntimeInfoStateDeactivating = HostRuntimeInfoNetStackInstanceRuntimeInfoState("deactivating") - HostRuntimeInfoNetStackInstanceRuntimeInfoStateActivating = HostRuntimeInfoNetStackInstanceRuntimeInfoState("activating") -) - -func init() { - t["HostRuntimeInfoNetStackInstanceRuntimeInfoState"] = reflect.TypeOf((*HostRuntimeInfoNetStackInstanceRuntimeInfoState)(nil)).Elem() -} - -type HostRuntimeInfoStateEncryptionInfoProtectionMode string - -const ( - HostRuntimeInfoStateEncryptionInfoProtectionModeNone = HostRuntimeInfoStateEncryptionInfoProtectionMode("none") - HostRuntimeInfoStateEncryptionInfoProtectionModeTpm = HostRuntimeInfoStateEncryptionInfoProtectionMode("tpm") -) - -func init() { - t["HostRuntimeInfoStateEncryptionInfoProtectionMode"] = reflect.TypeOf((*HostRuntimeInfoStateEncryptionInfoProtectionMode)(nil)).Elem() -} - -type HostRuntimeInfoStatelessNvdsMigrationState string - -const ( - HostRuntimeInfoStatelessNvdsMigrationStateReady = HostRuntimeInfoStatelessNvdsMigrationState("ready") - HostRuntimeInfoStatelessNvdsMigrationStateNotNeeded = HostRuntimeInfoStatelessNvdsMigrationState("notNeeded") - HostRuntimeInfoStatelessNvdsMigrationStateUnknown = HostRuntimeInfoStatelessNvdsMigrationState("unknown") -) - -func init() { - t["HostRuntimeInfoStatelessNvdsMigrationState"] = reflect.TypeOf((*HostRuntimeInfoStatelessNvdsMigrationState)(nil)).Elem() -} - -type HostServicePolicy string - -const ( - HostServicePolicyOn = HostServicePolicy("on") - HostServicePolicyAutomatic = HostServicePolicy("automatic") - HostServicePolicyOff = HostServicePolicy("off") -) - -func init() { - t["HostServicePolicy"] = reflect.TypeOf((*HostServicePolicy)(nil)).Elem() -} - -type HostSevInfoSevState string - -const ( - HostSevInfoSevStateUninitialized = HostSevInfoSevState("uninitialized") - HostSevInfoSevStateInitialized = HostSevInfoSevState("initialized") - HostSevInfoSevStateWorking = HostSevInfoSevState("working") -) - -func init() { - t["HostSevInfoSevState"] = reflect.TypeOf((*HostSevInfoSevState)(nil)).Elem() -} - -type HostSgxInfoFlcModes string - -const ( - HostSgxInfoFlcModesOff = HostSgxInfoFlcModes("off") - HostSgxInfoFlcModesLocked = HostSgxInfoFlcModes("locked") - HostSgxInfoFlcModesUnlocked = HostSgxInfoFlcModes("unlocked") -) - -func init() { - t["HostSgxInfoFlcModes"] = reflect.TypeOf((*HostSgxInfoFlcModes)(nil)).Elem() -} - -type HostSgxInfoSgxStates string - -const ( - HostSgxInfoSgxStatesNotPresent = HostSgxInfoSgxStates("notPresent") - HostSgxInfoSgxStatesDisabledBIOS = HostSgxInfoSgxStates("disabledBIOS") - HostSgxInfoSgxStatesDisabledCFW101 = HostSgxInfoSgxStates("disabledCFW101") - HostSgxInfoSgxStatesDisabledCPUMismatch = HostSgxInfoSgxStates("disabledCPUMismatch") - HostSgxInfoSgxStatesDisabledNoFLC = HostSgxInfoSgxStates("disabledNoFLC") - HostSgxInfoSgxStatesDisabledNUMAUnsup = HostSgxInfoSgxStates("disabledNUMAUnsup") - HostSgxInfoSgxStatesDisabledMaxEPCRegs = HostSgxInfoSgxStates("disabledMaxEPCRegs") - HostSgxInfoSgxStatesEnabled = HostSgxInfoSgxStates("enabled") -) - -func init() { - t["HostSgxInfoSgxStates"] = reflect.TypeOf((*HostSgxInfoSgxStates)(nil)).Elem() -} - -type HostSgxRegistrationInfoRegistrationStatus string - -const ( - HostSgxRegistrationInfoRegistrationStatusNotApplicable = HostSgxRegistrationInfoRegistrationStatus("notApplicable") - HostSgxRegistrationInfoRegistrationStatusIncomplete = HostSgxRegistrationInfoRegistrationStatus("incomplete") - HostSgxRegistrationInfoRegistrationStatusComplete = HostSgxRegistrationInfoRegistrationStatus("complete") -) - -func init() { - t["HostSgxRegistrationInfoRegistrationStatus"] = reflect.TypeOf((*HostSgxRegistrationInfoRegistrationStatus)(nil)).Elem() -} - -type HostSgxRegistrationInfoRegistrationType string - -const ( - HostSgxRegistrationInfoRegistrationTypeManifest = HostSgxRegistrationInfoRegistrationType("manifest") - HostSgxRegistrationInfoRegistrationTypeAddPackage = HostSgxRegistrationInfoRegistrationType("addPackage") -) - -func init() { - t["HostSgxRegistrationInfoRegistrationType"] = reflect.TypeOf((*HostSgxRegistrationInfoRegistrationType)(nil)).Elem() -} - -type HostSnmpAgentCapability string - -const ( - HostSnmpAgentCapabilityCOMPLETE = HostSnmpAgentCapability("COMPLETE") - HostSnmpAgentCapabilityDIAGNOSTICS = HostSnmpAgentCapability("DIAGNOSTICS") - HostSnmpAgentCapabilityCONFIGURATION = HostSnmpAgentCapability("CONFIGURATION") -) - -func init() { - t["HostSnmpAgentCapability"] = reflect.TypeOf((*HostSnmpAgentCapability)(nil)).Elem() -} - -type HostStandbyMode string - -const ( - HostStandbyModeEntering = HostStandbyMode("entering") - HostStandbyModeExiting = HostStandbyMode("exiting") - HostStandbyModeIn = HostStandbyMode("in") - HostStandbyModeNone = HostStandbyMode("none") -) - -func init() { - t["HostStandbyMode"] = reflect.TypeOf((*HostStandbyMode)(nil)).Elem() -} - -type HostStorageProtocol string - -const ( - HostStorageProtocolScsi = HostStorageProtocol("scsi") - HostStorageProtocolNvme = HostStorageProtocol("nvme") -) - -func init() { - t["HostStorageProtocol"] = reflect.TypeOf((*HostStorageProtocol)(nil)).Elem() -} - -type HostSystemConnectionState string - -const ( - HostSystemConnectionStateConnected = HostSystemConnectionState("connected") - HostSystemConnectionStateNotResponding = HostSystemConnectionState("notResponding") - HostSystemConnectionStateDisconnected = HostSystemConnectionState("disconnected") -) - -func init() { - t["HostSystemConnectionState"] = reflect.TypeOf((*HostSystemConnectionState)(nil)).Elem() -} - -type HostSystemIdentificationInfoIdentifier string - -const ( - HostSystemIdentificationInfoIdentifierAssetTag = HostSystemIdentificationInfoIdentifier("AssetTag") - HostSystemIdentificationInfoIdentifierServiceTag = HostSystemIdentificationInfoIdentifier("ServiceTag") - HostSystemIdentificationInfoIdentifierOemSpecificString = HostSystemIdentificationInfoIdentifier("OemSpecificString") - HostSystemIdentificationInfoIdentifierEnclosureSerialNumberTag = HostSystemIdentificationInfoIdentifier("EnclosureSerialNumberTag") - HostSystemIdentificationInfoIdentifierSerialNumberTag = HostSystemIdentificationInfoIdentifier("SerialNumberTag") -) - -func init() { - t["HostSystemIdentificationInfoIdentifier"] = reflect.TypeOf((*HostSystemIdentificationInfoIdentifier)(nil)).Elem() -} - -type HostSystemPowerState string - -const ( - HostSystemPowerStatePoweredOn = HostSystemPowerState("poweredOn") - HostSystemPowerStatePoweredOff = HostSystemPowerState("poweredOff") - HostSystemPowerStateStandBy = HostSystemPowerState("standBy") - HostSystemPowerStateUnknown = HostSystemPowerState("unknown") -) - -func init() { - t["HostSystemPowerState"] = reflect.TypeOf((*HostSystemPowerState)(nil)).Elem() -} - -type HostSystemRemediationStateState string - -const ( - HostSystemRemediationStateStateRemediationReady = HostSystemRemediationStateState("remediationReady") - HostSystemRemediationStateStatePrecheckRemediationRunning = HostSystemRemediationStateState("precheckRemediationRunning") - HostSystemRemediationStateStatePrecheckRemediationComplete = HostSystemRemediationStateState("precheckRemediationComplete") - HostSystemRemediationStateStatePrecheckRemediationFailed = HostSystemRemediationStateState("precheckRemediationFailed") - HostSystemRemediationStateStateRemediationRunning = HostSystemRemediationStateState("remediationRunning") - HostSystemRemediationStateStateRemediationFailed = HostSystemRemediationStateState("remediationFailed") -) - -func init() { - t["HostSystemRemediationStateState"] = reflect.TypeOf((*HostSystemRemediationStateState)(nil)).Elem() -} - -type HostTpmAttestationInfoAcceptanceStatus string - -const ( - HostTpmAttestationInfoAcceptanceStatusNotAccepted = HostTpmAttestationInfoAcceptanceStatus("notAccepted") - HostTpmAttestationInfoAcceptanceStatusAccepted = HostTpmAttestationInfoAcceptanceStatus("accepted") -) - -func init() { - t["HostTpmAttestationInfoAcceptanceStatus"] = reflect.TypeOf((*HostTpmAttestationInfoAcceptanceStatus)(nil)).Elem() -} - -type HostTrustAuthorityAttestationInfoAttestationStatus string - -const ( - HostTrustAuthorityAttestationInfoAttestationStatusAttested = HostTrustAuthorityAttestationInfoAttestationStatus("attested") - HostTrustAuthorityAttestationInfoAttestationStatusNotAttested = HostTrustAuthorityAttestationInfoAttestationStatus("notAttested") - HostTrustAuthorityAttestationInfoAttestationStatusUnknown = HostTrustAuthorityAttestationInfoAttestationStatus("unknown") -) - -func init() { - t["HostTrustAuthorityAttestationInfoAttestationStatus"] = reflect.TypeOf((*HostTrustAuthorityAttestationInfoAttestationStatus)(nil)).Elem() -} - -type HostUnresolvedVmfsExtentUnresolvedReason string - -const ( - HostUnresolvedVmfsExtentUnresolvedReasonDiskIdMismatch = HostUnresolvedVmfsExtentUnresolvedReason("diskIdMismatch") - HostUnresolvedVmfsExtentUnresolvedReasonUuidConflict = HostUnresolvedVmfsExtentUnresolvedReason("uuidConflict") -) - -func init() { - t["HostUnresolvedVmfsExtentUnresolvedReason"] = reflect.TypeOf((*HostUnresolvedVmfsExtentUnresolvedReason)(nil)).Elem() -} - -type HostUnresolvedVmfsResolutionSpecVmfsUuidResolution string - -const ( - HostUnresolvedVmfsResolutionSpecVmfsUuidResolutionResignature = HostUnresolvedVmfsResolutionSpecVmfsUuidResolution("resignature") - HostUnresolvedVmfsResolutionSpecVmfsUuidResolutionForceMount = HostUnresolvedVmfsResolutionSpecVmfsUuidResolution("forceMount") -) - -func init() { - t["HostUnresolvedVmfsResolutionSpecVmfsUuidResolution"] = reflect.TypeOf((*HostUnresolvedVmfsResolutionSpecVmfsUuidResolution)(nil)).Elem() -} - -type HostVirtualNicManagerNicType string - -const ( - HostVirtualNicManagerNicTypeVmotion = HostVirtualNicManagerNicType("vmotion") - HostVirtualNicManagerNicTypeFaultToleranceLogging = HostVirtualNicManagerNicType("faultToleranceLogging") - HostVirtualNicManagerNicTypeVSphereReplication = HostVirtualNicManagerNicType("vSphereReplication") - HostVirtualNicManagerNicTypeVSphereReplicationNFC = HostVirtualNicManagerNicType("vSphereReplicationNFC") - HostVirtualNicManagerNicTypeManagement = HostVirtualNicManagerNicType("management") - HostVirtualNicManagerNicTypeVsan = HostVirtualNicManagerNicType("vsan") - HostVirtualNicManagerNicTypeVSphereProvisioning = HostVirtualNicManagerNicType("vSphereProvisioning") - HostVirtualNicManagerNicTypeVsanWitness = HostVirtualNicManagerNicType("vsanWitness") - HostVirtualNicManagerNicTypeVSphereBackupNFC = HostVirtualNicManagerNicType("vSphereBackupNFC") - HostVirtualNicManagerNicTypePtp = HostVirtualNicManagerNicType("ptp") - HostVirtualNicManagerNicTypeNvmeTcp = HostVirtualNicManagerNicType("nvmeTcp") - HostVirtualNicManagerNicTypeNvmeRdma = HostVirtualNicManagerNicType("nvmeRdma") -) - -func init() { - t["HostVirtualNicManagerNicType"] = reflect.TypeOf((*HostVirtualNicManagerNicType)(nil)).Elem() -} - -type HostVmciAccessManagerMode string - -const ( - HostVmciAccessManagerModeGrant = HostVmciAccessManagerMode("grant") - HostVmciAccessManagerModeReplace = HostVmciAccessManagerMode("replace") - HostVmciAccessManagerModeRevoke = HostVmciAccessManagerMode("revoke") -) - -func init() { - t["HostVmciAccessManagerMode"] = reflect.TypeOf((*HostVmciAccessManagerMode)(nil)).Elem() -} - -type HostVmfsVolumeUnmapBandwidthPolicy string - -const ( - HostVmfsVolumeUnmapBandwidthPolicyFixed = HostVmfsVolumeUnmapBandwidthPolicy("fixed") - HostVmfsVolumeUnmapBandwidthPolicyDynamic = HostVmfsVolumeUnmapBandwidthPolicy("dynamic") -) - -func init() { - t["HostVmfsVolumeUnmapBandwidthPolicy"] = reflect.TypeOf((*HostVmfsVolumeUnmapBandwidthPolicy)(nil)).Elem() -} - -type HostVmfsVolumeUnmapPriority string - -const ( - HostVmfsVolumeUnmapPriorityNone = HostVmfsVolumeUnmapPriority("none") - HostVmfsVolumeUnmapPriorityLow = HostVmfsVolumeUnmapPriority("low") -) - -func init() { - t["HostVmfsVolumeUnmapPriority"] = reflect.TypeOf((*HostVmfsVolumeUnmapPriority)(nil)).Elem() -} - -type HttpNfcLeaseManifestEntryChecksumType string - -const ( - HttpNfcLeaseManifestEntryChecksumTypeSha1 = HttpNfcLeaseManifestEntryChecksumType("sha1") - HttpNfcLeaseManifestEntryChecksumTypeSha256 = HttpNfcLeaseManifestEntryChecksumType("sha256") -) - -func init() { - t["HttpNfcLeaseManifestEntryChecksumType"] = reflect.TypeOf((*HttpNfcLeaseManifestEntryChecksumType)(nil)).Elem() -} - -type HttpNfcLeaseMode string - -const ( - HttpNfcLeaseModePushOrGet = HttpNfcLeaseMode("pushOrGet") - HttpNfcLeaseModePull = HttpNfcLeaseMode("pull") -) - -func init() { - t["HttpNfcLeaseMode"] = reflect.TypeOf((*HttpNfcLeaseMode)(nil)).Elem() -} - -type HttpNfcLeaseState string - -const ( - HttpNfcLeaseStateInitializing = HttpNfcLeaseState("initializing") - HttpNfcLeaseStateReady = HttpNfcLeaseState("ready") - HttpNfcLeaseStateDone = HttpNfcLeaseState("done") - HttpNfcLeaseStateError = HttpNfcLeaseState("error") -) - -func init() { - t["HttpNfcLeaseState"] = reflect.TypeOf((*HttpNfcLeaseState)(nil)).Elem() -} - -type IncompatibleHostForVmReplicationIncompatibleReason string - -const ( - IncompatibleHostForVmReplicationIncompatibleReasonRpo = IncompatibleHostForVmReplicationIncompatibleReason("rpo") - IncompatibleHostForVmReplicationIncompatibleReasonNetCompression = IncompatibleHostForVmReplicationIncompatibleReason("netCompression") -) - -func init() { - t["IncompatibleHostForVmReplicationIncompatibleReason"] = reflect.TypeOf((*IncompatibleHostForVmReplicationIncompatibleReason)(nil)).Elem() -} - -type InternetScsiSnsDiscoveryMethod string - -const ( - InternetScsiSnsDiscoveryMethodIsnsStatic = InternetScsiSnsDiscoveryMethod("isnsStatic") - InternetScsiSnsDiscoveryMethodIsnsDhcp = InternetScsiSnsDiscoveryMethod("isnsDhcp") - InternetScsiSnsDiscoveryMethodIsnsSlp = InternetScsiSnsDiscoveryMethod("isnsSlp") -) - -func init() { - t["InternetScsiSnsDiscoveryMethod"] = reflect.TypeOf((*InternetScsiSnsDiscoveryMethod)(nil)).Elem() -} - -type InvalidDasConfigArgumentEntryForInvalidArgument string - -const ( - InvalidDasConfigArgumentEntryForInvalidArgumentAdmissionControl = InvalidDasConfigArgumentEntryForInvalidArgument("admissionControl") - InvalidDasConfigArgumentEntryForInvalidArgumentUserHeartbeatDs = InvalidDasConfigArgumentEntryForInvalidArgument("userHeartbeatDs") - InvalidDasConfigArgumentEntryForInvalidArgumentVmConfig = InvalidDasConfigArgumentEntryForInvalidArgument("vmConfig") -) - -func init() { - t["InvalidDasConfigArgumentEntryForInvalidArgument"] = reflect.TypeOf((*InvalidDasConfigArgumentEntryForInvalidArgument)(nil)).Elem() -} - -type InvalidProfileReferenceHostReason string - -const ( - InvalidProfileReferenceHostReasonIncompatibleVersion = InvalidProfileReferenceHostReason("incompatibleVersion") - InvalidProfileReferenceHostReasonMissingReferenceHost = InvalidProfileReferenceHostReason("missingReferenceHost") -) - -func init() { - t["InvalidProfileReferenceHostReason"] = reflect.TypeOf((*InvalidProfileReferenceHostReason)(nil)).Elem() -} - -type IoFilterOperation string - -const ( - IoFilterOperationInstall = IoFilterOperation("install") - IoFilterOperationUninstall = IoFilterOperation("uninstall") - IoFilterOperationUpgrade = IoFilterOperation("upgrade") -) - -func init() { - t["IoFilterOperation"] = reflect.TypeOf((*IoFilterOperation)(nil)).Elem() -} - -type IoFilterType string - -const ( - IoFilterTypeCache = IoFilterType("cache") - IoFilterTypeReplication = IoFilterType("replication") - IoFilterTypeEncryption = IoFilterType("encryption") - IoFilterTypeCompression = IoFilterType("compression") - IoFilterTypeInspection = IoFilterType("inspection") - IoFilterTypeDatastoreIoControl = IoFilterType("datastoreIoControl") - IoFilterTypeDataProvider = IoFilterType("dataProvider") - IoFilterTypeDataCapture = IoFilterType("dataCapture") -) - -func init() { - t["IoFilterType"] = reflect.TypeOf((*IoFilterType)(nil)).Elem() -} - -type IscsiPortInfoPathStatus string - -const ( - IscsiPortInfoPathStatusNotUsed = IscsiPortInfoPathStatus("notUsed") - IscsiPortInfoPathStatusActive = IscsiPortInfoPathStatus("active") - IscsiPortInfoPathStatusStandBy = IscsiPortInfoPathStatus("standBy") - IscsiPortInfoPathStatusLastActive = IscsiPortInfoPathStatus("lastActive") -) - -func init() { - t["IscsiPortInfoPathStatus"] = reflect.TypeOf((*IscsiPortInfoPathStatus)(nil)).Elem() -} - -type KmipClusterInfoKmsManagementType string - -const ( - KmipClusterInfoKmsManagementTypeUnknown = KmipClusterInfoKmsManagementType("unknown") - KmipClusterInfoKmsManagementTypeVCenter = KmipClusterInfoKmsManagementType("vCenter") - KmipClusterInfoKmsManagementTypeTrustAuthority = KmipClusterInfoKmsManagementType("trustAuthority") - KmipClusterInfoKmsManagementTypeNativeProvider = KmipClusterInfoKmsManagementType("nativeProvider") -) - -func init() { - t["KmipClusterInfoKmsManagementType"] = reflect.TypeOf((*KmipClusterInfoKmsManagementType)(nil)).Elem() -} - -type LatencySensitivitySensitivityLevel string - -const ( - LatencySensitivitySensitivityLevelLow = LatencySensitivitySensitivityLevel("low") - LatencySensitivitySensitivityLevelNormal = LatencySensitivitySensitivityLevel("normal") - LatencySensitivitySensitivityLevelMedium = LatencySensitivitySensitivityLevel("medium") - LatencySensitivitySensitivityLevelHigh = LatencySensitivitySensitivityLevel("high") - LatencySensitivitySensitivityLevelCustom = LatencySensitivitySensitivityLevel("custom") -) - -func init() { - t["LatencySensitivitySensitivityLevel"] = reflect.TypeOf((*LatencySensitivitySensitivityLevel)(nil)).Elem() -} - -type LicenseAssignmentFailedReason string - -const ( - LicenseAssignmentFailedReasonKeyEntityMismatch = LicenseAssignmentFailedReason("keyEntityMismatch") - LicenseAssignmentFailedReasonDowngradeDisallowed = LicenseAssignmentFailedReason("downgradeDisallowed") - LicenseAssignmentFailedReasonInventoryNotManageableByVirtualCenter = LicenseAssignmentFailedReason("inventoryNotManageableByVirtualCenter") - LicenseAssignmentFailedReasonHostsUnmanageableByVirtualCenterWithoutLicenseServer = LicenseAssignmentFailedReason("hostsUnmanageableByVirtualCenterWithoutLicenseServer") -) - -func init() { - t["LicenseAssignmentFailedReason"] = reflect.TypeOf((*LicenseAssignmentFailedReason)(nil)).Elem() -} - -type LicenseFeatureInfoSourceRestriction string - -const ( - LicenseFeatureInfoSourceRestrictionUnrestricted = LicenseFeatureInfoSourceRestriction("unrestricted") - LicenseFeatureInfoSourceRestrictionServed = LicenseFeatureInfoSourceRestriction("served") - LicenseFeatureInfoSourceRestrictionFile = LicenseFeatureInfoSourceRestriction("file") -) - -func init() { - t["LicenseFeatureInfoSourceRestriction"] = reflect.TypeOf((*LicenseFeatureInfoSourceRestriction)(nil)).Elem() -} - -type LicenseFeatureInfoState string - -const ( - LicenseFeatureInfoStateEnabled = LicenseFeatureInfoState("enabled") - LicenseFeatureInfoStateDisabled = LicenseFeatureInfoState("disabled") - LicenseFeatureInfoStateOptional = LicenseFeatureInfoState("optional") -) - -func init() { - t["LicenseFeatureInfoState"] = reflect.TypeOf((*LicenseFeatureInfoState)(nil)).Elem() -} - -type LicenseFeatureInfoUnit string - -const ( - LicenseFeatureInfoUnitHost = LicenseFeatureInfoUnit("host") - LicenseFeatureInfoUnitCpuCore = LicenseFeatureInfoUnit("cpuCore") - LicenseFeatureInfoUnitCpuPackage = LicenseFeatureInfoUnit("cpuPackage") - LicenseFeatureInfoUnitServer = LicenseFeatureInfoUnit("server") - LicenseFeatureInfoUnitVm = LicenseFeatureInfoUnit("vm") -) - -func init() { - t["LicenseFeatureInfoUnit"] = reflect.TypeOf((*LicenseFeatureInfoUnit)(nil)).Elem() -} - -type LicenseManagerLicenseKey string - -const ( - LicenseManagerLicenseKeyEsxFull = LicenseManagerLicenseKey("esxFull") - LicenseManagerLicenseKeyEsxVmtn = LicenseManagerLicenseKey("esxVmtn") - LicenseManagerLicenseKeyEsxExpress = LicenseManagerLicenseKey("esxExpress") - LicenseManagerLicenseKeySan = LicenseManagerLicenseKey("san") - LicenseManagerLicenseKeyIscsi = LicenseManagerLicenseKey("iscsi") - LicenseManagerLicenseKeyNas = LicenseManagerLicenseKey("nas") - LicenseManagerLicenseKeyVsmp = LicenseManagerLicenseKey("vsmp") - LicenseManagerLicenseKeyBackup = LicenseManagerLicenseKey("backup") - LicenseManagerLicenseKeyVc = LicenseManagerLicenseKey("vc") - LicenseManagerLicenseKeyVcExpress = LicenseManagerLicenseKey("vcExpress") - LicenseManagerLicenseKeyEsxHost = LicenseManagerLicenseKey("esxHost") - LicenseManagerLicenseKeyGsxHost = LicenseManagerLicenseKey("gsxHost") - LicenseManagerLicenseKeyServerHost = LicenseManagerLicenseKey("serverHost") - LicenseManagerLicenseKeyDrsPower = LicenseManagerLicenseKey("drsPower") - LicenseManagerLicenseKeyVmotion = LicenseManagerLicenseKey("vmotion") - LicenseManagerLicenseKeyDrs = LicenseManagerLicenseKey("drs") - LicenseManagerLicenseKeyDas = LicenseManagerLicenseKey("das") -) - -func init() { - t["LicenseManagerLicenseKey"] = reflect.TypeOf((*LicenseManagerLicenseKey)(nil)).Elem() -} - -type LicenseManagerState string - -const ( - LicenseManagerStateInitializing = LicenseManagerState("initializing") - LicenseManagerStateNormal = LicenseManagerState("normal") - LicenseManagerStateMarginal = LicenseManagerState("marginal") - LicenseManagerStateFault = LicenseManagerState("fault") -) - -func init() { - t["LicenseManagerState"] = reflect.TypeOf((*LicenseManagerState)(nil)).Elem() -} - -type LicenseReservationInfoState string - -const ( - LicenseReservationInfoStateNotUsed = LicenseReservationInfoState("notUsed") - LicenseReservationInfoStateNoLicense = LicenseReservationInfoState("noLicense") - LicenseReservationInfoStateUnlicensedUse = LicenseReservationInfoState("unlicensedUse") - LicenseReservationInfoStateLicensed = LicenseReservationInfoState("licensed") -) - -func init() { - t["LicenseReservationInfoState"] = reflect.TypeOf((*LicenseReservationInfoState)(nil)).Elem() -} - -type LinkDiscoveryProtocolConfigOperationType string - -const ( - LinkDiscoveryProtocolConfigOperationTypeNone = LinkDiscoveryProtocolConfigOperationType("none") - LinkDiscoveryProtocolConfigOperationTypeListen = LinkDiscoveryProtocolConfigOperationType("listen") - LinkDiscoveryProtocolConfigOperationTypeAdvertise = LinkDiscoveryProtocolConfigOperationType("advertise") - LinkDiscoveryProtocolConfigOperationTypeBoth = LinkDiscoveryProtocolConfigOperationType("both") -) - -func init() { - t["LinkDiscoveryProtocolConfigOperationType"] = reflect.TypeOf((*LinkDiscoveryProtocolConfigOperationType)(nil)).Elem() -} - -type LinkDiscoveryProtocolConfigProtocolType string - -const ( - LinkDiscoveryProtocolConfigProtocolTypeCdp = LinkDiscoveryProtocolConfigProtocolType("cdp") - LinkDiscoveryProtocolConfigProtocolTypeLldp = LinkDiscoveryProtocolConfigProtocolType("lldp") -) - -func init() { - t["LinkDiscoveryProtocolConfigProtocolType"] = reflect.TypeOf((*LinkDiscoveryProtocolConfigProtocolType)(nil)).Elem() -} - -type ManagedEntityStatus string - -const ( - ManagedEntityStatusGray = ManagedEntityStatus("gray") - ManagedEntityStatusGreen = ManagedEntityStatus("green") - ManagedEntityStatusYellow = ManagedEntityStatus("yellow") - ManagedEntityStatusRed = ManagedEntityStatus("red") -) - -func init() { - t["ManagedEntityStatus"] = reflect.TypeOf((*ManagedEntityStatus)(nil)).Elem() -} - -type MetricAlarmOperator string - -const ( - MetricAlarmOperatorIsAbove = MetricAlarmOperator("isAbove") - MetricAlarmOperatorIsBelow = MetricAlarmOperator("isBelow") -) - -func init() { - t["MetricAlarmOperator"] = reflect.TypeOf((*MetricAlarmOperator)(nil)).Elem() -} - -type MultipathState string - -const ( - MultipathStateStandby = MultipathState("standby") - MultipathStateActive = MultipathState("active") - MultipathStateDisabled = MultipathState("disabled") - MultipathStateDead = MultipathState("dead") - MultipathStateUnknown = MultipathState("unknown") -) - -func init() { - t["MultipathState"] = reflect.TypeOf((*MultipathState)(nil)).Elem() -} - -type NetBIOSConfigInfoMode string - -const ( - NetBIOSConfigInfoModeUnknown = NetBIOSConfigInfoMode("unknown") - NetBIOSConfigInfoModeEnabled = NetBIOSConfigInfoMode("enabled") - NetBIOSConfigInfoModeDisabled = NetBIOSConfigInfoMode("disabled") - NetBIOSConfigInfoModeEnabledViaDHCP = NetBIOSConfigInfoMode("enabledViaDHCP") -) - -func init() { - t["NetBIOSConfigInfoMode"] = reflect.TypeOf((*NetBIOSConfigInfoMode)(nil)).Elem() -} - -type NetIpConfigInfoIpAddressOrigin string - -const ( - NetIpConfigInfoIpAddressOriginOther = NetIpConfigInfoIpAddressOrigin("other") - NetIpConfigInfoIpAddressOriginManual = NetIpConfigInfoIpAddressOrigin("manual") - NetIpConfigInfoIpAddressOriginDhcp = NetIpConfigInfoIpAddressOrigin("dhcp") - NetIpConfigInfoIpAddressOriginLinklayer = NetIpConfigInfoIpAddressOrigin("linklayer") - NetIpConfigInfoIpAddressOriginRandom = NetIpConfigInfoIpAddressOrigin("random") -) - -func init() { - t["NetIpConfigInfoIpAddressOrigin"] = reflect.TypeOf((*NetIpConfigInfoIpAddressOrigin)(nil)).Elem() -} - -type NetIpConfigInfoIpAddressStatus string - -const ( - NetIpConfigInfoIpAddressStatusPreferred = NetIpConfigInfoIpAddressStatus("preferred") - NetIpConfigInfoIpAddressStatusDeprecated = NetIpConfigInfoIpAddressStatus("deprecated") - NetIpConfigInfoIpAddressStatusInvalid = NetIpConfigInfoIpAddressStatus("invalid") - NetIpConfigInfoIpAddressStatusInaccessible = NetIpConfigInfoIpAddressStatus("inaccessible") - NetIpConfigInfoIpAddressStatusUnknown = NetIpConfigInfoIpAddressStatus("unknown") - NetIpConfigInfoIpAddressStatusTentative = NetIpConfigInfoIpAddressStatus("tentative") - NetIpConfigInfoIpAddressStatusDuplicate = NetIpConfigInfoIpAddressStatus("duplicate") -) - -func init() { - t["NetIpConfigInfoIpAddressStatus"] = reflect.TypeOf((*NetIpConfigInfoIpAddressStatus)(nil)).Elem() -} - -type NetIpStackInfoEntryType string - -const ( - NetIpStackInfoEntryTypeOther = NetIpStackInfoEntryType("other") - NetIpStackInfoEntryTypeInvalid = NetIpStackInfoEntryType("invalid") - NetIpStackInfoEntryTypeDynamic = NetIpStackInfoEntryType("dynamic") - NetIpStackInfoEntryTypeManual = NetIpStackInfoEntryType("manual") -) - -func init() { - t["NetIpStackInfoEntryType"] = reflect.TypeOf((*NetIpStackInfoEntryType)(nil)).Elem() -} - -type NetIpStackInfoPreference string - -const ( - NetIpStackInfoPreferenceReserved = NetIpStackInfoPreference("reserved") - NetIpStackInfoPreferenceLow = NetIpStackInfoPreference("low") - NetIpStackInfoPreferenceMedium = NetIpStackInfoPreference("medium") - NetIpStackInfoPreferenceHigh = NetIpStackInfoPreference("high") -) - -func init() { - t["NetIpStackInfoPreference"] = reflect.TypeOf((*NetIpStackInfoPreference)(nil)).Elem() -} - -type NotSupportedDeviceForFTDeviceType string - -const ( - NotSupportedDeviceForFTDeviceTypeVirtualVmxnet3 = NotSupportedDeviceForFTDeviceType("virtualVmxnet3") - NotSupportedDeviceForFTDeviceTypeParaVirtualSCSIController = NotSupportedDeviceForFTDeviceType("paraVirtualSCSIController") -) - -func init() { - t["NotSupportedDeviceForFTDeviceType"] = reflect.TypeOf((*NotSupportedDeviceForFTDeviceType)(nil)).Elem() -} - -type NumVirtualCpusIncompatibleReason string - -const ( - NumVirtualCpusIncompatibleReasonRecordReplay = NumVirtualCpusIncompatibleReason("recordReplay") - NumVirtualCpusIncompatibleReasonFaultTolerance = NumVirtualCpusIncompatibleReason("faultTolerance") -) - -func init() { - t["NumVirtualCpusIncompatibleReason"] = reflect.TypeOf((*NumVirtualCpusIncompatibleReason)(nil)).Elem() -} - -type NvdimmInterleaveSetState string - -const ( - NvdimmInterleaveSetStateInvalid = NvdimmInterleaveSetState("invalid") - NvdimmInterleaveSetStateActive = NvdimmInterleaveSetState("active") -) - -func init() { - t["NvdimmInterleaveSetState"] = reflect.TypeOf((*NvdimmInterleaveSetState)(nil)).Elem() -} - -type NvdimmNamespaceDetailsHealthStatus string - -const ( - NvdimmNamespaceDetailsHealthStatusNormal = NvdimmNamespaceDetailsHealthStatus("normal") - NvdimmNamespaceDetailsHealthStatusMissing = NvdimmNamespaceDetailsHealthStatus("missing") - NvdimmNamespaceDetailsHealthStatusLabelMissing = NvdimmNamespaceDetailsHealthStatus("labelMissing") - NvdimmNamespaceDetailsHealthStatusInterleaveBroken = NvdimmNamespaceDetailsHealthStatus("interleaveBroken") - NvdimmNamespaceDetailsHealthStatusLabelInconsistent = NvdimmNamespaceDetailsHealthStatus("labelInconsistent") -) - -func init() { - t["NvdimmNamespaceDetailsHealthStatus"] = reflect.TypeOf((*NvdimmNamespaceDetailsHealthStatus)(nil)).Elem() -} - -type NvdimmNamespaceDetailsState string - -const ( - NvdimmNamespaceDetailsStateInvalid = NvdimmNamespaceDetailsState("invalid") - NvdimmNamespaceDetailsStateNotInUse = NvdimmNamespaceDetailsState("notInUse") - NvdimmNamespaceDetailsStateInUse = NvdimmNamespaceDetailsState("inUse") -) - -func init() { - t["NvdimmNamespaceDetailsState"] = reflect.TypeOf((*NvdimmNamespaceDetailsState)(nil)).Elem() -} - -type NvdimmNamespaceHealthStatus string - -const ( - NvdimmNamespaceHealthStatusNormal = NvdimmNamespaceHealthStatus("normal") - NvdimmNamespaceHealthStatusMissing = NvdimmNamespaceHealthStatus("missing") - NvdimmNamespaceHealthStatusLabelMissing = NvdimmNamespaceHealthStatus("labelMissing") - NvdimmNamespaceHealthStatusInterleaveBroken = NvdimmNamespaceHealthStatus("interleaveBroken") - NvdimmNamespaceHealthStatusLabelInconsistent = NvdimmNamespaceHealthStatus("labelInconsistent") - NvdimmNamespaceHealthStatusBttCorrupt = NvdimmNamespaceHealthStatus("bttCorrupt") - NvdimmNamespaceHealthStatusBadBlockSize = NvdimmNamespaceHealthStatus("badBlockSize") -) - -func init() { - t["NvdimmNamespaceHealthStatus"] = reflect.TypeOf((*NvdimmNamespaceHealthStatus)(nil)).Elem() -} - -type NvdimmNamespaceState string - -const ( - NvdimmNamespaceStateInvalid = NvdimmNamespaceState("invalid") - NvdimmNamespaceStateNotInUse = NvdimmNamespaceState("notInUse") - NvdimmNamespaceStateInUse = NvdimmNamespaceState("inUse") -) - -func init() { - t["NvdimmNamespaceState"] = reflect.TypeOf((*NvdimmNamespaceState)(nil)).Elem() -} - -type NvdimmNamespaceType string - -const ( - NvdimmNamespaceTypeBlockNamespace = NvdimmNamespaceType("blockNamespace") - NvdimmNamespaceTypePersistentNamespace = NvdimmNamespaceType("persistentNamespace") -) - -func init() { - t["NvdimmNamespaceType"] = reflect.TypeOf((*NvdimmNamespaceType)(nil)).Elem() -} - -type NvdimmNvdimmHealthInfoState string - -const ( - NvdimmNvdimmHealthInfoStateNormal = NvdimmNvdimmHealthInfoState("normal") - NvdimmNvdimmHealthInfoStateError = NvdimmNvdimmHealthInfoState("error") -) - -func init() { - t["NvdimmNvdimmHealthInfoState"] = reflect.TypeOf((*NvdimmNvdimmHealthInfoState)(nil)).Elem() -} - -type NvdimmRangeType string - -const ( - NvdimmRangeTypeVolatileRange = NvdimmRangeType("volatileRange") - NvdimmRangeTypePersistentRange = NvdimmRangeType("persistentRange") - NvdimmRangeTypeControlRange = NvdimmRangeType("controlRange") - NvdimmRangeTypeBlockRange = NvdimmRangeType("blockRange") - NvdimmRangeTypeVolatileVirtualDiskRange = NvdimmRangeType("volatileVirtualDiskRange") - NvdimmRangeTypeVolatileVirtualCDRange = NvdimmRangeType("volatileVirtualCDRange") - NvdimmRangeTypePersistentVirtualDiskRange = NvdimmRangeType("persistentVirtualDiskRange") - NvdimmRangeTypePersistentVirtualCDRange = NvdimmRangeType("persistentVirtualCDRange") -) - -func init() { - t["NvdimmRangeType"] = reflect.TypeOf((*NvdimmRangeType)(nil)).Elem() -} - -type ObjectUpdateKind string - -const ( - ObjectUpdateKindModify = ObjectUpdateKind("modify") - ObjectUpdateKindEnter = ObjectUpdateKind("enter") - ObjectUpdateKindLeave = ObjectUpdateKind("leave") -) - -func init() { - t["ObjectUpdateKind"] = reflect.TypeOf((*ObjectUpdateKind)(nil)).Elem() -} - -type OvfConsumerOstNodeType string - -const ( - OvfConsumerOstNodeTypeEnvelope = OvfConsumerOstNodeType("envelope") - OvfConsumerOstNodeTypeVirtualSystem = OvfConsumerOstNodeType("virtualSystem") - OvfConsumerOstNodeTypeVirtualSystemCollection = OvfConsumerOstNodeType("virtualSystemCollection") -) - -func init() { - t["OvfConsumerOstNodeType"] = reflect.TypeOf((*OvfConsumerOstNodeType)(nil)).Elem() -} - -type OvfCreateImportSpecParamsDiskProvisioningType string - -const ( - OvfCreateImportSpecParamsDiskProvisioningTypeMonolithicSparse = OvfCreateImportSpecParamsDiskProvisioningType("monolithicSparse") - OvfCreateImportSpecParamsDiskProvisioningTypeMonolithicFlat = OvfCreateImportSpecParamsDiskProvisioningType("monolithicFlat") - OvfCreateImportSpecParamsDiskProvisioningTypeTwoGbMaxExtentSparse = OvfCreateImportSpecParamsDiskProvisioningType("twoGbMaxExtentSparse") - OvfCreateImportSpecParamsDiskProvisioningTypeTwoGbMaxExtentFlat = OvfCreateImportSpecParamsDiskProvisioningType("twoGbMaxExtentFlat") - OvfCreateImportSpecParamsDiskProvisioningTypeThin = OvfCreateImportSpecParamsDiskProvisioningType("thin") - OvfCreateImportSpecParamsDiskProvisioningTypeThick = OvfCreateImportSpecParamsDiskProvisioningType("thick") - OvfCreateImportSpecParamsDiskProvisioningTypeSeSparse = OvfCreateImportSpecParamsDiskProvisioningType("seSparse") - OvfCreateImportSpecParamsDiskProvisioningTypeEagerZeroedThick = OvfCreateImportSpecParamsDiskProvisioningType("eagerZeroedThick") - OvfCreateImportSpecParamsDiskProvisioningTypeSparse = OvfCreateImportSpecParamsDiskProvisioningType("sparse") - OvfCreateImportSpecParamsDiskProvisioningTypeFlat = OvfCreateImportSpecParamsDiskProvisioningType("flat") -) - -func init() { - t["OvfCreateImportSpecParamsDiskProvisioningType"] = reflect.TypeOf((*OvfCreateImportSpecParamsDiskProvisioningType)(nil)).Elem() -} - -type PerfFormat string - -const ( - PerfFormatNormal = PerfFormat("normal") - PerfFormatCsv = PerfFormat("csv") -) - -func init() { - t["PerfFormat"] = reflect.TypeOf((*PerfFormat)(nil)).Elem() -} - -type PerfStatsType string - -const ( - PerfStatsTypeAbsolute = PerfStatsType("absolute") - PerfStatsTypeDelta = PerfStatsType("delta") - PerfStatsTypeRate = PerfStatsType("rate") -) - -func init() { - t["PerfStatsType"] = reflect.TypeOf((*PerfStatsType)(nil)).Elem() -} - -type PerfSummaryType string - -const ( - PerfSummaryTypeAverage = PerfSummaryType("average") - PerfSummaryTypeMaximum = PerfSummaryType("maximum") - PerfSummaryTypeMinimum = PerfSummaryType("minimum") - PerfSummaryTypeLatest = PerfSummaryType("latest") - PerfSummaryTypeSummation = PerfSummaryType("summation") - PerfSummaryTypeNone = PerfSummaryType("none") -) - -func init() { - t["PerfSummaryType"] = reflect.TypeOf((*PerfSummaryType)(nil)).Elem() -} - -type PerformanceManagerUnit string - -const ( - PerformanceManagerUnitPercent = PerformanceManagerUnit("percent") - PerformanceManagerUnitKiloBytes = PerformanceManagerUnit("kiloBytes") - PerformanceManagerUnitMegaBytes = PerformanceManagerUnit("megaBytes") - PerformanceManagerUnitMegaHertz = PerformanceManagerUnit("megaHertz") - PerformanceManagerUnitNumber = PerformanceManagerUnit("number") - PerformanceManagerUnitMicrosecond = PerformanceManagerUnit("microsecond") - PerformanceManagerUnitMillisecond = PerformanceManagerUnit("millisecond") - PerformanceManagerUnitSecond = PerformanceManagerUnit("second") - PerformanceManagerUnitKiloBytesPerSecond = PerformanceManagerUnit("kiloBytesPerSecond") - PerformanceManagerUnitMegaBytesPerSecond = PerformanceManagerUnit("megaBytesPerSecond") - PerformanceManagerUnitWatt = PerformanceManagerUnit("watt") - PerformanceManagerUnitJoule = PerformanceManagerUnit("joule") - PerformanceManagerUnitTeraBytes = PerformanceManagerUnit("teraBytes") - PerformanceManagerUnitCelsius = PerformanceManagerUnit("celsius") - PerformanceManagerUnitNanosecond = PerformanceManagerUnit("nanosecond") -) - -func init() { - t["PerformanceManagerUnit"] = reflect.TypeOf((*PerformanceManagerUnit)(nil)).Elem() -} - -type PhysicalNicResourcePoolSchedulerDisallowedReason string - -const ( - PhysicalNicResourcePoolSchedulerDisallowedReasonUserOptOut = PhysicalNicResourcePoolSchedulerDisallowedReason("userOptOut") - PhysicalNicResourcePoolSchedulerDisallowedReasonHardwareUnsupported = PhysicalNicResourcePoolSchedulerDisallowedReason("hardwareUnsupported") -) - -func init() { - t["PhysicalNicResourcePoolSchedulerDisallowedReason"] = reflect.TypeOf((*PhysicalNicResourcePoolSchedulerDisallowedReason)(nil)).Elem() -} - -type PhysicalNicVmDirectPathGen2SupportedMode string - -const ( - PhysicalNicVmDirectPathGen2SupportedModeUpt = PhysicalNicVmDirectPathGen2SupportedMode("upt") -) - -func init() { - t["PhysicalNicVmDirectPathGen2SupportedMode"] = reflect.TypeOf((*PhysicalNicVmDirectPathGen2SupportedMode)(nil)).Elem() -} - -type PlacementAffinityRuleRuleScope string - -const ( - PlacementAffinityRuleRuleScopeCluster = PlacementAffinityRuleRuleScope("cluster") - PlacementAffinityRuleRuleScopeHost = PlacementAffinityRuleRuleScope("host") - PlacementAffinityRuleRuleScopeStoragePod = PlacementAffinityRuleRuleScope("storagePod") - PlacementAffinityRuleRuleScopeDatastore = PlacementAffinityRuleRuleScope("datastore") -) - -func init() { - t["PlacementAffinityRuleRuleScope"] = reflect.TypeOf((*PlacementAffinityRuleRuleScope)(nil)).Elem() -} - -type PlacementAffinityRuleRuleType string - -const ( - PlacementAffinityRuleRuleTypeAffinity = PlacementAffinityRuleRuleType("affinity") - PlacementAffinityRuleRuleTypeAntiAffinity = PlacementAffinityRuleRuleType("antiAffinity") - PlacementAffinityRuleRuleTypeSoftAffinity = PlacementAffinityRuleRuleType("softAffinity") - PlacementAffinityRuleRuleTypeSoftAntiAffinity = PlacementAffinityRuleRuleType("softAntiAffinity") -) - -func init() { - t["PlacementAffinityRuleRuleType"] = reflect.TypeOf((*PlacementAffinityRuleRuleType)(nil)).Elem() -} - -type PlacementSpecPlacementType string - -const ( - PlacementSpecPlacementTypeCreate = PlacementSpecPlacementType("create") - PlacementSpecPlacementTypeReconfigure = PlacementSpecPlacementType("reconfigure") - PlacementSpecPlacementTypeRelocate = PlacementSpecPlacementType("relocate") - PlacementSpecPlacementTypeClone = PlacementSpecPlacementType("clone") -) - -func init() { - t["PlacementSpecPlacementType"] = reflect.TypeOf((*PlacementSpecPlacementType)(nil)).Elem() -} - -type PortGroupConnecteeType string - -const ( - PortGroupConnecteeTypeVirtualMachine = PortGroupConnecteeType("virtualMachine") - PortGroupConnecteeTypeSystemManagement = PortGroupConnecteeType("systemManagement") - PortGroupConnecteeTypeHost = PortGroupConnecteeType("host") - PortGroupConnecteeTypeUnknown = PortGroupConnecteeType("unknown") -) - -func init() { - t["PortGroupConnecteeType"] = reflect.TypeOf((*PortGroupConnecteeType)(nil)).Elem() -} - -type ProfileExecuteResultStatus string - -const ( - ProfileExecuteResultStatusSuccess = ProfileExecuteResultStatus("success") - ProfileExecuteResultStatusNeedInput = ProfileExecuteResultStatus("needInput") - ProfileExecuteResultStatusError = ProfileExecuteResultStatus("error") -) - -func init() { - t["ProfileExecuteResultStatus"] = reflect.TypeOf((*ProfileExecuteResultStatus)(nil)).Elem() -} - -type ProfileNumericComparator string - -const ( - ProfileNumericComparatorLessThan = ProfileNumericComparator("lessThan") - ProfileNumericComparatorLessThanEqual = ProfileNumericComparator("lessThanEqual") - ProfileNumericComparatorEqual = ProfileNumericComparator("equal") - ProfileNumericComparatorNotEqual = ProfileNumericComparator("notEqual") - ProfileNumericComparatorGreaterThanEqual = ProfileNumericComparator("greaterThanEqual") - ProfileNumericComparatorGreaterThan = ProfileNumericComparator("greaterThan") -) - -func init() { - t["ProfileNumericComparator"] = reflect.TypeOf((*ProfileNumericComparator)(nil)).Elem() -} - -type ProfileParameterMetadataRelationType string - -const ( - ProfileParameterMetadataRelationTypeDynamic_relation = ProfileParameterMetadataRelationType("dynamic_relation") - ProfileParameterMetadataRelationTypeExtensible_relation = ProfileParameterMetadataRelationType("extensible_relation") - ProfileParameterMetadataRelationTypeLocalizable_relation = ProfileParameterMetadataRelationType("localizable_relation") - ProfileParameterMetadataRelationTypeStatic_relation = ProfileParameterMetadataRelationType("static_relation") - ProfileParameterMetadataRelationTypeValidation_relation = ProfileParameterMetadataRelationType("validation_relation") -) - -func init() { - t["ProfileParameterMetadataRelationType"] = reflect.TypeOf((*ProfileParameterMetadataRelationType)(nil)).Elem() -} - -type PropertyChangeOp string - -const ( - PropertyChangeOpAdd = PropertyChangeOp("add") - PropertyChangeOpRemove = PropertyChangeOp("remove") - PropertyChangeOpAssign = PropertyChangeOp("assign") - PropertyChangeOpIndirectRemove = PropertyChangeOp("indirectRemove") -) - -func init() { - t["PropertyChangeOp"] = reflect.TypeOf((*PropertyChangeOp)(nil)).Elem() -} - -type QuarantineModeFaultFaultType string - -const ( - QuarantineModeFaultFaultTypeNoCompatibleNonQuarantinedHost = QuarantineModeFaultFaultType("NoCompatibleNonQuarantinedHost") - QuarantineModeFaultFaultTypeCorrectionDisallowed = QuarantineModeFaultFaultType("CorrectionDisallowed") - QuarantineModeFaultFaultTypeCorrectionImpact = QuarantineModeFaultFaultType("CorrectionImpact") -) - -func init() { - t["QuarantineModeFaultFaultType"] = reflect.TypeOf((*QuarantineModeFaultFaultType)(nil)).Elem() -} - -type QuiesceMode string - -const ( - QuiesceModeApplication = QuiesceMode("application") - QuiesceModeFilesystem = QuiesceMode("filesystem") - QuiesceModeNone = QuiesceMode("none") -) - -func init() { - t["QuiesceMode"] = reflect.TypeOf((*QuiesceMode)(nil)).Elem() -} - -type RecommendationReasonCode string - -const ( - RecommendationReasonCodeFairnessCpuAvg = RecommendationReasonCode("fairnessCpuAvg") - RecommendationReasonCodeFairnessMemAvg = RecommendationReasonCode("fairnessMemAvg") - RecommendationReasonCodeJointAffin = RecommendationReasonCode("jointAffin") - RecommendationReasonCodeAntiAffin = RecommendationReasonCode("antiAffin") - RecommendationReasonCodeHostMaint = RecommendationReasonCode("hostMaint") - RecommendationReasonCodeEnterStandby = RecommendationReasonCode("enterStandby") - RecommendationReasonCodeReservationCpu = RecommendationReasonCode("reservationCpu") - RecommendationReasonCodeReservationMem = RecommendationReasonCode("reservationMem") - RecommendationReasonCodePowerOnVm = RecommendationReasonCode("powerOnVm") - RecommendationReasonCodePowerSaving = RecommendationReasonCode("powerSaving") - RecommendationReasonCodeIncreaseCapacity = RecommendationReasonCode("increaseCapacity") - RecommendationReasonCodeCheckResource = RecommendationReasonCode("checkResource") - RecommendationReasonCodeUnreservedCapacity = RecommendationReasonCode("unreservedCapacity") - RecommendationReasonCodeVmHostHardAffinity = RecommendationReasonCode("vmHostHardAffinity") - RecommendationReasonCodeVmHostSoftAffinity = RecommendationReasonCode("vmHostSoftAffinity") - RecommendationReasonCodeBalanceDatastoreSpaceUsage = RecommendationReasonCode("balanceDatastoreSpaceUsage") - RecommendationReasonCodeBalanceDatastoreIOLoad = RecommendationReasonCode("balanceDatastoreIOLoad") - RecommendationReasonCodeBalanceDatastoreIOPSReservation = RecommendationReasonCode("balanceDatastoreIOPSReservation") - RecommendationReasonCodeDatastoreMaint = RecommendationReasonCode("datastoreMaint") - RecommendationReasonCodeVirtualDiskJointAffin = RecommendationReasonCode("virtualDiskJointAffin") - RecommendationReasonCodeVirtualDiskAntiAffin = RecommendationReasonCode("virtualDiskAntiAffin") - RecommendationReasonCodeDatastoreSpaceOutage = RecommendationReasonCode("datastoreSpaceOutage") - RecommendationReasonCodeStoragePlacement = RecommendationReasonCode("storagePlacement") - RecommendationReasonCodeIolbDisabledInternal = RecommendationReasonCode("iolbDisabledInternal") - RecommendationReasonCodeXvmotionPlacement = RecommendationReasonCode("xvmotionPlacement") - RecommendationReasonCodeNetworkBandwidthReservation = RecommendationReasonCode("networkBandwidthReservation") - RecommendationReasonCodeHostInDegradation = RecommendationReasonCode("hostInDegradation") - RecommendationReasonCodeHostExitDegradation = RecommendationReasonCode("hostExitDegradation") - RecommendationReasonCodeMaxVmsConstraint = RecommendationReasonCode("maxVmsConstraint") - RecommendationReasonCodeFtConstraints = RecommendationReasonCode("ftConstraints") - RecommendationReasonCodeVmHostAffinityPolicy = RecommendationReasonCode("vmHostAffinityPolicy") - RecommendationReasonCodeVmHostAntiAffinityPolicy = RecommendationReasonCode("vmHostAntiAffinityPolicy") - RecommendationReasonCodeVmAntiAffinityPolicy = RecommendationReasonCode("vmAntiAffinityPolicy") - RecommendationReasonCodeBalanceVsanUsage = RecommendationReasonCode("balanceVsanUsage") -) - -func init() { - t["RecommendationReasonCode"] = reflect.TypeOf((*RecommendationReasonCode)(nil)).Elem() -} - -type RecommendationType string - -const ( - RecommendationTypeV1 = RecommendationType("V1") -) - -func init() { - t["RecommendationType"] = reflect.TypeOf((*RecommendationType)(nil)).Elem() -} - -type ReplicationDiskConfigFaultReasonForFault string - -const ( - ReplicationDiskConfigFaultReasonForFaultDiskNotFound = ReplicationDiskConfigFaultReasonForFault("diskNotFound") - ReplicationDiskConfigFaultReasonForFaultDiskTypeNotSupported = ReplicationDiskConfigFaultReasonForFault("diskTypeNotSupported") - ReplicationDiskConfigFaultReasonForFaultInvalidDiskKey = ReplicationDiskConfigFaultReasonForFault("invalidDiskKey") - ReplicationDiskConfigFaultReasonForFaultInvalidDiskReplicationId = ReplicationDiskConfigFaultReasonForFault("invalidDiskReplicationId") - ReplicationDiskConfigFaultReasonForFaultDuplicateDiskReplicationId = ReplicationDiskConfigFaultReasonForFault("duplicateDiskReplicationId") - ReplicationDiskConfigFaultReasonForFaultInvalidPersistentFilePath = ReplicationDiskConfigFaultReasonForFault("invalidPersistentFilePath") - ReplicationDiskConfigFaultReasonForFaultReconfigureDiskReplicationIdNotAllowed = ReplicationDiskConfigFaultReasonForFault("reconfigureDiskReplicationIdNotAllowed") -) - -func init() { - t["ReplicationDiskConfigFaultReasonForFault"] = reflect.TypeOf((*ReplicationDiskConfigFaultReasonForFault)(nil)).Elem() -} - -type ReplicationVmConfigFaultReasonForFault string - -const ( - ReplicationVmConfigFaultReasonForFaultIncompatibleHwVersion = ReplicationVmConfigFaultReasonForFault("incompatibleHwVersion") - ReplicationVmConfigFaultReasonForFaultInvalidVmReplicationId = ReplicationVmConfigFaultReasonForFault("invalidVmReplicationId") - ReplicationVmConfigFaultReasonForFaultInvalidGenerationNumber = ReplicationVmConfigFaultReasonForFault("invalidGenerationNumber") - ReplicationVmConfigFaultReasonForFaultOutOfBoundsRpoValue = ReplicationVmConfigFaultReasonForFault("outOfBoundsRpoValue") - ReplicationVmConfigFaultReasonForFaultInvalidDestinationIpAddress = ReplicationVmConfigFaultReasonForFault("invalidDestinationIpAddress") - ReplicationVmConfigFaultReasonForFaultInvalidDestinationPort = ReplicationVmConfigFaultReasonForFault("invalidDestinationPort") - ReplicationVmConfigFaultReasonForFaultInvalidExtraVmOptions = ReplicationVmConfigFaultReasonForFault("invalidExtraVmOptions") - ReplicationVmConfigFaultReasonForFaultStaleGenerationNumber = ReplicationVmConfigFaultReasonForFault("staleGenerationNumber") - ReplicationVmConfigFaultReasonForFaultReconfigureVmReplicationIdNotAllowed = ReplicationVmConfigFaultReasonForFault("reconfigureVmReplicationIdNotAllowed") - ReplicationVmConfigFaultReasonForFaultCannotRetrieveVmReplicationConfiguration = ReplicationVmConfigFaultReasonForFault("cannotRetrieveVmReplicationConfiguration") - ReplicationVmConfigFaultReasonForFaultReplicationAlreadyEnabled = ReplicationVmConfigFaultReasonForFault("replicationAlreadyEnabled") - ReplicationVmConfigFaultReasonForFaultInvalidPriorConfiguration = ReplicationVmConfigFaultReasonForFault("invalidPriorConfiguration") - ReplicationVmConfigFaultReasonForFaultReplicationNotEnabled = ReplicationVmConfigFaultReasonForFault("replicationNotEnabled") - ReplicationVmConfigFaultReasonForFaultReplicationConfigurationFailed = ReplicationVmConfigFaultReasonForFault("replicationConfigurationFailed") - ReplicationVmConfigFaultReasonForFaultEncryptedVm = ReplicationVmConfigFaultReasonForFault("encryptedVm") - ReplicationVmConfigFaultReasonForFaultInvalidThumbprint = ReplicationVmConfigFaultReasonForFault("invalidThumbprint") - ReplicationVmConfigFaultReasonForFaultIncompatibleDevice = ReplicationVmConfigFaultReasonForFault("incompatibleDevice") -) - -func init() { - t["ReplicationVmConfigFaultReasonForFault"] = reflect.TypeOf((*ReplicationVmConfigFaultReasonForFault)(nil)).Elem() -} - -type ReplicationVmFaultReasonForFault string - -const ( - ReplicationVmFaultReasonForFaultNotConfigured = ReplicationVmFaultReasonForFault("notConfigured") - ReplicationVmFaultReasonForFaultPoweredOff = ReplicationVmFaultReasonForFault("poweredOff") - ReplicationVmFaultReasonForFaultSuspended = ReplicationVmFaultReasonForFault("suspended") - ReplicationVmFaultReasonForFaultPoweredOn = ReplicationVmFaultReasonForFault("poweredOn") - ReplicationVmFaultReasonForFaultOfflineReplicating = ReplicationVmFaultReasonForFault("offlineReplicating") - ReplicationVmFaultReasonForFaultInvalidState = ReplicationVmFaultReasonForFault("invalidState") - ReplicationVmFaultReasonForFaultInvalidInstanceId = ReplicationVmFaultReasonForFault("invalidInstanceId") - ReplicationVmFaultReasonForFaultCloseDiskError = ReplicationVmFaultReasonForFault("closeDiskError") - ReplicationVmFaultReasonForFaultGroupExist = ReplicationVmFaultReasonForFault("groupExist") -) - -func init() { - t["ReplicationVmFaultReasonForFault"] = reflect.TypeOf((*ReplicationVmFaultReasonForFault)(nil)).Elem() -} - -type ReplicationVmInProgressFaultActivity string - -const ( - ReplicationVmInProgressFaultActivityFullSync = ReplicationVmInProgressFaultActivity("fullSync") - ReplicationVmInProgressFaultActivityDelta = ReplicationVmInProgressFaultActivity("delta") -) - -func init() { - t["ReplicationVmInProgressFaultActivity"] = reflect.TypeOf((*ReplicationVmInProgressFaultActivity)(nil)).Elem() -} - -type ReplicationVmState string - -const ( - ReplicationVmStateNone = ReplicationVmState("none") - ReplicationVmStatePaused = ReplicationVmState("paused") - ReplicationVmStateSyncing = ReplicationVmState("syncing") - ReplicationVmStateIdle = ReplicationVmState("idle") - ReplicationVmStateActive = ReplicationVmState("active") - ReplicationVmStateError = ReplicationVmState("error") -) - -func init() { - t["ReplicationVmState"] = reflect.TypeOf((*ReplicationVmState)(nil)).Elem() -} - -type ResourceConfigSpecScaleSharesBehavior string - -const ( - ResourceConfigSpecScaleSharesBehaviorDisabled = ResourceConfigSpecScaleSharesBehavior("disabled") - ResourceConfigSpecScaleSharesBehaviorScaleCpuAndMemoryShares = ResourceConfigSpecScaleSharesBehavior("scaleCpuAndMemoryShares") -) - -func init() { - t["ResourceConfigSpecScaleSharesBehavior"] = reflect.TypeOf((*ResourceConfigSpecScaleSharesBehavior)(nil)).Elem() -} - -type ScheduledHardwareUpgradeInfoHardwareUpgradePolicy string - -const ( - ScheduledHardwareUpgradeInfoHardwareUpgradePolicyNever = ScheduledHardwareUpgradeInfoHardwareUpgradePolicy("never") - ScheduledHardwareUpgradeInfoHardwareUpgradePolicyOnSoftPowerOff = ScheduledHardwareUpgradeInfoHardwareUpgradePolicy("onSoftPowerOff") - ScheduledHardwareUpgradeInfoHardwareUpgradePolicyAlways = ScheduledHardwareUpgradeInfoHardwareUpgradePolicy("always") -) - -func init() { - t["ScheduledHardwareUpgradeInfoHardwareUpgradePolicy"] = reflect.TypeOf((*ScheduledHardwareUpgradeInfoHardwareUpgradePolicy)(nil)).Elem() -} - -type ScheduledHardwareUpgradeInfoHardwareUpgradeStatus string - -const ( - ScheduledHardwareUpgradeInfoHardwareUpgradeStatusNone = ScheduledHardwareUpgradeInfoHardwareUpgradeStatus("none") - ScheduledHardwareUpgradeInfoHardwareUpgradeStatusPending = ScheduledHardwareUpgradeInfoHardwareUpgradeStatus("pending") - ScheduledHardwareUpgradeInfoHardwareUpgradeStatusSuccess = ScheduledHardwareUpgradeInfoHardwareUpgradeStatus("success") - ScheduledHardwareUpgradeInfoHardwareUpgradeStatusFailed = ScheduledHardwareUpgradeInfoHardwareUpgradeStatus("failed") -) - -func init() { - t["ScheduledHardwareUpgradeInfoHardwareUpgradeStatus"] = reflect.TypeOf((*ScheduledHardwareUpgradeInfoHardwareUpgradeStatus)(nil)).Elem() -} - -type ScsiDiskType string - -const ( - ScsiDiskTypeNative512 = ScsiDiskType("native512") - ScsiDiskTypeEmulated512 = ScsiDiskType("emulated512") - ScsiDiskTypeNative4k = ScsiDiskType("native4k") - ScsiDiskTypeSoftwareEmulated4k = ScsiDiskType("SoftwareEmulated4k") - ScsiDiskTypeUnknown = ScsiDiskType("unknown") -) - -func init() { - t["ScsiDiskType"] = reflect.TypeOf((*ScsiDiskType)(nil)).Elem() -} - -type ScsiLunDescriptorQuality string - -const ( - ScsiLunDescriptorQualityHighQuality = ScsiLunDescriptorQuality("highQuality") - ScsiLunDescriptorQualityMediumQuality = ScsiLunDescriptorQuality("mediumQuality") - ScsiLunDescriptorQualityLowQuality = ScsiLunDescriptorQuality("lowQuality") - ScsiLunDescriptorQualityUnknownQuality = ScsiLunDescriptorQuality("unknownQuality") -) - -func init() { - t["ScsiLunDescriptorQuality"] = reflect.TypeOf((*ScsiLunDescriptorQuality)(nil)).Elem() -} - -type ScsiLunState string - -const ( - ScsiLunStateUnknownState = ScsiLunState("unknownState") - ScsiLunStateOk = ScsiLunState("ok") - ScsiLunStateError = ScsiLunState("error") - ScsiLunStateOff = ScsiLunState("off") - ScsiLunStateQuiesced = ScsiLunState("quiesced") - ScsiLunStateDegraded = ScsiLunState("degraded") - ScsiLunStateLostCommunication = ScsiLunState("lostCommunication") - ScsiLunStateTimeout = ScsiLunState("timeout") -) - -func init() { - t["ScsiLunState"] = reflect.TypeOf((*ScsiLunState)(nil)).Elem() -} - -type ScsiLunType string - -const ( - ScsiLunTypeDisk = ScsiLunType("disk") - ScsiLunTypeTape = ScsiLunType("tape") - ScsiLunTypePrinter = ScsiLunType("printer") - ScsiLunTypeProcessor = ScsiLunType("processor") - ScsiLunTypeWorm = ScsiLunType("worm") - ScsiLunTypeCdrom = ScsiLunType("cdrom") - ScsiLunTypeScanner = ScsiLunType("scanner") - ScsiLunTypeOpticalDevice = ScsiLunType("opticalDevice") - ScsiLunTypeMediaChanger = ScsiLunType("mediaChanger") - ScsiLunTypeCommunications = ScsiLunType("communications") - ScsiLunTypeStorageArrayController = ScsiLunType("storageArrayController") - ScsiLunTypeEnclosure = ScsiLunType("enclosure") - ScsiLunTypeUnknown = ScsiLunType("unknown") -) - -func init() { - t["ScsiLunType"] = reflect.TypeOf((*ScsiLunType)(nil)).Elem() -} - -type ScsiLunVStorageSupportStatus string - -const ( - ScsiLunVStorageSupportStatusVStorageSupported = ScsiLunVStorageSupportStatus("vStorageSupported") - ScsiLunVStorageSupportStatusVStorageUnsupported = ScsiLunVStorageSupportStatus("vStorageUnsupported") - ScsiLunVStorageSupportStatusVStorageUnknown = ScsiLunVStorageSupportStatus("vStorageUnknown") -) - -func init() { - t["ScsiLunVStorageSupportStatus"] = reflect.TypeOf((*ScsiLunVStorageSupportStatus)(nil)).Elem() -} - -type SessionManagerGenericServiceTicketTicketType string - -const ( - SessionManagerGenericServiceTicketTicketTypeHttpNfcServiceTicket = SessionManagerGenericServiceTicketTicketType("HttpNfcServiceTicket") - SessionManagerGenericServiceTicketTicketTypeHostServiceTicket = SessionManagerGenericServiceTicketTicketType("HostServiceTicket") - SessionManagerGenericServiceTicketTicketTypeVcServiceTicket = SessionManagerGenericServiceTicketTicketType("VcServiceTicket") -) - -func init() { - t["SessionManagerGenericServiceTicketTicketType"] = reflect.TypeOf((*SessionManagerGenericServiceTicketTicketType)(nil)).Elem() -} - -type SessionManagerHttpServiceRequestSpecMethod string - -const ( - SessionManagerHttpServiceRequestSpecMethodHttpOptions = SessionManagerHttpServiceRequestSpecMethod("httpOptions") - SessionManagerHttpServiceRequestSpecMethodHttpGet = SessionManagerHttpServiceRequestSpecMethod("httpGet") - SessionManagerHttpServiceRequestSpecMethodHttpHead = SessionManagerHttpServiceRequestSpecMethod("httpHead") - SessionManagerHttpServiceRequestSpecMethodHttpPost = SessionManagerHttpServiceRequestSpecMethod("httpPost") - SessionManagerHttpServiceRequestSpecMethodHttpPut = SessionManagerHttpServiceRequestSpecMethod("httpPut") - SessionManagerHttpServiceRequestSpecMethodHttpDelete = SessionManagerHttpServiceRequestSpecMethod("httpDelete") - SessionManagerHttpServiceRequestSpecMethodHttpTrace = SessionManagerHttpServiceRequestSpecMethod("httpTrace") - SessionManagerHttpServiceRequestSpecMethodHttpConnect = SessionManagerHttpServiceRequestSpecMethod("httpConnect") -) - -func init() { - t["SessionManagerHttpServiceRequestSpecMethod"] = reflect.TypeOf((*SessionManagerHttpServiceRequestSpecMethod)(nil)).Elem() -} - -type SharesLevel string - -const ( - SharesLevelLow = SharesLevel("low") - SharesLevelNormal = SharesLevel("normal") - SharesLevelHigh = SharesLevel("high") - SharesLevelCustom = SharesLevel("custom") -) - -func init() { - t["SharesLevel"] = reflect.TypeOf((*SharesLevel)(nil)).Elem() -} - -type SimpleCommandEncoding string - -const ( - SimpleCommandEncodingCSV = SimpleCommandEncoding("CSV") - SimpleCommandEncodingHEX = SimpleCommandEncoding("HEX") - SimpleCommandEncodingSTRING = SimpleCommandEncoding("STRING") -) - -func init() { - t["SimpleCommandEncoding"] = reflect.TypeOf((*SimpleCommandEncoding)(nil)).Elem() -} - -type SlpDiscoveryMethod string - -const ( - SlpDiscoveryMethodSlpDhcp = SlpDiscoveryMethod("slpDhcp") - SlpDiscoveryMethodSlpAutoUnicast = SlpDiscoveryMethod("slpAutoUnicast") - SlpDiscoveryMethodSlpAutoMulticast = SlpDiscoveryMethod("slpAutoMulticast") - SlpDiscoveryMethodSlpManual = SlpDiscoveryMethod("slpManual") -) - -func init() { - t["SlpDiscoveryMethod"] = reflect.TypeOf((*SlpDiscoveryMethod)(nil)).Elem() -} - -type SoftwarePackageConstraint string - -const ( - SoftwarePackageConstraintEquals = SoftwarePackageConstraint("equals") - SoftwarePackageConstraintLessThan = SoftwarePackageConstraint("lessThan") - SoftwarePackageConstraintLessThanEqual = SoftwarePackageConstraint("lessThanEqual") - SoftwarePackageConstraintGreaterThanEqual = SoftwarePackageConstraint("greaterThanEqual") - SoftwarePackageConstraintGreaterThan = SoftwarePackageConstraint("greaterThan") -) - -func init() { - t["SoftwarePackageConstraint"] = reflect.TypeOf((*SoftwarePackageConstraint)(nil)).Elem() -} - -type SoftwarePackageVibType string - -const ( - SoftwarePackageVibTypeBootbank = SoftwarePackageVibType("bootbank") - SoftwarePackageVibTypeTools = SoftwarePackageVibType("tools") - SoftwarePackageVibTypeMeta = SoftwarePackageVibType("meta") -) - -func init() { - t["SoftwarePackageVibType"] = reflect.TypeOf((*SoftwarePackageVibType)(nil)).Elem() -} - -type StateAlarmOperator string - -const ( - StateAlarmOperatorIsEqual = StateAlarmOperator("isEqual") - StateAlarmOperatorIsUnequal = StateAlarmOperator("isUnequal") -) - -func init() { - t["StateAlarmOperator"] = reflect.TypeOf((*StateAlarmOperator)(nil)).Elem() -} - -type StorageDrsPodConfigInfoBehavior string - -const ( - StorageDrsPodConfigInfoBehaviorManual = StorageDrsPodConfigInfoBehavior("manual") - StorageDrsPodConfigInfoBehaviorAutomated = StorageDrsPodConfigInfoBehavior("automated") -) - -func init() { - t["StorageDrsPodConfigInfoBehavior"] = reflect.TypeOf((*StorageDrsPodConfigInfoBehavior)(nil)).Elem() -} - -type StorageDrsSpaceLoadBalanceConfigSpaceThresholdMode string - -const ( - StorageDrsSpaceLoadBalanceConfigSpaceThresholdModeUtilization = StorageDrsSpaceLoadBalanceConfigSpaceThresholdMode("utilization") - StorageDrsSpaceLoadBalanceConfigSpaceThresholdModeFreeSpace = StorageDrsSpaceLoadBalanceConfigSpaceThresholdMode("freeSpace") -) - -func init() { - t["StorageDrsSpaceLoadBalanceConfigSpaceThresholdMode"] = reflect.TypeOf((*StorageDrsSpaceLoadBalanceConfigSpaceThresholdMode)(nil)).Elem() -} - -type StorageIORMThresholdMode string - -const ( - StorageIORMThresholdModeAutomatic = StorageIORMThresholdMode("automatic") - StorageIORMThresholdModeManual = StorageIORMThresholdMode("manual") -) - -func init() { - t["StorageIORMThresholdMode"] = reflect.TypeOf((*StorageIORMThresholdMode)(nil)).Elem() -} - -type StoragePlacementSpecPlacementType string - -const ( - StoragePlacementSpecPlacementTypeCreate = StoragePlacementSpecPlacementType("create") - StoragePlacementSpecPlacementTypeReconfigure = StoragePlacementSpecPlacementType("reconfigure") - StoragePlacementSpecPlacementTypeRelocate = StoragePlacementSpecPlacementType("relocate") - StoragePlacementSpecPlacementTypeClone = StoragePlacementSpecPlacementType("clone") -) - -func init() { - t["StoragePlacementSpecPlacementType"] = reflect.TypeOf((*StoragePlacementSpecPlacementType)(nil)).Elem() -} - -type TaskFilterSpecRecursionOption string - -const ( - TaskFilterSpecRecursionOptionSelf = TaskFilterSpecRecursionOption("self") - TaskFilterSpecRecursionOptionChildren = TaskFilterSpecRecursionOption("children") - TaskFilterSpecRecursionOptionAll = TaskFilterSpecRecursionOption("all") -) - -func init() { - t["TaskFilterSpecRecursionOption"] = reflect.TypeOf((*TaskFilterSpecRecursionOption)(nil)).Elem() -} - -type TaskFilterSpecTimeOption string - -const ( - TaskFilterSpecTimeOptionQueuedTime = TaskFilterSpecTimeOption("queuedTime") - TaskFilterSpecTimeOptionStartedTime = TaskFilterSpecTimeOption("startedTime") - TaskFilterSpecTimeOptionCompletedTime = TaskFilterSpecTimeOption("completedTime") -) - -func init() { - t["TaskFilterSpecTimeOption"] = reflect.TypeOf((*TaskFilterSpecTimeOption)(nil)).Elem() -} - -type TaskInfoState string - -const ( - TaskInfoStateQueued = TaskInfoState("queued") - TaskInfoStateRunning = TaskInfoState("running") - TaskInfoStateSuccess = TaskInfoState("success") - TaskInfoStateError = TaskInfoState("error") -) - -func init() { - t["TaskInfoState"] = reflect.TypeOf((*TaskInfoState)(nil)).Elem() -} - -type ThirdPartyLicenseAssignmentFailedReason string - -const ( - ThirdPartyLicenseAssignmentFailedReasonLicenseAssignmentFailed = ThirdPartyLicenseAssignmentFailedReason("licenseAssignmentFailed") - ThirdPartyLicenseAssignmentFailedReasonModuleNotInstalled = ThirdPartyLicenseAssignmentFailedReason("moduleNotInstalled") -) - -func init() { - t["ThirdPartyLicenseAssignmentFailedReason"] = reflect.TypeOf((*ThirdPartyLicenseAssignmentFailedReason)(nil)).Elem() -} - -type UpgradePolicy string - -const ( - UpgradePolicyManual = UpgradePolicy("manual") - UpgradePolicyUpgradeAtPowerCycle = UpgradePolicy("upgradeAtPowerCycle") -) - -func init() { - t["UpgradePolicy"] = reflect.TypeOf((*UpgradePolicy)(nil)).Elem() -} - -type VAppAutoStartAction string - -const ( - VAppAutoStartActionNone = VAppAutoStartAction("none") - VAppAutoStartActionPowerOn = VAppAutoStartAction("powerOn") - VAppAutoStartActionPowerOff = VAppAutoStartAction("powerOff") - VAppAutoStartActionGuestShutdown = VAppAutoStartAction("guestShutdown") - VAppAutoStartActionSuspend = VAppAutoStartAction("suspend") -) - -func init() { - t["VAppAutoStartAction"] = reflect.TypeOf((*VAppAutoStartAction)(nil)).Elem() -} - -type VAppCloneSpecProvisioningType string - -const ( - VAppCloneSpecProvisioningTypeSameAsSource = VAppCloneSpecProvisioningType("sameAsSource") - VAppCloneSpecProvisioningTypeThin = VAppCloneSpecProvisioningType("thin") - VAppCloneSpecProvisioningTypeThick = VAppCloneSpecProvisioningType("thick") -) - -func init() { - t["VAppCloneSpecProvisioningType"] = reflect.TypeOf((*VAppCloneSpecProvisioningType)(nil)).Elem() -} - -type VAppIPAssignmentInfoAllocationSchemes string - -const ( - VAppIPAssignmentInfoAllocationSchemesDhcp = VAppIPAssignmentInfoAllocationSchemes("dhcp") - VAppIPAssignmentInfoAllocationSchemesOvfenv = VAppIPAssignmentInfoAllocationSchemes("ovfenv") -) - -func init() { - t["VAppIPAssignmentInfoAllocationSchemes"] = reflect.TypeOf((*VAppIPAssignmentInfoAllocationSchemes)(nil)).Elem() -} - -type VAppIPAssignmentInfoIpAllocationPolicy string - -const ( - VAppIPAssignmentInfoIpAllocationPolicyDhcpPolicy = VAppIPAssignmentInfoIpAllocationPolicy("dhcpPolicy") - VAppIPAssignmentInfoIpAllocationPolicyTransientPolicy = VAppIPAssignmentInfoIpAllocationPolicy("transientPolicy") - VAppIPAssignmentInfoIpAllocationPolicyFixedPolicy = VAppIPAssignmentInfoIpAllocationPolicy("fixedPolicy") - VAppIPAssignmentInfoIpAllocationPolicyFixedAllocatedPolicy = VAppIPAssignmentInfoIpAllocationPolicy("fixedAllocatedPolicy") -) - -func init() { - t["VAppIPAssignmentInfoIpAllocationPolicy"] = reflect.TypeOf((*VAppIPAssignmentInfoIpAllocationPolicy)(nil)).Elem() -} - -type VAppIPAssignmentInfoProtocols string - -const ( - VAppIPAssignmentInfoProtocolsIPv4 = VAppIPAssignmentInfoProtocols("IPv4") - VAppIPAssignmentInfoProtocolsIPv6 = VAppIPAssignmentInfoProtocols("IPv6") -) - -func init() { - t["VAppIPAssignmentInfoProtocols"] = reflect.TypeOf((*VAppIPAssignmentInfoProtocols)(nil)).Elem() -} - -type VFlashModuleNotSupportedReason string - -const ( - VFlashModuleNotSupportedReasonCacheModeNotSupported = VFlashModuleNotSupportedReason("CacheModeNotSupported") - VFlashModuleNotSupportedReasonCacheConsistencyTypeNotSupported = VFlashModuleNotSupportedReason("CacheConsistencyTypeNotSupported") - VFlashModuleNotSupportedReasonCacheBlockSizeNotSupported = VFlashModuleNotSupportedReason("CacheBlockSizeNotSupported") - VFlashModuleNotSupportedReasonCacheReservationNotSupported = VFlashModuleNotSupportedReason("CacheReservationNotSupported") - VFlashModuleNotSupportedReasonDiskSizeNotSupported = VFlashModuleNotSupportedReason("DiskSizeNotSupported") -) - -func init() { - t["VFlashModuleNotSupportedReason"] = reflect.TypeOf((*VFlashModuleNotSupportedReason)(nil)).Elem() -} - -type VMotionCompatibilityType string - -const ( - VMotionCompatibilityTypeCpu = VMotionCompatibilityType("cpu") - VMotionCompatibilityTypeSoftware = VMotionCompatibilityType("software") -) - -func init() { - t["VMotionCompatibilityType"] = reflect.TypeOf((*VMotionCompatibilityType)(nil)).Elem() -} - -type VMwareDVSTeamingMatchStatus string - -const ( - VMwareDVSTeamingMatchStatusIphashMatch = VMwareDVSTeamingMatchStatus("iphashMatch") - VMwareDVSTeamingMatchStatusNonIphashMatch = VMwareDVSTeamingMatchStatus("nonIphashMatch") - VMwareDVSTeamingMatchStatusIphashMismatch = VMwareDVSTeamingMatchStatus("iphashMismatch") - VMwareDVSTeamingMatchStatusNonIphashMismatch = VMwareDVSTeamingMatchStatus("nonIphashMismatch") -) - -func init() { - t["VMwareDVSTeamingMatchStatus"] = reflect.TypeOf((*VMwareDVSTeamingMatchStatus)(nil)).Elem() -} - -type VMwareDVSVspanSessionEncapType string - -const ( - VMwareDVSVspanSessionEncapTypeGre = VMwareDVSVspanSessionEncapType("gre") - VMwareDVSVspanSessionEncapTypeErspan2 = VMwareDVSVspanSessionEncapType("erspan2") - VMwareDVSVspanSessionEncapTypeErspan3 = VMwareDVSVspanSessionEncapType("erspan3") -) - -func init() { - t["VMwareDVSVspanSessionEncapType"] = reflect.TypeOf((*VMwareDVSVspanSessionEncapType)(nil)).Elem() -} - -type VMwareDVSVspanSessionType string - -const ( - VMwareDVSVspanSessionTypeMixedDestMirror = VMwareDVSVspanSessionType("mixedDestMirror") - VMwareDVSVspanSessionTypeDvPortMirror = VMwareDVSVspanSessionType("dvPortMirror") - VMwareDVSVspanSessionTypeRemoteMirrorSource = VMwareDVSVspanSessionType("remoteMirrorSource") - VMwareDVSVspanSessionTypeRemoteMirrorDest = VMwareDVSVspanSessionType("remoteMirrorDest") - VMwareDVSVspanSessionTypeEncapsulatedRemoteMirrorSource = VMwareDVSVspanSessionType("encapsulatedRemoteMirrorSource") -) - -func init() { - t["VMwareDVSVspanSessionType"] = reflect.TypeOf((*VMwareDVSVspanSessionType)(nil)).Elem() -} - -type VMwareDvsLacpApiVersion string - -const ( - VMwareDvsLacpApiVersionSingleLag = VMwareDvsLacpApiVersion("singleLag") - VMwareDvsLacpApiVersionMultipleLag = VMwareDvsLacpApiVersion("multipleLag") -) - -func init() { - t["VMwareDvsLacpApiVersion"] = reflect.TypeOf((*VMwareDvsLacpApiVersion)(nil)).Elem() -} - -type VMwareDvsLacpLoadBalanceAlgorithm string - -const ( - VMwareDvsLacpLoadBalanceAlgorithmSrcMac = VMwareDvsLacpLoadBalanceAlgorithm("srcMac") - VMwareDvsLacpLoadBalanceAlgorithmDestMac = VMwareDvsLacpLoadBalanceAlgorithm("destMac") - VMwareDvsLacpLoadBalanceAlgorithmSrcDestMac = VMwareDvsLacpLoadBalanceAlgorithm("srcDestMac") - VMwareDvsLacpLoadBalanceAlgorithmDestIpVlan = VMwareDvsLacpLoadBalanceAlgorithm("destIpVlan") - VMwareDvsLacpLoadBalanceAlgorithmSrcIpVlan = VMwareDvsLacpLoadBalanceAlgorithm("srcIpVlan") - VMwareDvsLacpLoadBalanceAlgorithmSrcDestIpVlan = VMwareDvsLacpLoadBalanceAlgorithm("srcDestIpVlan") - VMwareDvsLacpLoadBalanceAlgorithmDestTcpUdpPort = VMwareDvsLacpLoadBalanceAlgorithm("destTcpUdpPort") - VMwareDvsLacpLoadBalanceAlgorithmSrcTcpUdpPort = VMwareDvsLacpLoadBalanceAlgorithm("srcTcpUdpPort") - VMwareDvsLacpLoadBalanceAlgorithmSrcDestTcpUdpPort = VMwareDvsLacpLoadBalanceAlgorithm("srcDestTcpUdpPort") - VMwareDvsLacpLoadBalanceAlgorithmDestIpTcpUdpPort = VMwareDvsLacpLoadBalanceAlgorithm("destIpTcpUdpPort") - VMwareDvsLacpLoadBalanceAlgorithmSrcIpTcpUdpPort = VMwareDvsLacpLoadBalanceAlgorithm("srcIpTcpUdpPort") - VMwareDvsLacpLoadBalanceAlgorithmSrcDestIpTcpUdpPort = VMwareDvsLacpLoadBalanceAlgorithm("srcDestIpTcpUdpPort") - VMwareDvsLacpLoadBalanceAlgorithmDestIpTcpUdpPortVlan = VMwareDvsLacpLoadBalanceAlgorithm("destIpTcpUdpPortVlan") - VMwareDvsLacpLoadBalanceAlgorithmSrcIpTcpUdpPortVlan = VMwareDvsLacpLoadBalanceAlgorithm("srcIpTcpUdpPortVlan") - VMwareDvsLacpLoadBalanceAlgorithmSrcDestIpTcpUdpPortVlan = VMwareDvsLacpLoadBalanceAlgorithm("srcDestIpTcpUdpPortVlan") - VMwareDvsLacpLoadBalanceAlgorithmDestIp = VMwareDvsLacpLoadBalanceAlgorithm("destIp") - VMwareDvsLacpLoadBalanceAlgorithmSrcIp = VMwareDvsLacpLoadBalanceAlgorithm("srcIp") - VMwareDvsLacpLoadBalanceAlgorithmSrcDestIp = VMwareDvsLacpLoadBalanceAlgorithm("srcDestIp") - VMwareDvsLacpLoadBalanceAlgorithmVlan = VMwareDvsLacpLoadBalanceAlgorithm("vlan") - VMwareDvsLacpLoadBalanceAlgorithmSrcPortId = VMwareDvsLacpLoadBalanceAlgorithm("srcPortId") -) - -func init() { - t["VMwareDvsLacpLoadBalanceAlgorithm"] = reflect.TypeOf((*VMwareDvsLacpLoadBalanceAlgorithm)(nil)).Elem() -} - -type VMwareDvsMulticastFilteringMode string - -const ( - VMwareDvsMulticastFilteringModeLegacyFiltering = VMwareDvsMulticastFilteringMode("legacyFiltering") - VMwareDvsMulticastFilteringModeSnooping = VMwareDvsMulticastFilteringMode("snooping") -) - -func init() { - t["VMwareDvsMulticastFilteringMode"] = reflect.TypeOf((*VMwareDvsMulticastFilteringMode)(nil)).Elem() -} - -type VMwareUplinkLacpMode string - -const ( - VMwareUplinkLacpModeActive = VMwareUplinkLacpMode("active") - VMwareUplinkLacpModePassive = VMwareUplinkLacpMode("passive") -) - -func init() { - t["VMwareUplinkLacpMode"] = reflect.TypeOf((*VMwareUplinkLacpMode)(nil)).Elem() -} - -type VMwareUplinkLacpTimeoutMode string - -const ( - VMwareUplinkLacpTimeoutModeFast = VMwareUplinkLacpTimeoutMode("fast") - VMwareUplinkLacpTimeoutModeSlow = VMwareUplinkLacpTimeoutMode("slow") -) - -func init() { - t["VMwareUplinkLacpTimeoutMode"] = reflect.TypeOf((*VMwareUplinkLacpTimeoutMode)(nil)).Elem() -} - -type VStorageObjectConsumptionType string - -const ( - VStorageObjectConsumptionTypeDisk = VStorageObjectConsumptionType("disk") -) - -func init() { - t["VStorageObjectConsumptionType"] = reflect.TypeOf((*VStorageObjectConsumptionType)(nil)).Elem() -} - -type ValidateMigrationTestType string - -const ( - ValidateMigrationTestTypeSourceTests = ValidateMigrationTestType("sourceTests") - ValidateMigrationTestTypeCompatibilityTests = ValidateMigrationTestType("compatibilityTests") - ValidateMigrationTestTypeDiskAccessibilityTests = ValidateMigrationTestType("diskAccessibilityTests") - ValidateMigrationTestTypeResourceTests = ValidateMigrationTestType("resourceTests") -) - -func init() { - t["ValidateMigrationTestType"] = reflect.TypeOf((*ValidateMigrationTestType)(nil)).Elem() -} - -type VchaClusterMode string - -const ( - VchaClusterModeEnabled = VchaClusterMode("enabled") - VchaClusterModeDisabled = VchaClusterMode("disabled") - VchaClusterModeMaintenance = VchaClusterMode("maintenance") -) - -func init() { - t["VchaClusterMode"] = reflect.TypeOf((*VchaClusterMode)(nil)).Elem() -} - -type VchaClusterState string - -const ( - VchaClusterStateHealthy = VchaClusterState("healthy") - VchaClusterStateDegraded = VchaClusterState("degraded") - VchaClusterStateIsolated = VchaClusterState("isolated") -) - -func init() { - t["VchaClusterState"] = reflect.TypeOf((*VchaClusterState)(nil)).Elem() -} - -type VchaNodeRole string - -const ( - VchaNodeRoleActive = VchaNodeRole("active") - VchaNodeRolePassive = VchaNodeRole("passive") - VchaNodeRoleWitness = VchaNodeRole("witness") -) - -func init() { - t["VchaNodeRole"] = reflect.TypeOf((*VchaNodeRole)(nil)).Elem() -} - -type VchaNodeState string - -const ( - VchaNodeStateUp = VchaNodeState("up") - VchaNodeStateDown = VchaNodeState("down") -) - -func init() { - t["VchaNodeState"] = reflect.TypeOf((*VchaNodeState)(nil)).Elem() -} - -type VchaState string - -const ( - VchaStateConfigured = VchaState("configured") - VchaStateNotConfigured = VchaState("notConfigured") - VchaStateInvalid = VchaState("invalid") - VchaStatePrepared = VchaState("prepared") -) - -func init() { - t["VchaState"] = reflect.TypeOf((*VchaState)(nil)).Elem() -} - -type VirtualAppVAppState string - -const ( - VirtualAppVAppStateStarted = VirtualAppVAppState("started") - VirtualAppVAppStateStopped = VirtualAppVAppState("stopped") - VirtualAppVAppStateStarting = VirtualAppVAppState("starting") - VirtualAppVAppStateStopping = VirtualAppVAppState("stopping") -) - -func init() { - t["VirtualAppVAppState"] = reflect.TypeOf((*VirtualAppVAppState)(nil)).Elem() -} - -type VirtualDeviceConfigSpecChangeMode string - -const ( - VirtualDeviceConfigSpecChangeModeFail = VirtualDeviceConfigSpecChangeMode("fail") - VirtualDeviceConfigSpecChangeModeSkip = VirtualDeviceConfigSpecChangeMode("skip") -) - -func init() { - t["VirtualDeviceConfigSpecChangeMode"] = reflect.TypeOf((*VirtualDeviceConfigSpecChangeMode)(nil)).Elem() -} - -type VirtualDeviceConfigSpecFileOperation string - -const ( - VirtualDeviceConfigSpecFileOperationCreate = VirtualDeviceConfigSpecFileOperation("create") - VirtualDeviceConfigSpecFileOperationDestroy = VirtualDeviceConfigSpecFileOperation("destroy") - VirtualDeviceConfigSpecFileOperationReplace = VirtualDeviceConfigSpecFileOperation("replace") -) - -func init() { - t["VirtualDeviceConfigSpecFileOperation"] = reflect.TypeOf((*VirtualDeviceConfigSpecFileOperation)(nil)).Elem() -} - -type VirtualDeviceConfigSpecOperation string - -const ( - VirtualDeviceConfigSpecOperationAdd = VirtualDeviceConfigSpecOperation("add") - VirtualDeviceConfigSpecOperationRemove = VirtualDeviceConfigSpecOperation("remove") - VirtualDeviceConfigSpecOperationEdit = VirtualDeviceConfigSpecOperation("edit") -) - -func init() { - t["VirtualDeviceConfigSpecOperation"] = reflect.TypeOf((*VirtualDeviceConfigSpecOperation)(nil)).Elem() -} - -type VirtualDeviceConnectInfoMigrateConnectOp string - -const ( - VirtualDeviceConnectInfoMigrateConnectOpConnect = VirtualDeviceConnectInfoMigrateConnectOp("connect") - VirtualDeviceConnectInfoMigrateConnectOpDisconnect = VirtualDeviceConnectInfoMigrateConnectOp("disconnect") - VirtualDeviceConnectInfoMigrateConnectOpUnset = VirtualDeviceConnectInfoMigrateConnectOp("unset") -) - -func init() { - t["VirtualDeviceConnectInfoMigrateConnectOp"] = reflect.TypeOf((*VirtualDeviceConnectInfoMigrateConnectOp)(nil)).Elem() -} - -type VirtualDeviceConnectInfoStatus string - -const ( - VirtualDeviceConnectInfoStatusOk = VirtualDeviceConnectInfoStatus("ok") - VirtualDeviceConnectInfoStatusRecoverableError = VirtualDeviceConnectInfoStatus("recoverableError") - VirtualDeviceConnectInfoStatusUnrecoverableError = VirtualDeviceConnectInfoStatus("unrecoverableError") - VirtualDeviceConnectInfoStatusUntried = VirtualDeviceConnectInfoStatus("untried") -) - -func init() { - t["VirtualDeviceConnectInfoStatus"] = reflect.TypeOf((*VirtualDeviceConnectInfoStatus)(nil)).Elem() -} - -type VirtualDeviceFileExtension string - -const ( - VirtualDeviceFileExtensionIso = VirtualDeviceFileExtension("iso") - VirtualDeviceFileExtensionFlp = VirtualDeviceFileExtension("flp") - VirtualDeviceFileExtensionVmdk = VirtualDeviceFileExtension("vmdk") - VirtualDeviceFileExtensionDsk = VirtualDeviceFileExtension("dsk") - VirtualDeviceFileExtensionRdm = VirtualDeviceFileExtension("rdm") -) - -func init() { - t["VirtualDeviceFileExtension"] = reflect.TypeOf((*VirtualDeviceFileExtension)(nil)).Elem() -} - -type VirtualDeviceURIBackingOptionDirection string - -const ( - VirtualDeviceURIBackingOptionDirectionServer = VirtualDeviceURIBackingOptionDirection("server") - VirtualDeviceURIBackingOptionDirectionClient = VirtualDeviceURIBackingOptionDirection("client") -) - -func init() { - t["VirtualDeviceURIBackingOptionDirection"] = reflect.TypeOf((*VirtualDeviceURIBackingOptionDirection)(nil)).Elem() -} - -type VirtualDiskAdapterType string - -const ( - VirtualDiskAdapterTypeIde = VirtualDiskAdapterType("ide") - VirtualDiskAdapterTypeBusLogic = VirtualDiskAdapterType("busLogic") - VirtualDiskAdapterTypeLsiLogic = VirtualDiskAdapterType("lsiLogic") -) - -func init() { - t["VirtualDiskAdapterType"] = reflect.TypeOf((*VirtualDiskAdapterType)(nil)).Elem() -} - -type VirtualDiskCompatibilityMode string - -const ( - VirtualDiskCompatibilityModeVirtualMode = VirtualDiskCompatibilityMode("virtualMode") - VirtualDiskCompatibilityModePhysicalMode = VirtualDiskCompatibilityMode("physicalMode") -) - -func init() { - t["VirtualDiskCompatibilityMode"] = reflect.TypeOf((*VirtualDiskCompatibilityMode)(nil)).Elem() -} - -type VirtualDiskDeltaDiskFormat string - -const ( - VirtualDiskDeltaDiskFormatRedoLogFormat = VirtualDiskDeltaDiskFormat("redoLogFormat") - VirtualDiskDeltaDiskFormatNativeFormat = VirtualDiskDeltaDiskFormat("nativeFormat") - VirtualDiskDeltaDiskFormatSeSparseFormat = VirtualDiskDeltaDiskFormat("seSparseFormat") -) - -func init() { - t["VirtualDiskDeltaDiskFormat"] = reflect.TypeOf((*VirtualDiskDeltaDiskFormat)(nil)).Elem() -} - -type VirtualDiskDeltaDiskFormatVariant string - -const ( - VirtualDiskDeltaDiskFormatVariantVmfsSparseVariant = VirtualDiskDeltaDiskFormatVariant("vmfsSparseVariant") - VirtualDiskDeltaDiskFormatVariantVsanSparseVariant = VirtualDiskDeltaDiskFormatVariant("vsanSparseVariant") -) - -func init() { - t["VirtualDiskDeltaDiskFormatVariant"] = reflect.TypeOf((*VirtualDiskDeltaDiskFormatVariant)(nil)).Elem() -} - -type VirtualDiskMode string - -const ( - VirtualDiskModePersistent = VirtualDiskMode("persistent") - VirtualDiskModeNonpersistent = VirtualDiskMode("nonpersistent") - VirtualDiskModeUndoable = VirtualDiskMode("undoable") - VirtualDiskModeIndependent_persistent = VirtualDiskMode("independent_persistent") - VirtualDiskModeIndependent_nonpersistent = VirtualDiskMode("independent_nonpersistent") - VirtualDiskModeAppend = VirtualDiskMode("append") -) - -func init() { - t["VirtualDiskMode"] = reflect.TypeOf((*VirtualDiskMode)(nil)).Elem() -} - -type VirtualDiskRuleSpecRuleType string - -const ( - VirtualDiskRuleSpecRuleTypeAffinity = VirtualDiskRuleSpecRuleType("affinity") - VirtualDiskRuleSpecRuleTypeAntiAffinity = VirtualDiskRuleSpecRuleType("antiAffinity") - VirtualDiskRuleSpecRuleTypeDisabled = VirtualDiskRuleSpecRuleType("disabled") -) - -func init() { - t["VirtualDiskRuleSpecRuleType"] = reflect.TypeOf((*VirtualDiskRuleSpecRuleType)(nil)).Elem() -} - -type VirtualDiskSharing string - -const ( - VirtualDiskSharingSharingNone = VirtualDiskSharing("sharingNone") - VirtualDiskSharingSharingMultiWriter = VirtualDiskSharing("sharingMultiWriter") -) - -func init() { - t["VirtualDiskSharing"] = reflect.TypeOf((*VirtualDiskSharing)(nil)).Elem() -} - -type VirtualDiskType string - -const ( - VirtualDiskTypePreallocated = VirtualDiskType("preallocated") - VirtualDiskTypeThin = VirtualDiskType("thin") - VirtualDiskTypeSeSparse = VirtualDiskType("seSparse") - VirtualDiskTypeRdm = VirtualDiskType("rdm") - VirtualDiskTypeRdmp = VirtualDiskType("rdmp") - VirtualDiskTypeRaw = VirtualDiskType("raw") - VirtualDiskTypeDelta = VirtualDiskType("delta") - VirtualDiskTypeSparse2Gb = VirtualDiskType("sparse2Gb") - VirtualDiskTypeThick2Gb = VirtualDiskType("thick2Gb") - VirtualDiskTypeEagerZeroedThick = VirtualDiskType("eagerZeroedThick") - VirtualDiskTypeSparseMonolithic = VirtualDiskType("sparseMonolithic") - VirtualDiskTypeFlatMonolithic = VirtualDiskType("flatMonolithic") - VirtualDiskTypeThick = VirtualDiskType("thick") -) - -func init() { - t["VirtualDiskType"] = reflect.TypeOf((*VirtualDiskType)(nil)).Elem() -} - -type VirtualDiskVFlashCacheConfigInfoCacheConsistencyType string - -const ( - VirtualDiskVFlashCacheConfigInfoCacheConsistencyTypeStrong = VirtualDiskVFlashCacheConfigInfoCacheConsistencyType("strong") - VirtualDiskVFlashCacheConfigInfoCacheConsistencyTypeWeak = VirtualDiskVFlashCacheConfigInfoCacheConsistencyType("weak") -) - -func init() { - t["VirtualDiskVFlashCacheConfigInfoCacheConsistencyType"] = reflect.TypeOf((*VirtualDiskVFlashCacheConfigInfoCacheConsistencyType)(nil)).Elem() -} - -type VirtualDiskVFlashCacheConfigInfoCacheMode string - -const ( - VirtualDiskVFlashCacheConfigInfoCacheModeWrite_thru = VirtualDiskVFlashCacheConfigInfoCacheMode("write_thru") - VirtualDiskVFlashCacheConfigInfoCacheModeWrite_back = VirtualDiskVFlashCacheConfigInfoCacheMode("write_back") -) - -func init() { - t["VirtualDiskVFlashCacheConfigInfoCacheMode"] = reflect.TypeOf((*VirtualDiskVFlashCacheConfigInfoCacheMode)(nil)).Elem() -} - -type VirtualEthernetCardLegacyNetworkDeviceName string - -const ( - VirtualEthernetCardLegacyNetworkDeviceNameBridged = VirtualEthernetCardLegacyNetworkDeviceName("bridged") - VirtualEthernetCardLegacyNetworkDeviceNameNat = VirtualEthernetCardLegacyNetworkDeviceName("nat") - VirtualEthernetCardLegacyNetworkDeviceNameHostonly = VirtualEthernetCardLegacyNetworkDeviceName("hostonly") -) - -func init() { - t["VirtualEthernetCardLegacyNetworkDeviceName"] = reflect.TypeOf((*VirtualEthernetCardLegacyNetworkDeviceName)(nil)).Elem() -} - -type VirtualEthernetCardMacType string - -const ( - VirtualEthernetCardMacTypeManual = VirtualEthernetCardMacType("manual") - VirtualEthernetCardMacTypeGenerated = VirtualEthernetCardMacType("generated") - VirtualEthernetCardMacTypeAssigned = VirtualEthernetCardMacType("assigned") -) - -func init() { - t["VirtualEthernetCardMacType"] = reflect.TypeOf((*VirtualEthernetCardMacType)(nil)).Elem() -} - -type VirtualHardwareMotherboardLayout string - -const ( - VirtualHardwareMotherboardLayoutI440bxHostBridge = VirtualHardwareMotherboardLayout("i440bxHostBridge") - VirtualHardwareMotherboardLayoutAcpiHostBridges = VirtualHardwareMotherboardLayout("acpiHostBridges") -) - -func init() { - t["VirtualHardwareMotherboardLayout"] = reflect.TypeOf((*VirtualHardwareMotherboardLayout)(nil)).Elem() -} - -type VirtualMachineAppHeartbeatStatusType string - -const ( - VirtualMachineAppHeartbeatStatusTypeAppStatusGray = VirtualMachineAppHeartbeatStatusType("appStatusGray") - VirtualMachineAppHeartbeatStatusTypeAppStatusGreen = VirtualMachineAppHeartbeatStatusType("appStatusGreen") - VirtualMachineAppHeartbeatStatusTypeAppStatusRed = VirtualMachineAppHeartbeatStatusType("appStatusRed") -) - -func init() { - t["VirtualMachineAppHeartbeatStatusType"] = reflect.TypeOf((*VirtualMachineAppHeartbeatStatusType)(nil)).Elem() -} - -type VirtualMachineBootOptionsNetworkBootProtocolType string - -const ( - VirtualMachineBootOptionsNetworkBootProtocolTypeIpv4 = VirtualMachineBootOptionsNetworkBootProtocolType("ipv4") - VirtualMachineBootOptionsNetworkBootProtocolTypeIpv6 = VirtualMachineBootOptionsNetworkBootProtocolType("ipv6") -) - -func init() { - t["VirtualMachineBootOptionsNetworkBootProtocolType"] = reflect.TypeOf((*VirtualMachineBootOptionsNetworkBootProtocolType)(nil)).Elem() -} - -type VirtualMachineCertThumbprintHashAlgorithm string - -const ( - VirtualMachineCertThumbprintHashAlgorithmSha256 = VirtualMachineCertThumbprintHashAlgorithm("sha256") -) - -func init() { - t["VirtualMachineCertThumbprintHashAlgorithm"] = reflect.TypeOf((*VirtualMachineCertThumbprintHashAlgorithm)(nil)).Elem() -} - -type VirtualMachineCloneSpecTpmProvisionPolicy string - -const ( - VirtualMachineCloneSpecTpmProvisionPolicyCopy = VirtualMachineCloneSpecTpmProvisionPolicy("copy") - VirtualMachineCloneSpecTpmProvisionPolicyReplace = VirtualMachineCloneSpecTpmProvisionPolicy("replace") -) - -func init() { - t["VirtualMachineCloneSpecTpmProvisionPolicy"] = reflect.TypeOf((*VirtualMachineCloneSpecTpmProvisionPolicy)(nil)).Elem() -} - -type VirtualMachineConfigInfoNpivWwnType string - -const ( - VirtualMachineConfigInfoNpivWwnTypeVc = VirtualMachineConfigInfoNpivWwnType("vc") - VirtualMachineConfigInfoNpivWwnTypeHost = VirtualMachineConfigInfoNpivWwnType("host") - VirtualMachineConfigInfoNpivWwnTypeExternal = VirtualMachineConfigInfoNpivWwnType("external") -) - -func init() { - t["VirtualMachineConfigInfoNpivWwnType"] = reflect.TypeOf((*VirtualMachineConfigInfoNpivWwnType)(nil)).Elem() -} - -type VirtualMachineConfigInfoSwapPlacementType string - -const ( - VirtualMachineConfigInfoSwapPlacementTypeInherit = VirtualMachineConfigInfoSwapPlacementType("inherit") - VirtualMachineConfigInfoSwapPlacementTypeVmDirectory = VirtualMachineConfigInfoSwapPlacementType("vmDirectory") - VirtualMachineConfigInfoSwapPlacementTypeHostLocal = VirtualMachineConfigInfoSwapPlacementType("hostLocal") -) - -func init() { - t["VirtualMachineConfigInfoSwapPlacementType"] = reflect.TypeOf((*VirtualMachineConfigInfoSwapPlacementType)(nil)).Elem() -} - -type VirtualMachineConfigSpecEncryptedFtModes string - -const ( - VirtualMachineConfigSpecEncryptedFtModesFtEncryptionDisabled = VirtualMachineConfigSpecEncryptedFtModes("ftEncryptionDisabled") - VirtualMachineConfigSpecEncryptedFtModesFtEncryptionOpportunistic = VirtualMachineConfigSpecEncryptedFtModes("ftEncryptionOpportunistic") - VirtualMachineConfigSpecEncryptedFtModesFtEncryptionRequired = VirtualMachineConfigSpecEncryptedFtModes("ftEncryptionRequired") -) - -func init() { - t["VirtualMachineConfigSpecEncryptedFtModes"] = reflect.TypeOf((*VirtualMachineConfigSpecEncryptedFtModes)(nil)).Elem() -} - -type VirtualMachineConfigSpecEncryptedVMotionModes string - -const ( - VirtualMachineConfigSpecEncryptedVMotionModesDisabled = VirtualMachineConfigSpecEncryptedVMotionModes("disabled") - VirtualMachineConfigSpecEncryptedVMotionModesOpportunistic = VirtualMachineConfigSpecEncryptedVMotionModes("opportunistic") - VirtualMachineConfigSpecEncryptedVMotionModesRequired = VirtualMachineConfigSpecEncryptedVMotionModes("required") -) - -func init() { - t["VirtualMachineConfigSpecEncryptedVMotionModes"] = reflect.TypeOf((*VirtualMachineConfigSpecEncryptedVMotionModes)(nil)).Elem() -} - -type VirtualMachineConfigSpecNpivWwnOp string - -const ( - VirtualMachineConfigSpecNpivWwnOpGenerate = VirtualMachineConfigSpecNpivWwnOp("generate") - VirtualMachineConfigSpecNpivWwnOpSet = VirtualMachineConfigSpecNpivWwnOp("set") - VirtualMachineConfigSpecNpivWwnOpRemove = VirtualMachineConfigSpecNpivWwnOp("remove") - VirtualMachineConfigSpecNpivWwnOpExtend = VirtualMachineConfigSpecNpivWwnOp("extend") -) - -func init() { - t["VirtualMachineConfigSpecNpivWwnOp"] = reflect.TypeOf((*VirtualMachineConfigSpecNpivWwnOp)(nil)).Elem() -} - -type VirtualMachineConnectionState string - -const ( - VirtualMachineConnectionStateConnected = VirtualMachineConnectionState("connected") - VirtualMachineConnectionStateDisconnected = VirtualMachineConnectionState("disconnected") - VirtualMachineConnectionStateOrphaned = VirtualMachineConnectionState("orphaned") - VirtualMachineConnectionStateInaccessible = VirtualMachineConnectionState("inaccessible") - VirtualMachineConnectionStateInvalid = VirtualMachineConnectionState("invalid") -) - -func init() { - t["VirtualMachineConnectionState"] = reflect.TypeOf((*VirtualMachineConnectionState)(nil)).Elem() -} - -type VirtualMachineCryptoState string - -const ( - VirtualMachineCryptoStateUnlocked = VirtualMachineCryptoState("unlocked") - VirtualMachineCryptoStateLocked = VirtualMachineCryptoState("locked") -) - -func init() { - t["VirtualMachineCryptoState"] = reflect.TypeOf((*VirtualMachineCryptoState)(nil)).Elem() -} - -type VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther string - -const ( - VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOtherVmNptIncompatibleHost = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther("vmNptIncompatibleHost") - VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOtherVmNptIncompatibleNetwork = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther("vmNptIncompatibleNetwork") -) - -func init() { - t["VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther"] = reflect.TypeOf((*VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther)(nil)).Elem() -} - -type VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm string - -const ( - VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptIncompatibleGuest = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptIncompatibleGuest") - VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptIncompatibleGuestDriver = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptIncompatibleGuestDriver") - VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptIncompatibleAdapterType = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptIncompatibleAdapterType") - VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptDisabledOrDisconnectedAdapter = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptDisabledOrDisconnectedAdapter") - VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptIncompatibleAdapterFeatures = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptIncompatibleAdapterFeatures") - VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptIncompatibleBackingType = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptIncompatibleBackingType") - VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptInsufficientMemoryReservation = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptInsufficientMemoryReservation") - VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptFaultToleranceOrRecordReplayConfigured = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptFaultToleranceOrRecordReplayConfigured") - VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptConflictingIOChainConfigured = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptConflictingIOChainConfigured") - VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptMonitorBlocks = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptMonitorBlocks") - VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptConflictingOperationInProgress = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptConflictingOperationInProgress") - VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptRuntimeError = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptRuntimeError") - VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptOutOfIntrVector = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptOutOfIntrVector") - VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVmVmNptVMCIActive = VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm("vmNptVMCIActive") -) - -func init() { - t["VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm"] = reflect.TypeOf((*VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonVm)(nil)).Elem() -} - -type VirtualMachineFaultToleranceState string - -const ( - VirtualMachineFaultToleranceStateNotConfigured = VirtualMachineFaultToleranceState("notConfigured") - VirtualMachineFaultToleranceStateDisabled = VirtualMachineFaultToleranceState("disabled") - VirtualMachineFaultToleranceStateEnabled = VirtualMachineFaultToleranceState("enabled") - VirtualMachineFaultToleranceStateNeedSecondary = VirtualMachineFaultToleranceState("needSecondary") - VirtualMachineFaultToleranceStateStarting = VirtualMachineFaultToleranceState("starting") - VirtualMachineFaultToleranceStateRunning = VirtualMachineFaultToleranceState("running") -) - -func init() { - t["VirtualMachineFaultToleranceState"] = reflect.TypeOf((*VirtualMachineFaultToleranceState)(nil)).Elem() -} - -type VirtualMachineFaultToleranceType string - -const ( - VirtualMachineFaultToleranceTypeUnset = VirtualMachineFaultToleranceType("unset") - VirtualMachineFaultToleranceTypeRecordReplay = VirtualMachineFaultToleranceType("recordReplay") - VirtualMachineFaultToleranceTypeCheckpointing = VirtualMachineFaultToleranceType("checkpointing") -) - -func init() { - t["VirtualMachineFaultToleranceType"] = reflect.TypeOf((*VirtualMachineFaultToleranceType)(nil)).Elem() -} - -type VirtualMachineFileLayoutExFileType string - -const ( - VirtualMachineFileLayoutExFileTypeConfig = VirtualMachineFileLayoutExFileType("config") - VirtualMachineFileLayoutExFileTypeExtendedConfig = VirtualMachineFileLayoutExFileType("extendedConfig") - VirtualMachineFileLayoutExFileTypeDiskDescriptor = VirtualMachineFileLayoutExFileType("diskDescriptor") - VirtualMachineFileLayoutExFileTypeDiskExtent = VirtualMachineFileLayoutExFileType("diskExtent") - VirtualMachineFileLayoutExFileTypeDigestDescriptor = VirtualMachineFileLayoutExFileType("digestDescriptor") - VirtualMachineFileLayoutExFileTypeDigestExtent = VirtualMachineFileLayoutExFileType("digestExtent") - VirtualMachineFileLayoutExFileTypeDiskReplicationState = VirtualMachineFileLayoutExFileType("diskReplicationState") - VirtualMachineFileLayoutExFileTypeLog = VirtualMachineFileLayoutExFileType("log") - VirtualMachineFileLayoutExFileTypeStat = VirtualMachineFileLayoutExFileType("stat") - VirtualMachineFileLayoutExFileTypeNamespaceData = VirtualMachineFileLayoutExFileType("namespaceData") - VirtualMachineFileLayoutExFileTypeDataSetsDiskModeStore = VirtualMachineFileLayoutExFileType("dataSetsDiskModeStore") - VirtualMachineFileLayoutExFileTypeDataSetsVmModeStore = VirtualMachineFileLayoutExFileType("dataSetsVmModeStore") - VirtualMachineFileLayoutExFileTypeNvram = VirtualMachineFileLayoutExFileType("nvram") - VirtualMachineFileLayoutExFileTypeSnapshotData = VirtualMachineFileLayoutExFileType("snapshotData") - VirtualMachineFileLayoutExFileTypeSnapshotMemory = VirtualMachineFileLayoutExFileType("snapshotMemory") - VirtualMachineFileLayoutExFileTypeSnapshotList = VirtualMachineFileLayoutExFileType("snapshotList") - VirtualMachineFileLayoutExFileTypeSnapshotManifestList = VirtualMachineFileLayoutExFileType("snapshotManifestList") - VirtualMachineFileLayoutExFileTypeSuspend = VirtualMachineFileLayoutExFileType("suspend") - VirtualMachineFileLayoutExFileTypeSuspendMemory = VirtualMachineFileLayoutExFileType("suspendMemory") - VirtualMachineFileLayoutExFileTypeSwap = VirtualMachineFileLayoutExFileType("swap") - VirtualMachineFileLayoutExFileTypeUwswap = VirtualMachineFileLayoutExFileType("uwswap") - VirtualMachineFileLayoutExFileTypeCore = VirtualMachineFileLayoutExFileType("core") - VirtualMachineFileLayoutExFileTypeScreenshot = VirtualMachineFileLayoutExFileType("screenshot") - VirtualMachineFileLayoutExFileTypeFtMetadata = VirtualMachineFileLayoutExFileType("ftMetadata") - VirtualMachineFileLayoutExFileTypeGuestCustomization = VirtualMachineFileLayoutExFileType("guestCustomization") -) - -func init() { - t["VirtualMachineFileLayoutExFileType"] = reflect.TypeOf((*VirtualMachineFileLayoutExFileType)(nil)).Elem() -} - -type VirtualMachineFlagInfoMonitorType string - -const ( - VirtualMachineFlagInfoMonitorTypeRelease = VirtualMachineFlagInfoMonitorType("release") - VirtualMachineFlagInfoMonitorTypeDebug = VirtualMachineFlagInfoMonitorType("debug") - VirtualMachineFlagInfoMonitorTypeStats = VirtualMachineFlagInfoMonitorType("stats") -) - -func init() { - t["VirtualMachineFlagInfoMonitorType"] = reflect.TypeOf((*VirtualMachineFlagInfoMonitorType)(nil)).Elem() -} - -type VirtualMachineFlagInfoVirtualExecUsage string - -const ( - VirtualMachineFlagInfoVirtualExecUsageHvAuto = VirtualMachineFlagInfoVirtualExecUsage("hvAuto") - VirtualMachineFlagInfoVirtualExecUsageHvOn = VirtualMachineFlagInfoVirtualExecUsage("hvOn") - VirtualMachineFlagInfoVirtualExecUsageHvOff = VirtualMachineFlagInfoVirtualExecUsage("hvOff") -) - -func init() { - t["VirtualMachineFlagInfoVirtualExecUsage"] = reflect.TypeOf((*VirtualMachineFlagInfoVirtualExecUsage)(nil)).Elem() -} - -type VirtualMachineFlagInfoVirtualMmuUsage string - -const ( - VirtualMachineFlagInfoVirtualMmuUsageAutomatic = VirtualMachineFlagInfoVirtualMmuUsage("automatic") - VirtualMachineFlagInfoVirtualMmuUsageOn = VirtualMachineFlagInfoVirtualMmuUsage("on") - VirtualMachineFlagInfoVirtualMmuUsageOff = VirtualMachineFlagInfoVirtualMmuUsage("off") -) - -func init() { - t["VirtualMachineFlagInfoVirtualMmuUsage"] = reflect.TypeOf((*VirtualMachineFlagInfoVirtualMmuUsage)(nil)).Elem() -} - -type VirtualMachineForkConfigInfoChildType string - -const ( - VirtualMachineForkConfigInfoChildTypeNone = VirtualMachineForkConfigInfoChildType("none") - VirtualMachineForkConfigInfoChildTypePersistent = VirtualMachineForkConfigInfoChildType("persistent") - VirtualMachineForkConfigInfoChildTypeNonpersistent = VirtualMachineForkConfigInfoChildType("nonpersistent") -) - -func init() { - t["VirtualMachineForkConfigInfoChildType"] = reflect.TypeOf((*VirtualMachineForkConfigInfoChildType)(nil)).Elem() -} - -type VirtualMachineGuestOsFamily string - -const ( - VirtualMachineGuestOsFamilyWindowsGuest = VirtualMachineGuestOsFamily("windowsGuest") - VirtualMachineGuestOsFamilyLinuxGuest = VirtualMachineGuestOsFamily("linuxGuest") - VirtualMachineGuestOsFamilyNetwareGuest = VirtualMachineGuestOsFamily("netwareGuest") - VirtualMachineGuestOsFamilySolarisGuest = VirtualMachineGuestOsFamily("solarisGuest") - VirtualMachineGuestOsFamilyDarwinGuestFamily = VirtualMachineGuestOsFamily("darwinGuestFamily") - VirtualMachineGuestOsFamilyOtherGuestFamily = VirtualMachineGuestOsFamily("otherGuestFamily") -) - -func init() { - t["VirtualMachineGuestOsFamily"] = reflect.TypeOf((*VirtualMachineGuestOsFamily)(nil)).Elem() -} - -type VirtualMachineGuestOsIdentifier string - -const ( - VirtualMachineGuestOsIdentifierDosGuest = VirtualMachineGuestOsIdentifier("dosGuest") - VirtualMachineGuestOsIdentifierWin31Guest = VirtualMachineGuestOsIdentifier("win31Guest") - VirtualMachineGuestOsIdentifierWin95Guest = VirtualMachineGuestOsIdentifier("win95Guest") - VirtualMachineGuestOsIdentifierWin98Guest = VirtualMachineGuestOsIdentifier("win98Guest") - VirtualMachineGuestOsIdentifierWinMeGuest = VirtualMachineGuestOsIdentifier("winMeGuest") - VirtualMachineGuestOsIdentifierWinNTGuest = VirtualMachineGuestOsIdentifier("winNTGuest") - VirtualMachineGuestOsIdentifierWin2000ProGuest = VirtualMachineGuestOsIdentifier("win2000ProGuest") - VirtualMachineGuestOsIdentifierWin2000ServGuest = VirtualMachineGuestOsIdentifier("win2000ServGuest") - VirtualMachineGuestOsIdentifierWin2000AdvServGuest = VirtualMachineGuestOsIdentifier("win2000AdvServGuest") - VirtualMachineGuestOsIdentifierWinXPHomeGuest = VirtualMachineGuestOsIdentifier("winXPHomeGuest") - VirtualMachineGuestOsIdentifierWinXPProGuest = VirtualMachineGuestOsIdentifier("winXPProGuest") - VirtualMachineGuestOsIdentifierWinXPPro64Guest = VirtualMachineGuestOsIdentifier("winXPPro64Guest") - VirtualMachineGuestOsIdentifierWinNetWebGuest = VirtualMachineGuestOsIdentifier("winNetWebGuest") - VirtualMachineGuestOsIdentifierWinNetStandardGuest = VirtualMachineGuestOsIdentifier("winNetStandardGuest") - VirtualMachineGuestOsIdentifierWinNetEnterpriseGuest = VirtualMachineGuestOsIdentifier("winNetEnterpriseGuest") - VirtualMachineGuestOsIdentifierWinNetDatacenterGuest = VirtualMachineGuestOsIdentifier("winNetDatacenterGuest") - VirtualMachineGuestOsIdentifierWinNetBusinessGuest = VirtualMachineGuestOsIdentifier("winNetBusinessGuest") - VirtualMachineGuestOsIdentifierWinNetStandard64Guest = VirtualMachineGuestOsIdentifier("winNetStandard64Guest") - VirtualMachineGuestOsIdentifierWinNetEnterprise64Guest = VirtualMachineGuestOsIdentifier("winNetEnterprise64Guest") - VirtualMachineGuestOsIdentifierWinLonghornGuest = VirtualMachineGuestOsIdentifier("winLonghornGuest") - VirtualMachineGuestOsIdentifierWinLonghorn64Guest = VirtualMachineGuestOsIdentifier("winLonghorn64Guest") - VirtualMachineGuestOsIdentifierWinNetDatacenter64Guest = VirtualMachineGuestOsIdentifier("winNetDatacenter64Guest") - VirtualMachineGuestOsIdentifierWinVistaGuest = VirtualMachineGuestOsIdentifier("winVistaGuest") - VirtualMachineGuestOsIdentifierWinVista64Guest = VirtualMachineGuestOsIdentifier("winVista64Guest") - VirtualMachineGuestOsIdentifierWindows7Guest = VirtualMachineGuestOsIdentifier("windows7Guest") - VirtualMachineGuestOsIdentifierWindows7_64Guest = VirtualMachineGuestOsIdentifier("windows7_64Guest") - VirtualMachineGuestOsIdentifierWindows7Server64Guest = VirtualMachineGuestOsIdentifier("windows7Server64Guest") - VirtualMachineGuestOsIdentifierWindows8Guest = VirtualMachineGuestOsIdentifier("windows8Guest") - VirtualMachineGuestOsIdentifierWindows8_64Guest = VirtualMachineGuestOsIdentifier("windows8_64Guest") - VirtualMachineGuestOsIdentifierWindows8Server64Guest = VirtualMachineGuestOsIdentifier("windows8Server64Guest") - VirtualMachineGuestOsIdentifierWindows9Guest = VirtualMachineGuestOsIdentifier("windows9Guest") - VirtualMachineGuestOsIdentifierWindows9_64Guest = VirtualMachineGuestOsIdentifier("windows9_64Guest") - VirtualMachineGuestOsIdentifierWindows9Server64Guest = VirtualMachineGuestOsIdentifier("windows9Server64Guest") - VirtualMachineGuestOsIdentifierWindows11_64Guest = VirtualMachineGuestOsIdentifier("windows11_64Guest") - VirtualMachineGuestOsIdentifierWindows12_64Guest = VirtualMachineGuestOsIdentifier("windows12_64Guest") - VirtualMachineGuestOsIdentifierWindowsHyperVGuest = VirtualMachineGuestOsIdentifier("windowsHyperVGuest") - VirtualMachineGuestOsIdentifierWindows2019srv_64Guest = VirtualMachineGuestOsIdentifier("windows2019srv_64Guest") - VirtualMachineGuestOsIdentifierWindows2019srvNext_64Guest = VirtualMachineGuestOsIdentifier("windows2019srvNext_64Guest") - VirtualMachineGuestOsIdentifierWindows2022srvNext_64Guest = VirtualMachineGuestOsIdentifier("windows2022srvNext_64Guest") - VirtualMachineGuestOsIdentifierFreebsdGuest = VirtualMachineGuestOsIdentifier("freebsdGuest") - VirtualMachineGuestOsIdentifierFreebsd64Guest = VirtualMachineGuestOsIdentifier("freebsd64Guest") - VirtualMachineGuestOsIdentifierFreebsd11Guest = VirtualMachineGuestOsIdentifier("freebsd11Guest") - VirtualMachineGuestOsIdentifierFreebsd11_64Guest = VirtualMachineGuestOsIdentifier("freebsd11_64Guest") - VirtualMachineGuestOsIdentifierFreebsd12Guest = VirtualMachineGuestOsIdentifier("freebsd12Guest") - VirtualMachineGuestOsIdentifierFreebsd12_64Guest = VirtualMachineGuestOsIdentifier("freebsd12_64Guest") - VirtualMachineGuestOsIdentifierFreebsd13Guest = VirtualMachineGuestOsIdentifier("freebsd13Guest") - VirtualMachineGuestOsIdentifierFreebsd13_64Guest = VirtualMachineGuestOsIdentifier("freebsd13_64Guest") - VirtualMachineGuestOsIdentifierFreebsd14Guest = VirtualMachineGuestOsIdentifier("freebsd14Guest") - VirtualMachineGuestOsIdentifierFreebsd14_64Guest = VirtualMachineGuestOsIdentifier("freebsd14_64Guest") - VirtualMachineGuestOsIdentifierRedhatGuest = VirtualMachineGuestOsIdentifier("redhatGuest") - VirtualMachineGuestOsIdentifierRhel2Guest = VirtualMachineGuestOsIdentifier("rhel2Guest") - VirtualMachineGuestOsIdentifierRhel3Guest = VirtualMachineGuestOsIdentifier("rhel3Guest") - VirtualMachineGuestOsIdentifierRhel3_64Guest = VirtualMachineGuestOsIdentifier("rhel3_64Guest") - VirtualMachineGuestOsIdentifierRhel4Guest = VirtualMachineGuestOsIdentifier("rhel4Guest") - VirtualMachineGuestOsIdentifierRhel4_64Guest = VirtualMachineGuestOsIdentifier("rhel4_64Guest") - VirtualMachineGuestOsIdentifierRhel5Guest = VirtualMachineGuestOsIdentifier("rhel5Guest") - VirtualMachineGuestOsIdentifierRhel5_64Guest = VirtualMachineGuestOsIdentifier("rhel5_64Guest") - VirtualMachineGuestOsIdentifierRhel6Guest = VirtualMachineGuestOsIdentifier("rhel6Guest") - VirtualMachineGuestOsIdentifierRhel6_64Guest = VirtualMachineGuestOsIdentifier("rhel6_64Guest") - VirtualMachineGuestOsIdentifierRhel7Guest = VirtualMachineGuestOsIdentifier("rhel7Guest") - VirtualMachineGuestOsIdentifierRhel7_64Guest = VirtualMachineGuestOsIdentifier("rhel7_64Guest") - VirtualMachineGuestOsIdentifierRhel8_64Guest = VirtualMachineGuestOsIdentifier("rhel8_64Guest") - VirtualMachineGuestOsIdentifierRhel9_64Guest = VirtualMachineGuestOsIdentifier("rhel9_64Guest") - VirtualMachineGuestOsIdentifierCentosGuest = VirtualMachineGuestOsIdentifier("centosGuest") - VirtualMachineGuestOsIdentifierCentos64Guest = VirtualMachineGuestOsIdentifier("centos64Guest") - VirtualMachineGuestOsIdentifierCentos6Guest = VirtualMachineGuestOsIdentifier("centos6Guest") - VirtualMachineGuestOsIdentifierCentos6_64Guest = VirtualMachineGuestOsIdentifier("centos6_64Guest") - VirtualMachineGuestOsIdentifierCentos7Guest = VirtualMachineGuestOsIdentifier("centos7Guest") - VirtualMachineGuestOsIdentifierCentos7_64Guest = VirtualMachineGuestOsIdentifier("centos7_64Guest") - VirtualMachineGuestOsIdentifierCentos8_64Guest = VirtualMachineGuestOsIdentifier("centos8_64Guest") - VirtualMachineGuestOsIdentifierCentos9_64Guest = VirtualMachineGuestOsIdentifier("centos9_64Guest") - VirtualMachineGuestOsIdentifierOracleLinuxGuest = VirtualMachineGuestOsIdentifier("oracleLinuxGuest") - VirtualMachineGuestOsIdentifierOracleLinux64Guest = VirtualMachineGuestOsIdentifier("oracleLinux64Guest") - VirtualMachineGuestOsIdentifierOracleLinux6Guest = VirtualMachineGuestOsIdentifier("oracleLinux6Guest") - VirtualMachineGuestOsIdentifierOracleLinux6_64Guest = VirtualMachineGuestOsIdentifier("oracleLinux6_64Guest") - VirtualMachineGuestOsIdentifierOracleLinux7Guest = VirtualMachineGuestOsIdentifier("oracleLinux7Guest") - VirtualMachineGuestOsIdentifierOracleLinux7_64Guest = VirtualMachineGuestOsIdentifier("oracleLinux7_64Guest") - VirtualMachineGuestOsIdentifierOracleLinux8_64Guest = VirtualMachineGuestOsIdentifier("oracleLinux8_64Guest") - VirtualMachineGuestOsIdentifierOracleLinux9_64Guest = VirtualMachineGuestOsIdentifier("oracleLinux9_64Guest") - VirtualMachineGuestOsIdentifierSuseGuest = VirtualMachineGuestOsIdentifier("suseGuest") - VirtualMachineGuestOsIdentifierSuse64Guest = VirtualMachineGuestOsIdentifier("suse64Guest") - VirtualMachineGuestOsIdentifierSlesGuest = VirtualMachineGuestOsIdentifier("slesGuest") - VirtualMachineGuestOsIdentifierSles64Guest = VirtualMachineGuestOsIdentifier("sles64Guest") - VirtualMachineGuestOsIdentifierSles10Guest = VirtualMachineGuestOsIdentifier("sles10Guest") - VirtualMachineGuestOsIdentifierSles10_64Guest = VirtualMachineGuestOsIdentifier("sles10_64Guest") - VirtualMachineGuestOsIdentifierSles11Guest = VirtualMachineGuestOsIdentifier("sles11Guest") - VirtualMachineGuestOsIdentifierSles11_64Guest = VirtualMachineGuestOsIdentifier("sles11_64Guest") - VirtualMachineGuestOsIdentifierSles12Guest = VirtualMachineGuestOsIdentifier("sles12Guest") - VirtualMachineGuestOsIdentifierSles12_64Guest = VirtualMachineGuestOsIdentifier("sles12_64Guest") - VirtualMachineGuestOsIdentifierSles15_64Guest = VirtualMachineGuestOsIdentifier("sles15_64Guest") - VirtualMachineGuestOsIdentifierSles16_64Guest = VirtualMachineGuestOsIdentifier("sles16_64Guest") - VirtualMachineGuestOsIdentifierNld9Guest = VirtualMachineGuestOsIdentifier("nld9Guest") - VirtualMachineGuestOsIdentifierOesGuest = VirtualMachineGuestOsIdentifier("oesGuest") - VirtualMachineGuestOsIdentifierSjdsGuest = VirtualMachineGuestOsIdentifier("sjdsGuest") - VirtualMachineGuestOsIdentifierMandrakeGuest = VirtualMachineGuestOsIdentifier("mandrakeGuest") - VirtualMachineGuestOsIdentifierMandrivaGuest = VirtualMachineGuestOsIdentifier("mandrivaGuest") - VirtualMachineGuestOsIdentifierMandriva64Guest = VirtualMachineGuestOsIdentifier("mandriva64Guest") - VirtualMachineGuestOsIdentifierTurboLinuxGuest = VirtualMachineGuestOsIdentifier("turboLinuxGuest") - VirtualMachineGuestOsIdentifierTurboLinux64Guest = VirtualMachineGuestOsIdentifier("turboLinux64Guest") - VirtualMachineGuestOsIdentifierUbuntuGuest = VirtualMachineGuestOsIdentifier("ubuntuGuest") - VirtualMachineGuestOsIdentifierUbuntu64Guest = VirtualMachineGuestOsIdentifier("ubuntu64Guest") - VirtualMachineGuestOsIdentifierDebian4Guest = VirtualMachineGuestOsIdentifier("debian4Guest") - VirtualMachineGuestOsIdentifierDebian4_64Guest = VirtualMachineGuestOsIdentifier("debian4_64Guest") - VirtualMachineGuestOsIdentifierDebian5Guest = VirtualMachineGuestOsIdentifier("debian5Guest") - VirtualMachineGuestOsIdentifierDebian5_64Guest = VirtualMachineGuestOsIdentifier("debian5_64Guest") - VirtualMachineGuestOsIdentifierDebian6Guest = VirtualMachineGuestOsIdentifier("debian6Guest") - VirtualMachineGuestOsIdentifierDebian6_64Guest = VirtualMachineGuestOsIdentifier("debian6_64Guest") - VirtualMachineGuestOsIdentifierDebian7Guest = VirtualMachineGuestOsIdentifier("debian7Guest") - VirtualMachineGuestOsIdentifierDebian7_64Guest = VirtualMachineGuestOsIdentifier("debian7_64Guest") - VirtualMachineGuestOsIdentifierDebian8Guest = VirtualMachineGuestOsIdentifier("debian8Guest") - VirtualMachineGuestOsIdentifierDebian8_64Guest = VirtualMachineGuestOsIdentifier("debian8_64Guest") - VirtualMachineGuestOsIdentifierDebian9Guest = VirtualMachineGuestOsIdentifier("debian9Guest") - VirtualMachineGuestOsIdentifierDebian9_64Guest = VirtualMachineGuestOsIdentifier("debian9_64Guest") - VirtualMachineGuestOsIdentifierDebian10Guest = VirtualMachineGuestOsIdentifier("debian10Guest") - VirtualMachineGuestOsIdentifierDebian10_64Guest = VirtualMachineGuestOsIdentifier("debian10_64Guest") - VirtualMachineGuestOsIdentifierDebian11Guest = VirtualMachineGuestOsIdentifier("debian11Guest") - VirtualMachineGuestOsIdentifierDebian11_64Guest = VirtualMachineGuestOsIdentifier("debian11_64Guest") - VirtualMachineGuestOsIdentifierDebian12Guest = VirtualMachineGuestOsIdentifier("debian12Guest") - VirtualMachineGuestOsIdentifierDebian12_64Guest = VirtualMachineGuestOsIdentifier("debian12_64Guest") - VirtualMachineGuestOsIdentifierAsianux3Guest = VirtualMachineGuestOsIdentifier("asianux3Guest") - VirtualMachineGuestOsIdentifierAsianux3_64Guest = VirtualMachineGuestOsIdentifier("asianux3_64Guest") - VirtualMachineGuestOsIdentifierAsianux4Guest = VirtualMachineGuestOsIdentifier("asianux4Guest") - VirtualMachineGuestOsIdentifierAsianux4_64Guest = VirtualMachineGuestOsIdentifier("asianux4_64Guest") - VirtualMachineGuestOsIdentifierAsianux5_64Guest = VirtualMachineGuestOsIdentifier("asianux5_64Guest") - VirtualMachineGuestOsIdentifierAsianux7_64Guest = VirtualMachineGuestOsIdentifier("asianux7_64Guest") - VirtualMachineGuestOsIdentifierAsianux8_64Guest = VirtualMachineGuestOsIdentifier("asianux8_64Guest") - VirtualMachineGuestOsIdentifierAsianux9_64Guest = VirtualMachineGuestOsIdentifier("asianux9_64Guest") - VirtualMachineGuestOsIdentifierOpensuseGuest = VirtualMachineGuestOsIdentifier("opensuseGuest") - VirtualMachineGuestOsIdentifierOpensuse64Guest = VirtualMachineGuestOsIdentifier("opensuse64Guest") - VirtualMachineGuestOsIdentifierFedoraGuest = VirtualMachineGuestOsIdentifier("fedoraGuest") - VirtualMachineGuestOsIdentifierFedora64Guest = VirtualMachineGuestOsIdentifier("fedora64Guest") - VirtualMachineGuestOsIdentifierCoreos64Guest = VirtualMachineGuestOsIdentifier("coreos64Guest") - VirtualMachineGuestOsIdentifierVmwarePhoton64Guest = VirtualMachineGuestOsIdentifier("vmwarePhoton64Guest") - VirtualMachineGuestOsIdentifierOther24xLinuxGuest = VirtualMachineGuestOsIdentifier("other24xLinuxGuest") - VirtualMachineGuestOsIdentifierOther26xLinuxGuest = VirtualMachineGuestOsIdentifier("other26xLinuxGuest") - VirtualMachineGuestOsIdentifierOtherLinuxGuest = VirtualMachineGuestOsIdentifier("otherLinuxGuest") - VirtualMachineGuestOsIdentifierOther3xLinuxGuest = VirtualMachineGuestOsIdentifier("other3xLinuxGuest") - VirtualMachineGuestOsIdentifierOther4xLinuxGuest = VirtualMachineGuestOsIdentifier("other4xLinuxGuest") - VirtualMachineGuestOsIdentifierOther5xLinuxGuest = VirtualMachineGuestOsIdentifier("other5xLinuxGuest") - VirtualMachineGuestOsIdentifierOther6xLinuxGuest = VirtualMachineGuestOsIdentifier("other6xLinuxGuest") - VirtualMachineGuestOsIdentifierGenericLinuxGuest = VirtualMachineGuestOsIdentifier("genericLinuxGuest") - VirtualMachineGuestOsIdentifierOther24xLinux64Guest = VirtualMachineGuestOsIdentifier("other24xLinux64Guest") - VirtualMachineGuestOsIdentifierOther26xLinux64Guest = VirtualMachineGuestOsIdentifier("other26xLinux64Guest") - VirtualMachineGuestOsIdentifierOther3xLinux64Guest = VirtualMachineGuestOsIdentifier("other3xLinux64Guest") - VirtualMachineGuestOsIdentifierOther4xLinux64Guest = VirtualMachineGuestOsIdentifier("other4xLinux64Guest") - VirtualMachineGuestOsIdentifierOther5xLinux64Guest = VirtualMachineGuestOsIdentifier("other5xLinux64Guest") - VirtualMachineGuestOsIdentifierOther6xLinux64Guest = VirtualMachineGuestOsIdentifier("other6xLinux64Guest") - VirtualMachineGuestOsIdentifierOtherLinux64Guest = VirtualMachineGuestOsIdentifier("otherLinux64Guest") - VirtualMachineGuestOsIdentifierSolaris6Guest = VirtualMachineGuestOsIdentifier("solaris6Guest") - VirtualMachineGuestOsIdentifierSolaris7Guest = VirtualMachineGuestOsIdentifier("solaris7Guest") - VirtualMachineGuestOsIdentifierSolaris8Guest = VirtualMachineGuestOsIdentifier("solaris8Guest") - VirtualMachineGuestOsIdentifierSolaris9Guest = VirtualMachineGuestOsIdentifier("solaris9Guest") - VirtualMachineGuestOsIdentifierSolaris10Guest = VirtualMachineGuestOsIdentifier("solaris10Guest") - VirtualMachineGuestOsIdentifierSolaris10_64Guest = VirtualMachineGuestOsIdentifier("solaris10_64Guest") - VirtualMachineGuestOsIdentifierSolaris11_64Guest = VirtualMachineGuestOsIdentifier("solaris11_64Guest") - VirtualMachineGuestOsIdentifierOs2Guest = VirtualMachineGuestOsIdentifier("os2Guest") - VirtualMachineGuestOsIdentifierEComStationGuest = VirtualMachineGuestOsIdentifier("eComStationGuest") - VirtualMachineGuestOsIdentifierEComStation2Guest = VirtualMachineGuestOsIdentifier("eComStation2Guest") - VirtualMachineGuestOsIdentifierNetware4Guest = VirtualMachineGuestOsIdentifier("netware4Guest") - VirtualMachineGuestOsIdentifierNetware5Guest = VirtualMachineGuestOsIdentifier("netware5Guest") - VirtualMachineGuestOsIdentifierNetware6Guest = VirtualMachineGuestOsIdentifier("netware6Guest") - VirtualMachineGuestOsIdentifierOpenServer5Guest = VirtualMachineGuestOsIdentifier("openServer5Guest") - VirtualMachineGuestOsIdentifierOpenServer6Guest = VirtualMachineGuestOsIdentifier("openServer6Guest") - VirtualMachineGuestOsIdentifierUnixWare7Guest = VirtualMachineGuestOsIdentifier("unixWare7Guest") - VirtualMachineGuestOsIdentifierDarwinGuest = VirtualMachineGuestOsIdentifier("darwinGuest") - VirtualMachineGuestOsIdentifierDarwin64Guest = VirtualMachineGuestOsIdentifier("darwin64Guest") - VirtualMachineGuestOsIdentifierDarwin10Guest = VirtualMachineGuestOsIdentifier("darwin10Guest") - VirtualMachineGuestOsIdentifierDarwin10_64Guest = VirtualMachineGuestOsIdentifier("darwin10_64Guest") - VirtualMachineGuestOsIdentifierDarwin11Guest = VirtualMachineGuestOsIdentifier("darwin11Guest") - VirtualMachineGuestOsIdentifierDarwin11_64Guest = VirtualMachineGuestOsIdentifier("darwin11_64Guest") - VirtualMachineGuestOsIdentifierDarwin12_64Guest = VirtualMachineGuestOsIdentifier("darwin12_64Guest") - VirtualMachineGuestOsIdentifierDarwin13_64Guest = VirtualMachineGuestOsIdentifier("darwin13_64Guest") - VirtualMachineGuestOsIdentifierDarwin14_64Guest = VirtualMachineGuestOsIdentifier("darwin14_64Guest") - VirtualMachineGuestOsIdentifierDarwin15_64Guest = VirtualMachineGuestOsIdentifier("darwin15_64Guest") - VirtualMachineGuestOsIdentifierDarwin16_64Guest = VirtualMachineGuestOsIdentifier("darwin16_64Guest") - VirtualMachineGuestOsIdentifierDarwin17_64Guest = VirtualMachineGuestOsIdentifier("darwin17_64Guest") - VirtualMachineGuestOsIdentifierDarwin18_64Guest = VirtualMachineGuestOsIdentifier("darwin18_64Guest") - VirtualMachineGuestOsIdentifierDarwin19_64Guest = VirtualMachineGuestOsIdentifier("darwin19_64Guest") - VirtualMachineGuestOsIdentifierDarwin20_64Guest = VirtualMachineGuestOsIdentifier("darwin20_64Guest") - VirtualMachineGuestOsIdentifierDarwin21_64Guest = VirtualMachineGuestOsIdentifier("darwin21_64Guest") - VirtualMachineGuestOsIdentifierDarwin22_64Guest = VirtualMachineGuestOsIdentifier("darwin22_64Guest") - VirtualMachineGuestOsIdentifierDarwin23_64Guest = VirtualMachineGuestOsIdentifier("darwin23_64Guest") - VirtualMachineGuestOsIdentifierVmkernelGuest = VirtualMachineGuestOsIdentifier("vmkernelGuest") - VirtualMachineGuestOsIdentifierVmkernel5Guest = VirtualMachineGuestOsIdentifier("vmkernel5Guest") - VirtualMachineGuestOsIdentifierVmkernel6Guest = VirtualMachineGuestOsIdentifier("vmkernel6Guest") - VirtualMachineGuestOsIdentifierVmkernel65Guest = VirtualMachineGuestOsIdentifier("vmkernel65Guest") - VirtualMachineGuestOsIdentifierVmkernel7Guest = VirtualMachineGuestOsIdentifier("vmkernel7Guest") - VirtualMachineGuestOsIdentifierVmkernel8Guest = VirtualMachineGuestOsIdentifier("vmkernel8Guest") - VirtualMachineGuestOsIdentifierAmazonlinux2_64Guest = VirtualMachineGuestOsIdentifier("amazonlinux2_64Guest") - VirtualMachineGuestOsIdentifierAmazonlinux3_64Guest = VirtualMachineGuestOsIdentifier("amazonlinux3_64Guest") - VirtualMachineGuestOsIdentifierCrxPod1Guest = VirtualMachineGuestOsIdentifier("crxPod1Guest") - VirtualMachineGuestOsIdentifierRockylinux_64Guest = VirtualMachineGuestOsIdentifier("rockylinux_64Guest") - VirtualMachineGuestOsIdentifierAlmalinux_64Guest = VirtualMachineGuestOsIdentifier("almalinux_64Guest") - VirtualMachineGuestOsIdentifierOtherGuest = VirtualMachineGuestOsIdentifier("otherGuest") - VirtualMachineGuestOsIdentifierOtherGuest64 = VirtualMachineGuestOsIdentifier("otherGuest64") -) - -func init() { - t["VirtualMachineGuestOsIdentifier"] = reflect.TypeOf((*VirtualMachineGuestOsIdentifier)(nil)).Elem() -} - -type VirtualMachineGuestState string - -const ( - VirtualMachineGuestStateRunning = VirtualMachineGuestState("running") - VirtualMachineGuestStateShuttingDown = VirtualMachineGuestState("shuttingDown") - VirtualMachineGuestStateResetting = VirtualMachineGuestState("resetting") - VirtualMachineGuestStateStandby = VirtualMachineGuestState("standby") - VirtualMachineGuestStateNotRunning = VirtualMachineGuestState("notRunning") - VirtualMachineGuestStateUnknown = VirtualMachineGuestState("unknown") -) - -func init() { - t["VirtualMachineGuestState"] = reflect.TypeOf((*VirtualMachineGuestState)(nil)).Elem() -} - -type VirtualMachineHtSharing string - -const ( - VirtualMachineHtSharingAny = VirtualMachineHtSharing("any") - VirtualMachineHtSharingNone = VirtualMachineHtSharing("none") - VirtualMachineHtSharingInternal = VirtualMachineHtSharing("internal") -) - -func init() { - t["VirtualMachineHtSharing"] = reflect.TypeOf((*VirtualMachineHtSharing)(nil)).Elem() -} - -type VirtualMachineMemoryAllocationPolicy string - -const ( - VirtualMachineMemoryAllocationPolicySwapNone = VirtualMachineMemoryAllocationPolicy("swapNone") - VirtualMachineMemoryAllocationPolicySwapSome = VirtualMachineMemoryAllocationPolicy("swapSome") - VirtualMachineMemoryAllocationPolicySwapMost = VirtualMachineMemoryAllocationPolicy("swapMost") -) - -func init() { - t["VirtualMachineMemoryAllocationPolicy"] = reflect.TypeOf((*VirtualMachineMemoryAllocationPolicy)(nil)).Elem() -} - -type VirtualMachineMetadataManagerVmMetadataOp string - -const ( - VirtualMachineMetadataManagerVmMetadataOpUpdate = VirtualMachineMetadataManagerVmMetadataOp("Update") - VirtualMachineMetadataManagerVmMetadataOpRemove = VirtualMachineMetadataManagerVmMetadataOp("Remove") -) - -func init() { - t["VirtualMachineMetadataManagerVmMetadataOp"] = reflect.TypeOf((*VirtualMachineMetadataManagerVmMetadataOp)(nil)).Elem() -} - -type VirtualMachineMetadataManagerVmMetadataOwnerOwner string - -const ( - VirtualMachineMetadataManagerVmMetadataOwnerOwnerComVmwareVsphereHA = VirtualMachineMetadataManagerVmMetadataOwnerOwner("ComVmwareVsphereHA") -) - -func init() { - t["VirtualMachineMetadataManagerVmMetadataOwnerOwner"] = reflect.TypeOf((*VirtualMachineMetadataManagerVmMetadataOwnerOwner)(nil)).Elem() -} - -type VirtualMachineMovePriority string - -const ( - VirtualMachineMovePriorityLowPriority = VirtualMachineMovePriority("lowPriority") - VirtualMachineMovePriorityHighPriority = VirtualMachineMovePriority("highPriority") - VirtualMachineMovePriorityDefaultPriority = VirtualMachineMovePriority("defaultPriority") -) - -func init() { - t["VirtualMachineMovePriority"] = reflect.TypeOf((*VirtualMachineMovePriority)(nil)).Elem() -} - -type VirtualMachineNeedSecondaryReason string - -const ( - VirtualMachineNeedSecondaryReasonInitializing = VirtualMachineNeedSecondaryReason("initializing") - VirtualMachineNeedSecondaryReasonDivergence = VirtualMachineNeedSecondaryReason("divergence") - VirtualMachineNeedSecondaryReasonLostConnection = VirtualMachineNeedSecondaryReason("lostConnection") - VirtualMachineNeedSecondaryReasonPartialHardwareFailure = VirtualMachineNeedSecondaryReason("partialHardwareFailure") - VirtualMachineNeedSecondaryReasonUserAction = VirtualMachineNeedSecondaryReason("userAction") - VirtualMachineNeedSecondaryReasonCheckpointError = VirtualMachineNeedSecondaryReason("checkpointError") - VirtualMachineNeedSecondaryReasonOther = VirtualMachineNeedSecondaryReason("other") -) - -func init() { - t["VirtualMachineNeedSecondaryReason"] = reflect.TypeOf((*VirtualMachineNeedSecondaryReason)(nil)).Elem() -} - -type VirtualMachinePowerOffBehavior string - -const ( - VirtualMachinePowerOffBehaviorPowerOff = VirtualMachinePowerOffBehavior("powerOff") - VirtualMachinePowerOffBehaviorRevert = VirtualMachinePowerOffBehavior("revert") - VirtualMachinePowerOffBehaviorPrompt = VirtualMachinePowerOffBehavior("prompt") - VirtualMachinePowerOffBehaviorTake = VirtualMachinePowerOffBehavior("take") -) - -func init() { - t["VirtualMachinePowerOffBehavior"] = reflect.TypeOf((*VirtualMachinePowerOffBehavior)(nil)).Elem() -} - -type VirtualMachinePowerOpType string - -const ( - VirtualMachinePowerOpTypeSoft = VirtualMachinePowerOpType("soft") - VirtualMachinePowerOpTypeHard = VirtualMachinePowerOpType("hard") - VirtualMachinePowerOpTypePreset = VirtualMachinePowerOpType("preset") -) - -func init() { - t["VirtualMachinePowerOpType"] = reflect.TypeOf((*VirtualMachinePowerOpType)(nil)).Elem() -} - -type VirtualMachinePowerState string - -const ( - VirtualMachinePowerStatePoweredOff = VirtualMachinePowerState("poweredOff") - VirtualMachinePowerStatePoweredOn = VirtualMachinePowerState("poweredOn") - VirtualMachinePowerStateSuspended = VirtualMachinePowerState("suspended") -) - -func init() { - t["VirtualMachinePowerState"] = reflect.TypeOf((*VirtualMachinePowerState)(nil)).Elem() -} - -type VirtualMachineRecordReplayState string - -const ( - VirtualMachineRecordReplayStateRecording = VirtualMachineRecordReplayState("recording") - VirtualMachineRecordReplayStateReplaying = VirtualMachineRecordReplayState("replaying") - VirtualMachineRecordReplayStateInactive = VirtualMachineRecordReplayState("inactive") -) - -func init() { - t["VirtualMachineRecordReplayState"] = reflect.TypeOf((*VirtualMachineRecordReplayState)(nil)).Elem() -} - -type VirtualMachineRelocateDiskMoveOptions string - -const ( - VirtualMachineRelocateDiskMoveOptionsMoveAllDiskBackingsAndAllowSharing = VirtualMachineRelocateDiskMoveOptions("moveAllDiskBackingsAndAllowSharing") - VirtualMachineRelocateDiskMoveOptionsMoveAllDiskBackingsAndDisallowSharing = VirtualMachineRelocateDiskMoveOptions("moveAllDiskBackingsAndDisallowSharing") - VirtualMachineRelocateDiskMoveOptionsMoveChildMostDiskBacking = VirtualMachineRelocateDiskMoveOptions("moveChildMostDiskBacking") - VirtualMachineRelocateDiskMoveOptionsCreateNewChildDiskBacking = VirtualMachineRelocateDiskMoveOptions("createNewChildDiskBacking") - VirtualMachineRelocateDiskMoveOptionsMoveAllDiskBackingsAndConsolidate = VirtualMachineRelocateDiskMoveOptions("moveAllDiskBackingsAndConsolidate") -) - -func init() { - t["VirtualMachineRelocateDiskMoveOptions"] = reflect.TypeOf((*VirtualMachineRelocateDiskMoveOptions)(nil)).Elem() -} - -type VirtualMachineRelocateTransformation string - -const ( - VirtualMachineRelocateTransformationFlat = VirtualMachineRelocateTransformation("flat") - VirtualMachineRelocateTransformationSparse = VirtualMachineRelocateTransformation("sparse") -) - -func init() { - t["VirtualMachineRelocateTransformation"] = reflect.TypeOf((*VirtualMachineRelocateTransformation)(nil)).Elem() -} - -type VirtualMachineScsiPassthroughType string - -const ( - VirtualMachineScsiPassthroughTypeDisk = VirtualMachineScsiPassthroughType("disk") - VirtualMachineScsiPassthroughTypeTape = VirtualMachineScsiPassthroughType("tape") - VirtualMachineScsiPassthroughTypePrinter = VirtualMachineScsiPassthroughType("printer") - VirtualMachineScsiPassthroughTypeProcessor = VirtualMachineScsiPassthroughType("processor") - VirtualMachineScsiPassthroughTypeWorm = VirtualMachineScsiPassthroughType("worm") - VirtualMachineScsiPassthroughTypeCdrom = VirtualMachineScsiPassthroughType("cdrom") - VirtualMachineScsiPassthroughTypeScanner = VirtualMachineScsiPassthroughType("scanner") - VirtualMachineScsiPassthroughTypeOptical = VirtualMachineScsiPassthroughType("optical") - VirtualMachineScsiPassthroughTypeMedia = VirtualMachineScsiPassthroughType("media") - VirtualMachineScsiPassthroughTypeCom = VirtualMachineScsiPassthroughType("com") - VirtualMachineScsiPassthroughTypeRaid = VirtualMachineScsiPassthroughType("raid") - VirtualMachineScsiPassthroughTypeUnknown = VirtualMachineScsiPassthroughType("unknown") -) - -func init() { - t["VirtualMachineScsiPassthroughType"] = reflect.TypeOf((*VirtualMachineScsiPassthroughType)(nil)).Elem() -} - -type VirtualMachineSgxInfoFlcModes string - -const ( - VirtualMachineSgxInfoFlcModesLocked = VirtualMachineSgxInfoFlcModes("locked") - VirtualMachineSgxInfoFlcModesUnlocked = VirtualMachineSgxInfoFlcModes("unlocked") -) - -func init() { - t["VirtualMachineSgxInfoFlcModes"] = reflect.TypeOf((*VirtualMachineSgxInfoFlcModes)(nil)).Elem() -} - -type VirtualMachineStandbyActionType string - -const ( - VirtualMachineStandbyActionTypeCheckpoint = VirtualMachineStandbyActionType("checkpoint") - VirtualMachineStandbyActionTypePowerOnSuspend = VirtualMachineStandbyActionType("powerOnSuspend") -) - -func init() { - t["VirtualMachineStandbyActionType"] = reflect.TypeOf((*VirtualMachineStandbyActionType)(nil)).Elem() -} - -type VirtualMachineTargetInfoConfigurationTag string - -const ( - VirtualMachineTargetInfoConfigurationTagCompliant = VirtualMachineTargetInfoConfigurationTag("compliant") - VirtualMachineTargetInfoConfigurationTagClusterWide = VirtualMachineTargetInfoConfigurationTag("clusterWide") -) - -func init() { - t["VirtualMachineTargetInfoConfigurationTag"] = reflect.TypeOf((*VirtualMachineTargetInfoConfigurationTag)(nil)).Elem() -} - -type VirtualMachineTicketType string - -const ( - VirtualMachineTicketTypeMks = VirtualMachineTicketType("mks") - VirtualMachineTicketTypeDevice = VirtualMachineTicketType("device") - VirtualMachineTicketTypeGuestControl = VirtualMachineTicketType("guestControl") - VirtualMachineTicketTypeWebmks = VirtualMachineTicketType("webmks") - VirtualMachineTicketTypeGuestIntegrity = VirtualMachineTicketType("guestIntegrity") - VirtualMachineTicketTypeWebRemoteDevice = VirtualMachineTicketType("webRemoteDevice") -) - -func init() { - t["VirtualMachineTicketType"] = reflect.TypeOf((*VirtualMachineTicketType)(nil)).Elem() -} - -type VirtualMachineToolsInstallType string - -const ( - VirtualMachineToolsInstallTypeGuestToolsTypeUnknown = VirtualMachineToolsInstallType("guestToolsTypeUnknown") - VirtualMachineToolsInstallTypeGuestToolsTypeMSI = VirtualMachineToolsInstallType("guestToolsTypeMSI") - VirtualMachineToolsInstallTypeGuestToolsTypeTar = VirtualMachineToolsInstallType("guestToolsTypeTar") - VirtualMachineToolsInstallTypeGuestToolsTypeOSP = VirtualMachineToolsInstallType("guestToolsTypeOSP") - VirtualMachineToolsInstallTypeGuestToolsTypeOpenVMTools = VirtualMachineToolsInstallType("guestToolsTypeOpenVMTools") -) - -func init() { - t["VirtualMachineToolsInstallType"] = reflect.TypeOf((*VirtualMachineToolsInstallType)(nil)).Elem() -} - -type VirtualMachineToolsRunningStatus string - -const ( - VirtualMachineToolsRunningStatusGuestToolsNotRunning = VirtualMachineToolsRunningStatus("guestToolsNotRunning") - VirtualMachineToolsRunningStatusGuestToolsRunning = VirtualMachineToolsRunningStatus("guestToolsRunning") - VirtualMachineToolsRunningStatusGuestToolsExecutingScripts = VirtualMachineToolsRunningStatus("guestToolsExecutingScripts") -) - -func init() { - t["VirtualMachineToolsRunningStatus"] = reflect.TypeOf((*VirtualMachineToolsRunningStatus)(nil)).Elem() -} - -type VirtualMachineToolsStatus string - -const ( - VirtualMachineToolsStatusToolsNotInstalled = VirtualMachineToolsStatus("toolsNotInstalled") - VirtualMachineToolsStatusToolsNotRunning = VirtualMachineToolsStatus("toolsNotRunning") - VirtualMachineToolsStatusToolsOld = VirtualMachineToolsStatus("toolsOld") - VirtualMachineToolsStatusToolsOk = VirtualMachineToolsStatus("toolsOk") -) - -func init() { - t["VirtualMachineToolsStatus"] = reflect.TypeOf((*VirtualMachineToolsStatus)(nil)).Elem() -} - -type VirtualMachineToolsVersionStatus string - -const ( - VirtualMachineToolsVersionStatusGuestToolsNotInstalled = VirtualMachineToolsVersionStatus("guestToolsNotInstalled") - VirtualMachineToolsVersionStatusGuestToolsNeedUpgrade = VirtualMachineToolsVersionStatus("guestToolsNeedUpgrade") - VirtualMachineToolsVersionStatusGuestToolsCurrent = VirtualMachineToolsVersionStatus("guestToolsCurrent") - VirtualMachineToolsVersionStatusGuestToolsUnmanaged = VirtualMachineToolsVersionStatus("guestToolsUnmanaged") - VirtualMachineToolsVersionStatusGuestToolsTooOld = VirtualMachineToolsVersionStatus("guestToolsTooOld") - VirtualMachineToolsVersionStatusGuestToolsSupportedOld = VirtualMachineToolsVersionStatus("guestToolsSupportedOld") - VirtualMachineToolsVersionStatusGuestToolsSupportedNew = VirtualMachineToolsVersionStatus("guestToolsSupportedNew") - VirtualMachineToolsVersionStatusGuestToolsTooNew = VirtualMachineToolsVersionStatus("guestToolsTooNew") - VirtualMachineToolsVersionStatusGuestToolsBlacklisted = VirtualMachineToolsVersionStatus("guestToolsBlacklisted") -) - -func init() { - t["VirtualMachineToolsVersionStatus"] = reflect.TypeOf((*VirtualMachineToolsVersionStatus)(nil)).Elem() -} - -type VirtualMachineUsbInfoFamily string - -const ( - VirtualMachineUsbInfoFamilyAudio = VirtualMachineUsbInfoFamily("audio") - VirtualMachineUsbInfoFamilyHid = VirtualMachineUsbInfoFamily("hid") - VirtualMachineUsbInfoFamilyHid_bootable = VirtualMachineUsbInfoFamily("hid_bootable") - VirtualMachineUsbInfoFamilyPhysical = VirtualMachineUsbInfoFamily("physical") - VirtualMachineUsbInfoFamilyCommunication = VirtualMachineUsbInfoFamily("communication") - VirtualMachineUsbInfoFamilyImaging = VirtualMachineUsbInfoFamily("imaging") - VirtualMachineUsbInfoFamilyPrinter = VirtualMachineUsbInfoFamily("printer") - VirtualMachineUsbInfoFamilyStorage = VirtualMachineUsbInfoFamily("storage") - VirtualMachineUsbInfoFamilyHub = VirtualMachineUsbInfoFamily("hub") - VirtualMachineUsbInfoFamilySmart_card = VirtualMachineUsbInfoFamily("smart_card") - VirtualMachineUsbInfoFamilySecurity = VirtualMachineUsbInfoFamily("security") - VirtualMachineUsbInfoFamilyVideo = VirtualMachineUsbInfoFamily("video") - VirtualMachineUsbInfoFamilyWireless = VirtualMachineUsbInfoFamily("wireless") - VirtualMachineUsbInfoFamilyBluetooth = VirtualMachineUsbInfoFamily("bluetooth") - VirtualMachineUsbInfoFamilyWusb = VirtualMachineUsbInfoFamily("wusb") - VirtualMachineUsbInfoFamilyPda = VirtualMachineUsbInfoFamily("pda") - VirtualMachineUsbInfoFamilyVendor_specific = VirtualMachineUsbInfoFamily("vendor_specific") - VirtualMachineUsbInfoFamilyOther = VirtualMachineUsbInfoFamily("other") - VirtualMachineUsbInfoFamilyUnknownFamily = VirtualMachineUsbInfoFamily("unknownFamily") -) - -func init() { - t["VirtualMachineUsbInfoFamily"] = reflect.TypeOf((*VirtualMachineUsbInfoFamily)(nil)).Elem() -} - -type VirtualMachineUsbInfoSpeed string - -const ( - VirtualMachineUsbInfoSpeedLow = VirtualMachineUsbInfoSpeed("low") - VirtualMachineUsbInfoSpeedFull = VirtualMachineUsbInfoSpeed("full") - VirtualMachineUsbInfoSpeedHigh = VirtualMachineUsbInfoSpeed("high") - VirtualMachineUsbInfoSpeedSuperSpeed = VirtualMachineUsbInfoSpeed("superSpeed") - VirtualMachineUsbInfoSpeedSuperSpeedPlus = VirtualMachineUsbInfoSpeed("superSpeedPlus") - VirtualMachineUsbInfoSpeedSuperSpeed20Gbps = VirtualMachineUsbInfoSpeed("superSpeed20Gbps") - VirtualMachineUsbInfoSpeedUnknownSpeed = VirtualMachineUsbInfoSpeed("unknownSpeed") -) - -func init() { - t["VirtualMachineUsbInfoSpeed"] = reflect.TypeOf((*VirtualMachineUsbInfoSpeed)(nil)).Elem() -} - -type VirtualMachineVMCIDeviceAction string - -const ( - VirtualMachineVMCIDeviceActionAllow = VirtualMachineVMCIDeviceAction("allow") - VirtualMachineVMCIDeviceActionDeny = VirtualMachineVMCIDeviceAction("deny") -) - -func init() { - t["VirtualMachineVMCIDeviceAction"] = reflect.TypeOf((*VirtualMachineVMCIDeviceAction)(nil)).Elem() -} - -type VirtualMachineVMCIDeviceDirection string - -const ( - VirtualMachineVMCIDeviceDirectionGuest = VirtualMachineVMCIDeviceDirection("guest") - VirtualMachineVMCIDeviceDirectionHost = VirtualMachineVMCIDeviceDirection("host") - VirtualMachineVMCIDeviceDirectionAnyDirection = VirtualMachineVMCIDeviceDirection("anyDirection") -) - -func init() { - t["VirtualMachineVMCIDeviceDirection"] = reflect.TypeOf((*VirtualMachineVMCIDeviceDirection)(nil)).Elem() -} - -type VirtualMachineVMCIDeviceProtocol string - -const ( - VirtualMachineVMCIDeviceProtocolHypervisor = VirtualMachineVMCIDeviceProtocol("hypervisor") - VirtualMachineVMCIDeviceProtocolDoorbell = VirtualMachineVMCIDeviceProtocol("doorbell") - VirtualMachineVMCIDeviceProtocolQueuepair = VirtualMachineVMCIDeviceProtocol("queuepair") - VirtualMachineVMCIDeviceProtocolDatagram = VirtualMachineVMCIDeviceProtocol("datagram") - VirtualMachineVMCIDeviceProtocolStream = VirtualMachineVMCIDeviceProtocol("stream") - VirtualMachineVMCIDeviceProtocolAnyProtocol = VirtualMachineVMCIDeviceProtocol("anyProtocol") -) - -func init() { - t["VirtualMachineVMCIDeviceProtocol"] = reflect.TypeOf((*VirtualMachineVMCIDeviceProtocol)(nil)).Elem() -} - -type VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType string - -const ( - VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentTypePciPassthru = VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType("pciPassthru") - VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentTypeNvidiaVgpu = VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType("nvidiaVgpu") - VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentTypeSriovNic = VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType("sriovNic") - VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentTypeDvx = VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType("dvx") -) - -func init() { - t["VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType"] = reflect.TypeOf((*VirtualMachineVendorDeviceGroupInfoComponentDeviceInfoComponentType)(nil)).Elem() -} - -type VirtualMachineVgpuProfileInfoProfileClass string - -const ( - VirtualMachineVgpuProfileInfoProfileClassCompute = VirtualMachineVgpuProfileInfoProfileClass("compute") - VirtualMachineVgpuProfileInfoProfileClassQuadro = VirtualMachineVgpuProfileInfoProfileClass("quadro") -) - -func init() { - t["VirtualMachineVgpuProfileInfoProfileClass"] = reflect.TypeOf((*VirtualMachineVgpuProfileInfoProfileClass)(nil)).Elem() -} - -type VirtualMachineVgpuProfileInfoProfileSharing string - -const ( - VirtualMachineVgpuProfileInfoProfileSharingTimeSliced = VirtualMachineVgpuProfileInfoProfileSharing("timeSliced") - VirtualMachineVgpuProfileInfoProfileSharingMig = VirtualMachineVgpuProfileInfoProfileSharing("mig") -) - -func init() { - t["VirtualMachineVgpuProfileInfoProfileSharing"] = reflect.TypeOf((*VirtualMachineVgpuProfileInfoProfileSharing)(nil)).Elem() -} - -type VirtualMachineVideoCardUse3dRenderer string - -const ( - VirtualMachineVideoCardUse3dRendererAutomatic = VirtualMachineVideoCardUse3dRenderer("automatic") - VirtualMachineVideoCardUse3dRendererSoftware = VirtualMachineVideoCardUse3dRenderer("software") - VirtualMachineVideoCardUse3dRendererHardware = VirtualMachineVideoCardUse3dRenderer("hardware") -) - -func init() { - t["VirtualMachineVideoCardUse3dRenderer"] = reflect.TypeOf((*VirtualMachineVideoCardUse3dRenderer)(nil)).Elem() -} - -type VirtualMachineVirtualDeviceSwapDeviceSwapStatus string - -const ( - VirtualMachineVirtualDeviceSwapDeviceSwapStatusNone = VirtualMachineVirtualDeviceSwapDeviceSwapStatus("none") - VirtualMachineVirtualDeviceSwapDeviceSwapStatusScheduled = VirtualMachineVirtualDeviceSwapDeviceSwapStatus("scheduled") - VirtualMachineVirtualDeviceSwapDeviceSwapStatusInprogress = VirtualMachineVirtualDeviceSwapDeviceSwapStatus("inprogress") - VirtualMachineVirtualDeviceSwapDeviceSwapStatusFailed = VirtualMachineVirtualDeviceSwapDeviceSwapStatus("failed") - VirtualMachineVirtualDeviceSwapDeviceSwapStatusCompleted = VirtualMachineVirtualDeviceSwapDeviceSwapStatus("completed") -) - -func init() { - t["VirtualMachineVirtualDeviceSwapDeviceSwapStatus"] = reflect.TypeOf((*VirtualMachineVirtualDeviceSwapDeviceSwapStatus)(nil)).Elem() -} - -type VirtualMachineVirtualPMemSnapshotMode string - -const ( - VirtualMachineVirtualPMemSnapshotModeIndependent_persistent = VirtualMachineVirtualPMemSnapshotMode("independent_persistent") - VirtualMachineVirtualPMemSnapshotModeIndependent_eraseonrevert = VirtualMachineVirtualPMemSnapshotMode("independent_eraseonrevert") -) - -func init() { - t["VirtualMachineVirtualPMemSnapshotMode"] = reflect.TypeOf((*VirtualMachineVirtualPMemSnapshotMode)(nil)).Elem() -} - -type VirtualMachineWindowsQuiesceSpecVssBackupContext string - -const ( - VirtualMachineWindowsQuiesceSpecVssBackupContextCtx_auto = VirtualMachineWindowsQuiesceSpecVssBackupContext("ctx_auto") - VirtualMachineWindowsQuiesceSpecVssBackupContextCtx_backup = VirtualMachineWindowsQuiesceSpecVssBackupContext("ctx_backup") - VirtualMachineWindowsQuiesceSpecVssBackupContextCtx_file_share_backup = VirtualMachineWindowsQuiesceSpecVssBackupContext("ctx_file_share_backup") -) - -func init() { - t["VirtualMachineWindowsQuiesceSpecVssBackupContext"] = reflect.TypeOf((*VirtualMachineWindowsQuiesceSpecVssBackupContext)(nil)).Elem() -} - -type VirtualPointingDeviceHostChoice string - -const ( - VirtualPointingDeviceHostChoiceAutodetect = VirtualPointingDeviceHostChoice("autodetect") - VirtualPointingDeviceHostChoiceIntellimouseExplorer = VirtualPointingDeviceHostChoice("intellimouseExplorer") - VirtualPointingDeviceHostChoiceIntellimousePs2 = VirtualPointingDeviceHostChoice("intellimousePs2") - VirtualPointingDeviceHostChoiceLogitechMouseman = VirtualPointingDeviceHostChoice("logitechMouseman") - VirtualPointingDeviceHostChoiceMicrosoft_serial = VirtualPointingDeviceHostChoice("microsoft_serial") - VirtualPointingDeviceHostChoiceMouseSystems = VirtualPointingDeviceHostChoice("mouseSystems") - VirtualPointingDeviceHostChoiceMousemanSerial = VirtualPointingDeviceHostChoice("mousemanSerial") - VirtualPointingDeviceHostChoicePs2 = VirtualPointingDeviceHostChoice("ps2") -) - -func init() { - t["VirtualPointingDeviceHostChoice"] = reflect.TypeOf((*VirtualPointingDeviceHostChoice)(nil)).Elem() -} - -type VirtualSCSISharing string - -const ( - VirtualSCSISharingNoSharing = VirtualSCSISharing("noSharing") - VirtualSCSISharingVirtualSharing = VirtualSCSISharing("virtualSharing") - VirtualSCSISharingPhysicalSharing = VirtualSCSISharing("physicalSharing") -) - -func init() { - t["VirtualSCSISharing"] = reflect.TypeOf((*VirtualSCSISharing)(nil)).Elem() -} - -type VirtualSerialPortEndPoint string - -const ( - VirtualSerialPortEndPointClient = VirtualSerialPortEndPoint("client") - VirtualSerialPortEndPointServer = VirtualSerialPortEndPoint("server") -) - -func init() { - t["VirtualSerialPortEndPoint"] = reflect.TypeOf((*VirtualSerialPortEndPoint)(nil)).Elem() -} - -type VirtualVmxnet3VrdmaOptionDeviceProtocols string - -const ( - VirtualVmxnet3VrdmaOptionDeviceProtocolsRocev1 = VirtualVmxnet3VrdmaOptionDeviceProtocols("rocev1") - VirtualVmxnet3VrdmaOptionDeviceProtocolsRocev2 = VirtualVmxnet3VrdmaOptionDeviceProtocols("rocev2") -) - -func init() { - t["VirtualVmxnet3VrdmaOptionDeviceProtocols"] = reflect.TypeOf((*VirtualVmxnet3VrdmaOptionDeviceProtocols)(nil)).Elem() -} - -type VmDasBeingResetEventReasonCode string - -const ( - VmDasBeingResetEventReasonCodeVmtoolsHeartbeatFailure = VmDasBeingResetEventReasonCode("vmtoolsHeartbeatFailure") - VmDasBeingResetEventReasonCodeAppHeartbeatFailure = VmDasBeingResetEventReasonCode("appHeartbeatFailure") - VmDasBeingResetEventReasonCodeAppImmediateResetRequest = VmDasBeingResetEventReasonCode("appImmediateResetRequest") - VmDasBeingResetEventReasonCodeVmcpResetApdCleared = VmDasBeingResetEventReasonCode("vmcpResetApdCleared") -) - -func init() { - t["VmDasBeingResetEventReasonCode"] = reflect.TypeOf((*VmDasBeingResetEventReasonCode)(nil)).Elem() -} - -type VmFailedStartingSecondaryEventFailureReason string - -const ( - VmFailedStartingSecondaryEventFailureReasonIncompatibleHost = VmFailedStartingSecondaryEventFailureReason("incompatibleHost") - VmFailedStartingSecondaryEventFailureReasonLoginFailed = VmFailedStartingSecondaryEventFailureReason("loginFailed") - VmFailedStartingSecondaryEventFailureReasonRegisterVmFailed = VmFailedStartingSecondaryEventFailureReason("registerVmFailed") - VmFailedStartingSecondaryEventFailureReasonMigrateFailed = VmFailedStartingSecondaryEventFailureReason("migrateFailed") -) - -func init() { - t["VmFailedStartingSecondaryEventFailureReason"] = reflect.TypeOf((*VmFailedStartingSecondaryEventFailureReason)(nil)).Elem() -} - -type VmFaultToleranceConfigIssueReasonForIssue string - -const ( - VmFaultToleranceConfigIssueReasonForIssueHaNotEnabled = VmFaultToleranceConfigIssueReasonForIssue("haNotEnabled") - VmFaultToleranceConfigIssueReasonForIssueMoreThanOneSecondary = VmFaultToleranceConfigIssueReasonForIssue("moreThanOneSecondary") - VmFaultToleranceConfigIssueReasonForIssueRecordReplayNotSupported = VmFaultToleranceConfigIssueReasonForIssue("recordReplayNotSupported") - VmFaultToleranceConfigIssueReasonForIssueReplayNotSupported = VmFaultToleranceConfigIssueReasonForIssue("replayNotSupported") - VmFaultToleranceConfigIssueReasonForIssueTemplateVm = VmFaultToleranceConfigIssueReasonForIssue("templateVm") - VmFaultToleranceConfigIssueReasonForIssueMultipleVCPU = VmFaultToleranceConfigIssueReasonForIssue("multipleVCPU") - VmFaultToleranceConfigIssueReasonForIssueHostInactive = VmFaultToleranceConfigIssueReasonForIssue("hostInactive") - VmFaultToleranceConfigIssueReasonForIssueFtUnsupportedHardware = VmFaultToleranceConfigIssueReasonForIssue("ftUnsupportedHardware") - VmFaultToleranceConfigIssueReasonForIssueFtUnsupportedProduct = VmFaultToleranceConfigIssueReasonForIssue("ftUnsupportedProduct") - VmFaultToleranceConfigIssueReasonForIssueMissingVMotionNic = VmFaultToleranceConfigIssueReasonForIssue("missingVMotionNic") - VmFaultToleranceConfigIssueReasonForIssueMissingFTLoggingNic = VmFaultToleranceConfigIssueReasonForIssue("missingFTLoggingNic") - VmFaultToleranceConfigIssueReasonForIssueThinDisk = VmFaultToleranceConfigIssueReasonForIssue("thinDisk") - VmFaultToleranceConfigIssueReasonForIssueVerifySSLCertificateFlagNotSet = VmFaultToleranceConfigIssueReasonForIssue("verifySSLCertificateFlagNotSet") - VmFaultToleranceConfigIssueReasonForIssueHasSnapshots = VmFaultToleranceConfigIssueReasonForIssue("hasSnapshots") - VmFaultToleranceConfigIssueReasonForIssueNoConfig = VmFaultToleranceConfigIssueReasonForIssue("noConfig") - VmFaultToleranceConfigIssueReasonForIssueFtSecondaryVm = VmFaultToleranceConfigIssueReasonForIssue("ftSecondaryVm") - VmFaultToleranceConfigIssueReasonForIssueHasLocalDisk = VmFaultToleranceConfigIssueReasonForIssue("hasLocalDisk") - VmFaultToleranceConfigIssueReasonForIssueEsxAgentVm = VmFaultToleranceConfigIssueReasonForIssue("esxAgentVm") - VmFaultToleranceConfigIssueReasonForIssueVideo3dEnabled = VmFaultToleranceConfigIssueReasonForIssue("video3dEnabled") - VmFaultToleranceConfigIssueReasonForIssueHasUnsupportedDisk = VmFaultToleranceConfigIssueReasonForIssue("hasUnsupportedDisk") - VmFaultToleranceConfigIssueReasonForIssueInsufficientBandwidth = VmFaultToleranceConfigIssueReasonForIssue("insufficientBandwidth") - VmFaultToleranceConfigIssueReasonForIssueHasNestedHVConfiguration = VmFaultToleranceConfigIssueReasonForIssue("hasNestedHVConfiguration") - VmFaultToleranceConfigIssueReasonForIssueHasVFlashConfiguration = VmFaultToleranceConfigIssueReasonForIssue("hasVFlashConfiguration") - VmFaultToleranceConfigIssueReasonForIssueUnsupportedProduct = VmFaultToleranceConfigIssueReasonForIssue("unsupportedProduct") - VmFaultToleranceConfigIssueReasonForIssueCpuHvUnsupported = VmFaultToleranceConfigIssueReasonForIssue("cpuHvUnsupported") - VmFaultToleranceConfigIssueReasonForIssueCpuHwmmuUnsupported = VmFaultToleranceConfigIssueReasonForIssue("cpuHwmmuUnsupported") - VmFaultToleranceConfigIssueReasonForIssueCpuHvDisabled = VmFaultToleranceConfigIssueReasonForIssue("cpuHvDisabled") - VmFaultToleranceConfigIssueReasonForIssueHasEFIFirmware = VmFaultToleranceConfigIssueReasonForIssue("hasEFIFirmware") - VmFaultToleranceConfigIssueReasonForIssueTooManyVCPUs = VmFaultToleranceConfigIssueReasonForIssue("tooManyVCPUs") - VmFaultToleranceConfigIssueReasonForIssueTooMuchMemory = VmFaultToleranceConfigIssueReasonForIssue("tooMuchMemory") - VmFaultToleranceConfigIssueReasonForIssueUnsupportedPMemHAFailOver = VmFaultToleranceConfigIssueReasonForIssue("unsupportedPMemHAFailOver") -) - -func init() { - t["VmFaultToleranceConfigIssueReasonForIssue"] = reflect.TypeOf((*VmFaultToleranceConfigIssueReasonForIssue)(nil)).Elem() -} - -type VmFaultToleranceInvalidFileBackingDeviceType string - -const ( - VmFaultToleranceInvalidFileBackingDeviceTypeVirtualFloppy = VmFaultToleranceInvalidFileBackingDeviceType("virtualFloppy") - VmFaultToleranceInvalidFileBackingDeviceTypeVirtualCdrom = VmFaultToleranceInvalidFileBackingDeviceType("virtualCdrom") - VmFaultToleranceInvalidFileBackingDeviceTypeVirtualSerialPort = VmFaultToleranceInvalidFileBackingDeviceType("virtualSerialPort") - VmFaultToleranceInvalidFileBackingDeviceTypeVirtualParallelPort = VmFaultToleranceInvalidFileBackingDeviceType("virtualParallelPort") - VmFaultToleranceInvalidFileBackingDeviceTypeVirtualDisk = VmFaultToleranceInvalidFileBackingDeviceType("virtualDisk") -) - -func init() { - t["VmFaultToleranceInvalidFileBackingDeviceType"] = reflect.TypeOf((*VmFaultToleranceInvalidFileBackingDeviceType)(nil)).Elem() -} - -type VmShutdownOnIsolationEventOperation string - -const ( - VmShutdownOnIsolationEventOperationShutdown = VmShutdownOnIsolationEventOperation("shutdown") - VmShutdownOnIsolationEventOperationPoweredOff = VmShutdownOnIsolationEventOperation("poweredOff") -) - -func init() { - t["VmShutdownOnIsolationEventOperation"] = reflect.TypeOf((*VmShutdownOnIsolationEventOperation)(nil)).Elem() -} - -type VmwareDistributedVirtualSwitchPvlanPortType string - -const ( - VmwareDistributedVirtualSwitchPvlanPortTypePromiscuous = VmwareDistributedVirtualSwitchPvlanPortType("promiscuous") - VmwareDistributedVirtualSwitchPvlanPortTypeIsolated = VmwareDistributedVirtualSwitchPvlanPortType("isolated") - VmwareDistributedVirtualSwitchPvlanPortTypeCommunity = VmwareDistributedVirtualSwitchPvlanPortType("community") -) - -func init() { - t["VmwareDistributedVirtualSwitchPvlanPortType"] = reflect.TypeOf((*VmwareDistributedVirtualSwitchPvlanPortType)(nil)).Elem() -} - -type VsanDiskIssueType string - -const ( - VsanDiskIssueTypeNonExist = VsanDiskIssueType("nonExist") - VsanDiskIssueTypeStampMismatch = VsanDiskIssueType("stampMismatch") - VsanDiskIssueTypeUnknown = VsanDiskIssueType("unknown") -) - -func init() { - t["VsanDiskIssueType"] = reflect.TypeOf((*VsanDiskIssueType)(nil)).Elem() -} - -type VsanHostDecommissionModeObjectAction string - -const ( - VsanHostDecommissionModeObjectActionNoAction = VsanHostDecommissionModeObjectAction("noAction") - VsanHostDecommissionModeObjectActionEnsureObjectAccessibility = VsanHostDecommissionModeObjectAction("ensureObjectAccessibility") - VsanHostDecommissionModeObjectActionEvacuateAllData = VsanHostDecommissionModeObjectAction("evacuateAllData") -) - -func init() { - t["VsanHostDecommissionModeObjectAction"] = reflect.TypeOf((*VsanHostDecommissionModeObjectAction)(nil)).Elem() -} - -type VsanHostDiskResultState string - -const ( - VsanHostDiskResultStateInUse = VsanHostDiskResultState("inUse") - VsanHostDiskResultStateEligible = VsanHostDiskResultState("eligible") - VsanHostDiskResultStateIneligible = VsanHostDiskResultState("ineligible") -) - -func init() { - t["VsanHostDiskResultState"] = reflect.TypeOf((*VsanHostDiskResultState)(nil)).Elem() -} - -type VsanHostHealthState string - -const ( - VsanHostHealthStateUnknown = VsanHostHealthState("unknown") - VsanHostHealthStateHealthy = VsanHostHealthState("healthy") - VsanHostHealthStateUnhealthy = VsanHostHealthState("unhealthy") -) - -func init() { - t["VsanHostHealthState"] = reflect.TypeOf((*VsanHostHealthState)(nil)).Elem() -} - -type VsanHostNodeState string - -const ( - VsanHostNodeStateError = VsanHostNodeState("error") - VsanHostNodeStateDisabled = VsanHostNodeState("disabled") - VsanHostNodeStateAgent = VsanHostNodeState("agent") - VsanHostNodeStateMaster = VsanHostNodeState("master") - VsanHostNodeStateBackup = VsanHostNodeState("backup") - VsanHostNodeStateStarting = VsanHostNodeState("starting") - VsanHostNodeStateStopping = VsanHostNodeState("stopping") - VsanHostNodeStateEnteringMaintenanceMode = VsanHostNodeState("enteringMaintenanceMode") - VsanHostNodeStateExitingMaintenanceMode = VsanHostNodeState("exitingMaintenanceMode") - VsanHostNodeStateDecommissioning = VsanHostNodeState("decommissioning") -) - -func init() { - t["VsanHostNodeState"] = reflect.TypeOf((*VsanHostNodeState)(nil)).Elem() -} - -type VsanUpgradeSystemUpgradeHistoryDiskGroupOpType string - -const ( - VsanUpgradeSystemUpgradeHistoryDiskGroupOpTypeAdd = VsanUpgradeSystemUpgradeHistoryDiskGroupOpType("add") - VsanUpgradeSystemUpgradeHistoryDiskGroupOpTypeRemove = VsanUpgradeSystemUpgradeHistoryDiskGroupOpType("remove") -) - -func init() { - t["VsanUpgradeSystemUpgradeHistoryDiskGroupOpType"] = reflect.TypeOf((*VsanUpgradeSystemUpgradeHistoryDiskGroupOpType)(nil)).Elem() -} - -type WeekOfMonth string - -const ( - WeekOfMonthFirst = WeekOfMonth("first") - WeekOfMonthSecond = WeekOfMonth("second") - WeekOfMonthThird = WeekOfMonth("third") - WeekOfMonthFourth = WeekOfMonth("fourth") - WeekOfMonthLast = WeekOfMonth("last") -) - -func init() { - t["WeekOfMonth"] = reflect.TypeOf((*WeekOfMonth)(nil)).Elem() -} - -type WillLoseHAProtectionResolution string - -const ( - WillLoseHAProtectionResolutionSvmotion = WillLoseHAProtectionResolution("svmotion") - WillLoseHAProtectionResolutionRelocate = WillLoseHAProtectionResolution("relocate") -) - -func init() { - t["WillLoseHAProtectionResolution"] = reflect.TypeOf((*WillLoseHAProtectionResolution)(nil)).Elem() -} - -type VslmDiskInfoFlag string - -const ( - VslmDiskInfoFlagId = VslmDiskInfoFlag("id") - VslmDiskInfoFlagBackingObjectId = VslmDiskInfoFlag("backingObjectId") - VslmDiskInfoFlagPath = VslmDiskInfoFlag("path") - VslmDiskInfoFlagParentPath = VslmDiskInfoFlag("parentPath") - VslmDiskInfoFlagName = VslmDiskInfoFlag("name") - VslmDiskInfoFlagDeviceName = VslmDiskInfoFlag("deviceName") - VslmDiskInfoFlagCapacity = VslmDiskInfoFlag("capacity") - VslmDiskInfoFlagAllocated = VslmDiskInfoFlag("allocated") - VslmDiskInfoFlagType = VslmDiskInfoFlag("type") - VslmDiskInfoFlagConsumers = VslmDiskInfoFlag("consumers") - VslmDiskInfoFlagTentativeState = VslmDiskInfoFlag("tentativeState") - VslmDiskInfoFlagCreateTime = VslmDiskInfoFlag("createTime") - VslmDiskInfoFlagIoFilter = VslmDiskInfoFlag("ioFilter") - VslmDiskInfoFlagControlFlags = VslmDiskInfoFlag("controlFlags") - VslmDiskInfoFlagKeepAfterVmDelete = VslmDiskInfoFlag("keepAfterVmDelete") - VslmDiskInfoFlagRelocationDisabled = VslmDiskInfoFlag("relocationDisabled") - VslmDiskInfoFlagKeyId = VslmDiskInfoFlag("keyId") - VslmDiskInfoFlagKeyProviderId = VslmDiskInfoFlag("keyProviderId") - VslmDiskInfoFlagNativeSnapshotSupported = VslmDiskInfoFlag("nativeSnapshotSupported") - VslmDiskInfoFlagCbtEnabled = VslmDiskInfoFlag("cbtEnabled") -) - -func init() { - t["vslmDiskInfoFlag"] = reflect.TypeOf((*VslmDiskInfoFlag)(nil)).Elem() -} - -type VslmVStorageObjectControlFlag string - -const ( - VslmVStorageObjectControlFlagKeepAfterDeleteVm = VslmVStorageObjectControlFlag("keepAfterDeleteVm") - VslmVStorageObjectControlFlagDisableRelocation = VslmVStorageObjectControlFlag("disableRelocation") - VslmVStorageObjectControlFlagEnableChangedBlockTracking = VslmVStorageObjectControlFlag("enableChangedBlockTracking") -) - -func init() { - t["vslmVStorageObjectControlFlag"] = reflect.TypeOf((*VslmVStorageObjectControlFlag)(nil)).Elem() -} diff --git a/vendor/github.com/vmware/govmomi/vim25/types/fault.go b/vendor/github.com/vmware/govmomi/vim25/types/fault.go deleted file mode 100644 index 813ea9ec60e..00000000000 --- a/vendor/github.com/vmware/govmomi/vim25/types/fault.go +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2015 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package types - -type HasFault interface { - Fault() BaseMethodFault -} - -func IsFileNotFound(err error) bool { - if f, ok := err.(HasFault); ok { - switch f.Fault().(type) { - case *FileNotFound: - return true - } - } - - return false -} - -func IsAlreadyExists(err error) bool { - if f, ok := err.(HasFault); ok { - switch f.Fault().(type) { - case *AlreadyExists: - return true - } - } - - return false -} diff --git a/vendor/github.com/vmware/govmomi/vim25/types/helpers.go b/vendor/github.com/vmware/govmomi/vim25/types/helpers.go deleted file mode 100644 index 70360eb4fca..00000000000 --- a/vendor/github.com/vmware/govmomi/vim25/types/helpers.go +++ /dev/null @@ -1,316 +0,0 @@ -/* -Copyright (c) 2015-2022 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package types - -import ( - "net/url" - "reflect" - "strings" - "time" -) - -func NewBool(v bool) *bool { - return &v -} - -func NewInt32(v int32) *int32 { - return &v -} - -func NewInt64(v int64) *int64 { - return &v -} - -func NewTime(v time.Time) *time.Time { - return &v -} - -func NewReference(r ManagedObjectReference) *ManagedObjectReference { - return &r -} - -func (r ManagedObjectReference) Reference() ManagedObjectReference { - return r -} - -func (r ManagedObjectReference) String() string { - return strings.Join([]string{r.Type, r.Value}, ":") -} - -func (r *ManagedObjectReference) FromString(o string) bool { - s := strings.SplitN(o, ":", 2) - - if len(s) != 2 { - return false - } - - r.Type = s[0] - r.Value = s[1] - - return true -} - -// Encode ManagedObjectReference for use with URL and File paths -func (r ManagedObjectReference) Encode() string { - return strings.Join([]string{r.Type, url.QueryEscape(r.Value)}, "-") -} - -func (c *PerfCounterInfo) Name() string { - return c.GroupInfo.GetElementDescription().Key + "." + c.NameInfo.GetElementDescription().Key + "." + string(c.RollupType) -} - -func defaultResourceAllocationInfo() ResourceAllocationInfo { - return ResourceAllocationInfo{ - Reservation: NewInt64(0), - ExpandableReservation: NewBool(true), - Limit: NewInt64(-1), - Shares: &SharesInfo{ - Level: SharesLevelNormal, - }, - } -} - -// DefaultResourceConfigSpec returns a ResourceConfigSpec populated with the same default field values as vCenter. -// Note that the wsdl marks these fields as optional, but they are required to be set when creating a resource pool. -// They are only optional when updating a resource pool. -func DefaultResourceConfigSpec() ResourceConfigSpec { - return ResourceConfigSpec{ - CpuAllocation: defaultResourceAllocationInfo(), - MemoryAllocation: defaultResourceAllocationInfo(), - } -} - -// ToConfigSpec returns a VirtualMachineConfigSpec based on the -// VirtualMachineConfigInfo. -func (ci VirtualMachineConfigInfo) ToConfigSpec() VirtualMachineConfigSpec { - cs := VirtualMachineConfigSpec{ - ChangeVersion: ci.ChangeVersion, - Name: ci.Name, - Version: ci.Version, - CreateDate: ci.CreateDate, - Uuid: ci.Uuid, - InstanceUuid: ci.InstanceUuid, - NpivNodeWorldWideName: ci.NpivNodeWorldWideName, - NpivPortWorldWideName: ci.NpivPortWorldWideName, - NpivWorldWideNameType: ci.NpivWorldWideNameType, - NpivDesiredNodeWwns: ci.NpivDesiredNodeWwns, - NpivDesiredPortWwns: ci.NpivDesiredPortWwns, - NpivTemporaryDisabled: ci.NpivTemporaryDisabled, - NpivOnNonRdmDisks: ci.NpivOnNonRdmDisks, - LocationId: ci.LocationId, - GuestId: ci.GuestId, - AlternateGuestName: ci.AlternateGuestName, - Annotation: ci.Annotation, - Files: &ci.Files, - Tools: ci.Tools, - Flags: &ci.Flags, - ConsolePreferences: ci.ConsolePreferences, - PowerOpInfo: &ci.DefaultPowerOps, - NumCPUs: ci.Hardware.NumCPU, - VcpuConfig: ci.VcpuConfig, - NumCoresPerSocket: ci.Hardware.NumCoresPerSocket, - MemoryMB: int64(ci.Hardware.MemoryMB), - MemoryHotAddEnabled: ci.MemoryHotAddEnabled, - CpuHotAddEnabled: ci.CpuHotAddEnabled, - CpuHotRemoveEnabled: ci.CpuHotRemoveEnabled, - VirtualICH7MPresent: ci.Hardware.VirtualICH7MPresent, - VirtualSMCPresent: ci.Hardware.VirtualSMCPresent, - DeviceChange: make([]BaseVirtualDeviceConfigSpec, len(ci.Hardware.Device)), - CpuAllocation: ci.CpuAllocation, - MemoryAllocation: ci.MemoryAllocation, - LatencySensitivity: ci.LatencySensitivity, - CpuAffinity: ci.CpuAffinity, - MemoryAffinity: ci.MemoryAffinity, - NetworkShaper: ci.NetworkShaper, - CpuFeatureMask: make([]VirtualMachineCpuIdInfoSpec, len(ci.CpuFeatureMask)), - ExtraConfig: ci.ExtraConfig, - SwapPlacement: ci.SwapPlacement, - BootOptions: ci.BootOptions, - FtInfo: ci.FtInfo, - RepConfig: ci.RepConfig, - VAssertsEnabled: ci.VAssertsEnabled, - ChangeTrackingEnabled: ci.ChangeTrackingEnabled, - Firmware: ci.Firmware, - MaxMksConnections: ci.MaxMksConnections, - GuestAutoLockEnabled: ci.GuestAutoLockEnabled, - ManagedBy: ci.ManagedBy, - MemoryReservationLockedToMax: ci.MemoryReservationLockedToMax, - NestedHVEnabled: ci.NestedHVEnabled, - VPMCEnabled: ci.VPMCEnabled, - MessageBusTunnelEnabled: ci.MessageBusTunnelEnabled, - MigrateEncryption: ci.MigrateEncryption, - FtEncryptionMode: ci.FtEncryptionMode, - SevEnabled: ci.SevEnabled, - PmemFailoverEnabled: ci.PmemFailoverEnabled, - Pmem: ci.Pmem, - NpivWorldWideNameOp: ci.NpivWorldWideNameType, - RebootPowerOff: ci.RebootPowerOff, - ScheduledHardwareUpgradeInfo: ci.ScheduledHardwareUpgradeInfo, - SgxInfo: ci.SgxInfo, - GuestMonitoringModeInfo: ci.GuestMonitoringModeInfo, - VmxStatsCollectionEnabled: ci.VmxStatsCollectionEnabled, - VmOpNotificationToAppEnabled: ci.VmOpNotificationToAppEnabled, - VmOpNotificationTimeout: ci.VmOpNotificationTimeout, - DeviceSwap: ci.DeviceSwap, - SimultaneousThreads: ci.Hardware.SimultaneousThreads, - DeviceGroups: ci.DeviceGroups, - MotherboardLayout: ci.Hardware.MotherboardLayout, - } - - // Unassign the Files field if all of its fields are empty. - if ci.Files.FtMetadataDirectory == "" && ci.Files.LogDirectory == "" && - ci.Files.SnapshotDirectory == "" && ci.Files.SuspendDirectory == "" && - ci.Files.VmPathName == "" { - cs.Files = nil - } - - // Unassign the Flags field if all of its fields are empty. - if ci.Flags.CbrcCacheEnabled == nil && - ci.Flags.DisableAcceleration == nil && - ci.Flags.DiskUuidEnabled == nil && - ci.Flags.EnableLogging == nil && - ci.Flags.FaultToleranceType == "" && - ci.Flags.HtSharing == "" && - ci.Flags.MonitorType == "" && - ci.Flags.RecordReplayEnabled == nil && - ci.Flags.RunWithDebugInfo == nil && - ci.Flags.SnapshotDisabled == nil && - ci.Flags.SnapshotLocked == nil && - ci.Flags.SnapshotPowerOffBehavior == "" && - ci.Flags.UseToe == nil && - ci.Flags.VbsEnabled == nil && - ci.Flags.VirtualExecUsage == "" && - ci.Flags.VirtualMmuUsage == "" && - ci.Flags.VvtdEnabled == nil { - cs.Flags = nil - } - - // Unassign the PowerOps field if all of its fields are empty. - if ci.DefaultPowerOps.DefaultPowerOffType == "" && - ci.DefaultPowerOps.DefaultResetType == "" && - ci.DefaultPowerOps.DefaultSuspendType == "" && - ci.DefaultPowerOps.PowerOffType == "" && - ci.DefaultPowerOps.ResetType == "" && - ci.DefaultPowerOps.StandbyAction == "" && - ci.DefaultPowerOps.SuspendType == "" { - cs.PowerOpInfo = nil - } - - for i := 0; i < len(cs.CpuFeatureMask); i++ { - cs.CpuFeatureMask[i] = VirtualMachineCpuIdInfoSpec{ - ArrayUpdateSpec: ArrayUpdateSpec{ - Operation: ArrayUpdateOperationAdd, - }, - Info: &HostCpuIdInfo{ - // TODO: Does DynamicData need to be copied? - // It is an empty struct... - Level: ci.CpuFeatureMask[i].Level, - Vendor: ci.CpuFeatureMask[i].Vendor, - Eax: ci.CpuFeatureMask[i].Eax, - Ebx: ci.CpuFeatureMask[i].Ebx, - Ecx: ci.CpuFeatureMask[i].Ecx, - Edx: ci.CpuFeatureMask[i].Edx, - }, - } - } - - for i := 0; i < len(cs.DeviceChange); i++ { - cs.DeviceChange[i] = &VirtualDeviceConfigSpec{ - // TODO: Does DynamicData need to be copied? - // It is an empty struct... - Operation: VirtualDeviceConfigSpecOperationAdd, - FileOperation: VirtualDeviceConfigSpecFileOperationCreate, - Device: ci.Hardware.Device[i], - // TODO: It is unclear how the profiles associated with the VM or - // its hardware can be reintroduced/persisted in the - // ConfigSpec. - Profile: nil, - // The backing will come from the device. - Backing: nil, - // TODO: Investigate futher. - FilterSpec: nil, - } - } - - if ni := ci.NumaInfo; ni != nil { - cs.VirtualNuma = &VirtualMachineVirtualNuma{ - CoresPerNumaNode: ni.CoresPerNumaNode, - ExposeVnumaOnCpuHotadd: ni.VnumaOnCpuHotaddExposed, - } - } - - if civa, ok := ci.VAppConfig.(*VmConfigInfo); ok { - var csva VmConfigSpec - - csva.Eula = civa.Eula - csva.InstallBootRequired = &civa.InstallBootRequired - csva.InstallBootStopDelay = civa.InstallBootStopDelay - - ipAssignment := civa.IpAssignment - csva.IpAssignment = &ipAssignment - - csva.OvfEnvironmentTransport = civa.OvfEnvironmentTransport - for i := range civa.OvfSection { - s := civa.OvfSection[i] - csva.OvfSection = append( - csva.OvfSection, - VAppOvfSectionSpec{ - ArrayUpdateSpec: ArrayUpdateSpec{ - Operation: ArrayUpdateOperationAdd, - }, - Info: &s, - }, - ) - } - - for i := range civa.Product { - p := civa.Product[i] - csva.Product = append( - csva.Product, - VAppProductSpec{ - ArrayUpdateSpec: ArrayUpdateSpec{ - Operation: ArrayUpdateOperationAdd, - }, - Info: &p, - }, - ) - } - - for i := range civa.Property { - p := civa.Property[i] - csva.Property = append( - csva.Property, - VAppPropertySpec{ - ArrayUpdateSpec: ArrayUpdateSpec{ - Operation: ArrayUpdateOperationAdd, - }, - Info: &p, - }, - ) - } - - cs.VAppConfig = &csva - } - - return cs -} - -func init() { - // Known 6.5 issue where this event type is sent even though it is internal. - // This workaround allows us to unmarshal and avoid NPEs. - t["HostSubSpecificationUpdateEvent"] = reflect.TypeOf((*HostEvent)(nil)).Elem() -} diff --git a/vendor/github.com/vmware/govmomi/vim25/types/if.go b/vendor/github.com/vmware/govmomi/vim25/types/if.go deleted file mode 100644 index 03ba1f37d44..00000000000 --- a/vendor/github.com/vmware/govmomi/vim25/types/if.go +++ /dev/null @@ -1,3561 +0,0 @@ -/* -Copyright (c) 2014-2022 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package types - -import "reflect" - -func (b *Action) GetAction() *Action { return b } - -type BaseAction interface { - GetAction() *Action -} - -func init() { - t["BaseAction"] = reflect.TypeOf((*Action)(nil)).Elem() -} - -func (b *ActiveDirectoryFault) GetActiveDirectoryFault() *ActiveDirectoryFault { return b } - -type BaseActiveDirectoryFault interface { - GetActiveDirectoryFault() *ActiveDirectoryFault -} - -func init() { - t["BaseActiveDirectoryFault"] = reflect.TypeOf((*ActiveDirectoryFault)(nil)).Elem() -} - -func (b *AlarmAction) GetAlarmAction() *AlarmAction { return b } - -type BaseAlarmAction interface { - GetAlarmAction() *AlarmAction -} - -func init() { - t["BaseAlarmAction"] = reflect.TypeOf((*AlarmAction)(nil)).Elem() -} - -func (b *AlarmEvent) GetAlarmEvent() *AlarmEvent { return b } - -type BaseAlarmEvent interface { - GetAlarmEvent() *AlarmEvent -} - -func init() { - t["BaseAlarmEvent"] = reflect.TypeOf((*AlarmEvent)(nil)).Elem() -} - -func (b *AlarmExpression) GetAlarmExpression() *AlarmExpression { return b } - -type BaseAlarmExpression interface { - GetAlarmExpression() *AlarmExpression -} - -func init() { - t["BaseAlarmExpression"] = reflect.TypeOf((*AlarmExpression)(nil)).Elem() -} - -func (b *AlarmSpec) GetAlarmSpec() *AlarmSpec { return b } - -type BaseAlarmSpec interface { - GetAlarmSpec() *AlarmSpec -} - -func init() { - t["BaseAlarmSpec"] = reflect.TypeOf((*AlarmSpec)(nil)).Elem() -} - -func (b *AnswerFileCreateSpec) GetAnswerFileCreateSpec() *AnswerFileCreateSpec { return b } - -type BaseAnswerFileCreateSpec interface { - GetAnswerFileCreateSpec() *AnswerFileCreateSpec -} - -func init() { - t["BaseAnswerFileCreateSpec"] = reflect.TypeOf((*AnswerFileCreateSpec)(nil)).Elem() -} - -func (b *ApplyProfile) GetApplyProfile() *ApplyProfile { return b } - -type BaseApplyProfile interface { - GetApplyProfile() *ApplyProfile -} - -func init() { - t["BaseApplyProfile"] = reflect.TypeOf((*ApplyProfile)(nil)).Elem() -} - -func (b *ArrayUpdateSpec) GetArrayUpdateSpec() *ArrayUpdateSpec { return b } - -type BaseArrayUpdateSpec interface { - GetArrayUpdateSpec() *ArrayUpdateSpec -} - -func init() { - t["BaseArrayUpdateSpec"] = reflect.TypeOf((*ArrayUpdateSpec)(nil)).Elem() -} - -func (b *AuthorizationEvent) GetAuthorizationEvent() *AuthorizationEvent { return b } - -type BaseAuthorizationEvent interface { - GetAuthorizationEvent() *AuthorizationEvent -} - -func init() { - t["BaseAuthorizationEvent"] = reflect.TypeOf((*AuthorizationEvent)(nil)).Elem() -} - -func (b *BaseConfigInfo) GetBaseConfigInfo() *BaseConfigInfo { return b } - -type BaseBaseConfigInfo interface { - GetBaseConfigInfo() *BaseConfigInfo -} - -func init() { - t["BaseBaseConfigInfo"] = reflect.TypeOf((*BaseConfigInfo)(nil)).Elem() -} - -func (b *BaseConfigInfoBackingInfo) GetBaseConfigInfoBackingInfo() *BaseConfigInfoBackingInfo { - return b -} - -type BaseBaseConfigInfoBackingInfo interface { - GetBaseConfigInfoBackingInfo() *BaseConfigInfoBackingInfo -} - -func init() { - t["BaseBaseConfigInfoBackingInfo"] = reflect.TypeOf((*BaseConfigInfoBackingInfo)(nil)).Elem() -} - -func (b *BaseConfigInfoFileBackingInfo) GetBaseConfigInfoFileBackingInfo() *BaseConfigInfoFileBackingInfo { - return b -} - -type BaseBaseConfigInfoFileBackingInfo interface { - GetBaseConfigInfoFileBackingInfo() *BaseConfigInfoFileBackingInfo -} - -func init() { - t["BaseBaseConfigInfoFileBackingInfo"] = reflect.TypeOf((*BaseConfigInfoFileBackingInfo)(nil)).Elem() -} - -func (b *CannotAccessNetwork) GetCannotAccessNetwork() *CannotAccessNetwork { return b } - -type BaseCannotAccessNetwork interface { - GetCannotAccessNetwork() *CannotAccessNetwork -} - -func init() { - t["BaseCannotAccessNetwork"] = reflect.TypeOf((*CannotAccessNetwork)(nil)).Elem() -} - -func (b *CannotAccessVmComponent) GetCannotAccessVmComponent() *CannotAccessVmComponent { return b } - -type BaseCannotAccessVmComponent interface { - GetCannotAccessVmComponent() *CannotAccessVmComponent -} - -func init() { - t["BaseCannotAccessVmComponent"] = reflect.TypeOf((*CannotAccessVmComponent)(nil)).Elem() -} - -func (b *CannotAccessVmDevice) GetCannotAccessVmDevice() *CannotAccessVmDevice { return b } - -type BaseCannotAccessVmDevice interface { - GetCannotAccessVmDevice() *CannotAccessVmDevice -} - -func init() { - t["BaseCannotAccessVmDevice"] = reflect.TypeOf((*CannotAccessVmDevice)(nil)).Elem() -} - -func (b *CannotAccessVmDisk) GetCannotAccessVmDisk() *CannotAccessVmDisk { return b } - -type BaseCannotAccessVmDisk interface { - GetCannotAccessVmDisk() *CannotAccessVmDisk -} - -func init() { - t["BaseCannotAccessVmDisk"] = reflect.TypeOf((*CannotAccessVmDisk)(nil)).Elem() -} - -func (b *CannotMoveVsanEnabledHost) GetCannotMoveVsanEnabledHost() *CannotMoveVsanEnabledHost { - return b -} - -type BaseCannotMoveVsanEnabledHost interface { - GetCannotMoveVsanEnabledHost() *CannotMoveVsanEnabledHost -} - -func init() { - t["BaseCannotMoveVsanEnabledHost"] = reflect.TypeOf((*CannotMoveVsanEnabledHost)(nil)).Elem() -} - -func (b *ClusterAction) GetClusterAction() *ClusterAction { return b } - -type BaseClusterAction interface { - GetClusterAction() *ClusterAction -} - -func init() { - t["BaseClusterAction"] = reflect.TypeOf((*ClusterAction)(nil)).Elem() -} - -func (b *ClusterComputeResourceValidationResultBase) GetClusterComputeResourceValidationResultBase() *ClusterComputeResourceValidationResultBase { - return b -} - -type BaseClusterComputeResourceValidationResultBase interface { - GetClusterComputeResourceValidationResultBase() *ClusterComputeResourceValidationResultBase -} - -func init() { - t["BaseClusterComputeResourceValidationResultBase"] = reflect.TypeOf((*ClusterComputeResourceValidationResultBase)(nil)).Elem() -} - -func (b *ClusterDasAdmissionControlInfo) GetClusterDasAdmissionControlInfo() *ClusterDasAdmissionControlInfo { - return b -} - -type BaseClusterDasAdmissionControlInfo interface { - GetClusterDasAdmissionControlInfo() *ClusterDasAdmissionControlInfo -} - -func init() { - t["BaseClusterDasAdmissionControlInfo"] = reflect.TypeOf((*ClusterDasAdmissionControlInfo)(nil)).Elem() -} - -func (b *ClusterDasAdmissionControlPolicy) GetClusterDasAdmissionControlPolicy() *ClusterDasAdmissionControlPolicy { - return b -} - -type BaseClusterDasAdmissionControlPolicy interface { - GetClusterDasAdmissionControlPolicy() *ClusterDasAdmissionControlPolicy -} - -func init() { - t["BaseClusterDasAdmissionControlPolicy"] = reflect.TypeOf((*ClusterDasAdmissionControlPolicy)(nil)).Elem() -} - -func (b *ClusterDasAdvancedRuntimeInfo) GetClusterDasAdvancedRuntimeInfo() *ClusterDasAdvancedRuntimeInfo { - return b -} - -type BaseClusterDasAdvancedRuntimeInfo interface { - GetClusterDasAdvancedRuntimeInfo() *ClusterDasAdvancedRuntimeInfo -} - -func init() { - t["BaseClusterDasAdvancedRuntimeInfo"] = reflect.TypeOf((*ClusterDasAdvancedRuntimeInfo)(nil)).Elem() -} - -func (b *ClusterDasData) GetClusterDasData() *ClusterDasData { return b } - -type BaseClusterDasData interface { - GetClusterDasData() *ClusterDasData -} - -func init() { - t["BaseClusterDasData"] = reflect.TypeOf((*ClusterDasData)(nil)).Elem() -} - -func (b *ClusterDasHostInfo) GetClusterDasHostInfo() *ClusterDasHostInfo { return b } - -type BaseClusterDasHostInfo interface { - GetClusterDasHostInfo() *ClusterDasHostInfo -} - -func init() { - t["BaseClusterDasHostInfo"] = reflect.TypeOf((*ClusterDasHostInfo)(nil)).Elem() -} - -func (b *ClusterDrsFaultsFaultsByVm) GetClusterDrsFaultsFaultsByVm() *ClusterDrsFaultsFaultsByVm { - return b -} - -type BaseClusterDrsFaultsFaultsByVm interface { - GetClusterDrsFaultsFaultsByVm() *ClusterDrsFaultsFaultsByVm -} - -func init() { - t["BaseClusterDrsFaultsFaultsByVm"] = reflect.TypeOf((*ClusterDrsFaultsFaultsByVm)(nil)).Elem() -} - -func (b *ClusterEvent) GetClusterEvent() *ClusterEvent { return b } - -type BaseClusterEvent interface { - GetClusterEvent() *ClusterEvent -} - -func init() { - t["BaseClusterEvent"] = reflect.TypeOf((*ClusterEvent)(nil)).Elem() -} - -func (b *ClusterGroupInfo) GetClusterGroupInfo() *ClusterGroupInfo { return b } - -type BaseClusterGroupInfo interface { - GetClusterGroupInfo() *ClusterGroupInfo -} - -func init() { - t["BaseClusterGroupInfo"] = reflect.TypeOf((*ClusterGroupInfo)(nil)).Elem() -} - -func (b *ClusterOvercommittedEvent) GetClusterOvercommittedEvent() *ClusterOvercommittedEvent { - return b -} - -type BaseClusterOvercommittedEvent interface { - GetClusterOvercommittedEvent() *ClusterOvercommittedEvent -} - -func init() { - t["BaseClusterOvercommittedEvent"] = reflect.TypeOf((*ClusterOvercommittedEvent)(nil)).Elem() -} - -func (b *ClusterProfileConfigSpec) GetClusterProfileConfigSpec() *ClusterProfileConfigSpec { return b } - -type BaseClusterProfileConfigSpec interface { - GetClusterProfileConfigSpec() *ClusterProfileConfigSpec -} - -func init() { - t["BaseClusterProfileConfigSpec"] = reflect.TypeOf((*ClusterProfileConfigSpec)(nil)).Elem() -} - -func (b *ClusterProfileCreateSpec) GetClusterProfileCreateSpec() *ClusterProfileCreateSpec { return b } - -type BaseClusterProfileCreateSpec interface { - GetClusterProfileCreateSpec() *ClusterProfileCreateSpec -} - -func init() { - t["BaseClusterProfileCreateSpec"] = reflect.TypeOf((*ClusterProfileCreateSpec)(nil)).Elem() -} - -func (b *ClusterRuleInfo) GetClusterRuleInfo() *ClusterRuleInfo { return b } - -type BaseClusterRuleInfo interface { - GetClusterRuleInfo() *ClusterRuleInfo -} - -func init() { - t["BaseClusterRuleInfo"] = reflect.TypeOf((*ClusterRuleInfo)(nil)).Elem() -} - -func (b *ClusterSlotPolicy) GetClusterSlotPolicy() *ClusterSlotPolicy { return b } - -type BaseClusterSlotPolicy interface { - GetClusterSlotPolicy() *ClusterSlotPolicy -} - -func init() { - t["BaseClusterSlotPolicy"] = reflect.TypeOf((*ClusterSlotPolicy)(nil)).Elem() -} - -func (b *ClusterStatusChangedEvent) GetClusterStatusChangedEvent() *ClusterStatusChangedEvent { - return b -} - -type BaseClusterStatusChangedEvent interface { - GetClusterStatusChangedEvent() *ClusterStatusChangedEvent -} - -func init() { - t["BaseClusterStatusChangedEvent"] = reflect.TypeOf((*ClusterStatusChangedEvent)(nil)).Elem() -} - -func (b *ComputeResourceConfigInfo) GetComputeResourceConfigInfo() *ComputeResourceConfigInfo { - return b -} - -type BaseComputeResourceConfigInfo interface { - GetComputeResourceConfigInfo() *ComputeResourceConfigInfo -} - -func init() { - t["BaseComputeResourceConfigInfo"] = reflect.TypeOf((*ComputeResourceConfigInfo)(nil)).Elem() -} - -func (b *ComputeResourceConfigSpec) GetComputeResourceConfigSpec() *ComputeResourceConfigSpec { - return b -} - -type BaseComputeResourceConfigSpec interface { - GetComputeResourceConfigSpec() *ComputeResourceConfigSpec -} - -func init() { - t["BaseComputeResourceConfigSpec"] = reflect.TypeOf((*ComputeResourceConfigSpec)(nil)).Elem() -} - -func (b *ComputeResourceSummary) GetComputeResourceSummary() *ComputeResourceSummary { return b } - -type BaseComputeResourceSummary interface { - GetComputeResourceSummary() *ComputeResourceSummary -} - -func init() { - t["BaseComputeResourceSummary"] = reflect.TypeOf((*ComputeResourceSummary)(nil)).Elem() -} - -func (b *CpuIncompatible) GetCpuIncompatible() *CpuIncompatible { return b } - -type BaseCpuIncompatible interface { - GetCpuIncompatible() *CpuIncompatible -} - -func init() { - t["BaseCpuIncompatible"] = reflect.TypeOf((*CpuIncompatible)(nil)).Elem() -} - -func (b *CryptoSpec) GetCryptoSpec() *CryptoSpec { return b } - -type BaseCryptoSpec interface { - GetCryptoSpec() *CryptoSpec -} - -func init() { - t["BaseCryptoSpec"] = reflect.TypeOf((*CryptoSpec)(nil)).Elem() -} - -func (b *CryptoSpecNoOp) GetCryptoSpecNoOp() *CryptoSpecNoOp { return b } - -type BaseCryptoSpecNoOp interface { - GetCryptoSpecNoOp() *CryptoSpecNoOp -} - -func init() { - t["BaseCryptoSpecNoOp"] = reflect.TypeOf((*CryptoSpecNoOp)(nil)).Elem() -} - -func (b *CustomFieldDefEvent) GetCustomFieldDefEvent() *CustomFieldDefEvent { return b } - -type BaseCustomFieldDefEvent interface { - GetCustomFieldDefEvent() *CustomFieldDefEvent -} - -func init() { - t["BaseCustomFieldDefEvent"] = reflect.TypeOf((*CustomFieldDefEvent)(nil)).Elem() -} - -func (b *CustomFieldEvent) GetCustomFieldEvent() *CustomFieldEvent { return b } - -type BaseCustomFieldEvent interface { - GetCustomFieldEvent() *CustomFieldEvent -} - -func init() { - t["BaseCustomFieldEvent"] = reflect.TypeOf((*CustomFieldEvent)(nil)).Elem() -} - -func (b *CustomFieldValue) GetCustomFieldValue() *CustomFieldValue { return b } - -type BaseCustomFieldValue interface { - GetCustomFieldValue() *CustomFieldValue -} - -func init() { - t["BaseCustomFieldValue"] = reflect.TypeOf((*CustomFieldValue)(nil)).Elem() -} - -func (b *CustomizationEvent) GetCustomizationEvent() *CustomizationEvent { return b } - -type BaseCustomizationEvent interface { - GetCustomizationEvent() *CustomizationEvent -} - -func init() { - t["BaseCustomizationEvent"] = reflect.TypeOf((*CustomizationEvent)(nil)).Elem() -} - -func (b *CustomizationFailed) GetCustomizationFailed() *CustomizationFailed { return b } - -type BaseCustomizationFailed interface { - GetCustomizationFailed() *CustomizationFailed -} - -func init() { - t["BaseCustomizationFailed"] = reflect.TypeOf((*CustomizationFailed)(nil)).Elem() -} - -func (b *CustomizationFault) GetCustomizationFault() *CustomizationFault { return b } - -type BaseCustomizationFault interface { - GetCustomizationFault() *CustomizationFault -} - -func init() { - t["BaseCustomizationFault"] = reflect.TypeOf((*CustomizationFault)(nil)).Elem() -} - -func (b *CustomizationIdentitySettings) GetCustomizationIdentitySettings() *CustomizationIdentitySettings { - return b -} - -type BaseCustomizationIdentitySettings interface { - GetCustomizationIdentitySettings() *CustomizationIdentitySettings -} - -func init() { - t["BaseCustomizationIdentitySettings"] = reflect.TypeOf((*CustomizationIdentitySettings)(nil)).Elem() -} - -func (b *CustomizationIpGenerator) GetCustomizationIpGenerator() *CustomizationIpGenerator { return b } - -type BaseCustomizationIpGenerator interface { - GetCustomizationIpGenerator() *CustomizationIpGenerator -} - -func init() { - t["BaseCustomizationIpGenerator"] = reflect.TypeOf((*CustomizationIpGenerator)(nil)).Elem() -} - -func (b *CustomizationIpV6Generator) GetCustomizationIpV6Generator() *CustomizationIpV6Generator { - return b -} - -type BaseCustomizationIpV6Generator interface { - GetCustomizationIpV6Generator() *CustomizationIpV6Generator -} - -func init() { - t["BaseCustomizationIpV6Generator"] = reflect.TypeOf((*CustomizationIpV6Generator)(nil)).Elem() -} - -func (b *CustomizationName) GetCustomizationName() *CustomizationName { return b } - -type BaseCustomizationName interface { - GetCustomizationName() *CustomizationName -} - -func init() { - t["BaseCustomizationName"] = reflect.TypeOf((*CustomizationName)(nil)).Elem() -} - -func (b *CustomizationOptions) GetCustomizationOptions() *CustomizationOptions { return b } - -type BaseCustomizationOptions interface { - GetCustomizationOptions() *CustomizationOptions -} - -func init() { - t["BaseCustomizationOptions"] = reflect.TypeOf((*CustomizationOptions)(nil)).Elem() -} - -func (b *DVPortSetting) GetDVPortSetting() *DVPortSetting { return b } - -type BaseDVPortSetting interface { - GetDVPortSetting() *DVPortSetting -} - -func init() { - t["BaseDVPortSetting"] = reflect.TypeOf((*DVPortSetting)(nil)).Elem() -} - -func (b *DVPortgroupEvent) GetDVPortgroupEvent() *DVPortgroupEvent { return b } - -type BaseDVPortgroupEvent interface { - GetDVPortgroupEvent() *DVPortgroupEvent -} - -func init() { - t["BaseDVPortgroupEvent"] = reflect.TypeOf((*DVPortgroupEvent)(nil)).Elem() -} - -func (b *DVPortgroupPolicy) GetDVPortgroupPolicy() *DVPortgroupPolicy { return b } - -type BaseDVPortgroupPolicy interface { - GetDVPortgroupPolicy() *DVPortgroupPolicy -} - -func init() { - t["BaseDVPortgroupPolicy"] = reflect.TypeOf((*DVPortgroupPolicy)(nil)).Elem() -} - -func (b *DVSConfigInfo) GetDVSConfigInfo() *DVSConfigInfo { return b } - -type BaseDVSConfigInfo interface { - GetDVSConfigInfo() *DVSConfigInfo -} - -func init() { - t["BaseDVSConfigInfo"] = reflect.TypeOf((*DVSConfigInfo)(nil)).Elem() -} - -func (b *DVSConfigSpec) GetDVSConfigSpec() *DVSConfigSpec { return b } - -type BaseDVSConfigSpec interface { - GetDVSConfigSpec() *DVSConfigSpec -} - -func init() { - t["BaseDVSConfigSpec"] = reflect.TypeOf((*DVSConfigSpec)(nil)).Elem() -} - -func (b *DVSFeatureCapability) GetDVSFeatureCapability() *DVSFeatureCapability { return b } - -type BaseDVSFeatureCapability interface { - GetDVSFeatureCapability() *DVSFeatureCapability -} - -func init() { - t["BaseDVSFeatureCapability"] = reflect.TypeOf((*DVSFeatureCapability)(nil)).Elem() -} - -func (b *DVSHealthCheckCapability) GetDVSHealthCheckCapability() *DVSHealthCheckCapability { return b } - -type BaseDVSHealthCheckCapability interface { - GetDVSHealthCheckCapability() *DVSHealthCheckCapability -} - -func init() { - t["BaseDVSHealthCheckCapability"] = reflect.TypeOf((*DVSHealthCheckCapability)(nil)).Elem() -} - -func (b *DVSHealthCheckConfig) GetDVSHealthCheckConfig() *DVSHealthCheckConfig { return b } - -type BaseDVSHealthCheckConfig interface { - GetDVSHealthCheckConfig() *DVSHealthCheckConfig -} - -func init() { - t["BaseDVSHealthCheckConfig"] = reflect.TypeOf((*DVSHealthCheckConfig)(nil)).Elem() -} - -func (b *DVSUplinkPortPolicy) GetDVSUplinkPortPolicy() *DVSUplinkPortPolicy { return b } - -type BaseDVSUplinkPortPolicy interface { - GetDVSUplinkPortPolicy() *DVSUplinkPortPolicy -} - -func init() { - t["BaseDVSUplinkPortPolicy"] = reflect.TypeOf((*DVSUplinkPortPolicy)(nil)).Elem() -} - -func (b *DailyTaskScheduler) GetDailyTaskScheduler() *DailyTaskScheduler { return b } - -type BaseDailyTaskScheduler interface { - GetDailyTaskScheduler() *DailyTaskScheduler -} - -func init() { - t["BaseDailyTaskScheduler"] = reflect.TypeOf((*DailyTaskScheduler)(nil)).Elem() -} - -func (b *DatacenterEvent) GetDatacenterEvent() *DatacenterEvent { return b } - -type BaseDatacenterEvent interface { - GetDatacenterEvent() *DatacenterEvent -} - -func init() { - t["BaseDatacenterEvent"] = reflect.TypeOf((*DatacenterEvent)(nil)).Elem() -} - -func (b *DatastoreEvent) GetDatastoreEvent() *DatastoreEvent { return b } - -type BaseDatastoreEvent interface { - GetDatastoreEvent() *DatastoreEvent -} - -func init() { - t["BaseDatastoreEvent"] = reflect.TypeOf((*DatastoreEvent)(nil)).Elem() -} - -func (b *DatastoreFileEvent) GetDatastoreFileEvent() *DatastoreFileEvent { return b } - -type BaseDatastoreFileEvent interface { - GetDatastoreFileEvent() *DatastoreFileEvent -} - -func init() { - t["BaseDatastoreFileEvent"] = reflect.TypeOf((*DatastoreFileEvent)(nil)).Elem() -} - -func (b *DatastoreInfo) GetDatastoreInfo() *DatastoreInfo { return b } - -type BaseDatastoreInfo interface { - GetDatastoreInfo() *DatastoreInfo -} - -func init() { - t["BaseDatastoreInfo"] = reflect.TypeOf((*DatastoreInfo)(nil)).Elem() -} - -func (b *DatastoreNotWritableOnHost) GetDatastoreNotWritableOnHost() *DatastoreNotWritableOnHost { - return b -} - -type BaseDatastoreNotWritableOnHost interface { - GetDatastoreNotWritableOnHost() *DatastoreNotWritableOnHost -} - -func init() { - t["BaseDatastoreNotWritableOnHost"] = reflect.TypeOf((*DatastoreNotWritableOnHost)(nil)).Elem() -} - -func (b *Description) GetDescription() *Description { return b } - -type BaseDescription interface { - GetDescription() *Description -} - -func init() { - t["BaseDescription"] = reflect.TypeOf((*Description)(nil)).Elem() -} - -func (b *DeviceBackingNotSupported) GetDeviceBackingNotSupported() *DeviceBackingNotSupported { - return b -} - -type BaseDeviceBackingNotSupported interface { - GetDeviceBackingNotSupported() *DeviceBackingNotSupported -} - -func init() { - t["BaseDeviceBackingNotSupported"] = reflect.TypeOf((*DeviceBackingNotSupported)(nil)).Elem() -} - -func (b *DeviceNotSupported) GetDeviceNotSupported() *DeviceNotSupported { return b } - -type BaseDeviceNotSupported interface { - GetDeviceNotSupported() *DeviceNotSupported -} - -func init() { - t["BaseDeviceNotSupported"] = reflect.TypeOf((*DeviceNotSupported)(nil)).Elem() -} - -func (b *DiskNotSupported) GetDiskNotSupported() *DiskNotSupported { return b } - -type BaseDiskNotSupported interface { - GetDiskNotSupported() *DiskNotSupported -} - -func init() { - t["BaseDiskNotSupported"] = reflect.TypeOf((*DiskNotSupported)(nil)).Elem() -} - -func (b *DistributedVirtualSwitchHostMemberBacking) GetDistributedVirtualSwitchHostMemberBacking() *DistributedVirtualSwitchHostMemberBacking { - return b -} - -type BaseDistributedVirtualSwitchHostMemberBacking interface { - GetDistributedVirtualSwitchHostMemberBacking() *DistributedVirtualSwitchHostMemberBacking -} - -func init() { - t["BaseDistributedVirtualSwitchHostMemberBacking"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberBacking)(nil)).Elem() -} - -func (b *DistributedVirtualSwitchManagerHostDvsFilterSpec) GetDistributedVirtualSwitchManagerHostDvsFilterSpec() *DistributedVirtualSwitchManagerHostDvsFilterSpec { - return b -} - -type BaseDistributedVirtualSwitchManagerHostDvsFilterSpec interface { - GetDistributedVirtualSwitchManagerHostDvsFilterSpec() *DistributedVirtualSwitchManagerHostDvsFilterSpec -} - -func init() { - t["BaseDistributedVirtualSwitchManagerHostDvsFilterSpec"] = reflect.TypeOf((*DistributedVirtualSwitchManagerHostDvsFilterSpec)(nil)).Elem() -} - -func (b *DvsEvent) GetDvsEvent() *DvsEvent { return b } - -type BaseDvsEvent interface { - GetDvsEvent() *DvsEvent -} - -func init() { - t["BaseDvsEvent"] = reflect.TypeOf((*DvsEvent)(nil)).Elem() -} - -func (b *DvsFault) GetDvsFault() *DvsFault { return b } - -type BaseDvsFault interface { - GetDvsFault() *DvsFault -} - -func init() { - t["BaseDvsFault"] = reflect.TypeOf((*DvsFault)(nil)).Elem() -} - -func (b *DvsFilterConfig) GetDvsFilterConfig() *DvsFilterConfig { return b } - -type BaseDvsFilterConfig interface { - GetDvsFilterConfig() *DvsFilterConfig -} - -func init() { - t["BaseDvsFilterConfig"] = reflect.TypeOf((*DvsFilterConfig)(nil)).Elem() -} - -func (b *DvsHealthStatusChangeEvent) GetDvsHealthStatusChangeEvent() *DvsHealthStatusChangeEvent { - return b -} - -type BaseDvsHealthStatusChangeEvent interface { - GetDvsHealthStatusChangeEvent() *DvsHealthStatusChangeEvent -} - -func init() { - t["BaseDvsHealthStatusChangeEvent"] = reflect.TypeOf((*DvsHealthStatusChangeEvent)(nil)).Elem() -} - -func (b *DvsIpPort) GetDvsIpPort() *DvsIpPort { return b } - -type BaseDvsIpPort interface { - GetDvsIpPort() *DvsIpPort -} - -func init() { - t["BaseDvsIpPort"] = reflect.TypeOf((*DvsIpPort)(nil)).Elem() -} - -func (b *DvsNetworkRuleAction) GetDvsNetworkRuleAction() *DvsNetworkRuleAction { return b } - -type BaseDvsNetworkRuleAction interface { - GetDvsNetworkRuleAction() *DvsNetworkRuleAction -} - -func init() { - t["BaseDvsNetworkRuleAction"] = reflect.TypeOf((*DvsNetworkRuleAction)(nil)).Elem() -} - -func (b *DvsNetworkRuleQualifier) GetDvsNetworkRuleQualifier() *DvsNetworkRuleQualifier { return b } - -type BaseDvsNetworkRuleQualifier interface { - GetDvsNetworkRuleQualifier() *DvsNetworkRuleQualifier -} - -func init() { - t["BaseDvsNetworkRuleQualifier"] = reflect.TypeOf((*DvsNetworkRuleQualifier)(nil)).Elem() -} - -func (b *DvsTrafficFilterConfig) GetDvsTrafficFilterConfig() *DvsTrafficFilterConfig { return b } - -type BaseDvsTrafficFilterConfig interface { - GetDvsTrafficFilterConfig() *DvsTrafficFilterConfig -} - -func init() { - t["BaseDvsTrafficFilterConfig"] = reflect.TypeOf((*DvsTrafficFilterConfig)(nil)).Elem() -} - -func (b *DvsVNicProfile) GetDvsVNicProfile() *DvsVNicProfile { return b } - -type BaseDvsVNicProfile interface { - GetDvsVNicProfile() *DvsVNicProfile -} - -func init() { - t["BaseDvsVNicProfile"] = reflect.TypeOf((*DvsVNicProfile)(nil)).Elem() -} - -func (b *DynamicData) GetDynamicData() *DynamicData { return b } - -type BaseDynamicData interface { - GetDynamicData() *DynamicData -} - -func init() { - t["BaseDynamicData"] = reflect.TypeOf((*DynamicData)(nil)).Elem() -} - -func (b *EVCAdmissionFailed) GetEVCAdmissionFailed() *EVCAdmissionFailed { return b } - -type BaseEVCAdmissionFailed interface { - GetEVCAdmissionFailed() *EVCAdmissionFailed -} - -func init() { - t["BaseEVCAdmissionFailed"] = reflect.TypeOf((*EVCAdmissionFailed)(nil)).Elem() -} - -func (b *EVCConfigFault) GetEVCConfigFault() *EVCConfigFault { return b } - -type BaseEVCConfigFault interface { - GetEVCConfigFault() *EVCConfigFault -} - -func init() { - t["BaseEVCConfigFault"] = reflect.TypeOf((*EVCConfigFault)(nil)).Elem() -} - -func (b *ElementDescription) GetElementDescription() *ElementDescription { return b } - -type BaseElementDescription interface { - GetElementDescription() *ElementDescription -} - -func init() { - t["BaseElementDescription"] = reflect.TypeOf((*ElementDescription)(nil)).Elem() -} - -func (b *EnteredStandbyModeEvent) GetEnteredStandbyModeEvent() *EnteredStandbyModeEvent { return b } - -type BaseEnteredStandbyModeEvent interface { - GetEnteredStandbyModeEvent() *EnteredStandbyModeEvent -} - -func init() { - t["BaseEnteredStandbyModeEvent"] = reflect.TypeOf((*EnteredStandbyModeEvent)(nil)).Elem() -} - -func (b *EnteringStandbyModeEvent) GetEnteringStandbyModeEvent() *EnteringStandbyModeEvent { return b } - -type BaseEnteringStandbyModeEvent interface { - GetEnteringStandbyModeEvent() *EnteringStandbyModeEvent -} - -func init() { - t["BaseEnteringStandbyModeEvent"] = reflect.TypeOf((*EnteringStandbyModeEvent)(nil)).Elem() -} - -func (b *EntityEventArgument) GetEntityEventArgument() *EntityEventArgument { return b } - -type BaseEntityEventArgument interface { - GetEntityEventArgument() *EntityEventArgument -} - -func init() { - t["BaseEntityEventArgument"] = reflect.TypeOf((*EntityEventArgument)(nil)).Elem() -} - -func (b *Event) GetEvent() *Event { return b } - -type BaseEvent interface { - GetEvent() *Event -} - -func init() { - t["BaseEvent"] = reflect.TypeOf((*Event)(nil)).Elem() -} - -func (b *EventArgument) GetEventArgument() *EventArgument { return b } - -type BaseEventArgument interface { - GetEventArgument() *EventArgument -} - -func init() { - t["BaseEventArgument"] = reflect.TypeOf((*EventArgument)(nil)).Elem() -} - -func (b *ExitStandbyModeFailedEvent) GetExitStandbyModeFailedEvent() *ExitStandbyModeFailedEvent { - return b -} - -type BaseExitStandbyModeFailedEvent interface { - GetExitStandbyModeFailedEvent() *ExitStandbyModeFailedEvent -} - -func init() { - t["BaseExitStandbyModeFailedEvent"] = reflect.TypeOf((*ExitStandbyModeFailedEvent)(nil)).Elem() -} - -func (b *ExitedStandbyModeEvent) GetExitedStandbyModeEvent() *ExitedStandbyModeEvent { return b } - -type BaseExitedStandbyModeEvent interface { - GetExitedStandbyModeEvent() *ExitedStandbyModeEvent -} - -func init() { - t["BaseExitedStandbyModeEvent"] = reflect.TypeOf((*ExitedStandbyModeEvent)(nil)).Elem() -} - -func (b *ExitingStandbyModeEvent) GetExitingStandbyModeEvent() *ExitingStandbyModeEvent { return b } - -type BaseExitingStandbyModeEvent interface { - GetExitingStandbyModeEvent() *ExitingStandbyModeEvent -} - -func init() { - t["BaseExitingStandbyModeEvent"] = reflect.TypeOf((*ExitingStandbyModeEvent)(nil)).Elem() -} - -func (b *ExpiredFeatureLicense) GetExpiredFeatureLicense() *ExpiredFeatureLicense { return b } - -type BaseExpiredFeatureLicense interface { - GetExpiredFeatureLicense() *ExpiredFeatureLicense -} - -func init() { - t["BaseExpiredFeatureLicense"] = reflect.TypeOf((*ExpiredFeatureLicense)(nil)).Elem() -} - -func (b *FaultToleranceConfigInfo) GetFaultToleranceConfigInfo() *FaultToleranceConfigInfo { return b } - -type BaseFaultToleranceConfigInfo interface { - GetFaultToleranceConfigInfo() *FaultToleranceConfigInfo -} - -func init() { - t["BaseFaultToleranceConfigInfo"] = reflect.TypeOf((*FaultToleranceConfigInfo)(nil)).Elem() -} - -func (b *FcoeFault) GetFcoeFault() *FcoeFault { return b } - -type BaseFcoeFault interface { - GetFcoeFault() *FcoeFault -} - -func init() { - t["BaseFcoeFault"] = reflect.TypeOf((*FcoeFault)(nil)).Elem() -} - -func (b *FileBackedVirtualDiskSpec) GetFileBackedVirtualDiskSpec() *FileBackedVirtualDiskSpec { - return b -} - -type BaseFileBackedVirtualDiskSpec interface { - GetFileBackedVirtualDiskSpec() *FileBackedVirtualDiskSpec -} - -func init() { - t["BaseFileBackedVirtualDiskSpec"] = reflect.TypeOf((*FileBackedVirtualDiskSpec)(nil)).Elem() -} - -func (b *FileFault) GetFileFault() *FileFault { return b } - -type BaseFileFault interface { - GetFileFault() *FileFault -} - -func init() { - t["BaseFileFault"] = reflect.TypeOf((*FileFault)(nil)).Elem() -} - -func (b *FileInfo) GetFileInfo() *FileInfo { return b } - -type BaseFileInfo interface { - GetFileInfo() *FileInfo -} - -func init() { - t["BaseFileInfo"] = reflect.TypeOf((*FileInfo)(nil)).Elem() -} - -func (b *FileQuery) GetFileQuery() *FileQuery { return b } - -type BaseFileQuery interface { - GetFileQuery() *FileQuery -} - -func init() { - t["BaseFileQuery"] = reflect.TypeOf((*FileQuery)(nil)).Elem() -} - -func (b *GatewayConnectFault) GetGatewayConnectFault() *GatewayConnectFault { return b } - -type BaseGatewayConnectFault interface { - GetGatewayConnectFault() *GatewayConnectFault -} - -func init() { - t["BaseGatewayConnectFault"] = reflect.TypeOf((*GatewayConnectFault)(nil)).Elem() -} - -func (b *GatewayToHostConnectFault) GetGatewayToHostConnectFault() *GatewayToHostConnectFault { - return b -} - -type BaseGatewayToHostConnectFault interface { - GetGatewayToHostConnectFault() *GatewayToHostConnectFault -} - -func init() { - t["BaseGatewayToHostConnectFault"] = reflect.TypeOf((*GatewayToHostConnectFault)(nil)).Elem() -} - -func (b *GeneralEvent) GetGeneralEvent() *GeneralEvent { return b } - -type BaseGeneralEvent interface { - GetGeneralEvent() *GeneralEvent -} - -func init() { - t["BaseGeneralEvent"] = reflect.TypeOf((*GeneralEvent)(nil)).Elem() -} - -func (b *GuestAuthSubject) GetGuestAuthSubject() *GuestAuthSubject { return b } - -type BaseGuestAuthSubject interface { - GetGuestAuthSubject() *GuestAuthSubject -} - -func init() { - t["BaseGuestAuthSubject"] = reflect.TypeOf((*GuestAuthSubject)(nil)).Elem() -} - -func (b *GuestAuthentication) GetGuestAuthentication() *GuestAuthentication { return b } - -type BaseGuestAuthentication interface { - GetGuestAuthentication() *GuestAuthentication -} - -func init() { - t["BaseGuestAuthentication"] = reflect.TypeOf((*GuestAuthentication)(nil)).Elem() -} - -func (b *GuestFileAttributes) GetGuestFileAttributes() *GuestFileAttributes { return b } - -type BaseGuestFileAttributes interface { - GetGuestFileAttributes() *GuestFileAttributes -} - -func init() { - t["BaseGuestFileAttributes"] = reflect.TypeOf((*GuestFileAttributes)(nil)).Elem() -} - -func (b *GuestOperationsFault) GetGuestOperationsFault() *GuestOperationsFault { return b } - -type BaseGuestOperationsFault interface { - GetGuestOperationsFault() *GuestOperationsFault -} - -func init() { - t["BaseGuestOperationsFault"] = reflect.TypeOf((*GuestOperationsFault)(nil)).Elem() -} - -func (b *GuestProgramSpec) GetGuestProgramSpec() *GuestProgramSpec { return b } - -type BaseGuestProgramSpec interface { - GetGuestProgramSpec() *GuestProgramSpec -} - -func init() { - t["BaseGuestProgramSpec"] = reflect.TypeOf((*GuestProgramSpec)(nil)).Elem() -} - -func (b *GuestRegValueDataSpec) GetGuestRegValueDataSpec() *GuestRegValueDataSpec { return b } - -type BaseGuestRegValueDataSpec interface { - GetGuestRegValueDataSpec() *GuestRegValueDataSpec -} - -func init() { - t["BaseGuestRegValueDataSpec"] = reflect.TypeOf((*GuestRegValueDataSpec)(nil)).Elem() -} - -func (b *GuestRegistryFault) GetGuestRegistryFault() *GuestRegistryFault { return b } - -type BaseGuestRegistryFault interface { - GetGuestRegistryFault() *GuestRegistryFault -} - -func init() { - t["BaseGuestRegistryFault"] = reflect.TypeOf((*GuestRegistryFault)(nil)).Elem() -} - -func (b *GuestRegistryKeyFault) GetGuestRegistryKeyFault() *GuestRegistryKeyFault { return b } - -type BaseGuestRegistryKeyFault interface { - GetGuestRegistryKeyFault() *GuestRegistryKeyFault -} - -func init() { - t["BaseGuestRegistryKeyFault"] = reflect.TypeOf((*GuestRegistryKeyFault)(nil)).Elem() -} - -func (b *GuestRegistryValueFault) GetGuestRegistryValueFault() *GuestRegistryValueFault { return b } - -type BaseGuestRegistryValueFault interface { - GetGuestRegistryValueFault() *GuestRegistryValueFault -} - -func init() { - t["BaseGuestRegistryValueFault"] = reflect.TypeOf((*GuestRegistryValueFault)(nil)).Elem() -} - -func (b *HostAccountSpec) GetHostAccountSpec() *HostAccountSpec { return b } - -type BaseHostAccountSpec interface { - GetHostAccountSpec() *HostAccountSpec -} - -func init() { - t["BaseHostAccountSpec"] = reflect.TypeOf((*HostAccountSpec)(nil)).Elem() -} - -func (b *HostAuthenticationStoreInfo) GetHostAuthenticationStoreInfo() *HostAuthenticationStoreInfo { - return b -} - -type BaseHostAuthenticationStoreInfo interface { - GetHostAuthenticationStoreInfo() *HostAuthenticationStoreInfo -} - -func init() { - t["BaseHostAuthenticationStoreInfo"] = reflect.TypeOf((*HostAuthenticationStoreInfo)(nil)).Elem() -} - -func (b *HostCommunication) GetHostCommunication() *HostCommunication { return b } - -type BaseHostCommunication interface { - GetHostCommunication() *HostCommunication -} - -func init() { - t["BaseHostCommunication"] = reflect.TypeOf((*HostCommunication)(nil)).Elem() -} - -func (b *HostConfigFault) GetHostConfigFault() *HostConfigFault { return b } - -type BaseHostConfigFault interface { - GetHostConfigFault() *HostConfigFault -} - -func init() { - t["BaseHostConfigFault"] = reflect.TypeOf((*HostConfigFault)(nil)).Elem() -} - -func (b *HostConnectFault) GetHostConnectFault() *HostConnectFault { return b } - -type BaseHostConnectFault interface { - GetHostConnectFault() *HostConnectFault -} - -func init() { - t["BaseHostConnectFault"] = reflect.TypeOf((*HostConnectFault)(nil)).Elem() -} - -func (b *HostConnectInfoNetworkInfo) GetHostConnectInfoNetworkInfo() *HostConnectInfoNetworkInfo { - return b -} - -type BaseHostConnectInfoNetworkInfo interface { - GetHostConnectInfoNetworkInfo() *HostConnectInfoNetworkInfo -} - -func init() { - t["BaseHostConnectInfoNetworkInfo"] = reflect.TypeOf((*HostConnectInfoNetworkInfo)(nil)).Elem() -} - -func (b *HostDasEvent) GetHostDasEvent() *HostDasEvent { return b } - -type BaseHostDasEvent interface { - GetHostDasEvent() *HostDasEvent -} - -func init() { - t["BaseHostDasEvent"] = reflect.TypeOf((*HostDasEvent)(nil)).Elem() -} - -func (b *HostDataTransportConnectionInfo) GetHostDataTransportConnectionInfo() *HostDataTransportConnectionInfo { - return b -} - -type BaseHostDataTransportConnectionInfo interface { - GetHostDataTransportConnectionInfo() *HostDataTransportConnectionInfo -} - -func init() { - t["BaseHostDataTransportConnectionInfo"] = reflect.TypeOf((*HostDataTransportConnectionInfo)(nil)).Elem() -} - -func (b *HostDatastoreConnectInfo) GetHostDatastoreConnectInfo() *HostDatastoreConnectInfo { return b } - -type BaseHostDatastoreConnectInfo interface { - GetHostDatastoreConnectInfo() *HostDatastoreConnectInfo -} - -func init() { - t["BaseHostDatastoreConnectInfo"] = reflect.TypeOf((*HostDatastoreConnectInfo)(nil)).Elem() -} - -func (b *HostDevice) GetHostDevice() *HostDevice { return b } - -type BaseHostDevice interface { - GetHostDevice() *HostDevice -} - -func init() { - t["BaseHostDevice"] = reflect.TypeOf((*HostDevice)(nil)).Elem() -} - -func (b *HostDigestInfo) GetHostDigestInfo() *HostDigestInfo { return b } - -type BaseHostDigestInfo interface { - GetHostDigestInfo() *HostDigestInfo -} - -func init() { - t["BaseHostDigestInfo"] = reflect.TypeOf((*HostDigestInfo)(nil)).Elem() -} - -func (b *HostDirectoryStoreInfo) GetHostDirectoryStoreInfo() *HostDirectoryStoreInfo { return b } - -type BaseHostDirectoryStoreInfo interface { - GetHostDirectoryStoreInfo() *HostDirectoryStoreInfo -} - -func init() { - t["BaseHostDirectoryStoreInfo"] = reflect.TypeOf((*HostDirectoryStoreInfo)(nil)).Elem() -} - -func (b *HostDnsConfig) GetHostDnsConfig() *HostDnsConfig { return b } - -type BaseHostDnsConfig interface { - GetHostDnsConfig() *HostDnsConfig -} - -func init() { - t["BaseHostDnsConfig"] = reflect.TypeOf((*HostDnsConfig)(nil)).Elem() -} - -func (b *HostEvent) GetHostEvent() *HostEvent { return b } - -type BaseHostEvent interface { - GetHostEvent() *HostEvent -} - -func init() { - t["BaseHostEvent"] = reflect.TypeOf((*HostEvent)(nil)).Elem() -} - -func (b *HostFibreChannelHba) GetHostFibreChannelHba() *HostFibreChannelHba { return b } - -type BaseHostFibreChannelHba interface { - GetHostFibreChannelHba() *HostFibreChannelHba -} - -func init() { - t["BaseHostFibreChannelHba"] = reflect.TypeOf((*HostFibreChannelHba)(nil)).Elem() -} - -func (b *HostFibreChannelTargetTransport) GetHostFibreChannelTargetTransport() *HostFibreChannelTargetTransport { - return b -} - -type BaseHostFibreChannelTargetTransport interface { - GetHostFibreChannelTargetTransport() *HostFibreChannelTargetTransport -} - -func init() { - t["BaseHostFibreChannelTargetTransport"] = reflect.TypeOf((*HostFibreChannelTargetTransport)(nil)).Elem() -} - -func (b *HostFileSystemVolume) GetHostFileSystemVolume() *HostFileSystemVolume { return b } - -type BaseHostFileSystemVolume interface { - GetHostFileSystemVolume() *HostFileSystemVolume -} - -func init() { - t["BaseHostFileSystemVolume"] = reflect.TypeOf((*HostFileSystemVolume)(nil)).Elem() -} - -func (b *HostHardwareElementInfo) GetHostHardwareElementInfo() *HostHardwareElementInfo { return b } - -type BaseHostHardwareElementInfo interface { - GetHostHardwareElementInfo() *HostHardwareElementInfo -} - -func init() { - t["BaseHostHardwareElementInfo"] = reflect.TypeOf((*HostHardwareElementInfo)(nil)).Elem() -} - -func (b *HostHbaCreateSpec) GetHostHbaCreateSpec() *HostHbaCreateSpec { return b } - -type BaseHostHbaCreateSpec interface { - GetHostHbaCreateSpec() *HostHbaCreateSpec -} - -func init() { - t["BaseHostHbaCreateSpec"] = reflect.TypeOf((*HostHbaCreateSpec)(nil)).Elem() -} - -func (b *HostHostBusAdapter) GetHostHostBusAdapter() *HostHostBusAdapter { return b } - -type BaseHostHostBusAdapter interface { - GetHostHostBusAdapter() *HostHostBusAdapter -} - -func init() { - t["BaseHostHostBusAdapter"] = reflect.TypeOf((*HostHostBusAdapter)(nil)).Elem() -} - -func (b *HostIpRouteConfig) GetHostIpRouteConfig() *HostIpRouteConfig { return b } - -type BaseHostIpRouteConfig interface { - GetHostIpRouteConfig() *HostIpRouteConfig -} - -func init() { - t["BaseHostIpRouteConfig"] = reflect.TypeOf((*HostIpRouteConfig)(nil)).Elem() -} - -func (b *HostMemberHealthCheckResult) GetHostMemberHealthCheckResult() *HostMemberHealthCheckResult { - return b -} - -type BaseHostMemberHealthCheckResult interface { - GetHostMemberHealthCheckResult() *HostMemberHealthCheckResult -} - -func init() { - t["BaseHostMemberHealthCheckResult"] = reflect.TypeOf((*HostMemberHealthCheckResult)(nil)).Elem() -} - -func (b *HostMemberUplinkHealthCheckResult) GetHostMemberUplinkHealthCheckResult() *HostMemberUplinkHealthCheckResult { - return b -} - -type BaseHostMemberUplinkHealthCheckResult interface { - GetHostMemberUplinkHealthCheckResult() *HostMemberUplinkHealthCheckResult -} - -func init() { - t["BaseHostMemberUplinkHealthCheckResult"] = reflect.TypeOf((*HostMemberUplinkHealthCheckResult)(nil)).Elem() -} - -func (b *HostMultipathInfoLogicalUnitPolicy) GetHostMultipathInfoLogicalUnitPolicy() *HostMultipathInfoLogicalUnitPolicy { - return b -} - -type BaseHostMultipathInfoLogicalUnitPolicy interface { - GetHostMultipathInfoLogicalUnitPolicy() *HostMultipathInfoLogicalUnitPolicy -} - -func init() { - t["BaseHostMultipathInfoLogicalUnitPolicy"] = reflect.TypeOf((*HostMultipathInfoLogicalUnitPolicy)(nil)).Elem() -} - -func (b *HostNvmeSpec) GetHostNvmeSpec() *HostNvmeSpec { return b } - -type BaseHostNvmeSpec interface { - GetHostNvmeSpec() *HostNvmeSpec -} - -func init() { - t["BaseHostNvmeSpec"] = reflect.TypeOf((*HostNvmeSpec)(nil)).Elem() -} - -func (b *HostNvmeTransportParameters) GetHostNvmeTransportParameters() *HostNvmeTransportParameters { - return b -} - -type BaseHostNvmeTransportParameters interface { - GetHostNvmeTransportParameters() *HostNvmeTransportParameters -} - -func init() { - t["BaseHostNvmeTransportParameters"] = reflect.TypeOf((*HostNvmeTransportParameters)(nil)).Elem() -} - -func (b *HostPciPassthruConfig) GetHostPciPassthruConfig() *HostPciPassthruConfig { return b } - -type BaseHostPciPassthruConfig interface { - GetHostPciPassthruConfig() *HostPciPassthruConfig -} - -func init() { - t["BaseHostPciPassthruConfig"] = reflect.TypeOf((*HostPciPassthruConfig)(nil)).Elem() -} - -func (b *HostPciPassthruInfo) GetHostPciPassthruInfo() *HostPciPassthruInfo { return b } - -type BaseHostPciPassthruInfo interface { - GetHostPciPassthruInfo() *HostPciPassthruInfo -} - -func init() { - t["BaseHostPciPassthruInfo"] = reflect.TypeOf((*HostPciPassthruInfo)(nil)).Elem() -} - -func (b *HostPowerOpFailed) GetHostPowerOpFailed() *HostPowerOpFailed { return b } - -type BaseHostPowerOpFailed interface { - GetHostPowerOpFailed() *HostPowerOpFailed -} - -func init() { - t["BaseHostPowerOpFailed"] = reflect.TypeOf((*HostPowerOpFailed)(nil)).Elem() -} - -func (b *HostProfileConfigSpec) GetHostProfileConfigSpec() *HostProfileConfigSpec { return b } - -type BaseHostProfileConfigSpec interface { - GetHostProfileConfigSpec() *HostProfileConfigSpec -} - -func init() { - t["BaseHostProfileConfigSpec"] = reflect.TypeOf((*HostProfileConfigSpec)(nil)).Elem() -} - -func (b *HostProfilesEntityCustomizations) GetHostProfilesEntityCustomizations() *HostProfilesEntityCustomizations { - return b -} - -type BaseHostProfilesEntityCustomizations interface { - GetHostProfilesEntityCustomizations() *HostProfilesEntityCustomizations -} - -func init() { - t["BaseHostProfilesEntityCustomizations"] = reflect.TypeOf((*HostProfilesEntityCustomizations)(nil)).Elem() -} - -func (b *HostRdmaDeviceBacking) GetHostRdmaDeviceBacking() *HostRdmaDeviceBacking { return b } - -type BaseHostRdmaDeviceBacking interface { - GetHostRdmaDeviceBacking() *HostRdmaDeviceBacking -} - -func init() { - t["BaseHostRdmaDeviceBacking"] = reflect.TypeOf((*HostRdmaDeviceBacking)(nil)).Elem() -} - -func (b *HostSriovDevicePoolInfo) GetHostSriovDevicePoolInfo() *HostSriovDevicePoolInfo { return b } - -type BaseHostSriovDevicePoolInfo interface { - GetHostSriovDevicePoolInfo() *HostSriovDevicePoolInfo -} - -func init() { - t["BaseHostSriovDevicePoolInfo"] = reflect.TypeOf((*HostSriovDevicePoolInfo)(nil)).Elem() -} - -func (b *HostSystemSwapConfigurationSystemSwapOption) GetHostSystemSwapConfigurationSystemSwapOption() *HostSystemSwapConfigurationSystemSwapOption { - return b -} - -type BaseHostSystemSwapConfigurationSystemSwapOption interface { - GetHostSystemSwapConfigurationSystemSwapOption() *HostSystemSwapConfigurationSystemSwapOption -} - -func init() { - t["BaseHostSystemSwapConfigurationSystemSwapOption"] = reflect.TypeOf((*HostSystemSwapConfigurationSystemSwapOption)(nil)).Elem() -} - -func (b *HostTargetTransport) GetHostTargetTransport() *HostTargetTransport { return b } - -type BaseHostTargetTransport interface { - GetHostTargetTransport() *HostTargetTransport -} - -func init() { - t["BaseHostTargetTransport"] = reflect.TypeOf((*HostTargetTransport)(nil)).Elem() -} - -func (b *HostTpmBootSecurityOptionEventDetails) GetHostTpmBootSecurityOptionEventDetails() *HostTpmBootSecurityOptionEventDetails { - return b -} - -type BaseHostTpmBootSecurityOptionEventDetails interface { - GetHostTpmBootSecurityOptionEventDetails() *HostTpmBootSecurityOptionEventDetails -} - -func init() { - t["BaseHostTpmBootSecurityOptionEventDetails"] = reflect.TypeOf((*HostTpmBootSecurityOptionEventDetails)(nil)).Elem() -} - -func (b *HostTpmEventDetails) GetHostTpmEventDetails() *HostTpmEventDetails { return b } - -type BaseHostTpmEventDetails interface { - GetHostTpmEventDetails() *HostTpmEventDetails -} - -func init() { - t["BaseHostTpmEventDetails"] = reflect.TypeOf((*HostTpmEventDetails)(nil)).Elem() -} - -func (b *HostVirtualSwitchBridge) GetHostVirtualSwitchBridge() *HostVirtualSwitchBridge { return b } - -type BaseHostVirtualSwitchBridge interface { - GetHostVirtualSwitchBridge() *HostVirtualSwitchBridge -} - -func init() { - t["BaseHostVirtualSwitchBridge"] = reflect.TypeOf((*HostVirtualSwitchBridge)(nil)).Elem() -} - -func (b *HourlyTaskScheduler) GetHourlyTaskScheduler() *HourlyTaskScheduler { return b } - -type BaseHourlyTaskScheduler interface { - GetHourlyTaskScheduler() *HourlyTaskScheduler -} - -func init() { - t["BaseHourlyTaskScheduler"] = reflect.TypeOf((*HourlyTaskScheduler)(nil)).Elem() -} - -func (b *ImportSpec) GetImportSpec() *ImportSpec { return b } - -type BaseImportSpec interface { - GetImportSpec() *ImportSpec -} - -func init() { - t["BaseImportSpec"] = reflect.TypeOf((*ImportSpec)(nil)).Elem() -} - -func (b *InaccessibleDatastore) GetInaccessibleDatastore() *InaccessibleDatastore { return b } - -type BaseInaccessibleDatastore interface { - GetInaccessibleDatastore() *InaccessibleDatastore -} - -func init() { - t["BaseInaccessibleDatastore"] = reflect.TypeOf((*InaccessibleDatastore)(nil)).Elem() -} - -func (b *InheritablePolicy) GetInheritablePolicy() *InheritablePolicy { return b } - -type BaseInheritablePolicy interface { - GetInheritablePolicy() *InheritablePolicy -} - -func init() { - t["BaseInheritablePolicy"] = reflect.TypeOf((*InheritablePolicy)(nil)).Elem() -} - -func (b *InsufficientHostCapacityFault) GetInsufficientHostCapacityFault() *InsufficientHostCapacityFault { - return b -} - -type BaseInsufficientHostCapacityFault interface { - GetInsufficientHostCapacityFault() *InsufficientHostCapacityFault -} - -func init() { - t["BaseInsufficientHostCapacityFault"] = reflect.TypeOf((*InsufficientHostCapacityFault)(nil)).Elem() -} - -func (b *InsufficientResourcesFault) GetInsufficientResourcesFault() *InsufficientResourcesFault { - return b -} - -type BaseInsufficientResourcesFault interface { - GetInsufficientResourcesFault() *InsufficientResourcesFault -} - -func init() { - t["BaseInsufficientResourcesFault"] = reflect.TypeOf((*InsufficientResourcesFault)(nil)).Elem() -} - -func (b *InsufficientStandbyResource) GetInsufficientStandbyResource() *InsufficientStandbyResource { - return b -} - -type BaseInsufficientStandbyResource interface { - GetInsufficientStandbyResource() *InsufficientStandbyResource -} - -func init() { - t["BaseInsufficientStandbyResource"] = reflect.TypeOf((*InsufficientStandbyResource)(nil)).Elem() -} - -func (b *InvalidArgument) GetInvalidArgument() *InvalidArgument { return b } - -type BaseInvalidArgument interface { - GetInvalidArgument() *InvalidArgument -} - -func init() { - t["BaseInvalidArgument"] = reflect.TypeOf((*InvalidArgument)(nil)).Elem() -} - -func (b *InvalidCAMServer) GetInvalidCAMServer() *InvalidCAMServer { return b } - -type BaseInvalidCAMServer interface { - GetInvalidCAMServer() *InvalidCAMServer -} - -func init() { - t["BaseInvalidCAMServer"] = reflect.TypeOf((*InvalidCAMServer)(nil)).Elem() -} - -func (b *InvalidDatastore) GetInvalidDatastore() *InvalidDatastore { return b } - -type BaseInvalidDatastore interface { - GetInvalidDatastore() *InvalidDatastore -} - -func init() { - t["BaseInvalidDatastore"] = reflect.TypeOf((*InvalidDatastore)(nil)).Elem() -} - -func (b *InvalidDeviceSpec) GetInvalidDeviceSpec() *InvalidDeviceSpec { return b } - -type BaseInvalidDeviceSpec interface { - GetInvalidDeviceSpec() *InvalidDeviceSpec -} - -func init() { - t["BaseInvalidDeviceSpec"] = reflect.TypeOf((*InvalidDeviceSpec)(nil)).Elem() -} - -func (b *InvalidFolder) GetInvalidFolder() *InvalidFolder { return b } - -type BaseInvalidFolder interface { - GetInvalidFolder() *InvalidFolder -} - -func init() { - t["BaseInvalidFolder"] = reflect.TypeOf((*InvalidFolder)(nil)).Elem() -} - -func (b *InvalidFormat) GetInvalidFormat() *InvalidFormat { return b } - -type BaseInvalidFormat interface { - GetInvalidFormat() *InvalidFormat -} - -func init() { - t["BaseInvalidFormat"] = reflect.TypeOf((*InvalidFormat)(nil)).Elem() -} - -func (b *InvalidHostState) GetInvalidHostState() *InvalidHostState { return b } - -type BaseInvalidHostState interface { - GetInvalidHostState() *InvalidHostState -} - -func init() { - t["BaseInvalidHostState"] = reflect.TypeOf((*InvalidHostState)(nil)).Elem() -} - -func (b *InvalidLogin) GetInvalidLogin() *InvalidLogin { return b } - -type BaseInvalidLogin interface { - GetInvalidLogin() *InvalidLogin -} - -func init() { - t["BaseInvalidLogin"] = reflect.TypeOf((*InvalidLogin)(nil)).Elem() -} - -func (b *InvalidPropertyValue) GetInvalidPropertyValue() *InvalidPropertyValue { return b } - -type BaseInvalidPropertyValue interface { - GetInvalidPropertyValue() *InvalidPropertyValue -} - -func init() { - t["BaseInvalidPropertyValue"] = reflect.TypeOf((*InvalidPropertyValue)(nil)).Elem() -} - -func (b *InvalidRequest) GetInvalidRequest() *InvalidRequest { return b } - -type BaseInvalidRequest interface { - GetInvalidRequest() *InvalidRequest -} - -func init() { - t["BaseInvalidRequest"] = reflect.TypeOf((*InvalidRequest)(nil)).Elem() -} - -func (b *InvalidState) GetInvalidState() *InvalidState { return b } - -type BaseInvalidState interface { - GetInvalidState() *InvalidState -} - -func init() { - t["BaseInvalidState"] = reflect.TypeOf((*InvalidState)(nil)).Elem() -} - -func (b *InvalidVmConfig) GetInvalidVmConfig() *InvalidVmConfig { return b } - -type BaseInvalidVmConfig interface { - GetInvalidVmConfig() *InvalidVmConfig -} - -func init() { - t["BaseInvalidVmConfig"] = reflect.TypeOf((*InvalidVmConfig)(nil)).Elem() -} - -func (b *IoFilterInfo) GetIoFilterInfo() *IoFilterInfo { return b } - -type BaseIoFilterInfo interface { - GetIoFilterInfo() *IoFilterInfo -} - -func init() { - t["BaseIoFilterInfo"] = reflect.TypeOf((*IoFilterInfo)(nil)).Elem() -} - -func (b *IpAddress) GetIpAddress() *IpAddress { return b } - -type BaseIpAddress interface { - GetIpAddress() *IpAddress -} - -func init() { - t["BaseIpAddress"] = reflect.TypeOf((*IpAddress)(nil)).Elem() -} - -func (b *IscsiFault) GetIscsiFault() *IscsiFault { return b } - -type BaseIscsiFault interface { - GetIscsiFault() *IscsiFault -} - -func init() { - t["BaseIscsiFault"] = reflect.TypeOf((*IscsiFault)(nil)).Elem() -} - -func (b *LicenseEvent) GetLicenseEvent() *LicenseEvent { return b } - -type BaseLicenseEvent interface { - GetLicenseEvent() *LicenseEvent -} - -func init() { - t["BaseLicenseEvent"] = reflect.TypeOf((*LicenseEvent)(nil)).Elem() -} - -func (b *LicenseSource) GetLicenseSource() *LicenseSource { return b } - -type BaseLicenseSource interface { - GetLicenseSource() *LicenseSource -} - -func init() { - t["BaseLicenseSource"] = reflect.TypeOf((*LicenseSource)(nil)).Elem() -} - -func (b *MacAddress) GetMacAddress() *MacAddress { return b } - -type BaseMacAddress interface { - GetMacAddress() *MacAddress -} - -func init() { - t["BaseMacAddress"] = reflect.TypeOf((*MacAddress)(nil)).Elem() -} - -func (b *MethodFault) GetMethodFault() *MethodFault { return b } - -type BaseMethodFault interface { - GetMethodFault() *MethodFault -} - -func init() { - t["BaseMethodFault"] = reflect.TypeOf((*MethodFault)(nil)).Elem() -} - -func (b *MigrationEvent) GetMigrationEvent() *MigrationEvent { return b } - -type BaseMigrationEvent interface { - GetMigrationEvent() *MigrationEvent -} - -func init() { - t["BaseMigrationEvent"] = reflect.TypeOf((*MigrationEvent)(nil)).Elem() -} - -func (b *MigrationFault) GetMigrationFault() *MigrationFault { return b } - -type BaseMigrationFault interface { - GetMigrationFault() *MigrationFault -} - -func init() { - t["BaseMigrationFault"] = reflect.TypeOf((*MigrationFault)(nil)).Elem() -} - -func (b *MigrationFeatureNotSupported) GetMigrationFeatureNotSupported() *MigrationFeatureNotSupported { - return b -} - -type BaseMigrationFeatureNotSupported interface { - GetMigrationFeatureNotSupported() *MigrationFeatureNotSupported -} - -func init() { - t["BaseMigrationFeatureNotSupported"] = reflect.TypeOf((*MigrationFeatureNotSupported)(nil)).Elem() -} - -func (b *MonthlyTaskScheduler) GetMonthlyTaskScheduler() *MonthlyTaskScheduler { return b } - -type BaseMonthlyTaskScheduler interface { - GetMonthlyTaskScheduler() *MonthlyTaskScheduler -} - -func init() { - t["BaseMonthlyTaskScheduler"] = reflect.TypeOf((*MonthlyTaskScheduler)(nil)).Elem() -} - -func (b *NasConfigFault) GetNasConfigFault() *NasConfigFault { return b } - -type BaseNasConfigFault interface { - GetNasConfigFault() *NasConfigFault -} - -func init() { - t["BaseNasConfigFault"] = reflect.TypeOf((*NasConfigFault)(nil)).Elem() -} - -func (b *NegatableExpression) GetNegatableExpression() *NegatableExpression { return b } - -type BaseNegatableExpression interface { - GetNegatableExpression() *NegatableExpression -} - -func init() { - t["BaseNegatableExpression"] = reflect.TypeOf((*NegatableExpression)(nil)).Elem() -} - -func (b *NetBIOSConfigInfo) GetNetBIOSConfigInfo() *NetBIOSConfigInfo { return b } - -type BaseNetBIOSConfigInfo interface { - GetNetBIOSConfigInfo() *NetBIOSConfigInfo -} - -func init() { - t["BaseNetBIOSConfigInfo"] = reflect.TypeOf((*NetBIOSConfigInfo)(nil)).Elem() -} - -func (b *NetworkSummary) GetNetworkSummary() *NetworkSummary { return b } - -type BaseNetworkSummary interface { - GetNetworkSummary() *NetworkSummary -} - -func init() { - t["BaseNetworkSummary"] = reflect.TypeOf((*NetworkSummary)(nil)).Elem() -} - -func (b *NoCompatibleHost) GetNoCompatibleHost() *NoCompatibleHost { return b } - -type BaseNoCompatibleHost interface { - GetNoCompatibleHost() *NoCompatibleHost -} - -func init() { - t["BaseNoCompatibleHost"] = reflect.TypeOf((*NoCompatibleHost)(nil)).Elem() -} - -func (b *NoPermission) GetNoPermission() *NoPermission { return b } - -type BaseNoPermission interface { - GetNoPermission() *NoPermission -} - -func init() { - t["BaseNoPermission"] = reflect.TypeOf((*NoPermission)(nil)).Elem() -} - -func (b *NodeDeploymentSpec) GetNodeDeploymentSpec() *NodeDeploymentSpec { return b } - -type BaseNodeDeploymentSpec interface { - GetNodeDeploymentSpec() *NodeDeploymentSpec -} - -func init() { - t["BaseNodeDeploymentSpec"] = reflect.TypeOf((*NodeDeploymentSpec)(nil)).Elem() -} - -func (b *NodeNetworkSpec) GetNodeNetworkSpec() *NodeNetworkSpec { return b } - -type BaseNodeNetworkSpec interface { - GetNodeNetworkSpec() *NodeNetworkSpec -} - -func init() { - t["BaseNodeNetworkSpec"] = reflect.TypeOf((*NodeNetworkSpec)(nil)).Elem() -} - -func (b *NotEnoughCpus) GetNotEnoughCpus() *NotEnoughCpus { return b } - -type BaseNotEnoughCpus interface { - GetNotEnoughCpus() *NotEnoughCpus -} - -func init() { - t["BaseNotEnoughCpus"] = reflect.TypeOf((*NotEnoughCpus)(nil)).Elem() -} - -func (b *NotEnoughLicenses) GetNotEnoughLicenses() *NotEnoughLicenses { return b } - -type BaseNotEnoughLicenses interface { - GetNotEnoughLicenses() *NotEnoughLicenses -} - -func init() { - t["BaseNotEnoughLicenses"] = reflect.TypeOf((*NotEnoughLicenses)(nil)).Elem() -} - -func (b *NotSupported) GetNotSupported() *NotSupported { return b } - -type BaseNotSupported interface { - GetNotSupported() *NotSupported -} - -func init() { - t["BaseNotSupported"] = reflect.TypeOf((*NotSupported)(nil)).Elem() -} - -func (b *NotSupportedHost) GetNotSupportedHost() *NotSupportedHost { return b } - -type BaseNotSupportedHost interface { - GetNotSupportedHost() *NotSupportedHost -} - -func init() { - t["BaseNotSupportedHost"] = reflect.TypeOf((*NotSupportedHost)(nil)).Elem() -} - -func (b *NotSupportedHostInCluster) GetNotSupportedHostInCluster() *NotSupportedHostInCluster { - return b -} - -type BaseNotSupportedHostInCluster interface { - GetNotSupportedHostInCluster() *NotSupportedHostInCluster -} - -func init() { - t["BaseNotSupportedHostInCluster"] = reflect.TypeOf((*NotSupportedHostInCluster)(nil)).Elem() -} - -func (b *OptionType) GetOptionType() *OptionType { return b } - -type BaseOptionType interface { - GetOptionType() *OptionType -} - -func init() { - t["BaseOptionType"] = reflect.TypeOf((*OptionType)(nil)).Elem() -} - -func (b *OptionValue) GetOptionValue() *OptionValue { return b } - -type BaseOptionValue interface { - GetOptionValue() *OptionValue -} - -func init() { - t["BaseOptionValue"] = reflect.TypeOf((*OptionValue)(nil)).Elem() -} - -func (b *OvfAttribute) GetOvfAttribute() *OvfAttribute { return b } - -type BaseOvfAttribute interface { - GetOvfAttribute() *OvfAttribute -} - -func init() { - t["BaseOvfAttribute"] = reflect.TypeOf((*OvfAttribute)(nil)).Elem() -} - -func (b *OvfConnectedDevice) GetOvfConnectedDevice() *OvfConnectedDevice { return b } - -type BaseOvfConnectedDevice interface { - GetOvfConnectedDevice() *OvfConnectedDevice -} - -func init() { - t["BaseOvfConnectedDevice"] = reflect.TypeOf((*OvfConnectedDevice)(nil)).Elem() -} - -func (b *OvfConstraint) GetOvfConstraint() *OvfConstraint { return b } - -type BaseOvfConstraint interface { - GetOvfConstraint() *OvfConstraint -} - -func init() { - t["BaseOvfConstraint"] = reflect.TypeOf((*OvfConstraint)(nil)).Elem() -} - -func (b *OvfConsumerCallbackFault) GetOvfConsumerCallbackFault() *OvfConsumerCallbackFault { return b } - -type BaseOvfConsumerCallbackFault interface { - GetOvfConsumerCallbackFault() *OvfConsumerCallbackFault -} - -func init() { - t["BaseOvfConsumerCallbackFault"] = reflect.TypeOf((*OvfConsumerCallbackFault)(nil)).Elem() -} - -func (b *OvfElement) GetOvfElement() *OvfElement { return b } - -type BaseOvfElement interface { - GetOvfElement() *OvfElement -} - -func init() { - t["BaseOvfElement"] = reflect.TypeOf((*OvfElement)(nil)).Elem() -} - -func (b *OvfExport) GetOvfExport() *OvfExport { return b } - -type BaseOvfExport interface { - GetOvfExport() *OvfExport -} - -func init() { - t["BaseOvfExport"] = reflect.TypeOf((*OvfExport)(nil)).Elem() -} - -func (b *OvfFault) GetOvfFault() *OvfFault { return b } - -type BaseOvfFault interface { - GetOvfFault() *OvfFault -} - -func init() { - t["BaseOvfFault"] = reflect.TypeOf((*OvfFault)(nil)).Elem() -} - -func (b *OvfHardwareExport) GetOvfHardwareExport() *OvfHardwareExport { return b } - -type BaseOvfHardwareExport interface { - GetOvfHardwareExport() *OvfHardwareExport -} - -func init() { - t["BaseOvfHardwareExport"] = reflect.TypeOf((*OvfHardwareExport)(nil)).Elem() -} - -func (b *OvfImport) GetOvfImport() *OvfImport { return b } - -type BaseOvfImport interface { - GetOvfImport() *OvfImport -} - -func init() { - t["BaseOvfImport"] = reflect.TypeOf((*OvfImport)(nil)).Elem() -} - -func (b *OvfInvalidPackage) GetOvfInvalidPackage() *OvfInvalidPackage { return b } - -type BaseOvfInvalidPackage interface { - GetOvfInvalidPackage() *OvfInvalidPackage -} - -func init() { - t["BaseOvfInvalidPackage"] = reflect.TypeOf((*OvfInvalidPackage)(nil)).Elem() -} - -func (b *OvfInvalidValue) GetOvfInvalidValue() *OvfInvalidValue { return b } - -type BaseOvfInvalidValue interface { - GetOvfInvalidValue() *OvfInvalidValue -} - -func init() { - t["BaseOvfInvalidValue"] = reflect.TypeOf((*OvfInvalidValue)(nil)).Elem() -} - -func (b *OvfManagerCommonParams) GetOvfManagerCommonParams() *OvfManagerCommonParams { return b } - -type BaseOvfManagerCommonParams interface { - GetOvfManagerCommonParams() *OvfManagerCommonParams -} - -func init() { - t["BaseOvfManagerCommonParams"] = reflect.TypeOf((*OvfManagerCommonParams)(nil)).Elem() -} - -func (b *OvfMissingElement) GetOvfMissingElement() *OvfMissingElement { return b } - -type BaseOvfMissingElement interface { - GetOvfMissingElement() *OvfMissingElement -} - -func init() { - t["BaseOvfMissingElement"] = reflect.TypeOf((*OvfMissingElement)(nil)).Elem() -} - -func (b *OvfProperty) GetOvfProperty() *OvfProperty { return b } - -type BaseOvfProperty interface { - GetOvfProperty() *OvfProperty -} - -func init() { - t["BaseOvfProperty"] = reflect.TypeOf((*OvfProperty)(nil)).Elem() -} - -func (b *OvfSystemFault) GetOvfSystemFault() *OvfSystemFault { return b } - -type BaseOvfSystemFault interface { - GetOvfSystemFault() *OvfSystemFault -} - -func init() { - t["BaseOvfSystemFault"] = reflect.TypeOf((*OvfSystemFault)(nil)).Elem() -} - -func (b *OvfUnsupportedAttribute) GetOvfUnsupportedAttribute() *OvfUnsupportedAttribute { return b } - -type BaseOvfUnsupportedAttribute interface { - GetOvfUnsupportedAttribute() *OvfUnsupportedAttribute -} - -func init() { - t["BaseOvfUnsupportedAttribute"] = reflect.TypeOf((*OvfUnsupportedAttribute)(nil)).Elem() -} - -func (b *OvfUnsupportedElement) GetOvfUnsupportedElement() *OvfUnsupportedElement { return b } - -type BaseOvfUnsupportedElement interface { - GetOvfUnsupportedElement() *OvfUnsupportedElement -} - -func init() { - t["BaseOvfUnsupportedElement"] = reflect.TypeOf((*OvfUnsupportedElement)(nil)).Elem() -} - -func (b *OvfUnsupportedPackage) GetOvfUnsupportedPackage() *OvfUnsupportedPackage { return b } - -type BaseOvfUnsupportedPackage interface { - GetOvfUnsupportedPackage() *OvfUnsupportedPackage -} - -func init() { - t["BaseOvfUnsupportedPackage"] = reflect.TypeOf((*OvfUnsupportedPackage)(nil)).Elem() -} - -func (b *PatchMetadataInvalid) GetPatchMetadataInvalid() *PatchMetadataInvalid { return b } - -type BasePatchMetadataInvalid interface { - GetPatchMetadataInvalid() *PatchMetadataInvalid -} - -func init() { - t["BasePatchMetadataInvalid"] = reflect.TypeOf((*PatchMetadataInvalid)(nil)).Elem() -} - -func (b *PatchNotApplicable) GetPatchNotApplicable() *PatchNotApplicable { return b } - -type BasePatchNotApplicable interface { - GetPatchNotApplicable() *PatchNotApplicable -} - -func init() { - t["BasePatchNotApplicable"] = reflect.TypeOf((*PatchNotApplicable)(nil)).Elem() -} - -func (b *PerfEntityMetricBase) GetPerfEntityMetricBase() *PerfEntityMetricBase { return b } - -type BasePerfEntityMetricBase interface { - GetPerfEntityMetricBase() *PerfEntityMetricBase -} - -func init() { - t["BasePerfEntityMetricBase"] = reflect.TypeOf((*PerfEntityMetricBase)(nil)).Elem() -} - -func (b *PerfMetricSeries) GetPerfMetricSeries() *PerfMetricSeries { return b } - -type BasePerfMetricSeries interface { - GetPerfMetricSeries() *PerfMetricSeries -} - -func init() { - t["BasePerfMetricSeries"] = reflect.TypeOf((*PerfMetricSeries)(nil)).Elem() -} - -func (b *PermissionEvent) GetPermissionEvent() *PermissionEvent { return b } - -type BasePermissionEvent interface { - GetPermissionEvent() *PermissionEvent -} - -func init() { - t["BasePermissionEvent"] = reflect.TypeOf((*PermissionEvent)(nil)).Elem() -} - -func (b *PhysicalNicHint) GetPhysicalNicHint() *PhysicalNicHint { return b } - -type BasePhysicalNicHint interface { - GetPhysicalNicHint() *PhysicalNicHint -} - -func init() { - t["BasePhysicalNicHint"] = reflect.TypeOf((*PhysicalNicHint)(nil)).Elem() -} - -func (b *PlatformConfigFault) GetPlatformConfigFault() *PlatformConfigFault { return b } - -type BasePlatformConfigFault interface { - GetPlatformConfigFault() *PlatformConfigFault -} - -func init() { - t["BasePlatformConfigFault"] = reflect.TypeOf((*PlatformConfigFault)(nil)).Elem() -} - -func (b *PolicyOption) GetPolicyOption() *PolicyOption { return b } - -type BasePolicyOption interface { - GetPolicyOption() *PolicyOption -} - -func init() { - t["BasePolicyOption"] = reflect.TypeOf((*PolicyOption)(nil)).Elem() -} - -func (b *PortGroupProfile) GetPortGroupProfile() *PortGroupProfile { return b } - -type BasePortGroupProfile interface { - GetPortGroupProfile() *PortGroupProfile -} - -func init() { - t["BasePortGroupProfile"] = reflect.TypeOf((*PortGroupProfile)(nil)).Elem() -} - -func (b *ProfileConfigInfo) GetProfileConfigInfo() *ProfileConfigInfo { return b } - -type BaseProfileConfigInfo interface { - GetProfileConfigInfo() *ProfileConfigInfo -} - -func init() { - t["BaseProfileConfigInfo"] = reflect.TypeOf((*ProfileConfigInfo)(nil)).Elem() -} - -func (b *ProfileCreateSpec) GetProfileCreateSpec() *ProfileCreateSpec { return b } - -type BaseProfileCreateSpec interface { - GetProfileCreateSpec() *ProfileCreateSpec -} - -func init() { - t["BaseProfileCreateSpec"] = reflect.TypeOf((*ProfileCreateSpec)(nil)).Elem() -} - -func (b *ProfileEvent) GetProfileEvent() *ProfileEvent { return b } - -type BaseProfileEvent interface { - GetProfileEvent() *ProfileEvent -} - -func init() { - t["BaseProfileEvent"] = reflect.TypeOf((*ProfileEvent)(nil)).Elem() -} - -func (b *ProfileExecuteResult) GetProfileExecuteResult() *ProfileExecuteResult { return b } - -type BaseProfileExecuteResult interface { - GetProfileExecuteResult() *ProfileExecuteResult -} - -func init() { - t["BaseProfileExecuteResult"] = reflect.TypeOf((*ProfileExecuteResult)(nil)).Elem() -} - -func (b *ProfileExpression) GetProfileExpression() *ProfileExpression { return b } - -type BaseProfileExpression interface { - GetProfileExpression() *ProfileExpression -} - -func init() { - t["BaseProfileExpression"] = reflect.TypeOf((*ProfileExpression)(nil)).Elem() -} - -func (b *ProfilePolicyOptionMetadata) GetProfilePolicyOptionMetadata() *ProfilePolicyOptionMetadata { - return b -} - -type BaseProfilePolicyOptionMetadata interface { - GetProfilePolicyOptionMetadata() *ProfilePolicyOptionMetadata -} - -func init() { - t["BaseProfilePolicyOptionMetadata"] = reflect.TypeOf((*ProfilePolicyOptionMetadata)(nil)).Elem() -} - -func (b *ProfileSerializedCreateSpec) GetProfileSerializedCreateSpec() *ProfileSerializedCreateSpec { - return b -} - -type BaseProfileSerializedCreateSpec interface { - GetProfileSerializedCreateSpec() *ProfileSerializedCreateSpec -} - -func init() { - t["BaseProfileSerializedCreateSpec"] = reflect.TypeOf((*ProfileSerializedCreateSpec)(nil)).Elem() -} - -func (b *RDMNotSupported) GetRDMNotSupported() *RDMNotSupported { return b } - -type BaseRDMNotSupported interface { - GetRDMNotSupported() *RDMNotSupported -} - -func init() { - t["BaseRDMNotSupported"] = reflect.TypeOf((*RDMNotSupported)(nil)).Elem() -} - -func (b *RecurrentTaskScheduler) GetRecurrentTaskScheduler() *RecurrentTaskScheduler { return b } - -type BaseRecurrentTaskScheduler interface { - GetRecurrentTaskScheduler() *RecurrentTaskScheduler -} - -func init() { - t["BaseRecurrentTaskScheduler"] = reflect.TypeOf((*RecurrentTaskScheduler)(nil)).Elem() -} - -func (b *ReplicationConfigFault) GetReplicationConfigFault() *ReplicationConfigFault { return b } - -type BaseReplicationConfigFault interface { - GetReplicationConfigFault() *ReplicationConfigFault -} - -func init() { - t["BaseReplicationConfigFault"] = reflect.TypeOf((*ReplicationConfigFault)(nil)).Elem() -} - -func (b *ReplicationFault) GetReplicationFault() *ReplicationFault { return b } - -type BaseReplicationFault interface { - GetReplicationFault() *ReplicationFault -} - -func init() { - t["BaseReplicationFault"] = reflect.TypeOf((*ReplicationFault)(nil)).Elem() -} - -func (b *ReplicationVmFault) GetReplicationVmFault() *ReplicationVmFault { return b } - -type BaseReplicationVmFault interface { - GetReplicationVmFault() *ReplicationVmFault -} - -func init() { - t["BaseReplicationVmFault"] = reflect.TypeOf((*ReplicationVmFault)(nil)).Elem() -} - -func (b *ResourceInUse) GetResourceInUse() *ResourceInUse { return b } - -type BaseResourceInUse interface { - GetResourceInUse() *ResourceInUse -} - -func init() { - t["BaseResourceInUse"] = reflect.TypeOf((*ResourceInUse)(nil)).Elem() -} - -func (b *ResourcePoolEvent) GetResourcePoolEvent() *ResourcePoolEvent { return b } - -type BaseResourcePoolEvent interface { - GetResourcePoolEvent() *ResourcePoolEvent -} - -func init() { - t["BaseResourcePoolEvent"] = reflect.TypeOf((*ResourcePoolEvent)(nil)).Elem() -} - -func (b *ResourcePoolSummary) GetResourcePoolSummary() *ResourcePoolSummary { return b } - -type BaseResourcePoolSummary interface { - GetResourcePoolSummary() *ResourcePoolSummary -} - -func init() { - t["BaseResourcePoolSummary"] = reflect.TypeOf((*ResourcePoolSummary)(nil)).Elem() -} - -func (b *RoleEvent) GetRoleEvent() *RoleEvent { return b } - -type BaseRoleEvent interface { - GetRoleEvent() *RoleEvent -} - -func init() { - t["BaseRoleEvent"] = reflect.TypeOf((*RoleEvent)(nil)).Elem() -} - -func (b *RuntimeFault) GetRuntimeFault() *RuntimeFault { return b } - -type BaseRuntimeFault interface { - GetRuntimeFault() *RuntimeFault -} - -func init() { - t["BaseRuntimeFault"] = reflect.TypeOf((*RuntimeFault)(nil)).Elem() -} - -func (b *ScheduledTaskEvent) GetScheduledTaskEvent() *ScheduledTaskEvent { return b } - -type BaseScheduledTaskEvent interface { - GetScheduledTaskEvent() *ScheduledTaskEvent -} - -func init() { - t["BaseScheduledTaskEvent"] = reflect.TypeOf((*ScheduledTaskEvent)(nil)).Elem() -} - -func (b *ScheduledTaskSpec) GetScheduledTaskSpec() *ScheduledTaskSpec { return b } - -type BaseScheduledTaskSpec interface { - GetScheduledTaskSpec() *ScheduledTaskSpec -} - -func init() { - t["BaseScheduledTaskSpec"] = reflect.TypeOf((*ScheduledTaskSpec)(nil)).Elem() -} - -func (b *ScsiLun) GetScsiLun() *ScsiLun { return b } - -type BaseScsiLun interface { - GetScsiLun() *ScsiLun -} - -func init() { - t["BaseScsiLun"] = reflect.TypeOf((*ScsiLun)(nil)).Elem() -} - -func (b *SecurityError) GetSecurityError() *SecurityError { return b } - -type BaseSecurityError interface { - GetSecurityError() *SecurityError -} - -func init() { - t["BaseSecurityError"] = reflect.TypeOf((*SecurityError)(nil)).Elem() -} - -func (b *SelectionSet) GetSelectionSet() *SelectionSet { return b } - -type BaseSelectionSet interface { - GetSelectionSet() *SelectionSet -} - -func init() { - t["BaseSelectionSet"] = reflect.TypeOf((*SelectionSet)(nil)).Elem() -} - -func (b *SelectionSpec) GetSelectionSpec() *SelectionSpec { return b } - -type BaseSelectionSpec interface { - GetSelectionSpec() *SelectionSpec -} - -func init() { - t["BaseSelectionSpec"] = reflect.TypeOf((*SelectionSpec)(nil)).Elem() -} - -func (b *ServiceLocatorCredential) GetServiceLocatorCredential() *ServiceLocatorCredential { return b } - -type BaseServiceLocatorCredential interface { - GetServiceLocatorCredential() *ServiceLocatorCredential -} - -func init() { - t["BaseServiceLocatorCredential"] = reflect.TypeOf((*ServiceLocatorCredential)(nil)).Elem() -} - -func (b *SessionEvent) GetSessionEvent() *SessionEvent { return b } - -type BaseSessionEvent interface { - GetSessionEvent() *SessionEvent -} - -func init() { - t["BaseSessionEvent"] = reflect.TypeOf((*SessionEvent)(nil)).Elem() -} - -func (b *SessionManagerServiceRequestSpec) GetSessionManagerServiceRequestSpec() *SessionManagerServiceRequestSpec { - return b -} - -type BaseSessionManagerServiceRequestSpec interface { - GetSessionManagerServiceRequestSpec() *SessionManagerServiceRequestSpec -} - -func init() { - t["BaseSessionManagerServiceRequestSpec"] = reflect.TypeOf((*SessionManagerServiceRequestSpec)(nil)).Elem() -} - -func (b *SnapshotCopyNotSupported) GetSnapshotCopyNotSupported() *SnapshotCopyNotSupported { return b } - -type BaseSnapshotCopyNotSupported interface { - GetSnapshotCopyNotSupported() *SnapshotCopyNotSupported -} - -func init() { - t["BaseSnapshotCopyNotSupported"] = reflect.TypeOf((*SnapshotCopyNotSupported)(nil)).Elem() -} - -func (b *SnapshotFault) GetSnapshotFault() *SnapshotFault { return b } - -type BaseSnapshotFault interface { - GetSnapshotFault() *SnapshotFault -} - -func init() { - t["BaseSnapshotFault"] = reflect.TypeOf((*SnapshotFault)(nil)).Elem() -} - -func (b *TaskEvent) GetTaskEvent() *TaskEvent { return b } - -type BaseTaskEvent interface { - GetTaskEvent() *TaskEvent -} - -func init() { - t["BaseTaskEvent"] = reflect.TypeOf((*TaskEvent)(nil)).Elem() -} - -func (b *TaskInProgress) GetTaskInProgress() *TaskInProgress { return b } - -type BaseTaskInProgress interface { - GetTaskInProgress() *TaskInProgress -} - -func init() { - t["BaseTaskInProgress"] = reflect.TypeOf((*TaskInProgress)(nil)).Elem() -} - -func (b *TaskReason) GetTaskReason() *TaskReason { return b } - -type BaseTaskReason interface { - GetTaskReason() *TaskReason -} - -func init() { - t["BaseTaskReason"] = reflect.TypeOf((*TaskReason)(nil)).Elem() -} - -func (b *TaskScheduler) GetTaskScheduler() *TaskScheduler { return b } - -type BaseTaskScheduler interface { - GetTaskScheduler() *TaskScheduler -} - -func init() { - t["BaseTaskScheduler"] = reflect.TypeOf((*TaskScheduler)(nil)).Elem() -} - -func (b *TemplateUpgradeEvent) GetTemplateUpgradeEvent() *TemplateUpgradeEvent { return b } - -type BaseTemplateUpgradeEvent interface { - GetTemplateUpgradeEvent() *TemplateUpgradeEvent -} - -func init() { - t["BaseTemplateUpgradeEvent"] = reflect.TypeOf((*TemplateUpgradeEvent)(nil)).Elem() -} - -func (b *Timedout) GetTimedout() *Timedout { return b } - -type BaseTimedout interface { - GetTimedout() *Timedout -} - -func init() { - t["BaseTimedout"] = reflect.TypeOf((*Timedout)(nil)).Elem() -} - -func (b *TypeDescription) GetTypeDescription() *TypeDescription { return b } - -type BaseTypeDescription interface { - GetTypeDescription() *TypeDescription -} - -func init() { - t["BaseTypeDescription"] = reflect.TypeOf((*TypeDescription)(nil)).Elem() -} - -func (b *UnsupportedDatastore) GetUnsupportedDatastore() *UnsupportedDatastore { return b } - -type BaseUnsupportedDatastore interface { - GetUnsupportedDatastore() *UnsupportedDatastore -} - -func init() { - t["BaseUnsupportedDatastore"] = reflect.TypeOf((*UnsupportedDatastore)(nil)).Elem() -} - -func (b *UpgradeEvent) GetUpgradeEvent() *UpgradeEvent { return b } - -type BaseUpgradeEvent interface { - GetUpgradeEvent() *UpgradeEvent -} - -func init() { - t["BaseUpgradeEvent"] = reflect.TypeOf((*UpgradeEvent)(nil)).Elem() -} - -func (b *UserSearchResult) GetUserSearchResult() *UserSearchResult { return b } - -type BaseUserSearchResult interface { - GetUserSearchResult() *UserSearchResult -} - -func init() { - t["BaseUserSearchResult"] = reflect.TypeOf((*UserSearchResult)(nil)).Elem() -} - -func (b *VAppConfigFault) GetVAppConfigFault() *VAppConfigFault { return b } - -type BaseVAppConfigFault interface { - GetVAppConfigFault() *VAppConfigFault -} - -func init() { - t["BaseVAppConfigFault"] = reflect.TypeOf((*VAppConfigFault)(nil)).Elem() -} - -func (b *VAppPropertyFault) GetVAppPropertyFault() *VAppPropertyFault { return b } - -type BaseVAppPropertyFault interface { - GetVAppPropertyFault() *VAppPropertyFault -} - -func init() { - t["BaseVAppPropertyFault"] = reflect.TypeOf((*VAppPropertyFault)(nil)).Elem() -} - -func (b *VMotionInterfaceIssue) GetVMotionInterfaceIssue() *VMotionInterfaceIssue { return b } - -type BaseVMotionInterfaceIssue interface { - GetVMotionInterfaceIssue() *VMotionInterfaceIssue -} - -func init() { - t["BaseVMotionInterfaceIssue"] = reflect.TypeOf((*VMotionInterfaceIssue)(nil)).Elem() -} - -func (b *VMwareDVSHealthCheckConfig) GetVMwareDVSHealthCheckConfig() *VMwareDVSHealthCheckConfig { - return b -} - -type BaseVMwareDVSHealthCheckConfig interface { - GetVMwareDVSHealthCheckConfig() *VMwareDVSHealthCheckConfig -} - -func init() { - t["BaseVMwareDVSHealthCheckConfig"] = reflect.TypeOf((*VMwareDVSHealthCheckConfig)(nil)).Elem() -} - -func (b *VimFault) GetVimFault() *VimFault { return b } - -type BaseVimFault interface { - GetVimFault() *VimFault -} - -func init() { - t["BaseVimFault"] = reflect.TypeOf((*VimFault)(nil)).Elem() -} - -func (b *VirtualController) GetVirtualController() *VirtualController { return b } - -type BaseVirtualController interface { - GetVirtualController() *VirtualController -} - -func init() { - t["BaseVirtualController"] = reflect.TypeOf((*VirtualController)(nil)).Elem() -} - -func (b *VirtualControllerOption) GetVirtualControllerOption() *VirtualControllerOption { return b } - -type BaseVirtualControllerOption interface { - GetVirtualControllerOption() *VirtualControllerOption -} - -func init() { - t["BaseVirtualControllerOption"] = reflect.TypeOf((*VirtualControllerOption)(nil)).Elem() -} - -func (b *VirtualDevice) GetVirtualDevice() *VirtualDevice { return b } - -type BaseVirtualDevice interface { - GetVirtualDevice() *VirtualDevice -} - -func init() { - t["BaseVirtualDevice"] = reflect.TypeOf((*VirtualDevice)(nil)).Elem() -} - -func (b *VirtualDeviceBackingInfo) GetVirtualDeviceBackingInfo() *VirtualDeviceBackingInfo { return b } - -type BaseVirtualDeviceBackingInfo interface { - GetVirtualDeviceBackingInfo() *VirtualDeviceBackingInfo -} - -func init() { - t["BaseVirtualDeviceBackingInfo"] = reflect.TypeOf((*VirtualDeviceBackingInfo)(nil)).Elem() -} - -func (b *VirtualDeviceBackingOption) GetVirtualDeviceBackingOption() *VirtualDeviceBackingOption { - return b -} - -type BaseVirtualDeviceBackingOption interface { - GetVirtualDeviceBackingOption() *VirtualDeviceBackingOption -} - -func init() { - t["BaseVirtualDeviceBackingOption"] = reflect.TypeOf((*VirtualDeviceBackingOption)(nil)).Elem() -} - -func (b *VirtualDeviceBusSlotInfo) GetVirtualDeviceBusSlotInfo() *VirtualDeviceBusSlotInfo { return b } - -type BaseVirtualDeviceBusSlotInfo interface { - GetVirtualDeviceBusSlotInfo() *VirtualDeviceBusSlotInfo -} - -func init() { - t["BaseVirtualDeviceBusSlotInfo"] = reflect.TypeOf((*VirtualDeviceBusSlotInfo)(nil)).Elem() -} - -func (b *VirtualDeviceConfigSpec) GetVirtualDeviceConfigSpec() *VirtualDeviceConfigSpec { return b } - -type BaseVirtualDeviceConfigSpec interface { - GetVirtualDeviceConfigSpec() *VirtualDeviceConfigSpec -} - -func init() { - t["BaseVirtualDeviceConfigSpec"] = reflect.TypeOf((*VirtualDeviceConfigSpec)(nil)).Elem() -} - -func (b *VirtualDeviceDeviceBackingInfo) GetVirtualDeviceDeviceBackingInfo() *VirtualDeviceDeviceBackingInfo { - return b -} - -type BaseVirtualDeviceDeviceBackingInfo interface { - GetVirtualDeviceDeviceBackingInfo() *VirtualDeviceDeviceBackingInfo -} - -func init() { - t["BaseVirtualDeviceDeviceBackingInfo"] = reflect.TypeOf((*VirtualDeviceDeviceBackingInfo)(nil)).Elem() -} - -func (b *VirtualDeviceDeviceBackingOption) GetVirtualDeviceDeviceBackingOption() *VirtualDeviceDeviceBackingOption { - return b -} - -type BaseVirtualDeviceDeviceBackingOption interface { - GetVirtualDeviceDeviceBackingOption() *VirtualDeviceDeviceBackingOption -} - -func init() { - t["BaseVirtualDeviceDeviceBackingOption"] = reflect.TypeOf((*VirtualDeviceDeviceBackingOption)(nil)).Elem() -} - -func (b *VirtualDeviceFileBackingInfo) GetVirtualDeviceFileBackingInfo() *VirtualDeviceFileBackingInfo { - return b -} - -type BaseVirtualDeviceFileBackingInfo interface { - GetVirtualDeviceFileBackingInfo() *VirtualDeviceFileBackingInfo -} - -func init() { - t["BaseVirtualDeviceFileBackingInfo"] = reflect.TypeOf((*VirtualDeviceFileBackingInfo)(nil)).Elem() -} - -func (b *VirtualDeviceFileBackingOption) GetVirtualDeviceFileBackingOption() *VirtualDeviceFileBackingOption { - return b -} - -type BaseVirtualDeviceFileBackingOption interface { - GetVirtualDeviceFileBackingOption() *VirtualDeviceFileBackingOption -} - -func init() { - t["BaseVirtualDeviceFileBackingOption"] = reflect.TypeOf((*VirtualDeviceFileBackingOption)(nil)).Elem() -} - -func (b *VirtualDeviceOption) GetVirtualDeviceOption() *VirtualDeviceOption { return b } - -type BaseVirtualDeviceOption interface { - GetVirtualDeviceOption() *VirtualDeviceOption -} - -func init() { - t["BaseVirtualDeviceOption"] = reflect.TypeOf((*VirtualDeviceOption)(nil)).Elem() -} - -func (b *VirtualDevicePciBusSlotInfo) GetVirtualDevicePciBusSlotInfo() *VirtualDevicePciBusSlotInfo { - return b -} - -type BaseVirtualDevicePciBusSlotInfo interface { - GetVirtualDevicePciBusSlotInfo() *VirtualDevicePciBusSlotInfo -} - -func init() { - t["BaseVirtualDevicePciBusSlotInfo"] = reflect.TypeOf((*VirtualDevicePciBusSlotInfo)(nil)).Elem() -} - -func (b *VirtualDevicePipeBackingInfo) GetVirtualDevicePipeBackingInfo() *VirtualDevicePipeBackingInfo { - return b -} - -type BaseVirtualDevicePipeBackingInfo interface { - GetVirtualDevicePipeBackingInfo() *VirtualDevicePipeBackingInfo -} - -func init() { - t["BaseVirtualDevicePipeBackingInfo"] = reflect.TypeOf((*VirtualDevicePipeBackingInfo)(nil)).Elem() -} - -func (b *VirtualDevicePipeBackingOption) GetVirtualDevicePipeBackingOption() *VirtualDevicePipeBackingOption { - return b -} - -type BaseVirtualDevicePipeBackingOption interface { - GetVirtualDevicePipeBackingOption() *VirtualDevicePipeBackingOption -} - -func init() { - t["BaseVirtualDevicePipeBackingOption"] = reflect.TypeOf((*VirtualDevicePipeBackingOption)(nil)).Elem() -} - -func (b *VirtualDeviceRemoteDeviceBackingInfo) GetVirtualDeviceRemoteDeviceBackingInfo() *VirtualDeviceRemoteDeviceBackingInfo { - return b -} - -type BaseVirtualDeviceRemoteDeviceBackingInfo interface { - GetVirtualDeviceRemoteDeviceBackingInfo() *VirtualDeviceRemoteDeviceBackingInfo -} - -func init() { - t["BaseVirtualDeviceRemoteDeviceBackingInfo"] = reflect.TypeOf((*VirtualDeviceRemoteDeviceBackingInfo)(nil)).Elem() -} - -func (b *VirtualDeviceRemoteDeviceBackingOption) GetVirtualDeviceRemoteDeviceBackingOption() *VirtualDeviceRemoteDeviceBackingOption { - return b -} - -type BaseVirtualDeviceRemoteDeviceBackingOption interface { - GetVirtualDeviceRemoteDeviceBackingOption() *VirtualDeviceRemoteDeviceBackingOption -} - -func init() { - t["BaseVirtualDeviceRemoteDeviceBackingOption"] = reflect.TypeOf((*VirtualDeviceRemoteDeviceBackingOption)(nil)).Elem() -} - -func (b *VirtualDeviceURIBackingInfo) GetVirtualDeviceURIBackingInfo() *VirtualDeviceURIBackingInfo { - return b -} - -type BaseVirtualDeviceURIBackingInfo interface { - GetVirtualDeviceURIBackingInfo() *VirtualDeviceURIBackingInfo -} - -func init() { - t["BaseVirtualDeviceURIBackingInfo"] = reflect.TypeOf((*VirtualDeviceURIBackingInfo)(nil)).Elem() -} - -func (b *VirtualDeviceURIBackingOption) GetVirtualDeviceURIBackingOption() *VirtualDeviceURIBackingOption { - return b -} - -type BaseVirtualDeviceURIBackingOption interface { - GetVirtualDeviceURIBackingOption() *VirtualDeviceURIBackingOption -} - -func init() { - t["BaseVirtualDeviceURIBackingOption"] = reflect.TypeOf((*VirtualDeviceURIBackingOption)(nil)).Elem() -} - -func (b *VirtualDiskRawDiskVer2BackingInfo) GetVirtualDiskRawDiskVer2BackingInfo() *VirtualDiskRawDiskVer2BackingInfo { - return b -} - -type BaseVirtualDiskRawDiskVer2BackingInfo interface { - GetVirtualDiskRawDiskVer2BackingInfo() *VirtualDiskRawDiskVer2BackingInfo -} - -func init() { - t["BaseVirtualDiskRawDiskVer2BackingInfo"] = reflect.TypeOf((*VirtualDiskRawDiskVer2BackingInfo)(nil)).Elem() -} - -func (b *VirtualDiskRawDiskVer2BackingOption) GetVirtualDiskRawDiskVer2BackingOption() *VirtualDiskRawDiskVer2BackingOption { - return b -} - -type BaseVirtualDiskRawDiskVer2BackingOption interface { - GetVirtualDiskRawDiskVer2BackingOption() *VirtualDiskRawDiskVer2BackingOption -} - -func init() { - t["BaseVirtualDiskRawDiskVer2BackingOption"] = reflect.TypeOf((*VirtualDiskRawDiskVer2BackingOption)(nil)).Elem() -} - -func (b *VirtualDiskSpec) GetVirtualDiskSpec() *VirtualDiskSpec { return b } - -type BaseVirtualDiskSpec interface { - GetVirtualDiskSpec() *VirtualDiskSpec -} - -func init() { - t["BaseVirtualDiskSpec"] = reflect.TypeOf((*VirtualDiskSpec)(nil)).Elem() -} - -func (b *VirtualEthernetCard) GetVirtualEthernetCard() *VirtualEthernetCard { return b } - -type BaseVirtualEthernetCard interface { - GetVirtualEthernetCard() *VirtualEthernetCard -} - -func init() { - t["BaseVirtualEthernetCard"] = reflect.TypeOf((*VirtualEthernetCard)(nil)).Elem() -} - -func (b *VirtualEthernetCardOption) GetVirtualEthernetCardOption() *VirtualEthernetCardOption { - return b -} - -type BaseVirtualEthernetCardOption interface { - GetVirtualEthernetCardOption() *VirtualEthernetCardOption -} - -func init() { - t["BaseVirtualEthernetCardOption"] = reflect.TypeOf((*VirtualEthernetCardOption)(nil)).Elem() -} - -func (b *VirtualHardwareCompatibilityIssue) GetVirtualHardwareCompatibilityIssue() *VirtualHardwareCompatibilityIssue { - return b -} - -type BaseVirtualHardwareCompatibilityIssue interface { - GetVirtualHardwareCompatibilityIssue() *VirtualHardwareCompatibilityIssue -} - -func init() { - t["BaseVirtualHardwareCompatibilityIssue"] = reflect.TypeOf((*VirtualHardwareCompatibilityIssue)(nil)).Elem() -} - -func (b *VirtualMachineBaseIndependentFilterSpec) GetVirtualMachineBaseIndependentFilterSpec() *VirtualMachineBaseIndependentFilterSpec { - return b -} - -type BaseVirtualMachineBaseIndependentFilterSpec interface { - GetVirtualMachineBaseIndependentFilterSpec() *VirtualMachineBaseIndependentFilterSpec -} - -func init() { - t["BaseVirtualMachineBaseIndependentFilterSpec"] = reflect.TypeOf((*VirtualMachineBaseIndependentFilterSpec)(nil)).Elem() -} - -func (b *VirtualMachineBootOptionsBootableDevice) GetVirtualMachineBootOptionsBootableDevice() *VirtualMachineBootOptionsBootableDevice { - return b -} - -type BaseVirtualMachineBootOptionsBootableDevice interface { - GetVirtualMachineBootOptionsBootableDevice() *VirtualMachineBootOptionsBootableDevice -} - -func init() { - t["BaseVirtualMachineBootOptionsBootableDevice"] = reflect.TypeOf((*VirtualMachineBootOptionsBootableDevice)(nil)).Elem() -} - -func (b *VirtualMachineConnection) GetVirtualMachineConnection() *VirtualMachineConnection { return b } - -type BaseVirtualMachineConnection interface { - GetVirtualMachineConnection() *VirtualMachineConnection -} - -func init() { - t["BaseVirtualMachineConnection"] = reflect.TypeOf((*VirtualMachineConnection)(nil)).Elem() -} - -func (b *VirtualMachineDeviceRuntimeInfoDeviceRuntimeState) GetVirtualMachineDeviceRuntimeInfoDeviceRuntimeState() *VirtualMachineDeviceRuntimeInfoDeviceRuntimeState { - return b -} - -type BaseVirtualMachineDeviceRuntimeInfoDeviceRuntimeState interface { - GetVirtualMachineDeviceRuntimeInfoDeviceRuntimeState() *VirtualMachineDeviceRuntimeInfoDeviceRuntimeState -} - -func init() { - t["BaseVirtualMachineDeviceRuntimeInfoDeviceRuntimeState"] = reflect.TypeOf((*VirtualMachineDeviceRuntimeInfoDeviceRuntimeState)(nil)).Elem() -} - -func (b *VirtualMachineDiskDeviceInfo) GetVirtualMachineDiskDeviceInfo() *VirtualMachineDiskDeviceInfo { - return b -} - -type BaseVirtualMachineDiskDeviceInfo interface { - GetVirtualMachineDiskDeviceInfo() *VirtualMachineDiskDeviceInfo -} - -func init() { - t["BaseVirtualMachineDiskDeviceInfo"] = reflect.TypeOf((*VirtualMachineDiskDeviceInfo)(nil)).Elem() -} - -func (b *VirtualMachineGuestQuiesceSpec) GetVirtualMachineGuestQuiesceSpec() *VirtualMachineGuestQuiesceSpec { - return b -} - -type BaseVirtualMachineGuestQuiesceSpec interface { - GetVirtualMachineGuestQuiesceSpec() *VirtualMachineGuestQuiesceSpec -} - -func init() { - t["BaseVirtualMachineGuestQuiesceSpec"] = reflect.TypeOf((*VirtualMachineGuestQuiesceSpec)(nil)).Elem() -} - -func (b *VirtualMachinePciPassthroughInfo) GetVirtualMachinePciPassthroughInfo() *VirtualMachinePciPassthroughInfo { - return b -} - -type BaseVirtualMachinePciPassthroughInfo interface { - GetVirtualMachinePciPassthroughInfo() *VirtualMachinePciPassthroughInfo -} - -func init() { - t["BaseVirtualMachinePciPassthroughInfo"] = reflect.TypeOf((*VirtualMachinePciPassthroughInfo)(nil)).Elem() -} - -func (b *VirtualMachineProfileSpec) GetVirtualMachineProfileSpec() *VirtualMachineProfileSpec { - return b -} - -type BaseVirtualMachineProfileSpec interface { - GetVirtualMachineProfileSpec() *VirtualMachineProfileSpec -} - -func init() { - t["BaseVirtualMachineProfileSpec"] = reflect.TypeOf((*VirtualMachineProfileSpec)(nil)).Elem() -} - -func (b *VirtualMachineSriovDevicePoolInfo) GetVirtualMachineSriovDevicePoolInfo() *VirtualMachineSriovDevicePoolInfo { - return b -} - -type BaseVirtualMachineSriovDevicePoolInfo interface { - GetVirtualMachineSriovDevicePoolInfo() *VirtualMachineSriovDevicePoolInfo -} - -func init() { - t["BaseVirtualMachineSriovDevicePoolInfo"] = reflect.TypeOf((*VirtualMachineSriovDevicePoolInfo)(nil)).Elem() -} - -func (b *VirtualMachineTargetInfo) GetVirtualMachineTargetInfo() *VirtualMachineTargetInfo { return b } - -type BaseVirtualMachineTargetInfo interface { - GetVirtualMachineTargetInfo() *VirtualMachineTargetInfo -} - -func init() { - t["BaseVirtualMachineTargetInfo"] = reflect.TypeOf((*VirtualMachineTargetInfo)(nil)).Elem() -} - -func (b *VirtualMachineVirtualDeviceGroupsDeviceGroup) GetVirtualMachineVirtualDeviceGroupsDeviceGroup() *VirtualMachineVirtualDeviceGroupsDeviceGroup { - return b -} - -type BaseVirtualMachineVirtualDeviceGroupsDeviceGroup interface { - GetVirtualMachineVirtualDeviceGroupsDeviceGroup() *VirtualMachineVirtualDeviceGroupsDeviceGroup -} - -func init() { - t["BaseVirtualMachineVirtualDeviceGroupsDeviceGroup"] = reflect.TypeOf((*VirtualMachineVirtualDeviceGroupsDeviceGroup)(nil)).Elem() -} - -func (b *VirtualPCIPassthroughPluginBackingInfo) GetVirtualPCIPassthroughPluginBackingInfo() *VirtualPCIPassthroughPluginBackingInfo { - return b -} - -type BaseVirtualPCIPassthroughPluginBackingInfo interface { - GetVirtualPCIPassthroughPluginBackingInfo() *VirtualPCIPassthroughPluginBackingInfo -} - -func init() { - t["BaseVirtualPCIPassthroughPluginBackingInfo"] = reflect.TypeOf((*VirtualPCIPassthroughPluginBackingInfo)(nil)).Elem() -} - -func (b *VirtualPCIPassthroughPluginBackingOption) GetVirtualPCIPassthroughPluginBackingOption() *VirtualPCIPassthroughPluginBackingOption { - return b -} - -type BaseVirtualPCIPassthroughPluginBackingOption interface { - GetVirtualPCIPassthroughPluginBackingOption() *VirtualPCIPassthroughPluginBackingOption -} - -func init() { - t["BaseVirtualPCIPassthroughPluginBackingOption"] = reflect.TypeOf((*VirtualPCIPassthroughPluginBackingOption)(nil)).Elem() -} - -func (b *VirtualSATAController) GetVirtualSATAController() *VirtualSATAController { return b } - -type BaseVirtualSATAController interface { - GetVirtualSATAController() *VirtualSATAController -} - -func init() { - t["BaseVirtualSATAController"] = reflect.TypeOf((*VirtualSATAController)(nil)).Elem() -} - -func (b *VirtualSATAControllerOption) GetVirtualSATAControllerOption() *VirtualSATAControllerOption { - return b -} - -type BaseVirtualSATAControllerOption interface { - GetVirtualSATAControllerOption() *VirtualSATAControllerOption -} - -func init() { - t["BaseVirtualSATAControllerOption"] = reflect.TypeOf((*VirtualSATAControllerOption)(nil)).Elem() -} - -func (b *VirtualSCSIController) GetVirtualSCSIController() *VirtualSCSIController { return b } - -type BaseVirtualSCSIController interface { - GetVirtualSCSIController() *VirtualSCSIController -} - -func init() { - t["BaseVirtualSCSIController"] = reflect.TypeOf((*VirtualSCSIController)(nil)).Elem() -} - -func (b *VirtualSCSIControllerOption) GetVirtualSCSIControllerOption() *VirtualSCSIControllerOption { - return b -} - -type BaseVirtualSCSIControllerOption interface { - GetVirtualSCSIControllerOption() *VirtualSCSIControllerOption -} - -func init() { - t["BaseVirtualSCSIControllerOption"] = reflect.TypeOf((*VirtualSCSIControllerOption)(nil)).Elem() -} - -func (b *VirtualSoundCard) GetVirtualSoundCard() *VirtualSoundCard { return b } - -type BaseVirtualSoundCard interface { - GetVirtualSoundCard() *VirtualSoundCard -} - -func init() { - t["BaseVirtualSoundCard"] = reflect.TypeOf((*VirtualSoundCard)(nil)).Elem() -} - -func (b *VirtualSoundCardOption) GetVirtualSoundCardOption() *VirtualSoundCardOption { return b } - -type BaseVirtualSoundCardOption interface { - GetVirtualSoundCardOption() *VirtualSoundCardOption -} - -func init() { - t["BaseVirtualSoundCardOption"] = reflect.TypeOf((*VirtualSoundCardOption)(nil)).Elem() -} - -func (b *VirtualVmxnet) GetVirtualVmxnet() *VirtualVmxnet { return b } - -type BaseVirtualVmxnet interface { - GetVirtualVmxnet() *VirtualVmxnet -} - -func init() { - t["BaseVirtualVmxnet"] = reflect.TypeOf((*VirtualVmxnet)(nil)).Elem() -} - -func (b *VirtualVmxnet3) GetVirtualVmxnet3() *VirtualVmxnet3 { return b } - -type BaseVirtualVmxnet3 interface { - GetVirtualVmxnet3() *VirtualVmxnet3 -} - -func init() { - t["BaseVirtualVmxnet3"] = reflect.TypeOf((*VirtualVmxnet3)(nil)).Elem() -} - -func (b *VirtualVmxnet3Option) GetVirtualVmxnet3Option() *VirtualVmxnet3Option { return b } - -type BaseVirtualVmxnet3Option interface { - GetVirtualVmxnet3Option() *VirtualVmxnet3Option -} - -func init() { - t["BaseVirtualVmxnet3Option"] = reflect.TypeOf((*VirtualVmxnet3Option)(nil)).Elem() -} - -func (b *VirtualVmxnetOption) GetVirtualVmxnetOption() *VirtualVmxnetOption { return b } - -type BaseVirtualVmxnetOption interface { - GetVirtualVmxnetOption() *VirtualVmxnetOption -} - -func init() { - t["BaseVirtualVmxnetOption"] = reflect.TypeOf((*VirtualVmxnetOption)(nil)).Elem() -} - -func (b *VmCloneEvent) GetVmCloneEvent() *VmCloneEvent { return b } - -type BaseVmCloneEvent interface { - GetVmCloneEvent() *VmCloneEvent -} - -func init() { - t["BaseVmCloneEvent"] = reflect.TypeOf((*VmCloneEvent)(nil)).Elem() -} - -func (b *VmConfigFault) GetVmConfigFault() *VmConfigFault { return b } - -type BaseVmConfigFault interface { - GetVmConfigFault() *VmConfigFault -} - -func init() { - t["BaseVmConfigFault"] = reflect.TypeOf((*VmConfigFault)(nil)).Elem() -} - -func (b *VmConfigFileInfo) GetVmConfigFileInfo() *VmConfigFileInfo { return b } - -type BaseVmConfigFileInfo interface { - GetVmConfigFileInfo() *VmConfigFileInfo -} - -func init() { - t["BaseVmConfigFileInfo"] = reflect.TypeOf((*VmConfigFileInfo)(nil)).Elem() -} - -func (b *VmConfigFileQuery) GetVmConfigFileQuery() *VmConfigFileQuery { return b } - -type BaseVmConfigFileQuery interface { - GetVmConfigFileQuery() *VmConfigFileQuery -} - -func init() { - t["BaseVmConfigFileQuery"] = reflect.TypeOf((*VmConfigFileQuery)(nil)).Elem() -} - -func (b *VmConfigInfo) GetVmConfigInfo() *VmConfigInfo { return b } - -type BaseVmConfigInfo interface { - GetVmConfigInfo() *VmConfigInfo -} - -func init() { - t["BaseVmConfigInfo"] = reflect.TypeOf((*VmConfigInfo)(nil)).Elem() -} - -func (b *VmConfigSpec) GetVmConfigSpec() *VmConfigSpec { return b } - -type BaseVmConfigSpec interface { - GetVmConfigSpec() *VmConfigSpec -} - -func init() { - t["BaseVmConfigSpec"] = reflect.TypeOf((*VmConfigSpec)(nil)).Elem() -} - -func (b *VmDasBeingResetEvent) GetVmDasBeingResetEvent() *VmDasBeingResetEvent { return b } - -type BaseVmDasBeingResetEvent interface { - GetVmDasBeingResetEvent() *VmDasBeingResetEvent -} - -func init() { - t["BaseVmDasBeingResetEvent"] = reflect.TypeOf((*VmDasBeingResetEvent)(nil)).Elem() -} - -func (b *VmEvent) GetVmEvent() *VmEvent { return b } - -type BaseVmEvent interface { - GetVmEvent() *VmEvent -} - -func init() { - t["BaseVmEvent"] = reflect.TypeOf((*VmEvent)(nil)).Elem() -} - -func (b *VmFaultToleranceIssue) GetVmFaultToleranceIssue() *VmFaultToleranceIssue { return b } - -type BaseVmFaultToleranceIssue interface { - GetVmFaultToleranceIssue() *VmFaultToleranceIssue -} - -func init() { - t["BaseVmFaultToleranceIssue"] = reflect.TypeOf((*VmFaultToleranceIssue)(nil)).Elem() -} - -func (b *VmMigratedEvent) GetVmMigratedEvent() *VmMigratedEvent { return b } - -type BaseVmMigratedEvent interface { - GetVmMigratedEvent() *VmMigratedEvent -} - -func init() { - t["BaseVmMigratedEvent"] = reflect.TypeOf((*VmMigratedEvent)(nil)).Elem() -} - -func (b *VmPoweredOffEvent) GetVmPoweredOffEvent() *VmPoweredOffEvent { return b } - -type BaseVmPoweredOffEvent interface { - GetVmPoweredOffEvent() *VmPoweredOffEvent -} - -func init() { - t["BaseVmPoweredOffEvent"] = reflect.TypeOf((*VmPoweredOffEvent)(nil)).Elem() -} - -func (b *VmPoweredOnEvent) GetVmPoweredOnEvent() *VmPoweredOnEvent { return b } - -type BaseVmPoweredOnEvent interface { - GetVmPoweredOnEvent() *VmPoweredOnEvent -} - -func init() { - t["BaseVmPoweredOnEvent"] = reflect.TypeOf((*VmPoweredOnEvent)(nil)).Elem() -} - -func (b *VmRelocateSpecEvent) GetVmRelocateSpecEvent() *VmRelocateSpecEvent { return b } - -type BaseVmRelocateSpecEvent interface { - GetVmRelocateSpecEvent() *VmRelocateSpecEvent -} - -func init() { - t["BaseVmRelocateSpecEvent"] = reflect.TypeOf((*VmRelocateSpecEvent)(nil)).Elem() -} - -func (b *VmStartingEvent) GetVmStartingEvent() *VmStartingEvent { return b } - -type BaseVmStartingEvent interface { - GetVmStartingEvent() *VmStartingEvent -} - -func init() { - t["BaseVmStartingEvent"] = reflect.TypeOf((*VmStartingEvent)(nil)).Elem() -} - -func (b *VmToolsUpgradeFault) GetVmToolsUpgradeFault() *VmToolsUpgradeFault { return b } - -type BaseVmToolsUpgradeFault interface { - GetVmToolsUpgradeFault() *VmToolsUpgradeFault -} - -func init() { - t["BaseVmToolsUpgradeFault"] = reflect.TypeOf((*VmToolsUpgradeFault)(nil)).Elem() -} - -func (b *VmfsDatastoreBaseOption) GetVmfsDatastoreBaseOption() *VmfsDatastoreBaseOption { return b } - -type BaseVmfsDatastoreBaseOption interface { - GetVmfsDatastoreBaseOption() *VmfsDatastoreBaseOption -} - -func init() { - t["BaseVmfsDatastoreBaseOption"] = reflect.TypeOf((*VmfsDatastoreBaseOption)(nil)).Elem() -} - -func (b *VmfsDatastoreSingleExtentOption) GetVmfsDatastoreSingleExtentOption() *VmfsDatastoreSingleExtentOption { - return b -} - -type BaseVmfsDatastoreSingleExtentOption interface { - GetVmfsDatastoreSingleExtentOption() *VmfsDatastoreSingleExtentOption -} - -func init() { - t["BaseVmfsDatastoreSingleExtentOption"] = reflect.TypeOf((*VmfsDatastoreSingleExtentOption)(nil)).Elem() -} - -func (b *VmfsDatastoreSpec) GetVmfsDatastoreSpec() *VmfsDatastoreSpec { return b } - -type BaseVmfsDatastoreSpec interface { - GetVmfsDatastoreSpec() *VmfsDatastoreSpec -} - -func init() { - t["BaseVmfsDatastoreSpec"] = reflect.TypeOf((*VmfsDatastoreSpec)(nil)).Elem() -} - -func (b *VmfsMountFault) GetVmfsMountFault() *VmfsMountFault { return b } - -type BaseVmfsMountFault interface { - GetVmfsMountFault() *VmfsMountFault -} - -func init() { - t["BaseVmfsMountFault"] = reflect.TypeOf((*VmfsMountFault)(nil)).Elem() -} - -func (b *VmwareDistributedVirtualSwitchVlanSpec) GetVmwareDistributedVirtualSwitchVlanSpec() *VmwareDistributedVirtualSwitchVlanSpec { - return b -} - -type BaseVmwareDistributedVirtualSwitchVlanSpec interface { - GetVmwareDistributedVirtualSwitchVlanSpec() *VmwareDistributedVirtualSwitchVlanSpec -} - -func init() { - t["BaseVmwareDistributedVirtualSwitchVlanSpec"] = reflect.TypeOf((*VmwareDistributedVirtualSwitchVlanSpec)(nil)).Elem() -} - -func (b *VsanDiskFault) GetVsanDiskFault() *VsanDiskFault { return b } - -type BaseVsanDiskFault interface { - GetVsanDiskFault() *VsanDiskFault -} - -func init() { - t["BaseVsanDiskFault"] = reflect.TypeOf((*VsanDiskFault)(nil)).Elem() -} - -func (b *VsanFault) GetVsanFault() *VsanFault { return b } - -type BaseVsanFault interface { - GetVsanFault() *VsanFault -} - -func init() { - t["BaseVsanFault"] = reflect.TypeOf((*VsanFault)(nil)).Elem() -} - -func (b *VsanUpgradeSystemPreflightCheckIssue) GetVsanUpgradeSystemPreflightCheckIssue() *VsanUpgradeSystemPreflightCheckIssue { - return b -} - -type BaseVsanUpgradeSystemPreflightCheckIssue interface { - GetVsanUpgradeSystemPreflightCheckIssue() *VsanUpgradeSystemPreflightCheckIssue -} - -func init() { - t["BaseVsanUpgradeSystemPreflightCheckIssue"] = reflect.TypeOf((*VsanUpgradeSystemPreflightCheckIssue)(nil)).Elem() -} - -func (b *VsanUpgradeSystemUpgradeHistoryItem) GetVsanUpgradeSystemUpgradeHistoryItem() *VsanUpgradeSystemUpgradeHistoryItem { - return b -} - -type BaseVsanUpgradeSystemUpgradeHistoryItem interface { - GetVsanUpgradeSystemUpgradeHistoryItem() *VsanUpgradeSystemUpgradeHistoryItem -} - -func init() { - t["BaseVsanUpgradeSystemUpgradeHistoryItem"] = reflect.TypeOf((*VsanUpgradeSystemUpgradeHistoryItem)(nil)).Elem() -} - -func (b *VslmCreateSpecBackingSpec) GetVslmCreateSpecBackingSpec() *VslmCreateSpecBackingSpec { - return b -} - -type BaseVslmCreateSpecBackingSpec interface { - GetVslmCreateSpecBackingSpec() *VslmCreateSpecBackingSpec -} - -func init() { - t["BaseVslmCreateSpecBackingSpec"] = reflect.TypeOf((*VslmCreateSpecBackingSpec)(nil)).Elem() -} - -func (b *VslmMigrateSpec) GetVslmMigrateSpec() *VslmMigrateSpec { return b } - -type BaseVslmMigrateSpec interface { - GetVslmMigrateSpec() *VslmMigrateSpec -} - -func init() { - t["BaseVslmMigrateSpec"] = reflect.TypeOf((*VslmMigrateSpec)(nil)).Elem() -} diff --git a/vendor/github.com/vmware/govmomi/vim25/types/registry.go b/vendor/github.com/vmware/govmomi/vim25/types/registry.go deleted file mode 100644 index ff7c302d318..00000000000 --- a/vendor/github.com/vmware/govmomi/vim25/types/registry.go +++ /dev/null @@ -1,43 +0,0 @@ -/* -Copyright (c) 2014 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package types - -import ( - "reflect" - "strings" -) - -var t = map[string]reflect.Type{} - -func Add(name string, kind reflect.Type) { - t[name] = kind -} - -type Func func(string) (reflect.Type, bool) - -func TypeFunc() Func { - return func(name string) (reflect.Type, bool) { - typ, ok := t[name] - if !ok { - // The /sdk endpoint does not prefix types with the namespace, - // but extension endpoints, such as /pbm/sdk do. - name = strings.TrimPrefix(name, "vim25:") - typ, ok = t[name] - } - return typ, ok - } -} diff --git a/vendor/github.com/vmware/govmomi/vim25/types/types.go b/vendor/github.com/vmware/govmomi/vim25/types/types.go deleted file mode 100644 index f7ae195f79f..00000000000 --- a/vendor/github.com/vmware/govmomi/vim25/types/types.go +++ /dev/null @@ -1,59412 +0,0 @@ -/* -Copyright (c) 2014-2022 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package types - -import ( - "reflect" - "time" -) - -type AbandonHciWorkflow AbandonHciWorkflowRequestType - -func init() { - t["AbandonHciWorkflow"] = reflect.TypeOf((*AbandonHciWorkflow)(nil)).Elem() -} - -type AbandonHciWorkflowRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["AbandonHciWorkflowRequestType"] = reflect.TypeOf((*AbandonHciWorkflowRequestType)(nil)).Elem() -} - -type AbandonHciWorkflowResponse struct { -} - -type AbdicateDomOwnership AbdicateDomOwnershipRequestType - -func init() { - t["AbdicateDomOwnership"] = reflect.TypeOf((*AbdicateDomOwnership)(nil)).Elem() -} - -type AbdicateDomOwnershipRequestType struct { - This ManagedObjectReference `xml:"_this"` - Uuids []string `xml:"uuids"` -} - -func init() { - t["AbdicateDomOwnershipRequestType"] = reflect.TypeOf((*AbdicateDomOwnershipRequestType)(nil)).Elem() -} - -type AbdicateDomOwnershipResponse struct { - Returnval []string `xml:"returnval,omitempty"` -} - -type AbortCustomizationRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm ManagedObjectReference `xml:"vm"` - Auth BaseGuestAuthentication `xml:"auth,typeattr"` -} - -func init() { - t["AbortCustomizationRequestType"] = reflect.TypeOf((*AbortCustomizationRequestType)(nil)).Elem() -} - -type AbortCustomization_Task AbortCustomizationRequestType - -func init() { - t["AbortCustomization_Task"] = reflect.TypeOf((*AbortCustomization_Task)(nil)).Elem() -} - -type AbortCustomization_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type AboutInfo struct { - DynamicData - - Name string `xml:"name"` - FullName string `xml:"fullName"` - Vendor string `xml:"vendor"` - Version string `xml:"version"` - PatchLevel string `xml:"patchLevel,omitempty"` - Build string `xml:"build"` - LocaleVersion string `xml:"localeVersion,omitempty"` - LocaleBuild string `xml:"localeBuild,omitempty"` - OsType string `xml:"osType"` - ProductLineId string `xml:"productLineId"` - ApiType string `xml:"apiType"` - ApiVersion string `xml:"apiVersion"` - InstanceUuid string `xml:"instanceUuid,omitempty"` - LicenseProductName string `xml:"licenseProductName,omitempty"` - LicenseProductVersion string `xml:"licenseProductVersion,omitempty"` -} - -func init() { - t["AboutInfo"] = reflect.TypeOf((*AboutInfo)(nil)).Elem() -} - -type AccountCreatedEvent struct { - HostEvent - - Spec BaseHostAccountSpec `xml:"spec,typeattr"` - Group bool `xml:"group"` -} - -func init() { - t["AccountCreatedEvent"] = reflect.TypeOf((*AccountCreatedEvent)(nil)).Elem() -} - -type AccountRemovedEvent struct { - HostEvent - - Account string `xml:"account"` - Group bool `xml:"group"` -} - -func init() { - t["AccountRemovedEvent"] = reflect.TypeOf((*AccountRemovedEvent)(nil)).Elem() -} - -type AccountUpdatedEvent struct { - HostEvent - - Spec BaseHostAccountSpec `xml:"spec,typeattr"` - Group bool `xml:"group"` - PrevDescription string `xml:"prevDescription,omitempty"` -} - -func init() { - t["AccountUpdatedEvent"] = reflect.TypeOf((*AccountUpdatedEvent)(nil)).Elem() -} - -type AcknowledgeAlarm AcknowledgeAlarmRequestType - -func init() { - t["AcknowledgeAlarm"] = reflect.TypeOf((*AcknowledgeAlarm)(nil)).Elem() -} - -type AcknowledgeAlarmRequestType struct { - This ManagedObjectReference `xml:"_this"` - Alarm ManagedObjectReference `xml:"alarm"` - Entity ManagedObjectReference `xml:"entity"` -} - -func init() { - t["AcknowledgeAlarmRequestType"] = reflect.TypeOf((*AcknowledgeAlarmRequestType)(nil)).Elem() -} - -type AcknowledgeAlarmResponse struct { -} - -type AcquireCimServicesTicket AcquireCimServicesTicketRequestType - -func init() { - t["AcquireCimServicesTicket"] = reflect.TypeOf((*AcquireCimServicesTicket)(nil)).Elem() -} - -type AcquireCimServicesTicketRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["AcquireCimServicesTicketRequestType"] = reflect.TypeOf((*AcquireCimServicesTicketRequestType)(nil)).Elem() -} - -type AcquireCimServicesTicketResponse struct { - Returnval HostServiceTicket `xml:"returnval"` -} - -type AcquireCloneTicket AcquireCloneTicketRequestType - -func init() { - t["AcquireCloneTicket"] = reflect.TypeOf((*AcquireCloneTicket)(nil)).Elem() -} - -type AcquireCloneTicketRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["AcquireCloneTicketRequestType"] = reflect.TypeOf((*AcquireCloneTicketRequestType)(nil)).Elem() -} - -type AcquireCloneTicketResponse struct { - Returnval string `xml:"returnval"` -} - -type AcquireCredentialsInGuest AcquireCredentialsInGuestRequestType - -func init() { - t["AcquireCredentialsInGuest"] = reflect.TypeOf((*AcquireCredentialsInGuest)(nil)).Elem() -} - -type AcquireCredentialsInGuestRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm ManagedObjectReference `xml:"vm"` - RequestedAuth BaseGuestAuthentication `xml:"requestedAuth,typeattr"` - SessionID int64 `xml:"sessionID,omitempty"` -} - -func init() { - t["AcquireCredentialsInGuestRequestType"] = reflect.TypeOf((*AcquireCredentialsInGuestRequestType)(nil)).Elem() -} - -type AcquireCredentialsInGuestResponse struct { - Returnval BaseGuestAuthentication `xml:"returnval,typeattr"` -} - -type AcquireGenericServiceTicket AcquireGenericServiceTicketRequestType - -func init() { - t["AcquireGenericServiceTicket"] = reflect.TypeOf((*AcquireGenericServiceTicket)(nil)).Elem() -} - -type AcquireGenericServiceTicketRequestType struct { - This ManagedObjectReference `xml:"_this"` - Spec BaseSessionManagerServiceRequestSpec `xml:"spec,typeattr"` -} - -func init() { - t["AcquireGenericServiceTicketRequestType"] = reflect.TypeOf((*AcquireGenericServiceTicketRequestType)(nil)).Elem() -} - -type AcquireGenericServiceTicketResponse struct { - Returnval SessionManagerGenericServiceTicket `xml:"returnval"` -} - -type AcquireLocalTicket AcquireLocalTicketRequestType - -func init() { - t["AcquireLocalTicket"] = reflect.TypeOf((*AcquireLocalTicket)(nil)).Elem() -} - -type AcquireLocalTicketRequestType struct { - This ManagedObjectReference `xml:"_this"` - UserName string `xml:"userName"` -} - -func init() { - t["AcquireLocalTicketRequestType"] = reflect.TypeOf((*AcquireLocalTicketRequestType)(nil)).Elem() -} - -type AcquireLocalTicketResponse struct { - Returnval SessionManagerLocalTicket `xml:"returnval"` -} - -type AcquireMksTicket AcquireMksTicketRequestType - -func init() { - t["AcquireMksTicket"] = reflect.TypeOf((*AcquireMksTicket)(nil)).Elem() -} - -type AcquireMksTicketRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["AcquireMksTicketRequestType"] = reflect.TypeOf((*AcquireMksTicketRequestType)(nil)).Elem() -} - -type AcquireMksTicketResponse struct { - Returnval VirtualMachineMksTicket `xml:"returnval"` -} - -type AcquireTicket AcquireTicketRequestType - -func init() { - t["AcquireTicket"] = reflect.TypeOf((*AcquireTicket)(nil)).Elem() -} - -type AcquireTicketRequestType struct { - This ManagedObjectReference `xml:"_this"` - TicketType string `xml:"ticketType"` -} - -func init() { - t["AcquireTicketRequestType"] = reflect.TypeOf((*AcquireTicketRequestType)(nil)).Elem() -} - -type AcquireTicketResponse struct { - Returnval VirtualMachineTicket `xml:"returnval"` -} - -type Action struct { - DynamicData -} - -func init() { - t["Action"] = reflect.TypeOf((*Action)(nil)).Elem() -} - -type ActiveDirectoryFault struct { - VimFault - - ErrorCode int32 `xml:"errorCode,omitempty"` -} - -func init() { - t["ActiveDirectoryFault"] = reflect.TypeOf((*ActiveDirectoryFault)(nil)).Elem() -} - -type ActiveDirectoryFaultFault BaseActiveDirectoryFault - -func init() { - t["ActiveDirectoryFaultFault"] = reflect.TypeOf((*ActiveDirectoryFaultFault)(nil)).Elem() -} - -type ActiveDirectoryProfile struct { - ApplyProfile -} - -func init() { - t["ActiveDirectoryProfile"] = reflect.TypeOf((*ActiveDirectoryProfile)(nil)).Elem() -} - -type ActiveVMsBlockingEVC struct { - EVCConfigFault - - EvcMode string `xml:"evcMode,omitempty"` - Host []ManagedObjectReference `xml:"host,omitempty"` - HostName []string `xml:"hostName,omitempty"` -} - -func init() { - t["ActiveVMsBlockingEVC"] = reflect.TypeOf((*ActiveVMsBlockingEVC)(nil)).Elem() -} - -type ActiveVMsBlockingEVCFault ActiveVMsBlockingEVC - -func init() { - t["ActiveVMsBlockingEVCFault"] = reflect.TypeOf((*ActiveVMsBlockingEVCFault)(nil)).Elem() -} - -type AddAuthorizationRole AddAuthorizationRoleRequestType - -func init() { - t["AddAuthorizationRole"] = reflect.TypeOf((*AddAuthorizationRole)(nil)).Elem() -} - -type AddAuthorizationRoleRequestType struct { - This ManagedObjectReference `xml:"_this"` - Name string `xml:"name"` - PrivIds []string `xml:"privIds,omitempty"` -} - -func init() { - t["AddAuthorizationRoleRequestType"] = reflect.TypeOf((*AddAuthorizationRoleRequestType)(nil)).Elem() -} - -type AddAuthorizationRoleResponse struct { - Returnval int32 `xml:"returnval"` -} - -type AddCustomFieldDef AddCustomFieldDefRequestType - -func init() { - t["AddCustomFieldDef"] = reflect.TypeOf((*AddCustomFieldDef)(nil)).Elem() -} - -type AddCustomFieldDefRequestType struct { - This ManagedObjectReference `xml:"_this"` - Name string `xml:"name"` - MoType string `xml:"moType,omitempty"` - FieldDefPolicy *PrivilegePolicyDef `xml:"fieldDefPolicy,omitempty"` - FieldPolicy *PrivilegePolicyDef `xml:"fieldPolicy,omitempty"` -} - -func init() { - t["AddCustomFieldDefRequestType"] = reflect.TypeOf((*AddCustomFieldDefRequestType)(nil)).Elem() -} - -type AddCustomFieldDefResponse struct { - Returnval CustomFieldDef `xml:"returnval"` -} - -type AddDVPortgroupRequestType struct { - This ManagedObjectReference `xml:"_this"` - Spec []DVPortgroupConfigSpec `xml:"spec"` -} - -func init() { - t["AddDVPortgroupRequestType"] = reflect.TypeOf((*AddDVPortgroupRequestType)(nil)).Elem() -} - -type AddDVPortgroup_Task AddDVPortgroupRequestType - -func init() { - t["AddDVPortgroup_Task"] = reflect.TypeOf((*AddDVPortgroup_Task)(nil)).Elem() -} - -type AddDVPortgroup_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type AddDisksRequestType struct { - This ManagedObjectReference `xml:"_this"` - Disk []HostScsiDisk `xml:"disk"` -} - -func init() { - t["AddDisksRequestType"] = reflect.TypeOf((*AddDisksRequestType)(nil)).Elem() -} - -type AddDisks_Task AddDisksRequestType - -func init() { - t["AddDisks_Task"] = reflect.TypeOf((*AddDisks_Task)(nil)).Elem() -} - -type AddDisks_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type AddFilter AddFilterRequestType - -func init() { - t["AddFilter"] = reflect.TypeOf((*AddFilter)(nil)).Elem() -} - -type AddFilterEntities AddFilterEntitiesRequestType - -func init() { - t["AddFilterEntities"] = reflect.TypeOf((*AddFilterEntities)(nil)).Elem() -} - -type AddFilterEntitiesRequestType struct { - This ManagedObjectReference `xml:"_this"` - FilterId string `xml:"filterId"` - Entities []ManagedObjectReference `xml:"entities,omitempty"` -} - -func init() { - t["AddFilterEntitiesRequestType"] = reflect.TypeOf((*AddFilterEntitiesRequestType)(nil)).Elem() -} - -type AddFilterEntitiesResponse struct { -} - -type AddFilterRequestType struct { - This ManagedObjectReference `xml:"_this"` - ProviderId string `xml:"providerId"` - FilterName string `xml:"filterName"` - InfoIds []string `xml:"infoIds,omitempty"` -} - -func init() { - t["AddFilterRequestType"] = reflect.TypeOf((*AddFilterRequestType)(nil)).Elem() -} - -type AddFilterResponse struct { - Returnval string `xml:"returnval"` -} - -type AddGuestAlias AddGuestAliasRequestType - -func init() { - t["AddGuestAlias"] = reflect.TypeOf((*AddGuestAlias)(nil)).Elem() -} - -type AddGuestAliasRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm ManagedObjectReference `xml:"vm"` - Auth BaseGuestAuthentication `xml:"auth,typeattr"` - Username string `xml:"username"` - MapCert bool `xml:"mapCert"` - Base64Cert string `xml:"base64Cert"` - AliasInfo GuestAuthAliasInfo `xml:"aliasInfo"` -} - -func init() { - t["AddGuestAliasRequestType"] = reflect.TypeOf((*AddGuestAliasRequestType)(nil)).Elem() -} - -type AddGuestAliasResponse struct { -} - -type AddHostRequestType struct { - This ManagedObjectReference `xml:"_this"` - Spec HostConnectSpec `xml:"spec"` - AsConnected bool `xml:"asConnected"` - ResourcePool *ManagedObjectReference `xml:"resourcePool,omitempty"` - License string `xml:"license,omitempty"` -} - -func init() { - t["AddHostRequestType"] = reflect.TypeOf((*AddHostRequestType)(nil)).Elem() -} - -type AddHost_Task AddHostRequestType - -func init() { - t["AddHost_Task"] = reflect.TypeOf((*AddHost_Task)(nil)).Elem() -} - -type AddHost_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type AddInternetScsiSendTargets AddInternetScsiSendTargetsRequestType - -func init() { - t["AddInternetScsiSendTargets"] = reflect.TypeOf((*AddInternetScsiSendTargets)(nil)).Elem() -} - -type AddInternetScsiSendTargetsRequestType struct { - This ManagedObjectReference `xml:"_this"` - IScsiHbaDevice string `xml:"iScsiHbaDevice"` - Targets []HostInternetScsiHbaSendTarget `xml:"targets"` -} - -func init() { - t["AddInternetScsiSendTargetsRequestType"] = reflect.TypeOf((*AddInternetScsiSendTargetsRequestType)(nil)).Elem() -} - -type AddInternetScsiSendTargetsResponse struct { -} - -type AddInternetScsiStaticTargets AddInternetScsiStaticTargetsRequestType - -func init() { - t["AddInternetScsiStaticTargets"] = reflect.TypeOf((*AddInternetScsiStaticTargets)(nil)).Elem() -} - -type AddInternetScsiStaticTargetsRequestType struct { - This ManagedObjectReference `xml:"_this"` - IScsiHbaDevice string `xml:"iScsiHbaDevice"` - Targets []HostInternetScsiHbaStaticTarget `xml:"targets"` -} - -func init() { - t["AddInternetScsiStaticTargetsRequestType"] = reflect.TypeOf((*AddInternetScsiStaticTargetsRequestType)(nil)).Elem() -} - -type AddInternetScsiStaticTargetsResponse struct { -} - -type AddKey AddKeyRequestType - -func init() { - t["AddKey"] = reflect.TypeOf((*AddKey)(nil)).Elem() -} - -type AddKeyRequestType struct { - This ManagedObjectReference `xml:"_this"` - Key CryptoKeyPlain `xml:"key"` -} - -func init() { - t["AddKeyRequestType"] = reflect.TypeOf((*AddKeyRequestType)(nil)).Elem() -} - -type AddKeyResponse struct { -} - -type AddKeys AddKeysRequestType - -func init() { - t["AddKeys"] = reflect.TypeOf((*AddKeys)(nil)).Elem() -} - -type AddKeysRequestType struct { - This ManagedObjectReference `xml:"_this"` - Keys []CryptoKeyPlain `xml:"keys,omitempty"` -} - -func init() { - t["AddKeysRequestType"] = reflect.TypeOf((*AddKeysRequestType)(nil)).Elem() -} - -type AddKeysResponse struct { - Returnval []CryptoKeyResult `xml:"returnval,omitempty"` -} - -type AddLicense AddLicenseRequestType - -func init() { - t["AddLicense"] = reflect.TypeOf((*AddLicense)(nil)).Elem() -} - -type AddLicenseRequestType struct { - This ManagedObjectReference `xml:"_this"` - LicenseKey string `xml:"licenseKey"` - Labels []KeyValue `xml:"labels,omitempty"` -} - -func init() { - t["AddLicenseRequestType"] = reflect.TypeOf((*AddLicenseRequestType)(nil)).Elem() -} - -type AddLicenseResponse struct { - Returnval LicenseManagerLicenseInfo `xml:"returnval"` -} - -type AddMonitoredEntities AddMonitoredEntitiesRequestType - -func init() { - t["AddMonitoredEntities"] = reflect.TypeOf((*AddMonitoredEntities)(nil)).Elem() -} - -type AddMonitoredEntitiesRequestType struct { - This ManagedObjectReference `xml:"_this"` - ProviderId string `xml:"providerId"` - Entities []ManagedObjectReference `xml:"entities,omitempty"` -} - -func init() { - t["AddMonitoredEntitiesRequestType"] = reflect.TypeOf((*AddMonitoredEntitiesRequestType)(nil)).Elem() -} - -type AddMonitoredEntitiesResponse struct { -} - -type AddNetworkResourcePool AddNetworkResourcePoolRequestType - -func init() { - t["AddNetworkResourcePool"] = reflect.TypeOf((*AddNetworkResourcePool)(nil)).Elem() -} - -type AddNetworkResourcePoolRequestType struct { - This ManagedObjectReference `xml:"_this"` - ConfigSpec []DVSNetworkResourcePoolConfigSpec `xml:"configSpec"` -} - -func init() { - t["AddNetworkResourcePoolRequestType"] = reflect.TypeOf((*AddNetworkResourcePoolRequestType)(nil)).Elem() -} - -type AddNetworkResourcePoolResponse struct { -} - -type AddPortGroup AddPortGroupRequestType - -func init() { - t["AddPortGroup"] = reflect.TypeOf((*AddPortGroup)(nil)).Elem() -} - -type AddPortGroupRequestType struct { - This ManagedObjectReference `xml:"_this"` - Portgrp HostPortGroupSpec `xml:"portgrp"` -} - -func init() { - t["AddPortGroupRequestType"] = reflect.TypeOf((*AddPortGroupRequestType)(nil)).Elem() -} - -type AddPortGroupResponse struct { -} - -type AddServiceConsoleVirtualNic AddServiceConsoleVirtualNicRequestType - -func init() { - t["AddServiceConsoleVirtualNic"] = reflect.TypeOf((*AddServiceConsoleVirtualNic)(nil)).Elem() -} - -type AddServiceConsoleVirtualNicRequestType struct { - This ManagedObjectReference `xml:"_this"` - Portgroup string `xml:"portgroup"` - Nic HostVirtualNicSpec `xml:"nic"` -} - -func init() { - t["AddServiceConsoleVirtualNicRequestType"] = reflect.TypeOf((*AddServiceConsoleVirtualNicRequestType)(nil)).Elem() -} - -type AddServiceConsoleVirtualNicResponse struct { - Returnval string `xml:"returnval"` -} - -type AddStandaloneHostRequestType struct { - This ManagedObjectReference `xml:"_this"` - Spec HostConnectSpec `xml:"spec"` - CompResSpec BaseComputeResourceConfigSpec `xml:"compResSpec,omitempty,typeattr"` - AddConnected bool `xml:"addConnected"` - License string `xml:"license,omitempty"` -} - -func init() { - t["AddStandaloneHostRequestType"] = reflect.TypeOf((*AddStandaloneHostRequestType)(nil)).Elem() -} - -type AddStandaloneHost_Task AddStandaloneHostRequestType - -func init() { - t["AddStandaloneHost_Task"] = reflect.TypeOf((*AddStandaloneHost_Task)(nil)).Elem() -} - -type AddStandaloneHost_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type AddVirtualNic AddVirtualNicRequestType - -func init() { - t["AddVirtualNic"] = reflect.TypeOf((*AddVirtualNic)(nil)).Elem() -} - -type AddVirtualNicRequestType struct { - This ManagedObjectReference `xml:"_this"` - Portgroup string `xml:"portgroup"` - Nic HostVirtualNicSpec `xml:"nic"` -} - -func init() { - t["AddVirtualNicRequestType"] = reflect.TypeOf((*AddVirtualNicRequestType)(nil)).Elem() -} - -type AddVirtualNicResponse struct { - Returnval string `xml:"returnval"` -} - -type AddVirtualSwitch AddVirtualSwitchRequestType - -func init() { - t["AddVirtualSwitch"] = reflect.TypeOf((*AddVirtualSwitch)(nil)).Elem() -} - -type AddVirtualSwitchRequestType struct { - This ManagedObjectReference `xml:"_this"` - VswitchName string `xml:"vswitchName"` - Spec *HostVirtualSwitchSpec `xml:"spec,omitempty"` -} - -func init() { - t["AddVirtualSwitchRequestType"] = reflect.TypeOf((*AddVirtualSwitchRequestType)(nil)).Elem() -} - -type AddVirtualSwitchResponse struct { -} - -type AdminDisabled struct { - HostConfigFault -} - -func init() { - t["AdminDisabled"] = reflect.TypeOf((*AdminDisabled)(nil)).Elem() -} - -type AdminDisabledFault AdminDisabled - -func init() { - t["AdminDisabledFault"] = reflect.TypeOf((*AdminDisabledFault)(nil)).Elem() -} - -type AdminNotDisabled struct { - HostConfigFault -} - -func init() { - t["AdminNotDisabled"] = reflect.TypeOf((*AdminNotDisabled)(nil)).Elem() -} - -type AdminNotDisabledFault AdminNotDisabled - -func init() { - t["AdminNotDisabledFault"] = reflect.TypeOf((*AdminNotDisabledFault)(nil)).Elem() -} - -type AdminPasswordNotChangedEvent struct { - HostEvent -} - -func init() { - t["AdminPasswordNotChangedEvent"] = reflect.TypeOf((*AdminPasswordNotChangedEvent)(nil)).Elem() -} - -type AffinityConfigured struct { - MigrationFault - - ConfiguredAffinity []string `xml:"configuredAffinity"` -} - -func init() { - t["AffinityConfigured"] = reflect.TypeOf((*AffinityConfigured)(nil)).Elem() -} - -type AffinityConfiguredFault AffinityConfigured - -func init() { - t["AffinityConfiguredFault"] = reflect.TypeOf((*AffinityConfiguredFault)(nil)).Elem() -} - -type AfterStartupTaskScheduler struct { - TaskScheduler - - Minute int32 `xml:"minute"` -} - -func init() { - t["AfterStartupTaskScheduler"] = reflect.TypeOf((*AfterStartupTaskScheduler)(nil)).Elem() -} - -type AgentInstallFailed struct { - HostConnectFault - - Reason string `xml:"reason,omitempty"` - StatusCode int32 `xml:"statusCode,omitempty"` - InstallerOutput string `xml:"installerOutput,omitempty"` -} - -func init() { - t["AgentInstallFailed"] = reflect.TypeOf((*AgentInstallFailed)(nil)).Elem() -} - -type AgentInstallFailedFault AgentInstallFailed - -func init() { - t["AgentInstallFailedFault"] = reflect.TypeOf((*AgentInstallFailedFault)(nil)).Elem() -} - -type AlarmAcknowledgedEvent struct { - AlarmEvent - - Source ManagedEntityEventArgument `xml:"source"` - Entity ManagedEntityEventArgument `xml:"entity"` -} - -func init() { - t["AlarmAcknowledgedEvent"] = reflect.TypeOf((*AlarmAcknowledgedEvent)(nil)).Elem() -} - -type AlarmAction struct { - DynamicData -} - -func init() { - t["AlarmAction"] = reflect.TypeOf((*AlarmAction)(nil)).Elem() -} - -type AlarmActionTriggeredEvent struct { - AlarmEvent - - Source ManagedEntityEventArgument `xml:"source"` - Entity ManagedEntityEventArgument `xml:"entity"` -} - -func init() { - t["AlarmActionTriggeredEvent"] = reflect.TypeOf((*AlarmActionTriggeredEvent)(nil)).Elem() -} - -type AlarmClearedEvent struct { - AlarmEvent - - Source ManagedEntityEventArgument `xml:"source"` - Entity ManagedEntityEventArgument `xml:"entity"` - From string `xml:"from"` -} - -func init() { - t["AlarmClearedEvent"] = reflect.TypeOf((*AlarmClearedEvent)(nil)).Elem() -} - -type AlarmCreatedEvent struct { - AlarmEvent - - Entity ManagedEntityEventArgument `xml:"entity"` -} - -func init() { - t["AlarmCreatedEvent"] = reflect.TypeOf((*AlarmCreatedEvent)(nil)).Elem() -} - -type AlarmDescription struct { - DynamicData - - Expr []BaseTypeDescription `xml:"expr,typeattr"` - StateOperator []BaseElementDescription `xml:"stateOperator,typeattr"` - MetricOperator []BaseElementDescription `xml:"metricOperator,typeattr"` - HostSystemConnectionState []BaseElementDescription `xml:"hostSystemConnectionState,typeattr"` - VirtualMachinePowerState []BaseElementDescription `xml:"virtualMachinePowerState,typeattr"` - DatastoreConnectionState []BaseElementDescription `xml:"datastoreConnectionState,omitempty,typeattr"` - HostSystemPowerState []BaseElementDescription `xml:"hostSystemPowerState,omitempty,typeattr"` - VirtualMachineGuestHeartbeatStatus []BaseElementDescription `xml:"virtualMachineGuestHeartbeatStatus,omitempty,typeattr"` - EntityStatus []BaseElementDescription `xml:"entityStatus,typeattr"` - Action []BaseTypeDescription `xml:"action,typeattr"` -} - -func init() { - t["AlarmDescription"] = reflect.TypeOf((*AlarmDescription)(nil)).Elem() -} - -type AlarmEmailCompletedEvent struct { - AlarmEvent - - Entity ManagedEntityEventArgument `xml:"entity"` - To string `xml:"to"` -} - -func init() { - t["AlarmEmailCompletedEvent"] = reflect.TypeOf((*AlarmEmailCompletedEvent)(nil)).Elem() -} - -type AlarmEmailFailedEvent struct { - AlarmEvent - - Entity ManagedEntityEventArgument `xml:"entity"` - To string `xml:"to"` - Reason LocalizedMethodFault `xml:"reason"` -} - -func init() { - t["AlarmEmailFailedEvent"] = reflect.TypeOf((*AlarmEmailFailedEvent)(nil)).Elem() -} - -type AlarmEvent struct { - Event - - Alarm AlarmEventArgument `xml:"alarm"` -} - -func init() { - t["AlarmEvent"] = reflect.TypeOf((*AlarmEvent)(nil)).Elem() -} - -type AlarmEventArgument struct { - EntityEventArgument - - Alarm ManagedObjectReference `xml:"alarm"` -} - -func init() { - t["AlarmEventArgument"] = reflect.TypeOf((*AlarmEventArgument)(nil)).Elem() -} - -type AlarmExpression struct { - DynamicData -} - -func init() { - t["AlarmExpression"] = reflect.TypeOf((*AlarmExpression)(nil)).Elem() -} - -type AlarmFilterSpec struct { - DynamicData - - Status []ManagedEntityStatus `xml:"status,omitempty"` - TypeEntity string `xml:"typeEntity,omitempty"` - TypeTrigger string `xml:"typeTrigger,omitempty"` -} - -func init() { - t["AlarmFilterSpec"] = reflect.TypeOf((*AlarmFilterSpec)(nil)).Elem() -} - -type AlarmInfo struct { - AlarmSpec - - Key string `xml:"key"` - Alarm ManagedObjectReference `xml:"alarm"` - Entity ManagedObjectReference `xml:"entity"` - LastModifiedTime time.Time `xml:"lastModifiedTime"` - LastModifiedUser string `xml:"lastModifiedUser"` - CreationEventId int32 `xml:"creationEventId"` -} - -func init() { - t["AlarmInfo"] = reflect.TypeOf((*AlarmInfo)(nil)).Elem() -} - -type AlarmReconfiguredEvent struct { - AlarmEvent - - Entity ManagedEntityEventArgument `xml:"entity"` - ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty"` -} - -func init() { - t["AlarmReconfiguredEvent"] = reflect.TypeOf((*AlarmReconfiguredEvent)(nil)).Elem() -} - -type AlarmRemovedEvent struct { - AlarmEvent - - Entity ManagedEntityEventArgument `xml:"entity"` -} - -func init() { - t["AlarmRemovedEvent"] = reflect.TypeOf((*AlarmRemovedEvent)(nil)).Elem() -} - -type AlarmScriptCompleteEvent struct { - AlarmEvent - - Entity ManagedEntityEventArgument `xml:"entity"` - Script string `xml:"script"` -} - -func init() { - t["AlarmScriptCompleteEvent"] = reflect.TypeOf((*AlarmScriptCompleteEvent)(nil)).Elem() -} - -type AlarmScriptFailedEvent struct { - AlarmEvent - - Entity ManagedEntityEventArgument `xml:"entity"` - Script string `xml:"script"` - Reason LocalizedMethodFault `xml:"reason"` -} - -func init() { - t["AlarmScriptFailedEvent"] = reflect.TypeOf((*AlarmScriptFailedEvent)(nil)).Elem() -} - -type AlarmSetting struct { - DynamicData - - ToleranceRange int32 `xml:"toleranceRange"` - ReportingFrequency int32 `xml:"reportingFrequency"` -} - -func init() { - t["AlarmSetting"] = reflect.TypeOf((*AlarmSetting)(nil)).Elem() -} - -type AlarmSnmpCompletedEvent struct { - AlarmEvent - - Entity ManagedEntityEventArgument `xml:"entity"` -} - -func init() { - t["AlarmSnmpCompletedEvent"] = reflect.TypeOf((*AlarmSnmpCompletedEvent)(nil)).Elem() -} - -type AlarmSnmpFailedEvent struct { - AlarmEvent - - Entity ManagedEntityEventArgument `xml:"entity"` - Reason LocalizedMethodFault `xml:"reason"` -} - -func init() { - t["AlarmSnmpFailedEvent"] = reflect.TypeOf((*AlarmSnmpFailedEvent)(nil)).Elem() -} - -type AlarmSpec struct { - DynamicData - - Name string `xml:"name"` - SystemName string `xml:"systemName,omitempty"` - Description string `xml:"description"` - Enabled bool `xml:"enabled"` - Expression BaseAlarmExpression `xml:"expression,typeattr"` - Action BaseAlarmAction `xml:"action,omitempty,typeattr"` - ActionFrequency int32 `xml:"actionFrequency,omitempty"` - Setting *AlarmSetting `xml:"setting,omitempty"` -} - -func init() { - t["AlarmSpec"] = reflect.TypeOf((*AlarmSpec)(nil)).Elem() -} - -type AlarmState struct { - DynamicData - - Key string `xml:"key"` - Entity ManagedObjectReference `xml:"entity"` - Alarm ManagedObjectReference `xml:"alarm"` - OverallStatus ManagedEntityStatus `xml:"overallStatus"` - Time time.Time `xml:"time"` - Acknowledged *bool `xml:"acknowledged"` - AcknowledgedByUser string `xml:"acknowledgedByUser,omitempty"` - AcknowledgedTime *time.Time `xml:"acknowledgedTime"` - EventKey int32 `xml:"eventKey,omitempty"` - Disabled *bool `xml:"disabled"` -} - -func init() { - t["AlarmState"] = reflect.TypeOf((*AlarmState)(nil)).Elem() -} - -type AlarmStatusChangedEvent struct { - AlarmEvent - - Source ManagedEntityEventArgument `xml:"source"` - Entity ManagedEntityEventArgument `xml:"entity"` - From string `xml:"from"` - To string `xml:"to"` -} - -func init() { - t["AlarmStatusChangedEvent"] = reflect.TypeOf((*AlarmStatusChangedEvent)(nil)).Elem() -} - -type AlarmTriggeringAction struct { - AlarmAction - - Action BaseAction `xml:"action,typeattr"` - TransitionSpecs []AlarmTriggeringActionTransitionSpec `xml:"transitionSpecs,omitempty"` - Green2yellow bool `xml:"green2yellow"` - Yellow2red bool `xml:"yellow2red"` - Red2yellow bool `xml:"red2yellow"` - Yellow2green bool `xml:"yellow2green"` -} - -func init() { - t["AlarmTriggeringAction"] = reflect.TypeOf((*AlarmTriggeringAction)(nil)).Elem() -} - -type AlarmTriggeringActionTransitionSpec struct { - DynamicData - - StartState ManagedEntityStatus `xml:"startState"` - FinalState ManagedEntityStatus `xml:"finalState"` - Repeats bool `xml:"repeats"` -} - -func init() { - t["AlarmTriggeringActionTransitionSpec"] = reflect.TypeOf((*AlarmTriggeringActionTransitionSpec)(nil)).Elem() -} - -type AllVirtualMachinesLicensedEvent struct { - LicenseEvent -} - -func init() { - t["AllVirtualMachinesLicensedEvent"] = reflect.TypeOf((*AllVirtualMachinesLicensedEvent)(nil)).Elem() -} - -type AllocateIpv4Address AllocateIpv4AddressRequestType - -func init() { - t["AllocateIpv4Address"] = reflect.TypeOf((*AllocateIpv4Address)(nil)).Elem() -} - -type AllocateIpv4AddressRequestType struct { - This ManagedObjectReference `xml:"_this"` - Dc ManagedObjectReference `xml:"dc"` - PoolId int32 `xml:"poolId"` - AllocationId string `xml:"allocationId"` -} - -func init() { - t["AllocateIpv4AddressRequestType"] = reflect.TypeOf((*AllocateIpv4AddressRequestType)(nil)).Elem() -} - -type AllocateIpv4AddressResponse struct { - Returnval string `xml:"returnval"` -} - -type AllocateIpv6Address AllocateIpv6AddressRequestType - -func init() { - t["AllocateIpv6Address"] = reflect.TypeOf((*AllocateIpv6Address)(nil)).Elem() -} - -type AllocateIpv6AddressRequestType struct { - This ManagedObjectReference `xml:"_this"` - Dc ManagedObjectReference `xml:"dc"` - PoolId int32 `xml:"poolId"` - AllocationId string `xml:"allocationId"` -} - -func init() { - t["AllocateIpv6AddressRequestType"] = reflect.TypeOf((*AllocateIpv6AddressRequestType)(nil)).Elem() -} - -type AllocateIpv6AddressResponse struct { - Returnval string `xml:"returnval"` -} - -type AlreadyAuthenticatedSessionEvent struct { - SessionEvent -} - -func init() { - t["AlreadyAuthenticatedSessionEvent"] = reflect.TypeOf((*AlreadyAuthenticatedSessionEvent)(nil)).Elem() -} - -type AlreadyBeingManaged struct { - HostConnectFault - - IpAddress string `xml:"ipAddress"` -} - -func init() { - t["AlreadyBeingManaged"] = reflect.TypeOf((*AlreadyBeingManaged)(nil)).Elem() -} - -type AlreadyBeingManagedFault AlreadyBeingManaged - -func init() { - t["AlreadyBeingManagedFault"] = reflect.TypeOf((*AlreadyBeingManagedFault)(nil)).Elem() -} - -type AlreadyConnected struct { - HostConnectFault - - Name string `xml:"name"` -} - -func init() { - t["AlreadyConnected"] = reflect.TypeOf((*AlreadyConnected)(nil)).Elem() -} - -type AlreadyConnectedFault AlreadyConnected - -func init() { - t["AlreadyConnectedFault"] = reflect.TypeOf((*AlreadyConnectedFault)(nil)).Elem() -} - -type AlreadyExists struct { - VimFault - - Name string `xml:"name,omitempty"` -} - -func init() { - t["AlreadyExists"] = reflect.TypeOf((*AlreadyExists)(nil)).Elem() -} - -type AlreadyExistsFault AlreadyExists - -func init() { - t["AlreadyExistsFault"] = reflect.TypeOf((*AlreadyExistsFault)(nil)).Elem() -} - -type AlreadyUpgraded struct { - VimFault -} - -func init() { - t["AlreadyUpgraded"] = reflect.TypeOf((*AlreadyUpgraded)(nil)).Elem() -} - -type AlreadyUpgradedFault AlreadyUpgraded - -func init() { - t["AlreadyUpgradedFault"] = reflect.TypeOf((*AlreadyUpgradedFault)(nil)).Elem() -} - -type AndAlarmExpression struct { - AlarmExpression - - Expression []BaseAlarmExpression `xml:"expression,typeattr"` -} - -func init() { - t["AndAlarmExpression"] = reflect.TypeOf((*AndAlarmExpression)(nil)).Elem() -} - -type AnswerFile struct { - DynamicData - - UserInput []ProfileDeferredPolicyOptionParameter `xml:"userInput,omitempty"` - CreatedTime time.Time `xml:"createdTime"` - ModifiedTime time.Time `xml:"modifiedTime"` -} - -func init() { - t["AnswerFile"] = reflect.TypeOf((*AnswerFile)(nil)).Elem() -} - -type AnswerFileCreateSpec struct { - DynamicData - - Validating *bool `xml:"validating"` -} - -func init() { - t["AnswerFileCreateSpec"] = reflect.TypeOf((*AnswerFileCreateSpec)(nil)).Elem() -} - -type AnswerFileOptionsCreateSpec struct { - AnswerFileCreateSpec - - UserInput []ProfileDeferredPolicyOptionParameter `xml:"userInput,omitempty"` -} - -func init() { - t["AnswerFileOptionsCreateSpec"] = reflect.TypeOf((*AnswerFileOptionsCreateSpec)(nil)).Elem() -} - -type AnswerFileSerializedCreateSpec struct { - AnswerFileCreateSpec - - AnswerFileConfigString string `xml:"answerFileConfigString"` -} - -func init() { - t["AnswerFileSerializedCreateSpec"] = reflect.TypeOf((*AnswerFileSerializedCreateSpec)(nil)).Elem() -} - -type AnswerFileStatusError struct { - DynamicData - - UserInputPath ProfilePropertyPath `xml:"userInputPath"` - ErrMsg LocalizableMessage `xml:"errMsg"` -} - -func init() { - t["AnswerFileStatusError"] = reflect.TypeOf((*AnswerFileStatusError)(nil)).Elem() -} - -type AnswerFileStatusResult struct { - DynamicData - - CheckedTime time.Time `xml:"checkedTime"` - Host ManagedObjectReference `xml:"host"` - Status string `xml:"status"` - Error []AnswerFileStatusError `xml:"error,omitempty"` -} - -func init() { - t["AnswerFileStatusResult"] = reflect.TypeOf((*AnswerFileStatusResult)(nil)).Elem() -} - -type AnswerFileUpdateFailed struct { - VimFault - - Failure []AnswerFileUpdateFailure `xml:"failure"` -} - -func init() { - t["AnswerFileUpdateFailed"] = reflect.TypeOf((*AnswerFileUpdateFailed)(nil)).Elem() -} - -type AnswerFileUpdateFailedFault AnswerFileUpdateFailed - -func init() { - t["AnswerFileUpdateFailedFault"] = reflect.TypeOf((*AnswerFileUpdateFailedFault)(nil)).Elem() -} - -type AnswerFileUpdateFailure struct { - DynamicData - - UserInputPath ProfilePropertyPath `xml:"userInputPath"` - ErrMsg LocalizableMessage `xml:"errMsg"` -} - -func init() { - t["AnswerFileUpdateFailure"] = reflect.TypeOf((*AnswerFileUpdateFailure)(nil)).Elem() -} - -type AnswerVM AnswerVMRequestType - -func init() { - t["AnswerVM"] = reflect.TypeOf((*AnswerVM)(nil)).Elem() -} - -type AnswerVMRequestType struct { - This ManagedObjectReference `xml:"_this"` - QuestionId string `xml:"questionId"` - AnswerChoice string `xml:"answerChoice"` -} - -func init() { - t["AnswerVMRequestType"] = reflect.TypeOf((*AnswerVMRequestType)(nil)).Elem() -} - -type AnswerVMResponse struct { -} - -type ApplicationQuiesceFault struct { - SnapshotFault -} - -func init() { - t["ApplicationQuiesceFault"] = reflect.TypeOf((*ApplicationQuiesceFault)(nil)).Elem() -} - -type ApplicationQuiesceFaultFault ApplicationQuiesceFault - -func init() { - t["ApplicationQuiesceFaultFault"] = reflect.TypeOf((*ApplicationQuiesceFaultFault)(nil)).Elem() -} - -type ApplyEntitiesConfigRequestType struct { - This ManagedObjectReference `xml:"_this"` - ApplyConfigSpecs []ApplyHostProfileConfigurationSpec `xml:"applyConfigSpecs,omitempty"` -} - -func init() { - t["ApplyEntitiesConfigRequestType"] = reflect.TypeOf((*ApplyEntitiesConfigRequestType)(nil)).Elem() -} - -type ApplyEntitiesConfig_Task ApplyEntitiesConfigRequestType - -func init() { - t["ApplyEntitiesConfig_Task"] = reflect.TypeOf((*ApplyEntitiesConfig_Task)(nil)).Elem() -} - -type ApplyEntitiesConfig_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ApplyEvcModeVMRequestType struct { - This ManagedObjectReference `xml:"_this"` - Mask []HostFeatureMask `xml:"mask,omitempty"` - CompleteMasks *bool `xml:"completeMasks"` -} - -func init() { - t["ApplyEvcModeVMRequestType"] = reflect.TypeOf((*ApplyEvcModeVMRequestType)(nil)).Elem() -} - -type ApplyEvcModeVM_Task ApplyEvcModeVMRequestType - -func init() { - t["ApplyEvcModeVM_Task"] = reflect.TypeOf((*ApplyEvcModeVM_Task)(nil)).Elem() -} - -type ApplyEvcModeVM_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ApplyHostConfigRequestType struct { - This ManagedObjectReference `xml:"_this"` - Host ManagedObjectReference `xml:"host"` - ConfigSpec HostConfigSpec `xml:"configSpec"` - UserInput []ProfileDeferredPolicyOptionParameter `xml:"userInput,omitempty"` -} - -func init() { - t["ApplyHostConfigRequestType"] = reflect.TypeOf((*ApplyHostConfigRequestType)(nil)).Elem() -} - -type ApplyHostConfig_Task ApplyHostConfigRequestType - -func init() { - t["ApplyHostConfig_Task"] = reflect.TypeOf((*ApplyHostConfig_Task)(nil)).Elem() -} - -type ApplyHostConfig_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ApplyHostProfileConfigurationResult struct { - DynamicData - - StartTime time.Time `xml:"startTime"` - CompleteTime time.Time `xml:"completeTime"` - Host ManagedObjectReference `xml:"host"` - Status string `xml:"status"` - Errors []LocalizedMethodFault `xml:"errors,omitempty"` -} - -func init() { - t["ApplyHostProfileConfigurationResult"] = reflect.TypeOf((*ApplyHostProfileConfigurationResult)(nil)).Elem() -} - -type ApplyHostProfileConfigurationSpec struct { - ProfileExecuteResult - - Host ManagedObjectReference `xml:"host"` - TaskListRequirement []string `xml:"taskListRequirement,omitempty"` - TaskDescription []LocalizableMessage `xml:"taskDescription,omitempty"` - RebootStateless *bool `xml:"rebootStateless"` - RebootHost *bool `xml:"rebootHost"` - FaultData *LocalizedMethodFault `xml:"faultData,omitempty"` -} - -func init() { - t["ApplyHostProfileConfigurationSpec"] = reflect.TypeOf((*ApplyHostProfileConfigurationSpec)(nil)).Elem() -} - -type ApplyProfile struct { - DynamicData - - Enabled bool `xml:"enabled"` - Policy []ProfilePolicy `xml:"policy,omitempty"` - ProfileTypeName string `xml:"profileTypeName,omitempty"` - ProfileVersion string `xml:"profileVersion,omitempty"` - Property []ProfileApplyProfileProperty `xml:"property,omitempty"` - Favorite *bool `xml:"favorite"` - ToBeMerged *bool `xml:"toBeMerged"` - ToReplaceWith *bool `xml:"toReplaceWith"` - ToBeDeleted *bool `xml:"toBeDeleted"` - CopyEnableStatus *bool `xml:"copyEnableStatus"` - Hidden *bool `xml:"hidden"` -} - -func init() { - t["ApplyProfile"] = reflect.TypeOf((*ApplyProfile)(nil)).Elem() -} - -type ApplyRecommendation ApplyRecommendationRequestType - -func init() { - t["ApplyRecommendation"] = reflect.TypeOf((*ApplyRecommendation)(nil)).Elem() -} - -type ApplyRecommendationRequestType struct { - This ManagedObjectReference `xml:"_this"` - Key string `xml:"key"` -} - -func init() { - t["ApplyRecommendationRequestType"] = reflect.TypeOf((*ApplyRecommendationRequestType)(nil)).Elem() -} - -type ApplyRecommendationResponse struct { -} - -type ApplyStorageDrsRecommendationRequestType struct { - This ManagedObjectReference `xml:"_this"` - Key []string `xml:"key"` -} - -func init() { - t["ApplyStorageDrsRecommendationRequestType"] = reflect.TypeOf((*ApplyStorageDrsRecommendationRequestType)(nil)).Elem() -} - -type ApplyStorageDrsRecommendationToPodRequestType struct { - This ManagedObjectReference `xml:"_this"` - Pod ManagedObjectReference `xml:"pod"` - Key string `xml:"key"` -} - -func init() { - t["ApplyStorageDrsRecommendationToPodRequestType"] = reflect.TypeOf((*ApplyStorageDrsRecommendationToPodRequestType)(nil)).Elem() -} - -type ApplyStorageDrsRecommendationToPod_Task ApplyStorageDrsRecommendationToPodRequestType - -func init() { - t["ApplyStorageDrsRecommendationToPod_Task"] = reflect.TypeOf((*ApplyStorageDrsRecommendationToPod_Task)(nil)).Elem() -} - -type ApplyStorageDrsRecommendationToPod_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ApplyStorageDrsRecommendation_Task ApplyStorageDrsRecommendationRequestType - -func init() { - t["ApplyStorageDrsRecommendation_Task"] = reflect.TypeOf((*ApplyStorageDrsRecommendation_Task)(nil)).Elem() -} - -type ApplyStorageDrsRecommendation_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ApplyStorageRecommendationResult struct { - DynamicData - - Vm *ManagedObjectReference `xml:"vm,omitempty"` -} - -func init() { - t["ApplyStorageRecommendationResult"] = reflect.TypeOf((*ApplyStorageRecommendationResult)(nil)).Elem() -} - -type AreAlarmActionsEnabled AreAlarmActionsEnabledRequestType - -func init() { - t["AreAlarmActionsEnabled"] = reflect.TypeOf((*AreAlarmActionsEnabled)(nil)).Elem() -} - -type AreAlarmActionsEnabledRequestType struct { - This ManagedObjectReference `xml:"_this"` - Entity ManagedObjectReference `xml:"entity"` -} - -func init() { - t["AreAlarmActionsEnabledRequestType"] = reflect.TypeOf((*AreAlarmActionsEnabledRequestType)(nil)).Elem() -} - -type AreAlarmActionsEnabledResponse struct { - Returnval bool `xml:"returnval"` -} - -type ArrayOfAlarmAction struct { - AlarmAction []BaseAlarmAction `xml:"AlarmAction,omitempty,typeattr"` -} - -func init() { - t["ArrayOfAlarmAction"] = reflect.TypeOf((*ArrayOfAlarmAction)(nil)).Elem() -} - -type ArrayOfAlarmExpression struct { - AlarmExpression []BaseAlarmExpression `xml:"AlarmExpression,omitempty,typeattr"` -} - -func init() { - t["ArrayOfAlarmExpression"] = reflect.TypeOf((*ArrayOfAlarmExpression)(nil)).Elem() -} - -type ArrayOfAlarmState struct { - AlarmState []AlarmState `xml:"AlarmState,omitempty"` -} - -func init() { - t["ArrayOfAlarmState"] = reflect.TypeOf((*ArrayOfAlarmState)(nil)).Elem() -} - -type ArrayOfAlarmTriggeringActionTransitionSpec struct { - AlarmTriggeringActionTransitionSpec []AlarmTriggeringActionTransitionSpec `xml:"AlarmTriggeringActionTransitionSpec,omitempty"` -} - -func init() { - t["ArrayOfAlarmTriggeringActionTransitionSpec"] = reflect.TypeOf((*ArrayOfAlarmTriggeringActionTransitionSpec)(nil)).Elem() -} - -type ArrayOfAnswerFileStatusError struct { - AnswerFileStatusError []AnswerFileStatusError `xml:"AnswerFileStatusError,omitempty"` -} - -func init() { - t["ArrayOfAnswerFileStatusError"] = reflect.TypeOf((*ArrayOfAnswerFileStatusError)(nil)).Elem() -} - -type ArrayOfAnswerFileStatusResult struct { - AnswerFileStatusResult []AnswerFileStatusResult `xml:"AnswerFileStatusResult,omitempty"` -} - -func init() { - t["ArrayOfAnswerFileStatusResult"] = reflect.TypeOf((*ArrayOfAnswerFileStatusResult)(nil)).Elem() -} - -type ArrayOfAnswerFileUpdateFailure struct { - AnswerFileUpdateFailure []AnswerFileUpdateFailure `xml:"AnswerFileUpdateFailure,omitempty"` -} - -func init() { - t["ArrayOfAnswerFileUpdateFailure"] = reflect.TypeOf((*ArrayOfAnswerFileUpdateFailure)(nil)).Elem() -} - -type ArrayOfAnyType struct { - AnyType []AnyType `xml:"anyType,omitempty,typeattr"` -} - -func init() { - t["ArrayOfAnyType"] = reflect.TypeOf((*ArrayOfAnyType)(nil)).Elem() -} - -type ArrayOfAnyURI struct { - AnyURI []string `xml:"anyURI,omitempty"` -} - -func init() { - t["ArrayOfAnyURI"] = reflect.TypeOf((*ArrayOfAnyURI)(nil)).Elem() -} - -type ArrayOfApplyHostProfileConfigurationResult struct { - ApplyHostProfileConfigurationResult []ApplyHostProfileConfigurationResult `xml:"ApplyHostProfileConfigurationResult,omitempty"` -} - -func init() { - t["ArrayOfApplyHostProfileConfigurationResult"] = reflect.TypeOf((*ArrayOfApplyHostProfileConfigurationResult)(nil)).Elem() -} - -type ArrayOfApplyHostProfileConfigurationSpec struct { - ApplyHostProfileConfigurationSpec []ApplyHostProfileConfigurationSpec `xml:"ApplyHostProfileConfigurationSpec,omitempty"` -} - -func init() { - t["ArrayOfApplyHostProfileConfigurationSpec"] = reflect.TypeOf((*ArrayOfApplyHostProfileConfigurationSpec)(nil)).Elem() -} - -type ArrayOfApplyProfile struct { - ApplyProfile []BaseApplyProfile `xml:"ApplyProfile,omitempty,typeattr"` -} - -func init() { - t["ArrayOfApplyProfile"] = reflect.TypeOf((*ArrayOfApplyProfile)(nil)).Elem() -} - -type ArrayOfAuthorizationPrivilege struct { - AuthorizationPrivilege []AuthorizationPrivilege `xml:"AuthorizationPrivilege,omitempty"` -} - -func init() { - t["ArrayOfAuthorizationPrivilege"] = reflect.TypeOf((*ArrayOfAuthorizationPrivilege)(nil)).Elem() -} - -type ArrayOfAuthorizationRole struct { - AuthorizationRole []AuthorizationRole `xml:"AuthorizationRole,omitempty"` -} - -func init() { - t["ArrayOfAuthorizationRole"] = reflect.TypeOf((*ArrayOfAuthorizationRole)(nil)).Elem() -} - -type ArrayOfAutoStartPowerInfo struct { - AutoStartPowerInfo []AutoStartPowerInfo `xml:"AutoStartPowerInfo,omitempty"` -} - -func init() { - t["ArrayOfAutoStartPowerInfo"] = reflect.TypeOf((*ArrayOfAutoStartPowerInfo)(nil)).Elem() -} - -type ArrayOfBase64Binary struct { - Base64Binary [][]byte `xml:"base64Binary,omitempty"` -} - -func init() { - t["ArrayOfBase64Binary"] = reflect.TypeOf((*ArrayOfBase64Binary)(nil)).Elem() -} - -type ArrayOfBoolean struct { - Boolean []bool `xml:"boolean,omitempty"` -} - -func init() { - t["ArrayOfBoolean"] = reflect.TypeOf((*ArrayOfBoolean)(nil)).Elem() -} - -type ArrayOfByte struct { - Byte []byte `xml:"byte,omitempty"` -} - -func init() { - t["ArrayOfByte"] = reflect.TypeOf((*ArrayOfByte)(nil)).Elem() -} - -type ArrayOfChangesInfoEventArgument struct { - ChangesInfoEventArgument []ChangesInfoEventArgument `xml:"ChangesInfoEventArgument,omitempty"` -} - -func init() { - t["ArrayOfChangesInfoEventArgument"] = reflect.TypeOf((*ArrayOfChangesInfoEventArgument)(nil)).Elem() -} - -type ArrayOfCheckResult struct { - CheckResult []CheckResult `xml:"CheckResult,omitempty"` -} - -func init() { - t["ArrayOfCheckResult"] = reflect.TypeOf((*ArrayOfCheckResult)(nil)).Elem() -} - -type ArrayOfClusterAction struct { - ClusterAction []BaseClusterAction `xml:"ClusterAction,omitempty,typeattr"` -} - -func init() { - t["ArrayOfClusterAction"] = reflect.TypeOf((*ArrayOfClusterAction)(nil)).Elem() -} - -type ArrayOfClusterActionHistory struct { - ClusterActionHistory []ClusterActionHistory `xml:"ClusterActionHistory,omitempty"` -} - -func init() { - t["ArrayOfClusterActionHistory"] = reflect.TypeOf((*ArrayOfClusterActionHistory)(nil)).Elem() -} - -type ArrayOfClusterAttemptedVmInfo struct { - ClusterAttemptedVmInfo []ClusterAttemptedVmInfo `xml:"ClusterAttemptedVmInfo,omitempty"` -} - -func init() { - t["ArrayOfClusterAttemptedVmInfo"] = reflect.TypeOf((*ArrayOfClusterAttemptedVmInfo)(nil)).Elem() -} - -type ArrayOfClusterComputeResourceDVSSetting struct { - ClusterComputeResourceDVSSetting []ClusterComputeResourceDVSSetting `xml:"ClusterComputeResourceDVSSetting,omitempty"` -} - -func init() { - t["ArrayOfClusterComputeResourceDVSSetting"] = reflect.TypeOf((*ArrayOfClusterComputeResourceDVSSetting)(nil)).Elem() -} - -type ArrayOfClusterComputeResourceDVSSettingDVPortgroupToServiceMapping struct { - ClusterComputeResourceDVSSettingDVPortgroupToServiceMapping []ClusterComputeResourceDVSSettingDVPortgroupToServiceMapping `xml:"ClusterComputeResourceDVSSettingDVPortgroupToServiceMapping,omitempty"` -} - -func init() { - t["ArrayOfClusterComputeResourceDVSSettingDVPortgroupToServiceMapping"] = reflect.TypeOf((*ArrayOfClusterComputeResourceDVSSettingDVPortgroupToServiceMapping)(nil)).Elem() -} - -type ArrayOfClusterComputeResourceDvsProfile struct { - ClusterComputeResourceDvsProfile []ClusterComputeResourceDvsProfile `xml:"ClusterComputeResourceDvsProfile,omitempty"` -} - -func init() { - t["ArrayOfClusterComputeResourceDvsProfile"] = reflect.TypeOf((*ArrayOfClusterComputeResourceDvsProfile)(nil)).Elem() -} - -type ArrayOfClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping struct { - ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping []ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping `xml:"ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping,omitempty"` -} - -func init() { - t["ArrayOfClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping"] = reflect.TypeOf((*ArrayOfClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping)(nil)).Elem() -} - -type ArrayOfClusterComputeResourceHostConfigurationInput struct { - ClusterComputeResourceHostConfigurationInput []ClusterComputeResourceHostConfigurationInput `xml:"ClusterComputeResourceHostConfigurationInput,omitempty"` -} - -func init() { - t["ArrayOfClusterComputeResourceHostConfigurationInput"] = reflect.TypeOf((*ArrayOfClusterComputeResourceHostConfigurationInput)(nil)).Elem() -} - -type ArrayOfClusterComputeResourceHostVmkNicInfo struct { - ClusterComputeResourceHostVmkNicInfo []ClusterComputeResourceHostVmkNicInfo `xml:"ClusterComputeResourceHostVmkNicInfo,omitempty"` -} - -func init() { - t["ArrayOfClusterComputeResourceHostVmkNicInfo"] = reflect.TypeOf((*ArrayOfClusterComputeResourceHostVmkNicInfo)(nil)).Elem() -} - -type ArrayOfClusterComputeResourceValidationResultBase struct { - ClusterComputeResourceValidationResultBase []BaseClusterComputeResourceValidationResultBase `xml:"ClusterComputeResourceValidationResultBase,omitempty,typeattr"` -} - -func init() { - t["ArrayOfClusterComputeResourceValidationResultBase"] = reflect.TypeOf((*ArrayOfClusterComputeResourceValidationResultBase)(nil)).Elem() -} - -type ArrayOfClusterComputeResourceVcsSlots struct { - ClusterComputeResourceVcsSlots []ClusterComputeResourceVcsSlots `xml:"ClusterComputeResourceVcsSlots,omitempty"` -} - -func init() { - t["ArrayOfClusterComputeResourceVcsSlots"] = reflect.TypeOf((*ArrayOfClusterComputeResourceVcsSlots)(nil)).Elem() -} - -type ArrayOfClusterDasAamNodeState struct { - ClusterDasAamNodeState []ClusterDasAamNodeState `xml:"ClusterDasAamNodeState,omitempty"` -} - -func init() { - t["ArrayOfClusterDasAamNodeState"] = reflect.TypeOf((*ArrayOfClusterDasAamNodeState)(nil)).Elem() -} - -type ArrayOfClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots struct { - ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots []ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots `xml:"ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots,omitempty"` -} - -func init() { - t["ArrayOfClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots"] = reflect.TypeOf((*ArrayOfClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots)(nil)).Elem() -} - -type ArrayOfClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots struct { - ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots []ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots `xml:"ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots,omitempty"` -} - -func init() { - t["ArrayOfClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots"] = reflect.TypeOf((*ArrayOfClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots)(nil)).Elem() -} - -type ArrayOfClusterDasVmConfigInfo struct { - ClusterDasVmConfigInfo []ClusterDasVmConfigInfo `xml:"ClusterDasVmConfigInfo,omitempty"` -} - -func init() { - t["ArrayOfClusterDasVmConfigInfo"] = reflect.TypeOf((*ArrayOfClusterDasVmConfigInfo)(nil)).Elem() -} - -type ArrayOfClusterDasVmConfigSpec struct { - ClusterDasVmConfigSpec []ClusterDasVmConfigSpec `xml:"ClusterDasVmConfigSpec,omitempty"` -} - -func init() { - t["ArrayOfClusterDasVmConfigSpec"] = reflect.TypeOf((*ArrayOfClusterDasVmConfigSpec)(nil)).Elem() -} - -type ArrayOfClusterDatastoreUpdateSpec struct { - ClusterDatastoreUpdateSpec []ClusterDatastoreUpdateSpec `xml:"ClusterDatastoreUpdateSpec,omitempty"` -} - -func init() { - t["ArrayOfClusterDatastoreUpdateSpec"] = reflect.TypeOf((*ArrayOfClusterDatastoreUpdateSpec)(nil)).Elem() -} - -type ArrayOfClusterDpmHostConfigInfo struct { - ClusterDpmHostConfigInfo []ClusterDpmHostConfigInfo `xml:"ClusterDpmHostConfigInfo,omitempty"` -} - -func init() { - t["ArrayOfClusterDpmHostConfigInfo"] = reflect.TypeOf((*ArrayOfClusterDpmHostConfigInfo)(nil)).Elem() -} - -type ArrayOfClusterDpmHostConfigSpec struct { - ClusterDpmHostConfigSpec []ClusterDpmHostConfigSpec `xml:"ClusterDpmHostConfigSpec,omitempty"` -} - -func init() { - t["ArrayOfClusterDpmHostConfigSpec"] = reflect.TypeOf((*ArrayOfClusterDpmHostConfigSpec)(nil)).Elem() -} - -type ArrayOfClusterDrsFaults struct { - ClusterDrsFaults []ClusterDrsFaults `xml:"ClusterDrsFaults,omitempty"` -} - -func init() { - t["ArrayOfClusterDrsFaults"] = reflect.TypeOf((*ArrayOfClusterDrsFaults)(nil)).Elem() -} - -type ArrayOfClusterDrsFaultsFaultsByVm struct { - ClusterDrsFaultsFaultsByVm []BaseClusterDrsFaultsFaultsByVm `xml:"ClusterDrsFaultsFaultsByVm,omitempty,typeattr"` -} - -func init() { - t["ArrayOfClusterDrsFaultsFaultsByVm"] = reflect.TypeOf((*ArrayOfClusterDrsFaultsFaultsByVm)(nil)).Elem() -} - -type ArrayOfClusterDrsMigration struct { - ClusterDrsMigration []ClusterDrsMigration `xml:"ClusterDrsMigration,omitempty"` -} - -func init() { - t["ArrayOfClusterDrsMigration"] = reflect.TypeOf((*ArrayOfClusterDrsMigration)(nil)).Elem() -} - -type ArrayOfClusterDrsRecommendation struct { - ClusterDrsRecommendation []ClusterDrsRecommendation `xml:"ClusterDrsRecommendation,omitempty"` -} - -func init() { - t["ArrayOfClusterDrsRecommendation"] = reflect.TypeOf((*ArrayOfClusterDrsRecommendation)(nil)).Elem() -} - -type ArrayOfClusterDrsVmConfigInfo struct { - ClusterDrsVmConfigInfo []ClusterDrsVmConfigInfo `xml:"ClusterDrsVmConfigInfo,omitempty"` -} - -func init() { - t["ArrayOfClusterDrsVmConfigInfo"] = reflect.TypeOf((*ArrayOfClusterDrsVmConfigInfo)(nil)).Elem() -} - -type ArrayOfClusterDrsVmConfigSpec struct { - ClusterDrsVmConfigSpec []ClusterDrsVmConfigSpec `xml:"ClusterDrsVmConfigSpec,omitempty"` -} - -func init() { - t["ArrayOfClusterDrsVmConfigSpec"] = reflect.TypeOf((*ArrayOfClusterDrsVmConfigSpec)(nil)).Elem() -} - -type ArrayOfClusterEVCManagerCheckResult struct { - ClusterEVCManagerCheckResult []ClusterEVCManagerCheckResult `xml:"ClusterEVCManagerCheckResult,omitempty"` -} - -func init() { - t["ArrayOfClusterEVCManagerCheckResult"] = reflect.TypeOf((*ArrayOfClusterEVCManagerCheckResult)(nil)).Elem() -} - -type ArrayOfClusterFailoverHostAdmissionControlInfoHostStatus struct { - ClusterFailoverHostAdmissionControlInfoHostStatus []ClusterFailoverHostAdmissionControlInfoHostStatus `xml:"ClusterFailoverHostAdmissionControlInfoHostStatus,omitempty"` -} - -func init() { - t["ArrayOfClusterFailoverHostAdmissionControlInfoHostStatus"] = reflect.TypeOf((*ArrayOfClusterFailoverHostAdmissionControlInfoHostStatus)(nil)).Elem() -} - -type ArrayOfClusterGroupInfo struct { - ClusterGroupInfo []BaseClusterGroupInfo `xml:"ClusterGroupInfo,omitempty,typeattr"` -} - -func init() { - t["ArrayOfClusterGroupInfo"] = reflect.TypeOf((*ArrayOfClusterGroupInfo)(nil)).Elem() -} - -type ArrayOfClusterGroupSpec struct { - ClusterGroupSpec []ClusterGroupSpec `xml:"ClusterGroupSpec,omitempty"` -} - -func init() { - t["ArrayOfClusterGroupSpec"] = reflect.TypeOf((*ArrayOfClusterGroupSpec)(nil)).Elem() -} - -type ArrayOfClusterHostRecommendation struct { - ClusterHostRecommendation []ClusterHostRecommendation `xml:"ClusterHostRecommendation,omitempty"` -} - -func init() { - t["ArrayOfClusterHostRecommendation"] = reflect.TypeOf((*ArrayOfClusterHostRecommendation)(nil)).Elem() -} - -type ArrayOfClusterIoFilterInfo struct { - ClusterIoFilterInfo []ClusterIoFilterInfo `xml:"ClusterIoFilterInfo,omitempty"` -} - -func init() { - t["ArrayOfClusterIoFilterInfo"] = reflect.TypeOf((*ArrayOfClusterIoFilterInfo)(nil)).Elem() -} - -type ArrayOfClusterNotAttemptedVmInfo struct { - ClusterNotAttemptedVmInfo []ClusterNotAttemptedVmInfo `xml:"ClusterNotAttemptedVmInfo,omitempty"` -} - -func init() { - t["ArrayOfClusterNotAttemptedVmInfo"] = reflect.TypeOf((*ArrayOfClusterNotAttemptedVmInfo)(nil)).Elem() -} - -type ArrayOfClusterRecommendation struct { - ClusterRecommendation []ClusterRecommendation `xml:"ClusterRecommendation,omitempty"` -} - -func init() { - t["ArrayOfClusterRecommendation"] = reflect.TypeOf((*ArrayOfClusterRecommendation)(nil)).Elem() -} - -type ArrayOfClusterRuleInfo struct { - ClusterRuleInfo []BaseClusterRuleInfo `xml:"ClusterRuleInfo,omitempty,typeattr"` -} - -func init() { - t["ArrayOfClusterRuleInfo"] = reflect.TypeOf((*ArrayOfClusterRuleInfo)(nil)).Elem() -} - -type ArrayOfClusterRuleSpec struct { - ClusterRuleSpec []ClusterRuleSpec `xml:"ClusterRuleSpec,omitempty"` -} - -func init() { - t["ArrayOfClusterRuleSpec"] = reflect.TypeOf((*ArrayOfClusterRuleSpec)(nil)).Elem() -} - -type ArrayOfClusterTagCategoryUpdateSpec struct { - ClusterTagCategoryUpdateSpec []ClusterTagCategoryUpdateSpec `xml:"ClusterTagCategoryUpdateSpec,omitempty"` -} - -func init() { - t["ArrayOfClusterTagCategoryUpdateSpec"] = reflect.TypeOf((*ArrayOfClusterTagCategoryUpdateSpec)(nil)).Elem() -} - -type ArrayOfClusterVmOrchestrationInfo struct { - ClusterVmOrchestrationInfo []ClusterVmOrchestrationInfo `xml:"ClusterVmOrchestrationInfo,omitempty"` -} - -func init() { - t["ArrayOfClusterVmOrchestrationInfo"] = reflect.TypeOf((*ArrayOfClusterVmOrchestrationInfo)(nil)).Elem() -} - -type ArrayOfClusterVmOrchestrationSpec struct { - ClusterVmOrchestrationSpec []ClusterVmOrchestrationSpec `xml:"ClusterVmOrchestrationSpec,omitempty"` -} - -func init() { - t["ArrayOfClusterVmOrchestrationSpec"] = reflect.TypeOf((*ArrayOfClusterVmOrchestrationSpec)(nil)).Elem() -} - -type ArrayOfComplianceFailure struct { - ComplianceFailure []ComplianceFailure `xml:"ComplianceFailure,omitempty"` -} - -func init() { - t["ArrayOfComplianceFailure"] = reflect.TypeOf((*ArrayOfComplianceFailure)(nil)).Elem() -} - -type ArrayOfComplianceFailureComplianceFailureValues struct { - ComplianceFailureComplianceFailureValues []ComplianceFailureComplianceFailureValues `xml:"ComplianceFailureComplianceFailureValues,omitempty"` -} - -func init() { - t["ArrayOfComplianceFailureComplianceFailureValues"] = reflect.TypeOf((*ArrayOfComplianceFailureComplianceFailureValues)(nil)).Elem() -} - -type ArrayOfComplianceLocator struct { - ComplianceLocator []ComplianceLocator `xml:"ComplianceLocator,omitempty"` -} - -func init() { - t["ArrayOfComplianceLocator"] = reflect.TypeOf((*ArrayOfComplianceLocator)(nil)).Elem() -} - -type ArrayOfComplianceResult struct { - ComplianceResult []ComplianceResult `xml:"ComplianceResult,omitempty"` -} - -func init() { - t["ArrayOfComplianceResult"] = reflect.TypeOf((*ArrayOfComplianceResult)(nil)).Elem() -} - -type ArrayOfComputeResourceHostSPBMLicenseInfo struct { - ComputeResourceHostSPBMLicenseInfo []ComputeResourceHostSPBMLicenseInfo `xml:"ComputeResourceHostSPBMLicenseInfo,omitempty"` -} - -func init() { - t["ArrayOfComputeResourceHostSPBMLicenseInfo"] = reflect.TypeOf((*ArrayOfComputeResourceHostSPBMLicenseInfo)(nil)).Elem() -} - -type ArrayOfConflictingConfigurationConfig struct { - ConflictingConfigurationConfig []ConflictingConfigurationConfig `xml:"ConflictingConfigurationConfig,omitempty"` -} - -func init() { - t["ArrayOfConflictingConfigurationConfig"] = reflect.TypeOf((*ArrayOfConflictingConfigurationConfig)(nil)).Elem() -} - -type ArrayOfCryptoKeyId struct { - CryptoKeyId []CryptoKeyId `xml:"CryptoKeyId,omitempty"` -} - -func init() { - t["ArrayOfCryptoKeyId"] = reflect.TypeOf((*ArrayOfCryptoKeyId)(nil)).Elem() -} - -type ArrayOfCryptoKeyPlain struct { - CryptoKeyPlain []CryptoKeyPlain `xml:"CryptoKeyPlain,omitempty"` -} - -func init() { - t["ArrayOfCryptoKeyPlain"] = reflect.TypeOf((*ArrayOfCryptoKeyPlain)(nil)).Elem() -} - -type ArrayOfCryptoKeyResult struct { - CryptoKeyResult []CryptoKeyResult `xml:"CryptoKeyResult,omitempty"` -} - -func init() { - t["ArrayOfCryptoKeyResult"] = reflect.TypeOf((*ArrayOfCryptoKeyResult)(nil)).Elem() -} - -type ArrayOfCryptoManagerKmipClusterStatus struct { - CryptoManagerKmipClusterStatus []CryptoManagerKmipClusterStatus `xml:"CryptoManagerKmipClusterStatus,omitempty"` -} - -func init() { - t["ArrayOfCryptoManagerKmipClusterStatus"] = reflect.TypeOf((*ArrayOfCryptoManagerKmipClusterStatus)(nil)).Elem() -} - -type ArrayOfCryptoManagerKmipCryptoKeyStatus struct { - CryptoManagerKmipCryptoKeyStatus []CryptoManagerKmipCryptoKeyStatus `xml:"CryptoManagerKmipCryptoKeyStatus,omitempty"` -} - -func init() { - t["ArrayOfCryptoManagerKmipCryptoKeyStatus"] = reflect.TypeOf((*ArrayOfCryptoManagerKmipCryptoKeyStatus)(nil)).Elem() -} - -type ArrayOfCryptoManagerKmipServerStatus struct { - CryptoManagerKmipServerStatus []CryptoManagerKmipServerStatus `xml:"CryptoManagerKmipServerStatus,omitempty"` -} - -func init() { - t["ArrayOfCryptoManagerKmipServerStatus"] = reflect.TypeOf((*ArrayOfCryptoManagerKmipServerStatus)(nil)).Elem() -} - -type ArrayOfCustomFieldDef struct { - CustomFieldDef []CustomFieldDef `xml:"CustomFieldDef,omitempty"` -} - -func init() { - t["ArrayOfCustomFieldDef"] = reflect.TypeOf((*ArrayOfCustomFieldDef)(nil)).Elem() -} - -type ArrayOfCustomFieldValue struct { - CustomFieldValue []BaseCustomFieldValue `xml:"CustomFieldValue,omitempty,typeattr"` -} - -func init() { - t["ArrayOfCustomFieldValue"] = reflect.TypeOf((*ArrayOfCustomFieldValue)(nil)).Elem() -} - -type ArrayOfCustomizationAdapterMapping struct { - CustomizationAdapterMapping []CustomizationAdapterMapping `xml:"CustomizationAdapterMapping,omitempty"` -} - -func init() { - t["ArrayOfCustomizationAdapterMapping"] = reflect.TypeOf((*ArrayOfCustomizationAdapterMapping)(nil)).Elem() -} - -type ArrayOfCustomizationIpV6Generator struct { - CustomizationIpV6Generator []BaseCustomizationIpV6Generator `xml:"CustomizationIpV6Generator,omitempty,typeattr"` -} - -func init() { - t["ArrayOfCustomizationIpV6Generator"] = reflect.TypeOf((*ArrayOfCustomizationIpV6Generator)(nil)).Elem() -} - -type ArrayOfCustomizationSpecInfo struct { - CustomizationSpecInfo []CustomizationSpecInfo `xml:"CustomizationSpecInfo,omitempty"` -} - -func init() { - t["ArrayOfCustomizationSpecInfo"] = reflect.TypeOf((*ArrayOfCustomizationSpecInfo)(nil)).Elem() -} - -type ArrayOfDVPortConfigSpec struct { - DVPortConfigSpec []DVPortConfigSpec `xml:"DVPortConfigSpec,omitempty"` -} - -func init() { - t["ArrayOfDVPortConfigSpec"] = reflect.TypeOf((*ArrayOfDVPortConfigSpec)(nil)).Elem() -} - -type ArrayOfDVPortgroupConfigSpec struct { - DVPortgroupConfigSpec []DVPortgroupConfigSpec `xml:"DVPortgroupConfigSpec,omitempty"` -} - -func init() { - t["ArrayOfDVPortgroupConfigSpec"] = reflect.TypeOf((*ArrayOfDVPortgroupConfigSpec)(nil)).Elem() -} - -type ArrayOfDVSHealthCheckConfig struct { - DVSHealthCheckConfig []BaseDVSHealthCheckConfig `xml:"DVSHealthCheckConfig,omitempty,typeattr"` -} - -func init() { - t["ArrayOfDVSHealthCheckConfig"] = reflect.TypeOf((*ArrayOfDVSHealthCheckConfig)(nil)).Elem() -} - -type ArrayOfDVSManagerPhysicalNicsList struct { - DVSManagerPhysicalNicsList []DVSManagerPhysicalNicsList `xml:"DVSManagerPhysicalNicsList,omitempty"` -} - -func init() { - t["ArrayOfDVSManagerPhysicalNicsList"] = reflect.TypeOf((*ArrayOfDVSManagerPhysicalNicsList)(nil)).Elem() -} - -type ArrayOfDVSNetworkResourcePool struct { - DVSNetworkResourcePool []DVSNetworkResourcePool `xml:"DVSNetworkResourcePool,omitempty"` -} - -func init() { - t["ArrayOfDVSNetworkResourcePool"] = reflect.TypeOf((*ArrayOfDVSNetworkResourcePool)(nil)).Elem() -} - -type ArrayOfDVSNetworkResourcePoolConfigSpec struct { - DVSNetworkResourcePoolConfigSpec []DVSNetworkResourcePoolConfigSpec `xml:"DVSNetworkResourcePoolConfigSpec,omitempty"` -} - -func init() { - t["ArrayOfDVSNetworkResourcePoolConfigSpec"] = reflect.TypeOf((*ArrayOfDVSNetworkResourcePoolConfigSpec)(nil)).Elem() -} - -type ArrayOfDVSVmVnicNetworkResourcePool struct { - DVSVmVnicNetworkResourcePool []DVSVmVnicNetworkResourcePool `xml:"DVSVmVnicNetworkResourcePool,omitempty"` -} - -func init() { - t["ArrayOfDVSVmVnicNetworkResourcePool"] = reflect.TypeOf((*ArrayOfDVSVmVnicNetworkResourcePool)(nil)).Elem() -} - -type ArrayOfDasHeartbeatDatastoreInfo struct { - DasHeartbeatDatastoreInfo []DasHeartbeatDatastoreInfo `xml:"DasHeartbeatDatastoreInfo,omitempty"` -} - -func init() { - t["ArrayOfDasHeartbeatDatastoreInfo"] = reflect.TypeOf((*ArrayOfDasHeartbeatDatastoreInfo)(nil)).Elem() -} - -type ArrayOfDatacenterBasicConnectInfo struct { - DatacenterBasicConnectInfo []DatacenterBasicConnectInfo `xml:"DatacenterBasicConnectInfo,omitempty"` -} - -func init() { - t["ArrayOfDatacenterBasicConnectInfo"] = reflect.TypeOf((*ArrayOfDatacenterBasicConnectInfo)(nil)).Elem() -} - -type ArrayOfDatacenterMismatchArgument struct { - DatacenterMismatchArgument []DatacenterMismatchArgument `xml:"DatacenterMismatchArgument,omitempty"` -} - -func init() { - t["ArrayOfDatacenterMismatchArgument"] = reflect.TypeOf((*ArrayOfDatacenterMismatchArgument)(nil)).Elem() -} - -type ArrayOfDatastoreHostMount struct { - DatastoreHostMount []DatastoreHostMount `xml:"DatastoreHostMount,omitempty"` -} - -func init() { - t["ArrayOfDatastoreHostMount"] = reflect.TypeOf((*ArrayOfDatastoreHostMount)(nil)).Elem() -} - -type ArrayOfDatastoreMountPathDatastorePair struct { - DatastoreMountPathDatastorePair []DatastoreMountPathDatastorePair `xml:"DatastoreMountPathDatastorePair,omitempty"` -} - -func init() { - t["ArrayOfDatastoreMountPathDatastorePair"] = reflect.TypeOf((*ArrayOfDatastoreMountPathDatastorePair)(nil)).Elem() -} - -type ArrayOfDatastoreVVolContainerFailoverPair struct { - DatastoreVVolContainerFailoverPair []DatastoreVVolContainerFailoverPair `xml:"DatastoreVVolContainerFailoverPair,omitempty"` -} - -func init() { - t["ArrayOfDatastoreVVolContainerFailoverPair"] = reflect.TypeOf((*ArrayOfDatastoreVVolContainerFailoverPair)(nil)).Elem() -} - -type ArrayOfDesiredSoftwareSpecComponentSpec struct { - DesiredSoftwareSpecComponentSpec []DesiredSoftwareSpecComponentSpec `xml:"DesiredSoftwareSpecComponentSpec,omitempty"` -} - -func init() { - t["ArrayOfDesiredSoftwareSpecComponentSpec"] = reflect.TypeOf((*ArrayOfDesiredSoftwareSpecComponentSpec)(nil)).Elem() -} - -type ArrayOfDiagnosticManagerBundleInfo struct { - DiagnosticManagerBundleInfo []DiagnosticManagerBundleInfo `xml:"DiagnosticManagerBundleInfo,omitempty"` -} - -func init() { - t["ArrayOfDiagnosticManagerBundleInfo"] = reflect.TypeOf((*ArrayOfDiagnosticManagerBundleInfo)(nil)).Elem() -} - -type ArrayOfDiagnosticManagerLogDescriptor struct { - DiagnosticManagerLogDescriptor []DiagnosticManagerLogDescriptor `xml:"DiagnosticManagerLogDescriptor,omitempty"` -} - -func init() { - t["ArrayOfDiagnosticManagerLogDescriptor"] = reflect.TypeOf((*ArrayOfDiagnosticManagerLogDescriptor)(nil)).Elem() -} - -type ArrayOfDiskChangeExtent struct { - DiskChangeExtent []DiskChangeExtent `xml:"DiskChangeExtent,omitempty"` -} - -func init() { - t["ArrayOfDiskChangeExtent"] = reflect.TypeOf((*ArrayOfDiskChangeExtent)(nil)).Elem() -} - -type ArrayOfDistributedVirtualPort struct { - DistributedVirtualPort []DistributedVirtualPort `xml:"DistributedVirtualPort,omitempty"` -} - -func init() { - t["ArrayOfDistributedVirtualPort"] = reflect.TypeOf((*ArrayOfDistributedVirtualPort)(nil)).Elem() -} - -type ArrayOfDistributedVirtualPortgroupInfo struct { - DistributedVirtualPortgroupInfo []DistributedVirtualPortgroupInfo `xml:"DistributedVirtualPortgroupInfo,omitempty"` -} - -func init() { - t["ArrayOfDistributedVirtualPortgroupInfo"] = reflect.TypeOf((*ArrayOfDistributedVirtualPortgroupInfo)(nil)).Elem() -} - -type ArrayOfDistributedVirtualPortgroupProblem struct { - DistributedVirtualPortgroupProblem []DistributedVirtualPortgroupProblem `xml:"DistributedVirtualPortgroupProblem,omitempty"` -} - -func init() { - t["ArrayOfDistributedVirtualPortgroupProblem"] = reflect.TypeOf((*ArrayOfDistributedVirtualPortgroupProblem)(nil)).Elem() -} - -type ArrayOfDistributedVirtualSwitchHostMember struct { - DistributedVirtualSwitchHostMember []DistributedVirtualSwitchHostMember `xml:"DistributedVirtualSwitchHostMember,omitempty"` -} - -func init() { - t["ArrayOfDistributedVirtualSwitchHostMember"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchHostMember)(nil)).Elem() -} - -type ArrayOfDistributedVirtualSwitchHostMemberConfigSpec struct { - DistributedVirtualSwitchHostMemberConfigSpec []DistributedVirtualSwitchHostMemberConfigSpec `xml:"DistributedVirtualSwitchHostMemberConfigSpec,omitempty"` -} - -func init() { - t["ArrayOfDistributedVirtualSwitchHostMemberConfigSpec"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchHostMemberConfigSpec)(nil)).Elem() -} - -type ArrayOfDistributedVirtualSwitchHostMemberPnicSpec struct { - DistributedVirtualSwitchHostMemberPnicSpec []DistributedVirtualSwitchHostMemberPnicSpec `xml:"DistributedVirtualSwitchHostMemberPnicSpec,omitempty"` -} - -func init() { - t["ArrayOfDistributedVirtualSwitchHostMemberPnicSpec"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchHostMemberPnicSpec)(nil)).Elem() -} - -type ArrayOfDistributedVirtualSwitchHostMemberTransportZoneInfo struct { - DistributedVirtualSwitchHostMemberTransportZoneInfo []DistributedVirtualSwitchHostMemberTransportZoneInfo `xml:"DistributedVirtualSwitchHostMemberTransportZoneInfo,omitempty"` -} - -func init() { - t["ArrayOfDistributedVirtualSwitchHostMemberTransportZoneInfo"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchHostMemberTransportZoneInfo)(nil)).Elem() -} - -type ArrayOfDistributedVirtualSwitchHostProductSpec struct { - DistributedVirtualSwitchHostProductSpec []DistributedVirtualSwitchHostProductSpec `xml:"DistributedVirtualSwitchHostProductSpec,omitempty"` -} - -func init() { - t["ArrayOfDistributedVirtualSwitchHostProductSpec"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchHostProductSpec)(nil)).Elem() -} - -type ArrayOfDistributedVirtualSwitchInfo struct { - DistributedVirtualSwitchInfo []DistributedVirtualSwitchInfo `xml:"DistributedVirtualSwitchInfo,omitempty"` -} - -func init() { - t["ArrayOfDistributedVirtualSwitchInfo"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchInfo)(nil)).Elem() -} - -type ArrayOfDistributedVirtualSwitchKeyedOpaqueBlob struct { - DistributedVirtualSwitchKeyedOpaqueBlob []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"DistributedVirtualSwitchKeyedOpaqueBlob,omitempty"` -} - -func init() { - t["ArrayOfDistributedVirtualSwitchKeyedOpaqueBlob"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchKeyedOpaqueBlob)(nil)).Elem() -} - -type ArrayOfDistributedVirtualSwitchManagerCompatibilityResult struct { - DistributedVirtualSwitchManagerCompatibilityResult []DistributedVirtualSwitchManagerCompatibilityResult `xml:"DistributedVirtualSwitchManagerCompatibilityResult,omitempty"` -} - -func init() { - t["ArrayOfDistributedVirtualSwitchManagerCompatibilityResult"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchManagerCompatibilityResult)(nil)).Elem() -} - -type ArrayOfDistributedVirtualSwitchManagerHostDvsFilterSpec struct { - DistributedVirtualSwitchManagerHostDvsFilterSpec []BaseDistributedVirtualSwitchManagerHostDvsFilterSpec `xml:"DistributedVirtualSwitchManagerHostDvsFilterSpec,omitempty,typeattr"` -} - -func init() { - t["ArrayOfDistributedVirtualSwitchManagerHostDvsFilterSpec"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchManagerHostDvsFilterSpec)(nil)).Elem() -} - -type ArrayOfDistributedVirtualSwitchNetworkOffloadSpec struct { - DistributedVirtualSwitchNetworkOffloadSpec []DistributedVirtualSwitchNetworkOffloadSpec `xml:"DistributedVirtualSwitchNetworkOffloadSpec,omitempty"` -} - -func init() { - t["ArrayOfDistributedVirtualSwitchNetworkOffloadSpec"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchNetworkOffloadSpec)(nil)).Elem() -} - -type ArrayOfDistributedVirtualSwitchProductSpec struct { - DistributedVirtualSwitchProductSpec []DistributedVirtualSwitchProductSpec `xml:"DistributedVirtualSwitchProductSpec,omitempty"` -} - -func init() { - t["ArrayOfDistributedVirtualSwitchProductSpec"] = reflect.TypeOf((*ArrayOfDistributedVirtualSwitchProductSpec)(nil)).Elem() -} - -type ArrayOfDouble struct { - Double []float64 `xml:"double,omitempty"` -} - -func init() { - t["ArrayOfDouble"] = reflect.TypeOf((*ArrayOfDouble)(nil)).Elem() -} - -type ArrayOfDpuStatusInfo struct { - DpuStatusInfo []DpuStatusInfo `xml:"DpuStatusInfo,omitempty"` -} - -func init() { - t["ArrayOfDpuStatusInfo"] = reflect.TypeOf((*ArrayOfDpuStatusInfo)(nil)).Elem() -} - -type ArrayOfDpuStatusInfoOperationalInfo struct { - DpuStatusInfoOperationalInfo []DpuStatusInfoOperationalInfo `xml:"DpuStatusInfoOperationalInfo,omitempty"` -} - -func init() { - t["ArrayOfDpuStatusInfoOperationalInfo"] = reflect.TypeOf((*ArrayOfDpuStatusInfoOperationalInfo)(nil)).Elem() -} - -type ArrayOfDvsApplyOperationFaultFaultOnObject struct { - DvsApplyOperationFaultFaultOnObject []DvsApplyOperationFaultFaultOnObject `xml:"DvsApplyOperationFaultFaultOnObject,omitempty"` -} - -func init() { - t["ArrayOfDvsApplyOperationFaultFaultOnObject"] = reflect.TypeOf((*ArrayOfDvsApplyOperationFaultFaultOnObject)(nil)).Elem() -} - -type ArrayOfDvsFilterConfig struct { - DvsFilterConfig []BaseDvsFilterConfig `xml:"DvsFilterConfig,omitempty,typeattr"` -} - -func init() { - t["ArrayOfDvsFilterConfig"] = reflect.TypeOf((*ArrayOfDvsFilterConfig)(nil)).Elem() -} - -type ArrayOfDvsHostInfrastructureTrafficResource struct { - DvsHostInfrastructureTrafficResource []DvsHostInfrastructureTrafficResource `xml:"DvsHostInfrastructureTrafficResource,omitempty"` -} - -func init() { - t["ArrayOfDvsHostInfrastructureTrafficResource"] = reflect.TypeOf((*ArrayOfDvsHostInfrastructureTrafficResource)(nil)).Elem() -} - -type ArrayOfDvsHostVNicProfile struct { - DvsHostVNicProfile []DvsHostVNicProfile `xml:"DvsHostVNicProfile,omitempty"` -} - -func init() { - t["ArrayOfDvsHostVNicProfile"] = reflect.TypeOf((*ArrayOfDvsHostVNicProfile)(nil)).Elem() -} - -type ArrayOfDvsNetworkRuleQualifier struct { - DvsNetworkRuleQualifier []BaseDvsNetworkRuleQualifier `xml:"DvsNetworkRuleQualifier,omitempty,typeattr"` -} - -func init() { - t["ArrayOfDvsNetworkRuleQualifier"] = reflect.TypeOf((*ArrayOfDvsNetworkRuleQualifier)(nil)).Elem() -} - -type ArrayOfDvsOperationBulkFaultFaultOnHost struct { - DvsOperationBulkFaultFaultOnHost []DvsOperationBulkFaultFaultOnHost `xml:"DvsOperationBulkFaultFaultOnHost,omitempty"` -} - -func init() { - t["ArrayOfDvsOperationBulkFaultFaultOnHost"] = reflect.TypeOf((*ArrayOfDvsOperationBulkFaultFaultOnHost)(nil)).Elem() -} - -type ArrayOfDvsOutOfSyncHostArgument struct { - DvsOutOfSyncHostArgument []DvsOutOfSyncHostArgument `xml:"DvsOutOfSyncHostArgument,omitempty"` -} - -func init() { - t["ArrayOfDvsOutOfSyncHostArgument"] = reflect.TypeOf((*ArrayOfDvsOutOfSyncHostArgument)(nil)).Elem() -} - -type ArrayOfDvsProfile struct { - DvsProfile []DvsProfile `xml:"DvsProfile,omitempty"` -} - -func init() { - t["ArrayOfDvsProfile"] = reflect.TypeOf((*ArrayOfDvsProfile)(nil)).Elem() -} - -type ArrayOfDvsServiceConsoleVNicProfile struct { - DvsServiceConsoleVNicProfile []DvsServiceConsoleVNicProfile `xml:"DvsServiceConsoleVNicProfile,omitempty"` -} - -func init() { - t["ArrayOfDvsServiceConsoleVNicProfile"] = reflect.TypeOf((*ArrayOfDvsServiceConsoleVNicProfile)(nil)).Elem() -} - -type ArrayOfDvsTrafficRule struct { - DvsTrafficRule []DvsTrafficRule `xml:"DvsTrafficRule,omitempty"` -} - -func init() { - t["ArrayOfDvsTrafficRule"] = reflect.TypeOf((*ArrayOfDvsTrafficRule)(nil)).Elem() -} - -type ArrayOfDvsVmVnicNetworkResourcePoolRuntimeInfo struct { - DvsVmVnicNetworkResourcePoolRuntimeInfo []DvsVmVnicNetworkResourcePoolRuntimeInfo `xml:"DvsVmVnicNetworkResourcePoolRuntimeInfo,omitempty"` -} - -func init() { - t["ArrayOfDvsVmVnicNetworkResourcePoolRuntimeInfo"] = reflect.TypeOf((*ArrayOfDvsVmVnicNetworkResourcePoolRuntimeInfo)(nil)).Elem() -} - -type ArrayOfDvsVmVnicResourcePoolConfigSpec struct { - DvsVmVnicResourcePoolConfigSpec []DvsVmVnicResourcePoolConfigSpec `xml:"DvsVmVnicResourcePoolConfigSpec,omitempty"` -} - -func init() { - t["ArrayOfDvsVmVnicResourcePoolConfigSpec"] = reflect.TypeOf((*ArrayOfDvsVmVnicResourcePoolConfigSpec)(nil)).Elem() -} - -type ArrayOfDvsVnicAllocatedResource struct { - DvsVnicAllocatedResource []DvsVnicAllocatedResource `xml:"DvsVnicAllocatedResource,omitempty"` -} - -func init() { - t["ArrayOfDvsVnicAllocatedResource"] = reflect.TypeOf((*ArrayOfDvsVnicAllocatedResource)(nil)).Elem() -} - -type ArrayOfDynamicProperty struct { - DynamicProperty []DynamicProperty `xml:"DynamicProperty,omitempty"` -} - -func init() { - t["ArrayOfDynamicProperty"] = reflect.TypeOf((*ArrayOfDynamicProperty)(nil)).Elem() -} - -type ArrayOfEVCMode struct { - EVCMode []EVCMode `xml:"EVCMode,omitempty"` -} - -func init() { - t["ArrayOfEVCMode"] = reflect.TypeOf((*ArrayOfEVCMode)(nil)).Elem() -} - -type ArrayOfElementDescription struct { - ElementDescription []BaseElementDescription `xml:"ElementDescription,omitempty,typeattr"` -} - -func init() { - t["ArrayOfElementDescription"] = reflect.TypeOf((*ArrayOfElementDescription)(nil)).Elem() -} - -type ArrayOfEntityBackupConfig struct { - EntityBackupConfig []EntityBackupConfig `xml:"EntityBackupConfig,omitempty"` -} - -func init() { - t["ArrayOfEntityBackupConfig"] = reflect.TypeOf((*ArrayOfEntityBackupConfig)(nil)).Elem() -} - -type ArrayOfEntityPrivilege struct { - EntityPrivilege []EntityPrivilege `xml:"EntityPrivilege,omitempty"` -} - -func init() { - t["ArrayOfEntityPrivilege"] = reflect.TypeOf((*ArrayOfEntityPrivilege)(nil)).Elem() -} - -type ArrayOfEnumDescription struct { - EnumDescription []EnumDescription `xml:"EnumDescription,omitempty"` -} - -func init() { - t["ArrayOfEnumDescription"] = reflect.TypeOf((*ArrayOfEnumDescription)(nil)).Elem() -} - -type ArrayOfEvent struct { - Event []BaseEvent `xml:"Event,omitempty,typeattr"` -} - -func init() { - t["ArrayOfEvent"] = reflect.TypeOf((*ArrayOfEvent)(nil)).Elem() -} - -type ArrayOfEventAlarmExpressionComparison struct { - EventAlarmExpressionComparison []EventAlarmExpressionComparison `xml:"EventAlarmExpressionComparison,omitempty"` -} - -func init() { - t["ArrayOfEventAlarmExpressionComparison"] = reflect.TypeOf((*ArrayOfEventAlarmExpressionComparison)(nil)).Elem() -} - -type ArrayOfEventArgDesc struct { - EventArgDesc []EventArgDesc `xml:"EventArgDesc,omitempty"` -} - -func init() { - t["ArrayOfEventArgDesc"] = reflect.TypeOf((*ArrayOfEventArgDesc)(nil)).Elem() -} - -type ArrayOfEventDescriptionEventDetail struct { - EventDescriptionEventDetail []EventDescriptionEventDetail `xml:"EventDescriptionEventDetail,omitempty"` -} - -func init() { - t["ArrayOfEventDescriptionEventDetail"] = reflect.TypeOf((*ArrayOfEventDescriptionEventDetail)(nil)).Elem() -} - -type ArrayOfExtManagedEntityInfo struct { - ExtManagedEntityInfo []ExtManagedEntityInfo `xml:"ExtManagedEntityInfo,omitempty"` -} - -func init() { - t["ArrayOfExtManagedEntityInfo"] = reflect.TypeOf((*ArrayOfExtManagedEntityInfo)(nil)).Elem() -} - -type ArrayOfExtSolutionManagerInfoTabInfo struct { - ExtSolutionManagerInfoTabInfo []ExtSolutionManagerInfoTabInfo `xml:"ExtSolutionManagerInfoTabInfo,omitempty"` -} - -func init() { - t["ArrayOfExtSolutionManagerInfoTabInfo"] = reflect.TypeOf((*ArrayOfExtSolutionManagerInfoTabInfo)(nil)).Elem() -} - -type ArrayOfExtendedEventPair struct { - ExtendedEventPair []ExtendedEventPair `xml:"ExtendedEventPair,omitempty"` -} - -func init() { - t["ArrayOfExtendedEventPair"] = reflect.TypeOf((*ArrayOfExtendedEventPair)(nil)).Elem() -} - -type ArrayOfExtension struct { - Extension []Extension `xml:"Extension,omitempty"` -} - -func init() { - t["ArrayOfExtension"] = reflect.TypeOf((*ArrayOfExtension)(nil)).Elem() -} - -type ArrayOfExtensionClientInfo struct { - ExtensionClientInfo []ExtensionClientInfo `xml:"ExtensionClientInfo,omitempty"` -} - -func init() { - t["ArrayOfExtensionClientInfo"] = reflect.TypeOf((*ArrayOfExtensionClientInfo)(nil)).Elem() -} - -type ArrayOfExtensionEventTypeInfo struct { - ExtensionEventTypeInfo []ExtensionEventTypeInfo `xml:"ExtensionEventTypeInfo,omitempty"` -} - -func init() { - t["ArrayOfExtensionEventTypeInfo"] = reflect.TypeOf((*ArrayOfExtensionEventTypeInfo)(nil)).Elem() -} - -type ArrayOfExtensionFaultTypeInfo struct { - ExtensionFaultTypeInfo []ExtensionFaultTypeInfo `xml:"ExtensionFaultTypeInfo,omitempty"` -} - -func init() { - t["ArrayOfExtensionFaultTypeInfo"] = reflect.TypeOf((*ArrayOfExtensionFaultTypeInfo)(nil)).Elem() -} - -type ArrayOfExtensionManagerIpAllocationUsage struct { - ExtensionManagerIpAllocationUsage []ExtensionManagerIpAllocationUsage `xml:"ExtensionManagerIpAllocationUsage,omitempty"` -} - -func init() { - t["ArrayOfExtensionManagerIpAllocationUsage"] = reflect.TypeOf((*ArrayOfExtensionManagerIpAllocationUsage)(nil)).Elem() -} - -type ArrayOfExtensionPrivilegeInfo struct { - ExtensionPrivilegeInfo []ExtensionPrivilegeInfo `xml:"ExtensionPrivilegeInfo,omitempty"` -} - -func init() { - t["ArrayOfExtensionPrivilegeInfo"] = reflect.TypeOf((*ArrayOfExtensionPrivilegeInfo)(nil)).Elem() -} - -type ArrayOfExtensionResourceInfo struct { - ExtensionResourceInfo []ExtensionResourceInfo `xml:"ExtensionResourceInfo,omitempty"` -} - -func init() { - t["ArrayOfExtensionResourceInfo"] = reflect.TypeOf((*ArrayOfExtensionResourceInfo)(nil)).Elem() -} - -type ArrayOfExtensionServerInfo struct { - ExtensionServerInfo []ExtensionServerInfo `xml:"ExtensionServerInfo,omitempty"` -} - -func init() { - t["ArrayOfExtensionServerInfo"] = reflect.TypeOf((*ArrayOfExtensionServerInfo)(nil)).Elem() -} - -type ArrayOfExtensionTaskTypeInfo struct { - ExtensionTaskTypeInfo []ExtensionTaskTypeInfo `xml:"ExtensionTaskTypeInfo,omitempty"` -} - -func init() { - t["ArrayOfExtensionTaskTypeInfo"] = reflect.TypeOf((*ArrayOfExtensionTaskTypeInfo)(nil)).Elem() -} - -type ArrayOfFaultToleranceDiskSpec struct { - FaultToleranceDiskSpec []FaultToleranceDiskSpec `xml:"FaultToleranceDiskSpec,omitempty"` -} - -func init() { - t["ArrayOfFaultToleranceDiskSpec"] = reflect.TypeOf((*ArrayOfFaultToleranceDiskSpec)(nil)).Elem() -} - -type ArrayOfFaultsByHost struct { - FaultsByHost []FaultsByHost `xml:"FaultsByHost,omitempty"` -} - -func init() { - t["ArrayOfFaultsByHost"] = reflect.TypeOf((*ArrayOfFaultsByHost)(nil)).Elem() -} - -type ArrayOfFaultsByVM struct { - FaultsByVM []FaultsByVM `xml:"FaultsByVM,omitempty"` -} - -func init() { - t["ArrayOfFaultsByVM"] = reflect.TypeOf((*ArrayOfFaultsByVM)(nil)).Elem() -} - -type ArrayOfFcoeConfigVlanRange struct { - FcoeConfigVlanRange []FcoeConfigVlanRange `xml:"FcoeConfigVlanRange,omitempty"` -} - -func init() { - t["ArrayOfFcoeConfigVlanRange"] = reflect.TypeOf((*ArrayOfFcoeConfigVlanRange)(nil)).Elem() -} - -type ArrayOfFeatureEVCMode struct { - FeatureEVCMode []FeatureEVCMode `xml:"FeatureEVCMode,omitempty"` -} - -func init() { - t["ArrayOfFeatureEVCMode"] = reflect.TypeOf((*ArrayOfFeatureEVCMode)(nil)).Elem() -} - -type ArrayOfFileInfo struct { - FileInfo []BaseFileInfo `xml:"FileInfo,omitempty,typeattr"` -} - -func init() { - t["ArrayOfFileInfo"] = reflect.TypeOf((*ArrayOfFileInfo)(nil)).Elem() -} - -type ArrayOfFileQuery struct { - FileQuery []BaseFileQuery `xml:"FileQuery,omitempty,typeattr"` -} - -func init() { - t["ArrayOfFileQuery"] = reflect.TypeOf((*ArrayOfFileQuery)(nil)).Elem() -} - -type ArrayOfFirewallProfileRulesetProfile struct { - FirewallProfileRulesetProfile []FirewallProfileRulesetProfile `xml:"FirewallProfileRulesetProfile,omitempty"` -} - -func init() { - t["ArrayOfFirewallProfileRulesetProfile"] = reflect.TypeOf((*ArrayOfFirewallProfileRulesetProfile)(nil)).Elem() -} - -type ArrayOfFolderFailedHostResult struct { - FolderFailedHostResult []FolderFailedHostResult `xml:"FolderFailedHostResult,omitempty"` -} - -func init() { - t["ArrayOfFolderFailedHostResult"] = reflect.TypeOf((*ArrayOfFolderFailedHostResult)(nil)).Elem() -} - -type ArrayOfFolderNewHostSpec struct { - FolderNewHostSpec []FolderNewHostSpec `xml:"FolderNewHostSpec,omitempty"` -} - -func init() { - t["ArrayOfFolderNewHostSpec"] = reflect.TypeOf((*ArrayOfFolderNewHostSpec)(nil)).Elem() -} - -type ArrayOfGuestAliases struct { - GuestAliases []GuestAliases `xml:"GuestAliases,omitempty"` -} - -func init() { - t["ArrayOfGuestAliases"] = reflect.TypeOf((*ArrayOfGuestAliases)(nil)).Elem() -} - -type ArrayOfGuestAuthAliasInfo struct { - GuestAuthAliasInfo []GuestAuthAliasInfo `xml:"GuestAuthAliasInfo,omitempty"` -} - -func init() { - t["ArrayOfGuestAuthAliasInfo"] = reflect.TypeOf((*ArrayOfGuestAuthAliasInfo)(nil)).Elem() -} - -type ArrayOfGuestAuthSubject struct { - GuestAuthSubject []BaseGuestAuthSubject `xml:"GuestAuthSubject,omitempty,typeattr"` -} - -func init() { - t["ArrayOfGuestAuthSubject"] = reflect.TypeOf((*ArrayOfGuestAuthSubject)(nil)).Elem() -} - -type ArrayOfGuestDiskInfo struct { - GuestDiskInfo []GuestDiskInfo `xml:"GuestDiskInfo,omitempty"` -} - -func init() { - t["ArrayOfGuestDiskInfo"] = reflect.TypeOf((*ArrayOfGuestDiskInfo)(nil)).Elem() -} - -type ArrayOfGuestFileInfo struct { - GuestFileInfo []GuestFileInfo `xml:"GuestFileInfo,omitempty"` -} - -func init() { - t["ArrayOfGuestFileInfo"] = reflect.TypeOf((*ArrayOfGuestFileInfo)(nil)).Elem() -} - -type ArrayOfGuestInfoNamespaceGenerationInfo struct { - GuestInfoNamespaceGenerationInfo []GuestInfoNamespaceGenerationInfo `xml:"GuestInfoNamespaceGenerationInfo,omitempty"` -} - -func init() { - t["ArrayOfGuestInfoNamespaceGenerationInfo"] = reflect.TypeOf((*ArrayOfGuestInfoNamespaceGenerationInfo)(nil)).Elem() -} - -type ArrayOfGuestInfoVirtualDiskMapping struct { - GuestInfoVirtualDiskMapping []GuestInfoVirtualDiskMapping `xml:"GuestInfoVirtualDiskMapping,omitempty"` -} - -func init() { - t["ArrayOfGuestInfoVirtualDiskMapping"] = reflect.TypeOf((*ArrayOfGuestInfoVirtualDiskMapping)(nil)).Elem() -} - -type ArrayOfGuestMappedAliases struct { - GuestMappedAliases []GuestMappedAliases `xml:"GuestMappedAliases,omitempty"` -} - -func init() { - t["ArrayOfGuestMappedAliases"] = reflect.TypeOf((*ArrayOfGuestMappedAliases)(nil)).Elem() -} - -type ArrayOfGuestNicInfo struct { - GuestNicInfo []GuestNicInfo `xml:"GuestNicInfo,omitempty"` -} - -func init() { - t["ArrayOfGuestNicInfo"] = reflect.TypeOf((*ArrayOfGuestNicInfo)(nil)).Elem() -} - -type ArrayOfGuestOsDescriptor struct { - GuestOsDescriptor []GuestOsDescriptor `xml:"GuestOsDescriptor,omitempty"` -} - -func init() { - t["ArrayOfGuestOsDescriptor"] = reflect.TypeOf((*ArrayOfGuestOsDescriptor)(nil)).Elem() -} - -type ArrayOfGuestProcessInfo struct { - GuestProcessInfo []GuestProcessInfo `xml:"GuestProcessInfo,omitempty"` -} - -func init() { - t["ArrayOfGuestProcessInfo"] = reflect.TypeOf((*ArrayOfGuestProcessInfo)(nil)).Elem() -} - -type ArrayOfGuestRegKeyRecordSpec struct { - GuestRegKeyRecordSpec []GuestRegKeyRecordSpec `xml:"GuestRegKeyRecordSpec,omitempty"` -} - -func init() { - t["ArrayOfGuestRegKeyRecordSpec"] = reflect.TypeOf((*ArrayOfGuestRegKeyRecordSpec)(nil)).Elem() -} - -type ArrayOfGuestRegValueSpec struct { - GuestRegValueSpec []GuestRegValueSpec `xml:"GuestRegValueSpec,omitempty"` -} - -func init() { - t["ArrayOfGuestRegValueSpec"] = reflect.TypeOf((*ArrayOfGuestRegValueSpec)(nil)).Elem() -} - -type ArrayOfGuestStackInfo struct { - GuestStackInfo []GuestStackInfo `xml:"GuestStackInfo,omitempty"` -} - -func init() { - t["ArrayOfGuestStackInfo"] = reflect.TypeOf((*ArrayOfGuestStackInfo)(nil)).Elem() -} - -type ArrayOfHbrManagerVmReplicationCapability struct { - HbrManagerVmReplicationCapability []HbrManagerVmReplicationCapability `xml:"HbrManagerVmReplicationCapability,omitempty"` -} - -func init() { - t["ArrayOfHbrManagerVmReplicationCapability"] = reflect.TypeOf((*ArrayOfHbrManagerVmReplicationCapability)(nil)).Elem() -} - -type ArrayOfHealthUpdate struct { - HealthUpdate []HealthUpdate `xml:"HealthUpdate,omitempty"` -} - -func init() { - t["ArrayOfHealthUpdate"] = reflect.TypeOf((*ArrayOfHealthUpdate)(nil)).Elem() -} - -type ArrayOfHealthUpdateInfo struct { - HealthUpdateInfo []HealthUpdateInfo `xml:"HealthUpdateInfo,omitempty"` -} - -func init() { - t["ArrayOfHealthUpdateInfo"] = reflect.TypeOf((*ArrayOfHealthUpdateInfo)(nil)).Elem() -} - -type ArrayOfHostAccessControlEntry struct { - HostAccessControlEntry []HostAccessControlEntry `xml:"HostAccessControlEntry,omitempty"` -} - -func init() { - t["ArrayOfHostAccessControlEntry"] = reflect.TypeOf((*ArrayOfHostAccessControlEntry)(nil)).Elem() -} - -type ArrayOfHostAccountSpec struct { - HostAccountSpec []BaseHostAccountSpec `xml:"HostAccountSpec,omitempty,typeattr"` -} - -func init() { - t["ArrayOfHostAccountSpec"] = reflect.TypeOf((*ArrayOfHostAccountSpec)(nil)).Elem() -} - -type ArrayOfHostActiveDirectory struct { - HostActiveDirectory []HostActiveDirectory `xml:"HostActiveDirectory,omitempty"` -} - -func init() { - t["ArrayOfHostActiveDirectory"] = reflect.TypeOf((*ArrayOfHostActiveDirectory)(nil)).Elem() -} - -type ArrayOfHostAssignableHardwareBinding struct { - HostAssignableHardwareBinding []HostAssignableHardwareBinding `xml:"HostAssignableHardwareBinding,omitempty"` -} - -func init() { - t["ArrayOfHostAssignableHardwareBinding"] = reflect.TypeOf((*ArrayOfHostAssignableHardwareBinding)(nil)).Elem() -} - -type ArrayOfHostAssignableHardwareConfigAttributeOverride struct { - HostAssignableHardwareConfigAttributeOverride []HostAssignableHardwareConfigAttributeOverride `xml:"HostAssignableHardwareConfigAttributeOverride,omitempty"` -} - -func init() { - t["ArrayOfHostAssignableHardwareConfigAttributeOverride"] = reflect.TypeOf((*ArrayOfHostAssignableHardwareConfigAttributeOverride)(nil)).Elem() -} - -type ArrayOfHostAuthenticationStoreInfo struct { - HostAuthenticationStoreInfo []BaseHostAuthenticationStoreInfo `xml:"HostAuthenticationStoreInfo,omitempty,typeattr"` -} - -func init() { - t["ArrayOfHostAuthenticationStoreInfo"] = reflect.TypeOf((*ArrayOfHostAuthenticationStoreInfo)(nil)).Elem() -} - -type ArrayOfHostBootDevice struct { - HostBootDevice []HostBootDevice `xml:"HostBootDevice,omitempty"` -} - -func init() { - t["ArrayOfHostBootDevice"] = reflect.TypeOf((*ArrayOfHostBootDevice)(nil)).Elem() -} - -type ArrayOfHostCacheConfigurationInfo struct { - HostCacheConfigurationInfo []HostCacheConfigurationInfo `xml:"HostCacheConfigurationInfo,omitempty"` -} - -func init() { - t["ArrayOfHostCacheConfigurationInfo"] = reflect.TypeOf((*ArrayOfHostCacheConfigurationInfo)(nil)).Elem() -} - -type ArrayOfHostConnectInfoNetworkInfo struct { - HostConnectInfoNetworkInfo []BaseHostConnectInfoNetworkInfo `xml:"HostConnectInfoNetworkInfo,omitempty,typeattr"` -} - -func init() { - t["ArrayOfHostConnectInfoNetworkInfo"] = reflect.TypeOf((*ArrayOfHostConnectInfoNetworkInfo)(nil)).Elem() -} - -type ArrayOfHostConnectSpec struct { - HostConnectSpec []HostConnectSpec `xml:"HostConnectSpec,omitempty"` -} - -func init() { - t["ArrayOfHostConnectSpec"] = reflect.TypeOf((*ArrayOfHostConnectSpec)(nil)).Elem() -} - -type ArrayOfHostCpuIdInfo struct { - HostCpuIdInfo []HostCpuIdInfo `xml:"HostCpuIdInfo,omitempty"` -} - -func init() { - t["ArrayOfHostCpuIdInfo"] = reflect.TypeOf((*ArrayOfHostCpuIdInfo)(nil)).Elem() -} - -type ArrayOfHostCpuPackage struct { - HostCpuPackage []HostCpuPackage `xml:"HostCpuPackage,omitempty"` -} - -func init() { - t["ArrayOfHostCpuPackage"] = reflect.TypeOf((*ArrayOfHostCpuPackage)(nil)).Elem() -} - -type ArrayOfHostDatastoreBrowserSearchResults struct { - HostDatastoreBrowserSearchResults []HostDatastoreBrowserSearchResults `xml:"HostDatastoreBrowserSearchResults,omitempty"` -} - -func init() { - t["ArrayOfHostDatastoreBrowserSearchResults"] = reflect.TypeOf((*ArrayOfHostDatastoreBrowserSearchResults)(nil)).Elem() -} - -type ArrayOfHostDatastoreConnectInfo struct { - HostDatastoreConnectInfo []BaseHostDatastoreConnectInfo `xml:"HostDatastoreConnectInfo,omitempty,typeattr"` -} - -func init() { - t["ArrayOfHostDatastoreConnectInfo"] = reflect.TypeOf((*ArrayOfHostDatastoreConnectInfo)(nil)).Elem() -} - -type ArrayOfHostDatastoreSystemDatastoreResult struct { - HostDatastoreSystemDatastoreResult []HostDatastoreSystemDatastoreResult `xml:"HostDatastoreSystemDatastoreResult,omitempty"` -} - -func init() { - t["ArrayOfHostDatastoreSystemDatastoreResult"] = reflect.TypeOf((*ArrayOfHostDatastoreSystemDatastoreResult)(nil)).Elem() -} - -type ArrayOfHostDateTimeSystemTimeZone struct { - HostDateTimeSystemTimeZone []HostDateTimeSystemTimeZone `xml:"HostDateTimeSystemTimeZone,omitempty"` -} - -func init() { - t["ArrayOfHostDateTimeSystemTimeZone"] = reflect.TypeOf((*ArrayOfHostDateTimeSystemTimeZone)(nil)).Elem() -} - -type ArrayOfHostDhcpService struct { - HostDhcpService []HostDhcpService `xml:"HostDhcpService,omitempty"` -} - -func init() { - t["ArrayOfHostDhcpService"] = reflect.TypeOf((*ArrayOfHostDhcpService)(nil)).Elem() -} - -type ArrayOfHostDhcpServiceConfig struct { - HostDhcpServiceConfig []HostDhcpServiceConfig `xml:"HostDhcpServiceConfig,omitempty"` -} - -func init() { - t["ArrayOfHostDhcpServiceConfig"] = reflect.TypeOf((*ArrayOfHostDhcpServiceConfig)(nil)).Elem() -} - -type ArrayOfHostDiagnosticPartition struct { - HostDiagnosticPartition []HostDiagnosticPartition `xml:"HostDiagnosticPartition,omitempty"` -} - -func init() { - t["ArrayOfHostDiagnosticPartition"] = reflect.TypeOf((*ArrayOfHostDiagnosticPartition)(nil)).Elem() -} - -type ArrayOfHostDiagnosticPartitionCreateOption struct { - HostDiagnosticPartitionCreateOption []HostDiagnosticPartitionCreateOption `xml:"HostDiagnosticPartitionCreateOption,omitempty"` -} - -func init() { - t["ArrayOfHostDiagnosticPartitionCreateOption"] = reflect.TypeOf((*ArrayOfHostDiagnosticPartitionCreateOption)(nil)).Elem() -} - -type ArrayOfHostDiskConfigurationResult struct { - HostDiskConfigurationResult []HostDiskConfigurationResult `xml:"HostDiskConfigurationResult,omitempty"` -} - -func init() { - t["ArrayOfHostDiskConfigurationResult"] = reflect.TypeOf((*ArrayOfHostDiskConfigurationResult)(nil)).Elem() -} - -type ArrayOfHostDiskMappingPartitionOption struct { - HostDiskMappingPartitionOption []HostDiskMappingPartitionOption `xml:"HostDiskMappingPartitionOption,omitempty"` -} - -func init() { - t["ArrayOfHostDiskMappingPartitionOption"] = reflect.TypeOf((*ArrayOfHostDiskMappingPartitionOption)(nil)).Elem() -} - -type ArrayOfHostDiskPartitionAttributes struct { - HostDiskPartitionAttributes []HostDiskPartitionAttributes `xml:"HostDiskPartitionAttributes,omitempty"` -} - -func init() { - t["ArrayOfHostDiskPartitionAttributes"] = reflect.TypeOf((*ArrayOfHostDiskPartitionAttributes)(nil)).Elem() -} - -type ArrayOfHostDiskPartitionBlockRange struct { - HostDiskPartitionBlockRange []HostDiskPartitionBlockRange `xml:"HostDiskPartitionBlockRange,omitempty"` -} - -func init() { - t["ArrayOfHostDiskPartitionBlockRange"] = reflect.TypeOf((*ArrayOfHostDiskPartitionBlockRange)(nil)).Elem() -} - -type ArrayOfHostDiskPartitionInfo struct { - HostDiskPartitionInfo []HostDiskPartitionInfo `xml:"HostDiskPartitionInfo,omitempty"` -} - -func init() { - t["ArrayOfHostDiskPartitionInfo"] = reflect.TypeOf((*ArrayOfHostDiskPartitionInfo)(nil)).Elem() -} - -type ArrayOfHostDvxClass struct { - HostDvxClass []HostDvxClass `xml:"HostDvxClass,omitempty"` -} - -func init() { - t["ArrayOfHostDvxClass"] = reflect.TypeOf((*ArrayOfHostDvxClass)(nil)).Elem() -} - -type ArrayOfHostEventArgument struct { - HostEventArgument []HostEventArgument `xml:"HostEventArgument,omitempty"` -} - -func init() { - t["ArrayOfHostEventArgument"] = reflect.TypeOf((*ArrayOfHostEventArgument)(nil)).Elem() -} - -type ArrayOfHostFeatureCapability struct { - HostFeatureCapability []HostFeatureCapability `xml:"HostFeatureCapability,omitempty"` -} - -func init() { - t["ArrayOfHostFeatureCapability"] = reflect.TypeOf((*ArrayOfHostFeatureCapability)(nil)).Elem() -} - -type ArrayOfHostFeatureMask struct { - HostFeatureMask []HostFeatureMask `xml:"HostFeatureMask,omitempty"` -} - -func init() { - t["ArrayOfHostFeatureMask"] = reflect.TypeOf((*ArrayOfHostFeatureMask)(nil)).Elem() -} - -type ArrayOfHostFeatureVersionInfo struct { - HostFeatureVersionInfo []HostFeatureVersionInfo `xml:"HostFeatureVersionInfo,omitempty"` -} - -func init() { - t["ArrayOfHostFeatureVersionInfo"] = reflect.TypeOf((*ArrayOfHostFeatureVersionInfo)(nil)).Elem() -} - -type ArrayOfHostFileSystemMountInfo struct { - HostFileSystemMountInfo []HostFileSystemMountInfo `xml:"HostFileSystemMountInfo,omitempty"` -} - -func init() { - t["ArrayOfHostFileSystemMountInfo"] = reflect.TypeOf((*ArrayOfHostFileSystemMountInfo)(nil)).Elem() -} - -type ArrayOfHostFirewallConfigRuleSetConfig struct { - HostFirewallConfigRuleSetConfig []HostFirewallConfigRuleSetConfig `xml:"HostFirewallConfigRuleSetConfig,omitempty"` -} - -func init() { - t["ArrayOfHostFirewallConfigRuleSetConfig"] = reflect.TypeOf((*ArrayOfHostFirewallConfigRuleSetConfig)(nil)).Elem() -} - -type ArrayOfHostFirewallRule struct { - HostFirewallRule []HostFirewallRule `xml:"HostFirewallRule,omitempty"` -} - -func init() { - t["ArrayOfHostFirewallRule"] = reflect.TypeOf((*ArrayOfHostFirewallRule)(nil)).Elem() -} - -type ArrayOfHostFirewallRuleset struct { - HostFirewallRuleset []HostFirewallRuleset `xml:"HostFirewallRuleset,omitempty"` -} - -func init() { - t["ArrayOfHostFirewallRuleset"] = reflect.TypeOf((*ArrayOfHostFirewallRuleset)(nil)).Elem() -} - -type ArrayOfHostFirewallRulesetIpNetwork struct { - HostFirewallRulesetIpNetwork []HostFirewallRulesetIpNetwork `xml:"HostFirewallRulesetIpNetwork,omitempty"` -} - -func init() { - t["ArrayOfHostFirewallRulesetIpNetwork"] = reflect.TypeOf((*ArrayOfHostFirewallRulesetIpNetwork)(nil)).Elem() -} - -type ArrayOfHostGraphicsConfigDeviceType struct { - HostGraphicsConfigDeviceType []HostGraphicsConfigDeviceType `xml:"HostGraphicsConfigDeviceType,omitempty"` -} - -func init() { - t["ArrayOfHostGraphicsConfigDeviceType"] = reflect.TypeOf((*ArrayOfHostGraphicsConfigDeviceType)(nil)).Elem() -} - -type ArrayOfHostGraphicsInfo struct { - HostGraphicsInfo []HostGraphicsInfo `xml:"HostGraphicsInfo,omitempty"` -} - -func init() { - t["ArrayOfHostGraphicsInfo"] = reflect.TypeOf((*ArrayOfHostGraphicsInfo)(nil)).Elem() -} - -type ArrayOfHostHardwareElementInfo struct { - HostHardwareElementInfo []BaseHostHardwareElementInfo `xml:"HostHardwareElementInfo,omitempty,typeattr"` -} - -func init() { - t["ArrayOfHostHardwareElementInfo"] = reflect.TypeOf((*ArrayOfHostHardwareElementInfo)(nil)).Elem() -} - -type ArrayOfHostHostBusAdapter struct { - HostHostBusAdapter []BaseHostHostBusAdapter `xml:"HostHostBusAdapter,omitempty,typeattr"` -} - -func init() { - t["ArrayOfHostHostBusAdapter"] = reflect.TypeOf((*ArrayOfHostHostBusAdapter)(nil)).Elem() -} - -type ArrayOfHostInternetScsiHbaIscsiIpv6Address struct { - HostInternetScsiHbaIscsiIpv6Address []HostInternetScsiHbaIscsiIpv6Address `xml:"HostInternetScsiHbaIscsiIpv6Address,omitempty"` -} - -func init() { - t["ArrayOfHostInternetScsiHbaIscsiIpv6Address"] = reflect.TypeOf((*ArrayOfHostInternetScsiHbaIscsiIpv6Address)(nil)).Elem() -} - -type ArrayOfHostInternetScsiHbaParamValue struct { - HostInternetScsiHbaParamValue []HostInternetScsiHbaParamValue `xml:"HostInternetScsiHbaParamValue,omitempty"` -} - -func init() { - t["ArrayOfHostInternetScsiHbaParamValue"] = reflect.TypeOf((*ArrayOfHostInternetScsiHbaParamValue)(nil)).Elem() -} - -type ArrayOfHostInternetScsiHbaSendTarget struct { - HostInternetScsiHbaSendTarget []HostInternetScsiHbaSendTarget `xml:"HostInternetScsiHbaSendTarget,omitempty"` -} - -func init() { - t["ArrayOfHostInternetScsiHbaSendTarget"] = reflect.TypeOf((*ArrayOfHostInternetScsiHbaSendTarget)(nil)).Elem() -} - -type ArrayOfHostInternetScsiHbaStaticTarget struct { - HostInternetScsiHbaStaticTarget []HostInternetScsiHbaStaticTarget `xml:"HostInternetScsiHbaStaticTarget,omitempty"` -} - -func init() { - t["ArrayOfHostInternetScsiHbaStaticTarget"] = reflect.TypeOf((*ArrayOfHostInternetScsiHbaStaticTarget)(nil)).Elem() -} - -type ArrayOfHostIoFilterInfo struct { - HostIoFilterInfo []HostIoFilterInfo `xml:"HostIoFilterInfo,omitempty"` -} - -func init() { - t["ArrayOfHostIoFilterInfo"] = reflect.TypeOf((*ArrayOfHostIoFilterInfo)(nil)).Elem() -} - -type ArrayOfHostIpConfigIpV6Address struct { - HostIpConfigIpV6Address []HostIpConfigIpV6Address `xml:"HostIpConfigIpV6Address,omitempty"` -} - -func init() { - t["ArrayOfHostIpConfigIpV6Address"] = reflect.TypeOf((*ArrayOfHostIpConfigIpV6Address)(nil)).Elem() -} - -type ArrayOfHostIpRouteEntry struct { - HostIpRouteEntry []HostIpRouteEntry `xml:"HostIpRouteEntry,omitempty"` -} - -func init() { - t["ArrayOfHostIpRouteEntry"] = reflect.TypeOf((*ArrayOfHostIpRouteEntry)(nil)).Elem() -} - -type ArrayOfHostIpRouteOp struct { - HostIpRouteOp []HostIpRouteOp `xml:"HostIpRouteOp,omitempty"` -} - -func init() { - t["ArrayOfHostIpRouteOp"] = reflect.TypeOf((*ArrayOfHostIpRouteOp)(nil)).Elem() -} - -type ArrayOfHostLowLevelProvisioningManagerDiskLayoutSpec struct { - HostLowLevelProvisioningManagerDiskLayoutSpec []HostLowLevelProvisioningManagerDiskLayoutSpec `xml:"HostLowLevelProvisioningManagerDiskLayoutSpec,omitempty"` -} - -func init() { - t["ArrayOfHostLowLevelProvisioningManagerDiskLayoutSpec"] = reflect.TypeOf((*ArrayOfHostLowLevelProvisioningManagerDiskLayoutSpec)(nil)).Elem() -} - -type ArrayOfHostLowLevelProvisioningManagerFileDeleteResult struct { - HostLowLevelProvisioningManagerFileDeleteResult []HostLowLevelProvisioningManagerFileDeleteResult `xml:"HostLowLevelProvisioningManagerFileDeleteResult,omitempty"` -} - -func init() { - t["ArrayOfHostLowLevelProvisioningManagerFileDeleteResult"] = reflect.TypeOf((*ArrayOfHostLowLevelProvisioningManagerFileDeleteResult)(nil)).Elem() -} - -type ArrayOfHostLowLevelProvisioningManagerFileDeleteSpec struct { - HostLowLevelProvisioningManagerFileDeleteSpec []HostLowLevelProvisioningManagerFileDeleteSpec `xml:"HostLowLevelProvisioningManagerFileDeleteSpec,omitempty"` -} - -func init() { - t["ArrayOfHostLowLevelProvisioningManagerFileDeleteSpec"] = reflect.TypeOf((*ArrayOfHostLowLevelProvisioningManagerFileDeleteSpec)(nil)).Elem() -} - -type ArrayOfHostLowLevelProvisioningManagerFileReserveResult struct { - HostLowLevelProvisioningManagerFileReserveResult []HostLowLevelProvisioningManagerFileReserveResult `xml:"HostLowLevelProvisioningManagerFileReserveResult,omitempty"` -} - -func init() { - t["ArrayOfHostLowLevelProvisioningManagerFileReserveResult"] = reflect.TypeOf((*ArrayOfHostLowLevelProvisioningManagerFileReserveResult)(nil)).Elem() -} - -type ArrayOfHostLowLevelProvisioningManagerFileReserveSpec struct { - HostLowLevelProvisioningManagerFileReserveSpec []HostLowLevelProvisioningManagerFileReserveSpec `xml:"HostLowLevelProvisioningManagerFileReserveSpec,omitempty"` -} - -func init() { - t["ArrayOfHostLowLevelProvisioningManagerFileReserveSpec"] = reflect.TypeOf((*ArrayOfHostLowLevelProvisioningManagerFileReserveSpec)(nil)).Elem() -} - -type ArrayOfHostLowLevelProvisioningManagerSnapshotLayoutSpec struct { - HostLowLevelProvisioningManagerSnapshotLayoutSpec []HostLowLevelProvisioningManagerSnapshotLayoutSpec `xml:"HostLowLevelProvisioningManagerSnapshotLayoutSpec,omitempty"` -} - -func init() { - t["ArrayOfHostLowLevelProvisioningManagerSnapshotLayoutSpec"] = reflect.TypeOf((*ArrayOfHostLowLevelProvisioningManagerSnapshotLayoutSpec)(nil)).Elem() -} - -type ArrayOfHostMemberHealthCheckResult struct { - HostMemberHealthCheckResult []BaseHostMemberHealthCheckResult `xml:"HostMemberHealthCheckResult,omitempty,typeattr"` -} - -func init() { - t["ArrayOfHostMemberHealthCheckResult"] = reflect.TypeOf((*ArrayOfHostMemberHealthCheckResult)(nil)).Elem() -} - -type ArrayOfHostMemberRuntimeInfo struct { - HostMemberRuntimeInfo []HostMemberRuntimeInfo `xml:"HostMemberRuntimeInfo,omitempty"` -} - -func init() { - t["ArrayOfHostMemberRuntimeInfo"] = reflect.TypeOf((*ArrayOfHostMemberRuntimeInfo)(nil)).Elem() -} - -type ArrayOfHostMemoryTierInfo struct { - HostMemoryTierInfo []HostMemoryTierInfo `xml:"HostMemoryTierInfo,omitempty"` -} - -func init() { - t["ArrayOfHostMemoryTierInfo"] = reflect.TypeOf((*ArrayOfHostMemoryTierInfo)(nil)).Elem() -} - -type ArrayOfHostMultipathInfoLogicalUnit struct { - HostMultipathInfoLogicalUnit []HostMultipathInfoLogicalUnit `xml:"HostMultipathInfoLogicalUnit,omitempty"` -} - -func init() { - t["ArrayOfHostMultipathInfoLogicalUnit"] = reflect.TypeOf((*ArrayOfHostMultipathInfoLogicalUnit)(nil)).Elem() -} - -type ArrayOfHostMultipathInfoPath struct { - HostMultipathInfoPath []HostMultipathInfoPath `xml:"HostMultipathInfoPath,omitempty"` -} - -func init() { - t["ArrayOfHostMultipathInfoPath"] = reflect.TypeOf((*ArrayOfHostMultipathInfoPath)(nil)).Elem() -} - -type ArrayOfHostMultipathStateInfoPath struct { - HostMultipathStateInfoPath []HostMultipathStateInfoPath `xml:"HostMultipathStateInfoPath,omitempty"` -} - -func init() { - t["ArrayOfHostMultipathStateInfoPath"] = reflect.TypeOf((*ArrayOfHostMultipathStateInfoPath)(nil)).Elem() -} - -type ArrayOfHostNasVolumeConfig struct { - HostNasVolumeConfig []HostNasVolumeConfig `xml:"HostNasVolumeConfig,omitempty"` -} - -func init() { - t["ArrayOfHostNasVolumeConfig"] = reflect.TypeOf((*ArrayOfHostNasVolumeConfig)(nil)).Elem() -} - -type ArrayOfHostNatService struct { - HostNatService []HostNatService `xml:"HostNatService,omitempty"` -} - -func init() { - t["ArrayOfHostNatService"] = reflect.TypeOf((*ArrayOfHostNatService)(nil)).Elem() -} - -type ArrayOfHostNatServiceConfig struct { - HostNatServiceConfig []HostNatServiceConfig `xml:"HostNatServiceConfig,omitempty"` -} - -func init() { - t["ArrayOfHostNatServiceConfig"] = reflect.TypeOf((*ArrayOfHostNatServiceConfig)(nil)).Elem() -} - -type ArrayOfHostNatServicePortForwardSpec struct { - HostNatServicePortForwardSpec []HostNatServicePortForwardSpec `xml:"HostNatServicePortForwardSpec,omitempty"` -} - -func init() { - t["ArrayOfHostNatServicePortForwardSpec"] = reflect.TypeOf((*ArrayOfHostNatServicePortForwardSpec)(nil)).Elem() -} - -type ArrayOfHostNetStackInstance struct { - HostNetStackInstance []HostNetStackInstance `xml:"HostNetStackInstance,omitempty"` -} - -func init() { - t["ArrayOfHostNetStackInstance"] = reflect.TypeOf((*ArrayOfHostNetStackInstance)(nil)).Elem() -} - -type ArrayOfHostNetworkConfigNetStackSpec struct { - HostNetworkConfigNetStackSpec []HostNetworkConfigNetStackSpec `xml:"HostNetworkConfigNetStackSpec,omitempty"` -} - -func init() { - t["ArrayOfHostNetworkConfigNetStackSpec"] = reflect.TypeOf((*ArrayOfHostNetworkConfigNetStackSpec)(nil)).Elem() -} - -type ArrayOfHostNumaNode struct { - HostNumaNode []HostNumaNode `xml:"HostNumaNode,omitempty"` -} - -func init() { - t["ArrayOfHostNumaNode"] = reflect.TypeOf((*ArrayOfHostNumaNode)(nil)).Elem() -} - -type ArrayOfHostNumericSensorInfo struct { - HostNumericSensorInfo []HostNumericSensorInfo `xml:"HostNumericSensorInfo,omitempty"` -} - -func init() { - t["ArrayOfHostNumericSensorInfo"] = reflect.TypeOf((*ArrayOfHostNumericSensorInfo)(nil)).Elem() -} - -type ArrayOfHostNvmeConnectSpec struct { - HostNvmeConnectSpec []HostNvmeConnectSpec `xml:"HostNvmeConnectSpec,omitempty"` -} - -func init() { - t["ArrayOfHostNvmeConnectSpec"] = reflect.TypeOf((*ArrayOfHostNvmeConnectSpec)(nil)).Elem() -} - -type ArrayOfHostNvmeController struct { - HostNvmeController []HostNvmeController `xml:"HostNvmeController,omitempty"` -} - -func init() { - t["ArrayOfHostNvmeController"] = reflect.TypeOf((*ArrayOfHostNvmeController)(nil)).Elem() -} - -type ArrayOfHostNvmeDisconnectSpec struct { - HostNvmeDisconnectSpec []HostNvmeDisconnectSpec `xml:"HostNvmeDisconnectSpec,omitempty"` -} - -func init() { - t["ArrayOfHostNvmeDisconnectSpec"] = reflect.TypeOf((*ArrayOfHostNvmeDisconnectSpec)(nil)).Elem() -} - -type ArrayOfHostNvmeDiscoveryLogEntry struct { - HostNvmeDiscoveryLogEntry []HostNvmeDiscoveryLogEntry `xml:"HostNvmeDiscoveryLogEntry,omitempty"` -} - -func init() { - t["ArrayOfHostNvmeDiscoveryLogEntry"] = reflect.TypeOf((*ArrayOfHostNvmeDiscoveryLogEntry)(nil)).Elem() -} - -type ArrayOfHostNvmeNamespace struct { - HostNvmeNamespace []HostNvmeNamespace `xml:"HostNvmeNamespace,omitempty"` -} - -func init() { - t["ArrayOfHostNvmeNamespace"] = reflect.TypeOf((*ArrayOfHostNvmeNamespace)(nil)).Elem() -} - -type ArrayOfHostNvmeTopologyInterface struct { - HostNvmeTopologyInterface []HostNvmeTopologyInterface `xml:"HostNvmeTopologyInterface,omitempty"` -} - -func init() { - t["ArrayOfHostNvmeTopologyInterface"] = reflect.TypeOf((*ArrayOfHostNvmeTopologyInterface)(nil)).Elem() -} - -type ArrayOfHostOpaqueNetworkInfo struct { - HostOpaqueNetworkInfo []HostOpaqueNetworkInfo `xml:"HostOpaqueNetworkInfo,omitempty"` -} - -func init() { - t["ArrayOfHostOpaqueNetworkInfo"] = reflect.TypeOf((*ArrayOfHostOpaqueNetworkInfo)(nil)).Elem() -} - -type ArrayOfHostOpaqueSwitch struct { - HostOpaqueSwitch []HostOpaqueSwitch `xml:"HostOpaqueSwitch,omitempty"` -} - -func init() { - t["ArrayOfHostOpaqueSwitch"] = reflect.TypeOf((*ArrayOfHostOpaqueSwitch)(nil)).Elem() -} - -type ArrayOfHostOpaqueSwitchPhysicalNicZone struct { - HostOpaqueSwitchPhysicalNicZone []HostOpaqueSwitchPhysicalNicZone `xml:"HostOpaqueSwitchPhysicalNicZone,omitempty"` -} - -func init() { - t["ArrayOfHostOpaqueSwitchPhysicalNicZone"] = reflect.TypeOf((*ArrayOfHostOpaqueSwitchPhysicalNicZone)(nil)).Elem() -} - -type ArrayOfHostPatchManagerStatus struct { - HostPatchManagerStatus []HostPatchManagerStatus `xml:"HostPatchManagerStatus,omitempty"` -} - -func init() { - t["ArrayOfHostPatchManagerStatus"] = reflect.TypeOf((*ArrayOfHostPatchManagerStatus)(nil)).Elem() -} - -type ArrayOfHostPatchManagerStatusPrerequisitePatch struct { - HostPatchManagerStatusPrerequisitePatch []HostPatchManagerStatusPrerequisitePatch `xml:"HostPatchManagerStatusPrerequisitePatch,omitempty"` -} - -func init() { - t["ArrayOfHostPatchManagerStatusPrerequisitePatch"] = reflect.TypeOf((*ArrayOfHostPatchManagerStatusPrerequisitePatch)(nil)).Elem() -} - -type ArrayOfHostPathSelectionPolicyOption struct { - HostPathSelectionPolicyOption []HostPathSelectionPolicyOption `xml:"HostPathSelectionPolicyOption,omitempty"` -} - -func init() { - t["ArrayOfHostPathSelectionPolicyOption"] = reflect.TypeOf((*ArrayOfHostPathSelectionPolicyOption)(nil)).Elem() -} - -type ArrayOfHostPciDevice struct { - HostPciDevice []HostPciDevice `xml:"HostPciDevice,omitempty"` -} - -func init() { - t["ArrayOfHostPciDevice"] = reflect.TypeOf((*ArrayOfHostPciDevice)(nil)).Elem() -} - -type ArrayOfHostPciPassthruConfig struct { - HostPciPassthruConfig []BaseHostPciPassthruConfig `xml:"HostPciPassthruConfig,omitempty,typeattr"` -} - -func init() { - t["ArrayOfHostPciPassthruConfig"] = reflect.TypeOf((*ArrayOfHostPciPassthruConfig)(nil)).Elem() -} - -type ArrayOfHostPciPassthruInfo struct { - HostPciPassthruInfo []BaseHostPciPassthruInfo `xml:"HostPciPassthruInfo,omitempty,typeattr"` -} - -func init() { - t["ArrayOfHostPciPassthruInfo"] = reflect.TypeOf((*ArrayOfHostPciPassthruInfo)(nil)).Elem() -} - -type ArrayOfHostPlacedVirtualNicIdentifier struct { - HostPlacedVirtualNicIdentifier []HostPlacedVirtualNicIdentifier `xml:"HostPlacedVirtualNicIdentifier,omitempty"` -} - -func init() { - t["ArrayOfHostPlacedVirtualNicIdentifier"] = reflect.TypeOf((*ArrayOfHostPlacedVirtualNicIdentifier)(nil)).Elem() -} - -type ArrayOfHostPlugStoreTopologyAdapter struct { - HostPlugStoreTopologyAdapter []HostPlugStoreTopologyAdapter `xml:"HostPlugStoreTopologyAdapter,omitempty"` -} - -func init() { - t["ArrayOfHostPlugStoreTopologyAdapter"] = reflect.TypeOf((*ArrayOfHostPlugStoreTopologyAdapter)(nil)).Elem() -} - -type ArrayOfHostPlugStoreTopologyDevice struct { - HostPlugStoreTopologyDevice []HostPlugStoreTopologyDevice `xml:"HostPlugStoreTopologyDevice,omitempty"` -} - -func init() { - t["ArrayOfHostPlugStoreTopologyDevice"] = reflect.TypeOf((*ArrayOfHostPlugStoreTopologyDevice)(nil)).Elem() -} - -type ArrayOfHostPlugStoreTopologyPath struct { - HostPlugStoreTopologyPath []HostPlugStoreTopologyPath `xml:"HostPlugStoreTopologyPath,omitempty"` -} - -func init() { - t["ArrayOfHostPlugStoreTopologyPath"] = reflect.TypeOf((*ArrayOfHostPlugStoreTopologyPath)(nil)).Elem() -} - -type ArrayOfHostPlugStoreTopologyPlugin struct { - HostPlugStoreTopologyPlugin []HostPlugStoreTopologyPlugin `xml:"HostPlugStoreTopologyPlugin,omitempty"` -} - -func init() { - t["ArrayOfHostPlugStoreTopologyPlugin"] = reflect.TypeOf((*ArrayOfHostPlugStoreTopologyPlugin)(nil)).Elem() -} - -type ArrayOfHostPlugStoreTopologyTarget struct { - HostPlugStoreTopologyTarget []HostPlugStoreTopologyTarget `xml:"HostPlugStoreTopologyTarget,omitempty"` -} - -func init() { - t["ArrayOfHostPlugStoreTopologyTarget"] = reflect.TypeOf((*ArrayOfHostPlugStoreTopologyTarget)(nil)).Elem() -} - -type ArrayOfHostPnicNetworkResourceInfo struct { - HostPnicNetworkResourceInfo []HostPnicNetworkResourceInfo `xml:"HostPnicNetworkResourceInfo,omitempty"` -} - -func init() { - t["ArrayOfHostPnicNetworkResourceInfo"] = reflect.TypeOf((*ArrayOfHostPnicNetworkResourceInfo)(nil)).Elem() -} - -type ArrayOfHostPortGroup struct { - HostPortGroup []HostPortGroup `xml:"HostPortGroup,omitempty"` -} - -func init() { - t["ArrayOfHostPortGroup"] = reflect.TypeOf((*ArrayOfHostPortGroup)(nil)).Elem() -} - -type ArrayOfHostPortGroupConfig struct { - HostPortGroupConfig []HostPortGroupConfig `xml:"HostPortGroupConfig,omitempty"` -} - -func init() { - t["ArrayOfHostPortGroupConfig"] = reflect.TypeOf((*ArrayOfHostPortGroupConfig)(nil)).Elem() -} - -type ArrayOfHostPortGroupPort struct { - HostPortGroupPort []HostPortGroupPort `xml:"HostPortGroupPort,omitempty"` -} - -func init() { - t["ArrayOfHostPortGroupPort"] = reflect.TypeOf((*ArrayOfHostPortGroupPort)(nil)).Elem() -} - -type ArrayOfHostPortGroupProfile struct { - HostPortGroupProfile []HostPortGroupProfile `xml:"HostPortGroupProfile,omitempty"` -} - -func init() { - t["ArrayOfHostPortGroupProfile"] = reflect.TypeOf((*ArrayOfHostPortGroupProfile)(nil)).Elem() -} - -type ArrayOfHostPowerPolicy struct { - HostPowerPolicy []HostPowerPolicy `xml:"HostPowerPolicy,omitempty"` -} - -func init() { - t["ArrayOfHostPowerPolicy"] = reflect.TypeOf((*ArrayOfHostPowerPolicy)(nil)).Elem() -} - -type ArrayOfHostProfileManagerCompositionResultResultElement struct { - HostProfileManagerCompositionResultResultElement []HostProfileManagerCompositionResultResultElement `xml:"HostProfileManagerCompositionResultResultElement,omitempty"` -} - -func init() { - t["ArrayOfHostProfileManagerCompositionResultResultElement"] = reflect.TypeOf((*ArrayOfHostProfileManagerCompositionResultResultElement)(nil)).Elem() -} - -type ArrayOfHostProfileManagerCompositionValidationResultResultElement struct { - HostProfileManagerCompositionValidationResultResultElement []HostProfileManagerCompositionValidationResultResultElement `xml:"HostProfileManagerCompositionValidationResultResultElement,omitempty"` -} - -func init() { - t["ArrayOfHostProfileManagerCompositionValidationResultResultElement"] = reflect.TypeOf((*ArrayOfHostProfileManagerCompositionValidationResultResultElement)(nil)).Elem() -} - -type ArrayOfHostProfileManagerHostToConfigSpecMap struct { - HostProfileManagerHostToConfigSpecMap []HostProfileManagerHostToConfigSpecMap `xml:"HostProfileManagerHostToConfigSpecMap,omitempty"` -} - -func init() { - t["ArrayOfHostProfileManagerHostToConfigSpecMap"] = reflect.TypeOf((*ArrayOfHostProfileManagerHostToConfigSpecMap)(nil)).Elem() -} - -type ArrayOfHostProfilesEntityCustomizations struct { - HostProfilesEntityCustomizations []BaseHostProfilesEntityCustomizations `xml:"HostProfilesEntityCustomizations,omitempty,typeattr"` -} - -func init() { - t["ArrayOfHostProfilesEntityCustomizations"] = reflect.TypeOf((*ArrayOfHostProfilesEntityCustomizations)(nil)).Elem() -} - -type ArrayOfHostProtocolEndpoint struct { - HostProtocolEndpoint []HostProtocolEndpoint `xml:"HostProtocolEndpoint,omitempty"` -} - -func init() { - t["ArrayOfHostProtocolEndpoint"] = reflect.TypeOf((*ArrayOfHostProtocolEndpoint)(nil)).Elem() -} - -type ArrayOfHostProxySwitch struct { - HostProxySwitch []HostProxySwitch `xml:"HostProxySwitch,omitempty"` -} - -func init() { - t["ArrayOfHostProxySwitch"] = reflect.TypeOf((*ArrayOfHostProxySwitch)(nil)).Elem() -} - -type ArrayOfHostProxySwitchConfig struct { - HostProxySwitchConfig []HostProxySwitchConfig `xml:"HostProxySwitchConfig,omitempty"` -} - -func init() { - t["ArrayOfHostProxySwitchConfig"] = reflect.TypeOf((*ArrayOfHostProxySwitchConfig)(nil)).Elem() -} - -type ArrayOfHostProxySwitchHostLagConfig struct { - HostProxySwitchHostLagConfig []HostProxySwitchHostLagConfig `xml:"HostProxySwitchHostLagConfig,omitempty"` -} - -func init() { - t["ArrayOfHostProxySwitchHostLagConfig"] = reflect.TypeOf((*ArrayOfHostProxySwitchHostLagConfig)(nil)).Elem() -} - -type ArrayOfHostPtpConfigPtpPort struct { - HostPtpConfigPtpPort []HostPtpConfigPtpPort `xml:"HostPtpConfigPtpPort,omitempty"` -} - -func init() { - t["ArrayOfHostPtpConfigPtpPort"] = reflect.TypeOf((*ArrayOfHostPtpConfigPtpPort)(nil)).Elem() -} - -type ArrayOfHostQualifiedName struct { - HostQualifiedName []HostQualifiedName `xml:"HostQualifiedName,omitempty"` -} - -func init() { - t["ArrayOfHostQualifiedName"] = reflect.TypeOf((*ArrayOfHostQualifiedName)(nil)).Elem() -} - -type ArrayOfHostRdmaDevice struct { - HostRdmaDevice []HostRdmaDevice `xml:"HostRdmaDevice,omitempty"` -} - -func init() { - t["ArrayOfHostRdmaDevice"] = reflect.TypeOf((*ArrayOfHostRdmaDevice)(nil)).Elem() -} - -type ArrayOfHostRuntimeInfoNetStackInstanceRuntimeInfo struct { - HostRuntimeInfoNetStackInstanceRuntimeInfo []HostRuntimeInfoNetStackInstanceRuntimeInfo `xml:"HostRuntimeInfoNetStackInstanceRuntimeInfo,omitempty"` -} - -func init() { - t["ArrayOfHostRuntimeInfoNetStackInstanceRuntimeInfo"] = reflect.TypeOf((*ArrayOfHostRuntimeInfoNetStackInstanceRuntimeInfo)(nil)).Elem() -} - -type ArrayOfHostScsiDisk struct { - HostScsiDisk []HostScsiDisk `xml:"HostScsiDisk,omitempty"` -} - -func init() { - t["ArrayOfHostScsiDisk"] = reflect.TypeOf((*ArrayOfHostScsiDisk)(nil)).Elem() -} - -type ArrayOfHostScsiDiskPartition struct { - HostScsiDiskPartition []HostScsiDiskPartition `xml:"HostScsiDiskPartition,omitempty"` -} - -func init() { - t["ArrayOfHostScsiDiskPartition"] = reflect.TypeOf((*ArrayOfHostScsiDiskPartition)(nil)).Elem() -} - -type ArrayOfHostScsiTopologyInterface struct { - HostScsiTopologyInterface []HostScsiTopologyInterface `xml:"HostScsiTopologyInterface,omitempty"` -} - -func init() { - t["ArrayOfHostScsiTopologyInterface"] = reflect.TypeOf((*ArrayOfHostScsiTopologyInterface)(nil)).Elem() -} - -type ArrayOfHostScsiTopologyLun struct { - HostScsiTopologyLun []HostScsiTopologyLun `xml:"HostScsiTopologyLun,omitempty"` -} - -func init() { - t["ArrayOfHostScsiTopologyLun"] = reflect.TypeOf((*ArrayOfHostScsiTopologyLun)(nil)).Elem() -} - -type ArrayOfHostScsiTopologyTarget struct { - HostScsiTopologyTarget []HostScsiTopologyTarget `xml:"HostScsiTopologyTarget,omitempty"` -} - -func init() { - t["ArrayOfHostScsiTopologyTarget"] = reflect.TypeOf((*ArrayOfHostScsiTopologyTarget)(nil)).Elem() -} - -type ArrayOfHostService struct { - HostService []HostService `xml:"HostService,omitempty"` -} - -func init() { - t["ArrayOfHostService"] = reflect.TypeOf((*ArrayOfHostService)(nil)).Elem() -} - -type ArrayOfHostServiceConfig struct { - HostServiceConfig []HostServiceConfig `xml:"HostServiceConfig,omitempty"` -} - -func init() { - t["ArrayOfHostServiceConfig"] = reflect.TypeOf((*ArrayOfHostServiceConfig)(nil)).Elem() -} - -type ArrayOfHostSharedGpuCapabilities struct { - HostSharedGpuCapabilities []HostSharedGpuCapabilities `xml:"HostSharedGpuCapabilities,omitempty"` -} - -func init() { - t["ArrayOfHostSharedGpuCapabilities"] = reflect.TypeOf((*ArrayOfHostSharedGpuCapabilities)(nil)).Elem() -} - -type ArrayOfHostSnmpDestination struct { - HostSnmpDestination []HostSnmpDestination `xml:"HostSnmpDestination,omitempty"` -} - -func init() { - t["ArrayOfHostSnmpDestination"] = reflect.TypeOf((*ArrayOfHostSnmpDestination)(nil)).Elem() -} - -type ArrayOfHostSriovDevicePoolInfo struct { - HostSriovDevicePoolInfo []BaseHostSriovDevicePoolInfo `xml:"HostSriovDevicePoolInfo,omitempty,typeattr"` -} - -func init() { - t["ArrayOfHostSriovDevicePoolInfo"] = reflect.TypeOf((*ArrayOfHostSriovDevicePoolInfo)(nil)).Elem() -} - -type ArrayOfHostSslThumbprintInfo struct { - HostSslThumbprintInfo []HostSslThumbprintInfo `xml:"HostSslThumbprintInfo,omitempty"` -} - -func init() { - t["ArrayOfHostSslThumbprintInfo"] = reflect.TypeOf((*ArrayOfHostSslThumbprintInfo)(nil)).Elem() -} - -type ArrayOfHostStorageArrayTypePolicyOption struct { - HostStorageArrayTypePolicyOption []HostStorageArrayTypePolicyOption `xml:"HostStorageArrayTypePolicyOption,omitempty"` -} - -func init() { - t["ArrayOfHostStorageArrayTypePolicyOption"] = reflect.TypeOf((*ArrayOfHostStorageArrayTypePolicyOption)(nil)).Elem() -} - -type ArrayOfHostStorageElementInfo struct { - HostStorageElementInfo []HostStorageElementInfo `xml:"HostStorageElementInfo,omitempty"` -} - -func init() { - t["ArrayOfHostStorageElementInfo"] = reflect.TypeOf((*ArrayOfHostStorageElementInfo)(nil)).Elem() -} - -type ArrayOfHostStorageOperationalInfo struct { - HostStorageOperationalInfo []HostStorageOperationalInfo `xml:"HostStorageOperationalInfo,omitempty"` -} - -func init() { - t["ArrayOfHostStorageOperationalInfo"] = reflect.TypeOf((*ArrayOfHostStorageOperationalInfo)(nil)).Elem() -} - -type ArrayOfHostStorageSystemDiskLocatorLedResult struct { - HostStorageSystemDiskLocatorLedResult []HostStorageSystemDiskLocatorLedResult `xml:"HostStorageSystemDiskLocatorLedResult,omitempty"` -} - -func init() { - t["ArrayOfHostStorageSystemDiskLocatorLedResult"] = reflect.TypeOf((*ArrayOfHostStorageSystemDiskLocatorLedResult)(nil)).Elem() -} - -type ArrayOfHostStorageSystemScsiLunResult struct { - HostStorageSystemScsiLunResult []HostStorageSystemScsiLunResult `xml:"HostStorageSystemScsiLunResult,omitempty"` -} - -func init() { - t["ArrayOfHostStorageSystemScsiLunResult"] = reflect.TypeOf((*ArrayOfHostStorageSystemScsiLunResult)(nil)).Elem() -} - -type ArrayOfHostStorageSystemVmfsVolumeResult struct { - HostStorageSystemVmfsVolumeResult []HostStorageSystemVmfsVolumeResult `xml:"HostStorageSystemVmfsVolumeResult,omitempty"` -} - -func init() { - t["ArrayOfHostStorageSystemVmfsVolumeResult"] = reflect.TypeOf((*ArrayOfHostStorageSystemVmfsVolumeResult)(nil)).Elem() -} - -type ArrayOfHostSubSpecification struct { - HostSubSpecification []HostSubSpecification `xml:"HostSubSpecification,omitempty"` -} - -func init() { - t["ArrayOfHostSubSpecification"] = reflect.TypeOf((*ArrayOfHostSubSpecification)(nil)).Elem() -} - -type ArrayOfHostSystemIdentificationInfo struct { - HostSystemIdentificationInfo []HostSystemIdentificationInfo `xml:"HostSystemIdentificationInfo,omitempty"` -} - -func init() { - t["ArrayOfHostSystemIdentificationInfo"] = reflect.TypeOf((*ArrayOfHostSystemIdentificationInfo)(nil)).Elem() -} - -type ArrayOfHostSystemResourceInfo struct { - HostSystemResourceInfo []HostSystemResourceInfo `xml:"HostSystemResourceInfo,omitempty"` -} - -func init() { - t["ArrayOfHostSystemResourceInfo"] = reflect.TypeOf((*ArrayOfHostSystemResourceInfo)(nil)).Elem() -} - -type ArrayOfHostSystemSwapConfigurationSystemSwapOption struct { - HostSystemSwapConfigurationSystemSwapOption []BaseHostSystemSwapConfigurationSystemSwapOption `xml:"HostSystemSwapConfigurationSystemSwapOption,omitempty,typeattr"` -} - -func init() { - t["ArrayOfHostSystemSwapConfigurationSystemSwapOption"] = reflect.TypeOf((*ArrayOfHostSystemSwapConfigurationSystemSwapOption)(nil)).Elem() -} - -type ArrayOfHostTpmDigestInfo struct { - HostTpmDigestInfo []HostTpmDigestInfo `xml:"HostTpmDigestInfo,omitempty"` -} - -func init() { - t["ArrayOfHostTpmDigestInfo"] = reflect.TypeOf((*ArrayOfHostTpmDigestInfo)(nil)).Elem() -} - -type ArrayOfHostTpmEventLogEntry struct { - HostTpmEventLogEntry []HostTpmEventLogEntry `xml:"HostTpmEventLogEntry,omitempty"` -} - -func init() { - t["ArrayOfHostTpmEventLogEntry"] = reflect.TypeOf((*ArrayOfHostTpmEventLogEntry)(nil)).Elem() -} - -type ArrayOfHostTrustAuthorityAttestationInfo struct { - HostTrustAuthorityAttestationInfo []HostTrustAuthorityAttestationInfo `xml:"HostTrustAuthorityAttestationInfo,omitempty"` -} - -func init() { - t["ArrayOfHostTrustAuthorityAttestationInfo"] = reflect.TypeOf((*ArrayOfHostTrustAuthorityAttestationInfo)(nil)).Elem() -} - -type ArrayOfHostUnresolvedVmfsExtent struct { - HostUnresolvedVmfsExtent []HostUnresolvedVmfsExtent `xml:"HostUnresolvedVmfsExtent,omitempty"` -} - -func init() { - t["ArrayOfHostUnresolvedVmfsExtent"] = reflect.TypeOf((*ArrayOfHostUnresolvedVmfsExtent)(nil)).Elem() -} - -type ArrayOfHostUnresolvedVmfsResolutionResult struct { - HostUnresolvedVmfsResolutionResult []HostUnresolvedVmfsResolutionResult `xml:"HostUnresolvedVmfsResolutionResult,omitempty"` -} - -func init() { - t["ArrayOfHostUnresolvedVmfsResolutionResult"] = reflect.TypeOf((*ArrayOfHostUnresolvedVmfsResolutionResult)(nil)).Elem() -} - -type ArrayOfHostUnresolvedVmfsResolutionSpec struct { - HostUnresolvedVmfsResolutionSpec []HostUnresolvedVmfsResolutionSpec `xml:"HostUnresolvedVmfsResolutionSpec,omitempty"` -} - -func init() { - t["ArrayOfHostUnresolvedVmfsResolutionSpec"] = reflect.TypeOf((*ArrayOfHostUnresolvedVmfsResolutionSpec)(nil)).Elem() -} - -type ArrayOfHostUnresolvedVmfsVolume struct { - HostUnresolvedVmfsVolume []HostUnresolvedVmfsVolume `xml:"HostUnresolvedVmfsVolume,omitempty"` -} - -func init() { - t["ArrayOfHostUnresolvedVmfsVolume"] = reflect.TypeOf((*ArrayOfHostUnresolvedVmfsVolume)(nil)).Elem() -} - -type ArrayOfHostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption struct { - HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption []HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption `xml:"HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption,omitempty"` -} - -func init() { - t["ArrayOfHostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption"] = reflect.TypeOf((*ArrayOfHostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption)(nil)).Elem() -} - -type ArrayOfHostVMotionCompatibility struct { - HostVMotionCompatibility []HostVMotionCompatibility `xml:"HostVMotionCompatibility,omitempty"` -} - -func init() { - t["ArrayOfHostVMotionCompatibility"] = reflect.TypeOf((*ArrayOfHostVMotionCompatibility)(nil)).Elem() -} - -type ArrayOfHostVirtualNic struct { - HostVirtualNic []HostVirtualNic `xml:"HostVirtualNic,omitempty"` -} - -func init() { - t["ArrayOfHostVirtualNic"] = reflect.TypeOf((*ArrayOfHostVirtualNic)(nil)).Elem() -} - -type ArrayOfHostVirtualNicConfig struct { - HostVirtualNicConfig []HostVirtualNicConfig `xml:"HostVirtualNicConfig,omitempty"` -} - -func init() { - t["ArrayOfHostVirtualNicConfig"] = reflect.TypeOf((*ArrayOfHostVirtualNicConfig)(nil)).Elem() -} - -type ArrayOfHostVirtualNicManagerNicTypeSelection struct { - HostVirtualNicManagerNicTypeSelection []HostVirtualNicManagerNicTypeSelection `xml:"HostVirtualNicManagerNicTypeSelection,omitempty"` -} - -func init() { - t["ArrayOfHostVirtualNicManagerNicTypeSelection"] = reflect.TypeOf((*ArrayOfHostVirtualNicManagerNicTypeSelection)(nil)).Elem() -} - -type ArrayOfHostVirtualSwitch struct { - HostVirtualSwitch []HostVirtualSwitch `xml:"HostVirtualSwitch,omitempty"` -} - -func init() { - t["ArrayOfHostVirtualSwitch"] = reflect.TypeOf((*ArrayOfHostVirtualSwitch)(nil)).Elem() -} - -type ArrayOfHostVirtualSwitchConfig struct { - HostVirtualSwitchConfig []HostVirtualSwitchConfig `xml:"HostVirtualSwitchConfig,omitempty"` -} - -func init() { - t["ArrayOfHostVirtualSwitchConfig"] = reflect.TypeOf((*ArrayOfHostVirtualSwitchConfig)(nil)).Elem() -} - -type ArrayOfHostVmciAccessManagerAccessSpec struct { - HostVmciAccessManagerAccessSpec []HostVmciAccessManagerAccessSpec `xml:"HostVmciAccessManagerAccessSpec,omitempty"` -} - -func init() { - t["ArrayOfHostVmciAccessManagerAccessSpec"] = reflect.TypeOf((*ArrayOfHostVmciAccessManagerAccessSpec)(nil)).Elem() -} - -type ArrayOfHostVmfsRescanResult struct { - HostVmfsRescanResult []HostVmfsRescanResult `xml:"HostVmfsRescanResult,omitempty"` -} - -func init() { - t["ArrayOfHostVmfsRescanResult"] = reflect.TypeOf((*ArrayOfHostVmfsRescanResult)(nil)).Elem() -} - -type ArrayOfHostVsanInternalSystemCmmdsQuery struct { - HostVsanInternalSystemCmmdsQuery []HostVsanInternalSystemCmmdsQuery `xml:"HostVsanInternalSystemCmmdsQuery,omitempty"` -} - -func init() { - t["ArrayOfHostVsanInternalSystemCmmdsQuery"] = reflect.TypeOf((*ArrayOfHostVsanInternalSystemCmmdsQuery)(nil)).Elem() -} - -type ArrayOfHostVsanInternalSystemDeleteVsanObjectsResult struct { - HostVsanInternalSystemDeleteVsanObjectsResult []HostVsanInternalSystemDeleteVsanObjectsResult `xml:"HostVsanInternalSystemDeleteVsanObjectsResult,omitempty"` -} - -func init() { - t["ArrayOfHostVsanInternalSystemDeleteVsanObjectsResult"] = reflect.TypeOf((*ArrayOfHostVsanInternalSystemDeleteVsanObjectsResult)(nil)).Elem() -} - -type ArrayOfHostVsanInternalSystemVsanObjectOperationResult struct { - HostVsanInternalSystemVsanObjectOperationResult []HostVsanInternalSystemVsanObjectOperationResult `xml:"HostVsanInternalSystemVsanObjectOperationResult,omitempty"` -} - -func init() { - t["ArrayOfHostVsanInternalSystemVsanObjectOperationResult"] = reflect.TypeOf((*ArrayOfHostVsanInternalSystemVsanObjectOperationResult)(nil)).Elem() -} - -type ArrayOfHostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult struct { - HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult []HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult `xml:"HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult,omitempty"` -} - -func init() { - t["ArrayOfHostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult"] = reflect.TypeOf((*ArrayOfHostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult)(nil)).Elem() -} - -type ArrayOfHttpNfcLeaseDatastoreLeaseInfo struct { - HttpNfcLeaseDatastoreLeaseInfo []HttpNfcLeaseDatastoreLeaseInfo `xml:"HttpNfcLeaseDatastoreLeaseInfo,omitempty"` -} - -func init() { - t["ArrayOfHttpNfcLeaseDatastoreLeaseInfo"] = reflect.TypeOf((*ArrayOfHttpNfcLeaseDatastoreLeaseInfo)(nil)).Elem() -} - -type ArrayOfHttpNfcLeaseDeviceUrl struct { - HttpNfcLeaseDeviceUrl []HttpNfcLeaseDeviceUrl `xml:"HttpNfcLeaseDeviceUrl,omitempty"` -} - -func init() { - t["ArrayOfHttpNfcLeaseDeviceUrl"] = reflect.TypeOf((*ArrayOfHttpNfcLeaseDeviceUrl)(nil)).Elem() -} - -type ArrayOfHttpNfcLeaseHostInfo struct { - HttpNfcLeaseHostInfo []HttpNfcLeaseHostInfo `xml:"HttpNfcLeaseHostInfo,omitempty"` -} - -func init() { - t["ArrayOfHttpNfcLeaseHostInfo"] = reflect.TypeOf((*ArrayOfHttpNfcLeaseHostInfo)(nil)).Elem() -} - -type ArrayOfHttpNfcLeaseManifestEntry struct { - HttpNfcLeaseManifestEntry []HttpNfcLeaseManifestEntry `xml:"HttpNfcLeaseManifestEntry,omitempty"` -} - -func init() { - t["ArrayOfHttpNfcLeaseManifestEntry"] = reflect.TypeOf((*ArrayOfHttpNfcLeaseManifestEntry)(nil)).Elem() -} - -type ArrayOfHttpNfcLeaseProbeResult struct { - HttpNfcLeaseProbeResult []HttpNfcLeaseProbeResult `xml:"HttpNfcLeaseProbeResult,omitempty"` -} - -func init() { - t["ArrayOfHttpNfcLeaseProbeResult"] = reflect.TypeOf((*ArrayOfHttpNfcLeaseProbeResult)(nil)).Elem() -} - -type ArrayOfHttpNfcLeaseSourceFile struct { - HttpNfcLeaseSourceFile []HttpNfcLeaseSourceFile `xml:"HttpNfcLeaseSourceFile,omitempty"` -} - -func init() { - t["ArrayOfHttpNfcLeaseSourceFile"] = reflect.TypeOf((*ArrayOfHttpNfcLeaseSourceFile)(nil)).Elem() -} - -type ArrayOfID struct { - ID []ID `xml:"ID,omitempty"` -} - -func init() { - t["ArrayOfID"] = reflect.TypeOf((*ArrayOfID)(nil)).Elem() -} - -type ArrayOfImportOperationBulkFaultFaultOnImport struct { - ImportOperationBulkFaultFaultOnImport []ImportOperationBulkFaultFaultOnImport `xml:"ImportOperationBulkFaultFaultOnImport,omitempty"` -} - -func init() { - t["ArrayOfImportOperationBulkFaultFaultOnImport"] = reflect.TypeOf((*ArrayOfImportOperationBulkFaultFaultOnImport)(nil)).Elem() -} - -type ArrayOfImportSpec struct { - ImportSpec []BaseImportSpec `xml:"ImportSpec,omitempty,typeattr"` -} - -func init() { - t["ArrayOfImportSpec"] = reflect.TypeOf((*ArrayOfImportSpec)(nil)).Elem() -} - -type ArrayOfInt struct { - Int []int32 `xml:"int,omitempty"` -} - -func init() { - t["ArrayOfInt"] = reflect.TypeOf((*ArrayOfInt)(nil)).Elem() -} - -type ArrayOfIoFilterHostIssue struct { - IoFilterHostIssue []IoFilterHostIssue `xml:"IoFilterHostIssue,omitempty"` -} - -func init() { - t["ArrayOfIoFilterHostIssue"] = reflect.TypeOf((*ArrayOfIoFilterHostIssue)(nil)).Elem() -} - -type ArrayOfIpPool struct { - IpPool []IpPool `xml:"IpPool,omitempty"` -} - -func init() { - t["ArrayOfIpPool"] = reflect.TypeOf((*ArrayOfIpPool)(nil)).Elem() -} - -type ArrayOfIpPoolAssociation struct { - IpPoolAssociation []IpPoolAssociation `xml:"IpPoolAssociation,omitempty"` -} - -func init() { - t["ArrayOfIpPoolAssociation"] = reflect.TypeOf((*ArrayOfIpPoolAssociation)(nil)).Elem() -} - -type ArrayOfIpPoolManagerIpAllocation struct { - IpPoolManagerIpAllocation []IpPoolManagerIpAllocation `xml:"IpPoolManagerIpAllocation,omitempty"` -} - -func init() { - t["ArrayOfIpPoolManagerIpAllocation"] = reflect.TypeOf((*ArrayOfIpPoolManagerIpAllocation)(nil)).Elem() -} - -type ArrayOfIscsiDependencyEntity struct { - IscsiDependencyEntity []IscsiDependencyEntity `xml:"IscsiDependencyEntity,omitempty"` -} - -func init() { - t["ArrayOfIscsiDependencyEntity"] = reflect.TypeOf((*ArrayOfIscsiDependencyEntity)(nil)).Elem() -} - -type ArrayOfIscsiPortInfo struct { - IscsiPortInfo []IscsiPortInfo `xml:"IscsiPortInfo,omitempty"` -} - -func init() { - t["ArrayOfIscsiPortInfo"] = reflect.TypeOf((*ArrayOfIscsiPortInfo)(nil)).Elem() -} - -type ArrayOfKernelModuleInfo struct { - KernelModuleInfo []KernelModuleInfo `xml:"KernelModuleInfo,omitempty"` -} - -func init() { - t["ArrayOfKernelModuleInfo"] = reflect.TypeOf((*ArrayOfKernelModuleInfo)(nil)).Elem() -} - -type ArrayOfKeyAnyValue struct { - KeyAnyValue []KeyAnyValue `xml:"KeyAnyValue,omitempty"` -} - -func init() { - t["ArrayOfKeyAnyValue"] = reflect.TypeOf((*ArrayOfKeyAnyValue)(nil)).Elem() -} - -type ArrayOfKeyValue struct { - KeyValue []KeyValue `xml:"KeyValue,omitempty"` -} - -func init() { - t["ArrayOfKeyValue"] = reflect.TypeOf((*ArrayOfKeyValue)(nil)).Elem() -} - -type ArrayOfKmipClusterInfo struct { - KmipClusterInfo []KmipClusterInfo `xml:"KmipClusterInfo,omitempty"` -} - -func init() { - t["ArrayOfKmipClusterInfo"] = reflect.TypeOf((*ArrayOfKmipClusterInfo)(nil)).Elem() -} - -type ArrayOfKmipServerInfo struct { - KmipServerInfo []KmipServerInfo `xml:"KmipServerInfo,omitempty"` -} - -func init() { - t["ArrayOfKmipServerInfo"] = reflect.TypeOf((*ArrayOfKmipServerInfo)(nil)).Elem() -} - -type ArrayOfLicenseAssignmentManagerLicenseAssignment struct { - LicenseAssignmentManagerLicenseAssignment []LicenseAssignmentManagerLicenseAssignment `xml:"LicenseAssignmentManagerLicenseAssignment,omitempty"` -} - -func init() { - t["ArrayOfLicenseAssignmentManagerLicenseAssignment"] = reflect.TypeOf((*ArrayOfLicenseAssignmentManagerLicenseAssignment)(nil)).Elem() -} - -type ArrayOfLicenseAvailabilityInfo struct { - LicenseAvailabilityInfo []LicenseAvailabilityInfo `xml:"LicenseAvailabilityInfo,omitempty"` -} - -func init() { - t["ArrayOfLicenseAvailabilityInfo"] = reflect.TypeOf((*ArrayOfLicenseAvailabilityInfo)(nil)).Elem() -} - -type ArrayOfLicenseFeatureInfo struct { - LicenseFeatureInfo []LicenseFeatureInfo `xml:"LicenseFeatureInfo,omitempty"` -} - -func init() { - t["ArrayOfLicenseFeatureInfo"] = reflect.TypeOf((*ArrayOfLicenseFeatureInfo)(nil)).Elem() -} - -type ArrayOfLicenseManagerLicenseInfo struct { - LicenseManagerLicenseInfo []LicenseManagerLicenseInfo `xml:"LicenseManagerLicenseInfo,omitempty"` -} - -func init() { - t["ArrayOfLicenseManagerLicenseInfo"] = reflect.TypeOf((*ArrayOfLicenseManagerLicenseInfo)(nil)).Elem() -} - -type ArrayOfLicenseReservationInfo struct { - LicenseReservationInfo []LicenseReservationInfo `xml:"LicenseReservationInfo,omitempty"` -} - -func init() { - t["ArrayOfLicenseReservationInfo"] = reflect.TypeOf((*ArrayOfLicenseReservationInfo)(nil)).Elem() -} - -type ArrayOfLocalizableMessage struct { - LocalizableMessage []LocalizableMessage `xml:"LocalizableMessage,omitempty"` -} - -func init() { - t["ArrayOfLocalizableMessage"] = reflect.TypeOf((*ArrayOfLocalizableMessage)(nil)).Elem() -} - -type ArrayOfLocalizationManagerMessageCatalog struct { - LocalizationManagerMessageCatalog []LocalizationManagerMessageCatalog `xml:"LocalizationManagerMessageCatalog,omitempty"` -} - -func init() { - t["ArrayOfLocalizationManagerMessageCatalog"] = reflect.TypeOf((*ArrayOfLocalizationManagerMessageCatalog)(nil)).Elem() -} - -type ArrayOfLong struct { - Long []int64 `xml:"long,omitempty"` -} - -func init() { - t["ArrayOfLong"] = reflect.TypeOf((*ArrayOfLong)(nil)).Elem() -} - -type ArrayOfManagedEntityStatus struct { - ManagedEntityStatus []ManagedEntityStatus `xml:"ManagedEntityStatus,omitempty"` -} - -func init() { - t["ArrayOfManagedEntityStatus"] = reflect.TypeOf((*ArrayOfManagedEntityStatus)(nil)).Elem() -} - -type ArrayOfManagedObjectReference struct { - ManagedObjectReference []ManagedObjectReference `xml:"ManagedObjectReference,omitempty"` -} - -func init() { - t["ArrayOfManagedObjectReference"] = reflect.TypeOf((*ArrayOfManagedObjectReference)(nil)).Elem() -} - -type ArrayOfMethodActionArgument struct { - MethodActionArgument []MethodActionArgument `xml:"MethodActionArgument,omitempty"` -} - -func init() { - t["ArrayOfMethodActionArgument"] = reflect.TypeOf((*ArrayOfMethodActionArgument)(nil)).Elem() -} - -type ArrayOfMethodFault struct { - MethodFault []BaseMethodFault `xml:"MethodFault,omitempty,typeattr"` -} - -func init() { - t["ArrayOfMethodFault"] = reflect.TypeOf((*ArrayOfMethodFault)(nil)).Elem() -} - -type ArrayOfMissingObject struct { - MissingObject []MissingObject `xml:"MissingObject,omitempty"` -} - -func init() { - t["ArrayOfMissingObject"] = reflect.TypeOf((*ArrayOfMissingObject)(nil)).Elem() -} - -type ArrayOfMissingProperty struct { - MissingProperty []MissingProperty `xml:"MissingProperty,omitempty"` -} - -func init() { - t["ArrayOfMissingProperty"] = reflect.TypeOf((*ArrayOfMissingProperty)(nil)).Elem() -} - -type ArrayOfMultipleCertificatesVerifyFaultThumbprintData struct { - MultipleCertificatesVerifyFaultThumbprintData []MultipleCertificatesVerifyFaultThumbprintData `xml:"MultipleCertificatesVerifyFaultThumbprintData,omitempty"` -} - -func init() { - t["ArrayOfMultipleCertificatesVerifyFaultThumbprintData"] = reflect.TypeOf((*ArrayOfMultipleCertificatesVerifyFaultThumbprintData)(nil)).Elem() -} - -type ArrayOfNasStorageProfile struct { - NasStorageProfile []NasStorageProfile `xml:"NasStorageProfile,omitempty"` -} - -func init() { - t["ArrayOfNasStorageProfile"] = reflect.TypeOf((*ArrayOfNasStorageProfile)(nil)).Elem() -} - -type ArrayOfNetIpConfigInfoIpAddress struct { - NetIpConfigInfoIpAddress []NetIpConfigInfoIpAddress `xml:"NetIpConfigInfoIpAddress,omitempty"` -} - -func init() { - t["ArrayOfNetIpConfigInfoIpAddress"] = reflect.TypeOf((*ArrayOfNetIpConfigInfoIpAddress)(nil)).Elem() -} - -type ArrayOfNetIpConfigSpecIpAddressSpec struct { - NetIpConfigSpecIpAddressSpec []NetIpConfigSpecIpAddressSpec `xml:"NetIpConfigSpecIpAddressSpec,omitempty"` -} - -func init() { - t["ArrayOfNetIpConfigSpecIpAddressSpec"] = reflect.TypeOf((*ArrayOfNetIpConfigSpecIpAddressSpec)(nil)).Elem() -} - -type ArrayOfNetIpRouteConfigInfoIpRoute struct { - NetIpRouteConfigInfoIpRoute []NetIpRouteConfigInfoIpRoute `xml:"NetIpRouteConfigInfoIpRoute,omitempty"` -} - -func init() { - t["ArrayOfNetIpRouteConfigInfoIpRoute"] = reflect.TypeOf((*ArrayOfNetIpRouteConfigInfoIpRoute)(nil)).Elem() -} - -type ArrayOfNetIpRouteConfigSpecIpRouteSpec struct { - NetIpRouteConfigSpecIpRouteSpec []NetIpRouteConfigSpecIpRouteSpec `xml:"NetIpRouteConfigSpecIpRouteSpec,omitempty"` -} - -func init() { - t["ArrayOfNetIpRouteConfigSpecIpRouteSpec"] = reflect.TypeOf((*ArrayOfNetIpRouteConfigSpecIpRouteSpec)(nil)).Elem() -} - -type ArrayOfNetIpStackInfoDefaultRouter struct { - NetIpStackInfoDefaultRouter []NetIpStackInfoDefaultRouter `xml:"NetIpStackInfoDefaultRouter,omitempty"` -} - -func init() { - t["ArrayOfNetIpStackInfoDefaultRouter"] = reflect.TypeOf((*ArrayOfNetIpStackInfoDefaultRouter)(nil)).Elem() -} - -type ArrayOfNetIpStackInfoNetToMedia struct { - NetIpStackInfoNetToMedia []NetIpStackInfoNetToMedia `xml:"NetIpStackInfoNetToMedia,omitempty"` -} - -func init() { - t["ArrayOfNetIpStackInfoNetToMedia"] = reflect.TypeOf((*ArrayOfNetIpStackInfoNetToMedia)(nil)).Elem() -} - -type ArrayOfNetStackInstanceProfile struct { - NetStackInstanceProfile []NetStackInstanceProfile `xml:"NetStackInstanceProfile,omitempty"` -} - -func init() { - t["ArrayOfNetStackInstanceProfile"] = reflect.TypeOf((*ArrayOfNetStackInstanceProfile)(nil)).Elem() -} - -type ArrayOfNoPermissionEntityPrivileges struct { - NoPermissionEntityPrivileges []NoPermissionEntityPrivileges `xml:"NoPermissionEntityPrivileges,omitempty"` -} - -func init() { - t["ArrayOfNoPermissionEntityPrivileges"] = reflect.TypeOf((*ArrayOfNoPermissionEntityPrivileges)(nil)).Elem() -} - -type ArrayOfNsxHostVNicProfile struct { - NsxHostVNicProfile []NsxHostVNicProfile `xml:"NsxHostVNicProfile,omitempty"` -} - -func init() { - t["ArrayOfNsxHostVNicProfile"] = reflect.TypeOf((*ArrayOfNsxHostVNicProfile)(nil)).Elem() -} - -type ArrayOfNumericRange struct { - NumericRange []NumericRange `xml:"NumericRange,omitempty"` -} - -func init() { - t["ArrayOfNumericRange"] = reflect.TypeOf((*ArrayOfNumericRange)(nil)).Elem() -} - -type ArrayOfNvdimmDimmInfo struct { - NvdimmDimmInfo []NvdimmDimmInfo `xml:"NvdimmDimmInfo,omitempty"` -} - -func init() { - t["ArrayOfNvdimmDimmInfo"] = reflect.TypeOf((*ArrayOfNvdimmDimmInfo)(nil)).Elem() -} - -type ArrayOfNvdimmGuid struct { - NvdimmGuid []NvdimmGuid `xml:"NvdimmGuid,omitempty"` -} - -func init() { - t["ArrayOfNvdimmGuid"] = reflect.TypeOf((*ArrayOfNvdimmGuid)(nil)).Elem() -} - -type ArrayOfNvdimmInterleaveSetInfo struct { - NvdimmInterleaveSetInfo []NvdimmInterleaveSetInfo `xml:"NvdimmInterleaveSetInfo,omitempty"` -} - -func init() { - t["ArrayOfNvdimmInterleaveSetInfo"] = reflect.TypeOf((*ArrayOfNvdimmInterleaveSetInfo)(nil)).Elem() -} - -type ArrayOfNvdimmNamespaceDetails struct { - NvdimmNamespaceDetails []NvdimmNamespaceDetails `xml:"NvdimmNamespaceDetails,omitempty"` -} - -func init() { - t["ArrayOfNvdimmNamespaceDetails"] = reflect.TypeOf((*ArrayOfNvdimmNamespaceDetails)(nil)).Elem() -} - -type ArrayOfNvdimmNamespaceInfo struct { - NvdimmNamespaceInfo []NvdimmNamespaceInfo `xml:"NvdimmNamespaceInfo,omitempty"` -} - -func init() { - t["ArrayOfNvdimmNamespaceInfo"] = reflect.TypeOf((*ArrayOfNvdimmNamespaceInfo)(nil)).Elem() -} - -type ArrayOfNvdimmRegionInfo struct { - NvdimmRegionInfo []NvdimmRegionInfo `xml:"NvdimmRegionInfo,omitempty"` -} - -func init() { - t["ArrayOfNvdimmRegionInfo"] = reflect.TypeOf((*ArrayOfNvdimmRegionInfo)(nil)).Elem() -} - -type ArrayOfObjectContent struct { - ObjectContent []ObjectContent `xml:"ObjectContent,omitempty"` -} - -func init() { - t["ArrayOfObjectContent"] = reflect.TypeOf((*ArrayOfObjectContent)(nil)).Elem() -} - -type ArrayOfObjectSpec struct { - ObjectSpec []ObjectSpec `xml:"ObjectSpec,omitempty"` -} - -func init() { - t["ArrayOfObjectSpec"] = reflect.TypeOf((*ArrayOfObjectSpec)(nil)).Elem() -} - -type ArrayOfObjectUpdate struct { - ObjectUpdate []ObjectUpdate `xml:"ObjectUpdate,omitempty"` -} - -func init() { - t["ArrayOfObjectUpdate"] = reflect.TypeOf((*ArrayOfObjectUpdate)(nil)).Elem() -} - -type ArrayOfOpaqueNetworkTargetInfo struct { - OpaqueNetworkTargetInfo []OpaqueNetworkTargetInfo `xml:"OpaqueNetworkTargetInfo,omitempty"` -} - -func init() { - t["ArrayOfOpaqueNetworkTargetInfo"] = reflect.TypeOf((*ArrayOfOpaqueNetworkTargetInfo)(nil)).Elem() -} - -type ArrayOfOptionDef struct { - OptionDef []OptionDef `xml:"OptionDef,omitempty"` -} - -func init() { - t["ArrayOfOptionDef"] = reflect.TypeOf((*ArrayOfOptionDef)(nil)).Elem() -} - -type ArrayOfOptionProfile struct { - OptionProfile []OptionProfile `xml:"OptionProfile,omitempty"` -} - -func init() { - t["ArrayOfOptionProfile"] = reflect.TypeOf((*ArrayOfOptionProfile)(nil)).Elem() -} - -type ArrayOfOptionValue struct { - OptionValue []BaseOptionValue `xml:"OptionValue,omitempty,typeattr"` -} - -func init() { - t["ArrayOfOptionValue"] = reflect.TypeOf((*ArrayOfOptionValue)(nil)).Elem() -} - -type ArrayOfOvfConsumerOstNode struct { - OvfConsumerOstNode []OvfConsumerOstNode `xml:"OvfConsumerOstNode,omitempty"` -} - -func init() { - t["ArrayOfOvfConsumerOstNode"] = reflect.TypeOf((*ArrayOfOvfConsumerOstNode)(nil)).Elem() -} - -type ArrayOfOvfConsumerOvfSection struct { - OvfConsumerOvfSection []OvfConsumerOvfSection `xml:"OvfConsumerOvfSection,omitempty"` -} - -func init() { - t["ArrayOfOvfConsumerOvfSection"] = reflect.TypeOf((*ArrayOfOvfConsumerOvfSection)(nil)).Elem() -} - -type ArrayOfOvfDeploymentOption struct { - OvfDeploymentOption []OvfDeploymentOption `xml:"OvfDeploymentOption,omitempty"` -} - -func init() { - t["ArrayOfOvfDeploymentOption"] = reflect.TypeOf((*ArrayOfOvfDeploymentOption)(nil)).Elem() -} - -type ArrayOfOvfFile struct { - OvfFile []OvfFile `xml:"OvfFile,omitempty"` -} - -func init() { - t["ArrayOfOvfFile"] = reflect.TypeOf((*ArrayOfOvfFile)(nil)).Elem() -} - -type ArrayOfOvfFileItem struct { - OvfFileItem []OvfFileItem `xml:"OvfFileItem,omitempty"` -} - -func init() { - t["ArrayOfOvfFileItem"] = reflect.TypeOf((*ArrayOfOvfFileItem)(nil)).Elem() -} - -type ArrayOfOvfNetworkInfo struct { - OvfNetworkInfo []OvfNetworkInfo `xml:"OvfNetworkInfo,omitempty"` -} - -func init() { - t["ArrayOfOvfNetworkInfo"] = reflect.TypeOf((*ArrayOfOvfNetworkInfo)(nil)).Elem() -} - -type ArrayOfOvfNetworkMapping struct { - OvfNetworkMapping []OvfNetworkMapping `xml:"OvfNetworkMapping,omitempty"` -} - -func init() { - t["ArrayOfOvfNetworkMapping"] = reflect.TypeOf((*ArrayOfOvfNetworkMapping)(nil)).Elem() -} - -type ArrayOfOvfOptionInfo struct { - OvfOptionInfo []OvfOptionInfo `xml:"OvfOptionInfo,omitempty"` -} - -func init() { - t["ArrayOfOvfOptionInfo"] = reflect.TypeOf((*ArrayOfOvfOptionInfo)(nil)).Elem() -} - -type ArrayOfOvfResourceMap struct { - OvfResourceMap []OvfResourceMap `xml:"OvfResourceMap,omitempty"` -} - -func init() { - t["ArrayOfOvfResourceMap"] = reflect.TypeOf((*ArrayOfOvfResourceMap)(nil)).Elem() -} - -type ArrayOfPerfCounterInfo struct { - PerfCounterInfo []PerfCounterInfo `xml:"PerfCounterInfo,omitempty"` -} - -func init() { - t["ArrayOfPerfCounterInfo"] = reflect.TypeOf((*ArrayOfPerfCounterInfo)(nil)).Elem() -} - -type ArrayOfPerfEntityMetricBase struct { - PerfEntityMetricBase []BasePerfEntityMetricBase `xml:"PerfEntityMetricBase,omitempty,typeattr"` -} - -func init() { - t["ArrayOfPerfEntityMetricBase"] = reflect.TypeOf((*ArrayOfPerfEntityMetricBase)(nil)).Elem() -} - -type ArrayOfPerfInterval struct { - PerfInterval []PerfInterval `xml:"PerfInterval,omitempty"` -} - -func init() { - t["ArrayOfPerfInterval"] = reflect.TypeOf((*ArrayOfPerfInterval)(nil)).Elem() -} - -type ArrayOfPerfMetricId struct { - PerfMetricId []PerfMetricId `xml:"PerfMetricId,omitempty"` -} - -func init() { - t["ArrayOfPerfMetricId"] = reflect.TypeOf((*ArrayOfPerfMetricId)(nil)).Elem() -} - -type ArrayOfPerfMetricSeries struct { - PerfMetricSeries []BasePerfMetricSeries `xml:"PerfMetricSeries,omitempty,typeattr"` -} - -func init() { - t["ArrayOfPerfMetricSeries"] = reflect.TypeOf((*ArrayOfPerfMetricSeries)(nil)).Elem() -} - -type ArrayOfPerfMetricSeriesCSV struct { - PerfMetricSeriesCSV []PerfMetricSeriesCSV `xml:"PerfMetricSeriesCSV,omitempty"` -} - -func init() { - t["ArrayOfPerfMetricSeriesCSV"] = reflect.TypeOf((*ArrayOfPerfMetricSeriesCSV)(nil)).Elem() -} - -type ArrayOfPerfQuerySpec struct { - PerfQuerySpec []PerfQuerySpec `xml:"PerfQuerySpec,omitempty"` -} - -func init() { - t["ArrayOfPerfQuerySpec"] = reflect.TypeOf((*ArrayOfPerfQuerySpec)(nil)).Elem() -} - -type ArrayOfPerfSampleInfo struct { - PerfSampleInfo []PerfSampleInfo `xml:"PerfSampleInfo,omitempty"` -} - -func init() { - t["ArrayOfPerfSampleInfo"] = reflect.TypeOf((*ArrayOfPerfSampleInfo)(nil)).Elem() -} - -type ArrayOfPerformanceManagerCounterLevelMapping struct { - PerformanceManagerCounterLevelMapping []PerformanceManagerCounterLevelMapping `xml:"PerformanceManagerCounterLevelMapping,omitempty"` -} - -func init() { - t["ArrayOfPerformanceManagerCounterLevelMapping"] = reflect.TypeOf((*ArrayOfPerformanceManagerCounterLevelMapping)(nil)).Elem() -} - -type ArrayOfPermission struct { - Permission []Permission `xml:"Permission,omitempty"` -} - -func init() { - t["ArrayOfPermission"] = reflect.TypeOf((*ArrayOfPermission)(nil)).Elem() -} - -type ArrayOfPermissionProfile struct { - PermissionProfile []PermissionProfile `xml:"PermissionProfile,omitempty"` -} - -func init() { - t["ArrayOfPermissionProfile"] = reflect.TypeOf((*ArrayOfPermissionProfile)(nil)).Elem() -} - -type ArrayOfPhysicalNic struct { - PhysicalNic []PhysicalNic `xml:"PhysicalNic,omitempty"` -} - -func init() { - t["ArrayOfPhysicalNic"] = reflect.TypeOf((*ArrayOfPhysicalNic)(nil)).Elem() -} - -type ArrayOfPhysicalNicConfig struct { - PhysicalNicConfig []PhysicalNicConfig `xml:"PhysicalNicConfig,omitempty"` -} - -func init() { - t["ArrayOfPhysicalNicConfig"] = reflect.TypeOf((*ArrayOfPhysicalNicConfig)(nil)).Elem() -} - -type ArrayOfPhysicalNicHintInfo struct { - PhysicalNicHintInfo []PhysicalNicHintInfo `xml:"PhysicalNicHintInfo,omitempty"` -} - -func init() { - t["ArrayOfPhysicalNicHintInfo"] = reflect.TypeOf((*ArrayOfPhysicalNicHintInfo)(nil)).Elem() -} - -type ArrayOfPhysicalNicIpHint struct { - PhysicalNicIpHint []PhysicalNicIpHint `xml:"PhysicalNicIpHint,omitempty"` -} - -func init() { - t["ArrayOfPhysicalNicIpHint"] = reflect.TypeOf((*ArrayOfPhysicalNicIpHint)(nil)).Elem() -} - -type ArrayOfPhysicalNicLinkInfo struct { - PhysicalNicLinkInfo []PhysicalNicLinkInfo `xml:"PhysicalNicLinkInfo,omitempty"` -} - -func init() { - t["ArrayOfPhysicalNicLinkInfo"] = reflect.TypeOf((*ArrayOfPhysicalNicLinkInfo)(nil)).Elem() -} - -type ArrayOfPhysicalNicNameHint struct { - PhysicalNicNameHint []PhysicalNicNameHint `xml:"PhysicalNicNameHint,omitempty"` -} - -func init() { - t["ArrayOfPhysicalNicNameHint"] = reflect.TypeOf((*ArrayOfPhysicalNicNameHint)(nil)).Elem() -} - -type ArrayOfPhysicalNicProfile struct { - PhysicalNicProfile []PhysicalNicProfile `xml:"PhysicalNicProfile,omitempty"` -} - -func init() { - t["ArrayOfPhysicalNicProfile"] = reflect.TypeOf((*ArrayOfPhysicalNicProfile)(nil)).Elem() -} - -type ArrayOfPlacementAffinityRule struct { - PlacementAffinityRule []PlacementAffinityRule `xml:"PlacementAffinityRule,omitempty"` -} - -func init() { - t["ArrayOfPlacementAffinityRule"] = reflect.TypeOf((*ArrayOfPlacementAffinityRule)(nil)).Elem() -} - -type ArrayOfPlacementSpec struct { - PlacementSpec []PlacementSpec `xml:"PlacementSpec,omitempty"` -} - -func init() { - t["ArrayOfPlacementSpec"] = reflect.TypeOf((*ArrayOfPlacementSpec)(nil)).Elem() -} - -type ArrayOfPnicUplinkProfile struct { - PnicUplinkProfile []PnicUplinkProfile `xml:"PnicUplinkProfile,omitempty"` -} - -func init() { - t["ArrayOfPnicUplinkProfile"] = reflect.TypeOf((*ArrayOfPnicUplinkProfile)(nil)).Elem() -} - -type ArrayOfPodDiskLocator struct { - PodDiskLocator []PodDiskLocator `xml:"PodDiskLocator,omitempty"` -} - -func init() { - t["ArrayOfPodDiskLocator"] = reflect.TypeOf((*ArrayOfPodDiskLocator)(nil)).Elem() -} - -type ArrayOfPolicyOption struct { - PolicyOption []BasePolicyOption `xml:"PolicyOption,omitempty,typeattr"` -} - -func init() { - t["ArrayOfPolicyOption"] = reflect.TypeOf((*ArrayOfPolicyOption)(nil)).Elem() -} - -type ArrayOfPrivilegeAvailability struct { - PrivilegeAvailability []PrivilegeAvailability `xml:"PrivilegeAvailability,omitempty"` -} - -func init() { - t["ArrayOfPrivilegeAvailability"] = reflect.TypeOf((*ArrayOfPrivilegeAvailability)(nil)).Elem() -} - -type ArrayOfProductComponentInfo struct { - ProductComponentInfo []ProductComponentInfo `xml:"ProductComponentInfo,omitempty"` -} - -func init() { - t["ArrayOfProductComponentInfo"] = reflect.TypeOf((*ArrayOfProductComponentInfo)(nil)).Elem() -} - -type ArrayOfProfileApplyProfileProperty struct { - ProfileApplyProfileProperty []ProfileApplyProfileProperty `xml:"ProfileApplyProfileProperty,omitempty"` -} - -func init() { - t["ArrayOfProfileApplyProfileProperty"] = reflect.TypeOf((*ArrayOfProfileApplyProfileProperty)(nil)).Elem() -} - -type ArrayOfProfileDeferredPolicyOptionParameter struct { - ProfileDeferredPolicyOptionParameter []ProfileDeferredPolicyOptionParameter `xml:"ProfileDeferredPolicyOptionParameter,omitempty"` -} - -func init() { - t["ArrayOfProfileDeferredPolicyOptionParameter"] = reflect.TypeOf((*ArrayOfProfileDeferredPolicyOptionParameter)(nil)).Elem() -} - -type ArrayOfProfileDescriptionSection struct { - ProfileDescriptionSection []ProfileDescriptionSection `xml:"ProfileDescriptionSection,omitempty"` -} - -func init() { - t["ArrayOfProfileDescriptionSection"] = reflect.TypeOf((*ArrayOfProfileDescriptionSection)(nil)).Elem() -} - -type ArrayOfProfileExecuteError struct { - ProfileExecuteError []ProfileExecuteError `xml:"ProfileExecuteError,omitempty"` -} - -func init() { - t["ArrayOfProfileExecuteError"] = reflect.TypeOf((*ArrayOfProfileExecuteError)(nil)).Elem() -} - -type ArrayOfProfileExpression struct { - ProfileExpression []BaseProfileExpression `xml:"ProfileExpression,omitempty,typeattr"` -} - -func init() { - t["ArrayOfProfileExpression"] = reflect.TypeOf((*ArrayOfProfileExpression)(nil)).Elem() -} - -type ArrayOfProfileExpressionMetadata struct { - ProfileExpressionMetadata []ProfileExpressionMetadata `xml:"ProfileExpressionMetadata,omitempty"` -} - -func init() { - t["ArrayOfProfileExpressionMetadata"] = reflect.TypeOf((*ArrayOfProfileExpressionMetadata)(nil)).Elem() -} - -type ArrayOfProfileMetadata struct { - ProfileMetadata []ProfileMetadata `xml:"ProfileMetadata,omitempty"` -} - -func init() { - t["ArrayOfProfileMetadata"] = reflect.TypeOf((*ArrayOfProfileMetadata)(nil)).Elem() -} - -type ArrayOfProfileMetadataProfileOperationMessage struct { - ProfileMetadataProfileOperationMessage []ProfileMetadataProfileOperationMessage `xml:"ProfileMetadataProfileOperationMessage,omitempty"` -} - -func init() { - t["ArrayOfProfileMetadataProfileOperationMessage"] = reflect.TypeOf((*ArrayOfProfileMetadataProfileOperationMessage)(nil)).Elem() -} - -type ArrayOfProfileMetadataProfileSortSpec struct { - ProfileMetadataProfileSortSpec []ProfileMetadataProfileSortSpec `xml:"ProfileMetadataProfileSortSpec,omitempty"` -} - -func init() { - t["ArrayOfProfileMetadataProfileSortSpec"] = reflect.TypeOf((*ArrayOfProfileMetadataProfileSortSpec)(nil)).Elem() -} - -type ArrayOfProfileParameterMetadata struct { - ProfileParameterMetadata []ProfileParameterMetadata `xml:"ProfileParameterMetadata,omitempty"` -} - -func init() { - t["ArrayOfProfileParameterMetadata"] = reflect.TypeOf((*ArrayOfProfileParameterMetadata)(nil)).Elem() -} - -type ArrayOfProfileParameterMetadataParameterRelationMetadata struct { - ProfileParameterMetadataParameterRelationMetadata []ProfileParameterMetadataParameterRelationMetadata `xml:"ProfileParameterMetadataParameterRelationMetadata,omitempty"` -} - -func init() { - t["ArrayOfProfileParameterMetadataParameterRelationMetadata"] = reflect.TypeOf((*ArrayOfProfileParameterMetadataParameterRelationMetadata)(nil)).Elem() -} - -type ArrayOfProfilePolicy struct { - ProfilePolicy []ProfilePolicy `xml:"ProfilePolicy,omitempty"` -} - -func init() { - t["ArrayOfProfilePolicy"] = reflect.TypeOf((*ArrayOfProfilePolicy)(nil)).Elem() -} - -type ArrayOfProfilePolicyMetadata struct { - ProfilePolicyMetadata []ProfilePolicyMetadata `xml:"ProfilePolicyMetadata,omitempty"` -} - -func init() { - t["ArrayOfProfilePolicyMetadata"] = reflect.TypeOf((*ArrayOfProfilePolicyMetadata)(nil)).Elem() -} - -type ArrayOfProfilePolicyOptionMetadata struct { - ProfilePolicyOptionMetadata []BaseProfilePolicyOptionMetadata `xml:"ProfilePolicyOptionMetadata,omitempty,typeattr"` -} - -func init() { - t["ArrayOfProfilePolicyOptionMetadata"] = reflect.TypeOf((*ArrayOfProfilePolicyOptionMetadata)(nil)).Elem() -} - -type ArrayOfProfileProfileStructureProperty struct { - ProfileProfileStructureProperty []ProfileProfileStructureProperty `xml:"ProfileProfileStructureProperty,omitempty"` -} - -func init() { - t["ArrayOfProfileProfileStructureProperty"] = reflect.TypeOf((*ArrayOfProfileProfileStructureProperty)(nil)).Elem() -} - -type ArrayOfProfilePropertyPath struct { - ProfilePropertyPath []ProfilePropertyPath `xml:"ProfilePropertyPath,omitempty"` -} - -func init() { - t["ArrayOfProfilePropertyPath"] = reflect.TypeOf((*ArrayOfProfilePropertyPath)(nil)).Elem() -} - -type ArrayOfProfileUpdateFailedUpdateFailure struct { - ProfileUpdateFailedUpdateFailure []ProfileUpdateFailedUpdateFailure `xml:"ProfileUpdateFailedUpdateFailure,omitempty"` -} - -func init() { - t["ArrayOfProfileUpdateFailedUpdateFailure"] = reflect.TypeOf((*ArrayOfProfileUpdateFailedUpdateFailure)(nil)).Elem() -} - -type ArrayOfPropertyChange struct { - PropertyChange []PropertyChange `xml:"PropertyChange,omitempty"` -} - -func init() { - t["ArrayOfPropertyChange"] = reflect.TypeOf((*ArrayOfPropertyChange)(nil)).Elem() -} - -type ArrayOfPropertyFilterSpec struct { - PropertyFilterSpec []PropertyFilterSpec `xml:"PropertyFilterSpec,omitempty"` -} - -func init() { - t["ArrayOfPropertyFilterSpec"] = reflect.TypeOf((*ArrayOfPropertyFilterSpec)(nil)).Elem() -} - -type ArrayOfPropertyFilterUpdate struct { - PropertyFilterUpdate []PropertyFilterUpdate `xml:"PropertyFilterUpdate,omitempty"` -} - -func init() { - t["ArrayOfPropertyFilterUpdate"] = reflect.TypeOf((*ArrayOfPropertyFilterUpdate)(nil)).Elem() -} - -type ArrayOfPropertySpec struct { - PropertySpec []PropertySpec `xml:"PropertySpec,omitempty"` -} - -func init() { - t["ArrayOfPropertySpec"] = reflect.TypeOf((*ArrayOfPropertySpec)(nil)).Elem() -} - -type ArrayOfRelation struct { - Relation []Relation `xml:"Relation,omitempty"` -} - -func init() { - t["ArrayOfRelation"] = reflect.TypeOf((*ArrayOfRelation)(nil)).Elem() -} - -type ArrayOfReplicationInfoDiskSettings struct { - ReplicationInfoDiskSettings []ReplicationInfoDiskSettings `xml:"ReplicationInfoDiskSettings,omitempty"` -} - -func init() { - t["ArrayOfReplicationInfoDiskSettings"] = reflect.TypeOf((*ArrayOfReplicationInfoDiskSettings)(nil)).Elem() -} - -type ArrayOfResourceConfigSpec struct { - ResourceConfigSpec []ResourceConfigSpec `xml:"ResourceConfigSpec,omitempty"` -} - -func init() { - t["ArrayOfResourceConfigSpec"] = reflect.TypeOf((*ArrayOfResourceConfigSpec)(nil)).Elem() -} - -type ArrayOfRetrieveVStorageObjSpec struct { - RetrieveVStorageObjSpec []RetrieveVStorageObjSpec `xml:"RetrieveVStorageObjSpec,omitempty"` -} - -func init() { - t["ArrayOfRetrieveVStorageObjSpec"] = reflect.TypeOf((*ArrayOfRetrieveVStorageObjSpec)(nil)).Elem() -} - -type ArrayOfScheduledTaskDetail struct { - ScheduledTaskDetail []ScheduledTaskDetail `xml:"ScheduledTaskDetail,omitempty"` -} - -func init() { - t["ArrayOfScheduledTaskDetail"] = reflect.TypeOf((*ArrayOfScheduledTaskDetail)(nil)).Elem() -} - -type ArrayOfScsiLun struct { - ScsiLun []BaseScsiLun `xml:"ScsiLun,omitempty,typeattr"` -} - -func init() { - t["ArrayOfScsiLun"] = reflect.TypeOf((*ArrayOfScsiLun)(nil)).Elem() -} - -type ArrayOfScsiLunDescriptor struct { - ScsiLunDescriptor []ScsiLunDescriptor `xml:"ScsiLunDescriptor,omitempty"` -} - -func init() { - t["ArrayOfScsiLunDescriptor"] = reflect.TypeOf((*ArrayOfScsiLunDescriptor)(nil)).Elem() -} - -type ArrayOfScsiLunDurableName struct { - ScsiLunDurableName []ScsiLunDurableName `xml:"ScsiLunDurableName,omitempty"` -} - -func init() { - t["ArrayOfScsiLunDurableName"] = reflect.TypeOf((*ArrayOfScsiLunDurableName)(nil)).Elem() -} - -type ArrayOfSelectionSet struct { - SelectionSet []BaseSelectionSet `xml:"SelectionSet,omitempty,typeattr"` -} - -func init() { - t["ArrayOfSelectionSet"] = reflect.TypeOf((*ArrayOfSelectionSet)(nil)).Elem() -} - -type ArrayOfSelectionSpec struct { - SelectionSpec []BaseSelectionSpec `xml:"SelectionSpec,omitempty,typeattr"` -} - -func init() { - t["ArrayOfSelectionSpec"] = reflect.TypeOf((*ArrayOfSelectionSpec)(nil)).Elem() -} - -type ArrayOfServiceConsolePortGroupProfile struct { - ServiceConsolePortGroupProfile []ServiceConsolePortGroupProfile `xml:"ServiceConsolePortGroupProfile,omitempty"` -} - -func init() { - t["ArrayOfServiceConsolePortGroupProfile"] = reflect.TypeOf((*ArrayOfServiceConsolePortGroupProfile)(nil)).Elem() -} - -type ArrayOfServiceLocator struct { - ServiceLocator []ServiceLocator `xml:"ServiceLocator,omitempty"` -} - -func init() { - t["ArrayOfServiceLocator"] = reflect.TypeOf((*ArrayOfServiceLocator)(nil)).Elem() -} - -type ArrayOfServiceManagerServiceInfo struct { - ServiceManagerServiceInfo []ServiceManagerServiceInfo `xml:"ServiceManagerServiceInfo,omitempty"` -} - -func init() { - t["ArrayOfServiceManagerServiceInfo"] = reflect.TypeOf((*ArrayOfServiceManagerServiceInfo)(nil)).Elem() -} - -type ArrayOfServiceProfile struct { - ServiceProfile []ServiceProfile `xml:"ServiceProfile,omitempty"` -} - -func init() { - t["ArrayOfServiceProfile"] = reflect.TypeOf((*ArrayOfServiceProfile)(nil)).Elem() -} - -type ArrayOfShort struct { - Short []int16 `xml:"short,omitempty"` -} - -func init() { - t["ArrayOfShort"] = reflect.TypeOf((*ArrayOfShort)(nil)).Elem() -} - -type ArrayOfSoftwarePackage struct { - SoftwarePackage []SoftwarePackage `xml:"SoftwarePackage,omitempty"` -} - -func init() { - t["ArrayOfSoftwarePackage"] = reflect.TypeOf((*ArrayOfSoftwarePackage)(nil)).Elem() -} - -type ArrayOfStaticRouteProfile struct { - StaticRouteProfile []StaticRouteProfile `xml:"StaticRouteProfile,omitempty"` -} - -func init() { - t["ArrayOfStaticRouteProfile"] = reflect.TypeOf((*ArrayOfStaticRouteProfile)(nil)).Elem() -} - -type ArrayOfStorageDrsOptionSpec struct { - StorageDrsOptionSpec []StorageDrsOptionSpec `xml:"StorageDrsOptionSpec,omitempty"` -} - -func init() { - t["ArrayOfStorageDrsOptionSpec"] = reflect.TypeOf((*ArrayOfStorageDrsOptionSpec)(nil)).Elem() -} - -type ArrayOfStorageDrsPlacementRankVmSpec struct { - StorageDrsPlacementRankVmSpec []StorageDrsPlacementRankVmSpec `xml:"StorageDrsPlacementRankVmSpec,omitempty"` -} - -func init() { - t["ArrayOfStorageDrsPlacementRankVmSpec"] = reflect.TypeOf((*ArrayOfStorageDrsPlacementRankVmSpec)(nil)).Elem() -} - -type ArrayOfStorageDrsVmConfigInfo struct { - StorageDrsVmConfigInfo []StorageDrsVmConfigInfo `xml:"StorageDrsVmConfigInfo,omitempty"` -} - -func init() { - t["ArrayOfStorageDrsVmConfigInfo"] = reflect.TypeOf((*ArrayOfStorageDrsVmConfigInfo)(nil)).Elem() -} - -type ArrayOfStorageDrsVmConfigSpec struct { - StorageDrsVmConfigSpec []StorageDrsVmConfigSpec `xml:"StorageDrsVmConfigSpec,omitempty"` -} - -func init() { - t["ArrayOfStorageDrsVmConfigSpec"] = reflect.TypeOf((*ArrayOfStorageDrsVmConfigSpec)(nil)).Elem() -} - -type ArrayOfStoragePerformanceSummary struct { - StoragePerformanceSummary []StoragePerformanceSummary `xml:"StoragePerformanceSummary,omitempty"` -} - -func init() { - t["ArrayOfStoragePerformanceSummary"] = reflect.TypeOf((*ArrayOfStoragePerformanceSummary)(nil)).Elem() -} - -type ArrayOfStorageRequirement struct { - StorageRequirement []StorageRequirement `xml:"StorageRequirement,omitempty"` -} - -func init() { - t["ArrayOfStorageRequirement"] = reflect.TypeOf((*ArrayOfStorageRequirement)(nil)).Elem() -} - -type ArrayOfString struct { - String []string `xml:"string,omitempty"` -} - -func init() { - t["ArrayOfString"] = reflect.TypeOf((*ArrayOfString)(nil)).Elem() -} - -type ArrayOfStructuredCustomizations struct { - StructuredCustomizations []StructuredCustomizations `xml:"StructuredCustomizations,omitempty"` -} - -func init() { - t["ArrayOfStructuredCustomizations"] = reflect.TypeOf((*ArrayOfStructuredCustomizations)(nil)).Elem() -} - -type ArrayOfSystemEventInfo struct { - SystemEventInfo []SystemEventInfo `xml:"SystemEventInfo,omitempty"` -} - -func init() { - t["ArrayOfSystemEventInfo"] = reflect.TypeOf((*ArrayOfSystemEventInfo)(nil)).Elem() -} - -type ArrayOfTag struct { - Tag []Tag `xml:"Tag,omitempty"` -} - -func init() { - t["ArrayOfTag"] = reflect.TypeOf((*ArrayOfTag)(nil)).Elem() -} - -type ArrayOfTaskInfo struct { - TaskInfo []TaskInfo `xml:"TaskInfo,omitempty"` -} - -func init() { - t["ArrayOfTaskInfo"] = reflect.TypeOf((*ArrayOfTaskInfo)(nil)).Elem() -} - -type ArrayOfTaskInfoState struct { - TaskInfoState []TaskInfoState `xml:"TaskInfoState,omitempty"` -} - -func init() { - t["ArrayOfTaskInfoState"] = reflect.TypeOf((*ArrayOfTaskInfoState)(nil)).Elem() -} - -type ArrayOfTypeDescription struct { - TypeDescription []BaseTypeDescription `xml:"TypeDescription,omitempty,typeattr"` -} - -func init() { - t["ArrayOfTypeDescription"] = reflect.TypeOf((*ArrayOfTypeDescription)(nil)).Elem() -} - -type ArrayOfUpdateVirtualMachineFilesResultFailedVmFileInfo struct { - UpdateVirtualMachineFilesResultFailedVmFileInfo []UpdateVirtualMachineFilesResultFailedVmFileInfo `xml:"UpdateVirtualMachineFilesResultFailedVmFileInfo,omitempty"` -} - -func init() { - t["ArrayOfUpdateVirtualMachineFilesResultFailedVmFileInfo"] = reflect.TypeOf((*ArrayOfUpdateVirtualMachineFilesResultFailedVmFileInfo)(nil)).Elem() -} - -type ArrayOfUri struct { - Uri []string `xml:"uri,omitempty"` -} - -func init() { - t["ArrayOfUri"] = reflect.TypeOf((*ArrayOfUri)(nil)).Elem() -} - -type ArrayOfUsbScanCodeSpecKeyEvent struct { - UsbScanCodeSpecKeyEvent []UsbScanCodeSpecKeyEvent `xml:"UsbScanCodeSpecKeyEvent,omitempty"` -} - -func init() { - t["ArrayOfUsbScanCodeSpecKeyEvent"] = reflect.TypeOf((*ArrayOfUsbScanCodeSpecKeyEvent)(nil)).Elem() -} - -type ArrayOfUserGroupProfile struct { - UserGroupProfile []UserGroupProfile `xml:"UserGroupProfile,omitempty"` -} - -func init() { - t["ArrayOfUserGroupProfile"] = reflect.TypeOf((*ArrayOfUserGroupProfile)(nil)).Elem() -} - -type ArrayOfUserPrivilegeResult struct { - UserPrivilegeResult []UserPrivilegeResult `xml:"UserPrivilegeResult,omitempty"` -} - -func init() { - t["ArrayOfUserPrivilegeResult"] = reflect.TypeOf((*ArrayOfUserPrivilegeResult)(nil)).Elem() -} - -type ArrayOfUserProfile struct { - UserProfile []UserProfile `xml:"UserProfile,omitempty"` -} - -func init() { - t["ArrayOfUserProfile"] = reflect.TypeOf((*ArrayOfUserProfile)(nil)).Elem() -} - -type ArrayOfUserSearchResult struct { - UserSearchResult []BaseUserSearchResult `xml:"UserSearchResult,omitempty,typeattr"` -} - -func init() { - t["ArrayOfUserSearchResult"] = reflect.TypeOf((*ArrayOfUserSearchResult)(nil)).Elem() -} - -type ArrayOfUserSession struct { - UserSession []UserSession `xml:"UserSession,omitempty"` -} - -func init() { - t["ArrayOfUserSession"] = reflect.TypeOf((*ArrayOfUserSession)(nil)).Elem() -} - -type ArrayOfVASAStorageArray struct { - VASAStorageArray []VASAStorageArray `xml:"VASAStorageArray,omitempty"` -} - -func init() { - t["ArrayOfVASAStorageArray"] = reflect.TypeOf((*ArrayOfVASAStorageArray)(nil)).Elem() -} - -type ArrayOfVASAStorageArrayDiscoverySvcInfo struct { - VASAStorageArrayDiscoverySvcInfo []VASAStorageArrayDiscoverySvcInfo `xml:"VASAStorageArrayDiscoverySvcInfo,omitempty"` -} - -func init() { - t["ArrayOfVASAStorageArrayDiscoverySvcInfo"] = reflect.TypeOf((*ArrayOfVASAStorageArrayDiscoverySvcInfo)(nil)).Elem() -} - -type ArrayOfVAppCloneSpecNetworkMappingPair struct { - VAppCloneSpecNetworkMappingPair []VAppCloneSpecNetworkMappingPair `xml:"VAppCloneSpecNetworkMappingPair,omitempty"` -} - -func init() { - t["ArrayOfVAppCloneSpecNetworkMappingPair"] = reflect.TypeOf((*ArrayOfVAppCloneSpecNetworkMappingPair)(nil)).Elem() -} - -type ArrayOfVAppCloneSpecResourceMap struct { - VAppCloneSpecResourceMap []VAppCloneSpecResourceMap `xml:"VAppCloneSpecResourceMap,omitempty"` -} - -func init() { - t["ArrayOfVAppCloneSpecResourceMap"] = reflect.TypeOf((*ArrayOfVAppCloneSpecResourceMap)(nil)).Elem() -} - -type ArrayOfVAppEntityConfigInfo struct { - VAppEntityConfigInfo []VAppEntityConfigInfo `xml:"VAppEntityConfigInfo,omitempty"` -} - -func init() { - t["ArrayOfVAppEntityConfigInfo"] = reflect.TypeOf((*ArrayOfVAppEntityConfigInfo)(nil)).Elem() -} - -type ArrayOfVAppOvfSectionInfo struct { - VAppOvfSectionInfo []VAppOvfSectionInfo `xml:"VAppOvfSectionInfo,omitempty"` -} - -func init() { - t["ArrayOfVAppOvfSectionInfo"] = reflect.TypeOf((*ArrayOfVAppOvfSectionInfo)(nil)).Elem() -} - -type ArrayOfVAppOvfSectionSpec struct { - VAppOvfSectionSpec []VAppOvfSectionSpec `xml:"VAppOvfSectionSpec,omitempty"` -} - -func init() { - t["ArrayOfVAppOvfSectionSpec"] = reflect.TypeOf((*ArrayOfVAppOvfSectionSpec)(nil)).Elem() -} - -type ArrayOfVAppProductInfo struct { - VAppProductInfo []VAppProductInfo `xml:"VAppProductInfo,omitempty"` -} - -func init() { - t["ArrayOfVAppProductInfo"] = reflect.TypeOf((*ArrayOfVAppProductInfo)(nil)).Elem() -} - -type ArrayOfVAppProductSpec struct { - VAppProductSpec []VAppProductSpec `xml:"VAppProductSpec,omitempty"` -} - -func init() { - t["ArrayOfVAppProductSpec"] = reflect.TypeOf((*ArrayOfVAppProductSpec)(nil)).Elem() -} - -type ArrayOfVAppPropertyInfo struct { - VAppPropertyInfo []VAppPropertyInfo `xml:"VAppPropertyInfo,omitempty"` -} - -func init() { - t["ArrayOfVAppPropertyInfo"] = reflect.TypeOf((*ArrayOfVAppPropertyInfo)(nil)).Elem() -} - -type ArrayOfVAppPropertySpec struct { - VAppPropertySpec []VAppPropertySpec `xml:"VAppPropertySpec,omitempty"` -} - -func init() { - t["ArrayOfVAppPropertySpec"] = reflect.TypeOf((*ArrayOfVAppPropertySpec)(nil)).Elem() -} - -type ArrayOfVMwareDVSPvlanConfigSpec struct { - VMwareDVSPvlanConfigSpec []VMwareDVSPvlanConfigSpec `xml:"VMwareDVSPvlanConfigSpec,omitempty"` -} - -func init() { - t["ArrayOfVMwareDVSPvlanConfigSpec"] = reflect.TypeOf((*ArrayOfVMwareDVSPvlanConfigSpec)(nil)).Elem() -} - -type ArrayOfVMwareDVSPvlanMapEntry struct { - VMwareDVSPvlanMapEntry []VMwareDVSPvlanMapEntry `xml:"VMwareDVSPvlanMapEntry,omitempty"` -} - -func init() { - t["ArrayOfVMwareDVSPvlanMapEntry"] = reflect.TypeOf((*ArrayOfVMwareDVSPvlanMapEntry)(nil)).Elem() -} - -type ArrayOfVMwareDVSVspanConfigSpec struct { - VMwareDVSVspanConfigSpec []VMwareDVSVspanConfigSpec `xml:"VMwareDVSVspanConfigSpec,omitempty"` -} - -func init() { - t["ArrayOfVMwareDVSVspanConfigSpec"] = reflect.TypeOf((*ArrayOfVMwareDVSVspanConfigSpec)(nil)).Elem() -} - -type ArrayOfVMwareDvsLacpGroupConfig struct { - VMwareDvsLacpGroupConfig []VMwareDvsLacpGroupConfig `xml:"VMwareDvsLacpGroupConfig,omitempty"` -} - -func init() { - t["ArrayOfVMwareDvsLacpGroupConfig"] = reflect.TypeOf((*ArrayOfVMwareDvsLacpGroupConfig)(nil)).Elem() -} - -type ArrayOfVMwareDvsLacpGroupSpec struct { - VMwareDvsLacpGroupSpec []VMwareDvsLacpGroupSpec `xml:"VMwareDvsLacpGroupSpec,omitempty"` -} - -func init() { - t["ArrayOfVMwareDvsLacpGroupSpec"] = reflect.TypeOf((*ArrayOfVMwareDvsLacpGroupSpec)(nil)).Elem() -} - -type ArrayOfVMwareVspanSession struct { - VMwareVspanSession []VMwareVspanSession `xml:"VMwareVspanSession,omitempty"` -} - -func init() { - t["ArrayOfVMwareVspanSession"] = reflect.TypeOf((*ArrayOfVMwareVspanSession)(nil)).Elem() -} - -type ArrayOfVStorageObjectAssociations struct { - VStorageObjectAssociations []VStorageObjectAssociations `xml:"VStorageObjectAssociations,omitempty"` -} - -func init() { - t["ArrayOfVStorageObjectAssociations"] = reflect.TypeOf((*ArrayOfVStorageObjectAssociations)(nil)).Elem() -} - -type ArrayOfVStorageObjectAssociationsVmDiskAssociations struct { - VStorageObjectAssociationsVmDiskAssociations []VStorageObjectAssociationsVmDiskAssociations `xml:"VStorageObjectAssociationsVmDiskAssociations,omitempty"` -} - -func init() { - t["ArrayOfVStorageObjectAssociationsVmDiskAssociations"] = reflect.TypeOf((*ArrayOfVStorageObjectAssociationsVmDiskAssociations)(nil)).Elem() -} - -type ArrayOfVStorageObjectSnapshotInfoVStorageObjectSnapshot struct { - VStorageObjectSnapshotInfoVStorageObjectSnapshot []VStorageObjectSnapshotInfoVStorageObjectSnapshot `xml:"VStorageObjectSnapshotInfoVStorageObjectSnapshot,omitempty"` -} - -func init() { - t["ArrayOfVStorageObjectSnapshotInfoVStorageObjectSnapshot"] = reflect.TypeOf((*ArrayOfVStorageObjectSnapshotInfoVStorageObjectSnapshot)(nil)).Elem() -} - -type ArrayOfVVolHostPE struct { - VVolHostPE []VVolHostPE `xml:"VVolHostPE,omitempty"` -} - -func init() { - t["ArrayOfVVolHostPE"] = reflect.TypeOf((*ArrayOfVVolHostPE)(nil)).Elem() -} - -type ArrayOfVVolVmConfigFileUpdateResultFailedVmConfigFileInfo struct { - VVolVmConfigFileUpdateResultFailedVmConfigFileInfo []VVolVmConfigFileUpdateResultFailedVmConfigFileInfo `xml:"VVolVmConfigFileUpdateResultFailedVmConfigFileInfo,omitempty"` -} - -func init() { - t["ArrayOfVVolVmConfigFileUpdateResultFailedVmConfigFileInfo"] = reflect.TypeOf((*ArrayOfVVolVmConfigFileUpdateResultFailedVmConfigFileInfo)(nil)).Elem() -} - -type ArrayOfVchaNodeRuntimeInfo struct { - VchaNodeRuntimeInfo []VchaNodeRuntimeInfo `xml:"VchaNodeRuntimeInfo,omitempty"` -} - -func init() { - t["ArrayOfVchaNodeRuntimeInfo"] = reflect.TypeOf((*ArrayOfVchaNodeRuntimeInfo)(nil)).Elem() -} - -type ArrayOfVimVasaProviderInfo struct { - VimVasaProviderInfo []VimVasaProviderInfo `xml:"VimVasaProviderInfo,omitempty"` -} - -func init() { - t["ArrayOfVimVasaProviderInfo"] = reflect.TypeOf((*ArrayOfVimVasaProviderInfo)(nil)).Elem() -} - -type ArrayOfVimVasaProviderStatePerArray struct { - VimVasaProviderStatePerArray []VimVasaProviderStatePerArray `xml:"VimVasaProviderStatePerArray,omitempty"` -} - -func init() { - t["ArrayOfVimVasaProviderStatePerArray"] = reflect.TypeOf((*ArrayOfVimVasaProviderStatePerArray)(nil)).Elem() -} - -type ArrayOfVirtualAppLinkInfo struct { - VirtualAppLinkInfo []VirtualAppLinkInfo `xml:"VirtualAppLinkInfo,omitempty"` -} - -func init() { - t["ArrayOfVirtualAppLinkInfo"] = reflect.TypeOf((*ArrayOfVirtualAppLinkInfo)(nil)).Elem() -} - -type ArrayOfVirtualDevice struct { - VirtualDevice []BaseVirtualDevice `xml:"VirtualDevice,omitempty,typeattr"` -} - -func init() { - t["ArrayOfVirtualDevice"] = reflect.TypeOf((*ArrayOfVirtualDevice)(nil)).Elem() -} - -type ArrayOfVirtualDeviceBackingOption struct { - VirtualDeviceBackingOption []BaseVirtualDeviceBackingOption `xml:"VirtualDeviceBackingOption,omitempty,typeattr"` -} - -func init() { - t["ArrayOfVirtualDeviceBackingOption"] = reflect.TypeOf((*ArrayOfVirtualDeviceBackingOption)(nil)).Elem() -} - -type ArrayOfVirtualDeviceConfigSpec struct { - VirtualDeviceConfigSpec []BaseVirtualDeviceConfigSpec `xml:"VirtualDeviceConfigSpec,omitempty,typeattr"` -} - -func init() { - t["ArrayOfVirtualDeviceConfigSpec"] = reflect.TypeOf((*ArrayOfVirtualDeviceConfigSpec)(nil)).Elem() -} - -type ArrayOfVirtualDeviceOption struct { - VirtualDeviceOption []BaseVirtualDeviceOption `xml:"VirtualDeviceOption,omitempty,typeattr"` -} - -func init() { - t["ArrayOfVirtualDeviceOption"] = reflect.TypeOf((*ArrayOfVirtualDeviceOption)(nil)).Elem() -} - -type ArrayOfVirtualDisk struct { - VirtualDisk []VirtualDisk `xml:"VirtualDisk,omitempty"` -} - -func init() { - t["ArrayOfVirtualDisk"] = reflect.TypeOf((*ArrayOfVirtualDisk)(nil)).Elem() -} - -type ArrayOfVirtualDiskDeltaDiskFormatsSupported struct { - VirtualDiskDeltaDiskFormatsSupported []VirtualDiskDeltaDiskFormatsSupported `xml:"VirtualDiskDeltaDiskFormatsSupported,omitempty"` -} - -func init() { - t["ArrayOfVirtualDiskDeltaDiskFormatsSupported"] = reflect.TypeOf((*ArrayOfVirtualDiskDeltaDiskFormatsSupported)(nil)).Elem() -} - -type ArrayOfVirtualDiskId struct { - VirtualDiskId []VirtualDiskId `xml:"VirtualDiskId,omitempty"` -} - -func init() { - t["ArrayOfVirtualDiskId"] = reflect.TypeOf((*ArrayOfVirtualDiskId)(nil)).Elem() -} - -type ArrayOfVirtualDiskRuleSpec struct { - VirtualDiskRuleSpec []VirtualDiskRuleSpec `xml:"VirtualDiskRuleSpec,omitempty"` -} - -func init() { - t["ArrayOfVirtualDiskRuleSpec"] = reflect.TypeOf((*ArrayOfVirtualDiskRuleSpec)(nil)).Elem() -} - -type ArrayOfVirtualMachineBaseIndependentFilterSpec struct { - VirtualMachineBaseIndependentFilterSpec []BaseVirtualMachineBaseIndependentFilterSpec `xml:"VirtualMachineBaseIndependentFilterSpec,omitempty,typeattr"` -} - -func init() { - t["ArrayOfVirtualMachineBaseIndependentFilterSpec"] = reflect.TypeOf((*ArrayOfVirtualMachineBaseIndependentFilterSpec)(nil)).Elem() -} - -type ArrayOfVirtualMachineBootOptionsBootableDevice struct { - VirtualMachineBootOptionsBootableDevice []BaseVirtualMachineBootOptionsBootableDevice `xml:"VirtualMachineBootOptionsBootableDevice,omitempty,typeattr"` -} - -func init() { - t["ArrayOfVirtualMachineBootOptionsBootableDevice"] = reflect.TypeOf((*ArrayOfVirtualMachineBootOptionsBootableDevice)(nil)).Elem() -} - -type ArrayOfVirtualMachineCdromInfo struct { - VirtualMachineCdromInfo []VirtualMachineCdromInfo `xml:"VirtualMachineCdromInfo,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachineCdromInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineCdromInfo)(nil)).Elem() -} - -type ArrayOfVirtualMachineCertThumbprint struct { - VirtualMachineCertThumbprint []VirtualMachineCertThumbprint `xml:"VirtualMachineCertThumbprint,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachineCertThumbprint"] = reflect.TypeOf((*ArrayOfVirtualMachineCertThumbprint)(nil)).Elem() -} - -type ArrayOfVirtualMachineConfigInfoDatastoreUrlPair struct { - VirtualMachineConfigInfoDatastoreUrlPair []VirtualMachineConfigInfoDatastoreUrlPair `xml:"VirtualMachineConfigInfoDatastoreUrlPair,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachineConfigInfoDatastoreUrlPair"] = reflect.TypeOf((*ArrayOfVirtualMachineConfigInfoDatastoreUrlPair)(nil)).Elem() -} - -type ArrayOfVirtualMachineConfigOptionDescriptor struct { - VirtualMachineConfigOptionDescriptor []VirtualMachineConfigOptionDescriptor `xml:"VirtualMachineConfigOptionDescriptor,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachineConfigOptionDescriptor"] = reflect.TypeOf((*ArrayOfVirtualMachineConfigOptionDescriptor)(nil)).Elem() -} - -type ArrayOfVirtualMachineConfigSpec struct { - VirtualMachineConfigSpec []VirtualMachineConfigSpec `xml:"VirtualMachineConfigSpec,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachineConfigSpec"] = reflect.TypeOf((*ArrayOfVirtualMachineConfigSpec)(nil)).Elem() -} - -type ArrayOfVirtualMachineConnection struct { - VirtualMachineConnection []BaseVirtualMachineConnection `xml:"VirtualMachineConnection,omitempty,typeattr"` -} - -func init() { - t["ArrayOfVirtualMachineConnection"] = reflect.TypeOf((*ArrayOfVirtualMachineConnection)(nil)).Elem() -} - -type ArrayOfVirtualMachineCpuIdInfoSpec struct { - VirtualMachineCpuIdInfoSpec []VirtualMachineCpuIdInfoSpec `xml:"VirtualMachineCpuIdInfoSpec,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachineCpuIdInfoSpec"] = reflect.TypeOf((*ArrayOfVirtualMachineCpuIdInfoSpec)(nil)).Elem() -} - -type ArrayOfVirtualMachineDatastoreInfo struct { - VirtualMachineDatastoreInfo []VirtualMachineDatastoreInfo `xml:"VirtualMachineDatastoreInfo,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachineDatastoreInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineDatastoreInfo)(nil)).Elem() -} - -type ArrayOfVirtualMachineDatastoreVolumeOption struct { - VirtualMachineDatastoreVolumeOption []VirtualMachineDatastoreVolumeOption `xml:"VirtualMachineDatastoreVolumeOption,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachineDatastoreVolumeOption"] = reflect.TypeOf((*ArrayOfVirtualMachineDatastoreVolumeOption)(nil)).Elem() -} - -type ArrayOfVirtualMachineDeviceRuntimeInfo struct { - VirtualMachineDeviceRuntimeInfo []VirtualMachineDeviceRuntimeInfo `xml:"VirtualMachineDeviceRuntimeInfo,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachineDeviceRuntimeInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineDeviceRuntimeInfo)(nil)).Elem() -} - -type ArrayOfVirtualMachineDisplayTopology struct { - VirtualMachineDisplayTopology []VirtualMachineDisplayTopology `xml:"VirtualMachineDisplayTopology,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachineDisplayTopology"] = reflect.TypeOf((*ArrayOfVirtualMachineDisplayTopology)(nil)).Elem() -} - -type ArrayOfVirtualMachineDvxClassInfo struct { - VirtualMachineDvxClassInfo []VirtualMachineDvxClassInfo `xml:"VirtualMachineDvxClassInfo,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachineDvxClassInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineDvxClassInfo)(nil)).Elem() -} - -type ArrayOfVirtualMachineDynamicPassthroughInfo struct { - VirtualMachineDynamicPassthroughInfo []VirtualMachineDynamicPassthroughInfo `xml:"VirtualMachineDynamicPassthroughInfo,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachineDynamicPassthroughInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineDynamicPassthroughInfo)(nil)).Elem() -} - -type ArrayOfVirtualMachineFeatureRequirement struct { - VirtualMachineFeatureRequirement []VirtualMachineFeatureRequirement `xml:"VirtualMachineFeatureRequirement,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachineFeatureRequirement"] = reflect.TypeOf((*ArrayOfVirtualMachineFeatureRequirement)(nil)).Elem() -} - -type ArrayOfVirtualMachineFileLayoutDiskLayout struct { - VirtualMachineFileLayoutDiskLayout []VirtualMachineFileLayoutDiskLayout `xml:"VirtualMachineFileLayoutDiskLayout,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachineFileLayoutDiskLayout"] = reflect.TypeOf((*ArrayOfVirtualMachineFileLayoutDiskLayout)(nil)).Elem() -} - -type ArrayOfVirtualMachineFileLayoutExDiskLayout struct { - VirtualMachineFileLayoutExDiskLayout []VirtualMachineFileLayoutExDiskLayout `xml:"VirtualMachineFileLayoutExDiskLayout,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachineFileLayoutExDiskLayout"] = reflect.TypeOf((*ArrayOfVirtualMachineFileLayoutExDiskLayout)(nil)).Elem() -} - -type ArrayOfVirtualMachineFileLayoutExDiskUnit struct { - VirtualMachineFileLayoutExDiskUnit []VirtualMachineFileLayoutExDiskUnit `xml:"VirtualMachineFileLayoutExDiskUnit,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachineFileLayoutExDiskUnit"] = reflect.TypeOf((*ArrayOfVirtualMachineFileLayoutExDiskUnit)(nil)).Elem() -} - -type ArrayOfVirtualMachineFileLayoutExFileInfo struct { - VirtualMachineFileLayoutExFileInfo []VirtualMachineFileLayoutExFileInfo `xml:"VirtualMachineFileLayoutExFileInfo,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachineFileLayoutExFileInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineFileLayoutExFileInfo)(nil)).Elem() -} - -type ArrayOfVirtualMachineFileLayoutExSnapshotLayout struct { - VirtualMachineFileLayoutExSnapshotLayout []VirtualMachineFileLayoutExSnapshotLayout `xml:"VirtualMachineFileLayoutExSnapshotLayout,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachineFileLayoutExSnapshotLayout"] = reflect.TypeOf((*ArrayOfVirtualMachineFileLayoutExSnapshotLayout)(nil)).Elem() -} - -type ArrayOfVirtualMachineFileLayoutSnapshotLayout struct { - VirtualMachineFileLayoutSnapshotLayout []VirtualMachineFileLayoutSnapshotLayout `xml:"VirtualMachineFileLayoutSnapshotLayout,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachineFileLayoutSnapshotLayout"] = reflect.TypeOf((*ArrayOfVirtualMachineFileLayoutSnapshotLayout)(nil)).Elem() -} - -type ArrayOfVirtualMachineFloppyInfo struct { - VirtualMachineFloppyInfo []VirtualMachineFloppyInfo `xml:"VirtualMachineFloppyInfo,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachineFloppyInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineFloppyInfo)(nil)).Elem() -} - -type ArrayOfVirtualMachineIdeDiskDeviceInfo struct { - VirtualMachineIdeDiskDeviceInfo []VirtualMachineIdeDiskDeviceInfo `xml:"VirtualMachineIdeDiskDeviceInfo,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachineIdeDiskDeviceInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineIdeDiskDeviceInfo)(nil)).Elem() -} - -type ArrayOfVirtualMachineIdeDiskDevicePartitionInfo struct { - VirtualMachineIdeDiskDevicePartitionInfo []VirtualMachineIdeDiskDevicePartitionInfo `xml:"VirtualMachineIdeDiskDevicePartitionInfo,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachineIdeDiskDevicePartitionInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineIdeDiskDevicePartitionInfo)(nil)).Elem() -} - -type ArrayOfVirtualMachineLegacyNetworkSwitchInfo struct { - VirtualMachineLegacyNetworkSwitchInfo []VirtualMachineLegacyNetworkSwitchInfo `xml:"VirtualMachineLegacyNetworkSwitchInfo,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachineLegacyNetworkSwitchInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineLegacyNetworkSwitchInfo)(nil)).Elem() -} - -type ArrayOfVirtualMachineMessage struct { - VirtualMachineMessage []VirtualMachineMessage `xml:"VirtualMachineMessage,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachineMessage"] = reflect.TypeOf((*ArrayOfVirtualMachineMessage)(nil)).Elem() -} - -type ArrayOfVirtualMachineMetadataManagerVmMetadataInput struct { - VirtualMachineMetadataManagerVmMetadataInput []VirtualMachineMetadataManagerVmMetadataInput `xml:"VirtualMachineMetadataManagerVmMetadataInput,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachineMetadataManagerVmMetadataInput"] = reflect.TypeOf((*ArrayOfVirtualMachineMetadataManagerVmMetadataInput)(nil)).Elem() -} - -type ArrayOfVirtualMachineMetadataManagerVmMetadataResult struct { - VirtualMachineMetadataManagerVmMetadataResult []VirtualMachineMetadataManagerVmMetadataResult `xml:"VirtualMachineMetadataManagerVmMetadataResult,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachineMetadataManagerVmMetadataResult"] = reflect.TypeOf((*ArrayOfVirtualMachineMetadataManagerVmMetadataResult)(nil)).Elem() -} - -type ArrayOfVirtualMachineNetworkInfo struct { - VirtualMachineNetworkInfo []VirtualMachineNetworkInfo `xml:"VirtualMachineNetworkInfo,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachineNetworkInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineNetworkInfo)(nil)).Elem() -} - -type ArrayOfVirtualMachineParallelInfo struct { - VirtualMachineParallelInfo []VirtualMachineParallelInfo `xml:"VirtualMachineParallelInfo,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachineParallelInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineParallelInfo)(nil)).Elem() -} - -type ArrayOfVirtualMachinePciPassthroughInfo struct { - VirtualMachinePciPassthroughInfo []BaseVirtualMachinePciPassthroughInfo `xml:"VirtualMachinePciPassthroughInfo,omitempty,typeattr"` -} - -func init() { - t["ArrayOfVirtualMachinePciPassthroughInfo"] = reflect.TypeOf((*ArrayOfVirtualMachinePciPassthroughInfo)(nil)).Elem() -} - -type ArrayOfVirtualMachinePciSharedGpuPassthroughInfo struct { - VirtualMachinePciSharedGpuPassthroughInfo []VirtualMachinePciSharedGpuPassthroughInfo `xml:"VirtualMachinePciSharedGpuPassthroughInfo,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachinePciSharedGpuPassthroughInfo"] = reflect.TypeOf((*ArrayOfVirtualMachinePciSharedGpuPassthroughInfo)(nil)).Elem() -} - -type ArrayOfVirtualMachinePrecisionClockInfo struct { - VirtualMachinePrecisionClockInfo []VirtualMachinePrecisionClockInfo `xml:"VirtualMachinePrecisionClockInfo,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachinePrecisionClockInfo"] = reflect.TypeOf((*ArrayOfVirtualMachinePrecisionClockInfo)(nil)).Elem() -} - -type ArrayOfVirtualMachineProfileDetailsDiskProfileDetails struct { - VirtualMachineProfileDetailsDiskProfileDetails []VirtualMachineProfileDetailsDiskProfileDetails `xml:"VirtualMachineProfileDetailsDiskProfileDetails,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachineProfileDetailsDiskProfileDetails"] = reflect.TypeOf((*ArrayOfVirtualMachineProfileDetailsDiskProfileDetails)(nil)).Elem() -} - -type ArrayOfVirtualMachineProfileSpec struct { - VirtualMachineProfileSpec []BaseVirtualMachineProfileSpec `xml:"VirtualMachineProfileSpec,omitempty,typeattr"` -} - -func init() { - t["ArrayOfVirtualMachineProfileSpec"] = reflect.TypeOf((*ArrayOfVirtualMachineProfileSpec)(nil)).Elem() -} - -type ArrayOfVirtualMachinePropertyRelation struct { - VirtualMachinePropertyRelation []VirtualMachinePropertyRelation `xml:"VirtualMachinePropertyRelation,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachinePropertyRelation"] = reflect.TypeOf((*ArrayOfVirtualMachinePropertyRelation)(nil)).Elem() -} - -type ArrayOfVirtualMachineQuickStatsMemoryTierStats struct { - VirtualMachineQuickStatsMemoryTierStats []VirtualMachineQuickStatsMemoryTierStats `xml:"VirtualMachineQuickStatsMemoryTierStats,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachineQuickStatsMemoryTierStats"] = reflect.TypeOf((*ArrayOfVirtualMachineQuickStatsMemoryTierStats)(nil)).Elem() -} - -type ArrayOfVirtualMachineRelocateSpecDiskLocator struct { - VirtualMachineRelocateSpecDiskLocator []VirtualMachineRelocateSpecDiskLocator `xml:"VirtualMachineRelocateSpecDiskLocator,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachineRelocateSpecDiskLocator"] = reflect.TypeOf((*ArrayOfVirtualMachineRelocateSpecDiskLocator)(nil)).Elem() -} - -type ArrayOfVirtualMachineScsiDiskDeviceInfo struct { - VirtualMachineScsiDiskDeviceInfo []VirtualMachineScsiDiskDeviceInfo `xml:"VirtualMachineScsiDiskDeviceInfo,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachineScsiDiskDeviceInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineScsiDiskDeviceInfo)(nil)).Elem() -} - -type ArrayOfVirtualMachineScsiPassthroughInfo struct { - VirtualMachineScsiPassthroughInfo []VirtualMachineScsiPassthroughInfo `xml:"VirtualMachineScsiPassthroughInfo,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachineScsiPassthroughInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineScsiPassthroughInfo)(nil)).Elem() -} - -type ArrayOfVirtualMachineSerialInfo struct { - VirtualMachineSerialInfo []VirtualMachineSerialInfo `xml:"VirtualMachineSerialInfo,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachineSerialInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineSerialInfo)(nil)).Elem() -} - -type ArrayOfVirtualMachineSnapshotTree struct { - VirtualMachineSnapshotTree []VirtualMachineSnapshotTree `xml:"VirtualMachineSnapshotTree,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachineSnapshotTree"] = reflect.TypeOf((*ArrayOfVirtualMachineSnapshotTree)(nil)).Elem() -} - -type ArrayOfVirtualMachineSoundInfo struct { - VirtualMachineSoundInfo []VirtualMachineSoundInfo `xml:"VirtualMachineSoundInfo,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachineSoundInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineSoundInfo)(nil)).Elem() -} - -type ArrayOfVirtualMachineSriovInfo struct { - VirtualMachineSriovInfo []VirtualMachineSriovInfo `xml:"VirtualMachineSriovInfo,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachineSriovInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineSriovInfo)(nil)).Elem() -} - -type ArrayOfVirtualMachineSummary struct { - VirtualMachineSummary []VirtualMachineSummary `xml:"VirtualMachineSummary,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachineSummary"] = reflect.TypeOf((*ArrayOfVirtualMachineSummary)(nil)).Elem() -} - -type ArrayOfVirtualMachineUsageOnDatastore struct { - VirtualMachineUsageOnDatastore []VirtualMachineUsageOnDatastore `xml:"VirtualMachineUsageOnDatastore,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachineUsageOnDatastore"] = reflect.TypeOf((*ArrayOfVirtualMachineUsageOnDatastore)(nil)).Elem() -} - -type ArrayOfVirtualMachineUsbInfo struct { - VirtualMachineUsbInfo []VirtualMachineUsbInfo `xml:"VirtualMachineUsbInfo,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachineUsbInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineUsbInfo)(nil)).Elem() -} - -type ArrayOfVirtualMachineVFlashModuleInfo struct { - VirtualMachineVFlashModuleInfo []VirtualMachineVFlashModuleInfo `xml:"VirtualMachineVFlashModuleInfo,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachineVFlashModuleInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineVFlashModuleInfo)(nil)).Elem() -} - -type ArrayOfVirtualMachineVMCIDeviceFilterSpec struct { - VirtualMachineVMCIDeviceFilterSpec []VirtualMachineVMCIDeviceFilterSpec `xml:"VirtualMachineVMCIDeviceFilterSpec,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachineVMCIDeviceFilterSpec"] = reflect.TypeOf((*ArrayOfVirtualMachineVMCIDeviceFilterSpec)(nil)).Elem() -} - -type ArrayOfVirtualMachineVcpuConfig struct { - VirtualMachineVcpuConfig []VirtualMachineVcpuConfig `xml:"VirtualMachineVcpuConfig,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachineVcpuConfig"] = reflect.TypeOf((*ArrayOfVirtualMachineVcpuConfig)(nil)).Elem() -} - -type ArrayOfVirtualMachineVendorDeviceGroupInfo struct { - VirtualMachineVendorDeviceGroupInfo []VirtualMachineVendorDeviceGroupInfo `xml:"VirtualMachineVendorDeviceGroupInfo,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachineVendorDeviceGroupInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineVendorDeviceGroupInfo)(nil)).Elem() -} - -type ArrayOfVirtualMachineVendorDeviceGroupInfoComponentDeviceInfo struct { - VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo []VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo `xml:"VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachineVendorDeviceGroupInfoComponentDeviceInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineVendorDeviceGroupInfoComponentDeviceInfo)(nil)).Elem() -} - -type ArrayOfVirtualMachineVgpuDeviceInfo struct { - VirtualMachineVgpuDeviceInfo []VirtualMachineVgpuDeviceInfo `xml:"VirtualMachineVgpuDeviceInfo,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachineVgpuDeviceInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineVgpuDeviceInfo)(nil)).Elem() -} - -type ArrayOfVirtualMachineVgpuProfileInfo struct { - VirtualMachineVgpuProfileInfo []VirtualMachineVgpuProfileInfo `xml:"VirtualMachineVgpuProfileInfo,omitempty"` -} - -func init() { - t["ArrayOfVirtualMachineVgpuProfileInfo"] = reflect.TypeOf((*ArrayOfVirtualMachineVgpuProfileInfo)(nil)).Elem() -} - -type ArrayOfVirtualMachineVirtualDeviceGroupsDeviceGroup struct { - VirtualMachineVirtualDeviceGroupsDeviceGroup []BaseVirtualMachineVirtualDeviceGroupsDeviceGroup `xml:"VirtualMachineVirtualDeviceGroupsDeviceGroup,omitempty,typeattr"` -} - -func init() { - t["ArrayOfVirtualMachineVirtualDeviceGroupsDeviceGroup"] = reflect.TypeOf((*ArrayOfVirtualMachineVirtualDeviceGroupsDeviceGroup)(nil)).Elem() -} - -type ArrayOfVirtualNicManagerNetConfig struct { - VirtualNicManagerNetConfig []VirtualNicManagerNetConfig `xml:"VirtualNicManagerNetConfig,omitempty"` -} - -func init() { - t["ArrayOfVirtualNicManagerNetConfig"] = reflect.TypeOf((*ArrayOfVirtualNicManagerNetConfig)(nil)).Elem() -} - -type ArrayOfVirtualPCIPassthroughAllowedDevice struct { - VirtualPCIPassthroughAllowedDevice []VirtualPCIPassthroughAllowedDevice `xml:"VirtualPCIPassthroughAllowedDevice,omitempty"` -} - -func init() { - t["ArrayOfVirtualPCIPassthroughAllowedDevice"] = reflect.TypeOf((*ArrayOfVirtualPCIPassthroughAllowedDevice)(nil)).Elem() -} - -type ArrayOfVirtualSCSISharing struct { - VirtualSCSISharing []VirtualSCSISharing `xml:"VirtualSCSISharing,omitempty"` -} - -func init() { - t["ArrayOfVirtualSCSISharing"] = reflect.TypeOf((*ArrayOfVirtualSCSISharing)(nil)).Elem() -} - -type ArrayOfVirtualSwitchProfile struct { - VirtualSwitchProfile []VirtualSwitchProfile `xml:"VirtualSwitchProfile,omitempty"` -} - -func init() { - t["ArrayOfVirtualSwitchProfile"] = reflect.TypeOf((*ArrayOfVirtualSwitchProfile)(nil)).Elem() -} - -type ArrayOfVmEventArgument struct { - VmEventArgument []VmEventArgument `xml:"VmEventArgument,omitempty"` -} - -func init() { - t["ArrayOfVmEventArgument"] = reflect.TypeOf((*ArrayOfVmEventArgument)(nil)).Elem() -} - -type ArrayOfVmPodConfigForPlacement struct { - VmPodConfigForPlacement []VmPodConfigForPlacement `xml:"VmPodConfigForPlacement,omitempty"` -} - -func init() { - t["ArrayOfVmPodConfigForPlacement"] = reflect.TypeOf((*ArrayOfVmPodConfigForPlacement)(nil)).Elem() -} - -type ArrayOfVmPortGroupProfile struct { - VmPortGroupProfile []VmPortGroupProfile `xml:"VmPortGroupProfile,omitempty"` -} - -func init() { - t["ArrayOfVmPortGroupProfile"] = reflect.TypeOf((*ArrayOfVmPortGroupProfile)(nil)).Elem() -} - -type ArrayOfVmfsConfigOption struct { - VmfsConfigOption []VmfsConfigOption `xml:"VmfsConfigOption,omitempty"` -} - -func init() { - t["ArrayOfVmfsConfigOption"] = reflect.TypeOf((*ArrayOfVmfsConfigOption)(nil)).Elem() -} - -type ArrayOfVmfsDatastoreOption struct { - VmfsDatastoreOption []VmfsDatastoreOption `xml:"VmfsDatastoreOption,omitempty"` -} - -func init() { - t["ArrayOfVmfsDatastoreOption"] = reflect.TypeOf((*ArrayOfVmfsDatastoreOption)(nil)).Elem() -} - -type ArrayOfVnicPortArgument struct { - VnicPortArgument []VnicPortArgument `xml:"VnicPortArgument,omitempty"` -} - -func init() { - t["ArrayOfVnicPortArgument"] = reflect.TypeOf((*ArrayOfVnicPortArgument)(nil)).Elem() -} - -type ArrayOfVsanHostConfigInfo struct { - VsanHostConfigInfo []VsanHostConfigInfo `xml:"VsanHostConfigInfo,omitempty"` -} - -func init() { - t["ArrayOfVsanHostConfigInfo"] = reflect.TypeOf((*ArrayOfVsanHostConfigInfo)(nil)).Elem() -} - -type ArrayOfVsanHostConfigInfoNetworkInfoPortConfig struct { - VsanHostConfigInfoNetworkInfoPortConfig []VsanHostConfigInfoNetworkInfoPortConfig `xml:"VsanHostConfigInfoNetworkInfoPortConfig,omitempty"` -} - -func init() { - t["ArrayOfVsanHostConfigInfoNetworkInfoPortConfig"] = reflect.TypeOf((*ArrayOfVsanHostConfigInfoNetworkInfoPortConfig)(nil)).Elem() -} - -type ArrayOfVsanHostDiskMapInfo struct { - VsanHostDiskMapInfo []VsanHostDiskMapInfo `xml:"VsanHostDiskMapInfo,omitempty"` -} - -func init() { - t["ArrayOfVsanHostDiskMapInfo"] = reflect.TypeOf((*ArrayOfVsanHostDiskMapInfo)(nil)).Elem() -} - -type ArrayOfVsanHostDiskMapResult struct { - VsanHostDiskMapResult []VsanHostDiskMapResult `xml:"VsanHostDiskMapResult,omitempty"` -} - -func init() { - t["ArrayOfVsanHostDiskMapResult"] = reflect.TypeOf((*ArrayOfVsanHostDiskMapResult)(nil)).Elem() -} - -type ArrayOfVsanHostDiskMapping struct { - VsanHostDiskMapping []VsanHostDiskMapping `xml:"VsanHostDiskMapping,omitempty"` -} - -func init() { - t["ArrayOfVsanHostDiskMapping"] = reflect.TypeOf((*ArrayOfVsanHostDiskMapping)(nil)).Elem() -} - -type ArrayOfVsanHostDiskResult struct { - VsanHostDiskResult []VsanHostDiskResult `xml:"VsanHostDiskResult,omitempty"` -} - -func init() { - t["ArrayOfVsanHostDiskResult"] = reflect.TypeOf((*ArrayOfVsanHostDiskResult)(nil)).Elem() -} - -type ArrayOfVsanHostMembershipInfo struct { - VsanHostMembershipInfo []VsanHostMembershipInfo `xml:"VsanHostMembershipInfo,omitempty"` -} - -func init() { - t["ArrayOfVsanHostMembershipInfo"] = reflect.TypeOf((*ArrayOfVsanHostMembershipInfo)(nil)).Elem() -} - -type ArrayOfVsanHostRuntimeInfoDiskIssue struct { - VsanHostRuntimeInfoDiskIssue []VsanHostRuntimeInfoDiskIssue `xml:"VsanHostRuntimeInfoDiskIssue,omitempty"` -} - -func init() { - t["ArrayOfVsanHostRuntimeInfoDiskIssue"] = reflect.TypeOf((*ArrayOfVsanHostRuntimeInfoDiskIssue)(nil)).Elem() -} - -type ArrayOfVsanNewPolicyBatch struct { - VsanNewPolicyBatch []VsanNewPolicyBatch `xml:"VsanNewPolicyBatch,omitempty"` -} - -func init() { - t["ArrayOfVsanNewPolicyBatch"] = reflect.TypeOf((*ArrayOfVsanNewPolicyBatch)(nil)).Elem() -} - -type ArrayOfVsanPolicyChangeBatch struct { - VsanPolicyChangeBatch []VsanPolicyChangeBatch `xml:"VsanPolicyChangeBatch,omitempty"` -} - -func init() { - t["ArrayOfVsanPolicyChangeBatch"] = reflect.TypeOf((*ArrayOfVsanPolicyChangeBatch)(nil)).Elem() -} - -type ArrayOfVsanPolicySatisfiability struct { - VsanPolicySatisfiability []VsanPolicySatisfiability `xml:"VsanPolicySatisfiability,omitempty"` -} - -func init() { - t["ArrayOfVsanPolicySatisfiability"] = reflect.TypeOf((*ArrayOfVsanPolicySatisfiability)(nil)).Elem() -} - -type ArrayOfVsanUpgradeSystemNetworkPartitionInfo struct { - VsanUpgradeSystemNetworkPartitionInfo []VsanUpgradeSystemNetworkPartitionInfo `xml:"VsanUpgradeSystemNetworkPartitionInfo,omitempty"` -} - -func init() { - t["ArrayOfVsanUpgradeSystemNetworkPartitionInfo"] = reflect.TypeOf((*ArrayOfVsanUpgradeSystemNetworkPartitionInfo)(nil)).Elem() -} - -type ArrayOfVsanUpgradeSystemPreflightCheckIssue struct { - VsanUpgradeSystemPreflightCheckIssue []BaseVsanUpgradeSystemPreflightCheckIssue `xml:"VsanUpgradeSystemPreflightCheckIssue,omitempty,typeattr"` -} - -func init() { - t["ArrayOfVsanUpgradeSystemPreflightCheckIssue"] = reflect.TypeOf((*ArrayOfVsanUpgradeSystemPreflightCheckIssue)(nil)).Elem() -} - -type ArrayOfVsanUpgradeSystemUpgradeHistoryItem struct { - VsanUpgradeSystemUpgradeHistoryItem []BaseVsanUpgradeSystemUpgradeHistoryItem `xml:"VsanUpgradeSystemUpgradeHistoryItem,omitempty,typeattr"` -} - -func init() { - t["ArrayOfVsanUpgradeSystemUpgradeHistoryItem"] = reflect.TypeOf((*ArrayOfVsanUpgradeSystemUpgradeHistoryItem)(nil)).Elem() -} - -type ArrayOfVslmTagEntry struct { - VslmTagEntry []VslmTagEntry `xml:"VslmTagEntry,omitempty"` -} - -func init() { - t["ArrayOfVslmTagEntry"] = reflect.TypeOf((*ArrayOfVslmTagEntry)(nil)).Elem() -} - -type ArrayOfVslmInfrastructureObjectPolicy struct { - VslmInfrastructureObjectPolicy []VslmInfrastructureObjectPolicy `xml:"vslmInfrastructureObjectPolicy,omitempty"` -} - -func init() { - t["ArrayOfvslmInfrastructureObjectPolicy"] = reflect.TypeOf((*ArrayOfVslmInfrastructureObjectPolicy)(nil)).Elem() -} - -type ArrayUpdateSpec struct { - DynamicData - - Operation ArrayUpdateOperation `xml:"operation"` - RemoveKey AnyType `xml:"removeKey,omitempty,typeattr"` -} - -func init() { - t["ArrayUpdateSpec"] = reflect.TypeOf((*ArrayUpdateSpec)(nil)).Elem() -} - -type AssignUserToGroup AssignUserToGroupRequestType - -func init() { - t["AssignUserToGroup"] = reflect.TypeOf((*AssignUserToGroup)(nil)).Elem() -} - -type AssignUserToGroupRequestType struct { - This ManagedObjectReference `xml:"_this"` - User string `xml:"user"` - Group string `xml:"group"` -} - -func init() { - t["AssignUserToGroupRequestType"] = reflect.TypeOf((*AssignUserToGroupRequestType)(nil)).Elem() -} - -type AssignUserToGroupResponse struct { -} - -type AssociateProfile AssociateProfileRequestType - -func init() { - t["AssociateProfile"] = reflect.TypeOf((*AssociateProfile)(nil)).Elem() -} - -type AssociateProfileRequestType struct { - This ManagedObjectReference `xml:"_this"` - Entity []ManagedObjectReference `xml:"entity"` -} - -func init() { - t["AssociateProfileRequestType"] = reflect.TypeOf((*AssociateProfileRequestType)(nil)).Elem() -} - -type AssociateProfileResponse struct { -} - -type AttachDiskRequestType struct { - This ManagedObjectReference `xml:"_this"` - DiskId ID `xml:"diskId"` - Datastore ManagedObjectReference `xml:"datastore"` - ControllerKey int32 `xml:"controllerKey,omitempty"` - UnitNumber *int32 `xml:"unitNumber"` -} - -func init() { - t["AttachDiskRequestType"] = reflect.TypeOf((*AttachDiskRequestType)(nil)).Elem() -} - -type AttachDisk_Task AttachDiskRequestType - -func init() { - t["AttachDisk_Task"] = reflect.TypeOf((*AttachDisk_Task)(nil)).Elem() -} - -type AttachDisk_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type AttachScsiLun AttachScsiLunRequestType - -func init() { - t["AttachScsiLun"] = reflect.TypeOf((*AttachScsiLun)(nil)).Elem() -} - -type AttachScsiLunExRequestType struct { - This ManagedObjectReference `xml:"_this"` - LunUuid []string `xml:"lunUuid"` -} - -func init() { - t["AttachScsiLunExRequestType"] = reflect.TypeOf((*AttachScsiLunExRequestType)(nil)).Elem() -} - -type AttachScsiLunEx_Task AttachScsiLunExRequestType - -func init() { - t["AttachScsiLunEx_Task"] = reflect.TypeOf((*AttachScsiLunEx_Task)(nil)).Elem() -} - -type AttachScsiLunEx_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type AttachScsiLunRequestType struct { - This ManagedObjectReference `xml:"_this"` - LunUuid string `xml:"lunUuid"` -} - -func init() { - t["AttachScsiLunRequestType"] = reflect.TypeOf((*AttachScsiLunRequestType)(nil)).Elem() -} - -type AttachScsiLunResponse struct { -} - -type AttachTagToVStorageObject AttachTagToVStorageObjectRequestType - -func init() { - t["AttachTagToVStorageObject"] = reflect.TypeOf((*AttachTagToVStorageObject)(nil)).Elem() -} - -type AttachTagToVStorageObjectRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id ID `xml:"id"` - Category string `xml:"category"` - Tag string `xml:"tag"` -} - -func init() { - t["AttachTagToVStorageObjectRequestType"] = reflect.TypeOf((*AttachTagToVStorageObjectRequestType)(nil)).Elem() -} - -type AttachTagToVStorageObjectResponse struct { -} - -type AttachVmfsExtent AttachVmfsExtentRequestType - -func init() { - t["AttachVmfsExtent"] = reflect.TypeOf((*AttachVmfsExtent)(nil)).Elem() -} - -type AttachVmfsExtentRequestType struct { - This ManagedObjectReference `xml:"_this"` - VmfsPath string `xml:"vmfsPath"` - Extent HostScsiDiskPartition `xml:"extent"` -} - -func init() { - t["AttachVmfsExtentRequestType"] = reflect.TypeOf((*AttachVmfsExtentRequestType)(nil)).Elem() -} - -type AttachVmfsExtentResponse struct { -} - -type AuthMinimumAdminPermission struct { - VimFault -} - -func init() { - t["AuthMinimumAdminPermission"] = reflect.TypeOf((*AuthMinimumAdminPermission)(nil)).Elem() -} - -type AuthMinimumAdminPermissionFault AuthMinimumAdminPermission - -func init() { - t["AuthMinimumAdminPermissionFault"] = reflect.TypeOf((*AuthMinimumAdminPermissionFault)(nil)).Elem() -} - -type AuthenticationProfile struct { - ApplyProfile - - ActiveDirectory *ActiveDirectoryProfile `xml:"activeDirectory,omitempty"` -} - -func init() { - t["AuthenticationProfile"] = reflect.TypeOf((*AuthenticationProfile)(nil)).Elem() -} - -type AuthorizationDescription struct { - DynamicData - - Privilege []BaseElementDescription `xml:"privilege,typeattr"` - PrivilegeGroup []BaseElementDescription `xml:"privilegeGroup,typeattr"` -} - -func init() { - t["AuthorizationDescription"] = reflect.TypeOf((*AuthorizationDescription)(nil)).Elem() -} - -type AuthorizationEvent struct { - Event -} - -func init() { - t["AuthorizationEvent"] = reflect.TypeOf((*AuthorizationEvent)(nil)).Elem() -} - -type AuthorizationPrivilege struct { - DynamicData - - PrivId string `xml:"privId"` - OnParent bool `xml:"onParent"` - Name string `xml:"name"` - PrivGroupName string `xml:"privGroupName"` -} - -func init() { - t["AuthorizationPrivilege"] = reflect.TypeOf((*AuthorizationPrivilege)(nil)).Elem() -} - -type AuthorizationRole struct { - DynamicData - - RoleId int32 `xml:"roleId"` - System bool `xml:"system"` - Name string `xml:"name"` - Info BaseDescription `xml:"info,typeattr"` - Privilege []string `xml:"privilege,omitempty"` -} - -func init() { - t["AuthorizationRole"] = reflect.TypeOf((*AuthorizationRole)(nil)).Elem() -} - -type AutoStartDefaults struct { - DynamicData - - Enabled *bool `xml:"enabled"` - StartDelay int32 `xml:"startDelay,omitempty"` - StopDelay int32 `xml:"stopDelay,omitempty"` - WaitForHeartbeat *bool `xml:"waitForHeartbeat"` - StopAction string `xml:"stopAction,omitempty"` -} - -func init() { - t["AutoStartDefaults"] = reflect.TypeOf((*AutoStartDefaults)(nil)).Elem() -} - -type AutoStartPowerInfo struct { - DynamicData - - Key ManagedObjectReference `xml:"key"` - StartOrder int32 `xml:"startOrder"` - StartDelay int32 `xml:"startDelay"` - WaitForHeartbeat AutoStartWaitHeartbeatSetting `xml:"waitForHeartbeat"` - StartAction string `xml:"startAction"` - StopDelay int32 `xml:"stopDelay"` - StopAction string `xml:"stopAction"` -} - -func init() { - t["AutoStartPowerInfo"] = reflect.TypeOf((*AutoStartPowerInfo)(nil)).Elem() -} - -type AutoStartPowerOff AutoStartPowerOffRequestType - -func init() { - t["AutoStartPowerOff"] = reflect.TypeOf((*AutoStartPowerOff)(nil)).Elem() -} - -type AutoStartPowerOffRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["AutoStartPowerOffRequestType"] = reflect.TypeOf((*AutoStartPowerOffRequestType)(nil)).Elem() -} - -type AutoStartPowerOffResponse struct { -} - -type AutoStartPowerOn AutoStartPowerOnRequestType - -func init() { - t["AutoStartPowerOn"] = reflect.TypeOf((*AutoStartPowerOn)(nil)).Elem() -} - -type AutoStartPowerOnRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["AutoStartPowerOnRequestType"] = reflect.TypeOf((*AutoStartPowerOnRequestType)(nil)).Elem() -} - -type AutoStartPowerOnResponse struct { -} - -type BackupBlobReadFailure struct { - DvsFault - - EntityName string `xml:"entityName"` - EntityType string `xml:"entityType"` - Fault LocalizedMethodFault `xml:"fault"` -} - -func init() { - t["BackupBlobReadFailure"] = reflect.TypeOf((*BackupBlobReadFailure)(nil)).Elem() -} - -type BackupBlobReadFailureFault BackupBlobReadFailure - -func init() { - t["BackupBlobReadFailureFault"] = reflect.TypeOf((*BackupBlobReadFailureFault)(nil)).Elem() -} - -type BackupBlobWriteFailure struct { - DvsFault - - EntityName string `xml:"entityName"` - EntityType string `xml:"entityType"` - Fault LocalizedMethodFault `xml:"fault"` -} - -func init() { - t["BackupBlobWriteFailure"] = reflect.TypeOf((*BackupBlobWriteFailure)(nil)).Elem() -} - -type BackupBlobWriteFailureFault BackupBlobWriteFailure - -func init() { - t["BackupBlobWriteFailureFault"] = reflect.TypeOf((*BackupBlobWriteFailureFault)(nil)).Elem() -} - -type BackupFirmwareConfiguration BackupFirmwareConfigurationRequestType - -func init() { - t["BackupFirmwareConfiguration"] = reflect.TypeOf((*BackupFirmwareConfiguration)(nil)).Elem() -} - -type BackupFirmwareConfigurationRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["BackupFirmwareConfigurationRequestType"] = reflect.TypeOf((*BackupFirmwareConfigurationRequestType)(nil)).Elem() -} - -type BackupFirmwareConfigurationResponse struct { - Returnval string `xml:"returnval"` -} - -type BadUsernameSessionEvent struct { - SessionEvent - - IpAddress string `xml:"ipAddress"` -} - -func init() { - t["BadUsernameSessionEvent"] = reflect.TypeOf((*BadUsernameSessionEvent)(nil)).Elem() -} - -type BaseConfigInfo struct { - DynamicData - - Id ID `xml:"id"` - Name string `xml:"name"` - CreateTime time.Time `xml:"createTime"` - KeepAfterDeleteVm *bool `xml:"keepAfterDeleteVm"` - RelocationDisabled *bool `xml:"relocationDisabled"` - NativeSnapshotSupported *bool `xml:"nativeSnapshotSupported"` - ChangedBlockTrackingEnabled *bool `xml:"changedBlockTrackingEnabled"` - Backing BaseBaseConfigInfoBackingInfo `xml:"backing,typeattr"` - Metadata []KeyValue `xml:"metadata,omitempty"` - Vclock *VslmVClockInfo `xml:"vclock,omitempty"` - Iofilter []string `xml:"iofilter,omitempty"` -} - -func init() { - t["BaseConfigInfo"] = reflect.TypeOf((*BaseConfigInfo)(nil)).Elem() -} - -type BaseConfigInfoBackingInfo struct { - DynamicData - - Datastore ManagedObjectReference `xml:"datastore"` -} - -func init() { - t["BaseConfigInfoBackingInfo"] = reflect.TypeOf((*BaseConfigInfoBackingInfo)(nil)).Elem() -} - -type BaseConfigInfoDiskFileBackingInfo struct { - BaseConfigInfoFileBackingInfo - - ProvisioningType string `xml:"provisioningType"` -} - -func init() { - t["BaseConfigInfoDiskFileBackingInfo"] = reflect.TypeOf((*BaseConfigInfoDiskFileBackingInfo)(nil)).Elem() -} - -type BaseConfigInfoFileBackingInfo struct { - BaseConfigInfoBackingInfo - - FilePath string `xml:"filePath"` - BackingObjectId string `xml:"backingObjectId,omitempty"` - Parent BaseBaseConfigInfoFileBackingInfo `xml:"parent,omitempty,typeattr"` - DeltaSizeInMB int64 `xml:"deltaSizeInMB,omitempty"` - KeyId *CryptoKeyId `xml:"keyId,omitempty"` -} - -func init() { - t["BaseConfigInfoFileBackingInfo"] = reflect.TypeOf((*BaseConfigInfoFileBackingInfo)(nil)).Elem() -} - -type BaseConfigInfoRawDiskMappingBackingInfo struct { - BaseConfigInfoFileBackingInfo - - LunUuid string `xml:"lunUuid"` - CompatibilityMode string `xml:"compatibilityMode"` -} - -func init() { - t["BaseConfigInfoRawDiskMappingBackingInfo"] = reflect.TypeOf((*BaseConfigInfoRawDiskMappingBackingInfo)(nil)).Elem() -} - -type BatchAddHostsToClusterRequestType struct { - This ManagedObjectReference `xml:"_this"` - Cluster ManagedObjectReference `xml:"cluster"` - NewHosts []FolderNewHostSpec `xml:"newHosts,omitempty"` - ExistingHosts []ManagedObjectReference `xml:"existingHosts,omitempty"` - CompResSpec BaseComputeResourceConfigSpec `xml:"compResSpec,omitempty,typeattr"` - DesiredState string `xml:"desiredState,omitempty"` -} - -func init() { - t["BatchAddHostsToClusterRequestType"] = reflect.TypeOf((*BatchAddHostsToClusterRequestType)(nil)).Elem() -} - -type BatchAddHostsToCluster_Task BatchAddHostsToClusterRequestType - -func init() { - t["BatchAddHostsToCluster_Task"] = reflect.TypeOf((*BatchAddHostsToCluster_Task)(nil)).Elem() -} - -type BatchAddHostsToCluster_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type BatchAddStandaloneHostsRequestType struct { - This ManagedObjectReference `xml:"_this"` - NewHosts []FolderNewHostSpec `xml:"newHosts,omitempty"` - CompResSpec BaseComputeResourceConfigSpec `xml:"compResSpec,omitempty,typeattr"` - AddConnected bool `xml:"addConnected"` -} - -func init() { - t["BatchAddStandaloneHostsRequestType"] = reflect.TypeOf((*BatchAddStandaloneHostsRequestType)(nil)).Elem() -} - -type BatchAddStandaloneHosts_Task BatchAddStandaloneHostsRequestType - -func init() { - t["BatchAddStandaloneHosts_Task"] = reflect.TypeOf((*BatchAddStandaloneHosts_Task)(nil)).Elem() -} - -type BatchAddStandaloneHosts_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type BatchQueryConnectInfo BatchQueryConnectInfoRequestType - -func init() { - t["BatchQueryConnectInfo"] = reflect.TypeOf((*BatchQueryConnectInfo)(nil)).Elem() -} - -type BatchQueryConnectInfoRequestType struct { - This ManagedObjectReference `xml:"_this"` - HostSpecs []HostConnectSpec `xml:"hostSpecs,omitempty"` -} - -func init() { - t["BatchQueryConnectInfoRequestType"] = reflect.TypeOf((*BatchQueryConnectInfoRequestType)(nil)).Elem() -} - -type BatchQueryConnectInfoResponse struct { - Returnval []DatacenterBasicConnectInfo `xml:"returnval,omitempty"` -} - -type BatchResult struct { - DynamicData - - Result string `xml:"result"` - HostKey string `xml:"hostKey"` - Ds *ManagedObjectReference `xml:"ds,omitempty"` - Fault *LocalizedMethodFault `xml:"fault,omitempty"` -} - -func init() { - t["BatchResult"] = reflect.TypeOf((*BatchResult)(nil)).Elem() -} - -type BindVnic BindVnicRequestType - -func init() { - t["BindVnic"] = reflect.TypeOf((*BindVnic)(nil)).Elem() -} - -type BindVnicRequestType struct { - This ManagedObjectReference `xml:"_this"` - IScsiHbaName string `xml:"iScsiHbaName"` - VnicDevice string `xml:"vnicDevice"` -} - -func init() { - t["BindVnicRequestType"] = reflect.TypeOf((*BindVnicRequestType)(nil)).Elem() -} - -type BindVnicResponse struct { -} - -type BlockedByFirewall struct { - HostConfigFault -} - -func init() { - t["BlockedByFirewall"] = reflect.TypeOf((*BlockedByFirewall)(nil)).Elem() -} - -type BlockedByFirewallFault BlockedByFirewall - -func init() { - t["BlockedByFirewallFault"] = reflect.TypeOf((*BlockedByFirewallFault)(nil)).Elem() -} - -type BoolOption struct { - OptionType - - Supported bool `xml:"supported"` - DefaultValue bool `xml:"defaultValue"` -} - -func init() { - t["BoolOption"] = reflect.TypeOf((*BoolOption)(nil)).Elem() -} - -type BoolPolicy struct { - InheritablePolicy - - Value *bool `xml:"value"` -} - -func init() { - t["BoolPolicy"] = reflect.TypeOf((*BoolPolicy)(nil)).Elem() -} - -type BrowseDiagnosticLog BrowseDiagnosticLogRequestType - -func init() { - t["BrowseDiagnosticLog"] = reflect.TypeOf((*BrowseDiagnosticLog)(nil)).Elem() -} - -type BrowseDiagnosticLogRequestType struct { - This ManagedObjectReference `xml:"_this"` - Host *ManagedObjectReference `xml:"host,omitempty"` - Key string `xml:"key"` - Start int32 `xml:"start,omitempty"` - Lines int32 `xml:"lines,omitempty"` -} - -func init() { - t["BrowseDiagnosticLogRequestType"] = reflect.TypeOf((*BrowseDiagnosticLogRequestType)(nil)).Elem() -} - -type BrowseDiagnosticLogResponse struct { - Returnval DiagnosticManagerLogHeader `xml:"returnval"` -} - -type CAMServerRefusedConnection struct { - InvalidCAMServer -} - -func init() { - t["CAMServerRefusedConnection"] = reflect.TypeOf((*CAMServerRefusedConnection)(nil)).Elem() -} - -type CAMServerRefusedConnectionFault CAMServerRefusedConnection - -func init() { - t["CAMServerRefusedConnectionFault"] = reflect.TypeOf((*CAMServerRefusedConnectionFault)(nil)).Elem() -} - -type CanProvisionObjects CanProvisionObjectsRequestType - -func init() { - t["CanProvisionObjects"] = reflect.TypeOf((*CanProvisionObjects)(nil)).Elem() -} - -type CanProvisionObjectsRequestType struct { - This ManagedObjectReference `xml:"_this"` - Npbs []VsanNewPolicyBatch `xml:"npbs"` - IgnoreSatisfiability *bool `xml:"ignoreSatisfiability"` -} - -func init() { - t["CanProvisionObjectsRequestType"] = reflect.TypeOf((*CanProvisionObjectsRequestType)(nil)).Elem() -} - -type CanProvisionObjectsResponse struct { - Returnval []VsanPolicySatisfiability `xml:"returnval"` -} - -type CancelRecommendation CancelRecommendationRequestType - -func init() { - t["CancelRecommendation"] = reflect.TypeOf((*CancelRecommendation)(nil)).Elem() -} - -type CancelRecommendationRequestType struct { - This ManagedObjectReference `xml:"_this"` - Key string `xml:"key"` -} - -func init() { - t["CancelRecommendationRequestType"] = reflect.TypeOf((*CancelRecommendationRequestType)(nil)).Elem() -} - -type CancelRecommendationResponse struct { -} - -type CancelRetrievePropertiesEx CancelRetrievePropertiesExRequestType - -func init() { - t["CancelRetrievePropertiesEx"] = reflect.TypeOf((*CancelRetrievePropertiesEx)(nil)).Elem() -} - -type CancelRetrievePropertiesExRequestType struct { - This ManagedObjectReference `xml:"_this"` - Token string `xml:"token"` -} - -func init() { - t["CancelRetrievePropertiesExRequestType"] = reflect.TypeOf((*CancelRetrievePropertiesExRequestType)(nil)).Elem() -} - -type CancelRetrievePropertiesExResponse struct { -} - -type CancelStorageDrsRecommendation CancelStorageDrsRecommendationRequestType - -func init() { - t["CancelStorageDrsRecommendation"] = reflect.TypeOf((*CancelStorageDrsRecommendation)(nil)).Elem() -} - -type CancelStorageDrsRecommendationRequestType struct { - This ManagedObjectReference `xml:"_this"` - Key []string `xml:"key"` -} - -func init() { - t["CancelStorageDrsRecommendationRequestType"] = reflect.TypeOf((*CancelStorageDrsRecommendationRequestType)(nil)).Elem() -} - -type CancelStorageDrsRecommendationResponse struct { -} - -type CancelTask CancelTaskRequestType - -func init() { - t["CancelTask"] = reflect.TypeOf((*CancelTask)(nil)).Elem() -} - -type CancelTaskRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["CancelTaskRequestType"] = reflect.TypeOf((*CancelTaskRequestType)(nil)).Elem() -} - -type CancelTaskResponse struct { -} - -type CancelWaitForUpdates CancelWaitForUpdatesRequestType - -func init() { - t["CancelWaitForUpdates"] = reflect.TypeOf((*CancelWaitForUpdates)(nil)).Elem() -} - -type CancelWaitForUpdatesRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["CancelWaitForUpdatesRequestType"] = reflect.TypeOf((*CancelWaitForUpdatesRequestType)(nil)).Elem() -} - -type CancelWaitForUpdatesResponse struct { -} - -type CanceledHostOperationEvent struct { - HostEvent -} - -func init() { - t["CanceledHostOperationEvent"] = reflect.TypeOf((*CanceledHostOperationEvent)(nil)).Elem() -} - -type CannotAccessFile struct { - FileFault -} - -func init() { - t["CannotAccessFile"] = reflect.TypeOf((*CannotAccessFile)(nil)).Elem() -} - -type CannotAccessFileFault CannotAccessFile - -func init() { - t["CannotAccessFileFault"] = reflect.TypeOf((*CannotAccessFileFault)(nil)).Elem() -} - -type CannotAccessLocalSource struct { - VimFault -} - -func init() { - t["CannotAccessLocalSource"] = reflect.TypeOf((*CannotAccessLocalSource)(nil)).Elem() -} - -type CannotAccessLocalSourceFault CannotAccessLocalSource - -func init() { - t["CannotAccessLocalSourceFault"] = reflect.TypeOf((*CannotAccessLocalSourceFault)(nil)).Elem() -} - -type CannotAccessNetwork struct { - CannotAccessVmDevice - - Network *ManagedObjectReference `xml:"network,omitempty"` -} - -func init() { - t["CannotAccessNetwork"] = reflect.TypeOf((*CannotAccessNetwork)(nil)).Elem() -} - -type CannotAccessNetworkFault BaseCannotAccessNetwork - -func init() { - t["CannotAccessNetworkFault"] = reflect.TypeOf((*CannotAccessNetworkFault)(nil)).Elem() -} - -type CannotAccessVmComponent struct { - VmConfigFault -} - -func init() { - t["CannotAccessVmComponent"] = reflect.TypeOf((*CannotAccessVmComponent)(nil)).Elem() -} - -type CannotAccessVmComponentFault BaseCannotAccessVmComponent - -func init() { - t["CannotAccessVmComponentFault"] = reflect.TypeOf((*CannotAccessVmComponentFault)(nil)).Elem() -} - -type CannotAccessVmConfig struct { - CannotAccessVmComponent - - Reason LocalizedMethodFault `xml:"reason"` -} - -func init() { - t["CannotAccessVmConfig"] = reflect.TypeOf((*CannotAccessVmConfig)(nil)).Elem() -} - -type CannotAccessVmConfigFault CannotAccessVmConfig - -func init() { - t["CannotAccessVmConfigFault"] = reflect.TypeOf((*CannotAccessVmConfigFault)(nil)).Elem() -} - -type CannotAccessVmDevice struct { - CannotAccessVmComponent - - Device string `xml:"device"` - Backing string `xml:"backing"` - Connected bool `xml:"connected"` -} - -func init() { - t["CannotAccessVmDevice"] = reflect.TypeOf((*CannotAccessVmDevice)(nil)).Elem() -} - -type CannotAccessVmDeviceFault BaseCannotAccessVmDevice - -func init() { - t["CannotAccessVmDeviceFault"] = reflect.TypeOf((*CannotAccessVmDeviceFault)(nil)).Elem() -} - -type CannotAccessVmDisk struct { - CannotAccessVmDevice - - Fault LocalizedMethodFault `xml:"fault"` -} - -func init() { - t["CannotAccessVmDisk"] = reflect.TypeOf((*CannotAccessVmDisk)(nil)).Elem() -} - -type CannotAccessVmDiskFault BaseCannotAccessVmDisk - -func init() { - t["CannotAccessVmDiskFault"] = reflect.TypeOf((*CannotAccessVmDiskFault)(nil)).Elem() -} - -type CannotAddHostWithFTVmAsStandalone struct { - HostConnectFault -} - -func init() { - t["CannotAddHostWithFTVmAsStandalone"] = reflect.TypeOf((*CannotAddHostWithFTVmAsStandalone)(nil)).Elem() -} - -type CannotAddHostWithFTVmAsStandaloneFault CannotAddHostWithFTVmAsStandalone - -func init() { - t["CannotAddHostWithFTVmAsStandaloneFault"] = reflect.TypeOf((*CannotAddHostWithFTVmAsStandaloneFault)(nil)).Elem() -} - -type CannotAddHostWithFTVmToDifferentCluster struct { - HostConnectFault -} - -func init() { - t["CannotAddHostWithFTVmToDifferentCluster"] = reflect.TypeOf((*CannotAddHostWithFTVmToDifferentCluster)(nil)).Elem() -} - -type CannotAddHostWithFTVmToDifferentClusterFault CannotAddHostWithFTVmToDifferentCluster - -func init() { - t["CannotAddHostWithFTVmToDifferentClusterFault"] = reflect.TypeOf((*CannotAddHostWithFTVmToDifferentClusterFault)(nil)).Elem() -} - -type CannotAddHostWithFTVmToNonHACluster struct { - HostConnectFault -} - -func init() { - t["CannotAddHostWithFTVmToNonHACluster"] = reflect.TypeOf((*CannotAddHostWithFTVmToNonHACluster)(nil)).Elem() -} - -type CannotAddHostWithFTVmToNonHAClusterFault CannotAddHostWithFTVmToNonHACluster - -func init() { - t["CannotAddHostWithFTVmToNonHAClusterFault"] = reflect.TypeOf((*CannotAddHostWithFTVmToNonHAClusterFault)(nil)).Elem() -} - -type CannotChangeDrsBehaviorForFtSecondary struct { - VmFaultToleranceIssue - - Vm ManagedObjectReference `xml:"vm"` - VmName string `xml:"vmName"` -} - -func init() { - t["CannotChangeDrsBehaviorForFtSecondary"] = reflect.TypeOf((*CannotChangeDrsBehaviorForFtSecondary)(nil)).Elem() -} - -type CannotChangeDrsBehaviorForFtSecondaryFault CannotChangeDrsBehaviorForFtSecondary - -func init() { - t["CannotChangeDrsBehaviorForFtSecondaryFault"] = reflect.TypeOf((*CannotChangeDrsBehaviorForFtSecondaryFault)(nil)).Elem() -} - -type CannotChangeHaSettingsForFtSecondary struct { - VmFaultToleranceIssue - - Vm ManagedObjectReference `xml:"vm"` - VmName string `xml:"vmName"` -} - -func init() { - t["CannotChangeHaSettingsForFtSecondary"] = reflect.TypeOf((*CannotChangeHaSettingsForFtSecondary)(nil)).Elem() -} - -type CannotChangeHaSettingsForFtSecondaryFault CannotChangeHaSettingsForFtSecondary - -func init() { - t["CannotChangeHaSettingsForFtSecondaryFault"] = reflect.TypeOf((*CannotChangeHaSettingsForFtSecondaryFault)(nil)).Elem() -} - -type CannotChangeVsanClusterUuid struct { - VsanFault -} - -func init() { - t["CannotChangeVsanClusterUuid"] = reflect.TypeOf((*CannotChangeVsanClusterUuid)(nil)).Elem() -} - -type CannotChangeVsanClusterUuidFault CannotChangeVsanClusterUuid - -func init() { - t["CannotChangeVsanClusterUuidFault"] = reflect.TypeOf((*CannotChangeVsanClusterUuidFault)(nil)).Elem() -} - -type CannotChangeVsanNodeUuid struct { - VsanFault -} - -func init() { - t["CannotChangeVsanNodeUuid"] = reflect.TypeOf((*CannotChangeVsanNodeUuid)(nil)).Elem() -} - -type CannotChangeVsanNodeUuidFault CannotChangeVsanNodeUuid - -func init() { - t["CannotChangeVsanNodeUuidFault"] = reflect.TypeOf((*CannotChangeVsanNodeUuidFault)(nil)).Elem() -} - -type CannotComputeFTCompatibleHosts struct { - VmFaultToleranceIssue - - Vm ManagedObjectReference `xml:"vm"` - VmName string `xml:"vmName"` -} - -func init() { - t["CannotComputeFTCompatibleHosts"] = reflect.TypeOf((*CannotComputeFTCompatibleHosts)(nil)).Elem() -} - -type CannotComputeFTCompatibleHostsFault CannotComputeFTCompatibleHosts - -func init() { - t["CannotComputeFTCompatibleHostsFault"] = reflect.TypeOf((*CannotComputeFTCompatibleHostsFault)(nil)).Elem() -} - -type CannotCreateFile struct { - FileFault -} - -func init() { - t["CannotCreateFile"] = reflect.TypeOf((*CannotCreateFile)(nil)).Elem() -} - -type CannotCreateFileFault CannotCreateFile - -func init() { - t["CannotCreateFileFault"] = reflect.TypeOf((*CannotCreateFileFault)(nil)).Elem() -} - -type CannotDecryptPasswords struct { - CustomizationFault -} - -func init() { - t["CannotDecryptPasswords"] = reflect.TypeOf((*CannotDecryptPasswords)(nil)).Elem() -} - -type CannotDecryptPasswordsFault CannotDecryptPasswords - -func init() { - t["CannotDecryptPasswordsFault"] = reflect.TypeOf((*CannotDecryptPasswordsFault)(nil)).Elem() -} - -type CannotDeleteFile struct { - FileFault -} - -func init() { - t["CannotDeleteFile"] = reflect.TypeOf((*CannotDeleteFile)(nil)).Elem() -} - -type CannotDeleteFileFault CannotDeleteFile - -func init() { - t["CannotDeleteFileFault"] = reflect.TypeOf((*CannotDeleteFileFault)(nil)).Elem() -} - -type CannotDisableDrsOnClustersWithVApps struct { - RuntimeFault -} - -func init() { - t["CannotDisableDrsOnClustersWithVApps"] = reflect.TypeOf((*CannotDisableDrsOnClustersWithVApps)(nil)).Elem() -} - -type CannotDisableDrsOnClustersWithVAppsFault CannotDisableDrsOnClustersWithVApps - -func init() { - t["CannotDisableDrsOnClustersWithVAppsFault"] = reflect.TypeOf((*CannotDisableDrsOnClustersWithVAppsFault)(nil)).Elem() -} - -type CannotDisableSnapshot struct { - VmConfigFault -} - -func init() { - t["CannotDisableSnapshot"] = reflect.TypeOf((*CannotDisableSnapshot)(nil)).Elem() -} - -type CannotDisableSnapshotFault CannotDisableSnapshot - -func init() { - t["CannotDisableSnapshotFault"] = reflect.TypeOf((*CannotDisableSnapshotFault)(nil)).Elem() -} - -type CannotDisconnectHostWithFaultToleranceVm struct { - VimFault - - HostName string `xml:"hostName"` -} - -func init() { - t["CannotDisconnectHostWithFaultToleranceVm"] = reflect.TypeOf((*CannotDisconnectHostWithFaultToleranceVm)(nil)).Elem() -} - -type CannotDisconnectHostWithFaultToleranceVmFault CannotDisconnectHostWithFaultToleranceVm - -func init() { - t["CannotDisconnectHostWithFaultToleranceVmFault"] = reflect.TypeOf((*CannotDisconnectHostWithFaultToleranceVmFault)(nil)).Elem() -} - -type CannotEnableVmcpForCluster struct { - VimFault - - Host *ManagedObjectReference `xml:"host,omitempty"` - HostName string `xml:"hostName,omitempty"` - Reason string `xml:"reason,omitempty"` -} - -func init() { - t["CannotEnableVmcpForCluster"] = reflect.TypeOf((*CannotEnableVmcpForCluster)(nil)).Elem() -} - -type CannotEnableVmcpForClusterFault CannotEnableVmcpForCluster - -func init() { - t["CannotEnableVmcpForClusterFault"] = reflect.TypeOf((*CannotEnableVmcpForClusterFault)(nil)).Elem() -} - -type CannotModifyConfigCpuRequirements struct { - MigrationFault -} - -func init() { - t["CannotModifyConfigCpuRequirements"] = reflect.TypeOf((*CannotModifyConfigCpuRequirements)(nil)).Elem() -} - -type CannotModifyConfigCpuRequirementsFault CannotModifyConfigCpuRequirements - -func init() { - t["CannotModifyConfigCpuRequirementsFault"] = reflect.TypeOf((*CannotModifyConfigCpuRequirementsFault)(nil)).Elem() -} - -type CannotMoveFaultToleranceVm struct { - VimFault - - MoveType string `xml:"moveType"` - VmName string `xml:"vmName"` -} - -func init() { - t["CannotMoveFaultToleranceVm"] = reflect.TypeOf((*CannotMoveFaultToleranceVm)(nil)).Elem() -} - -type CannotMoveFaultToleranceVmFault CannotMoveFaultToleranceVm - -func init() { - t["CannotMoveFaultToleranceVmFault"] = reflect.TypeOf((*CannotMoveFaultToleranceVmFault)(nil)).Elem() -} - -type CannotMoveHostWithFaultToleranceVm struct { - VimFault -} - -func init() { - t["CannotMoveHostWithFaultToleranceVm"] = reflect.TypeOf((*CannotMoveHostWithFaultToleranceVm)(nil)).Elem() -} - -type CannotMoveHostWithFaultToleranceVmFault CannotMoveHostWithFaultToleranceVm - -func init() { - t["CannotMoveHostWithFaultToleranceVmFault"] = reflect.TypeOf((*CannotMoveHostWithFaultToleranceVmFault)(nil)).Elem() -} - -type CannotMoveVmWithDeltaDisk struct { - MigrationFault - - Device string `xml:"device"` -} - -func init() { - t["CannotMoveVmWithDeltaDisk"] = reflect.TypeOf((*CannotMoveVmWithDeltaDisk)(nil)).Elem() -} - -type CannotMoveVmWithDeltaDiskFault CannotMoveVmWithDeltaDisk - -func init() { - t["CannotMoveVmWithDeltaDiskFault"] = reflect.TypeOf((*CannotMoveVmWithDeltaDiskFault)(nil)).Elem() -} - -type CannotMoveVmWithNativeDeltaDisk struct { - MigrationFault -} - -func init() { - t["CannotMoveVmWithNativeDeltaDisk"] = reflect.TypeOf((*CannotMoveVmWithNativeDeltaDisk)(nil)).Elem() -} - -type CannotMoveVmWithNativeDeltaDiskFault CannotMoveVmWithNativeDeltaDisk - -func init() { - t["CannotMoveVmWithNativeDeltaDiskFault"] = reflect.TypeOf((*CannotMoveVmWithNativeDeltaDiskFault)(nil)).Elem() -} - -type CannotMoveVsanEnabledHost struct { - VsanFault -} - -func init() { - t["CannotMoveVsanEnabledHost"] = reflect.TypeOf((*CannotMoveVsanEnabledHost)(nil)).Elem() -} - -type CannotMoveVsanEnabledHostFault BaseCannotMoveVsanEnabledHost - -func init() { - t["CannotMoveVsanEnabledHostFault"] = reflect.TypeOf((*CannotMoveVsanEnabledHostFault)(nil)).Elem() -} - -type CannotPlaceWithoutPrerequisiteMoves struct { - VimFault -} - -func init() { - t["CannotPlaceWithoutPrerequisiteMoves"] = reflect.TypeOf((*CannotPlaceWithoutPrerequisiteMoves)(nil)).Elem() -} - -type CannotPlaceWithoutPrerequisiteMovesFault CannotPlaceWithoutPrerequisiteMoves - -func init() { - t["CannotPlaceWithoutPrerequisiteMovesFault"] = reflect.TypeOf((*CannotPlaceWithoutPrerequisiteMovesFault)(nil)).Elem() -} - -type CannotPowerOffVmInCluster struct { - InvalidState - - Operation string `xml:"operation"` - Vm ManagedObjectReference `xml:"vm"` - VmName string `xml:"vmName"` -} - -func init() { - t["CannotPowerOffVmInCluster"] = reflect.TypeOf((*CannotPowerOffVmInCluster)(nil)).Elem() -} - -type CannotPowerOffVmInClusterFault CannotPowerOffVmInCluster - -func init() { - t["CannotPowerOffVmInClusterFault"] = reflect.TypeOf((*CannotPowerOffVmInClusterFault)(nil)).Elem() -} - -type CannotReconfigureVsanWhenHaEnabled struct { - VsanFault -} - -func init() { - t["CannotReconfigureVsanWhenHaEnabled"] = reflect.TypeOf((*CannotReconfigureVsanWhenHaEnabled)(nil)).Elem() -} - -type CannotReconfigureVsanWhenHaEnabledFault CannotReconfigureVsanWhenHaEnabled - -func init() { - t["CannotReconfigureVsanWhenHaEnabledFault"] = reflect.TypeOf((*CannotReconfigureVsanWhenHaEnabledFault)(nil)).Elem() -} - -type CannotUseNetwork struct { - VmConfigFault - - Device string `xml:"device"` - Backing string `xml:"backing"` - Connected bool `xml:"connected"` - Reason string `xml:"reason"` - Network *ManagedObjectReference `xml:"network,omitempty"` -} - -func init() { - t["CannotUseNetwork"] = reflect.TypeOf((*CannotUseNetwork)(nil)).Elem() -} - -type CannotUseNetworkFault CannotUseNetwork - -func init() { - t["CannotUseNetworkFault"] = reflect.TypeOf((*CannotUseNetworkFault)(nil)).Elem() -} - -type Capability struct { - DynamicData - - ProvisioningSupported bool `xml:"provisioningSupported"` - MultiHostSupported bool `xml:"multiHostSupported"` - UserShellAccessSupported bool `xml:"userShellAccessSupported"` - SupportedEVCMode []EVCMode `xml:"supportedEVCMode,omitempty"` - SupportedEVCGraphicsMode []FeatureEVCMode `xml:"supportedEVCGraphicsMode,omitempty"` - NetworkBackupAndRestoreSupported *bool `xml:"networkBackupAndRestoreSupported"` - FtDrsWithoutEvcSupported *bool `xml:"ftDrsWithoutEvcSupported"` - HciWorkflowSupported *bool `xml:"hciWorkflowSupported"` - ComputePolicyVersion int32 `xml:"computePolicyVersion,omitempty"` - ClusterPlacementSupported *bool `xml:"clusterPlacementSupported"` - LifecycleManagementSupported *bool `xml:"lifecycleManagementSupported"` - HostSeedingSupported *bool `xml:"hostSeedingSupported"` - ScalableSharesSupported *bool `xml:"scalableSharesSupported"` - HadcsSupported *bool `xml:"hadcsSupported"` - ConfigMgmtSupported *bool `xml:"configMgmtSupported"` -} - -func init() { - t["Capability"] = reflect.TypeOf((*Capability)(nil)).Elem() -} - -type CertMgrRefreshCACertificatesAndCRLsRequestType struct { - This ManagedObjectReference `xml:"_this"` - Host []ManagedObjectReference `xml:"host"` -} - -func init() { - t["CertMgrRefreshCACertificatesAndCRLsRequestType"] = reflect.TypeOf((*CertMgrRefreshCACertificatesAndCRLsRequestType)(nil)).Elem() -} - -type CertMgrRefreshCACertificatesAndCRLs_Task CertMgrRefreshCACertificatesAndCRLsRequestType - -func init() { - t["CertMgrRefreshCACertificatesAndCRLs_Task"] = reflect.TypeOf((*CertMgrRefreshCACertificatesAndCRLs_Task)(nil)).Elem() -} - -type CertMgrRefreshCACertificatesAndCRLs_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CertMgrRefreshCertificatesRequestType struct { - This ManagedObjectReference `xml:"_this"` - Host []ManagedObjectReference `xml:"host"` -} - -func init() { - t["CertMgrRefreshCertificatesRequestType"] = reflect.TypeOf((*CertMgrRefreshCertificatesRequestType)(nil)).Elem() -} - -type CertMgrRefreshCertificates_Task CertMgrRefreshCertificatesRequestType - -func init() { - t["CertMgrRefreshCertificates_Task"] = reflect.TypeOf((*CertMgrRefreshCertificates_Task)(nil)).Elem() -} - -type CertMgrRefreshCertificates_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CertMgrRevokeCertificatesRequestType struct { - This ManagedObjectReference `xml:"_this"` - Host []ManagedObjectReference `xml:"host"` -} - -func init() { - t["CertMgrRevokeCertificatesRequestType"] = reflect.TypeOf((*CertMgrRevokeCertificatesRequestType)(nil)).Elem() -} - -type CertMgrRevokeCertificates_Task CertMgrRevokeCertificatesRequestType - -func init() { - t["CertMgrRevokeCertificates_Task"] = reflect.TypeOf((*CertMgrRevokeCertificates_Task)(nil)).Elem() -} - -type CertMgrRevokeCertificates_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ChangeAccessMode ChangeAccessModeRequestType - -func init() { - t["ChangeAccessMode"] = reflect.TypeOf((*ChangeAccessMode)(nil)).Elem() -} - -type ChangeAccessModeRequestType struct { - This ManagedObjectReference `xml:"_this"` - Principal string `xml:"principal"` - IsGroup bool `xml:"isGroup"` - AccessMode HostAccessMode `xml:"accessMode"` -} - -func init() { - t["ChangeAccessModeRequestType"] = reflect.TypeOf((*ChangeAccessModeRequestType)(nil)).Elem() -} - -type ChangeAccessModeResponse struct { -} - -type ChangeFileAttributesInGuest ChangeFileAttributesInGuestRequestType - -func init() { - t["ChangeFileAttributesInGuest"] = reflect.TypeOf((*ChangeFileAttributesInGuest)(nil)).Elem() -} - -type ChangeFileAttributesInGuestRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm ManagedObjectReference `xml:"vm"` - Auth BaseGuestAuthentication `xml:"auth,typeattr"` - GuestFilePath string `xml:"guestFilePath"` - FileAttributes BaseGuestFileAttributes `xml:"fileAttributes,typeattr"` -} - -func init() { - t["ChangeFileAttributesInGuestRequestType"] = reflect.TypeOf((*ChangeFileAttributesInGuestRequestType)(nil)).Elem() -} - -type ChangeFileAttributesInGuestResponse struct { -} - -type ChangeKeyRequestType struct { - This ManagedObjectReference `xml:"_this"` - NewKey CryptoKeyPlain `xml:"newKey"` -} - -func init() { - t["ChangeKeyRequestType"] = reflect.TypeOf((*ChangeKeyRequestType)(nil)).Elem() -} - -type ChangeKey_Task ChangeKeyRequestType - -func init() { - t["ChangeKey_Task"] = reflect.TypeOf((*ChangeKey_Task)(nil)).Elem() -} - -type ChangeKey_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ChangeLockdownMode ChangeLockdownModeRequestType - -func init() { - t["ChangeLockdownMode"] = reflect.TypeOf((*ChangeLockdownMode)(nil)).Elem() -} - -type ChangeLockdownModeRequestType struct { - This ManagedObjectReference `xml:"_this"` - Mode HostLockdownMode `xml:"mode"` -} - -func init() { - t["ChangeLockdownModeRequestType"] = reflect.TypeOf((*ChangeLockdownModeRequestType)(nil)).Elem() -} - -type ChangeLockdownModeResponse struct { -} - -type ChangeNFSUserPassword ChangeNFSUserPasswordRequestType - -func init() { - t["ChangeNFSUserPassword"] = reflect.TypeOf((*ChangeNFSUserPassword)(nil)).Elem() -} - -type ChangeNFSUserPasswordRequestType struct { - This ManagedObjectReference `xml:"_this"` - Password string `xml:"password"` -} - -func init() { - t["ChangeNFSUserPasswordRequestType"] = reflect.TypeOf((*ChangeNFSUserPasswordRequestType)(nil)).Elem() -} - -type ChangeNFSUserPasswordResponse struct { -} - -type ChangeOwner ChangeOwnerRequestType - -func init() { - t["ChangeOwner"] = reflect.TypeOf((*ChangeOwner)(nil)).Elem() -} - -type ChangeOwnerRequestType struct { - This ManagedObjectReference `xml:"_this"` - Name string `xml:"name"` - Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"` - Owner string `xml:"owner"` -} - -func init() { - t["ChangeOwnerRequestType"] = reflect.TypeOf((*ChangeOwnerRequestType)(nil)).Elem() -} - -type ChangeOwnerResponse struct { -} - -type ChangePassword ChangePasswordRequestType - -func init() { - t["ChangePassword"] = reflect.TypeOf((*ChangePassword)(nil)).Elem() -} - -type ChangePasswordRequestType struct { - This ManagedObjectReference `xml:"_this"` - User string `xml:"user"` - OldPassword string `xml:"oldPassword"` - NewPassword string `xml:"newPassword"` -} - -func init() { - t["ChangePasswordRequestType"] = reflect.TypeOf((*ChangePasswordRequestType)(nil)).Elem() -} - -type ChangePasswordResponse struct { -} - -type ChangesInfoEventArgument struct { - DynamicData - - Modified string `xml:"modified,omitempty"` - Added string `xml:"added,omitempty"` - Deleted string `xml:"deleted,omitempty"` -} - -func init() { - t["ChangesInfoEventArgument"] = reflect.TypeOf((*ChangesInfoEventArgument)(nil)).Elem() -} - -type CheckAddHostEvcRequestType struct { - This ManagedObjectReference `xml:"_this"` - CnxSpec HostConnectSpec `xml:"cnxSpec"` -} - -func init() { - t["CheckAddHostEvcRequestType"] = reflect.TypeOf((*CheckAddHostEvcRequestType)(nil)).Elem() -} - -type CheckAddHostEvc_Task CheckAddHostEvcRequestType - -func init() { - t["CheckAddHostEvc_Task"] = reflect.TypeOf((*CheckAddHostEvc_Task)(nil)).Elem() -} - -type CheckAddHostEvc_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CheckAnswerFileStatusRequestType struct { - This ManagedObjectReference `xml:"_this"` - Host []ManagedObjectReference `xml:"host"` -} - -func init() { - t["CheckAnswerFileStatusRequestType"] = reflect.TypeOf((*CheckAnswerFileStatusRequestType)(nil)).Elem() -} - -type CheckAnswerFileStatus_Task CheckAnswerFileStatusRequestType - -func init() { - t["CheckAnswerFileStatus_Task"] = reflect.TypeOf((*CheckAnswerFileStatus_Task)(nil)).Elem() -} - -type CheckAnswerFileStatus_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CheckCloneRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm ManagedObjectReference `xml:"vm"` - Folder ManagedObjectReference `xml:"folder"` - Name string `xml:"name"` - Spec VirtualMachineCloneSpec `xml:"spec"` - TestType []string `xml:"testType,omitempty"` -} - -func init() { - t["CheckCloneRequestType"] = reflect.TypeOf((*CheckCloneRequestType)(nil)).Elem() -} - -type CheckClone_Task CheckCloneRequestType - -func init() { - t["CheckClone_Task"] = reflect.TypeOf((*CheckClone_Task)(nil)).Elem() -} - -type CheckClone_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CheckCompatibilityRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm ManagedObjectReference `xml:"vm"` - Host *ManagedObjectReference `xml:"host,omitempty"` - Pool *ManagedObjectReference `xml:"pool,omitempty"` - TestType []string `xml:"testType,omitempty"` -} - -func init() { - t["CheckCompatibilityRequestType"] = reflect.TypeOf((*CheckCompatibilityRequestType)(nil)).Elem() -} - -type CheckCompatibility_Task CheckCompatibilityRequestType - -func init() { - t["CheckCompatibility_Task"] = reflect.TypeOf((*CheckCompatibility_Task)(nil)).Elem() -} - -type CheckCompatibility_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CheckComplianceRequestType struct { - This ManagedObjectReference `xml:"_this"` - Profile []ManagedObjectReference `xml:"profile,omitempty"` - Entity []ManagedObjectReference `xml:"entity,omitempty"` -} - -func init() { - t["CheckComplianceRequestType"] = reflect.TypeOf((*CheckComplianceRequestType)(nil)).Elem() -} - -type CheckCompliance_Task CheckComplianceRequestType - -func init() { - t["CheckCompliance_Task"] = reflect.TypeOf((*CheckCompliance_Task)(nil)).Elem() -} - -type CheckCompliance_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CheckConfigureEvcModeRequestType struct { - This ManagedObjectReference `xml:"_this"` - EvcModeKey string `xml:"evcModeKey"` - EvcGraphicsModeKey string `xml:"evcGraphicsModeKey,omitempty"` -} - -func init() { - t["CheckConfigureEvcModeRequestType"] = reflect.TypeOf((*CheckConfigureEvcModeRequestType)(nil)).Elem() -} - -type CheckConfigureEvcMode_Task CheckConfigureEvcModeRequestType - -func init() { - t["CheckConfigureEvcMode_Task"] = reflect.TypeOf((*CheckConfigureEvcMode_Task)(nil)).Elem() -} - -type CheckConfigureEvcMode_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CheckCustomizationResources CheckCustomizationResourcesRequestType - -func init() { - t["CheckCustomizationResources"] = reflect.TypeOf((*CheckCustomizationResources)(nil)).Elem() -} - -type CheckCustomizationResourcesRequestType struct { - This ManagedObjectReference `xml:"_this"` - GuestOs string `xml:"guestOs"` -} - -func init() { - t["CheckCustomizationResourcesRequestType"] = reflect.TypeOf((*CheckCustomizationResourcesRequestType)(nil)).Elem() -} - -type CheckCustomizationResourcesResponse struct { -} - -type CheckCustomizationSpec CheckCustomizationSpecRequestType - -func init() { - t["CheckCustomizationSpec"] = reflect.TypeOf((*CheckCustomizationSpec)(nil)).Elem() -} - -type CheckCustomizationSpecRequestType struct { - This ManagedObjectReference `xml:"_this"` - Spec CustomizationSpec `xml:"spec"` -} - -func init() { - t["CheckCustomizationSpecRequestType"] = reflect.TypeOf((*CheckCustomizationSpecRequestType)(nil)).Elem() -} - -type CheckCustomizationSpecResponse struct { -} - -type CheckForUpdates CheckForUpdatesRequestType - -func init() { - t["CheckForUpdates"] = reflect.TypeOf((*CheckForUpdates)(nil)).Elem() -} - -type CheckForUpdatesRequestType struct { - This ManagedObjectReference `xml:"_this"` - Version string `xml:"version,omitempty"` -} - -func init() { - t["CheckForUpdatesRequestType"] = reflect.TypeOf((*CheckForUpdatesRequestType)(nil)).Elem() -} - -type CheckForUpdatesResponse struct { - Returnval *UpdateSet `xml:"returnval,omitempty"` -} - -type CheckHostPatchRequestType struct { - This ManagedObjectReference `xml:"_this"` - MetaUrls []string `xml:"metaUrls,omitempty"` - BundleUrls []string `xml:"bundleUrls,omitempty"` - Spec *HostPatchManagerPatchManagerOperationSpec `xml:"spec,omitempty"` -} - -func init() { - t["CheckHostPatchRequestType"] = reflect.TypeOf((*CheckHostPatchRequestType)(nil)).Elem() -} - -type CheckHostPatch_Task CheckHostPatchRequestType - -func init() { - t["CheckHostPatch_Task"] = reflect.TypeOf((*CheckHostPatch_Task)(nil)).Elem() -} - -type CheckHostPatch_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CheckInstantCloneRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm ManagedObjectReference `xml:"vm"` - Spec VirtualMachineInstantCloneSpec `xml:"spec"` - TestType []string `xml:"testType,omitempty"` -} - -func init() { - t["CheckInstantCloneRequestType"] = reflect.TypeOf((*CheckInstantCloneRequestType)(nil)).Elem() -} - -type CheckInstantClone_Task CheckInstantCloneRequestType - -func init() { - t["CheckInstantClone_Task"] = reflect.TypeOf((*CheckInstantClone_Task)(nil)).Elem() -} - -type CheckInstantClone_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CheckLicenseFeature CheckLicenseFeatureRequestType - -func init() { - t["CheckLicenseFeature"] = reflect.TypeOf((*CheckLicenseFeature)(nil)).Elem() -} - -type CheckLicenseFeatureRequestType struct { - This ManagedObjectReference `xml:"_this"` - Host *ManagedObjectReference `xml:"host,omitempty"` - FeatureKey string `xml:"featureKey"` -} - -func init() { - t["CheckLicenseFeatureRequestType"] = reflect.TypeOf((*CheckLicenseFeatureRequestType)(nil)).Elem() -} - -type CheckLicenseFeatureResponse struct { - Returnval bool `xml:"returnval"` -} - -type CheckMigrateRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm ManagedObjectReference `xml:"vm"` - Host *ManagedObjectReference `xml:"host,omitempty"` - Pool *ManagedObjectReference `xml:"pool,omitempty"` - State VirtualMachinePowerState `xml:"state,omitempty"` - TestType []string `xml:"testType,omitempty"` -} - -func init() { - t["CheckMigrateRequestType"] = reflect.TypeOf((*CheckMigrateRequestType)(nil)).Elem() -} - -type CheckMigrate_Task CheckMigrateRequestType - -func init() { - t["CheckMigrate_Task"] = reflect.TypeOf((*CheckMigrate_Task)(nil)).Elem() -} - -type CheckMigrate_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CheckPowerOnRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm ManagedObjectReference `xml:"vm"` - Host *ManagedObjectReference `xml:"host,omitempty"` - Pool *ManagedObjectReference `xml:"pool,omitempty"` - TestType []string `xml:"testType,omitempty"` -} - -func init() { - t["CheckPowerOnRequestType"] = reflect.TypeOf((*CheckPowerOnRequestType)(nil)).Elem() -} - -type CheckPowerOn_Task CheckPowerOnRequestType - -func init() { - t["CheckPowerOn_Task"] = reflect.TypeOf((*CheckPowerOn_Task)(nil)).Elem() -} - -type CheckPowerOn_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CheckProfileComplianceRequestType struct { - This ManagedObjectReference `xml:"_this"` - Entity []ManagedObjectReference `xml:"entity,omitempty"` -} - -func init() { - t["CheckProfileComplianceRequestType"] = reflect.TypeOf((*CheckProfileComplianceRequestType)(nil)).Elem() -} - -type CheckProfileCompliance_Task CheckProfileComplianceRequestType - -func init() { - t["CheckProfileCompliance_Task"] = reflect.TypeOf((*CheckProfileCompliance_Task)(nil)).Elem() -} - -type CheckProfileCompliance_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CheckRelocateRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm ManagedObjectReference `xml:"vm"` - Spec VirtualMachineRelocateSpec `xml:"spec"` - TestType []string `xml:"testType,omitempty"` -} - -func init() { - t["CheckRelocateRequestType"] = reflect.TypeOf((*CheckRelocateRequestType)(nil)).Elem() -} - -type CheckRelocate_Task CheckRelocateRequestType - -func init() { - t["CheckRelocate_Task"] = reflect.TypeOf((*CheckRelocate_Task)(nil)).Elem() -} - -type CheckRelocate_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CheckResult struct { - DynamicData - - Vm *ManagedObjectReference `xml:"vm,omitempty"` - Host *ManagedObjectReference `xml:"host,omitempty"` - Warning []LocalizedMethodFault `xml:"warning,omitempty"` - Error []LocalizedMethodFault `xml:"error,omitempty"` -} - -func init() { - t["CheckResult"] = reflect.TypeOf((*CheckResult)(nil)).Elem() -} - -type CheckVmConfigRequestType struct { - This ManagedObjectReference `xml:"_this"` - Spec VirtualMachineConfigSpec `xml:"spec"` - Vm *ManagedObjectReference `xml:"vm,omitempty"` - Host *ManagedObjectReference `xml:"host,omitempty"` - Pool *ManagedObjectReference `xml:"pool,omitempty"` - TestType []string `xml:"testType,omitempty"` -} - -func init() { - t["CheckVmConfigRequestType"] = reflect.TypeOf((*CheckVmConfigRequestType)(nil)).Elem() -} - -type CheckVmConfig_Task CheckVmConfigRequestType - -func init() { - t["CheckVmConfig_Task"] = reflect.TypeOf((*CheckVmConfig_Task)(nil)).Elem() -} - -type CheckVmConfig_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ChoiceOption struct { - OptionType - - ChoiceInfo []BaseElementDescription `xml:"choiceInfo,typeattr"` - DefaultIndex int32 `xml:"defaultIndex,omitempty"` -} - -func init() { - t["ChoiceOption"] = reflect.TypeOf((*ChoiceOption)(nil)).Elem() -} - -type ClearComplianceStatus ClearComplianceStatusRequestType - -func init() { - t["ClearComplianceStatus"] = reflect.TypeOf((*ClearComplianceStatus)(nil)).Elem() -} - -type ClearComplianceStatusRequestType struct { - This ManagedObjectReference `xml:"_this"` - Profile []ManagedObjectReference `xml:"profile,omitempty"` - Entity []ManagedObjectReference `xml:"entity,omitempty"` -} - -func init() { - t["ClearComplianceStatusRequestType"] = reflect.TypeOf((*ClearComplianceStatusRequestType)(nil)).Elem() -} - -type ClearComplianceStatusResponse struct { -} - -type ClearNFSUser ClearNFSUserRequestType - -func init() { - t["ClearNFSUser"] = reflect.TypeOf((*ClearNFSUser)(nil)).Elem() -} - -type ClearNFSUserRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["ClearNFSUserRequestType"] = reflect.TypeOf((*ClearNFSUserRequestType)(nil)).Elem() -} - -type ClearNFSUserResponse struct { -} - -type ClearSystemEventLog ClearSystemEventLogRequestType - -func init() { - t["ClearSystemEventLog"] = reflect.TypeOf((*ClearSystemEventLog)(nil)).Elem() -} - -type ClearSystemEventLogRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["ClearSystemEventLogRequestType"] = reflect.TypeOf((*ClearSystemEventLogRequestType)(nil)).Elem() -} - -type ClearSystemEventLogResponse struct { -} - -type ClearTriggeredAlarms ClearTriggeredAlarmsRequestType - -func init() { - t["ClearTriggeredAlarms"] = reflect.TypeOf((*ClearTriggeredAlarms)(nil)).Elem() -} - -type ClearTriggeredAlarmsRequestType struct { - This ManagedObjectReference `xml:"_this"` - Filter AlarmFilterSpec `xml:"filter"` -} - -func init() { - t["ClearTriggeredAlarmsRequestType"] = reflect.TypeOf((*ClearTriggeredAlarmsRequestType)(nil)).Elem() -} - -type ClearTriggeredAlarmsResponse struct { -} - -type ClearVStorageObjectControlFlags ClearVStorageObjectControlFlagsRequestType - -func init() { - t["ClearVStorageObjectControlFlags"] = reflect.TypeOf((*ClearVStorageObjectControlFlags)(nil)).Elem() -} - -type ClearVStorageObjectControlFlagsRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id ID `xml:"id"` - Datastore ManagedObjectReference `xml:"datastore"` - ControlFlags []string `xml:"controlFlags,omitempty"` -} - -func init() { - t["ClearVStorageObjectControlFlagsRequestType"] = reflect.TypeOf((*ClearVStorageObjectControlFlagsRequestType)(nil)).Elem() -} - -type ClearVStorageObjectControlFlagsResponse struct { -} - -type ClockSkew struct { - HostConfigFault -} - -func init() { - t["ClockSkew"] = reflect.TypeOf((*ClockSkew)(nil)).Elem() -} - -type ClockSkewFault ClockSkew - -func init() { - t["ClockSkewFault"] = reflect.TypeOf((*ClockSkewFault)(nil)).Elem() -} - -type CloneFromSnapshotNotSupported struct { - MigrationFault -} - -func init() { - t["CloneFromSnapshotNotSupported"] = reflect.TypeOf((*CloneFromSnapshotNotSupported)(nil)).Elem() -} - -type CloneFromSnapshotNotSupportedFault CloneFromSnapshotNotSupported - -func init() { - t["CloneFromSnapshotNotSupportedFault"] = reflect.TypeOf((*CloneFromSnapshotNotSupportedFault)(nil)).Elem() -} - -type CloneSession CloneSessionRequestType - -func init() { - t["CloneSession"] = reflect.TypeOf((*CloneSession)(nil)).Elem() -} - -type CloneSessionRequestType struct { - This ManagedObjectReference `xml:"_this"` - CloneTicket string `xml:"cloneTicket"` -} - -func init() { - t["CloneSessionRequestType"] = reflect.TypeOf((*CloneSessionRequestType)(nil)).Elem() -} - -type CloneSessionResponse struct { - Returnval UserSession `xml:"returnval"` -} - -type CloneVAppRequestType struct { - This ManagedObjectReference `xml:"_this"` - Name string `xml:"name"` - Target ManagedObjectReference `xml:"target"` - Spec VAppCloneSpec `xml:"spec"` -} - -func init() { - t["CloneVAppRequestType"] = reflect.TypeOf((*CloneVAppRequestType)(nil)).Elem() -} - -type CloneVApp_Task CloneVAppRequestType - -func init() { - t["CloneVApp_Task"] = reflect.TypeOf((*CloneVApp_Task)(nil)).Elem() -} - -type CloneVApp_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CloneVMRequestType struct { - This ManagedObjectReference `xml:"_this"` - Folder ManagedObjectReference `xml:"folder"` - Name string `xml:"name"` - Spec VirtualMachineCloneSpec `xml:"spec"` -} - -func init() { - t["CloneVMRequestType"] = reflect.TypeOf((*CloneVMRequestType)(nil)).Elem() -} - -type CloneVM_Task CloneVMRequestType - -func init() { - t["CloneVM_Task"] = reflect.TypeOf((*CloneVM_Task)(nil)).Elem() -} - -type CloneVM_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CloneVStorageObjectRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id ID `xml:"id"` - Datastore ManagedObjectReference `xml:"datastore"` - Spec VslmCloneSpec `xml:"spec"` -} - -func init() { - t["CloneVStorageObjectRequestType"] = reflect.TypeOf((*CloneVStorageObjectRequestType)(nil)).Elem() -} - -type CloneVStorageObject_Task CloneVStorageObjectRequestType - -func init() { - t["CloneVStorageObject_Task"] = reflect.TypeOf((*CloneVStorageObject_Task)(nil)).Elem() -} - -type CloneVStorageObject_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CloseInventoryViewFolder CloseInventoryViewFolderRequestType - -func init() { - t["CloseInventoryViewFolder"] = reflect.TypeOf((*CloseInventoryViewFolder)(nil)).Elem() -} - -type CloseInventoryViewFolderRequestType struct { - This ManagedObjectReference `xml:"_this"` - Entity []ManagedObjectReference `xml:"entity"` -} - -func init() { - t["CloseInventoryViewFolderRequestType"] = reflect.TypeOf((*CloseInventoryViewFolderRequestType)(nil)).Elem() -} - -type CloseInventoryViewFolderResponse struct { - Returnval []ManagedObjectReference `xml:"returnval,omitempty"` -} - -type ClusterAction struct { - DynamicData - - Type string `xml:"type"` - Target *ManagedObjectReference `xml:"target,omitempty"` -} - -func init() { - t["ClusterAction"] = reflect.TypeOf((*ClusterAction)(nil)).Elem() -} - -type ClusterActionHistory struct { - DynamicData - - Action BaseClusterAction `xml:"action,typeattr"` - Time time.Time `xml:"time"` -} - -func init() { - t["ClusterActionHistory"] = reflect.TypeOf((*ClusterActionHistory)(nil)).Elem() -} - -type ClusterAffinityRuleSpec struct { - ClusterRuleInfo - - Vm []ManagedObjectReference `xml:"vm"` -} - -func init() { - t["ClusterAffinityRuleSpec"] = reflect.TypeOf((*ClusterAffinityRuleSpec)(nil)).Elem() -} - -type ClusterAntiAffinityRuleSpec struct { - ClusterRuleInfo - - Vm []ManagedObjectReference `xml:"vm"` -} - -func init() { - t["ClusterAntiAffinityRuleSpec"] = reflect.TypeOf((*ClusterAntiAffinityRuleSpec)(nil)).Elem() -} - -type ClusterAttemptedVmInfo struct { - DynamicData - - Vm ManagedObjectReference `xml:"vm"` - Task *ManagedObjectReference `xml:"task,omitempty"` -} - -func init() { - t["ClusterAttemptedVmInfo"] = reflect.TypeOf((*ClusterAttemptedVmInfo)(nil)).Elem() -} - -type ClusterClusterInitialPlacementAction struct { - ClusterAction - - TargetHost *ManagedObjectReference `xml:"targetHost,omitempty"` - Pool ManagedObjectReference `xml:"pool"` - ConfigSpec *VirtualMachineConfigSpec `xml:"configSpec,omitempty"` -} - -func init() { - t["ClusterClusterInitialPlacementAction"] = reflect.TypeOf((*ClusterClusterInitialPlacementAction)(nil)).Elem() -} - -type ClusterComplianceCheckedEvent struct { - ClusterEvent - - Profile ProfileEventArgument `xml:"profile"` -} - -func init() { - t["ClusterComplianceCheckedEvent"] = reflect.TypeOf((*ClusterComplianceCheckedEvent)(nil)).Elem() -} - -type ClusterComputeResourceClusterConfigResult struct { - DynamicData - - FailedHosts []FolderFailedHostResult `xml:"failedHosts,omitempty"` - ConfiguredHosts []ManagedObjectReference `xml:"configuredHosts,omitempty"` -} - -func init() { - t["ClusterComputeResourceClusterConfigResult"] = reflect.TypeOf((*ClusterComputeResourceClusterConfigResult)(nil)).Elem() -} - -type ClusterComputeResourceDVSConfigurationValidation struct { - ClusterComputeResourceValidationResultBase - - IsDvsValid bool `xml:"isDvsValid"` - IsDvpgValid bool `xml:"isDvpgValid"` -} - -func init() { - t["ClusterComputeResourceDVSConfigurationValidation"] = reflect.TypeOf((*ClusterComputeResourceDVSConfigurationValidation)(nil)).Elem() -} - -type ClusterComputeResourceDVSSetting struct { - DynamicData - - DvSwitch ManagedObjectReference `xml:"dvSwitch"` - PnicDevices []string `xml:"pnicDevices,omitempty"` - DvPortgroupSetting []ClusterComputeResourceDVSSettingDVPortgroupToServiceMapping `xml:"dvPortgroupSetting,omitempty"` -} - -func init() { - t["ClusterComputeResourceDVSSetting"] = reflect.TypeOf((*ClusterComputeResourceDVSSetting)(nil)).Elem() -} - -type ClusterComputeResourceDVSSettingDVPortgroupToServiceMapping struct { - DynamicData - - DvPortgroup ManagedObjectReference `xml:"dvPortgroup"` - Service string `xml:"service"` -} - -func init() { - t["ClusterComputeResourceDVSSettingDVPortgroupToServiceMapping"] = reflect.TypeOf((*ClusterComputeResourceDVSSettingDVPortgroupToServiceMapping)(nil)).Elem() -} - -type ClusterComputeResourceDvsProfile struct { - DynamicData - - DvsName string `xml:"dvsName,omitempty"` - DvSwitch *ManagedObjectReference `xml:"dvSwitch,omitempty"` - PnicDevices []string `xml:"pnicDevices,omitempty"` - DvPortgroupMapping []ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping `xml:"dvPortgroupMapping,omitempty"` -} - -func init() { - t["ClusterComputeResourceDvsProfile"] = reflect.TypeOf((*ClusterComputeResourceDvsProfile)(nil)).Elem() -} - -type ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping struct { - DynamicData - - DvPortgroupSpec *DVPortgroupConfigSpec `xml:"dvPortgroupSpec,omitempty"` - DvPortgroup *ManagedObjectReference `xml:"dvPortgroup,omitempty"` - Service string `xml:"service"` -} - -func init() { - t["ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping"] = reflect.TypeOf((*ClusterComputeResourceDvsProfileDVPortgroupSpecToServiceMapping)(nil)).Elem() -} - -type ClusterComputeResourceHCIConfigInfo struct { - DynamicData - - WorkflowState string `xml:"workflowState"` - DvsSetting []ClusterComputeResourceDVSSetting `xml:"dvsSetting,omitempty"` - ConfiguredHosts []ManagedObjectReference `xml:"configuredHosts,omitempty"` - HostConfigProfile *ClusterComputeResourceHostConfigurationProfile `xml:"hostConfigProfile,omitempty"` -} - -func init() { - t["ClusterComputeResourceHCIConfigInfo"] = reflect.TypeOf((*ClusterComputeResourceHCIConfigInfo)(nil)).Elem() -} - -type ClusterComputeResourceHCIConfigSpec struct { - DynamicData - - DvsProf []ClusterComputeResourceDvsProfile `xml:"dvsProf,omitempty"` - HostConfigProfile *ClusterComputeResourceHostConfigurationProfile `xml:"hostConfigProfile,omitempty"` - VSanConfigSpec *SDDCBase `xml:"vSanConfigSpec,omitempty"` - VcProf *ClusterComputeResourceVCProfile `xml:"vcProf,omitempty"` -} - -func init() { - t["ClusterComputeResourceHCIConfigSpec"] = reflect.TypeOf((*ClusterComputeResourceHCIConfigSpec)(nil)).Elem() -} - -type ClusterComputeResourceHostConfigurationInput struct { - DynamicData - - Host ManagedObjectReference `xml:"host"` - HostVmkNics []ClusterComputeResourceHostVmkNicInfo `xml:"hostVmkNics,omitempty"` - AllowedInNonMaintenanceMode *bool `xml:"allowedInNonMaintenanceMode"` -} - -func init() { - t["ClusterComputeResourceHostConfigurationInput"] = reflect.TypeOf((*ClusterComputeResourceHostConfigurationInput)(nil)).Elem() -} - -type ClusterComputeResourceHostConfigurationProfile struct { - DynamicData - - DateTimeConfig *HostDateTimeConfig `xml:"dateTimeConfig,omitempty"` - LockdownMode HostLockdownMode `xml:"lockdownMode,omitempty"` -} - -func init() { - t["ClusterComputeResourceHostConfigurationProfile"] = reflect.TypeOf((*ClusterComputeResourceHostConfigurationProfile)(nil)).Elem() -} - -type ClusterComputeResourceHostConfigurationValidation struct { - ClusterComputeResourceValidationResultBase - - Host ManagedObjectReference `xml:"host"` - IsDvsSettingValid *bool `xml:"isDvsSettingValid"` - IsVmknicSettingValid *bool `xml:"isVmknicSettingValid"` - IsNtpSettingValid *bool `xml:"isNtpSettingValid"` - IsLockdownModeValid *bool `xml:"isLockdownModeValid"` -} - -func init() { - t["ClusterComputeResourceHostConfigurationValidation"] = reflect.TypeOf((*ClusterComputeResourceHostConfigurationValidation)(nil)).Elem() -} - -type ClusterComputeResourceHostVmkNicInfo struct { - DynamicData - - NicSpec HostVirtualNicSpec `xml:"nicSpec"` - Service string `xml:"service"` -} - -func init() { - t["ClusterComputeResourceHostVmkNicInfo"] = reflect.TypeOf((*ClusterComputeResourceHostVmkNicInfo)(nil)).Elem() -} - -type ClusterComputeResourceSummary struct { - ComputeResourceSummary - - CurrentFailoverLevel int32 `xml:"currentFailoverLevel"` - AdmissionControlInfo BaseClusterDasAdmissionControlInfo `xml:"admissionControlInfo,omitempty,typeattr"` - NumVmotions int32 `xml:"numVmotions"` - TargetBalance int32 `xml:"targetBalance,omitempty"` - CurrentBalance int32 `xml:"currentBalance,omitempty"` - DrsScore int32 `xml:"drsScore,omitempty"` - NumVmsPerDrsScoreBucket []int32 `xml:"numVmsPerDrsScoreBucket,omitempty"` - UsageSummary *ClusterUsageSummary `xml:"usageSummary,omitempty"` - CurrentEVCModeKey string `xml:"currentEVCModeKey,omitempty"` - CurrentEVCGraphicsModeKey string `xml:"currentEVCGraphicsModeKey,omitempty"` - DasData BaseClusterDasData `xml:"dasData,omitempty,typeattr"` - ClusterMaintenanceModeStatus string `xml:"clusterMaintenanceModeStatus,omitempty"` - VcsHealthStatus string `xml:"vcsHealthStatus,omitempty"` - VcsSlots []ClusterComputeResourceVcsSlots `xml:"vcsSlots,omitempty"` -} - -func init() { - t["ClusterComputeResourceSummary"] = reflect.TypeOf((*ClusterComputeResourceSummary)(nil)).Elem() -} - -type ClusterComputeResourceVCProfile struct { - DynamicData - - ClusterSpec *ClusterConfigSpecEx `xml:"clusterSpec,omitempty"` - EvcModeKey string `xml:"evcModeKey,omitempty"` - EvcGraphicsModeKey string `xml:"evcGraphicsModeKey,omitempty"` -} - -func init() { - t["ClusterComputeResourceVCProfile"] = reflect.TypeOf((*ClusterComputeResourceVCProfile)(nil)).Elem() -} - -type ClusterComputeResourceValidationResultBase struct { - DynamicData - - Info []LocalizableMessage `xml:"info,omitempty"` -} - -func init() { - t["ClusterComputeResourceValidationResultBase"] = reflect.TypeOf((*ClusterComputeResourceValidationResultBase)(nil)).Elem() -} - -type ClusterComputeResourceVcsSlots struct { - DynamicData - - SystemId string `xml:"systemId,omitempty"` - Host ManagedObjectReference `xml:"host"` - Datastore []ManagedObjectReference `xml:"datastore,omitempty"` - TotalSlots int32 `xml:"totalSlots"` -} - -func init() { - t["ClusterComputeResourceVcsSlots"] = reflect.TypeOf((*ClusterComputeResourceVcsSlots)(nil)).Elem() -} - -type ClusterConfigInfo struct { - DynamicData - - DasConfig ClusterDasConfigInfo `xml:"dasConfig"` - DasVmConfig []ClusterDasVmConfigInfo `xml:"dasVmConfig,omitempty"` - DrsConfig ClusterDrsConfigInfo `xml:"drsConfig"` - DrsVmConfig []ClusterDrsVmConfigInfo `xml:"drsVmConfig,omitempty"` - Rule []BaseClusterRuleInfo `xml:"rule,omitempty,typeattr"` -} - -func init() { - t["ClusterConfigInfo"] = reflect.TypeOf((*ClusterConfigInfo)(nil)).Elem() -} - -type ClusterConfigInfoEx struct { - ComputeResourceConfigInfo - - SystemVMsConfig *ClusterSystemVMsConfigInfo `xml:"systemVMsConfig,omitempty"` - DasConfig ClusterDasConfigInfo `xml:"dasConfig"` - DasVmConfig []ClusterDasVmConfigInfo `xml:"dasVmConfig,omitempty"` - DrsConfig ClusterDrsConfigInfo `xml:"drsConfig"` - DrsVmConfig []ClusterDrsVmConfigInfo `xml:"drsVmConfig,omitempty"` - Rule []BaseClusterRuleInfo `xml:"rule,omitempty,typeattr"` - Orchestration *ClusterOrchestrationInfo `xml:"orchestration,omitempty"` - VmOrchestration []ClusterVmOrchestrationInfo `xml:"vmOrchestration,omitempty"` - DpmConfigInfo *ClusterDpmConfigInfo `xml:"dpmConfigInfo,omitempty"` - DpmHostConfig []ClusterDpmHostConfigInfo `xml:"dpmHostConfig,omitempty"` - VsanConfigInfo *VsanClusterConfigInfo `xml:"vsanConfigInfo,omitempty"` - VsanHostConfig []VsanHostConfigInfo `xml:"vsanHostConfig,omitempty"` - Group []BaseClusterGroupInfo `xml:"group,omitempty,typeattr"` - InfraUpdateHaConfig *ClusterInfraUpdateHaConfigInfo `xml:"infraUpdateHaConfig,omitempty"` - ProactiveDrsConfig *ClusterProactiveDrsConfigInfo `xml:"proactiveDrsConfig,omitempty"` - CryptoConfig *ClusterCryptoConfigInfo `xml:"cryptoConfig,omitempty"` -} - -func init() { - t["ClusterConfigInfoEx"] = reflect.TypeOf((*ClusterConfigInfoEx)(nil)).Elem() -} - -type ClusterConfigSpec struct { - DynamicData - - DasConfig *ClusterDasConfigInfo `xml:"dasConfig,omitempty"` - DasVmConfigSpec []ClusterDasVmConfigSpec `xml:"dasVmConfigSpec,omitempty"` - DrsConfig *ClusterDrsConfigInfo `xml:"drsConfig,omitempty"` - DrsVmConfigSpec []ClusterDrsVmConfigSpec `xml:"drsVmConfigSpec,omitempty"` - RulesSpec []ClusterRuleSpec `xml:"rulesSpec,omitempty"` -} - -func init() { - t["ClusterConfigSpec"] = reflect.TypeOf((*ClusterConfigSpec)(nil)).Elem() -} - -type ClusterConfigSpecEx struct { - ComputeResourceConfigSpec - - SystemVMsConfig *ClusterSystemVMsConfigSpec `xml:"systemVMsConfig,omitempty"` - DasConfig *ClusterDasConfigInfo `xml:"dasConfig,omitempty"` - DasVmConfigSpec []ClusterDasVmConfigSpec `xml:"dasVmConfigSpec,omitempty"` - DrsConfig *ClusterDrsConfigInfo `xml:"drsConfig,omitempty"` - DrsVmConfigSpec []ClusterDrsVmConfigSpec `xml:"drsVmConfigSpec,omitempty"` - RulesSpec []ClusterRuleSpec `xml:"rulesSpec,omitempty"` - Orchestration *ClusterOrchestrationInfo `xml:"orchestration,omitempty"` - VmOrchestrationSpec []ClusterVmOrchestrationSpec `xml:"vmOrchestrationSpec,omitempty"` - DpmConfig *ClusterDpmConfigInfo `xml:"dpmConfig,omitempty"` - DpmHostConfigSpec []ClusterDpmHostConfigSpec `xml:"dpmHostConfigSpec,omitempty"` - VsanConfig *VsanClusterConfigInfo `xml:"vsanConfig,omitempty"` - VsanHostConfigSpec []VsanHostConfigInfo `xml:"vsanHostConfigSpec,omitempty"` - GroupSpec []ClusterGroupSpec `xml:"groupSpec,omitempty"` - InfraUpdateHaConfig *ClusterInfraUpdateHaConfigInfo `xml:"infraUpdateHaConfig,omitempty"` - ProactiveDrsConfig *ClusterProactiveDrsConfigInfo `xml:"proactiveDrsConfig,omitempty"` - InHciWorkflow *bool `xml:"inHciWorkflow"` - CryptoConfig *ClusterCryptoConfigInfo `xml:"cryptoConfig,omitempty"` -} - -func init() { - t["ClusterConfigSpecEx"] = reflect.TypeOf((*ClusterConfigSpecEx)(nil)).Elem() -} - -type ClusterCreatedEvent struct { - ClusterEvent - - Parent FolderEventArgument `xml:"parent"` -} - -func init() { - t["ClusterCreatedEvent"] = reflect.TypeOf((*ClusterCreatedEvent)(nil)).Elem() -} - -type ClusterCryptoConfigInfo struct { - DynamicData - - CryptoMode string `xml:"cryptoMode,omitempty"` -} - -func init() { - t["ClusterCryptoConfigInfo"] = reflect.TypeOf((*ClusterCryptoConfigInfo)(nil)).Elem() -} - -type ClusterDasAamHostInfo struct { - ClusterDasHostInfo - - HostDasState []ClusterDasAamNodeState `xml:"hostDasState,omitempty"` - PrimaryHosts []string `xml:"primaryHosts,omitempty"` -} - -func init() { - t["ClusterDasAamHostInfo"] = reflect.TypeOf((*ClusterDasAamHostInfo)(nil)).Elem() -} - -type ClusterDasAamNodeState struct { - DynamicData - - Host ManagedObjectReference `xml:"host"` - Name string `xml:"name"` - ConfigState string `xml:"configState"` - RuntimeState string `xml:"runtimeState"` -} - -func init() { - t["ClusterDasAamNodeState"] = reflect.TypeOf((*ClusterDasAamNodeState)(nil)).Elem() -} - -type ClusterDasAdmissionControlInfo struct { - DynamicData -} - -func init() { - t["ClusterDasAdmissionControlInfo"] = reflect.TypeOf((*ClusterDasAdmissionControlInfo)(nil)).Elem() -} - -type ClusterDasAdmissionControlPolicy struct { - DynamicData - - ResourceReductionToToleratePercent *int32 `xml:"resourceReductionToToleratePercent"` - PMemAdmissionControlEnabled *bool `xml:"pMemAdmissionControlEnabled"` -} - -func init() { - t["ClusterDasAdmissionControlPolicy"] = reflect.TypeOf((*ClusterDasAdmissionControlPolicy)(nil)).Elem() -} - -type ClusterDasAdvancedRuntimeInfo struct { - DynamicData - - DasHostInfo BaseClusterDasHostInfo `xml:"dasHostInfo,omitempty,typeattr"` - VmcpSupported *ClusterDasAdvancedRuntimeInfoVmcpCapabilityInfo `xml:"vmcpSupported,omitempty"` - HeartbeatDatastoreInfo []DasHeartbeatDatastoreInfo `xml:"heartbeatDatastoreInfo,omitempty"` -} - -func init() { - t["ClusterDasAdvancedRuntimeInfo"] = reflect.TypeOf((*ClusterDasAdvancedRuntimeInfo)(nil)).Elem() -} - -type ClusterDasAdvancedRuntimeInfoVmcpCapabilityInfo struct { - DynamicData - - StorageAPDSupported bool `xml:"storageAPDSupported"` - StoragePDLSupported bool `xml:"storagePDLSupported"` -} - -func init() { - t["ClusterDasAdvancedRuntimeInfoVmcpCapabilityInfo"] = reflect.TypeOf((*ClusterDasAdvancedRuntimeInfoVmcpCapabilityInfo)(nil)).Elem() -} - -type ClusterDasConfigInfo struct { - DynamicData - - Enabled *bool `xml:"enabled"` - VmMonitoring string `xml:"vmMonitoring,omitempty"` - HostMonitoring string `xml:"hostMonitoring,omitempty"` - VmComponentProtecting string `xml:"vmComponentProtecting,omitempty"` - FailoverLevel int32 `xml:"failoverLevel,omitempty"` - AdmissionControlPolicy BaseClusterDasAdmissionControlPolicy `xml:"admissionControlPolicy,omitempty,typeattr"` - AdmissionControlEnabled *bool `xml:"admissionControlEnabled"` - DefaultVmSettings *ClusterDasVmSettings `xml:"defaultVmSettings,omitempty"` - Option []BaseOptionValue `xml:"option,omitempty,typeattr"` - HeartbeatDatastore []ManagedObjectReference `xml:"heartbeatDatastore,omitempty"` - HBDatastoreCandidatePolicy string `xml:"hBDatastoreCandidatePolicy,omitempty"` -} - -func init() { - t["ClusterDasConfigInfo"] = reflect.TypeOf((*ClusterDasConfigInfo)(nil)).Elem() -} - -type ClusterDasData struct { - DynamicData -} - -func init() { - t["ClusterDasData"] = reflect.TypeOf((*ClusterDasData)(nil)).Elem() -} - -type ClusterDasDataSummary struct { - ClusterDasData - - HostListVersion int64 `xml:"hostListVersion"` - ClusterConfigVersion int64 `xml:"clusterConfigVersion"` - CompatListVersion int64 `xml:"compatListVersion"` -} - -func init() { - t["ClusterDasDataSummary"] = reflect.TypeOf((*ClusterDasDataSummary)(nil)).Elem() -} - -type ClusterDasFailoverLevelAdvancedRuntimeInfo struct { - ClusterDasAdvancedRuntimeInfo - - SlotInfo ClusterDasFailoverLevelAdvancedRuntimeInfoSlotInfo `xml:"slotInfo"` - TotalSlots int32 `xml:"totalSlots"` - UsedSlots int32 `xml:"usedSlots"` - UnreservedSlots int32 `xml:"unreservedSlots"` - TotalVms int32 `xml:"totalVms"` - TotalHosts int32 `xml:"totalHosts"` - TotalGoodHosts int32 `xml:"totalGoodHosts"` - HostSlots []ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots `xml:"hostSlots,omitempty"` - VmsRequiringMultipleSlots []ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots `xml:"vmsRequiringMultipleSlots,omitempty"` -} - -func init() { - t["ClusterDasFailoverLevelAdvancedRuntimeInfo"] = reflect.TypeOf((*ClusterDasFailoverLevelAdvancedRuntimeInfo)(nil)).Elem() -} - -type ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots struct { - DynamicData - - Host ManagedObjectReference `xml:"host"` - Slots int32 `xml:"slots"` -} - -func init() { - t["ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots"] = reflect.TypeOf((*ClusterDasFailoverLevelAdvancedRuntimeInfoHostSlots)(nil)).Elem() -} - -type ClusterDasFailoverLevelAdvancedRuntimeInfoSlotInfo struct { - DynamicData - - NumVcpus int32 `xml:"numVcpus"` - CpuMHz int32 `xml:"cpuMHz"` - MemoryMB int32 `xml:"memoryMB"` -} - -func init() { - t["ClusterDasFailoverLevelAdvancedRuntimeInfoSlotInfo"] = reflect.TypeOf((*ClusterDasFailoverLevelAdvancedRuntimeInfoSlotInfo)(nil)).Elem() -} - -type ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots struct { - DynamicData - - Vm ManagedObjectReference `xml:"vm"` - Slots int32 `xml:"slots"` -} - -func init() { - t["ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots"] = reflect.TypeOf((*ClusterDasFailoverLevelAdvancedRuntimeInfoVmSlots)(nil)).Elem() -} - -type ClusterDasFdmHostState struct { - DynamicData - - State string `xml:"state"` - StateReporter *ManagedObjectReference `xml:"stateReporter,omitempty"` -} - -func init() { - t["ClusterDasFdmHostState"] = reflect.TypeOf((*ClusterDasFdmHostState)(nil)).Elem() -} - -type ClusterDasHostInfo struct { - DynamicData -} - -func init() { - t["ClusterDasHostInfo"] = reflect.TypeOf((*ClusterDasHostInfo)(nil)).Elem() -} - -type ClusterDasHostRecommendation struct { - DynamicData - - Host ManagedObjectReference `xml:"host"` - DrsRating int32 `xml:"drsRating,omitempty"` -} - -func init() { - t["ClusterDasHostRecommendation"] = reflect.TypeOf((*ClusterDasHostRecommendation)(nil)).Elem() -} - -type ClusterDasVmConfigInfo struct { - DynamicData - - Key ManagedObjectReference `xml:"key"` - RestartPriority DasVmPriority `xml:"restartPriority,omitempty"` - PowerOffOnIsolation *bool `xml:"powerOffOnIsolation"` - DasSettings *ClusterDasVmSettings `xml:"dasSettings,omitempty"` -} - -func init() { - t["ClusterDasVmConfigInfo"] = reflect.TypeOf((*ClusterDasVmConfigInfo)(nil)).Elem() -} - -type ClusterDasVmConfigSpec struct { - ArrayUpdateSpec - - Info *ClusterDasVmConfigInfo `xml:"info,omitempty"` -} - -func init() { - t["ClusterDasVmConfigSpec"] = reflect.TypeOf((*ClusterDasVmConfigSpec)(nil)).Elem() -} - -type ClusterDasVmSettings struct { - DynamicData - - RestartPriority string `xml:"restartPriority,omitempty"` - RestartPriorityTimeout int32 `xml:"restartPriorityTimeout,omitempty"` - IsolationResponse string `xml:"isolationResponse,omitempty"` - VmToolsMonitoringSettings *ClusterVmToolsMonitoringSettings `xml:"vmToolsMonitoringSettings,omitempty"` - VmComponentProtectionSettings *ClusterVmComponentProtectionSettings `xml:"vmComponentProtectionSettings,omitempty"` -} - -func init() { - t["ClusterDasVmSettings"] = reflect.TypeOf((*ClusterDasVmSettings)(nil)).Elem() -} - -type ClusterDatastoreUpdateSpec struct { - ArrayUpdateSpec - - Datastore *ManagedObjectReference `xml:"datastore,omitempty"` -} - -func init() { - t["ClusterDatastoreUpdateSpec"] = reflect.TypeOf((*ClusterDatastoreUpdateSpec)(nil)).Elem() -} - -type ClusterDependencyRuleInfo struct { - ClusterRuleInfo - - VmGroup string `xml:"vmGroup"` - DependsOnVmGroup string `xml:"dependsOnVmGroup"` -} - -func init() { - t["ClusterDependencyRuleInfo"] = reflect.TypeOf((*ClusterDependencyRuleInfo)(nil)).Elem() -} - -type ClusterDestroyedEvent struct { - ClusterEvent -} - -func init() { - t["ClusterDestroyedEvent"] = reflect.TypeOf((*ClusterDestroyedEvent)(nil)).Elem() -} - -type ClusterDpmConfigInfo struct { - DynamicData - - Enabled *bool `xml:"enabled"` - DefaultDpmBehavior DpmBehavior `xml:"defaultDpmBehavior,omitempty"` - HostPowerActionRate int32 `xml:"hostPowerActionRate,omitempty"` - Option []BaseOptionValue `xml:"option,omitempty,typeattr"` -} - -func init() { - t["ClusterDpmConfigInfo"] = reflect.TypeOf((*ClusterDpmConfigInfo)(nil)).Elem() -} - -type ClusterDpmHostConfigInfo struct { - DynamicData - - Key ManagedObjectReference `xml:"key"` - Enabled *bool `xml:"enabled"` - Behavior DpmBehavior `xml:"behavior,omitempty"` -} - -func init() { - t["ClusterDpmHostConfigInfo"] = reflect.TypeOf((*ClusterDpmHostConfigInfo)(nil)).Elem() -} - -type ClusterDpmHostConfigSpec struct { - ArrayUpdateSpec - - Info *ClusterDpmHostConfigInfo `xml:"info,omitempty"` -} - -func init() { - t["ClusterDpmHostConfigSpec"] = reflect.TypeOf((*ClusterDpmHostConfigSpec)(nil)).Elem() -} - -type ClusterDrsConfigInfo struct { - DynamicData - - Enabled *bool `xml:"enabled"` - EnableVmBehaviorOverrides *bool `xml:"enableVmBehaviorOverrides"` - DefaultVmBehavior DrsBehavior `xml:"defaultVmBehavior,omitempty"` - VmotionRate int32 `xml:"vmotionRate,omitempty"` - ScaleDescendantsShares string `xml:"scaleDescendantsShares,omitempty"` - Option []BaseOptionValue `xml:"option,omitempty,typeattr"` -} - -func init() { - t["ClusterDrsConfigInfo"] = reflect.TypeOf((*ClusterDrsConfigInfo)(nil)).Elem() -} - -type ClusterDrsFaults struct { - DynamicData - - Reason string `xml:"reason"` - FaultsByVm []BaseClusterDrsFaultsFaultsByVm `xml:"faultsByVm,typeattr"` -} - -func init() { - t["ClusterDrsFaults"] = reflect.TypeOf((*ClusterDrsFaults)(nil)).Elem() -} - -type ClusterDrsFaultsFaultsByVirtualDisk struct { - ClusterDrsFaultsFaultsByVm - - Disk *VirtualDiskId `xml:"disk,omitempty"` -} - -func init() { - t["ClusterDrsFaultsFaultsByVirtualDisk"] = reflect.TypeOf((*ClusterDrsFaultsFaultsByVirtualDisk)(nil)).Elem() -} - -type ClusterDrsFaultsFaultsByVm struct { - DynamicData - - Vm *ManagedObjectReference `xml:"vm,omitempty"` - Fault []LocalizedMethodFault `xml:"fault"` -} - -func init() { - t["ClusterDrsFaultsFaultsByVm"] = reflect.TypeOf((*ClusterDrsFaultsFaultsByVm)(nil)).Elem() -} - -type ClusterDrsMigration struct { - DynamicData - - Key string `xml:"key"` - Time time.Time `xml:"time"` - Vm ManagedObjectReference `xml:"vm"` - CpuLoad int32 `xml:"cpuLoad,omitempty"` - MemoryLoad int64 `xml:"memoryLoad,omitempty"` - Source ManagedObjectReference `xml:"source"` - SourceCpuLoad int32 `xml:"sourceCpuLoad,omitempty"` - SourceMemoryLoad int64 `xml:"sourceMemoryLoad,omitempty"` - Destination ManagedObjectReference `xml:"destination"` - DestinationCpuLoad int32 `xml:"destinationCpuLoad,omitempty"` - DestinationMemoryLoad int64 `xml:"destinationMemoryLoad,omitempty"` -} - -func init() { - t["ClusterDrsMigration"] = reflect.TypeOf((*ClusterDrsMigration)(nil)).Elem() -} - -type ClusterDrsRecommendation struct { - DynamicData - - Key string `xml:"key"` - Rating int32 `xml:"rating"` - Reason string `xml:"reason"` - ReasonText string `xml:"reasonText"` - MigrationList []ClusterDrsMigration `xml:"migrationList"` -} - -func init() { - t["ClusterDrsRecommendation"] = reflect.TypeOf((*ClusterDrsRecommendation)(nil)).Elem() -} - -type ClusterDrsVmConfigInfo struct { - DynamicData - - Key ManagedObjectReference `xml:"key"` - Enabled *bool `xml:"enabled"` - Behavior DrsBehavior `xml:"behavior,omitempty"` -} - -func init() { - t["ClusterDrsVmConfigInfo"] = reflect.TypeOf((*ClusterDrsVmConfigInfo)(nil)).Elem() -} - -type ClusterDrsVmConfigSpec struct { - ArrayUpdateSpec - - Info *ClusterDrsVmConfigInfo `xml:"info,omitempty"` -} - -func init() { - t["ClusterDrsVmConfigSpec"] = reflect.TypeOf((*ClusterDrsVmConfigSpec)(nil)).Elem() -} - -type ClusterEVCManagerCheckResult struct { - DynamicData - - EvcModeKey string `xml:"evcModeKey"` - Error LocalizedMethodFault `xml:"error"` - Host []ManagedObjectReference `xml:"host,omitempty"` -} - -func init() { - t["ClusterEVCManagerCheckResult"] = reflect.TypeOf((*ClusterEVCManagerCheckResult)(nil)).Elem() -} - -type ClusterEVCManagerEVCState struct { - DynamicData - - SupportedEVCMode []EVCMode `xml:"supportedEVCMode"` - CurrentEVCModeKey string `xml:"currentEVCModeKey,omitempty"` - GuaranteedCPUFeatures []HostCpuIdInfo `xml:"guaranteedCPUFeatures,omitempty"` - FeatureCapability []HostFeatureCapability `xml:"featureCapability,omitempty"` - FeatureMask []HostFeatureMask `xml:"featureMask,omitempty"` - FeatureRequirement []VirtualMachineFeatureRequirement `xml:"featureRequirement,omitempty"` -} - -func init() { - t["ClusterEVCManagerEVCState"] = reflect.TypeOf((*ClusterEVCManagerEVCState)(nil)).Elem() -} - -type ClusterEnterMaintenanceMode ClusterEnterMaintenanceModeRequestType - -func init() { - t["ClusterEnterMaintenanceMode"] = reflect.TypeOf((*ClusterEnterMaintenanceMode)(nil)).Elem() -} - -type ClusterEnterMaintenanceModeRequestType struct { - This ManagedObjectReference `xml:"_this"` - Host []ManagedObjectReference `xml:"host"` - Option []BaseOptionValue `xml:"option,omitempty,typeattr"` -} - -func init() { - t["ClusterEnterMaintenanceModeRequestType"] = reflect.TypeOf((*ClusterEnterMaintenanceModeRequestType)(nil)).Elem() -} - -type ClusterEnterMaintenanceModeResponse struct { - Returnval ClusterEnterMaintenanceResult `xml:"returnval"` -} - -type ClusterEnterMaintenanceResult struct { - DynamicData - - Recommendations []ClusterRecommendation `xml:"recommendations,omitempty"` - Fault *ClusterDrsFaults `xml:"fault,omitempty"` -} - -func init() { - t["ClusterEnterMaintenanceResult"] = reflect.TypeOf((*ClusterEnterMaintenanceResult)(nil)).Elem() -} - -type ClusterEvent struct { - Event -} - -func init() { - t["ClusterEvent"] = reflect.TypeOf((*ClusterEvent)(nil)).Elem() -} - -type ClusterFailoverHostAdmissionControlInfo struct { - ClusterDasAdmissionControlInfo - - HostStatus []ClusterFailoverHostAdmissionControlInfoHostStatus `xml:"hostStatus,omitempty"` -} - -func init() { - t["ClusterFailoverHostAdmissionControlInfo"] = reflect.TypeOf((*ClusterFailoverHostAdmissionControlInfo)(nil)).Elem() -} - -type ClusterFailoverHostAdmissionControlInfoHostStatus struct { - DynamicData - - Host ManagedObjectReference `xml:"host"` - Status ManagedEntityStatus `xml:"status"` -} - -func init() { - t["ClusterFailoverHostAdmissionControlInfoHostStatus"] = reflect.TypeOf((*ClusterFailoverHostAdmissionControlInfoHostStatus)(nil)).Elem() -} - -type ClusterFailoverHostAdmissionControlPolicy struct { - ClusterDasAdmissionControlPolicy - - FailoverHosts []ManagedObjectReference `xml:"failoverHosts,omitempty"` - FailoverLevel int32 `xml:"failoverLevel,omitempty"` -} - -func init() { - t["ClusterFailoverHostAdmissionControlPolicy"] = reflect.TypeOf((*ClusterFailoverHostAdmissionControlPolicy)(nil)).Elem() -} - -type ClusterFailoverLevelAdmissionControlInfo struct { - ClusterDasAdmissionControlInfo - - CurrentFailoverLevel int32 `xml:"currentFailoverLevel"` -} - -func init() { - t["ClusterFailoverLevelAdmissionControlInfo"] = reflect.TypeOf((*ClusterFailoverLevelAdmissionControlInfo)(nil)).Elem() -} - -type ClusterFailoverLevelAdmissionControlPolicy struct { - ClusterDasAdmissionControlPolicy - - FailoverLevel int32 `xml:"failoverLevel"` - SlotPolicy BaseClusterSlotPolicy `xml:"slotPolicy,omitempty,typeattr"` -} - -func init() { - t["ClusterFailoverLevelAdmissionControlPolicy"] = reflect.TypeOf((*ClusterFailoverLevelAdmissionControlPolicy)(nil)).Elem() -} - -type ClusterFailoverResourcesAdmissionControlInfo struct { - ClusterDasAdmissionControlInfo - - CurrentCpuFailoverResourcesPercent int32 `xml:"currentCpuFailoverResourcesPercent"` - CurrentMemoryFailoverResourcesPercent int32 `xml:"currentMemoryFailoverResourcesPercent"` - CurrentPMemFailoverResourcesPercent int32 `xml:"currentPMemFailoverResourcesPercent,omitempty"` -} - -func init() { - t["ClusterFailoverResourcesAdmissionControlInfo"] = reflect.TypeOf((*ClusterFailoverResourcesAdmissionControlInfo)(nil)).Elem() -} - -type ClusterFailoverResourcesAdmissionControlPolicy struct { - ClusterDasAdmissionControlPolicy - - CpuFailoverResourcesPercent int32 `xml:"cpuFailoverResourcesPercent"` - MemoryFailoverResourcesPercent int32 `xml:"memoryFailoverResourcesPercent"` - FailoverLevel int32 `xml:"failoverLevel,omitempty"` - AutoComputePercentages *bool `xml:"autoComputePercentages"` - PMemFailoverResourcesPercent int32 `xml:"pMemFailoverResourcesPercent,omitempty"` - AutoComputePMemFailoverResourcesPercent *bool `xml:"autoComputePMemFailoverResourcesPercent"` -} - -func init() { - t["ClusterFailoverResourcesAdmissionControlPolicy"] = reflect.TypeOf((*ClusterFailoverResourcesAdmissionControlPolicy)(nil)).Elem() -} - -type ClusterFixedSizeSlotPolicy struct { - ClusterSlotPolicy - - Cpu int32 `xml:"cpu"` - Memory int32 `xml:"memory"` -} - -func init() { - t["ClusterFixedSizeSlotPolicy"] = reflect.TypeOf((*ClusterFixedSizeSlotPolicy)(nil)).Elem() -} - -type ClusterGroupInfo struct { - DynamicData - - Name string `xml:"name"` - UserCreated *bool `xml:"userCreated"` - UniqueID string `xml:"uniqueID,omitempty"` -} - -func init() { - t["ClusterGroupInfo"] = reflect.TypeOf((*ClusterGroupInfo)(nil)).Elem() -} - -type ClusterGroupSpec struct { - ArrayUpdateSpec - - Info BaseClusterGroupInfo `xml:"info,omitempty,typeattr"` -} - -func init() { - t["ClusterGroupSpec"] = reflect.TypeOf((*ClusterGroupSpec)(nil)).Elem() -} - -type ClusterHostGroup struct { - ClusterGroupInfo - - Host []ManagedObjectReference `xml:"host,omitempty"` -} - -func init() { - t["ClusterHostGroup"] = reflect.TypeOf((*ClusterHostGroup)(nil)).Elem() -} - -type ClusterHostInfraUpdateHaModeAction struct { - ClusterAction - - OperationType string `xml:"operationType"` -} - -func init() { - t["ClusterHostInfraUpdateHaModeAction"] = reflect.TypeOf((*ClusterHostInfraUpdateHaModeAction)(nil)).Elem() -} - -type ClusterHostPowerAction struct { - ClusterAction - - OperationType HostPowerOperationType `xml:"operationType"` - PowerConsumptionWatt int32 `xml:"powerConsumptionWatt,omitempty"` - CpuCapacityMHz int32 `xml:"cpuCapacityMHz,omitempty"` - MemCapacityMB int32 `xml:"memCapacityMB,omitempty"` -} - -func init() { - t["ClusterHostPowerAction"] = reflect.TypeOf((*ClusterHostPowerAction)(nil)).Elem() -} - -type ClusterHostRecommendation struct { - DynamicData - - Host ManagedObjectReference `xml:"host"` - Rating int32 `xml:"rating"` -} - -func init() { - t["ClusterHostRecommendation"] = reflect.TypeOf((*ClusterHostRecommendation)(nil)).Elem() -} - -type ClusterInfraUpdateHaConfigInfo struct { - DynamicData - - Enabled *bool `xml:"enabled"` - Behavior string `xml:"behavior,omitempty"` - ModerateRemediation string `xml:"moderateRemediation,omitempty"` - SevereRemediation string `xml:"severeRemediation,omitempty"` - Providers []string `xml:"providers,omitempty"` -} - -func init() { - t["ClusterInfraUpdateHaConfigInfo"] = reflect.TypeOf((*ClusterInfraUpdateHaConfigInfo)(nil)).Elem() -} - -type ClusterInitialPlacementAction struct { - ClusterAction - - TargetHost ManagedObjectReference `xml:"targetHost"` - Pool *ManagedObjectReference `xml:"pool,omitempty"` -} - -func init() { - t["ClusterInitialPlacementAction"] = reflect.TypeOf((*ClusterInitialPlacementAction)(nil)).Elem() -} - -type ClusterIoFilterInfo struct { - IoFilterInfo - - OpType string `xml:"opType"` - VibUrl string `xml:"vibUrl,omitempty"` -} - -func init() { - t["ClusterIoFilterInfo"] = reflect.TypeOf((*ClusterIoFilterInfo)(nil)).Elem() -} - -type ClusterMigrationAction struct { - ClusterAction - - DrsMigration *ClusterDrsMigration `xml:"drsMigration,omitempty"` -} - -func init() { - t["ClusterMigrationAction"] = reflect.TypeOf((*ClusterMigrationAction)(nil)).Elem() -} - -type ClusterNetworkConfigSpec struct { - DynamicData - - NetworkPortGroup ManagedObjectReference `xml:"networkPortGroup"` - IpSettings CustomizationIPSettings `xml:"ipSettings"` -} - -func init() { - t["ClusterNetworkConfigSpec"] = reflect.TypeOf((*ClusterNetworkConfigSpec)(nil)).Elem() -} - -type ClusterNotAttemptedVmInfo struct { - DynamicData - - Vm ManagedObjectReference `xml:"vm"` - Fault LocalizedMethodFault `xml:"fault"` -} - -func init() { - t["ClusterNotAttemptedVmInfo"] = reflect.TypeOf((*ClusterNotAttemptedVmInfo)(nil)).Elem() -} - -type ClusterOrchestrationInfo struct { - DynamicData - - DefaultVmReadiness *ClusterVmReadiness `xml:"defaultVmReadiness,omitempty"` -} - -func init() { - t["ClusterOrchestrationInfo"] = reflect.TypeOf((*ClusterOrchestrationInfo)(nil)).Elem() -} - -type ClusterOvercommittedEvent struct { - ClusterEvent -} - -func init() { - t["ClusterOvercommittedEvent"] = reflect.TypeOf((*ClusterOvercommittedEvent)(nil)).Elem() -} - -type ClusterPowerOnVmResult struct { - DynamicData - - Attempted []ClusterAttemptedVmInfo `xml:"attempted,omitempty"` - NotAttempted []ClusterNotAttemptedVmInfo `xml:"notAttempted,omitempty"` - Recommendations []ClusterRecommendation `xml:"recommendations,omitempty"` -} - -func init() { - t["ClusterPowerOnVmResult"] = reflect.TypeOf((*ClusterPowerOnVmResult)(nil)).Elem() -} - -type ClusterPreemptibleVmPairInfo struct { - DynamicData - - Id int32 `xml:"id,omitempty"` - MonitoredVm ManagedObjectReference `xml:"monitoredVm"` - PreemptibleVm ManagedObjectReference `xml:"preemptibleVm"` -} - -func init() { - t["ClusterPreemptibleVmPairInfo"] = reflect.TypeOf((*ClusterPreemptibleVmPairInfo)(nil)).Elem() -} - -type ClusterPreemptibleVmPairSpec struct { - ArrayUpdateSpec - - Info *ClusterPreemptibleVmPairInfo `xml:"info,omitempty"` -} - -func init() { - t["ClusterPreemptibleVmPairSpec"] = reflect.TypeOf((*ClusterPreemptibleVmPairSpec)(nil)).Elem() -} - -type ClusterProactiveDrsConfigInfo struct { - DynamicData - - Enabled *bool `xml:"enabled"` -} - -func init() { - t["ClusterProactiveDrsConfigInfo"] = reflect.TypeOf((*ClusterProactiveDrsConfigInfo)(nil)).Elem() -} - -type ClusterProfileCompleteConfigSpec struct { - ClusterProfileConfigSpec - - ComplyProfile *ComplianceProfile `xml:"complyProfile,omitempty"` -} - -func init() { - t["ClusterProfileCompleteConfigSpec"] = reflect.TypeOf((*ClusterProfileCompleteConfigSpec)(nil)).Elem() -} - -type ClusterProfileConfigInfo struct { - ProfileConfigInfo - - ComplyProfile *ComplianceProfile `xml:"complyProfile,omitempty"` -} - -func init() { - t["ClusterProfileConfigInfo"] = reflect.TypeOf((*ClusterProfileConfigInfo)(nil)).Elem() -} - -type ClusterProfileConfigServiceCreateSpec struct { - ClusterProfileConfigSpec - - ServiceType []string `xml:"serviceType,omitempty"` -} - -func init() { - t["ClusterProfileConfigServiceCreateSpec"] = reflect.TypeOf((*ClusterProfileConfigServiceCreateSpec)(nil)).Elem() -} - -type ClusterProfileConfigSpec struct { - ClusterProfileCreateSpec -} - -func init() { - t["ClusterProfileConfigSpec"] = reflect.TypeOf((*ClusterProfileConfigSpec)(nil)).Elem() -} - -type ClusterProfileCreateSpec struct { - ProfileCreateSpec -} - -func init() { - t["ClusterProfileCreateSpec"] = reflect.TypeOf((*ClusterProfileCreateSpec)(nil)).Elem() -} - -type ClusterRecommendation struct { - DynamicData - - Key string `xml:"key"` - Type string `xml:"type"` - Time time.Time `xml:"time"` - Rating int32 `xml:"rating"` - Reason string `xml:"reason"` - ReasonText string `xml:"reasonText"` - WarningText string `xml:"warningText,omitempty"` - WarningDetails *LocalizableMessage `xml:"warningDetails,omitempty"` - Prerequisite []string `xml:"prerequisite,omitempty"` - Action []BaseClusterAction `xml:"action,omitempty,typeattr"` - Target *ManagedObjectReference `xml:"target,omitempty"` -} - -func init() { - t["ClusterRecommendation"] = reflect.TypeOf((*ClusterRecommendation)(nil)).Elem() -} - -type ClusterReconfiguredEvent struct { - ClusterEvent - - ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty"` -} - -func init() { - t["ClusterReconfiguredEvent"] = reflect.TypeOf((*ClusterReconfiguredEvent)(nil)).Elem() -} - -type ClusterResourceUsageSummary struct { - DynamicData - - CpuUsedMHz int32 `xml:"cpuUsedMHz"` - CpuCapacityMHz int32 `xml:"cpuCapacityMHz"` - MemUsedMB int32 `xml:"memUsedMB"` - MemCapacityMB int32 `xml:"memCapacityMB"` - PMemAvailableMB int64 `xml:"pMemAvailableMB,omitempty"` - PMemCapacityMB int64 `xml:"pMemCapacityMB,omitempty"` - StorageUsedMB int64 `xml:"storageUsedMB"` - StorageCapacityMB int64 `xml:"storageCapacityMB"` -} - -func init() { - t["ClusterResourceUsageSummary"] = reflect.TypeOf((*ClusterResourceUsageSummary)(nil)).Elem() -} - -type ClusterRuleInfo struct { - DynamicData - - Key int32 `xml:"key,omitempty"` - Status ManagedEntityStatus `xml:"status,omitempty"` - Enabled *bool `xml:"enabled"` - Name string `xml:"name,omitempty"` - Mandatory *bool `xml:"mandatory"` - UserCreated *bool `xml:"userCreated"` - InCompliance *bool `xml:"inCompliance"` - RuleUuid string `xml:"ruleUuid,omitempty"` -} - -func init() { - t["ClusterRuleInfo"] = reflect.TypeOf((*ClusterRuleInfo)(nil)).Elem() -} - -type ClusterRuleSpec struct { - ArrayUpdateSpec - - Info BaseClusterRuleInfo `xml:"info,omitempty,typeattr"` -} - -func init() { - t["ClusterRuleSpec"] = reflect.TypeOf((*ClusterRuleSpec)(nil)).Elem() -} - -type ClusterSlotPolicy struct { - DynamicData -} - -func init() { - t["ClusterSlotPolicy"] = reflect.TypeOf((*ClusterSlotPolicy)(nil)).Elem() -} - -type ClusterStatusChangedEvent struct { - ClusterEvent - - OldStatus string `xml:"oldStatus"` - NewStatus string `xml:"newStatus"` -} - -func init() { - t["ClusterStatusChangedEvent"] = reflect.TypeOf((*ClusterStatusChangedEvent)(nil)).Elem() -} - -type ClusterSystemVMsConfigInfo struct { - DynamicData - - AllowedDatastores []ManagedObjectReference `xml:"allowedDatastores,omitempty"` - NotAllowedDatastores []ManagedObjectReference `xml:"notAllowedDatastores,omitempty"` - DsTagCategoriesToExclude []string `xml:"dsTagCategoriesToExclude,omitempty"` -} - -func init() { - t["ClusterSystemVMsConfigInfo"] = reflect.TypeOf((*ClusterSystemVMsConfigInfo)(nil)).Elem() -} - -type ClusterSystemVMsConfigSpec struct { - DynamicData - - AllowedDatastores []ClusterDatastoreUpdateSpec `xml:"allowedDatastores,omitempty"` - NotAllowedDatastores []ClusterDatastoreUpdateSpec `xml:"notAllowedDatastores,omitempty"` - DsTagCategoriesToExclude []ClusterTagCategoryUpdateSpec `xml:"dsTagCategoriesToExclude,omitempty"` -} - -func init() { - t["ClusterSystemVMsConfigSpec"] = reflect.TypeOf((*ClusterSystemVMsConfigSpec)(nil)).Elem() -} - -type ClusterTagCategoryUpdateSpec struct { - ArrayUpdateSpec - - Category string `xml:"category,omitempty"` -} - -func init() { - t["ClusterTagCategoryUpdateSpec"] = reflect.TypeOf((*ClusterTagCategoryUpdateSpec)(nil)).Elem() -} - -type ClusterUsageSummary struct { - DynamicData - - TotalCpuCapacityMhz int32 `xml:"totalCpuCapacityMhz"` - TotalMemCapacityMB int32 `xml:"totalMemCapacityMB"` - CpuReservationMhz int32 `xml:"cpuReservationMhz"` - MemReservationMB int32 `xml:"memReservationMB"` - PoweredOffCpuReservationMhz int32 `xml:"poweredOffCpuReservationMhz,omitempty"` - PoweredOffMemReservationMB int32 `xml:"poweredOffMemReservationMB,omitempty"` - CpuDemandMhz int32 `xml:"cpuDemandMhz"` - MemDemandMB int32 `xml:"memDemandMB"` - StatsGenNumber int64 `xml:"statsGenNumber"` - CpuEntitledMhz int32 `xml:"cpuEntitledMhz"` - MemEntitledMB int32 `xml:"memEntitledMB"` - PoweredOffVmCount int32 `xml:"poweredOffVmCount"` - TotalVmCount int32 `xml:"totalVmCount"` -} - -func init() { - t["ClusterUsageSummary"] = reflect.TypeOf((*ClusterUsageSummary)(nil)).Elem() -} - -type ClusterVmComponentProtectionSettings struct { - DynamicData - - VmStorageProtectionForAPD string `xml:"vmStorageProtectionForAPD,omitempty"` - EnableAPDTimeoutForHosts *bool `xml:"enableAPDTimeoutForHosts"` - VmTerminateDelayForAPDSec int32 `xml:"vmTerminateDelayForAPDSec,omitempty"` - VmReactionOnAPDCleared string `xml:"vmReactionOnAPDCleared,omitempty"` - VmStorageProtectionForPDL string `xml:"vmStorageProtectionForPDL,omitempty"` -} - -func init() { - t["ClusterVmComponentProtectionSettings"] = reflect.TypeOf((*ClusterVmComponentProtectionSettings)(nil)).Elem() -} - -type ClusterVmGroup struct { - ClusterGroupInfo - - Vm []ManagedObjectReference `xml:"vm,omitempty"` -} - -func init() { - t["ClusterVmGroup"] = reflect.TypeOf((*ClusterVmGroup)(nil)).Elem() -} - -type ClusterVmHostRuleInfo struct { - ClusterRuleInfo - - VmGroupName string `xml:"vmGroupName,omitempty"` - AffineHostGroupName string `xml:"affineHostGroupName,omitempty"` - AntiAffineHostGroupName string `xml:"antiAffineHostGroupName,omitempty"` -} - -func init() { - t["ClusterVmHostRuleInfo"] = reflect.TypeOf((*ClusterVmHostRuleInfo)(nil)).Elem() -} - -type ClusterVmOrchestrationInfo struct { - DynamicData - - Vm ManagedObjectReference `xml:"vm"` - VmReadiness ClusterVmReadiness `xml:"vmReadiness"` -} - -func init() { - t["ClusterVmOrchestrationInfo"] = reflect.TypeOf((*ClusterVmOrchestrationInfo)(nil)).Elem() -} - -type ClusterVmOrchestrationSpec struct { - ArrayUpdateSpec - - Info *ClusterVmOrchestrationInfo `xml:"info,omitempty"` -} - -func init() { - t["ClusterVmOrchestrationSpec"] = reflect.TypeOf((*ClusterVmOrchestrationSpec)(nil)).Elem() -} - -type ClusterVmReadiness struct { - DynamicData - - ReadyCondition string `xml:"readyCondition,omitempty"` - PostReadyDelay int32 `xml:"postReadyDelay,omitempty"` -} - -func init() { - t["ClusterVmReadiness"] = reflect.TypeOf((*ClusterVmReadiness)(nil)).Elem() -} - -type ClusterVmToolsMonitoringSettings struct { - DynamicData - - Enabled *bool `xml:"enabled"` - VmMonitoring string `xml:"vmMonitoring,omitempty"` - ClusterSettings *bool `xml:"clusterSettings"` - FailureInterval int32 `xml:"failureInterval,omitempty"` - MinUpTime int32 `xml:"minUpTime,omitempty"` - MaxFailures int32 `xml:"maxFailures,omitempty"` - MaxFailureWindow int32 `xml:"maxFailureWindow,omitempty"` -} - -func init() { - t["ClusterVmToolsMonitoringSettings"] = reflect.TypeOf((*ClusterVmToolsMonitoringSettings)(nil)).Elem() -} - -type CollectorAddressUnset struct { - DvsFault -} - -func init() { - t["CollectorAddressUnset"] = reflect.TypeOf((*CollectorAddressUnset)(nil)).Elem() -} - -type CollectorAddressUnsetFault CollectorAddressUnset - -func init() { - t["CollectorAddressUnsetFault"] = reflect.TypeOf((*CollectorAddressUnsetFault)(nil)).Elem() -} - -type ComplianceFailure struct { - DynamicData - - FailureType string `xml:"failureType"` - Message LocalizableMessage `xml:"message"` - ExpressionName string `xml:"expressionName,omitempty"` - FailureValues []ComplianceFailureComplianceFailureValues `xml:"failureValues,omitempty"` -} - -func init() { - t["ComplianceFailure"] = reflect.TypeOf((*ComplianceFailure)(nil)).Elem() -} - -type ComplianceFailureComplianceFailureValues struct { - DynamicData - - ComparisonIdentifier string `xml:"comparisonIdentifier"` - ProfileInstance string `xml:"profileInstance,omitempty"` - HostValue AnyType `xml:"hostValue,omitempty,typeattr"` - ProfileValue AnyType `xml:"profileValue,omitempty,typeattr"` -} - -func init() { - t["ComplianceFailureComplianceFailureValues"] = reflect.TypeOf((*ComplianceFailureComplianceFailureValues)(nil)).Elem() -} - -type ComplianceLocator struct { - DynamicData - - ExpressionName string `xml:"expressionName"` - ApplyPath ProfilePropertyPath `xml:"applyPath"` -} - -func init() { - t["ComplianceLocator"] = reflect.TypeOf((*ComplianceLocator)(nil)).Elem() -} - -type ComplianceProfile struct { - DynamicData - - Expression []BaseProfileExpression `xml:"expression,typeattr"` - RootExpression string `xml:"rootExpression"` -} - -func init() { - t["ComplianceProfile"] = reflect.TypeOf((*ComplianceProfile)(nil)).Elem() -} - -type ComplianceResult struct { - DynamicData - - Profile *ManagedObjectReference `xml:"profile,omitempty"` - ComplianceStatus string `xml:"complianceStatus"` - Entity *ManagedObjectReference `xml:"entity,omitempty"` - CheckTime *time.Time `xml:"checkTime"` - Failure []ComplianceFailure `xml:"failure,omitempty"` -} - -func init() { - t["ComplianceResult"] = reflect.TypeOf((*ComplianceResult)(nil)).Elem() -} - -type CompositeHostProfileRequestType struct { - This ManagedObjectReference `xml:"_this"` - Source ManagedObjectReference `xml:"source"` - Targets []ManagedObjectReference `xml:"targets,omitempty"` - ToBeMerged *HostApplyProfile `xml:"toBeMerged,omitempty"` - ToBeReplacedWith *HostApplyProfile `xml:"toBeReplacedWith,omitempty"` - ToBeDeleted *HostApplyProfile `xml:"toBeDeleted,omitempty"` - EnableStatusToBeCopied *HostApplyProfile `xml:"enableStatusToBeCopied,omitempty"` -} - -func init() { - t["CompositeHostProfileRequestType"] = reflect.TypeOf((*CompositeHostProfileRequestType)(nil)).Elem() -} - -type CompositeHostProfile_Task CompositeHostProfileRequestType - -func init() { - t["CompositeHostProfile_Task"] = reflect.TypeOf((*CompositeHostProfile_Task)(nil)).Elem() -} - -type CompositeHostProfile_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CompositePolicyOption struct { - PolicyOption - - Option []BasePolicyOption `xml:"option,omitempty,typeattr"` -} - -func init() { - t["CompositePolicyOption"] = reflect.TypeOf((*CompositePolicyOption)(nil)).Elem() -} - -type ComputeDiskPartitionInfo ComputeDiskPartitionInfoRequestType - -func init() { - t["ComputeDiskPartitionInfo"] = reflect.TypeOf((*ComputeDiskPartitionInfo)(nil)).Elem() -} - -type ComputeDiskPartitionInfoForResize ComputeDiskPartitionInfoForResizeRequestType - -func init() { - t["ComputeDiskPartitionInfoForResize"] = reflect.TypeOf((*ComputeDiskPartitionInfoForResize)(nil)).Elem() -} - -type ComputeDiskPartitionInfoForResizeRequestType struct { - This ManagedObjectReference `xml:"_this"` - Partition HostScsiDiskPartition `xml:"partition"` - BlockRange HostDiskPartitionBlockRange `xml:"blockRange"` - PartitionFormat string `xml:"partitionFormat,omitempty"` -} - -func init() { - t["ComputeDiskPartitionInfoForResizeRequestType"] = reflect.TypeOf((*ComputeDiskPartitionInfoForResizeRequestType)(nil)).Elem() -} - -type ComputeDiskPartitionInfoForResizeResponse struct { - Returnval HostDiskPartitionInfo `xml:"returnval"` -} - -type ComputeDiskPartitionInfoRequestType struct { - This ManagedObjectReference `xml:"_this"` - DevicePath string `xml:"devicePath"` - Layout HostDiskPartitionLayout `xml:"layout"` - PartitionFormat string `xml:"partitionFormat,omitempty"` -} - -func init() { - t["ComputeDiskPartitionInfoRequestType"] = reflect.TypeOf((*ComputeDiskPartitionInfoRequestType)(nil)).Elem() -} - -type ComputeDiskPartitionInfoResponse struct { - Returnval HostDiskPartitionInfo `xml:"returnval"` -} - -type ComputeResourceConfigInfo struct { - DynamicData - - VmSwapPlacement string `xml:"vmSwapPlacement"` - SpbmEnabled *bool `xml:"spbmEnabled"` - DefaultHardwareVersionKey string `xml:"defaultHardwareVersionKey,omitempty"` - MaximumHardwareVersionKey string `xml:"maximumHardwareVersionKey,omitempty"` -} - -func init() { - t["ComputeResourceConfigInfo"] = reflect.TypeOf((*ComputeResourceConfigInfo)(nil)).Elem() -} - -type ComputeResourceConfigSpec struct { - DynamicData - - VmSwapPlacement string `xml:"vmSwapPlacement,omitempty"` - SpbmEnabled *bool `xml:"spbmEnabled"` - DefaultHardwareVersionKey string `xml:"defaultHardwareVersionKey,omitempty"` - DesiredSoftwareSpec *DesiredSoftwareSpec `xml:"desiredSoftwareSpec,omitempty"` - MaximumHardwareVersionKey string `xml:"maximumHardwareVersionKey,omitempty"` - EnableConfigManager *bool `xml:"enableConfigManager"` -} - -func init() { - t["ComputeResourceConfigSpec"] = reflect.TypeOf((*ComputeResourceConfigSpec)(nil)).Elem() -} - -type ComputeResourceEventArgument struct { - EntityEventArgument - - ComputeResource ManagedObjectReference `xml:"computeResource"` -} - -func init() { - t["ComputeResourceEventArgument"] = reflect.TypeOf((*ComputeResourceEventArgument)(nil)).Elem() -} - -type ComputeResourceHostSPBMLicenseInfo struct { - DynamicData - - Host ManagedObjectReference `xml:"host"` - LicenseState ComputeResourceHostSPBMLicenseInfoHostSPBMLicenseState `xml:"licenseState"` -} - -func init() { - t["ComputeResourceHostSPBMLicenseInfo"] = reflect.TypeOf((*ComputeResourceHostSPBMLicenseInfo)(nil)).Elem() -} - -type ComputeResourceSummary struct { - DynamicData - - TotalCpu int32 `xml:"totalCpu"` - TotalMemory int64 `xml:"totalMemory"` - NumCpuCores int16 `xml:"numCpuCores"` - NumCpuThreads int16 `xml:"numCpuThreads"` - EffectiveCpu int32 `xml:"effectiveCpu"` - EffectiveMemory int64 `xml:"effectiveMemory"` - NumHosts int32 `xml:"numHosts"` - NumEffectiveHosts int32 `xml:"numEffectiveHosts"` - OverallStatus ManagedEntityStatus `xml:"overallStatus"` -} - -func init() { - t["ComputeResourceSummary"] = reflect.TypeOf((*ComputeResourceSummary)(nil)).Elem() -} - -type ConcurrentAccess struct { - VimFault -} - -func init() { - t["ConcurrentAccess"] = reflect.TypeOf((*ConcurrentAccess)(nil)).Elem() -} - -type ConcurrentAccessFault ConcurrentAccess - -func init() { - t["ConcurrentAccessFault"] = reflect.TypeOf((*ConcurrentAccessFault)(nil)).Elem() -} - -type ConfigTarget struct { - DynamicData - - NumCpus int32 `xml:"numCpus"` - NumCpuCores int32 `xml:"numCpuCores"` - NumNumaNodes int32 `xml:"numNumaNodes"` - MaxCpusPerHost int32 `xml:"maxCpusPerHost,omitempty"` - SmcPresent *bool `xml:"smcPresent"` - Datastore []VirtualMachineDatastoreInfo `xml:"datastore,omitempty"` - Network []VirtualMachineNetworkInfo `xml:"network,omitempty"` - OpaqueNetwork []OpaqueNetworkTargetInfo `xml:"opaqueNetwork,omitempty"` - DistributedVirtualPortgroup []DistributedVirtualPortgroupInfo `xml:"distributedVirtualPortgroup,omitempty"` - DistributedVirtualSwitch []DistributedVirtualSwitchInfo `xml:"distributedVirtualSwitch,omitempty"` - CdRom []VirtualMachineCdromInfo `xml:"cdRom,omitempty"` - Serial []VirtualMachineSerialInfo `xml:"serial,omitempty"` - Parallel []VirtualMachineParallelInfo `xml:"parallel,omitempty"` - Sound []VirtualMachineSoundInfo `xml:"sound,omitempty"` - Usb []VirtualMachineUsbInfo `xml:"usb,omitempty"` - Floppy []VirtualMachineFloppyInfo `xml:"floppy,omitempty"` - LegacyNetworkInfo []VirtualMachineLegacyNetworkSwitchInfo `xml:"legacyNetworkInfo,omitempty"` - ScsiPassthrough []VirtualMachineScsiPassthroughInfo `xml:"scsiPassthrough,omitempty"` - ScsiDisk []VirtualMachineScsiDiskDeviceInfo `xml:"scsiDisk,omitempty"` - IdeDisk []VirtualMachineIdeDiskDeviceInfo `xml:"ideDisk,omitempty"` - MaxMemMBOptimalPerf int32 `xml:"maxMemMBOptimalPerf"` - SupportedMaxMemMB int32 `xml:"supportedMaxMemMB,omitempty"` - ResourcePool *ResourcePoolRuntimeInfo `xml:"resourcePool,omitempty"` - AutoVmotion *bool `xml:"autoVmotion"` - PciPassthrough []BaseVirtualMachinePciPassthroughInfo `xml:"pciPassthrough,omitempty,typeattr"` - Sriov []VirtualMachineSriovInfo `xml:"sriov,omitempty"` - VFlashModule []VirtualMachineVFlashModuleInfo `xml:"vFlashModule,omitempty"` - SharedGpuPassthroughTypes []VirtualMachinePciSharedGpuPassthroughInfo `xml:"sharedGpuPassthroughTypes,omitempty"` - AvailablePersistentMemoryReservationMB int64 `xml:"availablePersistentMemoryReservationMB,omitempty"` - DynamicPassthrough []VirtualMachineDynamicPassthroughInfo `xml:"dynamicPassthrough,omitempty"` - SgxTargetInfo *VirtualMachineSgxTargetInfo `xml:"sgxTargetInfo,omitempty"` - PrecisionClockInfo []VirtualMachinePrecisionClockInfo `xml:"precisionClockInfo,omitempty"` - SevSupported *bool `xml:"sevSupported"` - VgpuDeviceInfo []VirtualMachineVgpuDeviceInfo `xml:"vgpuDeviceInfo,omitempty"` - VgpuProfileInfo []VirtualMachineVgpuProfileInfo `xml:"vgpuProfileInfo,omitempty"` - VendorDeviceGroupInfo []VirtualMachineVendorDeviceGroupInfo `xml:"vendorDeviceGroupInfo,omitempty"` - MaxSimultaneousThreads int32 `xml:"maxSimultaneousThreads,omitempty"` - DvxClassInfo []VirtualMachineDvxClassInfo `xml:"dvxClassInfo,omitempty"` -} - -func init() { - t["ConfigTarget"] = reflect.TypeOf((*ConfigTarget)(nil)).Elem() -} - -type ConfigureCryptoKey ConfigureCryptoKeyRequestType - -func init() { - t["ConfigureCryptoKey"] = reflect.TypeOf((*ConfigureCryptoKey)(nil)).Elem() -} - -type ConfigureCryptoKeyRequestType struct { - This ManagedObjectReference `xml:"_this"` - KeyId *CryptoKeyId `xml:"keyId,omitempty"` -} - -func init() { - t["ConfigureCryptoKeyRequestType"] = reflect.TypeOf((*ConfigureCryptoKeyRequestType)(nil)).Elem() -} - -type ConfigureCryptoKeyResponse struct { -} - -type ConfigureDatastoreIORMRequestType struct { - This ManagedObjectReference `xml:"_this"` - Datastore ManagedObjectReference `xml:"datastore"` - Spec StorageIORMConfigSpec `xml:"spec"` -} - -func init() { - t["ConfigureDatastoreIORMRequestType"] = reflect.TypeOf((*ConfigureDatastoreIORMRequestType)(nil)).Elem() -} - -type ConfigureDatastoreIORM_Task ConfigureDatastoreIORMRequestType - -func init() { - t["ConfigureDatastoreIORM_Task"] = reflect.TypeOf((*ConfigureDatastoreIORM_Task)(nil)).Elem() -} - -type ConfigureDatastoreIORM_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ConfigureDatastorePrincipal ConfigureDatastorePrincipalRequestType - -func init() { - t["ConfigureDatastorePrincipal"] = reflect.TypeOf((*ConfigureDatastorePrincipal)(nil)).Elem() -} - -type ConfigureDatastorePrincipalRequestType struct { - This ManagedObjectReference `xml:"_this"` - UserName string `xml:"userName"` - Password string `xml:"password,omitempty"` -} - -func init() { - t["ConfigureDatastorePrincipalRequestType"] = reflect.TypeOf((*ConfigureDatastorePrincipalRequestType)(nil)).Elem() -} - -type ConfigureDatastorePrincipalResponse struct { -} - -type ConfigureEvcModeRequestType struct { - This ManagedObjectReference `xml:"_this"` - EvcModeKey string `xml:"evcModeKey"` - EvcGraphicsModeKey string `xml:"evcGraphicsModeKey,omitempty"` -} - -func init() { - t["ConfigureEvcModeRequestType"] = reflect.TypeOf((*ConfigureEvcModeRequestType)(nil)).Elem() -} - -type ConfigureEvcMode_Task ConfigureEvcModeRequestType - -func init() { - t["ConfigureEvcMode_Task"] = reflect.TypeOf((*ConfigureEvcMode_Task)(nil)).Elem() -} - -type ConfigureEvcMode_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ConfigureHCIRequestType struct { - This ManagedObjectReference `xml:"_this"` - ClusterSpec ClusterComputeResourceHCIConfigSpec `xml:"clusterSpec"` - HostInputs []ClusterComputeResourceHostConfigurationInput `xml:"hostInputs,omitempty"` -} - -func init() { - t["ConfigureHCIRequestType"] = reflect.TypeOf((*ConfigureHCIRequestType)(nil)).Elem() -} - -type ConfigureHCI_Task ConfigureHCIRequestType - -func init() { - t["ConfigureHCI_Task"] = reflect.TypeOf((*ConfigureHCI_Task)(nil)).Elem() -} - -type ConfigureHCI_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ConfigureHostCacheRequestType struct { - This ManagedObjectReference `xml:"_this"` - Spec HostCacheConfigurationSpec `xml:"spec"` -} - -func init() { - t["ConfigureHostCacheRequestType"] = reflect.TypeOf((*ConfigureHostCacheRequestType)(nil)).Elem() -} - -type ConfigureHostCache_Task ConfigureHostCacheRequestType - -func init() { - t["ConfigureHostCache_Task"] = reflect.TypeOf((*ConfigureHostCache_Task)(nil)).Elem() -} - -type ConfigureHostCache_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ConfigureLicenseSource ConfigureLicenseSourceRequestType - -func init() { - t["ConfigureLicenseSource"] = reflect.TypeOf((*ConfigureLicenseSource)(nil)).Elem() -} - -type ConfigureLicenseSourceRequestType struct { - This ManagedObjectReference `xml:"_this"` - Host *ManagedObjectReference `xml:"host,omitempty"` - LicenseSource BaseLicenseSource `xml:"licenseSource,typeattr"` -} - -func init() { - t["ConfigureLicenseSourceRequestType"] = reflect.TypeOf((*ConfigureLicenseSourceRequestType)(nil)).Elem() -} - -type ConfigureLicenseSourceResponse struct { -} - -type ConfigurePowerPolicy ConfigurePowerPolicyRequestType - -func init() { - t["ConfigurePowerPolicy"] = reflect.TypeOf((*ConfigurePowerPolicy)(nil)).Elem() -} - -type ConfigurePowerPolicyRequestType struct { - This ManagedObjectReference `xml:"_this"` - Key int32 `xml:"key"` -} - -func init() { - t["ConfigurePowerPolicyRequestType"] = reflect.TypeOf((*ConfigurePowerPolicyRequestType)(nil)).Elem() -} - -type ConfigurePowerPolicyResponse struct { -} - -type ConfigureStorageDrsForPodRequestType struct { - This ManagedObjectReference `xml:"_this"` - Pod ManagedObjectReference `xml:"pod"` - Spec StorageDrsConfigSpec `xml:"spec"` - Modify bool `xml:"modify"` -} - -func init() { - t["ConfigureStorageDrsForPodRequestType"] = reflect.TypeOf((*ConfigureStorageDrsForPodRequestType)(nil)).Elem() -} - -type ConfigureStorageDrsForPod_Task ConfigureStorageDrsForPodRequestType - -func init() { - t["ConfigureStorageDrsForPod_Task"] = reflect.TypeOf((*ConfigureStorageDrsForPod_Task)(nil)).Elem() -} - -type ConfigureStorageDrsForPod_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ConfigureVFlashResourceExRequestType struct { - This ManagedObjectReference `xml:"_this"` - DevicePath []string `xml:"devicePath,omitempty"` -} - -func init() { - t["ConfigureVFlashResourceExRequestType"] = reflect.TypeOf((*ConfigureVFlashResourceExRequestType)(nil)).Elem() -} - -type ConfigureVFlashResourceEx_Task ConfigureVFlashResourceExRequestType - -func init() { - t["ConfigureVFlashResourceEx_Task"] = reflect.TypeOf((*ConfigureVFlashResourceEx_Task)(nil)).Elem() -} - -type ConfigureVFlashResourceEx_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ConflictingConfiguration struct { - DvsFault - - ConfigInConflict []ConflictingConfigurationConfig `xml:"configInConflict"` -} - -func init() { - t["ConflictingConfiguration"] = reflect.TypeOf((*ConflictingConfiguration)(nil)).Elem() -} - -type ConflictingConfigurationConfig struct { - DynamicData - - Entity *ManagedObjectReference `xml:"entity,omitempty"` - PropertyPath string `xml:"propertyPath"` -} - -func init() { - t["ConflictingConfigurationConfig"] = reflect.TypeOf((*ConflictingConfigurationConfig)(nil)).Elem() -} - -type ConflictingConfigurationFault ConflictingConfiguration - -func init() { - t["ConflictingConfigurationFault"] = reflect.TypeOf((*ConflictingConfigurationFault)(nil)).Elem() -} - -type ConflictingDatastoreFound struct { - RuntimeFault - - Name string `xml:"name"` - Url string `xml:"url"` -} - -func init() { - t["ConflictingDatastoreFound"] = reflect.TypeOf((*ConflictingDatastoreFound)(nil)).Elem() -} - -type ConflictingDatastoreFoundFault ConflictingDatastoreFound - -func init() { - t["ConflictingDatastoreFoundFault"] = reflect.TypeOf((*ConflictingDatastoreFoundFault)(nil)).Elem() -} - -type ConnectNvmeController ConnectNvmeControllerRequestType - -func init() { - t["ConnectNvmeController"] = reflect.TypeOf((*ConnectNvmeController)(nil)).Elem() -} - -type ConnectNvmeControllerExRequestType struct { - This ManagedObjectReference `xml:"_this"` - ConnectSpec []HostNvmeConnectSpec `xml:"connectSpec,omitempty"` -} - -func init() { - t["ConnectNvmeControllerExRequestType"] = reflect.TypeOf((*ConnectNvmeControllerExRequestType)(nil)).Elem() -} - -type ConnectNvmeControllerEx_Task ConnectNvmeControllerExRequestType - -func init() { - t["ConnectNvmeControllerEx_Task"] = reflect.TypeOf((*ConnectNvmeControllerEx_Task)(nil)).Elem() -} - -type ConnectNvmeControllerEx_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ConnectNvmeControllerRequestType struct { - This ManagedObjectReference `xml:"_this"` - ConnectSpec HostNvmeConnectSpec `xml:"connectSpec"` -} - -func init() { - t["ConnectNvmeControllerRequestType"] = reflect.TypeOf((*ConnectNvmeControllerRequestType)(nil)).Elem() -} - -type ConnectNvmeControllerResponse struct { -} - -type ConnectedIso struct { - OvfExport - - Cdrom VirtualCdrom `xml:"cdrom"` - Filename string `xml:"filename"` -} - -func init() { - t["ConnectedIso"] = reflect.TypeOf((*ConnectedIso)(nil)).Elem() -} - -type ConnectedIsoFault ConnectedIso - -func init() { - t["ConnectedIsoFault"] = reflect.TypeOf((*ConnectedIsoFault)(nil)).Elem() -} - -type ConsolidateVMDisksRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["ConsolidateVMDisksRequestType"] = reflect.TypeOf((*ConsolidateVMDisksRequestType)(nil)).Elem() -} - -type ConsolidateVMDisks_Task ConsolidateVMDisksRequestType - -func init() { - t["ConsolidateVMDisks_Task"] = reflect.TypeOf((*ConsolidateVMDisks_Task)(nil)).Elem() -} - -type ConsolidateVMDisks_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ContinueRetrievePropertiesEx ContinueRetrievePropertiesExRequestType - -func init() { - t["ContinueRetrievePropertiesEx"] = reflect.TypeOf((*ContinueRetrievePropertiesEx)(nil)).Elem() -} - -type ContinueRetrievePropertiesExRequestType struct { - This ManagedObjectReference `xml:"_this"` - Token string `xml:"token"` -} - -func init() { - t["ContinueRetrievePropertiesExRequestType"] = reflect.TypeOf((*ContinueRetrievePropertiesExRequestType)(nil)).Elem() -} - -type ContinueRetrievePropertiesExResponse struct { - Returnval RetrieveResult `xml:"returnval"` -} - -type ConvertNamespacePathToUuidPath ConvertNamespacePathToUuidPathRequestType - -func init() { - t["ConvertNamespacePathToUuidPath"] = reflect.TypeOf((*ConvertNamespacePathToUuidPath)(nil)).Elem() -} - -type ConvertNamespacePathToUuidPathRequestType struct { - This ManagedObjectReference `xml:"_this"` - Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"` - NamespaceUrl string `xml:"namespaceUrl"` -} - -func init() { - t["ConvertNamespacePathToUuidPathRequestType"] = reflect.TypeOf((*ConvertNamespacePathToUuidPathRequestType)(nil)).Elem() -} - -type ConvertNamespacePathToUuidPathResponse struct { - Returnval string `xml:"returnval"` -} - -type CopyDatastoreFileRequestType struct { - This ManagedObjectReference `xml:"_this"` - SourceName string `xml:"sourceName"` - SourceDatacenter *ManagedObjectReference `xml:"sourceDatacenter,omitempty"` - DestinationName string `xml:"destinationName"` - DestinationDatacenter *ManagedObjectReference `xml:"destinationDatacenter,omitempty"` - Force *bool `xml:"force"` -} - -func init() { - t["CopyDatastoreFileRequestType"] = reflect.TypeOf((*CopyDatastoreFileRequestType)(nil)).Elem() -} - -type CopyDatastoreFile_Task CopyDatastoreFileRequestType - -func init() { - t["CopyDatastoreFile_Task"] = reflect.TypeOf((*CopyDatastoreFile_Task)(nil)).Elem() -} - -type CopyDatastoreFile_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CopyVirtualDiskRequestType struct { - This ManagedObjectReference `xml:"_this"` - SourceName string `xml:"sourceName"` - SourceDatacenter *ManagedObjectReference `xml:"sourceDatacenter,omitempty"` - DestName string `xml:"destName"` - DestDatacenter *ManagedObjectReference `xml:"destDatacenter,omitempty"` - DestSpec BaseVirtualDiskSpec `xml:"destSpec,omitempty,typeattr"` - Force *bool `xml:"force"` -} - -func init() { - t["CopyVirtualDiskRequestType"] = reflect.TypeOf((*CopyVirtualDiskRequestType)(nil)).Elem() -} - -type CopyVirtualDisk_Task CopyVirtualDiskRequestType - -func init() { - t["CopyVirtualDisk_Task"] = reflect.TypeOf((*CopyVirtualDisk_Task)(nil)).Elem() -} - -type CopyVirtualDisk_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CpuCompatibilityUnknown struct { - CpuIncompatible -} - -func init() { - t["CpuCompatibilityUnknown"] = reflect.TypeOf((*CpuCompatibilityUnknown)(nil)).Elem() -} - -type CpuCompatibilityUnknownFault CpuCompatibilityUnknown - -func init() { - t["CpuCompatibilityUnknownFault"] = reflect.TypeOf((*CpuCompatibilityUnknownFault)(nil)).Elem() -} - -type CpuHotPlugNotSupported struct { - VmConfigFault -} - -func init() { - t["CpuHotPlugNotSupported"] = reflect.TypeOf((*CpuHotPlugNotSupported)(nil)).Elem() -} - -type CpuHotPlugNotSupportedFault CpuHotPlugNotSupported - -func init() { - t["CpuHotPlugNotSupportedFault"] = reflect.TypeOf((*CpuHotPlugNotSupportedFault)(nil)).Elem() -} - -type CpuIncompatible struct { - VirtualHardwareCompatibilityIssue - - Level int32 `xml:"level"` - RegisterName string `xml:"registerName"` - RegisterBits string `xml:"registerBits,omitempty"` - DesiredBits string `xml:"desiredBits,omitempty"` - Host *ManagedObjectReference `xml:"host,omitempty"` -} - -func init() { - t["CpuIncompatible"] = reflect.TypeOf((*CpuIncompatible)(nil)).Elem() -} - -type CpuIncompatible1ECX struct { - CpuIncompatible - - Sse3 bool `xml:"sse3"` - Pclmulqdq *bool `xml:"pclmulqdq"` - Ssse3 bool `xml:"ssse3"` - Sse41 bool `xml:"sse41"` - Sse42 bool `xml:"sse42"` - Aes *bool `xml:"aes"` - Other bool `xml:"other"` - OtherOnly bool `xml:"otherOnly"` -} - -func init() { - t["CpuIncompatible1ECX"] = reflect.TypeOf((*CpuIncompatible1ECX)(nil)).Elem() -} - -type CpuIncompatible1ECXFault CpuIncompatible1ECX - -func init() { - t["CpuIncompatible1ECXFault"] = reflect.TypeOf((*CpuIncompatible1ECXFault)(nil)).Elem() -} - -type CpuIncompatible81EDX struct { - CpuIncompatible - - Nx bool `xml:"nx"` - Ffxsr bool `xml:"ffxsr"` - Rdtscp bool `xml:"rdtscp"` - Lm bool `xml:"lm"` - Other bool `xml:"other"` - OtherOnly bool `xml:"otherOnly"` -} - -func init() { - t["CpuIncompatible81EDX"] = reflect.TypeOf((*CpuIncompatible81EDX)(nil)).Elem() -} - -type CpuIncompatible81EDXFault CpuIncompatible81EDX - -func init() { - t["CpuIncompatible81EDXFault"] = reflect.TypeOf((*CpuIncompatible81EDXFault)(nil)).Elem() -} - -type CpuIncompatibleFault BaseCpuIncompatible - -func init() { - t["CpuIncompatibleFault"] = reflect.TypeOf((*CpuIncompatibleFault)(nil)).Elem() -} - -type CreateAlarm CreateAlarmRequestType - -func init() { - t["CreateAlarm"] = reflect.TypeOf((*CreateAlarm)(nil)).Elem() -} - -type CreateAlarmRequestType struct { - This ManagedObjectReference `xml:"_this"` - Entity ManagedObjectReference `xml:"entity"` - Spec BaseAlarmSpec `xml:"spec,typeattr"` -} - -func init() { - t["CreateAlarmRequestType"] = reflect.TypeOf((*CreateAlarmRequestType)(nil)).Elem() -} - -type CreateAlarmResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CreateChildVMRequestType struct { - This ManagedObjectReference `xml:"_this"` - Config VirtualMachineConfigSpec `xml:"config"` - Host *ManagedObjectReference `xml:"host,omitempty"` -} - -func init() { - t["CreateChildVMRequestType"] = reflect.TypeOf((*CreateChildVMRequestType)(nil)).Elem() -} - -type CreateChildVM_Task CreateChildVMRequestType - -func init() { - t["CreateChildVM_Task"] = reflect.TypeOf((*CreateChildVM_Task)(nil)).Elem() -} - -type CreateChildVM_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CreateCluster CreateClusterRequestType - -func init() { - t["CreateCluster"] = reflect.TypeOf((*CreateCluster)(nil)).Elem() -} - -type CreateClusterEx CreateClusterExRequestType - -func init() { - t["CreateClusterEx"] = reflect.TypeOf((*CreateClusterEx)(nil)).Elem() -} - -type CreateClusterExRequestType struct { - This ManagedObjectReference `xml:"_this"` - Name string `xml:"name"` - Spec ClusterConfigSpecEx `xml:"spec"` -} - -func init() { - t["CreateClusterExRequestType"] = reflect.TypeOf((*CreateClusterExRequestType)(nil)).Elem() -} - -type CreateClusterExResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CreateClusterRequestType struct { - This ManagedObjectReference `xml:"_this"` - Name string `xml:"name"` - Spec ClusterConfigSpec `xml:"spec"` -} - -func init() { - t["CreateClusterRequestType"] = reflect.TypeOf((*CreateClusterRequestType)(nil)).Elem() -} - -type CreateClusterResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CreateCollectorForEvents CreateCollectorForEventsRequestType - -func init() { - t["CreateCollectorForEvents"] = reflect.TypeOf((*CreateCollectorForEvents)(nil)).Elem() -} - -type CreateCollectorForEventsRequestType struct { - This ManagedObjectReference `xml:"_this"` - Filter EventFilterSpec `xml:"filter"` -} - -func init() { - t["CreateCollectorForEventsRequestType"] = reflect.TypeOf((*CreateCollectorForEventsRequestType)(nil)).Elem() -} - -type CreateCollectorForEventsResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CreateCollectorForTasks CreateCollectorForTasksRequestType - -func init() { - t["CreateCollectorForTasks"] = reflect.TypeOf((*CreateCollectorForTasks)(nil)).Elem() -} - -type CreateCollectorForTasksRequestType struct { - This ManagedObjectReference `xml:"_this"` - Filter TaskFilterSpec `xml:"filter"` -} - -func init() { - t["CreateCollectorForTasksRequestType"] = reflect.TypeOf((*CreateCollectorForTasksRequestType)(nil)).Elem() -} - -type CreateCollectorForTasksResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CreateContainerView CreateContainerViewRequestType - -func init() { - t["CreateContainerView"] = reflect.TypeOf((*CreateContainerView)(nil)).Elem() -} - -type CreateContainerViewRequestType struct { - This ManagedObjectReference `xml:"_this"` - Container ManagedObjectReference `xml:"container"` - Type []string `xml:"type,omitempty"` - Recursive bool `xml:"recursive"` -} - -func init() { - t["CreateContainerViewRequestType"] = reflect.TypeOf((*CreateContainerViewRequestType)(nil)).Elem() -} - -type CreateContainerViewResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CreateCustomizationSpec CreateCustomizationSpecRequestType - -func init() { - t["CreateCustomizationSpec"] = reflect.TypeOf((*CreateCustomizationSpec)(nil)).Elem() -} - -type CreateCustomizationSpecRequestType struct { - This ManagedObjectReference `xml:"_this"` - Item CustomizationSpecItem `xml:"item"` -} - -func init() { - t["CreateCustomizationSpecRequestType"] = reflect.TypeOf((*CreateCustomizationSpecRequestType)(nil)).Elem() -} - -type CreateCustomizationSpecResponse struct { -} - -type CreateDVPortgroupRequestType struct { - This ManagedObjectReference `xml:"_this"` - Spec DVPortgroupConfigSpec `xml:"spec"` -} - -func init() { - t["CreateDVPortgroupRequestType"] = reflect.TypeOf((*CreateDVPortgroupRequestType)(nil)).Elem() -} - -type CreateDVPortgroup_Task CreateDVPortgroupRequestType - -func init() { - t["CreateDVPortgroup_Task"] = reflect.TypeOf((*CreateDVPortgroup_Task)(nil)).Elem() -} - -type CreateDVPortgroup_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CreateDVSRequestType struct { - This ManagedObjectReference `xml:"_this"` - Spec DVSCreateSpec `xml:"spec"` -} - -func init() { - t["CreateDVSRequestType"] = reflect.TypeOf((*CreateDVSRequestType)(nil)).Elem() -} - -type CreateDVS_Task CreateDVSRequestType - -func init() { - t["CreateDVS_Task"] = reflect.TypeOf((*CreateDVS_Task)(nil)).Elem() -} - -type CreateDVS_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CreateDatacenter CreateDatacenterRequestType - -func init() { - t["CreateDatacenter"] = reflect.TypeOf((*CreateDatacenter)(nil)).Elem() -} - -type CreateDatacenterRequestType struct { - This ManagedObjectReference `xml:"_this"` - Name string `xml:"name"` -} - -func init() { - t["CreateDatacenterRequestType"] = reflect.TypeOf((*CreateDatacenterRequestType)(nil)).Elem() -} - -type CreateDatacenterResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CreateDefaultProfile CreateDefaultProfileRequestType - -func init() { - t["CreateDefaultProfile"] = reflect.TypeOf((*CreateDefaultProfile)(nil)).Elem() -} - -type CreateDefaultProfileRequestType struct { - This ManagedObjectReference `xml:"_this"` - ProfileType string `xml:"profileType"` - ProfileTypeName string `xml:"profileTypeName,omitempty"` - Profile *ManagedObjectReference `xml:"profile,omitempty"` -} - -func init() { - t["CreateDefaultProfileRequestType"] = reflect.TypeOf((*CreateDefaultProfileRequestType)(nil)).Elem() -} - -type CreateDefaultProfileResponse struct { - Returnval BaseApplyProfile `xml:"returnval,typeattr"` -} - -type CreateDescriptor CreateDescriptorRequestType - -func init() { - t["CreateDescriptor"] = reflect.TypeOf((*CreateDescriptor)(nil)).Elem() -} - -type CreateDescriptorRequestType struct { - This ManagedObjectReference `xml:"_this"` - Obj ManagedObjectReference `xml:"obj"` - Cdp OvfCreateDescriptorParams `xml:"cdp"` -} - -func init() { - t["CreateDescriptorRequestType"] = reflect.TypeOf((*CreateDescriptorRequestType)(nil)).Elem() -} - -type CreateDescriptorResponse struct { - Returnval OvfCreateDescriptorResult `xml:"returnval"` -} - -type CreateDiagnosticPartition CreateDiagnosticPartitionRequestType - -func init() { - t["CreateDiagnosticPartition"] = reflect.TypeOf((*CreateDiagnosticPartition)(nil)).Elem() -} - -type CreateDiagnosticPartitionRequestType struct { - This ManagedObjectReference `xml:"_this"` - Spec HostDiagnosticPartitionCreateSpec `xml:"spec"` -} - -func init() { - t["CreateDiagnosticPartitionRequestType"] = reflect.TypeOf((*CreateDiagnosticPartitionRequestType)(nil)).Elem() -} - -type CreateDiagnosticPartitionResponse struct { -} - -type CreateDirectory CreateDirectoryRequestType - -func init() { - t["CreateDirectory"] = reflect.TypeOf((*CreateDirectory)(nil)).Elem() -} - -type CreateDirectoryRequestType struct { - This ManagedObjectReference `xml:"_this"` - Datastore ManagedObjectReference `xml:"datastore"` - DisplayName string `xml:"displayName,omitempty"` - Policy string `xml:"policy,omitempty"` - Size int64 `xml:"size,omitempty"` -} - -func init() { - t["CreateDirectoryRequestType"] = reflect.TypeOf((*CreateDirectoryRequestType)(nil)).Elem() -} - -type CreateDirectoryResponse struct { - Returnval string `xml:"returnval"` -} - -type CreateDiskFromSnapshotRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id ID `xml:"id"` - Datastore ManagedObjectReference `xml:"datastore"` - SnapshotId ID `xml:"snapshotId"` - Name string `xml:"name"` - Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr"` - Crypto BaseCryptoSpec `xml:"crypto,omitempty,typeattr"` - Path string `xml:"path,omitempty"` -} - -func init() { - t["CreateDiskFromSnapshotRequestType"] = reflect.TypeOf((*CreateDiskFromSnapshotRequestType)(nil)).Elem() -} - -type CreateDiskFromSnapshot_Task CreateDiskFromSnapshotRequestType - -func init() { - t["CreateDiskFromSnapshot_Task"] = reflect.TypeOf((*CreateDiskFromSnapshot_Task)(nil)).Elem() -} - -type CreateDiskFromSnapshot_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CreateDiskRequestType struct { - This ManagedObjectReference `xml:"_this"` - Spec VslmCreateSpec `xml:"spec"` -} - -func init() { - t["CreateDiskRequestType"] = reflect.TypeOf((*CreateDiskRequestType)(nil)).Elem() -} - -type CreateDisk_Task CreateDiskRequestType - -func init() { - t["CreateDisk_Task"] = reflect.TypeOf((*CreateDisk_Task)(nil)).Elem() -} - -type CreateDisk_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CreateFilter CreateFilterRequestType - -func init() { - t["CreateFilter"] = reflect.TypeOf((*CreateFilter)(nil)).Elem() -} - -type CreateFilterRequestType struct { - This ManagedObjectReference `xml:"_this"` - Spec PropertyFilterSpec `xml:"spec"` - PartialUpdates bool `xml:"partialUpdates"` -} - -func init() { - t["CreateFilterRequestType"] = reflect.TypeOf((*CreateFilterRequestType)(nil)).Elem() -} - -type CreateFilterResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CreateFolder CreateFolderRequestType - -func init() { - t["CreateFolder"] = reflect.TypeOf((*CreateFolder)(nil)).Elem() -} - -type CreateFolderRequestType struct { - This ManagedObjectReference `xml:"_this"` - Name string `xml:"name"` -} - -func init() { - t["CreateFolderRequestType"] = reflect.TypeOf((*CreateFolderRequestType)(nil)).Elem() -} - -type CreateFolderResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CreateGroup CreateGroupRequestType - -func init() { - t["CreateGroup"] = reflect.TypeOf((*CreateGroup)(nil)).Elem() -} - -type CreateGroupRequestType struct { - This ManagedObjectReference `xml:"_this"` - Group BaseHostAccountSpec `xml:"group,typeattr"` -} - -func init() { - t["CreateGroupRequestType"] = reflect.TypeOf((*CreateGroupRequestType)(nil)).Elem() -} - -type CreateGroupResponse struct { -} - -type CreateImportSpec CreateImportSpecRequestType - -func init() { - t["CreateImportSpec"] = reflect.TypeOf((*CreateImportSpec)(nil)).Elem() -} - -type CreateImportSpecRequestType struct { - This ManagedObjectReference `xml:"_this"` - OvfDescriptor string `xml:"ovfDescriptor"` - ResourcePool ManagedObjectReference `xml:"resourcePool"` - Datastore ManagedObjectReference `xml:"datastore"` - Cisp OvfCreateImportSpecParams `xml:"cisp"` -} - -func init() { - t["CreateImportSpecRequestType"] = reflect.TypeOf((*CreateImportSpecRequestType)(nil)).Elem() -} - -type CreateImportSpecResponse struct { - Returnval OvfCreateImportSpecResult `xml:"returnval"` -} - -type CreateInventoryView CreateInventoryViewRequestType - -func init() { - t["CreateInventoryView"] = reflect.TypeOf((*CreateInventoryView)(nil)).Elem() -} - -type CreateInventoryViewRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["CreateInventoryViewRequestType"] = reflect.TypeOf((*CreateInventoryViewRequestType)(nil)).Elem() -} - -type CreateInventoryViewResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CreateIpPool CreateIpPoolRequestType - -func init() { - t["CreateIpPool"] = reflect.TypeOf((*CreateIpPool)(nil)).Elem() -} - -type CreateIpPoolRequestType struct { - This ManagedObjectReference `xml:"_this"` - Dc ManagedObjectReference `xml:"dc"` - Pool IpPool `xml:"pool"` -} - -func init() { - t["CreateIpPoolRequestType"] = reflect.TypeOf((*CreateIpPoolRequestType)(nil)).Elem() -} - -type CreateIpPoolResponse struct { - Returnval int32 `xml:"returnval"` -} - -type CreateListView CreateListViewRequestType - -func init() { - t["CreateListView"] = reflect.TypeOf((*CreateListView)(nil)).Elem() -} - -type CreateListViewFromView CreateListViewFromViewRequestType - -func init() { - t["CreateListViewFromView"] = reflect.TypeOf((*CreateListViewFromView)(nil)).Elem() -} - -type CreateListViewFromViewRequestType struct { - This ManagedObjectReference `xml:"_this"` - View ManagedObjectReference `xml:"view"` -} - -func init() { - t["CreateListViewFromViewRequestType"] = reflect.TypeOf((*CreateListViewFromViewRequestType)(nil)).Elem() -} - -type CreateListViewFromViewResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CreateListViewRequestType struct { - This ManagedObjectReference `xml:"_this"` - Obj []ManagedObjectReference `xml:"obj,omitempty"` -} - -func init() { - t["CreateListViewRequestType"] = reflect.TypeOf((*CreateListViewRequestType)(nil)).Elem() -} - -type CreateListViewResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CreateLocalDatastore CreateLocalDatastoreRequestType - -func init() { - t["CreateLocalDatastore"] = reflect.TypeOf((*CreateLocalDatastore)(nil)).Elem() -} - -type CreateLocalDatastoreRequestType struct { - This ManagedObjectReference `xml:"_this"` - Name string `xml:"name"` - Path string `xml:"path"` -} - -func init() { - t["CreateLocalDatastoreRequestType"] = reflect.TypeOf((*CreateLocalDatastoreRequestType)(nil)).Elem() -} - -type CreateLocalDatastoreResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CreateNasDatastore CreateNasDatastoreRequestType - -func init() { - t["CreateNasDatastore"] = reflect.TypeOf((*CreateNasDatastore)(nil)).Elem() -} - -type CreateNasDatastoreRequestType struct { - This ManagedObjectReference `xml:"_this"` - Spec HostNasVolumeSpec `xml:"spec"` -} - -func init() { - t["CreateNasDatastoreRequestType"] = reflect.TypeOf((*CreateNasDatastoreRequestType)(nil)).Elem() -} - -type CreateNasDatastoreResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CreateNvdimmNamespaceRequestType struct { - This ManagedObjectReference `xml:"_this"` - CreateSpec NvdimmNamespaceCreateSpec `xml:"createSpec"` -} - -func init() { - t["CreateNvdimmNamespaceRequestType"] = reflect.TypeOf((*CreateNvdimmNamespaceRequestType)(nil)).Elem() -} - -type CreateNvdimmNamespace_Task CreateNvdimmNamespaceRequestType - -func init() { - t["CreateNvdimmNamespace_Task"] = reflect.TypeOf((*CreateNvdimmNamespace_Task)(nil)).Elem() -} - -type CreateNvdimmNamespace_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CreateNvdimmPMemNamespaceRequestType struct { - This ManagedObjectReference `xml:"_this"` - CreateSpec NvdimmPMemNamespaceCreateSpec `xml:"createSpec"` -} - -func init() { - t["CreateNvdimmPMemNamespaceRequestType"] = reflect.TypeOf((*CreateNvdimmPMemNamespaceRequestType)(nil)).Elem() -} - -type CreateNvdimmPMemNamespace_Task CreateNvdimmPMemNamespaceRequestType - -func init() { - t["CreateNvdimmPMemNamespace_Task"] = reflect.TypeOf((*CreateNvdimmPMemNamespace_Task)(nil)).Elem() -} - -type CreateNvdimmPMemNamespace_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CreateNvmeOverRdmaAdapter CreateNvmeOverRdmaAdapterRequestType - -func init() { - t["CreateNvmeOverRdmaAdapter"] = reflect.TypeOf((*CreateNvmeOverRdmaAdapter)(nil)).Elem() -} - -type CreateNvmeOverRdmaAdapterRequestType struct { - This ManagedObjectReference `xml:"_this"` - RdmaDeviceName string `xml:"rdmaDeviceName"` -} - -func init() { - t["CreateNvmeOverRdmaAdapterRequestType"] = reflect.TypeOf((*CreateNvmeOverRdmaAdapterRequestType)(nil)).Elem() -} - -type CreateNvmeOverRdmaAdapterResponse struct { -} - -type CreateObjectScheduledTask CreateObjectScheduledTaskRequestType - -func init() { - t["CreateObjectScheduledTask"] = reflect.TypeOf((*CreateObjectScheduledTask)(nil)).Elem() -} - -type CreateObjectScheduledTaskRequestType struct { - This ManagedObjectReference `xml:"_this"` - Obj ManagedObjectReference `xml:"obj"` - Spec BaseScheduledTaskSpec `xml:"spec,typeattr"` -} - -func init() { - t["CreateObjectScheduledTaskRequestType"] = reflect.TypeOf((*CreateObjectScheduledTaskRequestType)(nil)).Elem() -} - -type CreateObjectScheduledTaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CreatePerfInterval CreatePerfIntervalRequestType - -func init() { - t["CreatePerfInterval"] = reflect.TypeOf((*CreatePerfInterval)(nil)).Elem() -} - -type CreatePerfIntervalRequestType struct { - This ManagedObjectReference `xml:"_this"` - IntervalId PerfInterval `xml:"intervalId"` -} - -func init() { - t["CreatePerfIntervalRequestType"] = reflect.TypeOf((*CreatePerfIntervalRequestType)(nil)).Elem() -} - -type CreatePerfIntervalResponse struct { -} - -type CreateProfile CreateProfileRequestType - -func init() { - t["CreateProfile"] = reflect.TypeOf((*CreateProfile)(nil)).Elem() -} - -type CreateProfileRequestType struct { - This ManagedObjectReference `xml:"_this"` - CreateSpec BaseProfileCreateSpec `xml:"createSpec,typeattr"` -} - -func init() { - t["CreateProfileRequestType"] = reflect.TypeOf((*CreateProfileRequestType)(nil)).Elem() -} - -type CreateProfileResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CreatePropertyCollector CreatePropertyCollectorRequestType - -func init() { - t["CreatePropertyCollector"] = reflect.TypeOf((*CreatePropertyCollector)(nil)).Elem() -} - -type CreatePropertyCollectorRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["CreatePropertyCollectorRequestType"] = reflect.TypeOf((*CreatePropertyCollectorRequestType)(nil)).Elem() -} - -type CreatePropertyCollectorResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CreateRegistryKeyInGuest CreateRegistryKeyInGuestRequestType - -func init() { - t["CreateRegistryKeyInGuest"] = reflect.TypeOf((*CreateRegistryKeyInGuest)(nil)).Elem() -} - -type CreateRegistryKeyInGuestRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm ManagedObjectReference `xml:"vm"` - Auth BaseGuestAuthentication `xml:"auth,typeattr"` - KeyName GuestRegKeyNameSpec `xml:"keyName"` - IsVolatile bool `xml:"isVolatile"` - ClassType string `xml:"classType,omitempty"` -} - -func init() { - t["CreateRegistryKeyInGuestRequestType"] = reflect.TypeOf((*CreateRegistryKeyInGuestRequestType)(nil)).Elem() -} - -type CreateRegistryKeyInGuestResponse struct { -} - -type CreateResourcePool CreateResourcePoolRequestType - -func init() { - t["CreateResourcePool"] = reflect.TypeOf((*CreateResourcePool)(nil)).Elem() -} - -type CreateResourcePoolRequestType struct { - This ManagedObjectReference `xml:"_this"` - Name string `xml:"name"` - Spec ResourceConfigSpec `xml:"spec"` -} - -func init() { - t["CreateResourcePoolRequestType"] = reflect.TypeOf((*CreateResourcePoolRequestType)(nil)).Elem() -} - -type CreateResourcePoolResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CreateScheduledTask CreateScheduledTaskRequestType - -func init() { - t["CreateScheduledTask"] = reflect.TypeOf((*CreateScheduledTask)(nil)).Elem() -} - -type CreateScheduledTaskRequestType struct { - This ManagedObjectReference `xml:"_this"` - Entity ManagedObjectReference `xml:"entity"` - Spec BaseScheduledTaskSpec `xml:"spec,typeattr"` -} - -func init() { - t["CreateScheduledTaskRequestType"] = reflect.TypeOf((*CreateScheduledTaskRequestType)(nil)).Elem() -} - -type CreateScheduledTaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CreateScreenshotRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["CreateScreenshotRequestType"] = reflect.TypeOf((*CreateScreenshotRequestType)(nil)).Elem() -} - -type CreateScreenshot_Task CreateScreenshotRequestType - -func init() { - t["CreateScreenshot_Task"] = reflect.TypeOf((*CreateScreenshot_Task)(nil)).Elem() -} - -type CreateScreenshot_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CreateSecondaryVMExRequestType struct { - This ManagedObjectReference `xml:"_this"` - Host *ManagedObjectReference `xml:"host,omitempty"` - Spec *FaultToleranceConfigSpec `xml:"spec,omitempty"` -} - -func init() { - t["CreateSecondaryVMExRequestType"] = reflect.TypeOf((*CreateSecondaryVMExRequestType)(nil)).Elem() -} - -type CreateSecondaryVMEx_Task CreateSecondaryVMExRequestType - -func init() { - t["CreateSecondaryVMEx_Task"] = reflect.TypeOf((*CreateSecondaryVMEx_Task)(nil)).Elem() -} - -type CreateSecondaryVMEx_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CreateSecondaryVMRequestType struct { - This ManagedObjectReference `xml:"_this"` - Host *ManagedObjectReference `xml:"host,omitempty"` -} - -func init() { - t["CreateSecondaryVMRequestType"] = reflect.TypeOf((*CreateSecondaryVMRequestType)(nil)).Elem() -} - -type CreateSecondaryVM_Task CreateSecondaryVMRequestType - -func init() { - t["CreateSecondaryVM_Task"] = reflect.TypeOf((*CreateSecondaryVM_Task)(nil)).Elem() -} - -type CreateSecondaryVM_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CreateSnapshotExRequestType struct { - This ManagedObjectReference `xml:"_this"` - Name string `xml:"name"` - Description string `xml:"description,omitempty"` - Memory bool `xml:"memory"` - QuiesceSpec BaseVirtualMachineGuestQuiesceSpec `xml:"quiesceSpec,omitempty,typeattr"` -} - -func init() { - t["CreateSnapshotExRequestType"] = reflect.TypeOf((*CreateSnapshotExRequestType)(nil)).Elem() -} - -type CreateSnapshotEx_Task CreateSnapshotExRequestType - -func init() { - t["CreateSnapshotEx_Task"] = reflect.TypeOf((*CreateSnapshotEx_Task)(nil)).Elem() -} - -type CreateSnapshotEx_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CreateSnapshotRequestType struct { - This ManagedObjectReference `xml:"_this"` - Name string `xml:"name"` - Description string `xml:"description,omitempty"` - Memory bool `xml:"memory"` - Quiesce bool `xml:"quiesce"` -} - -func init() { - t["CreateSnapshotRequestType"] = reflect.TypeOf((*CreateSnapshotRequestType)(nil)).Elem() -} - -type CreateSnapshot_Task CreateSnapshotRequestType - -func init() { - t["CreateSnapshot_Task"] = reflect.TypeOf((*CreateSnapshot_Task)(nil)).Elem() -} - -type CreateSnapshot_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CreateSoftwareAdapter CreateSoftwareAdapterRequestType - -func init() { - t["CreateSoftwareAdapter"] = reflect.TypeOf((*CreateSoftwareAdapter)(nil)).Elem() -} - -type CreateSoftwareAdapterRequestType struct { - This ManagedObjectReference `xml:"_this"` - Spec BaseHostHbaCreateSpec `xml:"spec,typeattr"` -} - -func init() { - t["CreateSoftwareAdapterRequestType"] = reflect.TypeOf((*CreateSoftwareAdapterRequestType)(nil)).Elem() -} - -type CreateSoftwareAdapterResponse struct { -} - -type CreateStoragePod CreateStoragePodRequestType - -func init() { - t["CreateStoragePod"] = reflect.TypeOf((*CreateStoragePod)(nil)).Elem() -} - -type CreateStoragePodRequestType struct { - This ManagedObjectReference `xml:"_this"` - Name string `xml:"name"` -} - -func init() { - t["CreateStoragePodRequestType"] = reflect.TypeOf((*CreateStoragePodRequestType)(nil)).Elem() -} - -type CreateStoragePodResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CreateTask CreateTaskRequestType - -func init() { - t["CreateTask"] = reflect.TypeOf((*CreateTask)(nil)).Elem() -} - -type CreateTaskAction struct { - Action - - TaskTypeId string `xml:"taskTypeId"` - Cancelable bool `xml:"cancelable"` -} - -func init() { - t["CreateTaskAction"] = reflect.TypeOf((*CreateTaskAction)(nil)).Elem() -} - -type CreateTaskRequestType struct { - This ManagedObjectReference `xml:"_this"` - Obj ManagedObjectReference `xml:"obj"` - TaskTypeId string `xml:"taskTypeId"` - InitiatedBy string `xml:"initiatedBy,omitempty"` - Cancelable bool `xml:"cancelable"` - ParentTaskKey string `xml:"parentTaskKey,omitempty"` - ActivationId string `xml:"activationId,omitempty"` -} - -func init() { - t["CreateTaskRequestType"] = reflect.TypeOf((*CreateTaskRequestType)(nil)).Elem() -} - -type CreateTaskResponse struct { - Returnval TaskInfo `xml:"returnval"` -} - -type CreateTemporaryDirectoryInGuest CreateTemporaryDirectoryInGuestRequestType - -func init() { - t["CreateTemporaryDirectoryInGuest"] = reflect.TypeOf((*CreateTemporaryDirectoryInGuest)(nil)).Elem() -} - -type CreateTemporaryDirectoryInGuestRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm ManagedObjectReference `xml:"vm"` - Auth BaseGuestAuthentication `xml:"auth,typeattr"` - Prefix string `xml:"prefix"` - Suffix string `xml:"suffix"` - DirectoryPath string `xml:"directoryPath,omitempty"` -} - -func init() { - t["CreateTemporaryDirectoryInGuestRequestType"] = reflect.TypeOf((*CreateTemporaryDirectoryInGuestRequestType)(nil)).Elem() -} - -type CreateTemporaryDirectoryInGuestResponse struct { - Returnval string `xml:"returnval"` -} - -type CreateTemporaryFileInGuest CreateTemporaryFileInGuestRequestType - -func init() { - t["CreateTemporaryFileInGuest"] = reflect.TypeOf((*CreateTemporaryFileInGuest)(nil)).Elem() -} - -type CreateTemporaryFileInGuestRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm ManagedObjectReference `xml:"vm"` - Auth BaseGuestAuthentication `xml:"auth,typeattr"` - Prefix string `xml:"prefix"` - Suffix string `xml:"suffix"` - DirectoryPath string `xml:"directoryPath,omitempty"` -} - -func init() { - t["CreateTemporaryFileInGuestRequestType"] = reflect.TypeOf((*CreateTemporaryFileInGuestRequestType)(nil)).Elem() -} - -type CreateTemporaryFileInGuestResponse struct { - Returnval string `xml:"returnval"` -} - -type CreateUser CreateUserRequestType - -func init() { - t["CreateUser"] = reflect.TypeOf((*CreateUser)(nil)).Elem() -} - -type CreateUserRequestType struct { - This ManagedObjectReference `xml:"_this"` - User BaseHostAccountSpec `xml:"user,typeattr"` -} - -func init() { - t["CreateUserRequestType"] = reflect.TypeOf((*CreateUserRequestType)(nil)).Elem() -} - -type CreateUserResponse struct { -} - -type CreateVApp CreateVAppRequestType - -func init() { - t["CreateVApp"] = reflect.TypeOf((*CreateVApp)(nil)).Elem() -} - -type CreateVAppRequestType struct { - This ManagedObjectReference `xml:"_this"` - Name string `xml:"name"` - ResSpec ResourceConfigSpec `xml:"resSpec"` - ConfigSpec VAppConfigSpec `xml:"configSpec"` - VmFolder *ManagedObjectReference `xml:"vmFolder,omitempty"` -} - -func init() { - t["CreateVAppRequestType"] = reflect.TypeOf((*CreateVAppRequestType)(nil)).Elem() -} - -type CreateVAppResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CreateVMRequestType struct { - This ManagedObjectReference `xml:"_this"` - Config VirtualMachineConfigSpec `xml:"config"` - Pool ManagedObjectReference `xml:"pool"` - Host *ManagedObjectReference `xml:"host,omitempty"` -} - -func init() { - t["CreateVMRequestType"] = reflect.TypeOf((*CreateVMRequestType)(nil)).Elem() -} - -type CreateVM_Task CreateVMRequestType - -func init() { - t["CreateVM_Task"] = reflect.TypeOf((*CreateVM_Task)(nil)).Elem() -} - -type CreateVM_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CreateVirtualDiskRequestType struct { - This ManagedObjectReference `xml:"_this"` - Name string `xml:"name"` - Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"` - Spec BaseVirtualDiskSpec `xml:"spec,typeattr"` -} - -func init() { - t["CreateVirtualDiskRequestType"] = reflect.TypeOf((*CreateVirtualDiskRequestType)(nil)).Elem() -} - -type CreateVirtualDisk_Task CreateVirtualDiskRequestType - -func init() { - t["CreateVirtualDisk_Task"] = reflect.TypeOf((*CreateVirtualDisk_Task)(nil)).Elem() -} - -type CreateVirtualDisk_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CreateVmfsDatastore CreateVmfsDatastoreRequestType - -func init() { - t["CreateVmfsDatastore"] = reflect.TypeOf((*CreateVmfsDatastore)(nil)).Elem() -} - -type CreateVmfsDatastoreRequestType struct { - This ManagedObjectReference `xml:"_this"` - Spec VmfsDatastoreCreateSpec `xml:"spec"` -} - -func init() { - t["CreateVmfsDatastoreRequestType"] = reflect.TypeOf((*CreateVmfsDatastoreRequestType)(nil)).Elem() -} - -type CreateVmfsDatastoreResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CreateVvolDatastore CreateVvolDatastoreRequestType - -func init() { - t["CreateVvolDatastore"] = reflect.TypeOf((*CreateVvolDatastore)(nil)).Elem() -} - -type CreateVvolDatastoreRequestType struct { - This ManagedObjectReference `xml:"_this"` - Spec HostDatastoreSystemVvolDatastoreSpec `xml:"spec"` -} - -func init() { - t["CreateVvolDatastoreRequestType"] = reflect.TypeOf((*CreateVvolDatastoreRequestType)(nil)).Elem() -} - -type CreateVvolDatastoreResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CryptoKeyId struct { - DynamicData - - KeyId string `xml:"keyId"` - ProviderId *KeyProviderId `xml:"providerId,omitempty"` -} - -func init() { - t["CryptoKeyId"] = reflect.TypeOf((*CryptoKeyId)(nil)).Elem() -} - -type CryptoKeyPlain struct { - DynamicData - - KeyId CryptoKeyId `xml:"keyId"` - Algorithm string `xml:"algorithm"` - KeyData string `xml:"keyData"` -} - -func init() { - t["CryptoKeyPlain"] = reflect.TypeOf((*CryptoKeyPlain)(nil)).Elem() -} - -type CryptoKeyResult struct { - DynamicData - - KeyId CryptoKeyId `xml:"keyId"` - Success bool `xml:"success"` - Reason string `xml:"reason,omitempty"` - Fault *LocalizedMethodFault `xml:"fault,omitempty"` -} - -func init() { - t["CryptoKeyResult"] = reflect.TypeOf((*CryptoKeyResult)(nil)).Elem() -} - -type CryptoManagerHostDisable CryptoManagerHostDisableRequestType - -func init() { - t["CryptoManagerHostDisable"] = reflect.TypeOf((*CryptoManagerHostDisable)(nil)).Elem() -} - -type CryptoManagerHostDisableRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["CryptoManagerHostDisableRequestType"] = reflect.TypeOf((*CryptoManagerHostDisableRequestType)(nil)).Elem() -} - -type CryptoManagerHostDisableResponse struct { -} - -type CryptoManagerHostEnable CryptoManagerHostEnableRequestType - -func init() { - t["CryptoManagerHostEnable"] = reflect.TypeOf((*CryptoManagerHostEnable)(nil)).Elem() -} - -type CryptoManagerHostEnableRequestType struct { - This ManagedObjectReference `xml:"_this"` - InitialKey CryptoKeyPlain `xml:"initialKey"` -} - -func init() { - t["CryptoManagerHostEnableRequestType"] = reflect.TypeOf((*CryptoManagerHostEnableRequestType)(nil)).Elem() -} - -type CryptoManagerHostEnableResponse struct { -} - -type CryptoManagerHostPrepare CryptoManagerHostPrepareRequestType - -func init() { - t["CryptoManagerHostPrepare"] = reflect.TypeOf((*CryptoManagerHostPrepare)(nil)).Elem() -} - -type CryptoManagerHostPrepareRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["CryptoManagerHostPrepareRequestType"] = reflect.TypeOf((*CryptoManagerHostPrepareRequestType)(nil)).Elem() -} - -type CryptoManagerHostPrepareResponse struct { -} - -type CryptoManagerKmipCertificateInfo struct { - DynamicData - - Subject string `xml:"subject"` - Issuer string `xml:"issuer"` - SerialNumber string `xml:"serialNumber"` - NotBefore time.Time `xml:"notBefore"` - NotAfter time.Time `xml:"notAfter"` - Fingerprint string `xml:"fingerprint"` - CheckTime time.Time `xml:"checkTime"` - SecondsSinceValid int32 `xml:"secondsSinceValid,omitempty"` - SecondsBeforeExpire int32 `xml:"secondsBeforeExpire,omitempty"` -} - -func init() { - t["CryptoManagerKmipCertificateInfo"] = reflect.TypeOf((*CryptoManagerKmipCertificateInfo)(nil)).Elem() -} - -type CryptoManagerKmipClusterStatus struct { - DynamicData - - ClusterId KeyProviderId `xml:"clusterId"` - OverallStatus ManagedEntityStatus `xml:"overallStatus,omitempty"` - ManagementType string `xml:"managementType,omitempty"` - Servers []CryptoManagerKmipServerStatus `xml:"servers"` - ClientCertInfo *CryptoManagerKmipCertificateInfo `xml:"clientCertInfo,omitempty"` -} - -func init() { - t["CryptoManagerKmipClusterStatus"] = reflect.TypeOf((*CryptoManagerKmipClusterStatus)(nil)).Elem() -} - -type CryptoManagerKmipCryptoKeyStatus struct { - DynamicData - - KeyId CryptoKeyId `xml:"keyId"` - KeyAvailable *bool `xml:"keyAvailable"` - Reason string `xml:"reason,omitempty"` - EncryptedVMs []ManagedObjectReference `xml:"encryptedVMs,omitempty"` - AffectedHosts []ManagedObjectReference `xml:"affectedHosts,omitempty"` - ReferencedByTags []string `xml:"referencedByTags,omitempty"` -} - -func init() { - t["CryptoManagerKmipCryptoKeyStatus"] = reflect.TypeOf((*CryptoManagerKmipCryptoKeyStatus)(nil)).Elem() -} - -type CryptoManagerKmipServerCertInfo struct { - DynamicData - - Certificate string `xml:"certificate"` - CertInfo *CryptoManagerKmipCertificateInfo `xml:"certInfo,omitempty"` - ClientTrustServer *bool `xml:"clientTrustServer"` -} - -func init() { - t["CryptoManagerKmipServerCertInfo"] = reflect.TypeOf((*CryptoManagerKmipServerCertInfo)(nil)).Elem() -} - -type CryptoManagerKmipServerStatus struct { - DynamicData - - Name string `xml:"name"` - Status ManagedEntityStatus `xml:"status"` - ConnectionStatus string `xml:"connectionStatus"` - CertInfo *CryptoManagerKmipCertificateInfo `xml:"certInfo,omitempty"` - ClientTrustServer *bool `xml:"clientTrustServer"` - ServerTrustClient *bool `xml:"serverTrustClient"` -} - -func init() { - t["CryptoManagerKmipServerStatus"] = reflect.TypeOf((*CryptoManagerKmipServerStatus)(nil)).Elem() -} - -type CryptoSpec struct { - DynamicData -} - -func init() { - t["CryptoSpec"] = reflect.TypeOf((*CryptoSpec)(nil)).Elem() -} - -type CryptoSpecDecrypt struct { - CryptoSpec -} - -func init() { - t["CryptoSpecDecrypt"] = reflect.TypeOf((*CryptoSpecDecrypt)(nil)).Elem() -} - -type CryptoSpecDeepRecrypt struct { - CryptoSpec - - NewKeyId CryptoKeyId `xml:"newKeyId"` -} - -func init() { - t["CryptoSpecDeepRecrypt"] = reflect.TypeOf((*CryptoSpecDeepRecrypt)(nil)).Elem() -} - -type CryptoSpecEncrypt struct { - CryptoSpec - - CryptoKeyId CryptoKeyId `xml:"cryptoKeyId"` -} - -func init() { - t["CryptoSpecEncrypt"] = reflect.TypeOf((*CryptoSpecEncrypt)(nil)).Elem() -} - -type CryptoSpecNoOp struct { - CryptoSpec -} - -func init() { - t["CryptoSpecNoOp"] = reflect.TypeOf((*CryptoSpecNoOp)(nil)).Elem() -} - -type CryptoSpecRegister struct { - CryptoSpecNoOp - - CryptoKeyId CryptoKeyId `xml:"cryptoKeyId"` -} - -func init() { - t["CryptoSpecRegister"] = reflect.TypeOf((*CryptoSpecRegister)(nil)).Elem() -} - -type CryptoSpecShallowRecrypt struct { - CryptoSpec - - NewKeyId CryptoKeyId `xml:"newKeyId"` -} - -func init() { - t["CryptoSpecShallowRecrypt"] = reflect.TypeOf((*CryptoSpecShallowRecrypt)(nil)).Elem() -} - -type CryptoUnlockRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["CryptoUnlockRequestType"] = reflect.TypeOf((*CryptoUnlockRequestType)(nil)).Elem() -} - -type CryptoUnlock_Task CryptoUnlockRequestType - -func init() { - t["CryptoUnlock_Task"] = reflect.TypeOf((*CryptoUnlock_Task)(nil)).Elem() -} - -type CryptoUnlock_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CurrentTime CurrentTimeRequestType - -func init() { - t["CurrentTime"] = reflect.TypeOf((*CurrentTime)(nil)).Elem() -} - -type CurrentTimeRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["CurrentTimeRequestType"] = reflect.TypeOf((*CurrentTimeRequestType)(nil)).Elem() -} - -type CurrentTimeResponse struct { - Returnval time.Time `xml:"returnval"` -} - -type CustomFieldDef struct { - DynamicData - - Key int32 `xml:"key"` - Name string `xml:"name"` - Type string `xml:"type"` - ManagedObjectType string `xml:"managedObjectType,omitempty"` - FieldDefPrivileges *PrivilegePolicyDef `xml:"fieldDefPrivileges,omitempty"` - FieldInstancePrivileges *PrivilegePolicyDef `xml:"fieldInstancePrivileges,omitempty"` -} - -func init() { - t["CustomFieldDef"] = reflect.TypeOf((*CustomFieldDef)(nil)).Elem() -} - -type CustomFieldDefAddedEvent struct { - CustomFieldDefEvent -} - -func init() { - t["CustomFieldDefAddedEvent"] = reflect.TypeOf((*CustomFieldDefAddedEvent)(nil)).Elem() -} - -type CustomFieldDefEvent struct { - CustomFieldEvent - - FieldKey int32 `xml:"fieldKey"` - Name string `xml:"name"` -} - -func init() { - t["CustomFieldDefEvent"] = reflect.TypeOf((*CustomFieldDefEvent)(nil)).Elem() -} - -type CustomFieldDefRemovedEvent struct { - CustomFieldDefEvent -} - -func init() { - t["CustomFieldDefRemovedEvent"] = reflect.TypeOf((*CustomFieldDefRemovedEvent)(nil)).Elem() -} - -type CustomFieldDefRenamedEvent struct { - CustomFieldDefEvent - - NewName string `xml:"newName"` -} - -func init() { - t["CustomFieldDefRenamedEvent"] = reflect.TypeOf((*CustomFieldDefRenamedEvent)(nil)).Elem() -} - -type CustomFieldEvent struct { - Event -} - -func init() { - t["CustomFieldEvent"] = reflect.TypeOf((*CustomFieldEvent)(nil)).Elem() -} - -type CustomFieldStringValue struct { - CustomFieldValue - - Value string `xml:"value"` -} - -func init() { - t["CustomFieldStringValue"] = reflect.TypeOf((*CustomFieldStringValue)(nil)).Elem() -} - -type CustomFieldValue struct { - DynamicData - - Key int32 `xml:"key"` -} - -func init() { - t["CustomFieldValue"] = reflect.TypeOf((*CustomFieldValue)(nil)).Elem() -} - -type CustomFieldValueChangedEvent struct { - CustomFieldEvent - - Entity ManagedEntityEventArgument `xml:"entity"` - FieldKey int32 `xml:"fieldKey"` - Name string `xml:"name"` - Value string `xml:"value"` - PrevState string `xml:"prevState,omitempty"` -} - -func init() { - t["CustomFieldValueChangedEvent"] = reflect.TypeOf((*CustomFieldValueChangedEvent)(nil)).Elem() -} - -type CustomizationAdapterMapping struct { - DynamicData - - MacAddress string `xml:"macAddress,omitempty"` - Adapter CustomizationIPSettings `xml:"adapter"` -} - -func init() { - t["CustomizationAdapterMapping"] = reflect.TypeOf((*CustomizationAdapterMapping)(nil)).Elem() -} - -type CustomizationAutoIpV6Generator struct { - CustomizationIpV6Generator -} - -func init() { - t["CustomizationAutoIpV6Generator"] = reflect.TypeOf((*CustomizationAutoIpV6Generator)(nil)).Elem() -} - -type CustomizationCloudinitPrep struct { - CustomizationIdentitySettings - - Metadata string `xml:"metadata"` - Userdata string `xml:"userdata,omitempty"` -} - -func init() { - t["CustomizationCloudinitPrep"] = reflect.TypeOf((*CustomizationCloudinitPrep)(nil)).Elem() -} - -type CustomizationCustomIpGenerator struct { - CustomizationIpGenerator - - Argument string `xml:"argument,omitempty"` -} - -func init() { - t["CustomizationCustomIpGenerator"] = reflect.TypeOf((*CustomizationCustomIpGenerator)(nil)).Elem() -} - -type CustomizationCustomIpV6Generator struct { - CustomizationIpV6Generator - - Argument string `xml:"argument,omitempty"` -} - -func init() { - t["CustomizationCustomIpV6Generator"] = reflect.TypeOf((*CustomizationCustomIpV6Generator)(nil)).Elem() -} - -type CustomizationCustomName struct { - CustomizationName - - Argument string `xml:"argument,omitempty"` -} - -func init() { - t["CustomizationCustomName"] = reflect.TypeOf((*CustomizationCustomName)(nil)).Elem() -} - -type CustomizationDhcpIpGenerator struct { - CustomizationIpGenerator -} - -func init() { - t["CustomizationDhcpIpGenerator"] = reflect.TypeOf((*CustomizationDhcpIpGenerator)(nil)).Elem() -} - -type CustomizationDhcpIpV6Generator struct { - CustomizationIpV6Generator -} - -func init() { - t["CustomizationDhcpIpV6Generator"] = reflect.TypeOf((*CustomizationDhcpIpV6Generator)(nil)).Elem() -} - -type CustomizationEvent struct { - VmEvent - - LogLocation string `xml:"logLocation,omitempty"` -} - -func init() { - t["CustomizationEvent"] = reflect.TypeOf((*CustomizationEvent)(nil)).Elem() -} - -type CustomizationFailed struct { - CustomizationEvent - - Reason string `xml:"reason,omitempty"` -} - -func init() { - t["CustomizationFailed"] = reflect.TypeOf((*CustomizationFailed)(nil)).Elem() -} - -type CustomizationFault struct { - VimFault -} - -func init() { - t["CustomizationFault"] = reflect.TypeOf((*CustomizationFault)(nil)).Elem() -} - -type CustomizationFaultFault BaseCustomizationFault - -func init() { - t["CustomizationFaultFault"] = reflect.TypeOf((*CustomizationFaultFault)(nil)).Elem() -} - -type CustomizationFixedIp struct { - CustomizationIpGenerator - - IpAddress string `xml:"ipAddress"` -} - -func init() { - t["CustomizationFixedIp"] = reflect.TypeOf((*CustomizationFixedIp)(nil)).Elem() -} - -type CustomizationFixedIpV6 struct { - CustomizationIpV6Generator - - IpAddress string `xml:"ipAddress"` - SubnetMask int32 `xml:"subnetMask"` -} - -func init() { - t["CustomizationFixedIpV6"] = reflect.TypeOf((*CustomizationFixedIpV6)(nil)).Elem() -} - -type CustomizationFixedName struct { - CustomizationName - - Name string `xml:"name"` -} - -func init() { - t["CustomizationFixedName"] = reflect.TypeOf((*CustomizationFixedName)(nil)).Elem() -} - -type CustomizationGlobalIPSettings struct { - DynamicData - - DnsSuffixList []string `xml:"dnsSuffixList,omitempty"` - DnsServerList []string `xml:"dnsServerList,omitempty"` -} - -func init() { - t["CustomizationGlobalIPSettings"] = reflect.TypeOf((*CustomizationGlobalIPSettings)(nil)).Elem() -} - -type CustomizationGuiRunOnce struct { - DynamicData - - CommandList []string `xml:"commandList"` -} - -func init() { - t["CustomizationGuiRunOnce"] = reflect.TypeOf((*CustomizationGuiRunOnce)(nil)).Elem() -} - -type CustomizationGuiUnattended struct { - DynamicData - - Password *CustomizationPassword `xml:"password,omitempty"` - TimeZone int32 `xml:"timeZone"` - AutoLogon bool `xml:"autoLogon"` - AutoLogonCount int32 `xml:"autoLogonCount"` -} - -func init() { - t["CustomizationGuiUnattended"] = reflect.TypeOf((*CustomizationGuiUnattended)(nil)).Elem() -} - -type CustomizationIPSettings struct { - DynamicData - - Ip BaseCustomizationIpGenerator `xml:"ip,typeattr"` - SubnetMask string `xml:"subnetMask,omitempty"` - Gateway []string `xml:"gateway,omitempty"` - IpV6Spec *CustomizationIPSettingsIpV6AddressSpec `xml:"ipV6Spec,omitempty"` - DnsServerList []string `xml:"dnsServerList,omitempty"` - DnsDomain string `xml:"dnsDomain,omitempty"` - PrimaryWINS string `xml:"primaryWINS,omitempty"` - SecondaryWINS string `xml:"secondaryWINS,omitempty"` - NetBIOS CustomizationNetBIOSMode `xml:"netBIOS,omitempty"` -} - -func init() { - t["CustomizationIPSettings"] = reflect.TypeOf((*CustomizationIPSettings)(nil)).Elem() -} - -type CustomizationIPSettingsIpV6AddressSpec struct { - DynamicData - - Ip []BaseCustomizationIpV6Generator `xml:"ip,typeattr"` - Gateway []string `xml:"gateway,omitempty"` -} - -func init() { - t["CustomizationIPSettingsIpV6AddressSpec"] = reflect.TypeOf((*CustomizationIPSettingsIpV6AddressSpec)(nil)).Elem() -} - -type CustomizationIdentification struct { - DynamicData - - JoinWorkgroup string `xml:"joinWorkgroup,omitempty"` - JoinDomain string `xml:"joinDomain,omitempty"` - DomainAdmin string `xml:"domainAdmin,omitempty"` - DomainAdminPassword *CustomizationPassword `xml:"domainAdminPassword,omitempty"` -} - -func init() { - t["CustomizationIdentification"] = reflect.TypeOf((*CustomizationIdentification)(nil)).Elem() -} - -type CustomizationIdentitySettings struct { - DynamicData -} - -func init() { - t["CustomizationIdentitySettings"] = reflect.TypeOf((*CustomizationIdentitySettings)(nil)).Elem() -} - -type CustomizationIpGenerator struct { - DynamicData -} - -func init() { - t["CustomizationIpGenerator"] = reflect.TypeOf((*CustomizationIpGenerator)(nil)).Elem() -} - -type CustomizationIpV6Generator struct { - DynamicData -} - -func init() { - t["CustomizationIpV6Generator"] = reflect.TypeOf((*CustomizationIpV6Generator)(nil)).Elem() -} - -type CustomizationLicenseFilePrintData struct { - DynamicData - - AutoMode CustomizationLicenseDataMode `xml:"autoMode"` - AutoUsers int32 `xml:"autoUsers,omitempty"` -} - -func init() { - t["CustomizationLicenseFilePrintData"] = reflect.TypeOf((*CustomizationLicenseFilePrintData)(nil)).Elem() -} - -type CustomizationLinuxIdentityFailed struct { - CustomizationFailed -} - -func init() { - t["CustomizationLinuxIdentityFailed"] = reflect.TypeOf((*CustomizationLinuxIdentityFailed)(nil)).Elem() -} - -type CustomizationLinuxOptions struct { - CustomizationOptions -} - -func init() { - t["CustomizationLinuxOptions"] = reflect.TypeOf((*CustomizationLinuxOptions)(nil)).Elem() -} - -type CustomizationLinuxPrep struct { - CustomizationIdentitySettings - - HostName BaseCustomizationName `xml:"hostName,typeattr"` - Domain string `xml:"domain"` - TimeZone string `xml:"timeZone,omitempty"` - HwClockUTC *bool `xml:"hwClockUTC"` - ScriptText string `xml:"scriptText,omitempty"` -} - -func init() { - t["CustomizationLinuxPrep"] = reflect.TypeOf((*CustomizationLinuxPrep)(nil)).Elem() -} - -type CustomizationName struct { - DynamicData -} - -func init() { - t["CustomizationName"] = reflect.TypeOf((*CustomizationName)(nil)).Elem() -} - -type CustomizationNetworkSetupFailed struct { - CustomizationFailed -} - -func init() { - t["CustomizationNetworkSetupFailed"] = reflect.TypeOf((*CustomizationNetworkSetupFailed)(nil)).Elem() -} - -type CustomizationOptions struct { - DynamicData -} - -func init() { - t["CustomizationOptions"] = reflect.TypeOf((*CustomizationOptions)(nil)).Elem() -} - -type CustomizationPassword struct { - DynamicData - - Value string `xml:"value"` - PlainText bool `xml:"plainText"` -} - -func init() { - t["CustomizationPassword"] = reflect.TypeOf((*CustomizationPassword)(nil)).Elem() -} - -type CustomizationPending struct { - CustomizationFault -} - -func init() { - t["CustomizationPending"] = reflect.TypeOf((*CustomizationPending)(nil)).Elem() -} - -type CustomizationPendingFault CustomizationPending - -func init() { - t["CustomizationPendingFault"] = reflect.TypeOf((*CustomizationPendingFault)(nil)).Elem() -} - -type CustomizationPrefixName struct { - CustomizationName - - Base string `xml:"base"` -} - -func init() { - t["CustomizationPrefixName"] = reflect.TypeOf((*CustomizationPrefixName)(nil)).Elem() -} - -type CustomizationSpec struct { - DynamicData - - Options BaseCustomizationOptions `xml:"options,omitempty,typeattr"` - Identity BaseCustomizationIdentitySettings `xml:"identity,typeattr"` - GlobalIPSettings CustomizationGlobalIPSettings `xml:"globalIPSettings"` - NicSettingMap []CustomizationAdapterMapping `xml:"nicSettingMap,omitempty"` - EncryptionKey []byte `xml:"encryptionKey,omitempty"` -} - -func init() { - t["CustomizationSpec"] = reflect.TypeOf((*CustomizationSpec)(nil)).Elem() -} - -type CustomizationSpecInfo struct { - DynamicData - - Name string `xml:"name"` - Description string `xml:"description"` - Type string `xml:"type"` - ChangeVersion string `xml:"changeVersion,omitempty"` - LastUpdateTime *time.Time `xml:"lastUpdateTime"` -} - -func init() { - t["CustomizationSpecInfo"] = reflect.TypeOf((*CustomizationSpecInfo)(nil)).Elem() -} - -type CustomizationSpecItem struct { - DynamicData - - Info CustomizationSpecInfo `xml:"info"` - Spec CustomizationSpec `xml:"spec"` -} - -func init() { - t["CustomizationSpecItem"] = reflect.TypeOf((*CustomizationSpecItem)(nil)).Elem() -} - -type CustomizationSpecItemToXml CustomizationSpecItemToXmlRequestType - -func init() { - t["CustomizationSpecItemToXml"] = reflect.TypeOf((*CustomizationSpecItemToXml)(nil)).Elem() -} - -type CustomizationSpecItemToXmlRequestType struct { - This ManagedObjectReference `xml:"_this"` - Item CustomizationSpecItem `xml:"item"` -} - -func init() { - t["CustomizationSpecItemToXmlRequestType"] = reflect.TypeOf((*CustomizationSpecItemToXmlRequestType)(nil)).Elem() -} - -type CustomizationSpecItemToXmlResponse struct { - Returnval string `xml:"returnval"` -} - -type CustomizationStartedEvent struct { - CustomizationEvent -} - -func init() { - t["CustomizationStartedEvent"] = reflect.TypeOf((*CustomizationStartedEvent)(nil)).Elem() -} - -type CustomizationStatelessIpV6Generator struct { - CustomizationIpV6Generator -} - -func init() { - t["CustomizationStatelessIpV6Generator"] = reflect.TypeOf((*CustomizationStatelessIpV6Generator)(nil)).Elem() -} - -type CustomizationSucceeded struct { - CustomizationEvent -} - -func init() { - t["CustomizationSucceeded"] = reflect.TypeOf((*CustomizationSucceeded)(nil)).Elem() -} - -type CustomizationSysprep struct { - CustomizationIdentitySettings - - GuiUnattended CustomizationGuiUnattended `xml:"guiUnattended"` - UserData CustomizationUserData `xml:"userData"` - GuiRunOnce *CustomizationGuiRunOnce `xml:"guiRunOnce,omitempty"` - Identification CustomizationIdentification `xml:"identification"` - LicenseFilePrintData *CustomizationLicenseFilePrintData `xml:"licenseFilePrintData,omitempty"` -} - -func init() { - t["CustomizationSysprep"] = reflect.TypeOf((*CustomizationSysprep)(nil)).Elem() -} - -type CustomizationSysprepFailed struct { - CustomizationFailed - - SysprepVersion string `xml:"sysprepVersion"` - SystemVersion string `xml:"systemVersion"` -} - -func init() { - t["CustomizationSysprepFailed"] = reflect.TypeOf((*CustomizationSysprepFailed)(nil)).Elem() -} - -type CustomizationSysprepText struct { - CustomizationIdentitySettings - - Value string `xml:"value"` -} - -func init() { - t["CustomizationSysprepText"] = reflect.TypeOf((*CustomizationSysprepText)(nil)).Elem() -} - -type CustomizationUnknownFailure struct { - CustomizationFailed -} - -func init() { - t["CustomizationUnknownFailure"] = reflect.TypeOf((*CustomizationUnknownFailure)(nil)).Elem() -} - -type CustomizationUnknownIpGenerator struct { - CustomizationIpGenerator -} - -func init() { - t["CustomizationUnknownIpGenerator"] = reflect.TypeOf((*CustomizationUnknownIpGenerator)(nil)).Elem() -} - -type CustomizationUnknownIpV6Generator struct { - CustomizationIpV6Generator -} - -func init() { - t["CustomizationUnknownIpV6Generator"] = reflect.TypeOf((*CustomizationUnknownIpV6Generator)(nil)).Elem() -} - -type CustomizationUnknownName struct { - CustomizationName -} - -func init() { - t["CustomizationUnknownName"] = reflect.TypeOf((*CustomizationUnknownName)(nil)).Elem() -} - -type CustomizationUserData struct { - DynamicData - - FullName string `xml:"fullName"` - OrgName string `xml:"orgName"` - ComputerName BaseCustomizationName `xml:"computerName,typeattr"` - ProductId string `xml:"productId"` -} - -func init() { - t["CustomizationUserData"] = reflect.TypeOf((*CustomizationUserData)(nil)).Elem() -} - -type CustomizationVirtualMachineName struct { - CustomizationName -} - -func init() { - t["CustomizationVirtualMachineName"] = reflect.TypeOf((*CustomizationVirtualMachineName)(nil)).Elem() -} - -type CustomizationWinOptions struct { - CustomizationOptions - - ChangeSID bool `xml:"changeSID"` - DeleteAccounts bool `xml:"deleteAccounts"` - Reboot CustomizationSysprepRebootOption `xml:"reboot,omitempty"` -} - -func init() { - t["CustomizationWinOptions"] = reflect.TypeOf((*CustomizationWinOptions)(nil)).Elem() -} - -type CustomizeGuestRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm ManagedObjectReference `xml:"vm"` - Auth BaseGuestAuthentication `xml:"auth,typeattr"` - Spec CustomizationSpec `xml:"spec"` - ConfigParams []BaseOptionValue `xml:"configParams,omitempty,typeattr"` -} - -func init() { - t["CustomizeGuestRequestType"] = reflect.TypeOf((*CustomizeGuestRequestType)(nil)).Elem() -} - -type CustomizeGuest_Task CustomizeGuestRequestType - -func init() { - t["CustomizeGuest_Task"] = reflect.TypeOf((*CustomizeGuest_Task)(nil)).Elem() -} - -type CustomizeGuest_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CustomizeVMRequestType struct { - This ManagedObjectReference `xml:"_this"` - Spec CustomizationSpec `xml:"spec"` -} - -func init() { - t["CustomizeVMRequestType"] = reflect.TypeOf((*CustomizeVMRequestType)(nil)).Elem() -} - -type CustomizeVM_Task CustomizeVMRequestType - -func init() { - t["CustomizeVM_Task"] = reflect.TypeOf((*CustomizeVM_Task)(nil)).Elem() -} - -type CustomizeVM_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type DVPortConfigInfo struct { - DynamicData - - Name string `xml:"name,omitempty"` - Scope []ManagedObjectReference `xml:"scope,omitempty"` - Description string `xml:"description,omitempty"` - Setting BaseDVPortSetting `xml:"setting,omitempty,typeattr"` - ConfigVersion string `xml:"configVersion"` -} - -func init() { - t["DVPortConfigInfo"] = reflect.TypeOf((*DVPortConfigInfo)(nil)).Elem() -} - -type DVPortConfigSpec struct { - DynamicData - - Operation string `xml:"operation"` - Key string `xml:"key,omitempty"` - Name string `xml:"name,omitempty"` - Scope []ManagedObjectReference `xml:"scope,omitempty"` - Description string `xml:"description,omitempty"` - Setting BaseDVPortSetting `xml:"setting,omitempty,typeattr"` - ConfigVersion string `xml:"configVersion,omitempty"` -} - -func init() { - t["DVPortConfigSpec"] = reflect.TypeOf((*DVPortConfigSpec)(nil)).Elem() -} - -type DVPortNotSupported struct { - DeviceBackingNotSupported -} - -func init() { - t["DVPortNotSupported"] = reflect.TypeOf((*DVPortNotSupported)(nil)).Elem() -} - -type DVPortNotSupportedFault DVPortNotSupported - -func init() { - t["DVPortNotSupportedFault"] = reflect.TypeOf((*DVPortNotSupportedFault)(nil)).Elem() -} - -type DVPortSetting struct { - DynamicData - - Blocked *BoolPolicy `xml:"blocked,omitempty"` - VmDirectPathGen2Allowed *BoolPolicy `xml:"vmDirectPathGen2Allowed,omitempty"` - InShapingPolicy *DVSTrafficShapingPolicy `xml:"inShapingPolicy,omitempty"` - OutShapingPolicy *DVSTrafficShapingPolicy `xml:"outShapingPolicy,omitempty"` - VendorSpecificConfig *DVSVendorSpecificConfig `xml:"vendorSpecificConfig,omitempty"` - NetworkResourcePoolKey *StringPolicy `xml:"networkResourcePoolKey,omitempty"` - FilterPolicy *DvsFilterPolicy `xml:"filterPolicy,omitempty"` -} - -func init() { - t["DVPortSetting"] = reflect.TypeOf((*DVPortSetting)(nil)).Elem() -} - -type DVPortState struct { - DynamicData - - RuntimeInfo *DVPortStatus `xml:"runtimeInfo,omitempty"` - Stats DistributedVirtualSwitchPortStatistics `xml:"stats"` - VendorSpecificState []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"vendorSpecificState,omitempty"` -} - -func init() { - t["DVPortState"] = reflect.TypeOf((*DVPortState)(nil)).Elem() -} - -type DVPortStatus struct { - DynamicData - - LinkUp bool `xml:"linkUp"` - Blocked bool `xml:"blocked"` - VlanIds []NumericRange `xml:"vlanIds,omitempty"` - TrunkingMode *bool `xml:"trunkingMode"` - Mtu int32 `xml:"mtu,omitempty"` - LinkPeer string `xml:"linkPeer,omitempty"` - MacAddress string `xml:"macAddress,omitempty"` - StatusDetail string `xml:"statusDetail,omitempty"` - VmDirectPathGen2Active *bool `xml:"vmDirectPathGen2Active"` - VmDirectPathGen2InactiveReasonNetwork []string `xml:"vmDirectPathGen2InactiveReasonNetwork,omitempty"` - VmDirectPathGen2InactiveReasonOther []string `xml:"vmDirectPathGen2InactiveReasonOther,omitempty"` - VmDirectPathGen2InactiveReasonExtended string `xml:"vmDirectPathGen2InactiveReasonExtended,omitempty"` -} - -func init() { - t["DVPortStatus"] = reflect.TypeOf((*DVPortStatus)(nil)).Elem() -} - -type DVPortgroupConfigInfo struct { - DynamicData - - Key string `xml:"key"` - Name string `xml:"name"` - NumPorts int32 `xml:"numPorts"` - DistributedVirtualSwitch *ManagedObjectReference `xml:"distributedVirtualSwitch,omitempty"` - DefaultPortConfig BaseDVPortSetting `xml:"defaultPortConfig,omitempty,typeattr"` - Description string `xml:"description,omitempty"` - Type string `xml:"type"` - BackingType string `xml:"backingType,omitempty"` - Policy BaseDVPortgroupPolicy `xml:"policy,typeattr"` - PortNameFormat string `xml:"portNameFormat,omitempty"` - Scope []ManagedObjectReference `xml:"scope,omitempty"` - VendorSpecificConfig []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"vendorSpecificConfig,omitempty"` - ConfigVersion string `xml:"configVersion,omitempty"` - AutoExpand *bool `xml:"autoExpand"` - VmVnicNetworkResourcePoolKey string `xml:"vmVnicNetworkResourcePoolKey,omitempty"` - Uplink *bool `xml:"uplink"` - TransportZoneUuid string `xml:"transportZoneUuid,omitempty"` - TransportZoneName string `xml:"transportZoneName,omitempty"` - LogicalSwitchUuid string `xml:"logicalSwitchUuid,omitempty"` - SegmentId string `xml:"segmentId,omitempty"` -} - -func init() { - t["DVPortgroupConfigInfo"] = reflect.TypeOf((*DVPortgroupConfigInfo)(nil)).Elem() -} - -type DVPortgroupConfigSpec struct { - DynamicData - - ConfigVersion string `xml:"configVersion,omitempty"` - Name string `xml:"name,omitempty"` - NumPorts int32 `xml:"numPorts,omitempty"` - PortNameFormat string `xml:"portNameFormat,omitempty"` - DefaultPortConfig BaseDVPortSetting `xml:"defaultPortConfig,omitempty,typeattr"` - Description string `xml:"description,omitempty"` - Type string `xml:"type,omitempty"` - BackingType string `xml:"backingType,omitempty"` - Scope []ManagedObjectReference `xml:"scope,omitempty"` - Policy BaseDVPortgroupPolicy `xml:"policy,omitempty,typeattr"` - VendorSpecificConfig []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"vendorSpecificConfig,omitempty"` - AutoExpand *bool `xml:"autoExpand"` - VmVnicNetworkResourcePoolKey string `xml:"vmVnicNetworkResourcePoolKey,omitempty"` - TransportZoneUuid string `xml:"transportZoneUuid,omitempty"` - TransportZoneName string `xml:"transportZoneName,omitempty"` - LogicalSwitchUuid string `xml:"logicalSwitchUuid,omitempty"` - SegmentId string `xml:"segmentId,omitempty"` -} - -func init() { - t["DVPortgroupConfigSpec"] = reflect.TypeOf((*DVPortgroupConfigSpec)(nil)).Elem() -} - -type DVPortgroupCreatedEvent struct { - DVPortgroupEvent -} - -func init() { - t["DVPortgroupCreatedEvent"] = reflect.TypeOf((*DVPortgroupCreatedEvent)(nil)).Elem() -} - -type DVPortgroupDestroyedEvent struct { - DVPortgroupEvent -} - -func init() { - t["DVPortgroupDestroyedEvent"] = reflect.TypeOf((*DVPortgroupDestroyedEvent)(nil)).Elem() -} - -type DVPortgroupEvent struct { - Event -} - -func init() { - t["DVPortgroupEvent"] = reflect.TypeOf((*DVPortgroupEvent)(nil)).Elem() -} - -type DVPortgroupPolicy struct { - DynamicData - - BlockOverrideAllowed bool `xml:"blockOverrideAllowed"` - ShapingOverrideAllowed bool `xml:"shapingOverrideAllowed"` - VendorConfigOverrideAllowed bool `xml:"vendorConfigOverrideAllowed"` - LivePortMovingAllowed bool `xml:"livePortMovingAllowed"` - PortConfigResetAtDisconnect bool `xml:"portConfigResetAtDisconnect"` - NetworkResourcePoolOverrideAllowed *bool `xml:"networkResourcePoolOverrideAllowed"` - TrafficFilterOverrideAllowed *bool `xml:"trafficFilterOverrideAllowed"` -} - -func init() { - t["DVPortgroupPolicy"] = reflect.TypeOf((*DVPortgroupPolicy)(nil)).Elem() -} - -type DVPortgroupReconfiguredEvent struct { - DVPortgroupEvent - - ConfigSpec DVPortgroupConfigSpec `xml:"configSpec"` - ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty"` -} - -func init() { - t["DVPortgroupReconfiguredEvent"] = reflect.TypeOf((*DVPortgroupReconfiguredEvent)(nil)).Elem() -} - -type DVPortgroupRenamedEvent struct { - DVPortgroupEvent - - OldName string `xml:"oldName"` - NewName string `xml:"newName"` -} - -func init() { - t["DVPortgroupRenamedEvent"] = reflect.TypeOf((*DVPortgroupRenamedEvent)(nil)).Elem() -} - -type DVPortgroupRollbackRequestType struct { - This ManagedObjectReference `xml:"_this"` - EntityBackup *EntityBackupConfig `xml:"entityBackup,omitempty"` -} - -func init() { - t["DVPortgroupRollbackRequestType"] = reflect.TypeOf((*DVPortgroupRollbackRequestType)(nil)).Elem() -} - -type DVPortgroupRollback_Task DVPortgroupRollbackRequestType - -func init() { - t["DVPortgroupRollback_Task"] = reflect.TypeOf((*DVPortgroupRollback_Task)(nil)).Elem() -} - -type DVPortgroupRollback_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type DVPortgroupSelection struct { - SelectionSet - - DvsUuid string `xml:"dvsUuid"` - PortgroupKey []string `xml:"portgroupKey"` -} - -func init() { - t["DVPortgroupSelection"] = reflect.TypeOf((*DVPortgroupSelection)(nil)).Elem() -} - -type DVSBackupRestoreCapability struct { - DynamicData - - BackupRestoreSupported bool `xml:"backupRestoreSupported"` -} - -func init() { - t["DVSBackupRestoreCapability"] = reflect.TypeOf((*DVSBackupRestoreCapability)(nil)).Elem() -} - -type DVSCapability struct { - DynamicData - - DvsOperationSupported *bool `xml:"dvsOperationSupported"` - DvPortGroupOperationSupported *bool `xml:"dvPortGroupOperationSupported"` - DvPortOperationSupported *bool `xml:"dvPortOperationSupported"` - CompatibleHostComponentProductInfo []DistributedVirtualSwitchHostProductSpec `xml:"compatibleHostComponentProductInfo,omitempty"` - FeaturesSupported BaseDVSFeatureCapability `xml:"featuresSupported,omitempty,typeattr"` -} - -func init() { - t["DVSCapability"] = reflect.TypeOf((*DVSCapability)(nil)).Elem() -} - -type DVSConfigInfo struct { - DynamicData - - Uuid string `xml:"uuid"` - Name string `xml:"name"` - NumStandalonePorts int32 `xml:"numStandalonePorts"` - NumPorts int32 `xml:"numPorts"` - MaxPorts int32 `xml:"maxPorts"` - UplinkPortPolicy BaseDVSUplinkPortPolicy `xml:"uplinkPortPolicy,typeattr"` - UplinkPortgroup []ManagedObjectReference `xml:"uplinkPortgroup,omitempty"` - DefaultPortConfig BaseDVPortSetting `xml:"defaultPortConfig,typeattr"` - Host []DistributedVirtualSwitchHostMember `xml:"host,omitempty"` - ProductInfo DistributedVirtualSwitchProductSpec `xml:"productInfo"` - TargetInfo *DistributedVirtualSwitchProductSpec `xml:"targetInfo,omitempty"` - ExtensionKey string `xml:"extensionKey,omitempty"` - VendorSpecificConfig []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"vendorSpecificConfig,omitempty"` - Policy *DVSPolicy `xml:"policy,omitempty"` - Description string `xml:"description,omitempty"` - ConfigVersion string `xml:"configVersion"` - Contact DVSContactInfo `xml:"contact"` - SwitchIpAddress string `xml:"switchIpAddress,omitempty"` - CreateTime time.Time `xml:"createTime"` - NetworkResourceManagementEnabled *bool `xml:"networkResourceManagementEnabled"` - DefaultProxySwitchMaxNumPorts int32 `xml:"defaultProxySwitchMaxNumPorts,omitempty"` - HealthCheckConfig []BaseDVSHealthCheckConfig `xml:"healthCheckConfig,omitempty,typeattr"` - InfrastructureTrafficResourceConfig []DvsHostInfrastructureTrafficResource `xml:"infrastructureTrafficResourceConfig,omitempty"` - NetResourcePoolTrafficResourceConfig []DvsHostInfrastructureTrafficResource `xml:"netResourcePoolTrafficResourceConfig,omitempty"` - NetworkResourceControlVersion string `xml:"networkResourceControlVersion,omitempty"` - VmVnicNetworkResourcePool []DVSVmVnicNetworkResourcePool `xml:"vmVnicNetworkResourcePool,omitempty"` - PnicCapacityRatioForReservation int32 `xml:"pnicCapacityRatioForReservation,omitempty"` -} - -func init() { - t["DVSConfigInfo"] = reflect.TypeOf((*DVSConfigInfo)(nil)).Elem() -} - -type DVSConfigSpec struct { - DynamicData - - ConfigVersion string `xml:"configVersion,omitempty"` - Name string `xml:"name,omitempty"` - NumStandalonePorts int32 `xml:"numStandalonePorts,omitempty"` - MaxPorts int32 `xml:"maxPorts,omitempty"` - UplinkPortPolicy BaseDVSUplinkPortPolicy `xml:"uplinkPortPolicy,omitempty,typeattr"` - UplinkPortgroup []ManagedObjectReference `xml:"uplinkPortgroup,omitempty"` - DefaultPortConfig BaseDVPortSetting `xml:"defaultPortConfig,omitempty,typeattr"` - Host []DistributedVirtualSwitchHostMemberConfigSpec `xml:"host,omitempty"` - ExtensionKey string `xml:"extensionKey,omitempty"` - Description string `xml:"description,omitempty"` - Policy *DVSPolicy `xml:"policy,omitempty"` - VendorSpecificConfig []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"vendorSpecificConfig,omitempty"` - Contact *DVSContactInfo `xml:"contact,omitempty"` - SwitchIpAddress string `xml:"switchIpAddress,omitempty"` - DefaultProxySwitchMaxNumPorts int32 `xml:"defaultProxySwitchMaxNumPorts,omitempty"` - InfrastructureTrafficResourceConfig []DvsHostInfrastructureTrafficResource `xml:"infrastructureTrafficResourceConfig,omitempty"` - NetResourcePoolTrafficResourceConfig []DvsHostInfrastructureTrafficResource `xml:"netResourcePoolTrafficResourceConfig,omitempty"` - NetworkResourceControlVersion string `xml:"networkResourceControlVersion,omitempty"` -} - -func init() { - t["DVSConfigSpec"] = reflect.TypeOf((*DVSConfigSpec)(nil)).Elem() -} - -type DVSContactInfo struct { - DynamicData - - Name string `xml:"name,omitempty"` - Contact string `xml:"contact,omitempty"` -} - -func init() { - t["DVSContactInfo"] = reflect.TypeOf((*DVSContactInfo)(nil)).Elem() -} - -type DVSCreateSpec struct { - DynamicData - - ConfigSpec BaseDVSConfigSpec `xml:"configSpec,typeattr"` - ProductInfo *DistributedVirtualSwitchProductSpec `xml:"productInfo,omitempty"` - Capability *DVSCapability `xml:"capability,omitempty"` -} - -func init() { - t["DVSCreateSpec"] = reflect.TypeOf((*DVSCreateSpec)(nil)).Elem() -} - -type DVSFailureCriteria struct { - InheritablePolicy - - CheckSpeed *StringPolicy `xml:"checkSpeed,omitempty"` - Speed *IntPolicy `xml:"speed,omitempty"` - CheckDuplex *BoolPolicy `xml:"checkDuplex,omitempty"` - FullDuplex *BoolPolicy `xml:"fullDuplex,omitempty"` - CheckErrorPercent *BoolPolicy `xml:"checkErrorPercent,omitempty"` - Percentage *IntPolicy `xml:"percentage,omitempty"` - CheckBeacon *BoolPolicy `xml:"checkBeacon,omitempty"` -} - -func init() { - t["DVSFailureCriteria"] = reflect.TypeOf((*DVSFailureCriteria)(nil)).Elem() -} - -type DVSFeatureCapability struct { - DynamicData - - NetworkResourceManagementSupported bool `xml:"networkResourceManagementSupported"` - VmDirectPathGen2Supported bool `xml:"vmDirectPathGen2Supported"` - NicTeamingPolicy []string `xml:"nicTeamingPolicy,omitempty"` - NetworkResourcePoolHighShareValue int32 `xml:"networkResourcePoolHighShareValue,omitempty"` - NetworkResourceManagementCapability *DVSNetworkResourceManagementCapability `xml:"networkResourceManagementCapability,omitempty"` - HealthCheckCapability BaseDVSHealthCheckCapability `xml:"healthCheckCapability,omitempty,typeattr"` - RollbackCapability *DVSRollbackCapability `xml:"rollbackCapability,omitempty"` - BackupRestoreCapability *DVSBackupRestoreCapability `xml:"backupRestoreCapability,omitempty"` - NetworkFilterSupported *bool `xml:"networkFilterSupported"` - MacLearningSupported *bool `xml:"macLearningSupported"` -} - -func init() { - t["DVSFeatureCapability"] = reflect.TypeOf((*DVSFeatureCapability)(nil)).Elem() -} - -type DVSHealthCheckCapability struct { - DynamicData -} - -func init() { - t["DVSHealthCheckCapability"] = reflect.TypeOf((*DVSHealthCheckCapability)(nil)).Elem() -} - -type DVSHealthCheckConfig struct { - DynamicData - - Enable *bool `xml:"enable"` - Interval int32 `xml:"interval,omitempty"` -} - -func init() { - t["DVSHealthCheckConfig"] = reflect.TypeOf((*DVSHealthCheckConfig)(nil)).Elem() -} - -type DVSHostLocalPortInfo struct { - DynamicData - - SwitchUuid string `xml:"switchUuid"` - PortKey string `xml:"portKey"` - Setting BaseDVPortSetting `xml:"setting,typeattr"` - Vnic string `xml:"vnic"` -} - -func init() { - t["DVSHostLocalPortInfo"] = reflect.TypeOf((*DVSHostLocalPortInfo)(nil)).Elem() -} - -type DVSMacLearningPolicy struct { - InheritablePolicy - - Enabled bool `xml:"enabled"` - AllowUnicastFlooding *bool `xml:"allowUnicastFlooding"` - Limit *int32 `xml:"limit"` - LimitPolicy string `xml:"limitPolicy,omitempty"` -} - -func init() { - t["DVSMacLearningPolicy"] = reflect.TypeOf((*DVSMacLearningPolicy)(nil)).Elem() -} - -type DVSMacManagementPolicy struct { - InheritablePolicy - - AllowPromiscuous *bool `xml:"allowPromiscuous"` - MacChanges *bool `xml:"macChanges"` - ForgedTransmits *bool `xml:"forgedTransmits"` - MacLearningPolicy *DVSMacLearningPolicy `xml:"macLearningPolicy,omitempty"` -} - -func init() { - t["DVSMacManagementPolicy"] = reflect.TypeOf((*DVSMacManagementPolicy)(nil)).Elem() -} - -type DVSManagerDvsConfigTarget struct { - DynamicData - - DistributedVirtualPortgroup []DistributedVirtualPortgroupInfo `xml:"distributedVirtualPortgroup,omitempty"` - DistributedVirtualSwitch []DistributedVirtualSwitchInfo `xml:"distributedVirtualSwitch,omitempty"` -} - -func init() { - t["DVSManagerDvsConfigTarget"] = reflect.TypeOf((*DVSManagerDvsConfigTarget)(nil)).Elem() -} - -type DVSManagerExportEntityRequestType struct { - This ManagedObjectReference `xml:"_this"` - SelectionSet []BaseSelectionSet `xml:"selectionSet,typeattr"` -} - -func init() { - t["DVSManagerExportEntityRequestType"] = reflect.TypeOf((*DVSManagerExportEntityRequestType)(nil)).Elem() -} - -type DVSManagerExportEntity_Task DVSManagerExportEntityRequestType - -func init() { - t["DVSManagerExportEntity_Task"] = reflect.TypeOf((*DVSManagerExportEntity_Task)(nil)).Elem() -} - -type DVSManagerExportEntity_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type DVSManagerImportEntityRequestType struct { - This ManagedObjectReference `xml:"_this"` - EntityBackup []EntityBackupConfig `xml:"entityBackup"` - ImportType string `xml:"importType"` -} - -func init() { - t["DVSManagerImportEntityRequestType"] = reflect.TypeOf((*DVSManagerImportEntityRequestType)(nil)).Elem() -} - -type DVSManagerImportEntity_Task DVSManagerImportEntityRequestType - -func init() { - t["DVSManagerImportEntity_Task"] = reflect.TypeOf((*DVSManagerImportEntity_Task)(nil)).Elem() -} - -type DVSManagerImportEntity_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type DVSManagerLookupDvPortGroup DVSManagerLookupDvPortGroupRequestType - -func init() { - t["DVSManagerLookupDvPortGroup"] = reflect.TypeOf((*DVSManagerLookupDvPortGroup)(nil)).Elem() -} - -type DVSManagerLookupDvPortGroupRequestType struct { - This ManagedObjectReference `xml:"_this"` - SwitchUuid string `xml:"switchUuid"` - PortgroupKey string `xml:"portgroupKey"` -} - -func init() { - t["DVSManagerLookupDvPortGroupRequestType"] = reflect.TypeOf((*DVSManagerLookupDvPortGroupRequestType)(nil)).Elem() -} - -type DVSManagerLookupDvPortGroupResponse struct { - Returnval *ManagedObjectReference `xml:"returnval,omitempty"` -} - -type DVSManagerPhysicalNicsList struct { - DynamicData - - Host ManagedObjectReference `xml:"host"` - PhysicalNics []PhysicalNic `xml:"physicalNics,omitempty"` -} - -func init() { - t["DVSManagerPhysicalNicsList"] = reflect.TypeOf((*DVSManagerPhysicalNicsList)(nil)).Elem() -} - -type DVSNameArrayUplinkPortPolicy struct { - DVSUplinkPortPolicy - - UplinkPortName []string `xml:"uplinkPortName"` -} - -func init() { - t["DVSNameArrayUplinkPortPolicy"] = reflect.TypeOf((*DVSNameArrayUplinkPortPolicy)(nil)).Elem() -} - -type DVSNetworkResourceManagementCapability struct { - DynamicData - - NetworkResourceManagementSupported bool `xml:"networkResourceManagementSupported"` - NetworkResourcePoolHighShareValue int32 `xml:"networkResourcePoolHighShareValue"` - QosSupported bool `xml:"qosSupported"` - UserDefinedNetworkResourcePoolsSupported bool `xml:"userDefinedNetworkResourcePoolsSupported"` - NetworkResourceControlVersion3Supported *bool `xml:"networkResourceControlVersion3Supported"` - UserDefinedInfraTrafficPoolSupported *bool `xml:"userDefinedInfraTrafficPoolSupported"` -} - -func init() { - t["DVSNetworkResourceManagementCapability"] = reflect.TypeOf((*DVSNetworkResourceManagementCapability)(nil)).Elem() -} - -type DVSNetworkResourcePool struct { - DynamicData - - Key string `xml:"key"` - Name string `xml:"name,omitempty"` - Description string `xml:"description,omitempty"` - ConfigVersion string `xml:"configVersion"` - AllocationInfo DVSNetworkResourcePoolAllocationInfo `xml:"allocationInfo"` -} - -func init() { - t["DVSNetworkResourcePool"] = reflect.TypeOf((*DVSNetworkResourcePool)(nil)).Elem() -} - -type DVSNetworkResourcePoolAllocationInfo struct { - DynamicData - - Limit *int64 `xml:"limit"` - Shares *SharesInfo `xml:"shares,omitempty"` - PriorityTag int32 `xml:"priorityTag,omitempty"` -} - -func init() { - t["DVSNetworkResourcePoolAllocationInfo"] = reflect.TypeOf((*DVSNetworkResourcePoolAllocationInfo)(nil)).Elem() -} - -type DVSNetworkResourcePoolConfigSpec struct { - DynamicData - - Key string `xml:"key"` - ConfigVersion string `xml:"configVersion,omitempty"` - AllocationInfo *DVSNetworkResourcePoolAllocationInfo `xml:"allocationInfo,omitempty"` - Name string `xml:"name,omitempty"` - Description string `xml:"description,omitempty"` -} - -func init() { - t["DVSNetworkResourcePoolConfigSpec"] = reflect.TypeOf((*DVSNetworkResourcePoolConfigSpec)(nil)).Elem() -} - -type DVSPolicy struct { - DynamicData - - AutoPreInstallAllowed *bool `xml:"autoPreInstallAllowed"` - AutoUpgradeAllowed *bool `xml:"autoUpgradeAllowed"` - PartialUpgradeAllowed *bool `xml:"partialUpgradeAllowed"` -} - -func init() { - t["DVSPolicy"] = reflect.TypeOf((*DVSPolicy)(nil)).Elem() -} - -type DVSRollbackCapability struct { - DynamicData - - RollbackSupported bool `xml:"rollbackSupported"` -} - -func init() { - t["DVSRollbackCapability"] = reflect.TypeOf((*DVSRollbackCapability)(nil)).Elem() -} - -type DVSRollbackRequestType struct { - This ManagedObjectReference `xml:"_this"` - EntityBackup *EntityBackupConfig `xml:"entityBackup,omitempty"` -} - -func init() { - t["DVSRollbackRequestType"] = reflect.TypeOf((*DVSRollbackRequestType)(nil)).Elem() -} - -type DVSRollback_Task DVSRollbackRequestType - -func init() { - t["DVSRollback_Task"] = reflect.TypeOf((*DVSRollback_Task)(nil)).Elem() -} - -type DVSRollback_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type DVSRuntimeInfo struct { - DynamicData - - HostMemberRuntime []HostMemberRuntimeInfo `xml:"hostMemberRuntime,omitempty"` - ResourceRuntimeInfo *DvsResourceRuntimeInfo `xml:"resourceRuntimeInfo,omitempty"` -} - -func init() { - t["DVSRuntimeInfo"] = reflect.TypeOf((*DVSRuntimeInfo)(nil)).Elem() -} - -type DVSSecurityPolicy struct { - InheritablePolicy - - AllowPromiscuous *BoolPolicy `xml:"allowPromiscuous,omitempty"` - MacChanges *BoolPolicy `xml:"macChanges,omitempty"` - ForgedTransmits *BoolPolicy `xml:"forgedTransmits,omitempty"` -} - -func init() { - t["DVSSecurityPolicy"] = reflect.TypeOf((*DVSSecurityPolicy)(nil)).Elem() -} - -type DVSSelection struct { - SelectionSet - - DvsUuid string `xml:"dvsUuid"` -} - -func init() { - t["DVSSelection"] = reflect.TypeOf((*DVSSelection)(nil)).Elem() -} - -type DVSSummary struct { - DynamicData - - Name string `xml:"name"` - Uuid string `xml:"uuid"` - NumPorts int32 `xml:"numPorts"` - ProductInfo *DistributedVirtualSwitchProductSpec `xml:"productInfo,omitempty"` - HostMember []ManagedObjectReference `xml:"hostMember,omitempty"` - Vm []ManagedObjectReference `xml:"vm,omitempty"` - Host []ManagedObjectReference `xml:"host,omitempty"` - PortgroupName []string `xml:"portgroupName,omitempty"` - Description string `xml:"description,omitempty"` - Contact *DVSContactInfo `xml:"contact,omitempty"` - NumHosts int32 `xml:"numHosts,omitempty"` -} - -func init() { - t["DVSSummary"] = reflect.TypeOf((*DVSSummary)(nil)).Elem() -} - -type DVSTrafficShapingPolicy struct { - InheritablePolicy - - Enabled *BoolPolicy `xml:"enabled,omitempty"` - AverageBandwidth *LongPolicy `xml:"averageBandwidth,omitempty"` - PeakBandwidth *LongPolicy `xml:"peakBandwidth,omitempty"` - BurstSize *LongPolicy `xml:"burstSize,omitempty"` -} - -func init() { - t["DVSTrafficShapingPolicy"] = reflect.TypeOf((*DVSTrafficShapingPolicy)(nil)).Elem() -} - -type DVSUplinkPortPolicy struct { - DynamicData -} - -func init() { - t["DVSUplinkPortPolicy"] = reflect.TypeOf((*DVSUplinkPortPolicy)(nil)).Elem() -} - -type DVSVendorSpecificConfig struct { - InheritablePolicy - - KeyValue []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"keyValue,omitempty"` -} - -func init() { - t["DVSVendorSpecificConfig"] = reflect.TypeOf((*DVSVendorSpecificConfig)(nil)).Elem() -} - -type DVSVmVnicNetworkResourcePool struct { - DynamicData - - Key string `xml:"key"` - Name string `xml:"name,omitempty"` - Description string `xml:"description,omitempty"` - ConfigVersion string `xml:"configVersion"` - AllocationInfo *DvsVmVnicResourceAllocation `xml:"allocationInfo,omitempty"` -} - -func init() { - t["DVSVmVnicNetworkResourcePool"] = reflect.TypeOf((*DVSVmVnicNetworkResourcePool)(nil)).Elem() -} - -type DailyTaskScheduler struct { - HourlyTaskScheduler - - Hour int32 `xml:"hour"` -} - -func init() { - t["DailyTaskScheduler"] = reflect.TypeOf((*DailyTaskScheduler)(nil)).Elem() -} - -type DasAdmissionControlDisabledEvent struct { - ClusterEvent -} - -func init() { - t["DasAdmissionControlDisabledEvent"] = reflect.TypeOf((*DasAdmissionControlDisabledEvent)(nil)).Elem() -} - -type DasAdmissionControlEnabledEvent struct { - ClusterEvent -} - -func init() { - t["DasAdmissionControlEnabledEvent"] = reflect.TypeOf((*DasAdmissionControlEnabledEvent)(nil)).Elem() -} - -type DasAgentFoundEvent struct { - ClusterEvent -} - -func init() { - t["DasAgentFoundEvent"] = reflect.TypeOf((*DasAgentFoundEvent)(nil)).Elem() -} - -type DasAgentUnavailableEvent struct { - ClusterEvent -} - -func init() { - t["DasAgentUnavailableEvent"] = reflect.TypeOf((*DasAgentUnavailableEvent)(nil)).Elem() -} - -type DasClusterIsolatedEvent struct { - ClusterEvent -} - -func init() { - t["DasClusterIsolatedEvent"] = reflect.TypeOf((*DasClusterIsolatedEvent)(nil)).Elem() -} - -type DasConfigFault struct { - VimFault - - Reason string `xml:"reason,omitempty"` - Output string `xml:"output,omitempty"` - Event []BaseEvent `xml:"event,omitempty,typeattr"` -} - -func init() { - t["DasConfigFault"] = reflect.TypeOf((*DasConfigFault)(nil)).Elem() -} - -type DasConfigFaultFault DasConfigFault - -func init() { - t["DasConfigFaultFault"] = reflect.TypeOf((*DasConfigFaultFault)(nil)).Elem() -} - -type DasDisabledEvent struct { - ClusterEvent -} - -func init() { - t["DasDisabledEvent"] = reflect.TypeOf((*DasDisabledEvent)(nil)).Elem() -} - -type DasEnabledEvent struct { - ClusterEvent -} - -func init() { - t["DasEnabledEvent"] = reflect.TypeOf((*DasEnabledEvent)(nil)).Elem() -} - -type DasHeartbeatDatastoreInfo struct { - DynamicData - - Datastore ManagedObjectReference `xml:"datastore"` - Hosts []ManagedObjectReference `xml:"hosts"` -} - -func init() { - t["DasHeartbeatDatastoreInfo"] = reflect.TypeOf((*DasHeartbeatDatastoreInfo)(nil)).Elem() -} - -type DasHostFailedEvent struct { - ClusterEvent - - FailedHost HostEventArgument `xml:"failedHost"` -} - -func init() { - t["DasHostFailedEvent"] = reflect.TypeOf((*DasHostFailedEvent)(nil)).Elem() -} - -type DasHostIsolatedEvent struct { - ClusterEvent - - IsolatedHost HostEventArgument `xml:"isolatedHost"` -} - -func init() { - t["DasHostIsolatedEvent"] = reflect.TypeOf((*DasHostIsolatedEvent)(nil)).Elem() -} - -type DatabaseError struct { - RuntimeFault -} - -func init() { - t["DatabaseError"] = reflect.TypeOf((*DatabaseError)(nil)).Elem() -} - -type DatabaseErrorFault DatabaseError - -func init() { - t["DatabaseErrorFault"] = reflect.TypeOf((*DatabaseErrorFault)(nil)).Elem() -} - -type DatabaseSizeEstimate struct { - DynamicData - - Size int64 `xml:"size"` -} - -func init() { - t["DatabaseSizeEstimate"] = reflect.TypeOf((*DatabaseSizeEstimate)(nil)).Elem() -} - -type DatabaseSizeParam struct { - DynamicData - - InventoryDesc InventoryDescription `xml:"inventoryDesc"` - PerfStatsDesc *PerformanceStatisticsDescription `xml:"perfStatsDesc,omitempty"` -} - -func init() { - t["DatabaseSizeParam"] = reflect.TypeOf((*DatabaseSizeParam)(nil)).Elem() -} - -type DatacenterBasicConnectInfo struct { - DynamicData - - Hostname string `xml:"hostname,omitempty"` - Error *LocalizedMethodFault `xml:"error,omitempty"` - ServerIp string `xml:"serverIp,omitempty"` - NumVm int32 `xml:"numVm,omitempty"` - NumPoweredOnVm int32 `xml:"numPoweredOnVm,omitempty"` - HostProductInfo *AboutInfo `xml:"hostProductInfo,omitempty"` - HardwareVendor string `xml:"hardwareVendor,omitempty"` - HardwareModel string `xml:"hardwareModel,omitempty"` -} - -func init() { - t["DatacenterBasicConnectInfo"] = reflect.TypeOf((*DatacenterBasicConnectInfo)(nil)).Elem() -} - -type DatacenterConfigInfo struct { - DynamicData - - DefaultHardwareVersionKey string `xml:"defaultHardwareVersionKey,omitempty"` - MaximumHardwareVersionKey string `xml:"maximumHardwareVersionKey,omitempty"` -} - -func init() { - t["DatacenterConfigInfo"] = reflect.TypeOf((*DatacenterConfigInfo)(nil)).Elem() -} - -type DatacenterConfigSpec struct { - DynamicData - - DefaultHardwareVersionKey string `xml:"defaultHardwareVersionKey,omitempty"` - MaximumHardwareVersionKey string `xml:"maximumHardwareVersionKey,omitempty"` -} - -func init() { - t["DatacenterConfigSpec"] = reflect.TypeOf((*DatacenterConfigSpec)(nil)).Elem() -} - -type DatacenterCreatedEvent struct { - DatacenterEvent - - Parent FolderEventArgument `xml:"parent"` -} - -func init() { - t["DatacenterCreatedEvent"] = reflect.TypeOf((*DatacenterCreatedEvent)(nil)).Elem() -} - -type DatacenterEvent struct { - Event -} - -func init() { - t["DatacenterEvent"] = reflect.TypeOf((*DatacenterEvent)(nil)).Elem() -} - -type DatacenterEventArgument struct { - EntityEventArgument - - Datacenter ManagedObjectReference `xml:"datacenter"` -} - -func init() { - t["DatacenterEventArgument"] = reflect.TypeOf((*DatacenterEventArgument)(nil)).Elem() -} - -type DatacenterMismatch struct { - MigrationFault - - InvalidArgument []DatacenterMismatchArgument `xml:"invalidArgument"` - ExpectedDatacenter ManagedObjectReference `xml:"expectedDatacenter"` -} - -func init() { - t["DatacenterMismatch"] = reflect.TypeOf((*DatacenterMismatch)(nil)).Elem() -} - -type DatacenterMismatchArgument struct { - DynamicData - - Entity ManagedObjectReference `xml:"entity"` - InputDatacenter *ManagedObjectReference `xml:"inputDatacenter,omitempty"` -} - -func init() { - t["DatacenterMismatchArgument"] = reflect.TypeOf((*DatacenterMismatchArgument)(nil)).Elem() -} - -type DatacenterMismatchFault DatacenterMismatch - -func init() { - t["DatacenterMismatchFault"] = reflect.TypeOf((*DatacenterMismatchFault)(nil)).Elem() -} - -type DatacenterRenamedEvent struct { - DatacenterEvent - - OldName string `xml:"oldName"` - NewName string `xml:"newName"` -} - -func init() { - t["DatacenterRenamedEvent"] = reflect.TypeOf((*DatacenterRenamedEvent)(nil)).Elem() -} - -type DatastoreCapability struct { - DynamicData - - DirectoryHierarchySupported bool `xml:"directoryHierarchySupported"` - RawDiskMappingsSupported bool `xml:"rawDiskMappingsSupported"` - PerFileThinProvisioningSupported bool `xml:"perFileThinProvisioningSupported"` - StorageIORMSupported *bool `xml:"storageIORMSupported"` - NativeSnapshotSupported *bool `xml:"nativeSnapshotSupported"` - TopLevelDirectoryCreateSupported *bool `xml:"topLevelDirectoryCreateSupported"` - SeSparseSupported *bool `xml:"seSparseSupported"` - VmfsSparseSupported *bool `xml:"vmfsSparseSupported"` - VsanSparseSupported *bool `xml:"vsanSparseSupported"` - UpitSupported *bool `xml:"upitSupported"` - VmdkExpandSupported *bool `xml:"vmdkExpandSupported"` - ClusteredVmdkSupported *bool `xml:"clusteredVmdkSupported"` -} - -func init() { - t["DatastoreCapability"] = reflect.TypeOf((*DatastoreCapability)(nil)).Elem() -} - -type DatastoreCapacityIncreasedEvent struct { - DatastoreEvent - - OldCapacity int64 `xml:"oldCapacity"` - NewCapacity int64 `xml:"newCapacity"` -} - -func init() { - t["DatastoreCapacityIncreasedEvent"] = reflect.TypeOf((*DatastoreCapacityIncreasedEvent)(nil)).Elem() -} - -type DatastoreDestroyedEvent struct { - DatastoreEvent -} - -func init() { - t["DatastoreDestroyedEvent"] = reflect.TypeOf((*DatastoreDestroyedEvent)(nil)).Elem() -} - -type DatastoreDiscoveredEvent struct { - HostEvent - - Datastore DatastoreEventArgument `xml:"datastore"` -} - -func init() { - t["DatastoreDiscoveredEvent"] = reflect.TypeOf((*DatastoreDiscoveredEvent)(nil)).Elem() -} - -type DatastoreDuplicatedEvent struct { - DatastoreEvent -} - -func init() { - t["DatastoreDuplicatedEvent"] = reflect.TypeOf((*DatastoreDuplicatedEvent)(nil)).Elem() -} - -type DatastoreEnterMaintenanceMode DatastoreEnterMaintenanceModeRequestType - -func init() { - t["DatastoreEnterMaintenanceMode"] = reflect.TypeOf((*DatastoreEnterMaintenanceMode)(nil)).Elem() -} - -type DatastoreEnterMaintenanceModeRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["DatastoreEnterMaintenanceModeRequestType"] = reflect.TypeOf((*DatastoreEnterMaintenanceModeRequestType)(nil)).Elem() -} - -type DatastoreEnterMaintenanceModeResponse struct { - Returnval StoragePlacementResult `xml:"returnval"` -} - -type DatastoreEvent struct { - Event - - Datastore *DatastoreEventArgument `xml:"datastore,omitempty"` -} - -func init() { - t["DatastoreEvent"] = reflect.TypeOf((*DatastoreEvent)(nil)).Elem() -} - -type DatastoreEventArgument struct { - EntityEventArgument - - Datastore ManagedObjectReference `xml:"datastore"` -} - -func init() { - t["DatastoreEventArgument"] = reflect.TypeOf((*DatastoreEventArgument)(nil)).Elem() -} - -type DatastoreExitMaintenanceModeRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["DatastoreExitMaintenanceModeRequestType"] = reflect.TypeOf((*DatastoreExitMaintenanceModeRequestType)(nil)).Elem() -} - -type DatastoreExitMaintenanceMode_Task DatastoreExitMaintenanceModeRequestType - -func init() { - t["DatastoreExitMaintenanceMode_Task"] = reflect.TypeOf((*DatastoreExitMaintenanceMode_Task)(nil)).Elem() -} - -type DatastoreExitMaintenanceMode_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type DatastoreFileCopiedEvent struct { - DatastoreFileEvent - - SourceDatastore DatastoreEventArgument `xml:"sourceDatastore"` - SourceFile string `xml:"sourceFile"` -} - -func init() { - t["DatastoreFileCopiedEvent"] = reflect.TypeOf((*DatastoreFileCopiedEvent)(nil)).Elem() -} - -type DatastoreFileDeletedEvent struct { - DatastoreFileEvent -} - -func init() { - t["DatastoreFileDeletedEvent"] = reflect.TypeOf((*DatastoreFileDeletedEvent)(nil)).Elem() -} - -type DatastoreFileEvent struct { - DatastoreEvent - - TargetFile string `xml:"targetFile"` - SourceOfOperation string `xml:"sourceOfOperation,omitempty"` - Succeeded *bool `xml:"succeeded"` -} - -func init() { - t["DatastoreFileEvent"] = reflect.TypeOf((*DatastoreFileEvent)(nil)).Elem() -} - -type DatastoreFileMovedEvent struct { - DatastoreFileEvent - - SourceDatastore DatastoreEventArgument `xml:"sourceDatastore"` - SourceFile string `xml:"sourceFile"` -} - -func init() { - t["DatastoreFileMovedEvent"] = reflect.TypeOf((*DatastoreFileMovedEvent)(nil)).Elem() -} - -type DatastoreHostMount struct { - DynamicData - - Key ManagedObjectReference `xml:"key"` - MountInfo HostMountInfo `xml:"mountInfo"` -} - -func init() { - t["DatastoreHostMount"] = reflect.TypeOf((*DatastoreHostMount)(nil)).Elem() -} - -type DatastoreIORMReconfiguredEvent struct { - DatastoreEvent -} - -func init() { - t["DatastoreIORMReconfiguredEvent"] = reflect.TypeOf((*DatastoreIORMReconfiguredEvent)(nil)).Elem() -} - -type DatastoreInfo struct { - DynamicData - - Name string `xml:"name"` - Url string `xml:"url"` - FreeSpace int64 `xml:"freeSpace"` - MaxFileSize int64 `xml:"maxFileSize"` - MaxVirtualDiskCapacity int64 `xml:"maxVirtualDiskCapacity,omitempty"` - MaxMemoryFileSize int64 `xml:"maxMemoryFileSize,omitempty"` - Timestamp *time.Time `xml:"timestamp"` - ContainerId string `xml:"containerId,omitempty"` - AliasOf string `xml:"aliasOf,omitempty"` -} - -func init() { - t["DatastoreInfo"] = reflect.TypeOf((*DatastoreInfo)(nil)).Elem() -} - -type DatastoreMountPathDatastorePair struct { - DynamicData - - OldMountPath string `xml:"oldMountPath"` - Datastore ManagedObjectReference `xml:"datastore"` -} - -func init() { - t["DatastoreMountPathDatastorePair"] = reflect.TypeOf((*DatastoreMountPathDatastorePair)(nil)).Elem() -} - -type DatastoreNotWritableOnHost struct { - InvalidDatastore - - Host ManagedObjectReference `xml:"host"` -} - -func init() { - t["DatastoreNotWritableOnHost"] = reflect.TypeOf((*DatastoreNotWritableOnHost)(nil)).Elem() -} - -type DatastoreNotWritableOnHostFault BaseDatastoreNotWritableOnHost - -func init() { - t["DatastoreNotWritableOnHostFault"] = reflect.TypeOf((*DatastoreNotWritableOnHostFault)(nil)).Elem() -} - -type DatastoreOption struct { - DynamicData - - UnsupportedVolumes []VirtualMachineDatastoreVolumeOption `xml:"unsupportedVolumes,omitempty"` -} - -func init() { - t["DatastoreOption"] = reflect.TypeOf((*DatastoreOption)(nil)).Elem() -} - -type DatastorePrincipalConfigured struct { - HostEvent - - DatastorePrincipal string `xml:"datastorePrincipal"` -} - -func init() { - t["DatastorePrincipalConfigured"] = reflect.TypeOf((*DatastorePrincipalConfigured)(nil)).Elem() -} - -type DatastoreRemovedOnHostEvent struct { - HostEvent - - Datastore DatastoreEventArgument `xml:"datastore"` -} - -func init() { - t["DatastoreRemovedOnHostEvent"] = reflect.TypeOf((*DatastoreRemovedOnHostEvent)(nil)).Elem() -} - -type DatastoreRenamedEvent struct { - DatastoreEvent - - OldName string `xml:"oldName"` - NewName string `xml:"newName"` -} - -func init() { - t["DatastoreRenamedEvent"] = reflect.TypeOf((*DatastoreRenamedEvent)(nil)).Elem() -} - -type DatastoreRenamedOnHostEvent struct { - HostEvent - - OldName string `xml:"oldName"` - NewName string `xml:"newName"` -} - -func init() { - t["DatastoreRenamedOnHostEvent"] = reflect.TypeOf((*DatastoreRenamedOnHostEvent)(nil)).Elem() -} - -type DatastoreSummary struct { - DynamicData - - Datastore *ManagedObjectReference `xml:"datastore,omitempty"` - Name string `xml:"name"` - Url string `xml:"url"` - Capacity int64 `xml:"capacity"` - FreeSpace int64 `xml:"freeSpace"` - Uncommitted int64 `xml:"uncommitted,omitempty"` - Accessible bool `xml:"accessible"` - MultipleHostAccess *bool `xml:"multipleHostAccess"` - Type string `xml:"type"` - MaintenanceMode string `xml:"maintenanceMode,omitempty"` -} - -func init() { - t["DatastoreSummary"] = reflect.TypeOf((*DatastoreSummary)(nil)).Elem() -} - -type DatastoreVVolContainerFailoverPair struct { - DynamicData - - SrcContainer string `xml:"srcContainer,omitempty"` - TgtContainer string `xml:"tgtContainer"` - VvolMapping []KeyValue `xml:"vvolMapping,omitempty"` -} - -func init() { - t["DatastoreVVolContainerFailoverPair"] = reflect.TypeOf((*DatastoreVVolContainerFailoverPair)(nil)).Elem() -} - -type DateTimeProfile struct { - ApplyProfile -} - -func init() { - t["DateTimeProfile"] = reflect.TypeOf((*DateTimeProfile)(nil)).Elem() -} - -type DecodeLicense DecodeLicenseRequestType - -func init() { - t["DecodeLicense"] = reflect.TypeOf((*DecodeLicense)(nil)).Elem() -} - -type DecodeLicenseRequestType struct { - This ManagedObjectReference `xml:"_this"` - LicenseKey string `xml:"licenseKey"` -} - -func init() { - t["DecodeLicenseRequestType"] = reflect.TypeOf((*DecodeLicenseRequestType)(nil)).Elem() -} - -type DecodeLicenseResponse struct { - Returnval LicenseManagerLicenseInfo `xml:"returnval"` -} - -type DefragmentAllDisks DefragmentAllDisksRequestType - -func init() { - t["DefragmentAllDisks"] = reflect.TypeOf((*DefragmentAllDisks)(nil)).Elem() -} - -type DefragmentAllDisksRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["DefragmentAllDisksRequestType"] = reflect.TypeOf((*DefragmentAllDisksRequestType)(nil)).Elem() -} - -type DefragmentAllDisksResponse struct { -} - -type DefragmentVirtualDiskRequestType struct { - This ManagedObjectReference `xml:"_this"` - Name string `xml:"name"` - Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"` -} - -func init() { - t["DefragmentVirtualDiskRequestType"] = reflect.TypeOf((*DefragmentVirtualDiskRequestType)(nil)).Elem() -} - -type DefragmentVirtualDisk_Task DefragmentVirtualDiskRequestType - -func init() { - t["DefragmentVirtualDisk_Task"] = reflect.TypeOf((*DefragmentVirtualDisk_Task)(nil)).Elem() -} - -type DefragmentVirtualDisk_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type DeleteCustomizationSpec DeleteCustomizationSpecRequestType - -func init() { - t["DeleteCustomizationSpec"] = reflect.TypeOf((*DeleteCustomizationSpec)(nil)).Elem() -} - -type DeleteCustomizationSpecRequestType struct { - This ManagedObjectReference `xml:"_this"` - Name string `xml:"name"` -} - -func init() { - t["DeleteCustomizationSpecRequestType"] = reflect.TypeOf((*DeleteCustomizationSpecRequestType)(nil)).Elem() -} - -type DeleteCustomizationSpecResponse struct { -} - -type DeleteDatastoreFileRequestType struct { - This ManagedObjectReference `xml:"_this"` - Name string `xml:"name"` - Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"` -} - -func init() { - t["DeleteDatastoreFileRequestType"] = reflect.TypeOf((*DeleteDatastoreFileRequestType)(nil)).Elem() -} - -type DeleteDatastoreFile_Task DeleteDatastoreFileRequestType - -func init() { - t["DeleteDatastoreFile_Task"] = reflect.TypeOf((*DeleteDatastoreFile_Task)(nil)).Elem() -} - -type DeleteDatastoreFile_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type DeleteDirectory DeleteDirectoryRequestType - -func init() { - t["DeleteDirectory"] = reflect.TypeOf((*DeleteDirectory)(nil)).Elem() -} - -type DeleteDirectoryInGuest DeleteDirectoryInGuestRequestType - -func init() { - t["DeleteDirectoryInGuest"] = reflect.TypeOf((*DeleteDirectoryInGuest)(nil)).Elem() -} - -type DeleteDirectoryInGuestRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm ManagedObjectReference `xml:"vm"` - Auth BaseGuestAuthentication `xml:"auth,typeattr"` - DirectoryPath string `xml:"directoryPath"` - Recursive bool `xml:"recursive"` -} - -func init() { - t["DeleteDirectoryInGuestRequestType"] = reflect.TypeOf((*DeleteDirectoryInGuestRequestType)(nil)).Elem() -} - -type DeleteDirectoryInGuestResponse struct { -} - -type DeleteDirectoryRequestType struct { - This ManagedObjectReference `xml:"_this"` - Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"` - DatastorePath string `xml:"datastorePath"` -} - -func init() { - t["DeleteDirectoryRequestType"] = reflect.TypeOf((*DeleteDirectoryRequestType)(nil)).Elem() -} - -type DeleteDirectoryResponse struct { -} - -type DeleteFile DeleteFileRequestType - -func init() { - t["DeleteFile"] = reflect.TypeOf((*DeleteFile)(nil)).Elem() -} - -type DeleteFileInGuest DeleteFileInGuestRequestType - -func init() { - t["DeleteFileInGuest"] = reflect.TypeOf((*DeleteFileInGuest)(nil)).Elem() -} - -type DeleteFileInGuestRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm ManagedObjectReference `xml:"vm"` - Auth BaseGuestAuthentication `xml:"auth,typeattr"` - FilePath string `xml:"filePath"` -} - -func init() { - t["DeleteFileInGuestRequestType"] = reflect.TypeOf((*DeleteFileInGuestRequestType)(nil)).Elem() -} - -type DeleteFileInGuestResponse struct { -} - -type DeleteFileRequestType struct { - This ManagedObjectReference `xml:"_this"` - DatastorePath string `xml:"datastorePath"` -} - -func init() { - t["DeleteFileRequestType"] = reflect.TypeOf((*DeleteFileRequestType)(nil)).Elem() -} - -type DeleteFileResponse struct { -} - -type DeleteHostSpecification DeleteHostSpecificationRequestType - -func init() { - t["DeleteHostSpecification"] = reflect.TypeOf((*DeleteHostSpecification)(nil)).Elem() -} - -type DeleteHostSpecificationRequestType struct { - This ManagedObjectReference `xml:"_this"` - Host ManagedObjectReference `xml:"host"` -} - -func init() { - t["DeleteHostSpecificationRequestType"] = reflect.TypeOf((*DeleteHostSpecificationRequestType)(nil)).Elem() -} - -type DeleteHostSpecificationResponse struct { -} - -type DeleteHostSubSpecification DeleteHostSubSpecificationRequestType - -func init() { - t["DeleteHostSubSpecification"] = reflect.TypeOf((*DeleteHostSubSpecification)(nil)).Elem() -} - -type DeleteHostSubSpecificationRequestType struct { - This ManagedObjectReference `xml:"_this"` - Host ManagedObjectReference `xml:"host"` - SubSpecName string `xml:"subSpecName"` -} - -func init() { - t["DeleteHostSubSpecificationRequestType"] = reflect.TypeOf((*DeleteHostSubSpecificationRequestType)(nil)).Elem() -} - -type DeleteHostSubSpecificationResponse struct { -} - -type DeleteNvdimmBlockNamespacesRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["DeleteNvdimmBlockNamespacesRequestType"] = reflect.TypeOf((*DeleteNvdimmBlockNamespacesRequestType)(nil)).Elem() -} - -type DeleteNvdimmBlockNamespaces_Task DeleteNvdimmBlockNamespacesRequestType - -func init() { - t["DeleteNvdimmBlockNamespaces_Task"] = reflect.TypeOf((*DeleteNvdimmBlockNamespaces_Task)(nil)).Elem() -} - -type DeleteNvdimmBlockNamespaces_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type DeleteNvdimmNamespaceRequestType struct { - This ManagedObjectReference `xml:"_this"` - DeleteSpec NvdimmNamespaceDeleteSpec `xml:"deleteSpec"` -} - -func init() { - t["DeleteNvdimmNamespaceRequestType"] = reflect.TypeOf((*DeleteNvdimmNamespaceRequestType)(nil)).Elem() -} - -type DeleteNvdimmNamespace_Task DeleteNvdimmNamespaceRequestType - -func init() { - t["DeleteNvdimmNamespace_Task"] = reflect.TypeOf((*DeleteNvdimmNamespace_Task)(nil)).Elem() -} - -type DeleteNvdimmNamespace_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type DeleteRegistryKeyInGuest DeleteRegistryKeyInGuestRequestType - -func init() { - t["DeleteRegistryKeyInGuest"] = reflect.TypeOf((*DeleteRegistryKeyInGuest)(nil)).Elem() -} - -type DeleteRegistryKeyInGuestRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm ManagedObjectReference `xml:"vm"` - Auth BaseGuestAuthentication `xml:"auth,typeattr"` - KeyName GuestRegKeyNameSpec `xml:"keyName"` - Recursive bool `xml:"recursive"` -} - -func init() { - t["DeleteRegistryKeyInGuestRequestType"] = reflect.TypeOf((*DeleteRegistryKeyInGuestRequestType)(nil)).Elem() -} - -type DeleteRegistryKeyInGuestResponse struct { -} - -type DeleteRegistryValueInGuest DeleteRegistryValueInGuestRequestType - -func init() { - t["DeleteRegistryValueInGuest"] = reflect.TypeOf((*DeleteRegistryValueInGuest)(nil)).Elem() -} - -type DeleteRegistryValueInGuestRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm ManagedObjectReference `xml:"vm"` - Auth BaseGuestAuthentication `xml:"auth,typeattr"` - ValueName GuestRegValueNameSpec `xml:"valueName"` -} - -func init() { - t["DeleteRegistryValueInGuestRequestType"] = reflect.TypeOf((*DeleteRegistryValueInGuestRequestType)(nil)).Elem() -} - -type DeleteRegistryValueInGuestResponse struct { -} - -type DeleteScsiLunState DeleteScsiLunStateRequestType - -func init() { - t["DeleteScsiLunState"] = reflect.TypeOf((*DeleteScsiLunState)(nil)).Elem() -} - -type DeleteScsiLunStateRequestType struct { - This ManagedObjectReference `xml:"_this"` - LunCanonicalName string `xml:"lunCanonicalName"` -} - -func init() { - t["DeleteScsiLunStateRequestType"] = reflect.TypeOf((*DeleteScsiLunStateRequestType)(nil)).Elem() -} - -type DeleteScsiLunStateResponse struct { -} - -type DeleteSnapshotRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id ID `xml:"id"` - Datastore ManagedObjectReference `xml:"datastore"` - SnapshotId ID `xml:"snapshotId"` -} - -func init() { - t["DeleteSnapshotRequestType"] = reflect.TypeOf((*DeleteSnapshotRequestType)(nil)).Elem() -} - -type DeleteSnapshot_Task DeleteSnapshotRequestType - -func init() { - t["DeleteSnapshot_Task"] = reflect.TypeOf((*DeleteSnapshot_Task)(nil)).Elem() -} - -type DeleteSnapshot_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type DeleteVStorageObjectExRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id ID `xml:"id"` - Datastore ManagedObjectReference `xml:"datastore"` -} - -func init() { - t["DeleteVStorageObjectExRequestType"] = reflect.TypeOf((*DeleteVStorageObjectExRequestType)(nil)).Elem() -} - -type DeleteVStorageObjectEx_Task DeleteVStorageObjectExRequestType - -func init() { - t["DeleteVStorageObjectEx_Task"] = reflect.TypeOf((*DeleteVStorageObjectEx_Task)(nil)).Elem() -} - -type DeleteVStorageObjectEx_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type DeleteVStorageObjectRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id ID `xml:"id"` - Datastore ManagedObjectReference `xml:"datastore"` -} - -func init() { - t["DeleteVStorageObjectRequestType"] = reflect.TypeOf((*DeleteVStorageObjectRequestType)(nil)).Elem() -} - -type DeleteVStorageObject_Task DeleteVStorageObjectRequestType - -func init() { - t["DeleteVStorageObject_Task"] = reflect.TypeOf((*DeleteVStorageObject_Task)(nil)).Elem() -} - -type DeleteVStorageObject_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type DeleteVffsVolumeState DeleteVffsVolumeStateRequestType - -func init() { - t["DeleteVffsVolumeState"] = reflect.TypeOf((*DeleteVffsVolumeState)(nil)).Elem() -} - -type DeleteVffsVolumeStateRequestType struct { - This ManagedObjectReference `xml:"_this"` - VffsUuid string `xml:"vffsUuid"` -} - -func init() { - t["DeleteVffsVolumeStateRequestType"] = reflect.TypeOf((*DeleteVffsVolumeStateRequestType)(nil)).Elem() -} - -type DeleteVffsVolumeStateResponse struct { -} - -type DeleteVirtualDiskRequestType struct { - This ManagedObjectReference `xml:"_this"` - Name string `xml:"name"` - Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"` -} - -func init() { - t["DeleteVirtualDiskRequestType"] = reflect.TypeOf((*DeleteVirtualDiskRequestType)(nil)).Elem() -} - -type DeleteVirtualDisk_Task DeleteVirtualDiskRequestType - -func init() { - t["DeleteVirtualDisk_Task"] = reflect.TypeOf((*DeleteVirtualDisk_Task)(nil)).Elem() -} - -type DeleteVirtualDisk_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type DeleteVmfsVolumeState DeleteVmfsVolumeStateRequestType - -func init() { - t["DeleteVmfsVolumeState"] = reflect.TypeOf((*DeleteVmfsVolumeState)(nil)).Elem() -} - -type DeleteVmfsVolumeStateRequestType struct { - This ManagedObjectReference `xml:"_this"` - VmfsUuid string `xml:"vmfsUuid"` -} - -func init() { - t["DeleteVmfsVolumeStateRequestType"] = reflect.TypeOf((*DeleteVmfsVolumeStateRequestType)(nil)).Elem() -} - -type DeleteVmfsVolumeStateResponse struct { -} - -type DeleteVsanObjects DeleteVsanObjectsRequestType - -func init() { - t["DeleteVsanObjects"] = reflect.TypeOf((*DeleteVsanObjects)(nil)).Elem() -} - -type DeleteVsanObjectsRequestType struct { - This ManagedObjectReference `xml:"_this"` - Uuids []string `xml:"uuids"` - Force *bool `xml:"force"` -} - -func init() { - t["DeleteVsanObjectsRequestType"] = reflect.TypeOf((*DeleteVsanObjectsRequestType)(nil)).Elem() -} - -type DeleteVsanObjectsResponse struct { - Returnval []HostVsanInternalSystemDeleteVsanObjectsResult `xml:"returnval"` -} - -type DeltaDiskFormatNotSupported struct { - VmConfigFault - - Datastore []ManagedObjectReference `xml:"datastore,omitempty"` - DeltaDiskFormat string `xml:"deltaDiskFormat"` -} - -func init() { - t["DeltaDiskFormatNotSupported"] = reflect.TypeOf((*DeltaDiskFormatNotSupported)(nil)).Elem() -} - -type DeltaDiskFormatNotSupportedFault DeltaDiskFormatNotSupported - -func init() { - t["DeltaDiskFormatNotSupportedFault"] = reflect.TypeOf((*DeltaDiskFormatNotSupportedFault)(nil)).Elem() -} - -type Description struct { - DynamicData - - Label string `xml:"label"` - Summary string `xml:"summary"` -} - -func init() { - t["Description"] = reflect.TypeOf((*Description)(nil)).Elem() -} - -type DeselectVnic DeselectVnicRequestType - -func init() { - t["DeselectVnic"] = reflect.TypeOf((*DeselectVnic)(nil)).Elem() -} - -type DeselectVnicForNicType DeselectVnicForNicTypeRequestType - -func init() { - t["DeselectVnicForNicType"] = reflect.TypeOf((*DeselectVnicForNicType)(nil)).Elem() -} - -type DeselectVnicForNicTypeRequestType struct { - This ManagedObjectReference `xml:"_this"` - NicType string `xml:"nicType"` - Device string `xml:"device"` -} - -func init() { - t["DeselectVnicForNicTypeRequestType"] = reflect.TypeOf((*DeselectVnicForNicTypeRequestType)(nil)).Elem() -} - -type DeselectVnicForNicTypeResponse struct { -} - -type DeselectVnicRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["DeselectVnicRequestType"] = reflect.TypeOf((*DeselectVnicRequestType)(nil)).Elem() -} - -type DeselectVnicResponse struct { -} - -type DesiredSoftwareSpec struct { - DynamicData - - BaseImageSpec DesiredSoftwareSpecBaseImageSpec `xml:"baseImageSpec"` - VendorAddOnSpec *DesiredSoftwareSpecVendorAddOnSpec `xml:"vendorAddOnSpec,omitempty"` - Components []DesiredSoftwareSpecComponentSpec `xml:"components,omitempty"` -} - -func init() { - t["DesiredSoftwareSpec"] = reflect.TypeOf((*DesiredSoftwareSpec)(nil)).Elem() -} - -type DesiredSoftwareSpecBaseImageSpec struct { - DynamicData - - Version string `xml:"version"` -} - -func init() { - t["DesiredSoftwareSpecBaseImageSpec"] = reflect.TypeOf((*DesiredSoftwareSpecBaseImageSpec)(nil)).Elem() -} - -type DesiredSoftwareSpecComponentSpec struct { - DynamicData - - Name string `xml:"name"` - Version string `xml:"version,omitempty"` -} - -func init() { - t["DesiredSoftwareSpecComponentSpec"] = reflect.TypeOf((*DesiredSoftwareSpecComponentSpec)(nil)).Elem() -} - -type DesiredSoftwareSpecVendorAddOnSpec struct { - DynamicData - - Name string `xml:"name"` - Version string `xml:"version"` -} - -func init() { - t["DesiredSoftwareSpecVendorAddOnSpec"] = reflect.TypeOf((*DesiredSoftwareSpecVendorAddOnSpec)(nil)).Elem() -} - -type DestinationSwitchFull struct { - CannotAccessNetwork -} - -func init() { - t["DestinationSwitchFull"] = reflect.TypeOf((*DestinationSwitchFull)(nil)).Elem() -} - -type DestinationSwitchFullFault DestinationSwitchFull - -func init() { - t["DestinationSwitchFullFault"] = reflect.TypeOf((*DestinationSwitchFullFault)(nil)).Elem() -} - -type DestinationVsanDisabled struct { - CannotMoveVsanEnabledHost - - DestinationCluster string `xml:"destinationCluster"` -} - -func init() { - t["DestinationVsanDisabled"] = reflect.TypeOf((*DestinationVsanDisabled)(nil)).Elem() -} - -type DestinationVsanDisabledFault DestinationVsanDisabled - -func init() { - t["DestinationVsanDisabledFault"] = reflect.TypeOf((*DestinationVsanDisabledFault)(nil)).Elem() -} - -type DestroyChildren DestroyChildrenRequestType - -func init() { - t["DestroyChildren"] = reflect.TypeOf((*DestroyChildren)(nil)).Elem() -} - -type DestroyChildrenRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["DestroyChildrenRequestType"] = reflect.TypeOf((*DestroyChildrenRequestType)(nil)).Elem() -} - -type DestroyChildrenResponse struct { -} - -type DestroyCollector DestroyCollectorRequestType - -func init() { - t["DestroyCollector"] = reflect.TypeOf((*DestroyCollector)(nil)).Elem() -} - -type DestroyCollectorRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["DestroyCollectorRequestType"] = reflect.TypeOf((*DestroyCollectorRequestType)(nil)).Elem() -} - -type DestroyCollectorResponse struct { -} - -type DestroyDatastore DestroyDatastoreRequestType - -func init() { - t["DestroyDatastore"] = reflect.TypeOf((*DestroyDatastore)(nil)).Elem() -} - -type DestroyDatastoreRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["DestroyDatastoreRequestType"] = reflect.TypeOf((*DestroyDatastoreRequestType)(nil)).Elem() -} - -type DestroyDatastoreResponse struct { -} - -type DestroyIpPool DestroyIpPoolRequestType - -func init() { - t["DestroyIpPool"] = reflect.TypeOf((*DestroyIpPool)(nil)).Elem() -} - -type DestroyIpPoolRequestType struct { - This ManagedObjectReference `xml:"_this"` - Dc ManagedObjectReference `xml:"dc"` - Id int32 `xml:"id"` - Force bool `xml:"force"` -} - -func init() { - t["DestroyIpPoolRequestType"] = reflect.TypeOf((*DestroyIpPoolRequestType)(nil)).Elem() -} - -type DestroyIpPoolResponse struct { -} - -type DestroyNetwork DestroyNetworkRequestType - -func init() { - t["DestroyNetwork"] = reflect.TypeOf((*DestroyNetwork)(nil)).Elem() -} - -type DestroyNetworkRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["DestroyNetworkRequestType"] = reflect.TypeOf((*DestroyNetworkRequestType)(nil)).Elem() -} - -type DestroyNetworkResponse struct { -} - -type DestroyProfile DestroyProfileRequestType - -func init() { - t["DestroyProfile"] = reflect.TypeOf((*DestroyProfile)(nil)).Elem() -} - -type DestroyProfileRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["DestroyProfileRequestType"] = reflect.TypeOf((*DestroyProfileRequestType)(nil)).Elem() -} - -type DestroyProfileResponse struct { -} - -type DestroyPropertyCollector DestroyPropertyCollectorRequestType - -func init() { - t["DestroyPropertyCollector"] = reflect.TypeOf((*DestroyPropertyCollector)(nil)).Elem() -} - -type DestroyPropertyCollectorRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["DestroyPropertyCollectorRequestType"] = reflect.TypeOf((*DestroyPropertyCollectorRequestType)(nil)).Elem() -} - -type DestroyPropertyCollectorResponse struct { -} - -type DestroyPropertyFilter DestroyPropertyFilterRequestType - -func init() { - t["DestroyPropertyFilter"] = reflect.TypeOf((*DestroyPropertyFilter)(nil)).Elem() -} - -type DestroyPropertyFilterRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["DestroyPropertyFilterRequestType"] = reflect.TypeOf((*DestroyPropertyFilterRequestType)(nil)).Elem() -} - -type DestroyPropertyFilterResponse struct { -} - -type DestroyRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["DestroyRequestType"] = reflect.TypeOf((*DestroyRequestType)(nil)).Elem() -} - -type DestroyVffs DestroyVffsRequestType - -func init() { - t["DestroyVffs"] = reflect.TypeOf((*DestroyVffs)(nil)).Elem() -} - -type DestroyVffsRequestType struct { - This ManagedObjectReference `xml:"_this"` - VffsPath string `xml:"vffsPath"` -} - -func init() { - t["DestroyVffsRequestType"] = reflect.TypeOf((*DestroyVffsRequestType)(nil)).Elem() -} - -type DestroyVffsResponse struct { -} - -type DestroyView DestroyViewRequestType - -func init() { - t["DestroyView"] = reflect.TypeOf((*DestroyView)(nil)).Elem() -} - -type DestroyViewRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["DestroyViewRequestType"] = reflect.TypeOf((*DestroyViewRequestType)(nil)).Elem() -} - -type DestroyViewResponse struct { -} - -type Destroy_Task DestroyRequestType - -func init() { - t["Destroy_Task"] = reflect.TypeOf((*Destroy_Task)(nil)).Elem() -} - -type Destroy_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type DetachDiskRequestType struct { - This ManagedObjectReference `xml:"_this"` - DiskId ID `xml:"diskId"` -} - -func init() { - t["DetachDiskRequestType"] = reflect.TypeOf((*DetachDiskRequestType)(nil)).Elem() -} - -type DetachDisk_Task DetachDiskRequestType - -func init() { - t["DetachDisk_Task"] = reflect.TypeOf((*DetachDisk_Task)(nil)).Elem() -} - -type DetachDisk_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type DetachScsiLun DetachScsiLunRequestType - -func init() { - t["DetachScsiLun"] = reflect.TypeOf((*DetachScsiLun)(nil)).Elem() -} - -type DetachScsiLunExRequestType struct { - This ManagedObjectReference `xml:"_this"` - LunUuid []string `xml:"lunUuid"` -} - -func init() { - t["DetachScsiLunExRequestType"] = reflect.TypeOf((*DetachScsiLunExRequestType)(nil)).Elem() -} - -type DetachScsiLunEx_Task DetachScsiLunExRequestType - -func init() { - t["DetachScsiLunEx_Task"] = reflect.TypeOf((*DetachScsiLunEx_Task)(nil)).Elem() -} - -type DetachScsiLunEx_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type DetachScsiLunRequestType struct { - This ManagedObjectReference `xml:"_this"` - LunUuid string `xml:"lunUuid"` -} - -func init() { - t["DetachScsiLunRequestType"] = reflect.TypeOf((*DetachScsiLunRequestType)(nil)).Elem() -} - -type DetachScsiLunResponse struct { -} - -type DetachTagFromVStorageObject DetachTagFromVStorageObjectRequestType - -func init() { - t["DetachTagFromVStorageObject"] = reflect.TypeOf((*DetachTagFromVStorageObject)(nil)).Elem() -} - -type DetachTagFromVStorageObjectRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id ID `xml:"id"` - Category string `xml:"category"` - Tag string `xml:"tag"` -} - -func init() { - t["DetachTagFromVStorageObjectRequestType"] = reflect.TypeOf((*DetachTagFromVStorageObjectRequestType)(nil)).Elem() -} - -type DetachTagFromVStorageObjectResponse struct { -} - -type DeviceBackedVirtualDiskSpec struct { - VirtualDiskSpec - - Device string `xml:"device"` -} - -func init() { - t["DeviceBackedVirtualDiskSpec"] = reflect.TypeOf((*DeviceBackedVirtualDiskSpec)(nil)).Elem() -} - -type DeviceBackingNotSupported struct { - DeviceNotSupported - - Backing string `xml:"backing"` -} - -func init() { - t["DeviceBackingNotSupported"] = reflect.TypeOf((*DeviceBackingNotSupported)(nil)).Elem() -} - -type DeviceBackingNotSupportedFault BaseDeviceBackingNotSupported - -func init() { - t["DeviceBackingNotSupportedFault"] = reflect.TypeOf((*DeviceBackingNotSupportedFault)(nil)).Elem() -} - -type DeviceControllerNotSupported struct { - DeviceNotSupported - - Controller string `xml:"controller"` -} - -func init() { - t["DeviceControllerNotSupported"] = reflect.TypeOf((*DeviceControllerNotSupported)(nil)).Elem() -} - -type DeviceControllerNotSupportedFault DeviceControllerNotSupported - -func init() { - t["DeviceControllerNotSupportedFault"] = reflect.TypeOf((*DeviceControllerNotSupportedFault)(nil)).Elem() -} - -type DeviceGroupId struct { - DynamicData - - Id string `xml:"id"` -} - -func init() { - t["DeviceGroupId"] = reflect.TypeOf((*DeviceGroupId)(nil)).Elem() -} - -type DeviceHotPlugNotSupported struct { - InvalidDeviceSpec -} - -func init() { - t["DeviceHotPlugNotSupported"] = reflect.TypeOf((*DeviceHotPlugNotSupported)(nil)).Elem() -} - -type DeviceHotPlugNotSupportedFault DeviceHotPlugNotSupported - -func init() { - t["DeviceHotPlugNotSupportedFault"] = reflect.TypeOf((*DeviceHotPlugNotSupportedFault)(nil)).Elem() -} - -type DeviceNotFound struct { - InvalidDeviceSpec -} - -func init() { - t["DeviceNotFound"] = reflect.TypeOf((*DeviceNotFound)(nil)).Elem() -} - -type DeviceNotFoundFault DeviceNotFound - -func init() { - t["DeviceNotFoundFault"] = reflect.TypeOf((*DeviceNotFoundFault)(nil)).Elem() -} - -type DeviceNotSupported struct { - VirtualHardwareCompatibilityIssue - - Device string `xml:"device"` - Reason string `xml:"reason,omitempty"` -} - -func init() { - t["DeviceNotSupported"] = reflect.TypeOf((*DeviceNotSupported)(nil)).Elem() -} - -type DeviceNotSupportedFault BaseDeviceNotSupported - -func init() { - t["DeviceNotSupportedFault"] = reflect.TypeOf((*DeviceNotSupportedFault)(nil)).Elem() -} - -type DeviceUnsupportedForVmPlatform struct { - InvalidDeviceSpec -} - -func init() { - t["DeviceUnsupportedForVmPlatform"] = reflect.TypeOf((*DeviceUnsupportedForVmPlatform)(nil)).Elem() -} - -type DeviceUnsupportedForVmPlatformFault DeviceUnsupportedForVmPlatform - -func init() { - t["DeviceUnsupportedForVmPlatformFault"] = reflect.TypeOf((*DeviceUnsupportedForVmPlatformFault)(nil)).Elem() -} - -type DeviceUnsupportedForVmVersion struct { - InvalidDeviceSpec - - CurrentVersion string `xml:"currentVersion"` - ExpectedVersion string `xml:"expectedVersion"` -} - -func init() { - t["DeviceUnsupportedForVmVersion"] = reflect.TypeOf((*DeviceUnsupportedForVmVersion)(nil)).Elem() -} - -type DeviceUnsupportedForVmVersionFault DeviceUnsupportedForVmVersion - -func init() { - t["DeviceUnsupportedForVmVersionFault"] = reflect.TypeOf((*DeviceUnsupportedForVmVersionFault)(nil)).Elem() -} - -type DiagnosticManagerAuditRecordResult struct { - DynamicData - - Records []string `xml:"records,omitempty"` - NextToken string `xml:"nextToken"` -} - -func init() { - t["DiagnosticManagerAuditRecordResult"] = reflect.TypeOf((*DiagnosticManagerAuditRecordResult)(nil)).Elem() -} - -type DiagnosticManagerBundleInfo struct { - DynamicData - - System *ManagedObjectReference `xml:"system,omitempty"` - Url string `xml:"url"` -} - -func init() { - t["DiagnosticManagerBundleInfo"] = reflect.TypeOf((*DiagnosticManagerBundleInfo)(nil)).Elem() -} - -type DiagnosticManagerLogDescriptor struct { - DynamicData - - Key string `xml:"key"` - FileName string `xml:"fileName"` - Creator string `xml:"creator"` - Format string `xml:"format"` - MimeType string `xml:"mimeType"` - Info BaseDescription `xml:"info,typeattr"` -} - -func init() { - t["DiagnosticManagerLogDescriptor"] = reflect.TypeOf((*DiagnosticManagerLogDescriptor)(nil)).Elem() -} - -type DiagnosticManagerLogHeader struct { - DynamicData - - LineStart int32 `xml:"lineStart"` - LineEnd int32 `xml:"lineEnd"` - LineText []string `xml:"lineText,omitempty"` -} - -func init() { - t["DiagnosticManagerLogHeader"] = reflect.TypeOf((*DiagnosticManagerLogHeader)(nil)).Elem() -} - -type DigestNotSupported struct { - DeviceNotSupported -} - -func init() { - t["DigestNotSupported"] = reflect.TypeOf((*DigestNotSupported)(nil)).Elem() -} - -type DigestNotSupportedFault DigestNotSupported - -func init() { - t["DigestNotSupportedFault"] = reflect.TypeOf((*DigestNotSupportedFault)(nil)).Elem() -} - -type DirectoryNotEmpty struct { - FileFault -} - -func init() { - t["DirectoryNotEmpty"] = reflect.TypeOf((*DirectoryNotEmpty)(nil)).Elem() -} - -type DirectoryNotEmptyFault DirectoryNotEmpty - -func init() { - t["DirectoryNotEmptyFault"] = reflect.TypeOf((*DirectoryNotEmptyFault)(nil)).Elem() -} - -type DisableAdminNotSupported struct { - HostConfigFault -} - -func init() { - t["DisableAdminNotSupported"] = reflect.TypeOf((*DisableAdminNotSupported)(nil)).Elem() -} - -type DisableAdminNotSupportedFault DisableAdminNotSupported - -func init() { - t["DisableAdminNotSupportedFault"] = reflect.TypeOf((*DisableAdminNotSupportedFault)(nil)).Elem() -} - -type DisableAlarm DisableAlarmRequestType - -func init() { - t["DisableAlarm"] = reflect.TypeOf((*DisableAlarm)(nil)).Elem() -} - -type DisableAlarmRequestType struct { - This ManagedObjectReference `xml:"_this"` - Alarm ManagedObjectReference `xml:"alarm"` - Entity ManagedObjectReference `xml:"entity"` -} - -func init() { - t["DisableAlarmRequestType"] = reflect.TypeOf((*DisableAlarmRequestType)(nil)).Elem() -} - -type DisableAlarmResponse struct { -} - -type DisableClusteredVmdkSupport DisableClusteredVmdkSupportRequestType - -func init() { - t["DisableClusteredVmdkSupport"] = reflect.TypeOf((*DisableClusteredVmdkSupport)(nil)).Elem() -} - -type DisableClusteredVmdkSupportRequestType struct { - This ManagedObjectReference `xml:"_this"` - Datastore ManagedObjectReference `xml:"datastore"` -} - -func init() { - t["DisableClusteredVmdkSupportRequestType"] = reflect.TypeOf((*DisableClusteredVmdkSupportRequestType)(nil)).Elem() -} - -type DisableClusteredVmdkSupportResponse struct { -} - -type DisableEvcModeRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["DisableEvcModeRequestType"] = reflect.TypeOf((*DisableEvcModeRequestType)(nil)).Elem() -} - -type DisableEvcMode_Task DisableEvcModeRequestType - -func init() { - t["DisableEvcMode_Task"] = reflect.TypeOf((*DisableEvcMode_Task)(nil)).Elem() -} - -type DisableEvcMode_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type DisableFeature DisableFeatureRequestType - -func init() { - t["DisableFeature"] = reflect.TypeOf((*DisableFeature)(nil)).Elem() -} - -type DisableFeatureRequestType struct { - This ManagedObjectReference `xml:"_this"` - Host *ManagedObjectReference `xml:"host,omitempty"` - FeatureKey string `xml:"featureKey"` -} - -func init() { - t["DisableFeatureRequestType"] = reflect.TypeOf((*DisableFeatureRequestType)(nil)).Elem() -} - -type DisableFeatureResponse struct { - Returnval bool `xml:"returnval"` -} - -type DisableHyperThreading DisableHyperThreadingRequestType - -func init() { - t["DisableHyperThreading"] = reflect.TypeOf((*DisableHyperThreading)(nil)).Elem() -} - -type DisableHyperThreadingRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["DisableHyperThreadingRequestType"] = reflect.TypeOf((*DisableHyperThreadingRequestType)(nil)).Elem() -} - -type DisableHyperThreadingResponse struct { -} - -type DisableMultipathPath DisableMultipathPathRequestType - -func init() { - t["DisableMultipathPath"] = reflect.TypeOf((*DisableMultipathPath)(nil)).Elem() -} - -type DisableMultipathPathRequestType struct { - This ManagedObjectReference `xml:"_this"` - PathName string `xml:"pathName"` -} - -func init() { - t["DisableMultipathPathRequestType"] = reflect.TypeOf((*DisableMultipathPathRequestType)(nil)).Elem() -} - -type DisableMultipathPathResponse struct { -} - -type DisableRuleset DisableRulesetRequestType - -func init() { - t["DisableRuleset"] = reflect.TypeOf((*DisableRuleset)(nil)).Elem() -} - -type DisableRulesetRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id string `xml:"id"` -} - -func init() { - t["DisableRulesetRequestType"] = reflect.TypeOf((*DisableRulesetRequestType)(nil)).Elem() -} - -type DisableRulesetResponse struct { -} - -type DisableSecondaryVMRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm ManagedObjectReference `xml:"vm"` -} - -func init() { - t["DisableSecondaryVMRequestType"] = reflect.TypeOf((*DisableSecondaryVMRequestType)(nil)).Elem() -} - -type DisableSecondaryVM_Task DisableSecondaryVMRequestType - -func init() { - t["DisableSecondaryVM_Task"] = reflect.TypeOf((*DisableSecondaryVM_Task)(nil)).Elem() -} - -type DisableSecondaryVM_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type DisableSmartCardAuthentication DisableSmartCardAuthenticationRequestType - -func init() { - t["DisableSmartCardAuthentication"] = reflect.TypeOf((*DisableSmartCardAuthentication)(nil)).Elem() -} - -type DisableSmartCardAuthenticationRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["DisableSmartCardAuthenticationRequestType"] = reflect.TypeOf((*DisableSmartCardAuthenticationRequestType)(nil)).Elem() -} - -type DisableSmartCardAuthenticationResponse struct { -} - -type DisallowedChangeByService struct { - RuntimeFault - - ServiceName string `xml:"serviceName"` - DisallowedChange string `xml:"disallowedChange,omitempty"` -} - -func init() { - t["DisallowedChangeByService"] = reflect.TypeOf((*DisallowedChangeByService)(nil)).Elem() -} - -type DisallowedChangeByServiceFault DisallowedChangeByService - -func init() { - t["DisallowedChangeByServiceFault"] = reflect.TypeOf((*DisallowedChangeByServiceFault)(nil)).Elem() -} - -type DisallowedDiskModeChange struct { - InvalidDeviceSpec -} - -func init() { - t["DisallowedDiskModeChange"] = reflect.TypeOf((*DisallowedDiskModeChange)(nil)).Elem() -} - -type DisallowedDiskModeChangeFault DisallowedDiskModeChange - -func init() { - t["DisallowedDiskModeChangeFault"] = reflect.TypeOf((*DisallowedDiskModeChangeFault)(nil)).Elem() -} - -type DisallowedMigrationDeviceAttached struct { - MigrationFault - - Fault LocalizedMethodFault `xml:"fault"` -} - -func init() { - t["DisallowedMigrationDeviceAttached"] = reflect.TypeOf((*DisallowedMigrationDeviceAttached)(nil)).Elem() -} - -type DisallowedMigrationDeviceAttachedFault DisallowedMigrationDeviceAttached - -func init() { - t["DisallowedMigrationDeviceAttachedFault"] = reflect.TypeOf((*DisallowedMigrationDeviceAttachedFault)(nil)).Elem() -} - -type DisallowedOperationOnFailoverHost struct { - RuntimeFault - - Host ManagedObjectReference `xml:"host"` - Hostname string `xml:"hostname"` -} - -func init() { - t["DisallowedOperationOnFailoverHost"] = reflect.TypeOf((*DisallowedOperationOnFailoverHost)(nil)).Elem() -} - -type DisallowedOperationOnFailoverHostFault DisallowedOperationOnFailoverHost - -func init() { - t["DisallowedOperationOnFailoverHostFault"] = reflect.TypeOf((*DisallowedOperationOnFailoverHostFault)(nil)).Elem() -} - -type DisconnectHostRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["DisconnectHostRequestType"] = reflect.TypeOf((*DisconnectHostRequestType)(nil)).Elem() -} - -type DisconnectHost_Task DisconnectHostRequestType - -func init() { - t["DisconnectHost_Task"] = reflect.TypeOf((*DisconnectHost_Task)(nil)).Elem() -} - -type DisconnectHost_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type DisconnectNvmeController DisconnectNvmeControllerRequestType - -func init() { - t["DisconnectNvmeController"] = reflect.TypeOf((*DisconnectNvmeController)(nil)).Elem() -} - -type DisconnectNvmeControllerExRequestType struct { - This ManagedObjectReference `xml:"_this"` - DisconnectSpec []HostNvmeDisconnectSpec `xml:"disconnectSpec,omitempty"` -} - -func init() { - t["DisconnectNvmeControllerExRequestType"] = reflect.TypeOf((*DisconnectNvmeControllerExRequestType)(nil)).Elem() -} - -type DisconnectNvmeControllerEx_Task DisconnectNvmeControllerExRequestType - -func init() { - t["DisconnectNvmeControllerEx_Task"] = reflect.TypeOf((*DisconnectNvmeControllerEx_Task)(nil)).Elem() -} - -type DisconnectNvmeControllerEx_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type DisconnectNvmeControllerRequestType struct { - This ManagedObjectReference `xml:"_this"` - DisconnectSpec HostNvmeDisconnectSpec `xml:"disconnectSpec"` -} - -func init() { - t["DisconnectNvmeControllerRequestType"] = reflect.TypeOf((*DisconnectNvmeControllerRequestType)(nil)).Elem() -} - -type DisconnectNvmeControllerResponse struct { -} - -type DisconnectedHostsBlockingEVC struct { - EVCConfigFault -} - -func init() { - t["DisconnectedHostsBlockingEVC"] = reflect.TypeOf((*DisconnectedHostsBlockingEVC)(nil)).Elem() -} - -type DisconnectedHostsBlockingEVCFault DisconnectedHostsBlockingEVC - -func init() { - t["DisconnectedHostsBlockingEVCFault"] = reflect.TypeOf((*DisconnectedHostsBlockingEVCFault)(nil)).Elem() -} - -type DiscoverFcoeHbas DiscoverFcoeHbasRequestType - -func init() { - t["DiscoverFcoeHbas"] = reflect.TypeOf((*DiscoverFcoeHbas)(nil)).Elem() -} - -type DiscoverFcoeHbasRequestType struct { - This ManagedObjectReference `xml:"_this"` - FcoeSpec FcoeConfigFcoeSpecification `xml:"fcoeSpec"` -} - -func init() { - t["DiscoverFcoeHbasRequestType"] = reflect.TypeOf((*DiscoverFcoeHbasRequestType)(nil)).Elem() -} - -type DiscoverFcoeHbasResponse struct { -} - -type DiscoverNvmeControllers DiscoverNvmeControllersRequestType - -func init() { - t["DiscoverNvmeControllers"] = reflect.TypeOf((*DiscoverNvmeControllers)(nil)).Elem() -} - -type DiscoverNvmeControllersRequestType struct { - This ManagedObjectReference `xml:"_this"` - DiscoverSpec HostNvmeDiscoverSpec `xml:"discoverSpec"` -} - -func init() { - t["DiscoverNvmeControllersRequestType"] = reflect.TypeOf((*DiscoverNvmeControllersRequestType)(nil)).Elem() -} - -type DiscoverNvmeControllersResponse struct { - Returnval HostNvmeDiscoveryLog `xml:"returnval"` -} - -type DiskChangeExtent struct { - DynamicData - - Start int64 `xml:"start"` - Length int64 `xml:"length"` -} - -func init() { - t["DiskChangeExtent"] = reflect.TypeOf((*DiskChangeExtent)(nil)).Elem() -} - -type DiskChangeInfo struct { - DynamicData - - StartOffset int64 `xml:"startOffset"` - Length int64 `xml:"length"` - ChangedArea []DiskChangeExtent `xml:"changedArea,omitempty"` -} - -func init() { - t["DiskChangeInfo"] = reflect.TypeOf((*DiskChangeInfo)(nil)).Elem() -} - -type DiskCryptoSpec struct { - DynamicData - - Parent *DiskCryptoSpec `xml:"parent,omitempty"` - Crypto BaseCryptoSpec `xml:"crypto,typeattr"` -} - -func init() { - t["DiskCryptoSpec"] = reflect.TypeOf((*DiskCryptoSpec)(nil)).Elem() -} - -type DiskHasPartitions struct { - VsanDiskFault -} - -func init() { - t["DiskHasPartitions"] = reflect.TypeOf((*DiskHasPartitions)(nil)).Elem() -} - -type DiskHasPartitionsFault DiskHasPartitions - -func init() { - t["DiskHasPartitionsFault"] = reflect.TypeOf((*DiskHasPartitionsFault)(nil)).Elem() -} - -type DiskIsLastRemainingNonSSD struct { - VsanDiskFault -} - -func init() { - t["DiskIsLastRemainingNonSSD"] = reflect.TypeOf((*DiskIsLastRemainingNonSSD)(nil)).Elem() -} - -type DiskIsLastRemainingNonSSDFault DiskIsLastRemainingNonSSD - -func init() { - t["DiskIsLastRemainingNonSSDFault"] = reflect.TypeOf((*DiskIsLastRemainingNonSSDFault)(nil)).Elem() -} - -type DiskIsNonLocal struct { - VsanDiskFault -} - -func init() { - t["DiskIsNonLocal"] = reflect.TypeOf((*DiskIsNonLocal)(nil)).Elem() -} - -type DiskIsNonLocalFault DiskIsNonLocal - -func init() { - t["DiskIsNonLocalFault"] = reflect.TypeOf((*DiskIsNonLocalFault)(nil)).Elem() -} - -type DiskIsUSB struct { - VsanDiskFault -} - -func init() { - t["DiskIsUSB"] = reflect.TypeOf((*DiskIsUSB)(nil)).Elem() -} - -type DiskIsUSBFault DiskIsUSB - -func init() { - t["DiskIsUSBFault"] = reflect.TypeOf((*DiskIsUSBFault)(nil)).Elem() -} - -type DiskMoveTypeNotSupported struct { - MigrationFault -} - -func init() { - t["DiskMoveTypeNotSupported"] = reflect.TypeOf((*DiskMoveTypeNotSupported)(nil)).Elem() -} - -type DiskMoveTypeNotSupportedFault DiskMoveTypeNotSupported - -func init() { - t["DiskMoveTypeNotSupportedFault"] = reflect.TypeOf((*DiskMoveTypeNotSupportedFault)(nil)).Elem() -} - -type DiskNotSupported struct { - VirtualHardwareCompatibilityIssue - - Disk int32 `xml:"disk"` -} - -func init() { - t["DiskNotSupported"] = reflect.TypeOf((*DiskNotSupported)(nil)).Elem() -} - -type DiskNotSupportedFault BaseDiskNotSupported - -func init() { - t["DiskNotSupportedFault"] = reflect.TypeOf((*DiskNotSupportedFault)(nil)).Elem() -} - -type DiskTooSmall struct { - VsanDiskFault -} - -func init() { - t["DiskTooSmall"] = reflect.TypeOf((*DiskTooSmall)(nil)).Elem() -} - -type DiskTooSmallFault DiskTooSmall - -func init() { - t["DiskTooSmallFault"] = reflect.TypeOf((*DiskTooSmallFault)(nil)).Elem() -} - -type DissociateProfile DissociateProfileRequestType - -func init() { - t["DissociateProfile"] = reflect.TypeOf((*DissociateProfile)(nil)).Elem() -} - -type DissociateProfileRequestType struct { - This ManagedObjectReference `xml:"_this"` - Entity []ManagedObjectReference `xml:"entity,omitempty"` -} - -func init() { - t["DissociateProfileRequestType"] = reflect.TypeOf((*DissociateProfileRequestType)(nil)).Elem() -} - -type DissociateProfileResponse struct { -} - -type DistributedVirtualPort struct { - DynamicData - - Key string `xml:"key"` - Config DVPortConfigInfo `xml:"config"` - DvsUuid string `xml:"dvsUuid"` - PortgroupKey string `xml:"portgroupKey,omitempty"` - ProxyHost *ManagedObjectReference `xml:"proxyHost,omitempty"` - Connectee *DistributedVirtualSwitchPortConnectee `xml:"connectee,omitempty"` - Conflict bool `xml:"conflict"` - ConflictPortKey string `xml:"conflictPortKey,omitempty"` - State *DVPortState `xml:"state,omitempty"` - ConnectionCookie int32 `xml:"connectionCookie,omitempty"` - LastStatusChange time.Time `xml:"lastStatusChange"` - HostLocalPort *bool `xml:"hostLocalPort"` - ExternalId string `xml:"externalId,omitempty"` - SegmentPortId string `xml:"segmentPortId,omitempty"` -} - -func init() { - t["DistributedVirtualPort"] = reflect.TypeOf((*DistributedVirtualPort)(nil)).Elem() -} - -type DistributedVirtualPortgroupInfo struct { - DynamicData - - SwitchName string `xml:"switchName"` - SwitchUuid string `xml:"switchUuid"` - PortgroupName string `xml:"portgroupName"` - PortgroupKey string `xml:"portgroupKey"` - PortgroupType string `xml:"portgroupType"` - UplinkPortgroup bool `xml:"uplinkPortgroup"` - Portgroup ManagedObjectReference `xml:"portgroup"` - NetworkReservationSupported *bool `xml:"networkReservationSupported"` - BackingType string `xml:"backingType,omitempty"` - LogicalSwitchUuid string `xml:"logicalSwitchUuid,omitempty"` - SegmentId string `xml:"segmentId,omitempty"` -} - -func init() { - t["DistributedVirtualPortgroupInfo"] = reflect.TypeOf((*DistributedVirtualPortgroupInfo)(nil)).Elem() -} - -type DistributedVirtualPortgroupNsxPortgroupOperationResult struct { - DynamicData - - Portgroups []ManagedObjectReference `xml:"portgroups,omitempty"` - Problems []DistributedVirtualPortgroupProblem `xml:"problems,omitempty"` -} - -func init() { - t["DistributedVirtualPortgroupNsxPortgroupOperationResult"] = reflect.TypeOf((*DistributedVirtualPortgroupNsxPortgroupOperationResult)(nil)).Elem() -} - -type DistributedVirtualPortgroupProblem struct { - DynamicData - - LogicalSwitchUuid string `xml:"logicalSwitchUuid"` - Fault LocalizedMethodFault `xml:"fault"` -} - -func init() { - t["DistributedVirtualPortgroupProblem"] = reflect.TypeOf((*DistributedVirtualPortgroupProblem)(nil)).Elem() -} - -type DistributedVirtualSwitchHostMember struct { - DynamicData - - RuntimeState *DistributedVirtualSwitchHostMemberRuntimeState `xml:"runtimeState,omitempty"` - Config DistributedVirtualSwitchHostMemberConfigInfo `xml:"config"` - ProductInfo *DistributedVirtualSwitchProductSpec `xml:"productInfo,omitempty"` - UplinkPortKey []string `xml:"uplinkPortKey,omitempty"` - Status string `xml:"status"` - StatusDetail string `xml:"statusDetail,omitempty"` -} - -func init() { - t["DistributedVirtualSwitchHostMember"] = reflect.TypeOf((*DistributedVirtualSwitchHostMember)(nil)).Elem() -} - -type DistributedVirtualSwitchHostMemberBacking struct { - DynamicData -} - -func init() { - t["DistributedVirtualSwitchHostMemberBacking"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberBacking)(nil)).Elem() -} - -type DistributedVirtualSwitchHostMemberConfigInfo struct { - DynamicData - - Host *ManagedObjectReference `xml:"host,omitempty"` - MaxProxySwitchPorts int32 `xml:"maxProxySwitchPorts"` - VendorSpecificConfig []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"vendorSpecificConfig,omitempty"` - Backing BaseDistributedVirtualSwitchHostMemberBacking `xml:"backing,typeattr"` - NsxSwitch *bool `xml:"nsxSwitch"` - EnsEnabled *bool `xml:"ensEnabled"` - EnsInterruptEnabled *bool `xml:"ensInterruptEnabled"` - TransportZones []DistributedVirtualSwitchHostMemberTransportZoneInfo `xml:"transportZones,omitempty"` - NsxtUsedUplinkNames []string `xml:"nsxtUsedUplinkNames,omitempty"` - NetworkOffloadingEnabled *bool `xml:"networkOffloadingEnabled"` -} - -func init() { - t["DistributedVirtualSwitchHostMemberConfigInfo"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberConfigInfo)(nil)).Elem() -} - -type DistributedVirtualSwitchHostMemberConfigSpec struct { - DynamicData - - Operation string `xml:"operation"` - Host ManagedObjectReference `xml:"host"` - Backing BaseDistributedVirtualSwitchHostMemberBacking `xml:"backing,omitempty,typeattr"` - MaxProxySwitchPorts int32 `xml:"maxProxySwitchPorts,omitempty"` - VendorSpecificConfig []DistributedVirtualSwitchKeyedOpaqueBlob `xml:"vendorSpecificConfig,omitempty"` -} - -func init() { - t["DistributedVirtualSwitchHostMemberConfigSpec"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberConfigSpec)(nil)).Elem() -} - -type DistributedVirtualSwitchHostMemberPnicBacking struct { - DistributedVirtualSwitchHostMemberBacking - - PnicSpec []DistributedVirtualSwitchHostMemberPnicSpec `xml:"pnicSpec,omitempty"` -} - -func init() { - t["DistributedVirtualSwitchHostMemberPnicBacking"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberPnicBacking)(nil)).Elem() -} - -type DistributedVirtualSwitchHostMemberPnicSpec struct { - DynamicData - - PnicDevice string `xml:"pnicDevice"` - UplinkPortKey string `xml:"uplinkPortKey,omitempty"` - UplinkPortgroupKey string `xml:"uplinkPortgroupKey,omitempty"` - ConnectionCookie int32 `xml:"connectionCookie,omitempty"` -} - -func init() { - t["DistributedVirtualSwitchHostMemberPnicSpec"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberPnicSpec)(nil)).Elem() -} - -type DistributedVirtualSwitchHostMemberRuntimeState struct { - DynamicData - - CurrentMaxProxySwitchPorts int32 `xml:"currentMaxProxySwitchPorts"` -} - -func init() { - t["DistributedVirtualSwitchHostMemberRuntimeState"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberRuntimeState)(nil)).Elem() -} - -type DistributedVirtualSwitchHostMemberTransportZoneInfo struct { - DynamicData - - Uuid string `xml:"uuid"` - Type string `xml:"type"` -} - -func init() { - t["DistributedVirtualSwitchHostMemberTransportZoneInfo"] = reflect.TypeOf((*DistributedVirtualSwitchHostMemberTransportZoneInfo)(nil)).Elem() -} - -type DistributedVirtualSwitchHostProductSpec struct { - DynamicData - - ProductLineId string `xml:"productLineId,omitempty"` - Version string `xml:"version,omitempty"` -} - -func init() { - t["DistributedVirtualSwitchHostProductSpec"] = reflect.TypeOf((*DistributedVirtualSwitchHostProductSpec)(nil)).Elem() -} - -type DistributedVirtualSwitchInfo struct { - DynamicData - - SwitchName string `xml:"switchName"` - SwitchUuid string `xml:"switchUuid"` - DistributedVirtualSwitch ManagedObjectReference `xml:"distributedVirtualSwitch"` - NetworkReservationSupported *bool `xml:"networkReservationSupported"` -} - -func init() { - t["DistributedVirtualSwitchInfo"] = reflect.TypeOf((*DistributedVirtualSwitchInfo)(nil)).Elem() -} - -type DistributedVirtualSwitchKeyedOpaqueBlob struct { - DynamicData - - Key string `xml:"key"` - OpaqueData string `xml:"opaqueData"` -} - -func init() { - t["DistributedVirtualSwitchKeyedOpaqueBlob"] = reflect.TypeOf((*DistributedVirtualSwitchKeyedOpaqueBlob)(nil)).Elem() -} - -type DistributedVirtualSwitchManagerCompatibilityResult struct { - DynamicData - - Host ManagedObjectReference `xml:"host"` - Error []LocalizedMethodFault `xml:"error,omitempty"` -} - -func init() { - t["DistributedVirtualSwitchManagerCompatibilityResult"] = reflect.TypeOf((*DistributedVirtualSwitchManagerCompatibilityResult)(nil)).Elem() -} - -type DistributedVirtualSwitchManagerDvsProductSpec struct { - DynamicData - - NewSwitchProductSpec *DistributedVirtualSwitchProductSpec `xml:"newSwitchProductSpec,omitempty"` - DistributedVirtualSwitch *ManagedObjectReference `xml:"distributedVirtualSwitch,omitempty"` -} - -func init() { - t["DistributedVirtualSwitchManagerDvsProductSpec"] = reflect.TypeOf((*DistributedVirtualSwitchManagerDvsProductSpec)(nil)).Elem() -} - -type DistributedVirtualSwitchManagerHostArrayFilter struct { - DistributedVirtualSwitchManagerHostDvsFilterSpec - - Host []ManagedObjectReference `xml:"host"` -} - -func init() { - t["DistributedVirtualSwitchManagerHostArrayFilter"] = reflect.TypeOf((*DistributedVirtualSwitchManagerHostArrayFilter)(nil)).Elem() -} - -type DistributedVirtualSwitchManagerHostContainer struct { - DynamicData - - Container ManagedObjectReference `xml:"container"` - Recursive bool `xml:"recursive"` -} - -func init() { - t["DistributedVirtualSwitchManagerHostContainer"] = reflect.TypeOf((*DistributedVirtualSwitchManagerHostContainer)(nil)).Elem() -} - -type DistributedVirtualSwitchManagerHostContainerFilter struct { - DistributedVirtualSwitchManagerHostDvsFilterSpec - - HostContainer DistributedVirtualSwitchManagerHostContainer `xml:"hostContainer"` -} - -func init() { - t["DistributedVirtualSwitchManagerHostContainerFilter"] = reflect.TypeOf((*DistributedVirtualSwitchManagerHostContainerFilter)(nil)).Elem() -} - -type DistributedVirtualSwitchManagerHostDvsFilterSpec struct { - DynamicData - - Inclusive bool `xml:"inclusive"` -} - -func init() { - t["DistributedVirtualSwitchManagerHostDvsFilterSpec"] = reflect.TypeOf((*DistributedVirtualSwitchManagerHostDvsFilterSpec)(nil)).Elem() -} - -type DistributedVirtualSwitchManagerHostDvsMembershipFilter struct { - DistributedVirtualSwitchManagerHostDvsFilterSpec - - DistributedVirtualSwitch ManagedObjectReference `xml:"distributedVirtualSwitch"` -} - -func init() { - t["DistributedVirtualSwitchManagerHostDvsMembershipFilter"] = reflect.TypeOf((*DistributedVirtualSwitchManagerHostDvsMembershipFilter)(nil)).Elem() -} - -type DistributedVirtualSwitchManagerImportResult struct { - DynamicData - - DistributedVirtualSwitch []ManagedObjectReference `xml:"distributedVirtualSwitch,omitempty"` - DistributedVirtualPortgroup []ManagedObjectReference `xml:"distributedVirtualPortgroup,omitempty"` - ImportFault []ImportOperationBulkFaultFaultOnImport `xml:"importFault,omitempty"` -} - -func init() { - t["DistributedVirtualSwitchManagerImportResult"] = reflect.TypeOf((*DistributedVirtualSwitchManagerImportResult)(nil)).Elem() -} - -type DistributedVirtualSwitchNetworkOffloadSpec struct { - DynamicData - - Id string `xml:"id"` - Name string `xml:"name,omitempty"` - Types []string `xml:"types,omitempty"` -} - -func init() { - t["DistributedVirtualSwitchNetworkOffloadSpec"] = reflect.TypeOf((*DistributedVirtualSwitchNetworkOffloadSpec)(nil)).Elem() -} - -type DistributedVirtualSwitchPortConnectee struct { - DynamicData - - ConnectedEntity *ManagedObjectReference `xml:"connectedEntity,omitempty"` - NicKey string `xml:"nicKey,omitempty"` - Type string `xml:"type,omitempty"` - AddressHint string `xml:"addressHint,omitempty"` -} - -func init() { - t["DistributedVirtualSwitchPortConnectee"] = reflect.TypeOf((*DistributedVirtualSwitchPortConnectee)(nil)).Elem() -} - -type DistributedVirtualSwitchPortConnection struct { - DynamicData - - SwitchUuid string `xml:"switchUuid"` - PortgroupKey string `xml:"portgroupKey,omitempty"` - PortKey string `xml:"portKey,omitempty"` - ConnectionCookie int32 `xml:"connectionCookie,omitempty"` -} - -func init() { - t["DistributedVirtualSwitchPortConnection"] = reflect.TypeOf((*DistributedVirtualSwitchPortConnection)(nil)).Elem() -} - -type DistributedVirtualSwitchPortCriteria struct { - DynamicData - - Connected *bool `xml:"connected"` - Active *bool `xml:"active"` - UplinkPort *bool `xml:"uplinkPort"` - NsxPort *bool `xml:"nsxPort"` - Scope *ManagedObjectReference `xml:"scope,omitempty"` - PortgroupKey []string `xml:"portgroupKey,omitempty"` - Inside *bool `xml:"inside"` - PortKey []string `xml:"portKey,omitempty"` - Host []ManagedObjectReference `xml:"host,omitempty"` -} - -func init() { - t["DistributedVirtualSwitchPortCriteria"] = reflect.TypeOf((*DistributedVirtualSwitchPortCriteria)(nil)).Elem() -} - -type DistributedVirtualSwitchPortStatistics struct { - DynamicData - - PacketsInMulticast int64 `xml:"packetsInMulticast"` - PacketsOutMulticast int64 `xml:"packetsOutMulticast"` - BytesInMulticast int64 `xml:"bytesInMulticast"` - BytesOutMulticast int64 `xml:"bytesOutMulticast"` - PacketsInUnicast int64 `xml:"packetsInUnicast"` - PacketsOutUnicast int64 `xml:"packetsOutUnicast"` - BytesInUnicast int64 `xml:"bytesInUnicast"` - BytesOutUnicast int64 `xml:"bytesOutUnicast"` - PacketsInBroadcast int64 `xml:"packetsInBroadcast"` - PacketsOutBroadcast int64 `xml:"packetsOutBroadcast"` - BytesInBroadcast int64 `xml:"bytesInBroadcast"` - BytesOutBroadcast int64 `xml:"bytesOutBroadcast"` - PacketsInDropped int64 `xml:"packetsInDropped"` - PacketsOutDropped int64 `xml:"packetsOutDropped"` - PacketsInException int64 `xml:"packetsInException"` - PacketsOutException int64 `xml:"packetsOutException"` - BytesInFromPnic int64 `xml:"bytesInFromPnic,omitempty"` - BytesOutToPnic int64 `xml:"bytesOutToPnic,omitempty"` -} - -func init() { - t["DistributedVirtualSwitchPortStatistics"] = reflect.TypeOf((*DistributedVirtualSwitchPortStatistics)(nil)).Elem() -} - -type DistributedVirtualSwitchProductSpec struct { - DynamicData - - Name string `xml:"name,omitempty"` - Vendor string `xml:"vendor,omitempty"` - Version string `xml:"version,omitempty"` - Build string `xml:"build,omitempty"` - ForwardingClass string `xml:"forwardingClass,omitempty"` - BundleId string `xml:"bundleId,omitempty"` - BundleUrl string `xml:"bundleUrl,omitempty"` -} - -func init() { - t["DistributedVirtualSwitchProductSpec"] = reflect.TypeOf((*DistributedVirtualSwitchProductSpec)(nil)).Elem() -} - -type DoesCustomizationSpecExist DoesCustomizationSpecExistRequestType - -func init() { - t["DoesCustomizationSpecExist"] = reflect.TypeOf((*DoesCustomizationSpecExist)(nil)).Elem() -} - -type DoesCustomizationSpecExistRequestType struct { - This ManagedObjectReference `xml:"_this"` - Name string `xml:"name"` -} - -func init() { - t["DoesCustomizationSpecExistRequestType"] = reflect.TypeOf((*DoesCustomizationSpecExistRequestType)(nil)).Elem() -} - -type DoesCustomizationSpecExistResponse struct { - Returnval bool `xml:"returnval"` -} - -type DomainNotFound struct { - ActiveDirectoryFault - - DomainName string `xml:"domainName"` -} - -func init() { - t["DomainNotFound"] = reflect.TypeOf((*DomainNotFound)(nil)).Elem() -} - -type DomainNotFoundFault DomainNotFound - -func init() { - t["DomainNotFoundFault"] = reflect.TypeOf((*DomainNotFoundFault)(nil)).Elem() -} - -type DownloadDescriptionTree DownloadDescriptionTreeRequestType - -func init() { - t["DownloadDescriptionTree"] = reflect.TypeOf((*DownloadDescriptionTree)(nil)).Elem() -} - -type DownloadDescriptionTreeRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["DownloadDescriptionTreeRequestType"] = reflect.TypeOf((*DownloadDescriptionTreeRequestType)(nil)).Elem() -} - -type DownloadDescriptionTreeResponse struct { - Returnval []byte `xml:"returnval"` -} - -type DpuStatusInfo struct { - HostHardwareElementInfo - - DpuId string `xml:"dpuId"` - Fru *HostFru `xml:"fru,omitempty"` - Sensors []DpuStatusInfoOperationalInfo `xml:"sensors,omitempty"` -} - -func init() { - t["DpuStatusInfo"] = reflect.TypeOf((*DpuStatusInfo)(nil)).Elem() -} - -type DpuStatusInfoOperationalInfo struct { - DynamicData - - SensorId string `xml:"sensorId"` - HealthState BaseElementDescription `xml:"healthState,omitempty,typeattr"` - Reading string `xml:"reading"` - Units string `xml:"units,omitempty"` - TimeStamp *time.Time `xml:"timeStamp"` -} - -func init() { - t["DpuStatusInfoOperationalInfo"] = reflect.TypeOf((*DpuStatusInfoOperationalInfo)(nil)).Elem() -} - -type DropConnections DropConnectionsRequestType - -func init() { - t["DropConnections"] = reflect.TypeOf((*DropConnections)(nil)).Elem() -} - -type DropConnectionsRequestType struct { - This ManagedObjectReference `xml:"_this"` - ListOfConnections []BaseVirtualMachineConnection `xml:"listOfConnections,omitempty,typeattr"` -} - -func init() { - t["DropConnectionsRequestType"] = reflect.TypeOf((*DropConnectionsRequestType)(nil)).Elem() -} - -type DropConnectionsResponse struct { - Returnval bool `xml:"returnval"` -} - -type DrsDisabledEvent struct { - ClusterEvent -} - -func init() { - t["DrsDisabledEvent"] = reflect.TypeOf((*DrsDisabledEvent)(nil)).Elem() -} - -type DrsDisabledOnVm struct { - VimFault -} - -func init() { - t["DrsDisabledOnVm"] = reflect.TypeOf((*DrsDisabledOnVm)(nil)).Elem() -} - -type DrsDisabledOnVmFault DrsDisabledOnVm - -func init() { - t["DrsDisabledOnVmFault"] = reflect.TypeOf((*DrsDisabledOnVmFault)(nil)).Elem() -} - -type DrsEnabledEvent struct { - ClusterEvent - - Behavior string `xml:"behavior"` -} - -func init() { - t["DrsEnabledEvent"] = reflect.TypeOf((*DrsEnabledEvent)(nil)).Elem() -} - -type DrsEnteredStandbyModeEvent struct { - EnteredStandbyModeEvent -} - -func init() { - t["DrsEnteredStandbyModeEvent"] = reflect.TypeOf((*DrsEnteredStandbyModeEvent)(nil)).Elem() -} - -type DrsEnteringStandbyModeEvent struct { - EnteringStandbyModeEvent -} - -func init() { - t["DrsEnteringStandbyModeEvent"] = reflect.TypeOf((*DrsEnteringStandbyModeEvent)(nil)).Elem() -} - -type DrsExitStandbyModeFailedEvent struct { - ExitStandbyModeFailedEvent -} - -func init() { - t["DrsExitStandbyModeFailedEvent"] = reflect.TypeOf((*DrsExitStandbyModeFailedEvent)(nil)).Elem() -} - -type DrsExitedStandbyModeEvent struct { - ExitedStandbyModeEvent -} - -func init() { - t["DrsExitedStandbyModeEvent"] = reflect.TypeOf((*DrsExitedStandbyModeEvent)(nil)).Elem() -} - -type DrsExitingStandbyModeEvent struct { - ExitingStandbyModeEvent -} - -func init() { - t["DrsExitingStandbyModeEvent"] = reflect.TypeOf((*DrsExitingStandbyModeEvent)(nil)).Elem() -} - -type DrsInvocationFailedEvent struct { - ClusterEvent -} - -func init() { - t["DrsInvocationFailedEvent"] = reflect.TypeOf((*DrsInvocationFailedEvent)(nil)).Elem() -} - -type DrsRecoveredFromFailureEvent struct { - ClusterEvent -} - -func init() { - t["DrsRecoveredFromFailureEvent"] = reflect.TypeOf((*DrsRecoveredFromFailureEvent)(nil)).Elem() -} - -type DrsResourceConfigureFailedEvent struct { - HostEvent - - Reason LocalizedMethodFault `xml:"reason"` -} - -func init() { - t["DrsResourceConfigureFailedEvent"] = reflect.TypeOf((*DrsResourceConfigureFailedEvent)(nil)).Elem() -} - -type DrsResourceConfigureSyncedEvent struct { - HostEvent -} - -func init() { - t["DrsResourceConfigureSyncedEvent"] = reflect.TypeOf((*DrsResourceConfigureSyncedEvent)(nil)).Elem() -} - -type DrsRuleComplianceEvent struct { - VmEvent -} - -func init() { - t["DrsRuleComplianceEvent"] = reflect.TypeOf((*DrsRuleComplianceEvent)(nil)).Elem() -} - -type DrsRuleViolationEvent struct { - VmEvent -} - -func init() { - t["DrsRuleViolationEvent"] = reflect.TypeOf((*DrsRuleViolationEvent)(nil)).Elem() -} - -type DrsSoftRuleViolationEvent struct { - VmEvent -} - -func init() { - t["DrsSoftRuleViolationEvent"] = reflect.TypeOf((*DrsSoftRuleViolationEvent)(nil)).Elem() -} - -type DrsVmMigratedEvent struct { - VmMigratedEvent -} - -func init() { - t["DrsVmMigratedEvent"] = reflect.TypeOf((*DrsVmMigratedEvent)(nil)).Elem() -} - -type DrsVmPoweredOnEvent struct { - VmPoweredOnEvent -} - -func init() { - t["DrsVmPoweredOnEvent"] = reflect.TypeOf((*DrsVmPoweredOnEvent)(nil)).Elem() -} - -type DrsVmotionIncompatibleFault struct { - VirtualHardwareCompatibilityIssue - - Host ManagedObjectReference `xml:"host"` -} - -func init() { - t["DrsVmotionIncompatibleFault"] = reflect.TypeOf((*DrsVmotionIncompatibleFault)(nil)).Elem() -} - -type DrsVmotionIncompatibleFaultFault DrsVmotionIncompatibleFault - -func init() { - t["DrsVmotionIncompatibleFaultFault"] = reflect.TypeOf((*DrsVmotionIncompatibleFaultFault)(nil)).Elem() -} - -type DuplicateCustomizationSpec DuplicateCustomizationSpecRequestType - -func init() { - t["DuplicateCustomizationSpec"] = reflect.TypeOf((*DuplicateCustomizationSpec)(nil)).Elem() -} - -type DuplicateCustomizationSpecRequestType struct { - This ManagedObjectReference `xml:"_this"` - Name string `xml:"name"` - NewName string `xml:"newName"` -} - -func init() { - t["DuplicateCustomizationSpecRequestType"] = reflect.TypeOf((*DuplicateCustomizationSpecRequestType)(nil)).Elem() -} - -type DuplicateCustomizationSpecResponse struct { -} - -type DuplicateDisks struct { - VsanDiskFault -} - -func init() { - t["DuplicateDisks"] = reflect.TypeOf((*DuplicateDisks)(nil)).Elem() -} - -type DuplicateDisksFault DuplicateDisks - -func init() { - t["DuplicateDisksFault"] = reflect.TypeOf((*DuplicateDisksFault)(nil)).Elem() -} - -type DuplicateIpDetectedEvent struct { - HostEvent - - DuplicateIP string `xml:"duplicateIP"` - MacAddress string `xml:"macAddress"` -} - -func init() { - t["DuplicateIpDetectedEvent"] = reflect.TypeOf((*DuplicateIpDetectedEvent)(nil)).Elem() -} - -type DuplicateName struct { - VimFault - - Name string `xml:"name"` - Object ManagedObjectReference `xml:"object"` -} - -func init() { - t["DuplicateName"] = reflect.TypeOf((*DuplicateName)(nil)).Elem() -} - -type DuplicateNameFault DuplicateName - -func init() { - t["DuplicateNameFault"] = reflect.TypeOf((*DuplicateNameFault)(nil)).Elem() -} - -type DuplicateVsanNetworkInterface struct { - VsanFault - - Device string `xml:"device"` -} - -func init() { - t["DuplicateVsanNetworkInterface"] = reflect.TypeOf((*DuplicateVsanNetworkInterface)(nil)).Elem() -} - -type DuplicateVsanNetworkInterfaceFault DuplicateVsanNetworkInterface - -func init() { - t["DuplicateVsanNetworkInterfaceFault"] = reflect.TypeOf((*DuplicateVsanNetworkInterfaceFault)(nil)).Elem() -} - -type DvpgImportEvent struct { - DVPortgroupEvent - - ImportType string `xml:"importType"` -} - -func init() { - t["DvpgImportEvent"] = reflect.TypeOf((*DvpgImportEvent)(nil)).Elem() -} - -type DvpgRestoreEvent struct { - DVPortgroupEvent -} - -func init() { - t["DvpgRestoreEvent"] = reflect.TypeOf((*DvpgRestoreEvent)(nil)).Elem() -} - -type DvsAcceptNetworkRuleAction struct { - DvsNetworkRuleAction -} - -func init() { - t["DvsAcceptNetworkRuleAction"] = reflect.TypeOf((*DvsAcceptNetworkRuleAction)(nil)).Elem() -} - -type DvsApplyOperationFault struct { - DvsFault - - ObjectFault []DvsApplyOperationFaultFaultOnObject `xml:"objectFault"` -} - -func init() { - t["DvsApplyOperationFault"] = reflect.TypeOf((*DvsApplyOperationFault)(nil)).Elem() -} - -type DvsApplyOperationFaultFault DvsApplyOperationFault - -func init() { - t["DvsApplyOperationFaultFault"] = reflect.TypeOf((*DvsApplyOperationFaultFault)(nil)).Elem() -} - -type DvsApplyOperationFaultFaultOnObject struct { - DynamicData - - ObjectId string `xml:"objectId"` - Type string `xml:"type"` - Fault LocalizedMethodFault `xml:"fault"` -} - -func init() { - t["DvsApplyOperationFaultFaultOnObject"] = reflect.TypeOf((*DvsApplyOperationFaultFaultOnObject)(nil)).Elem() -} - -type DvsCopyNetworkRuleAction struct { - DvsNetworkRuleAction -} - -func init() { - t["DvsCopyNetworkRuleAction"] = reflect.TypeOf((*DvsCopyNetworkRuleAction)(nil)).Elem() -} - -type DvsCreatedEvent struct { - DvsEvent - - Parent FolderEventArgument `xml:"parent"` -} - -func init() { - t["DvsCreatedEvent"] = reflect.TypeOf((*DvsCreatedEvent)(nil)).Elem() -} - -type DvsDestroyedEvent struct { - DvsEvent -} - -func init() { - t["DvsDestroyedEvent"] = reflect.TypeOf((*DvsDestroyedEvent)(nil)).Elem() -} - -type DvsDropNetworkRuleAction struct { - DvsNetworkRuleAction -} - -func init() { - t["DvsDropNetworkRuleAction"] = reflect.TypeOf((*DvsDropNetworkRuleAction)(nil)).Elem() -} - -type DvsEvent struct { - Event -} - -func init() { - t["DvsEvent"] = reflect.TypeOf((*DvsEvent)(nil)).Elem() -} - -type DvsEventArgument struct { - EntityEventArgument - - Dvs ManagedObjectReference `xml:"dvs"` -} - -func init() { - t["DvsEventArgument"] = reflect.TypeOf((*DvsEventArgument)(nil)).Elem() -} - -type DvsFault struct { - VimFault -} - -func init() { - t["DvsFault"] = reflect.TypeOf((*DvsFault)(nil)).Elem() -} - -type DvsFaultFault BaseDvsFault - -func init() { - t["DvsFaultFault"] = reflect.TypeOf((*DvsFaultFault)(nil)).Elem() -} - -type DvsFilterConfig struct { - InheritablePolicy - - Key string `xml:"key,omitempty"` - AgentName string `xml:"agentName,omitempty"` - SlotNumber string `xml:"slotNumber,omitempty"` - Parameters *DvsFilterParameter `xml:"parameters,omitempty"` - OnFailure string `xml:"onFailure,omitempty"` -} - -func init() { - t["DvsFilterConfig"] = reflect.TypeOf((*DvsFilterConfig)(nil)).Elem() -} - -type DvsFilterConfigSpec struct { - DvsFilterConfig - - Operation string `xml:"operation"` -} - -func init() { - t["DvsFilterConfigSpec"] = reflect.TypeOf((*DvsFilterConfigSpec)(nil)).Elem() -} - -type DvsFilterParameter struct { - DynamicData - - Parameters []string `xml:"parameters,omitempty"` -} - -func init() { - t["DvsFilterParameter"] = reflect.TypeOf((*DvsFilterParameter)(nil)).Elem() -} - -type DvsFilterPolicy struct { - InheritablePolicy - - FilterConfig []BaseDvsFilterConfig `xml:"filterConfig,omitempty,typeattr"` -} - -func init() { - t["DvsFilterPolicy"] = reflect.TypeOf((*DvsFilterPolicy)(nil)).Elem() -} - -type DvsGreEncapNetworkRuleAction struct { - DvsNetworkRuleAction - - EncapsulationIp SingleIp `xml:"encapsulationIp"` -} - -func init() { - t["DvsGreEncapNetworkRuleAction"] = reflect.TypeOf((*DvsGreEncapNetworkRuleAction)(nil)).Elem() -} - -type DvsHealthStatusChangeEvent struct { - HostEvent - - SwitchUuid string `xml:"switchUuid"` - HealthResult BaseHostMemberHealthCheckResult `xml:"healthResult,omitempty,typeattr"` -} - -func init() { - t["DvsHealthStatusChangeEvent"] = reflect.TypeOf((*DvsHealthStatusChangeEvent)(nil)).Elem() -} - -type DvsHostBackInSyncEvent struct { - DvsEvent - - HostBackInSync HostEventArgument `xml:"hostBackInSync"` -} - -func init() { - t["DvsHostBackInSyncEvent"] = reflect.TypeOf((*DvsHostBackInSyncEvent)(nil)).Elem() -} - -type DvsHostInfrastructureTrafficResource struct { - DynamicData - - Key string `xml:"key"` - Description string `xml:"description,omitempty"` - AllocationInfo DvsHostInfrastructureTrafficResourceAllocation `xml:"allocationInfo"` -} - -func init() { - t["DvsHostInfrastructureTrafficResource"] = reflect.TypeOf((*DvsHostInfrastructureTrafficResource)(nil)).Elem() -} - -type DvsHostInfrastructureTrafficResourceAllocation struct { - DynamicData - - Limit *int64 `xml:"limit"` - Shares *SharesInfo `xml:"shares,omitempty"` - Reservation *int64 `xml:"reservation"` -} - -func init() { - t["DvsHostInfrastructureTrafficResourceAllocation"] = reflect.TypeOf((*DvsHostInfrastructureTrafficResourceAllocation)(nil)).Elem() -} - -type DvsHostJoinedEvent struct { - DvsEvent - - HostJoined HostEventArgument `xml:"hostJoined"` -} - -func init() { - t["DvsHostJoinedEvent"] = reflect.TypeOf((*DvsHostJoinedEvent)(nil)).Elem() -} - -type DvsHostLeftEvent struct { - DvsEvent - - HostLeft HostEventArgument `xml:"hostLeft"` -} - -func init() { - t["DvsHostLeftEvent"] = reflect.TypeOf((*DvsHostLeftEvent)(nil)).Elem() -} - -type DvsHostStatusUpdated struct { - DvsEvent - - HostMember HostEventArgument `xml:"hostMember"` - OldStatus string `xml:"oldStatus,omitempty"` - NewStatus string `xml:"newStatus,omitempty"` - OldStatusDetail string `xml:"oldStatusDetail,omitempty"` - NewStatusDetail string `xml:"newStatusDetail,omitempty"` -} - -func init() { - t["DvsHostStatusUpdated"] = reflect.TypeOf((*DvsHostStatusUpdated)(nil)).Elem() -} - -type DvsHostVNicProfile struct { - DvsVNicProfile -} - -func init() { - t["DvsHostVNicProfile"] = reflect.TypeOf((*DvsHostVNicProfile)(nil)).Elem() -} - -type DvsHostWentOutOfSyncEvent struct { - DvsEvent - - HostOutOfSync DvsOutOfSyncHostArgument `xml:"hostOutOfSync"` -} - -func init() { - t["DvsHostWentOutOfSyncEvent"] = reflect.TypeOf((*DvsHostWentOutOfSyncEvent)(nil)).Elem() -} - -type DvsImportEvent struct { - DvsEvent - - ImportType string `xml:"importType"` -} - -func init() { - t["DvsImportEvent"] = reflect.TypeOf((*DvsImportEvent)(nil)).Elem() -} - -type DvsIpNetworkRuleQualifier struct { - DvsNetworkRuleQualifier - - SourceAddress BaseIpAddress `xml:"sourceAddress,omitempty,typeattr"` - DestinationAddress BaseIpAddress `xml:"destinationAddress,omitempty,typeattr"` - Protocol *IntExpression `xml:"protocol,omitempty"` - SourceIpPort BaseDvsIpPort `xml:"sourceIpPort,omitempty,typeattr"` - DestinationIpPort BaseDvsIpPort `xml:"destinationIpPort,omitempty,typeattr"` - TcpFlags *IntExpression `xml:"tcpFlags,omitempty"` -} - -func init() { - t["DvsIpNetworkRuleQualifier"] = reflect.TypeOf((*DvsIpNetworkRuleQualifier)(nil)).Elem() -} - -type DvsIpPort struct { - NegatableExpression -} - -func init() { - t["DvsIpPort"] = reflect.TypeOf((*DvsIpPort)(nil)).Elem() -} - -type DvsIpPortRange struct { - DvsIpPort - - StartPortNumber int32 `xml:"startPortNumber"` - EndPortNumber int32 `xml:"endPortNumber"` -} - -func init() { - t["DvsIpPortRange"] = reflect.TypeOf((*DvsIpPortRange)(nil)).Elem() -} - -type DvsLogNetworkRuleAction struct { - DvsNetworkRuleAction -} - -func init() { - t["DvsLogNetworkRuleAction"] = reflect.TypeOf((*DvsLogNetworkRuleAction)(nil)).Elem() -} - -type DvsMacNetworkRuleQualifier struct { - DvsNetworkRuleQualifier - - SourceAddress BaseMacAddress `xml:"sourceAddress,omitempty,typeattr"` - DestinationAddress BaseMacAddress `xml:"destinationAddress,omitempty,typeattr"` - Protocol *IntExpression `xml:"protocol,omitempty"` - VlanId *IntExpression `xml:"vlanId,omitempty"` -} - -func init() { - t["DvsMacNetworkRuleQualifier"] = reflect.TypeOf((*DvsMacNetworkRuleQualifier)(nil)).Elem() -} - -type DvsMacRewriteNetworkRuleAction struct { - DvsNetworkRuleAction - - RewriteMac string `xml:"rewriteMac"` -} - -func init() { - t["DvsMacRewriteNetworkRuleAction"] = reflect.TypeOf((*DvsMacRewriteNetworkRuleAction)(nil)).Elem() -} - -type DvsMergedEvent struct { - DvsEvent - - SourceDvs DvsEventArgument `xml:"sourceDvs"` - DestinationDvs DvsEventArgument `xml:"destinationDvs"` -} - -func init() { - t["DvsMergedEvent"] = reflect.TypeOf((*DvsMergedEvent)(nil)).Elem() -} - -type DvsNetworkRuleAction struct { - DynamicData -} - -func init() { - t["DvsNetworkRuleAction"] = reflect.TypeOf((*DvsNetworkRuleAction)(nil)).Elem() -} - -type DvsNetworkRuleQualifier struct { - DynamicData - - Key string `xml:"key,omitempty"` -} - -func init() { - t["DvsNetworkRuleQualifier"] = reflect.TypeOf((*DvsNetworkRuleQualifier)(nil)).Elem() -} - -type DvsNotAuthorized struct { - DvsFault - - SessionExtensionKey string `xml:"sessionExtensionKey,omitempty"` - DvsExtensionKey string `xml:"dvsExtensionKey,omitempty"` -} - -func init() { - t["DvsNotAuthorized"] = reflect.TypeOf((*DvsNotAuthorized)(nil)).Elem() -} - -type DvsNotAuthorizedFault DvsNotAuthorized - -func init() { - t["DvsNotAuthorizedFault"] = reflect.TypeOf((*DvsNotAuthorizedFault)(nil)).Elem() -} - -type DvsOperationBulkFault struct { - DvsFault - - HostFault []DvsOperationBulkFaultFaultOnHost `xml:"hostFault"` -} - -func init() { - t["DvsOperationBulkFault"] = reflect.TypeOf((*DvsOperationBulkFault)(nil)).Elem() -} - -type DvsOperationBulkFaultFault DvsOperationBulkFault - -func init() { - t["DvsOperationBulkFaultFault"] = reflect.TypeOf((*DvsOperationBulkFaultFault)(nil)).Elem() -} - -type DvsOperationBulkFaultFaultOnHost struct { - DynamicData - - Host ManagedObjectReference `xml:"host"` - Fault LocalizedMethodFault `xml:"fault"` -} - -func init() { - t["DvsOperationBulkFaultFaultOnHost"] = reflect.TypeOf((*DvsOperationBulkFaultFaultOnHost)(nil)).Elem() -} - -type DvsOutOfSyncHostArgument struct { - DynamicData - - OutOfSyncHost HostEventArgument `xml:"outOfSyncHost"` - ConfigParamters []string `xml:"configParamters"` -} - -func init() { - t["DvsOutOfSyncHostArgument"] = reflect.TypeOf((*DvsOutOfSyncHostArgument)(nil)).Elem() -} - -type DvsPortBlockedEvent struct { - DvsEvent - - PortKey string `xml:"portKey"` - StatusDetail string `xml:"statusDetail,omitempty"` - RuntimeInfo *DVPortStatus `xml:"runtimeInfo,omitempty"` - PrevBlockState string `xml:"prevBlockState,omitempty"` -} - -func init() { - t["DvsPortBlockedEvent"] = reflect.TypeOf((*DvsPortBlockedEvent)(nil)).Elem() -} - -type DvsPortConnectedEvent struct { - DvsEvent - - PortKey string `xml:"portKey"` - Connectee *DistributedVirtualSwitchPortConnectee `xml:"connectee,omitempty"` -} - -func init() { - t["DvsPortConnectedEvent"] = reflect.TypeOf((*DvsPortConnectedEvent)(nil)).Elem() -} - -type DvsPortCreatedEvent struct { - DvsEvent - - PortKey []string `xml:"portKey"` -} - -func init() { - t["DvsPortCreatedEvent"] = reflect.TypeOf((*DvsPortCreatedEvent)(nil)).Elem() -} - -type DvsPortDeletedEvent struct { - DvsEvent - - PortKey []string `xml:"portKey"` -} - -func init() { - t["DvsPortDeletedEvent"] = reflect.TypeOf((*DvsPortDeletedEvent)(nil)).Elem() -} - -type DvsPortDisconnectedEvent struct { - DvsEvent - - PortKey string `xml:"portKey"` - Connectee *DistributedVirtualSwitchPortConnectee `xml:"connectee,omitempty"` -} - -func init() { - t["DvsPortDisconnectedEvent"] = reflect.TypeOf((*DvsPortDisconnectedEvent)(nil)).Elem() -} - -type DvsPortEnteredPassthruEvent struct { - DvsEvent - - PortKey string `xml:"portKey"` - RuntimeInfo *DVPortStatus `xml:"runtimeInfo,omitempty"` -} - -func init() { - t["DvsPortEnteredPassthruEvent"] = reflect.TypeOf((*DvsPortEnteredPassthruEvent)(nil)).Elem() -} - -type DvsPortExitedPassthruEvent struct { - DvsEvent - - PortKey string `xml:"portKey"` - RuntimeInfo *DVPortStatus `xml:"runtimeInfo,omitempty"` -} - -func init() { - t["DvsPortExitedPassthruEvent"] = reflect.TypeOf((*DvsPortExitedPassthruEvent)(nil)).Elem() -} - -type DvsPortJoinPortgroupEvent struct { - DvsEvent - - PortKey string `xml:"portKey"` - PortgroupKey string `xml:"portgroupKey"` - PortgroupName string `xml:"portgroupName"` -} - -func init() { - t["DvsPortJoinPortgroupEvent"] = reflect.TypeOf((*DvsPortJoinPortgroupEvent)(nil)).Elem() -} - -type DvsPortLeavePortgroupEvent struct { - DvsEvent - - PortKey string `xml:"portKey"` - PortgroupKey string `xml:"portgroupKey"` - PortgroupName string `xml:"portgroupName"` -} - -func init() { - t["DvsPortLeavePortgroupEvent"] = reflect.TypeOf((*DvsPortLeavePortgroupEvent)(nil)).Elem() -} - -type DvsPortLinkDownEvent struct { - DvsEvent - - PortKey string `xml:"portKey"` - RuntimeInfo *DVPortStatus `xml:"runtimeInfo,omitempty"` -} - -func init() { - t["DvsPortLinkDownEvent"] = reflect.TypeOf((*DvsPortLinkDownEvent)(nil)).Elem() -} - -type DvsPortLinkUpEvent struct { - DvsEvent - - PortKey string `xml:"portKey"` - RuntimeInfo *DVPortStatus `xml:"runtimeInfo,omitempty"` -} - -func init() { - t["DvsPortLinkUpEvent"] = reflect.TypeOf((*DvsPortLinkUpEvent)(nil)).Elem() -} - -type DvsPortReconfiguredEvent struct { - DvsEvent - - PortKey []string `xml:"portKey"` - ConfigChanges []ChangesInfoEventArgument `xml:"configChanges,omitempty"` -} - -func init() { - t["DvsPortReconfiguredEvent"] = reflect.TypeOf((*DvsPortReconfiguredEvent)(nil)).Elem() -} - -type DvsPortRuntimeChangeEvent struct { - DvsEvent - - PortKey string `xml:"portKey"` - RuntimeInfo DVPortStatus `xml:"runtimeInfo"` -} - -func init() { - t["DvsPortRuntimeChangeEvent"] = reflect.TypeOf((*DvsPortRuntimeChangeEvent)(nil)).Elem() -} - -type DvsPortUnblockedEvent struct { - DvsEvent - - PortKey string `xml:"portKey"` - RuntimeInfo *DVPortStatus `xml:"runtimeInfo,omitempty"` - PrevBlockState string `xml:"prevBlockState,omitempty"` -} - -func init() { - t["DvsPortUnblockedEvent"] = reflect.TypeOf((*DvsPortUnblockedEvent)(nil)).Elem() -} - -type DvsPortVendorSpecificStateChangeEvent struct { - DvsEvent - - PortKey string `xml:"portKey"` -} - -func init() { - t["DvsPortVendorSpecificStateChangeEvent"] = reflect.TypeOf((*DvsPortVendorSpecificStateChangeEvent)(nil)).Elem() -} - -type DvsProfile struct { - ApplyProfile - - Key string `xml:"key"` - Name string `xml:"name"` - Uplink []PnicUplinkProfile `xml:"uplink,omitempty"` -} - -func init() { - t["DvsProfile"] = reflect.TypeOf((*DvsProfile)(nil)).Elem() -} - -type DvsPuntNetworkRuleAction struct { - DvsNetworkRuleAction -} - -func init() { - t["DvsPuntNetworkRuleAction"] = reflect.TypeOf((*DvsPuntNetworkRuleAction)(nil)).Elem() -} - -type DvsRateLimitNetworkRuleAction struct { - DvsNetworkRuleAction - - PacketsPerSecond int32 `xml:"packetsPerSecond"` -} - -func init() { - t["DvsRateLimitNetworkRuleAction"] = reflect.TypeOf((*DvsRateLimitNetworkRuleAction)(nil)).Elem() -} - -type DvsReconfigureVmVnicNetworkResourcePoolRequestType struct { - This ManagedObjectReference `xml:"_this"` - ConfigSpec []DvsVmVnicResourcePoolConfigSpec `xml:"configSpec"` -} - -func init() { - t["DvsReconfigureVmVnicNetworkResourcePoolRequestType"] = reflect.TypeOf((*DvsReconfigureVmVnicNetworkResourcePoolRequestType)(nil)).Elem() -} - -type DvsReconfigureVmVnicNetworkResourcePool_Task DvsReconfigureVmVnicNetworkResourcePoolRequestType - -func init() { - t["DvsReconfigureVmVnicNetworkResourcePool_Task"] = reflect.TypeOf((*DvsReconfigureVmVnicNetworkResourcePool_Task)(nil)).Elem() -} - -type DvsReconfigureVmVnicNetworkResourcePool_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type DvsReconfiguredEvent struct { - DvsEvent - - ConfigSpec BaseDVSConfigSpec `xml:"configSpec,typeattr"` - ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty"` -} - -func init() { - t["DvsReconfiguredEvent"] = reflect.TypeOf((*DvsReconfiguredEvent)(nil)).Elem() -} - -type DvsRenamedEvent struct { - DvsEvent - - OldName string `xml:"oldName"` - NewName string `xml:"newName"` -} - -func init() { - t["DvsRenamedEvent"] = reflect.TypeOf((*DvsRenamedEvent)(nil)).Elem() -} - -type DvsResourceRuntimeInfo struct { - DynamicData - - Capacity int32 `xml:"capacity,omitempty"` - Usage int32 `xml:"usage,omitempty"` - Available int32 `xml:"available,omitempty"` - AllocatedResource []DvsVnicAllocatedResource `xml:"allocatedResource,omitempty"` - VmVnicNetworkResourcePoolRuntime []DvsVmVnicNetworkResourcePoolRuntimeInfo `xml:"vmVnicNetworkResourcePoolRuntime,omitempty"` -} - -func init() { - t["DvsResourceRuntimeInfo"] = reflect.TypeOf((*DvsResourceRuntimeInfo)(nil)).Elem() -} - -type DvsRestoreEvent struct { - DvsEvent -} - -func init() { - t["DvsRestoreEvent"] = reflect.TypeOf((*DvsRestoreEvent)(nil)).Elem() -} - -type DvsScopeViolated struct { - DvsFault - - Scope []ManagedObjectReference `xml:"scope"` - Entity ManagedObjectReference `xml:"entity"` -} - -func init() { - t["DvsScopeViolated"] = reflect.TypeOf((*DvsScopeViolated)(nil)).Elem() -} - -type DvsScopeViolatedFault DvsScopeViolated - -func init() { - t["DvsScopeViolatedFault"] = reflect.TypeOf((*DvsScopeViolatedFault)(nil)).Elem() -} - -type DvsServiceConsoleVNicProfile struct { - DvsVNicProfile -} - -func init() { - t["DvsServiceConsoleVNicProfile"] = reflect.TypeOf((*DvsServiceConsoleVNicProfile)(nil)).Elem() -} - -type DvsSingleIpPort struct { - DvsIpPort - - PortNumber int32 `xml:"portNumber"` -} - -func init() { - t["DvsSingleIpPort"] = reflect.TypeOf((*DvsSingleIpPort)(nil)).Elem() -} - -type DvsSystemTrafficNetworkRuleQualifier struct { - DvsNetworkRuleQualifier - - TypeOfSystemTraffic *StringExpression `xml:"typeOfSystemTraffic,omitempty"` -} - -func init() { - t["DvsSystemTrafficNetworkRuleQualifier"] = reflect.TypeOf((*DvsSystemTrafficNetworkRuleQualifier)(nil)).Elem() -} - -type DvsTrafficFilterConfig struct { - DvsFilterConfig - - TrafficRuleset *DvsTrafficRuleset `xml:"trafficRuleset,omitempty"` -} - -func init() { - t["DvsTrafficFilterConfig"] = reflect.TypeOf((*DvsTrafficFilterConfig)(nil)).Elem() -} - -type DvsTrafficFilterConfigSpec struct { - DvsTrafficFilterConfig - - Operation string `xml:"operation"` -} - -func init() { - t["DvsTrafficFilterConfigSpec"] = reflect.TypeOf((*DvsTrafficFilterConfigSpec)(nil)).Elem() -} - -type DvsTrafficRule struct { - DynamicData - - Key string `xml:"key,omitempty"` - Description string `xml:"description,omitempty"` - Sequence int32 `xml:"sequence,omitempty"` - Qualifier []BaseDvsNetworkRuleQualifier `xml:"qualifier,omitempty,typeattr"` - Action BaseDvsNetworkRuleAction `xml:"action,omitempty,typeattr"` - Direction string `xml:"direction,omitempty"` -} - -func init() { - t["DvsTrafficRule"] = reflect.TypeOf((*DvsTrafficRule)(nil)).Elem() -} - -type DvsTrafficRuleset struct { - DynamicData - - Key string `xml:"key,omitempty"` - Enabled *bool `xml:"enabled"` - Precedence int32 `xml:"precedence,omitempty"` - Rules []DvsTrafficRule `xml:"rules,omitempty"` -} - -func init() { - t["DvsTrafficRuleset"] = reflect.TypeOf((*DvsTrafficRuleset)(nil)).Elem() -} - -type DvsUpdateTagNetworkRuleAction struct { - DvsNetworkRuleAction - - QosTag int32 `xml:"qosTag,omitempty"` - DscpTag int32 `xml:"dscpTag,omitempty"` -} - -func init() { - t["DvsUpdateTagNetworkRuleAction"] = reflect.TypeOf((*DvsUpdateTagNetworkRuleAction)(nil)).Elem() -} - -type DvsUpgradeAvailableEvent struct { - DvsEvent - - ProductInfo DistributedVirtualSwitchProductSpec `xml:"productInfo"` -} - -func init() { - t["DvsUpgradeAvailableEvent"] = reflect.TypeOf((*DvsUpgradeAvailableEvent)(nil)).Elem() -} - -type DvsUpgradeInProgressEvent struct { - DvsEvent - - ProductInfo DistributedVirtualSwitchProductSpec `xml:"productInfo"` -} - -func init() { - t["DvsUpgradeInProgressEvent"] = reflect.TypeOf((*DvsUpgradeInProgressEvent)(nil)).Elem() -} - -type DvsUpgradeRejectedEvent struct { - DvsEvent - - ProductInfo DistributedVirtualSwitchProductSpec `xml:"productInfo"` -} - -func init() { - t["DvsUpgradeRejectedEvent"] = reflect.TypeOf((*DvsUpgradeRejectedEvent)(nil)).Elem() -} - -type DvsUpgradedEvent struct { - DvsEvent - - ProductInfo DistributedVirtualSwitchProductSpec `xml:"productInfo"` -} - -func init() { - t["DvsUpgradedEvent"] = reflect.TypeOf((*DvsUpgradedEvent)(nil)).Elem() -} - -type DvsVNicProfile struct { - ApplyProfile - - Key string `xml:"key"` - IpConfig IpAddressProfile `xml:"ipConfig"` -} - -func init() { - t["DvsVNicProfile"] = reflect.TypeOf((*DvsVNicProfile)(nil)).Elem() -} - -type DvsVmVnicNetworkResourcePoolRuntimeInfo struct { - DynamicData - - Key string `xml:"key"` - Name string `xml:"name,omitempty"` - Capacity int32 `xml:"capacity,omitempty"` - Usage int32 `xml:"usage,omitempty"` - Available int32 `xml:"available,omitempty"` - Status string `xml:"status"` - AllocatedResource []DvsVnicAllocatedResource `xml:"allocatedResource,omitempty"` -} - -func init() { - t["DvsVmVnicNetworkResourcePoolRuntimeInfo"] = reflect.TypeOf((*DvsVmVnicNetworkResourcePoolRuntimeInfo)(nil)).Elem() -} - -type DvsVmVnicResourceAllocation struct { - DynamicData - - ReservationQuota int64 `xml:"reservationQuota,omitempty"` -} - -func init() { - t["DvsVmVnicResourceAllocation"] = reflect.TypeOf((*DvsVmVnicResourceAllocation)(nil)).Elem() -} - -type DvsVmVnicResourcePoolConfigSpec struct { - DynamicData - - Operation string `xml:"operation"` - Key string `xml:"key,omitempty"` - ConfigVersion string `xml:"configVersion,omitempty"` - AllocationInfo *DvsVmVnicResourceAllocation `xml:"allocationInfo,omitempty"` - Name string `xml:"name,omitempty"` - Description string `xml:"description,omitempty"` -} - -func init() { - t["DvsVmVnicResourcePoolConfigSpec"] = reflect.TypeOf((*DvsVmVnicResourcePoolConfigSpec)(nil)).Elem() -} - -type DvsVnicAllocatedResource struct { - DynamicData - - Vm ManagedObjectReference `xml:"vm"` - VnicKey string `xml:"vnicKey"` - Reservation *int64 `xml:"reservation"` -} - -func init() { - t["DvsVnicAllocatedResource"] = reflect.TypeOf((*DvsVnicAllocatedResource)(nil)).Elem() -} - -type DynamicArray struct { - Val []AnyType `xml:"val,typeattr"` -} - -func init() { - t["DynamicArray"] = reflect.TypeOf((*DynamicArray)(nil)).Elem() -} - -type DynamicData struct { -} - -func init() { - t["DynamicData"] = reflect.TypeOf((*DynamicData)(nil)).Elem() -} - -type DynamicProperty struct { - Name string `xml:"name"` - Val AnyType `xml:"val,typeattr"` -} - -func init() { - t["DynamicProperty"] = reflect.TypeOf((*DynamicProperty)(nil)).Elem() -} - -type EVCAdmissionFailed struct { - NotSupportedHostInCluster - - Faults []LocalizedMethodFault `xml:"faults,omitempty"` -} - -func init() { - t["EVCAdmissionFailed"] = reflect.TypeOf((*EVCAdmissionFailed)(nil)).Elem() -} - -type EVCAdmissionFailedCPUFeaturesForMode struct { - EVCAdmissionFailed - - CurrentEVCModeKey string `xml:"currentEVCModeKey"` -} - -func init() { - t["EVCAdmissionFailedCPUFeaturesForMode"] = reflect.TypeOf((*EVCAdmissionFailedCPUFeaturesForMode)(nil)).Elem() -} - -type EVCAdmissionFailedCPUFeaturesForModeFault EVCAdmissionFailedCPUFeaturesForMode - -func init() { - t["EVCAdmissionFailedCPUFeaturesForModeFault"] = reflect.TypeOf((*EVCAdmissionFailedCPUFeaturesForModeFault)(nil)).Elem() -} - -type EVCAdmissionFailedCPUModel struct { - EVCAdmissionFailed -} - -func init() { - t["EVCAdmissionFailedCPUModel"] = reflect.TypeOf((*EVCAdmissionFailedCPUModel)(nil)).Elem() -} - -type EVCAdmissionFailedCPUModelFault EVCAdmissionFailedCPUModel - -func init() { - t["EVCAdmissionFailedCPUModelFault"] = reflect.TypeOf((*EVCAdmissionFailedCPUModelFault)(nil)).Elem() -} - -type EVCAdmissionFailedCPUModelForMode struct { - EVCAdmissionFailed - - CurrentEVCModeKey string `xml:"currentEVCModeKey"` -} - -func init() { - t["EVCAdmissionFailedCPUModelForMode"] = reflect.TypeOf((*EVCAdmissionFailedCPUModelForMode)(nil)).Elem() -} - -type EVCAdmissionFailedCPUModelForModeFault EVCAdmissionFailedCPUModelForMode - -func init() { - t["EVCAdmissionFailedCPUModelForModeFault"] = reflect.TypeOf((*EVCAdmissionFailedCPUModelForModeFault)(nil)).Elem() -} - -type EVCAdmissionFailedCPUVendor struct { - EVCAdmissionFailed - - ClusterCPUVendor string `xml:"clusterCPUVendor"` - HostCPUVendor string `xml:"hostCPUVendor"` -} - -func init() { - t["EVCAdmissionFailedCPUVendor"] = reflect.TypeOf((*EVCAdmissionFailedCPUVendor)(nil)).Elem() -} - -type EVCAdmissionFailedCPUVendorFault EVCAdmissionFailedCPUVendor - -func init() { - t["EVCAdmissionFailedCPUVendorFault"] = reflect.TypeOf((*EVCAdmissionFailedCPUVendorFault)(nil)).Elem() -} - -type EVCAdmissionFailedCPUVendorUnknown struct { - EVCAdmissionFailed -} - -func init() { - t["EVCAdmissionFailedCPUVendorUnknown"] = reflect.TypeOf((*EVCAdmissionFailedCPUVendorUnknown)(nil)).Elem() -} - -type EVCAdmissionFailedCPUVendorUnknownFault EVCAdmissionFailedCPUVendorUnknown - -func init() { - t["EVCAdmissionFailedCPUVendorUnknownFault"] = reflect.TypeOf((*EVCAdmissionFailedCPUVendorUnknownFault)(nil)).Elem() -} - -type EVCAdmissionFailedFault BaseEVCAdmissionFailed - -func init() { - t["EVCAdmissionFailedFault"] = reflect.TypeOf((*EVCAdmissionFailedFault)(nil)).Elem() -} - -type EVCAdmissionFailedHostDisconnected struct { - EVCAdmissionFailed -} - -func init() { - t["EVCAdmissionFailedHostDisconnected"] = reflect.TypeOf((*EVCAdmissionFailedHostDisconnected)(nil)).Elem() -} - -type EVCAdmissionFailedHostDisconnectedFault EVCAdmissionFailedHostDisconnected - -func init() { - t["EVCAdmissionFailedHostDisconnectedFault"] = reflect.TypeOf((*EVCAdmissionFailedHostDisconnectedFault)(nil)).Elem() -} - -type EVCAdmissionFailedHostSoftware struct { - EVCAdmissionFailed -} - -func init() { - t["EVCAdmissionFailedHostSoftware"] = reflect.TypeOf((*EVCAdmissionFailedHostSoftware)(nil)).Elem() -} - -type EVCAdmissionFailedHostSoftwareFault EVCAdmissionFailedHostSoftware - -func init() { - t["EVCAdmissionFailedHostSoftwareFault"] = reflect.TypeOf((*EVCAdmissionFailedHostSoftwareFault)(nil)).Elem() -} - -type EVCAdmissionFailedHostSoftwareForMode struct { - EVCAdmissionFailed -} - -func init() { - t["EVCAdmissionFailedHostSoftwareForMode"] = reflect.TypeOf((*EVCAdmissionFailedHostSoftwareForMode)(nil)).Elem() -} - -type EVCAdmissionFailedHostSoftwareForModeFault EVCAdmissionFailedHostSoftwareForMode - -func init() { - t["EVCAdmissionFailedHostSoftwareForModeFault"] = reflect.TypeOf((*EVCAdmissionFailedHostSoftwareForModeFault)(nil)).Elem() -} - -type EVCAdmissionFailedVmActive struct { - EVCAdmissionFailed -} - -func init() { - t["EVCAdmissionFailedVmActive"] = reflect.TypeOf((*EVCAdmissionFailedVmActive)(nil)).Elem() -} - -type EVCAdmissionFailedVmActiveFault EVCAdmissionFailedVmActive - -func init() { - t["EVCAdmissionFailedVmActiveFault"] = reflect.TypeOf((*EVCAdmissionFailedVmActiveFault)(nil)).Elem() -} - -type EVCConfigFault struct { - VimFault - - Faults []LocalizedMethodFault `xml:"faults,omitempty"` -} - -func init() { - t["EVCConfigFault"] = reflect.TypeOf((*EVCConfigFault)(nil)).Elem() -} - -type EVCConfigFaultFault BaseEVCConfigFault - -func init() { - t["EVCConfigFaultFault"] = reflect.TypeOf((*EVCConfigFaultFault)(nil)).Elem() -} - -type EVCMode struct { - ElementDescription - - GuaranteedCPUFeatures []HostCpuIdInfo `xml:"guaranteedCPUFeatures,omitempty"` - FeatureCapability []HostFeatureCapability `xml:"featureCapability,omitempty"` - FeatureMask []HostFeatureMask `xml:"featureMask,omitempty"` - FeatureRequirement []VirtualMachineFeatureRequirement `xml:"featureRequirement,omitempty"` - Vendor string `xml:"vendor"` - Track []string `xml:"track,omitempty"` - VendorTier int32 `xml:"vendorTier"` -} - -func init() { - t["EVCMode"] = reflect.TypeOf((*EVCMode)(nil)).Elem() -} - -type EVCModeIllegalByVendor struct { - EVCConfigFault - - ClusterCPUVendor string `xml:"clusterCPUVendor"` - ModeCPUVendor string `xml:"modeCPUVendor"` -} - -func init() { - t["EVCModeIllegalByVendor"] = reflect.TypeOf((*EVCModeIllegalByVendor)(nil)).Elem() -} - -type EVCModeIllegalByVendorFault EVCModeIllegalByVendor - -func init() { - t["EVCModeIllegalByVendorFault"] = reflect.TypeOf((*EVCModeIllegalByVendorFault)(nil)).Elem() -} - -type EVCModeUnsupportedByHosts struct { - EVCConfigFault - - EvcMode string `xml:"evcMode,omitempty"` - Host []ManagedObjectReference `xml:"host,omitempty"` - HostName []string `xml:"hostName,omitempty"` -} - -func init() { - t["EVCModeUnsupportedByHosts"] = reflect.TypeOf((*EVCModeUnsupportedByHosts)(nil)).Elem() -} - -type EVCModeUnsupportedByHostsFault EVCModeUnsupportedByHosts - -func init() { - t["EVCModeUnsupportedByHostsFault"] = reflect.TypeOf((*EVCModeUnsupportedByHostsFault)(nil)).Elem() -} - -type EVCUnsupportedByHostHardware struct { - EVCConfigFault - - Host []ManagedObjectReference `xml:"host"` - HostName []string `xml:"hostName"` -} - -func init() { - t["EVCUnsupportedByHostHardware"] = reflect.TypeOf((*EVCUnsupportedByHostHardware)(nil)).Elem() -} - -type EVCUnsupportedByHostHardwareFault EVCUnsupportedByHostHardware - -func init() { - t["EVCUnsupportedByHostHardwareFault"] = reflect.TypeOf((*EVCUnsupportedByHostHardwareFault)(nil)).Elem() -} - -type EVCUnsupportedByHostSoftware struct { - EVCConfigFault - - Host []ManagedObjectReference `xml:"host"` - HostName []string `xml:"hostName"` -} - -func init() { - t["EVCUnsupportedByHostSoftware"] = reflect.TypeOf((*EVCUnsupportedByHostSoftware)(nil)).Elem() -} - -type EVCUnsupportedByHostSoftwareFault EVCUnsupportedByHostSoftware - -func init() { - t["EVCUnsupportedByHostSoftwareFault"] = reflect.TypeOf((*EVCUnsupportedByHostSoftwareFault)(nil)).Elem() -} - -type EagerZeroVirtualDiskRequestType struct { - This ManagedObjectReference `xml:"_this"` - Name string `xml:"name"` - Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"` -} - -func init() { - t["EagerZeroVirtualDiskRequestType"] = reflect.TypeOf((*EagerZeroVirtualDiskRequestType)(nil)).Elem() -} - -type EagerZeroVirtualDisk_Task EagerZeroVirtualDiskRequestType - -func init() { - t["EagerZeroVirtualDisk_Task"] = reflect.TypeOf((*EagerZeroVirtualDisk_Task)(nil)).Elem() -} - -type EagerZeroVirtualDisk_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type EightHostLimitViolated struct { - VmConfigFault -} - -func init() { - t["EightHostLimitViolated"] = reflect.TypeOf((*EightHostLimitViolated)(nil)).Elem() -} - -type EightHostLimitViolatedFault EightHostLimitViolated - -func init() { - t["EightHostLimitViolatedFault"] = reflect.TypeOf((*EightHostLimitViolatedFault)(nil)).Elem() -} - -type ElementDescription struct { - Description - - Key string `xml:"key"` -} - -func init() { - t["ElementDescription"] = reflect.TypeOf((*ElementDescription)(nil)).Elem() -} - -type EnableAlarm EnableAlarmRequestType - -func init() { - t["EnableAlarm"] = reflect.TypeOf((*EnableAlarm)(nil)).Elem() -} - -type EnableAlarmActions EnableAlarmActionsRequestType - -func init() { - t["EnableAlarmActions"] = reflect.TypeOf((*EnableAlarmActions)(nil)).Elem() -} - -type EnableAlarmActionsRequestType struct { - This ManagedObjectReference `xml:"_this"` - Entity ManagedObjectReference `xml:"entity"` - Enabled bool `xml:"enabled"` -} - -func init() { - t["EnableAlarmActionsRequestType"] = reflect.TypeOf((*EnableAlarmActionsRequestType)(nil)).Elem() -} - -type EnableAlarmActionsResponse struct { -} - -type EnableAlarmRequestType struct { - This ManagedObjectReference `xml:"_this"` - Alarm ManagedObjectReference `xml:"alarm"` - Entity ManagedObjectReference `xml:"entity"` -} - -func init() { - t["EnableAlarmRequestType"] = reflect.TypeOf((*EnableAlarmRequestType)(nil)).Elem() -} - -type EnableAlarmResponse struct { -} - -type EnableClusteredVmdkSupport EnableClusteredVmdkSupportRequestType - -func init() { - t["EnableClusteredVmdkSupport"] = reflect.TypeOf((*EnableClusteredVmdkSupport)(nil)).Elem() -} - -type EnableClusteredVmdkSupportRequestType struct { - This ManagedObjectReference `xml:"_this"` - Datastore ManagedObjectReference `xml:"datastore"` -} - -func init() { - t["EnableClusteredVmdkSupportRequestType"] = reflect.TypeOf((*EnableClusteredVmdkSupportRequestType)(nil)).Elem() -} - -type EnableClusteredVmdkSupportResponse struct { -} - -type EnableCrypto EnableCryptoRequestType - -func init() { - t["EnableCrypto"] = reflect.TypeOf((*EnableCrypto)(nil)).Elem() -} - -type EnableCryptoRequestType struct { - This ManagedObjectReference `xml:"_this"` - KeyPlain CryptoKeyPlain `xml:"keyPlain"` -} - -func init() { - t["EnableCryptoRequestType"] = reflect.TypeOf((*EnableCryptoRequestType)(nil)).Elem() -} - -type EnableCryptoResponse struct { -} - -type EnableFeature EnableFeatureRequestType - -func init() { - t["EnableFeature"] = reflect.TypeOf((*EnableFeature)(nil)).Elem() -} - -type EnableFeatureRequestType struct { - This ManagedObjectReference `xml:"_this"` - Host *ManagedObjectReference `xml:"host,omitempty"` - FeatureKey string `xml:"featureKey"` -} - -func init() { - t["EnableFeatureRequestType"] = reflect.TypeOf((*EnableFeatureRequestType)(nil)).Elem() -} - -type EnableFeatureResponse struct { - Returnval bool `xml:"returnval"` -} - -type EnableHyperThreading EnableHyperThreadingRequestType - -func init() { - t["EnableHyperThreading"] = reflect.TypeOf((*EnableHyperThreading)(nil)).Elem() -} - -type EnableHyperThreadingRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["EnableHyperThreadingRequestType"] = reflect.TypeOf((*EnableHyperThreadingRequestType)(nil)).Elem() -} - -type EnableHyperThreadingResponse struct { -} - -type EnableMultipathPath EnableMultipathPathRequestType - -func init() { - t["EnableMultipathPath"] = reflect.TypeOf((*EnableMultipathPath)(nil)).Elem() -} - -type EnableMultipathPathRequestType struct { - This ManagedObjectReference `xml:"_this"` - PathName string `xml:"pathName"` -} - -func init() { - t["EnableMultipathPathRequestType"] = reflect.TypeOf((*EnableMultipathPathRequestType)(nil)).Elem() -} - -type EnableMultipathPathResponse struct { -} - -type EnableNetworkResourceManagement EnableNetworkResourceManagementRequestType - -func init() { - t["EnableNetworkResourceManagement"] = reflect.TypeOf((*EnableNetworkResourceManagement)(nil)).Elem() -} - -type EnableNetworkResourceManagementRequestType struct { - This ManagedObjectReference `xml:"_this"` - Enable bool `xml:"enable"` -} - -func init() { - t["EnableNetworkResourceManagementRequestType"] = reflect.TypeOf((*EnableNetworkResourceManagementRequestType)(nil)).Elem() -} - -type EnableNetworkResourceManagementResponse struct { -} - -type EnableRuleset EnableRulesetRequestType - -func init() { - t["EnableRuleset"] = reflect.TypeOf((*EnableRuleset)(nil)).Elem() -} - -type EnableRulesetRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id string `xml:"id"` -} - -func init() { - t["EnableRulesetRequestType"] = reflect.TypeOf((*EnableRulesetRequestType)(nil)).Elem() -} - -type EnableRulesetResponse struct { -} - -type EnableSecondaryVMRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm ManagedObjectReference `xml:"vm"` - Host *ManagedObjectReference `xml:"host,omitempty"` -} - -func init() { - t["EnableSecondaryVMRequestType"] = reflect.TypeOf((*EnableSecondaryVMRequestType)(nil)).Elem() -} - -type EnableSecondaryVM_Task EnableSecondaryVMRequestType - -func init() { - t["EnableSecondaryVM_Task"] = reflect.TypeOf((*EnableSecondaryVM_Task)(nil)).Elem() -} - -type EnableSecondaryVM_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type EnableSmartCardAuthentication EnableSmartCardAuthenticationRequestType - -func init() { - t["EnableSmartCardAuthentication"] = reflect.TypeOf((*EnableSmartCardAuthentication)(nil)).Elem() -} - -type EnableSmartCardAuthenticationRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["EnableSmartCardAuthenticationRequestType"] = reflect.TypeOf((*EnableSmartCardAuthenticationRequestType)(nil)).Elem() -} - -type EnableSmartCardAuthenticationResponse struct { -} - -type EncryptionKeyRequired struct { - InvalidState - - RequiredKey []CryptoKeyId `xml:"requiredKey,omitempty"` -} - -func init() { - t["EncryptionKeyRequired"] = reflect.TypeOf((*EncryptionKeyRequired)(nil)).Elem() -} - -type EncryptionKeyRequiredFault EncryptionKeyRequired - -func init() { - t["EncryptionKeyRequiredFault"] = reflect.TypeOf((*EncryptionKeyRequiredFault)(nil)).Elem() -} - -type EnterLockdownMode EnterLockdownModeRequestType - -func init() { - t["EnterLockdownMode"] = reflect.TypeOf((*EnterLockdownMode)(nil)).Elem() -} - -type EnterLockdownModeRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["EnterLockdownModeRequestType"] = reflect.TypeOf((*EnterLockdownModeRequestType)(nil)).Elem() -} - -type EnterLockdownModeResponse struct { -} - -type EnterMaintenanceModeRequestType struct { - This ManagedObjectReference `xml:"_this"` - Timeout int32 `xml:"timeout"` - EvacuatePoweredOffVms *bool `xml:"evacuatePoweredOffVms"` - MaintenanceSpec *HostMaintenanceSpec `xml:"maintenanceSpec,omitempty"` -} - -func init() { - t["EnterMaintenanceModeRequestType"] = reflect.TypeOf((*EnterMaintenanceModeRequestType)(nil)).Elem() -} - -type EnterMaintenanceMode_Task EnterMaintenanceModeRequestType - -func init() { - t["EnterMaintenanceMode_Task"] = reflect.TypeOf((*EnterMaintenanceMode_Task)(nil)).Elem() -} - -type EnterMaintenanceMode_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type EnteredMaintenanceModeEvent struct { - HostEvent -} - -func init() { - t["EnteredMaintenanceModeEvent"] = reflect.TypeOf((*EnteredMaintenanceModeEvent)(nil)).Elem() -} - -type EnteredStandbyModeEvent struct { - HostEvent -} - -func init() { - t["EnteredStandbyModeEvent"] = reflect.TypeOf((*EnteredStandbyModeEvent)(nil)).Elem() -} - -type EnteringMaintenanceModeEvent struct { - HostEvent -} - -func init() { - t["EnteringMaintenanceModeEvent"] = reflect.TypeOf((*EnteringMaintenanceModeEvent)(nil)).Elem() -} - -type EnteringStandbyModeEvent struct { - HostEvent -} - -func init() { - t["EnteringStandbyModeEvent"] = reflect.TypeOf((*EnteringStandbyModeEvent)(nil)).Elem() -} - -type EntityBackup struct { - DynamicData -} - -func init() { - t["EntityBackup"] = reflect.TypeOf((*EntityBackup)(nil)).Elem() -} - -type EntityBackupConfig struct { - DynamicData - - EntityType string `xml:"entityType"` - ConfigBlob []byte `xml:"configBlob"` - Key string `xml:"key,omitempty"` - Name string `xml:"name,omitempty"` - Container *ManagedObjectReference `xml:"container,omitempty"` - ConfigVersion string `xml:"configVersion,omitempty"` -} - -func init() { - t["EntityBackupConfig"] = reflect.TypeOf((*EntityBackupConfig)(nil)).Elem() -} - -type EntityEventArgument struct { - EventArgument - - Name string `xml:"name"` -} - -func init() { - t["EntityEventArgument"] = reflect.TypeOf((*EntityEventArgument)(nil)).Elem() -} - -type EntityPrivilege struct { - DynamicData - - Entity ManagedObjectReference `xml:"entity"` - PrivAvailability []PrivilegeAvailability `xml:"privAvailability"` -} - -func init() { - t["EntityPrivilege"] = reflect.TypeOf((*EntityPrivilege)(nil)).Elem() -} - -type EnumDescription struct { - DynamicData - - Key string `xml:"key"` - Tags []BaseElementDescription `xml:"tags,typeattr"` -} - -func init() { - t["EnumDescription"] = reflect.TypeOf((*EnumDescription)(nil)).Elem() -} - -type EnvironmentBrowserConfigOptionQuerySpec struct { - DynamicData - - Key string `xml:"key,omitempty"` - Host *ManagedObjectReference `xml:"host,omitempty"` - GuestId []string `xml:"guestId,omitempty"` -} - -func init() { - t["EnvironmentBrowserConfigOptionQuerySpec"] = reflect.TypeOf((*EnvironmentBrowserConfigOptionQuerySpec)(nil)).Elem() -} - -type ErrorUpgradeEvent struct { - UpgradeEvent -} - -func init() { - t["ErrorUpgradeEvent"] = reflect.TypeOf((*ErrorUpgradeEvent)(nil)).Elem() -} - -type EstimateDatabaseSize EstimateDatabaseSizeRequestType - -func init() { - t["EstimateDatabaseSize"] = reflect.TypeOf((*EstimateDatabaseSize)(nil)).Elem() -} - -type EstimateDatabaseSizeRequestType struct { - This ManagedObjectReference `xml:"_this"` - DbSizeParam DatabaseSizeParam `xml:"dbSizeParam"` -} - -func init() { - t["EstimateDatabaseSizeRequestType"] = reflect.TypeOf((*EstimateDatabaseSizeRequestType)(nil)).Elem() -} - -type EstimateDatabaseSizeResponse struct { - Returnval DatabaseSizeEstimate `xml:"returnval"` -} - -type EstimateStorageForConsolidateSnapshotsRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["EstimateStorageForConsolidateSnapshotsRequestType"] = reflect.TypeOf((*EstimateStorageForConsolidateSnapshotsRequestType)(nil)).Elem() -} - -type EstimateStorageForConsolidateSnapshots_Task EstimateStorageForConsolidateSnapshotsRequestType - -func init() { - t["EstimateStorageForConsolidateSnapshots_Task"] = reflect.TypeOf((*EstimateStorageForConsolidateSnapshots_Task)(nil)).Elem() -} - -type EstimateStorageForConsolidateSnapshots_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type EsxAgentHostManagerUpdateConfig EsxAgentHostManagerUpdateConfigRequestType - -func init() { - t["EsxAgentHostManagerUpdateConfig"] = reflect.TypeOf((*EsxAgentHostManagerUpdateConfig)(nil)).Elem() -} - -type EsxAgentHostManagerUpdateConfigRequestType struct { - This ManagedObjectReference `xml:"_this"` - ConfigInfo HostEsxAgentHostManagerConfigInfo `xml:"configInfo"` -} - -func init() { - t["EsxAgentHostManagerUpdateConfigRequestType"] = reflect.TypeOf((*EsxAgentHostManagerUpdateConfigRequestType)(nil)).Elem() -} - -type EsxAgentHostManagerUpdateConfigResponse struct { -} - -type EvacuateVsanNodeRequestType struct { - This ManagedObjectReference `xml:"_this"` - MaintenanceSpec HostMaintenanceSpec `xml:"maintenanceSpec"` - Timeout int32 `xml:"timeout"` -} - -func init() { - t["EvacuateVsanNodeRequestType"] = reflect.TypeOf((*EvacuateVsanNodeRequestType)(nil)).Elem() -} - -type EvacuateVsanNode_Task EvacuateVsanNodeRequestType - -func init() { - t["EvacuateVsanNode_Task"] = reflect.TypeOf((*EvacuateVsanNode_Task)(nil)).Elem() -} - -type EvacuateVsanNode_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type EvaluationLicenseSource struct { - LicenseSource - - RemainingHours int64 `xml:"remainingHours,omitempty"` -} - -func init() { - t["EvaluationLicenseSource"] = reflect.TypeOf((*EvaluationLicenseSource)(nil)).Elem() -} - -type EvcManager EvcManagerRequestType - -func init() { - t["EvcManager"] = reflect.TypeOf((*EvcManager)(nil)).Elem() -} - -type EvcManagerRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["EvcManagerRequestType"] = reflect.TypeOf((*EvcManagerRequestType)(nil)).Elem() -} - -type EvcManagerResponse struct { - Returnval *ManagedObjectReference `xml:"returnval,omitempty"` -} - -type Event struct { - DynamicData - - Key int32 `xml:"key"` - ChainId int32 `xml:"chainId"` - CreatedTime time.Time `xml:"createdTime"` - UserName string `xml:"userName"` - Datacenter *DatacenterEventArgument `xml:"datacenter,omitempty"` - ComputeResource *ComputeResourceEventArgument `xml:"computeResource,omitempty"` - Host *HostEventArgument `xml:"host,omitempty"` - Vm *VmEventArgument `xml:"vm,omitempty"` - Ds *DatastoreEventArgument `xml:"ds,omitempty"` - Net *NetworkEventArgument `xml:"net,omitempty"` - Dvs *DvsEventArgument `xml:"dvs,omitempty"` - FullFormattedMessage string `xml:"fullFormattedMessage,omitempty"` - ChangeTag string `xml:"changeTag,omitempty"` -} - -func init() { - t["Event"] = reflect.TypeOf((*Event)(nil)).Elem() -} - -type EventAlarmExpression struct { - AlarmExpression - - Comparisons []EventAlarmExpressionComparison `xml:"comparisons,omitempty"` - EventType string `xml:"eventType"` - EventTypeId string `xml:"eventTypeId,omitempty"` - ObjectType string `xml:"objectType,omitempty"` - Status ManagedEntityStatus `xml:"status,omitempty"` -} - -func init() { - t["EventAlarmExpression"] = reflect.TypeOf((*EventAlarmExpression)(nil)).Elem() -} - -type EventAlarmExpressionComparison struct { - DynamicData - - AttributeName string `xml:"attributeName"` - Operator string `xml:"operator"` - Value string `xml:"value"` -} - -func init() { - t["EventAlarmExpressionComparison"] = reflect.TypeOf((*EventAlarmExpressionComparison)(nil)).Elem() -} - -type EventArgDesc struct { - DynamicData - - Name string `xml:"name"` - Type string `xml:"type"` - Description BaseElementDescription `xml:"description,omitempty,typeattr"` -} - -func init() { - t["EventArgDesc"] = reflect.TypeOf((*EventArgDesc)(nil)).Elem() -} - -type EventArgument struct { - DynamicData -} - -func init() { - t["EventArgument"] = reflect.TypeOf((*EventArgument)(nil)).Elem() -} - -type EventDescription struct { - DynamicData - - Category []BaseElementDescription `xml:"category,typeattr"` - EventInfo []EventDescriptionEventDetail `xml:"eventInfo"` - EnumeratedTypes []EnumDescription `xml:"enumeratedTypes,omitempty"` -} - -func init() { - t["EventDescription"] = reflect.TypeOf((*EventDescription)(nil)).Elem() -} - -type EventDescriptionEventDetail struct { - DynamicData - - Key string `xml:"key"` - Description string `xml:"description,omitempty"` - Category string `xml:"category"` - FormatOnDatacenter string `xml:"formatOnDatacenter"` - FormatOnComputeResource string `xml:"formatOnComputeResource"` - FormatOnHost string `xml:"formatOnHost"` - FormatOnVm string `xml:"formatOnVm"` - FullFormat string `xml:"fullFormat"` - LongDescription string `xml:"longDescription,omitempty"` -} - -func init() { - t["EventDescriptionEventDetail"] = reflect.TypeOf((*EventDescriptionEventDetail)(nil)).Elem() -} - -type EventEx struct { - Event - - EventTypeId string `xml:"eventTypeId"` - Severity string `xml:"severity,omitempty"` - Message string `xml:"message,omitempty"` - Arguments []KeyAnyValue `xml:"arguments,omitempty"` - ObjectId string `xml:"objectId,omitempty"` - ObjectType string `xml:"objectType,omitempty"` - ObjectName string `xml:"objectName,omitempty"` - Fault *LocalizedMethodFault `xml:"fault,omitempty"` -} - -func init() { - t["EventEx"] = reflect.TypeOf((*EventEx)(nil)).Elem() -} - -type EventFilterSpec struct { - DynamicData - - Entity *EventFilterSpecByEntity `xml:"entity,omitempty"` - Time *EventFilterSpecByTime `xml:"time,omitempty"` - UserName *EventFilterSpecByUsername `xml:"userName,omitempty"` - EventChainId int32 `xml:"eventChainId,omitempty"` - Alarm *ManagedObjectReference `xml:"alarm,omitempty"` - ScheduledTask *ManagedObjectReference `xml:"scheduledTask,omitempty"` - DisableFullMessage *bool `xml:"disableFullMessage"` - Category []string `xml:"category,omitempty"` - Type []string `xml:"type,omitempty"` - Tag []string `xml:"tag,omitempty"` - EventTypeId []string `xml:"eventTypeId,omitempty"` - MaxCount int32 `xml:"maxCount,omitempty"` -} - -func init() { - t["EventFilterSpec"] = reflect.TypeOf((*EventFilterSpec)(nil)).Elem() -} - -type EventFilterSpecByEntity struct { - DynamicData - - Entity ManagedObjectReference `xml:"entity"` - Recursion EventFilterSpecRecursionOption `xml:"recursion"` -} - -func init() { - t["EventFilterSpecByEntity"] = reflect.TypeOf((*EventFilterSpecByEntity)(nil)).Elem() -} - -type EventFilterSpecByTime struct { - DynamicData - - BeginTime *time.Time `xml:"beginTime"` - EndTime *time.Time `xml:"endTime"` -} - -func init() { - t["EventFilterSpecByTime"] = reflect.TypeOf((*EventFilterSpecByTime)(nil)).Elem() -} - -type EventFilterSpecByUsername struct { - DynamicData - - SystemUser bool `xml:"systemUser"` - UserList []string `xml:"userList,omitempty"` -} - -func init() { - t["EventFilterSpecByUsername"] = reflect.TypeOf((*EventFilterSpecByUsername)(nil)).Elem() -} - -type ExecuteHostProfile ExecuteHostProfileRequestType - -func init() { - t["ExecuteHostProfile"] = reflect.TypeOf((*ExecuteHostProfile)(nil)).Elem() -} - -type ExecuteHostProfileRequestType struct { - This ManagedObjectReference `xml:"_this"` - Host ManagedObjectReference `xml:"host"` - DeferredParam []ProfileDeferredPolicyOptionParameter `xml:"deferredParam,omitempty"` -} - -func init() { - t["ExecuteHostProfileRequestType"] = reflect.TypeOf((*ExecuteHostProfileRequestType)(nil)).Elem() -} - -type ExecuteHostProfileResponse struct { - Returnval BaseProfileExecuteResult `xml:"returnval,typeattr"` -} - -type ExecuteSimpleCommand ExecuteSimpleCommandRequestType - -func init() { - t["ExecuteSimpleCommand"] = reflect.TypeOf((*ExecuteSimpleCommand)(nil)).Elem() -} - -type ExecuteSimpleCommandRequestType struct { - This ManagedObjectReference `xml:"_this"` - Arguments []string `xml:"arguments,omitempty"` -} - -func init() { - t["ExecuteSimpleCommandRequestType"] = reflect.TypeOf((*ExecuteSimpleCommandRequestType)(nil)).Elem() -} - -type ExecuteSimpleCommandResponse struct { - Returnval string `xml:"returnval"` -} - -type ExitLockdownMode ExitLockdownModeRequestType - -func init() { - t["ExitLockdownMode"] = reflect.TypeOf((*ExitLockdownMode)(nil)).Elem() -} - -type ExitLockdownModeRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["ExitLockdownModeRequestType"] = reflect.TypeOf((*ExitLockdownModeRequestType)(nil)).Elem() -} - -type ExitLockdownModeResponse struct { -} - -type ExitMaintenanceModeEvent struct { - HostEvent -} - -func init() { - t["ExitMaintenanceModeEvent"] = reflect.TypeOf((*ExitMaintenanceModeEvent)(nil)).Elem() -} - -type ExitMaintenanceModeRequestType struct { - This ManagedObjectReference `xml:"_this"` - Timeout int32 `xml:"timeout"` -} - -func init() { - t["ExitMaintenanceModeRequestType"] = reflect.TypeOf((*ExitMaintenanceModeRequestType)(nil)).Elem() -} - -type ExitMaintenanceMode_Task ExitMaintenanceModeRequestType - -func init() { - t["ExitMaintenanceMode_Task"] = reflect.TypeOf((*ExitMaintenanceMode_Task)(nil)).Elem() -} - -type ExitMaintenanceMode_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ExitStandbyModeFailedEvent struct { - HostEvent -} - -func init() { - t["ExitStandbyModeFailedEvent"] = reflect.TypeOf((*ExitStandbyModeFailedEvent)(nil)).Elem() -} - -type ExitedStandbyModeEvent struct { - HostEvent -} - -func init() { - t["ExitedStandbyModeEvent"] = reflect.TypeOf((*ExitedStandbyModeEvent)(nil)).Elem() -} - -type ExitingStandbyModeEvent struct { - HostEvent -} - -func init() { - t["ExitingStandbyModeEvent"] = reflect.TypeOf((*ExitingStandbyModeEvent)(nil)).Elem() -} - -type ExpandVmfsDatastore ExpandVmfsDatastoreRequestType - -func init() { - t["ExpandVmfsDatastore"] = reflect.TypeOf((*ExpandVmfsDatastore)(nil)).Elem() -} - -type ExpandVmfsDatastoreRequestType struct { - This ManagedObjectReference `xml:"_this"` - Datastore ManagedObjectReference `xml:"datastore"` - Spec VmfsDatastoreExpandSpec `xml:"spec"` -} - -func init() { - t["ExpandVmfsDatastoreRequestType"] = reflect.TypeOf((*ExpandVmfsDatastoreRequestType)(nil)).Elem() -} - -type ExpandVmfsDatastoreResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ExpandVmfsExtent ExpandVmfsExtentRequestType - -func init() { - t["ExpandVmfsExtent"] = reflect.TypeOf((*ExpandVmfsExtent)(nil)).Elem() -} - -type ExpandVmfsExtentRequestType struct { - This ManagedObjectReference `xml:"_this"` - VmfsPath string `xml:"vmfsPath"` - Extent HostScsiDiskPartition `xml:"extent"` -} - -func init() { - t["ExpandVmfsExtentRequestType"] = reflect.TypeOf((*ExpandVmfsExtentRequestType)(nil)).Elem() -} - -type ExpandVmfsExtentResponse struct { -} - -type ExpiredAddonLicense struct { - ExpiredFeatureLicense -} - -func init() { - t["ExpiredAddonLicense"] = reflect.TypeOf((*ExpiredAddonLicense)(nil)).Elem() -} - -type ExpiredAddonLicenseFault ExpiredAddonLicense - -func init() { - t["ExpiredAddonLicenseFault"] = reflect.TypeOf((*ExpiredAddonLicenseFault)(nil)).Elem() -} - -type ExpiredEditionLicense struct { - ExpiredFeatureLicense -} - -func init() { - t["ExpiredEditionLicense"] = reflect.TypeOf((*ExpiredEditionLicense)(nil)).Elem() -} - -type ExpiredEditionLicenseFault ExpiredEditionLicense - -func init() { - t["ExpiredEditionLicenseFault"] = reflect.TypeOf((*ExpiredEditionLicenseFault)(nil)).Elem() -} - -type ExpiredFeatureLicense struct { - NotEnoughLicenses - - Feature string `xml:"feature"` - Count int32 `xml:"count"` - ExpirationDate time.Time `xml:"expirationDate"` -} - -func init() { - t["ExpiredFeatureLicense"] = reflect.TypeOf((*ExpiredFeatureLicense)(nil)).Elem() -} - -type ExpiredFeatureLicenseFault BaseExpiredFeatureLicense - -func init() { - t["ExpiredFeatureLicenseFault"] = reflect.TypeOf((*ExpiredFeatureLicenseFault)(nil)).Elem() -} - -type ExportAnswerFileRequestType struct { - This ManagedObjectReference `xml:"_this"` - Host ManagedObjectReference `xml:"host"` -} - -func init() { - t["ExportAnswerFileRequestType"] = reflect.TypeOf((*ExportAnswerFileRequestType)(nil)).Elem() -} - -type ExportAnswerFile_Task ExportAnswerFileRequestType - -func init() { - t["ExportAnswerFile_Task"] = reflect.TypeOf((*ExportAnswerFile_Task)(nil)).Elem() -} - -type ExportAnswerFile_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ExportProfile ExportProfileRequestType - -func init() { - t["ExportProfile"] = reflect.TypeOf((*ExportProfile)(nil)).Elem() -} - -type ExportProfileRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["ExportProfileRequestType"] = reflect.TypeOf((*ExportProfileRequestType)(nil)).Elem() -} - -type ExportProfileResponse struct { - Returnval string `xml:"returnval"` -} - -type ExportSnapshot ExportSnapshotRequestType - -func init() { - t["ExportSnapshot"] = reflect.TypeOf((*ExportSnapshot)(nil)).Elem() -} - -type ExportSnapshotRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["ExportSnapshotRequestType"] = reflect.TypeOf((*ExportSnapshotRequestType)(nil)).Elem() -} - -type ExportSnapshotResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ExportVApp ExportVAppRequestType - -func init() { - t["ExportVApp"] = reflect.TypeOf((*ExportVApp)(nil)).Elem() -} - -type ExportVAppRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["ExportVAppRequestType"] = reflect.TypeOf((*ExportVAppRequestType)(nil)).Elem() -} - -type ExportVAppResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ExportVm ExportVmRequestType - -func init() { - t["ExportVm"] = reflect.TypeOf((*ExportVm)(nil)).Elem() -} - -type ExportVmRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["ExportVmRequestType"] = reflect.TypeOf((*ExportVmRequestType)(nil)).Elem() -} - -type ExportVmResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ExtExtendedProductInfo struct { - DynamicData - - CompanyUrl string `xml:"companyUrl,omitempty"` - ProductUrl string `xml:"productUrl,omitempty"` - ManagementUrl string `xml:"managementUrl,omitempty"` - Self *ManagedObjectReference `xml:"self,omitempty"` -} - -func init() { - t["ExtExtendedProductInfo"] = reflect.TypeOf((*ExtExtendedProductInfo)(nil)).Elem() -} - -type ExtManagedEntityInfo struct { - DynamicData - - Type string `xml:"type"` - SmallIconUrl string `xml:"smallIconUrl,omitempty"` - IconUrl string `xml:"iconUrl,omitempty"` - Description string `xml:"description,omitempty"` -} - -func init() { - t["ExtManagedEntityInfo"] = reflect.TypeOf((*ExtManagedEntityInfo)(nil)).Elem() -} - -type ExtSolutionManagerInfo struct { - DynamicData - - Tab []ExtSolutionManagerInfoTabInfo `xml:"tab,omitempty"` - SmallIconUrl string `xml:"smallIconUrl,omitempty"` -} - -func init() { - t["ExtSolutionManagerInfo"] = reflect.TypeOf((*ExtSolutionManagerInfo)(nil)).Elem() -} - -type ExtSolutionManagerInfoTabInfo struct { - DynamicData - - Label string `xml:"label"` - Url string `xml:"url"` -} - -func init() { - t["ExtSolutionManagerInfoTabInfo"] = reflect.TypeOf((*ExtSolutionManagerInfoTabInfo)(nil)).Elem() -} - -type ExtendDiskRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id ID `xml:"id"` - Datastore ManagedObjectReference `xml:"datastore"` - NewCapacityInMB int64 `xml:"newCapacityInMB"` -} - -func init() { - t["ExtendDiskRequestType"] = reflect.TypeOf((*ExtendDiskRequestType)(nil)).Elem() -} - -type ExtendDisk_Task ExtendDiskRequestType - -func init() { - t["ExtendDisk_Task"] = reflect.TypeOf((*ExtendDisk_Task)(nil)).Elem() -} - -type ExtendDisk_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ExtendHCIRequestType struct { - This ManagedObjectReference `xml:"_this"` - HostInputs []ClusterComputeResourceHostConfigurationInput `xml:"hostInputs,omitempty"` - VSanConfigSpec *SDDCBase `xml:"vSanConfigSpec,omitempty"` -} - -func init() { - t["ExtendHCIRequestType"] = reflect.TypeOf((*ExtendHCIRequestType)(nil)).Elem() -} - -type ExtendHCI_Task ExtendHCIRequestType - -func init() { - t["ExtendHCI_Task"] = reflect.TypeOf((*ExtendHCI_Task)(nil)).Elem() -} - -type ExtendHCI_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ExtendVffs ExtendVffsRequestType - -func init() { - t["ExtendVffs"] = reflect.TypeOf((*ExtendVffs)(nil)).Elem() -} - -type ExtendVffsRequestType struct { - This ManagedObjectReference `xml:"_this"` - VffsPath string `xml:"vffsPath"` - DevicePath string `xml:"devicePath"` - Spec *HostDiskPartitionSpec `xml:"spec,omitempty"` -} - -func init() { - t["ExtendVffsRequestType"] = reflect.TypeOf((*ExtendVffsRequestType)(nil)).Elem() -} - -type ExtendVffsResponse struct { -} - -type ExtendVirtualDiskRequestType struct { - This ManagedObjectReference `xml:"_this"` - Name string `xml:"name"` - Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"` - NewCapacityKb int64 `xml:"newCapacityKb"` - EagerZero *bool `xml:"eagerZero"` -} - -func init() { - t["ExtendVirtualDiskRequestType"] = reflect.TypeOf((*ExtendVirtualDiskRequestType)(nil)).Elem() -} - -type ExtendVirtualDisk_Task ExtendVirtualDiskRequestType - -func init() { - t["ExtendVirtualDisk_Task"] = reflect.TypeOf((*ExtendVirtualDisk_Task)(nil)).Elem() -} - -type ExtendVirtualDisk_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ExtendVmfsDatastore ExtendVmfsDatastoreRequestType - -func init() { - t["ExtendVmfsDatastore"] = reflect.TypeOf((*ExtendVmfsDatastore)(nil)).Elem() -} - -type ExtendVmfsDatastoreRequestType struct { - This ManagedObjectReference `xml:"_this"` - Datastore ManagedObjectReference `xml:"datastore"` - Spec VmfsDatastoreExtendSpec `xml:"spec"` -} - -func init() { - t["ExtendVmfsDatastoreRequestType"] = reflect.TypeOf((*ExtendVmfsDatastoreRequestType)(nil)).Elem() -} - -type ExtendVmfsDatastoreResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ExtendedDescription struct { - Description - - MessageCatalogKeyPrefix string `xml:"messageCatalogKeyPrefix"` - MessageArg []KeyAnyValue `xml:"messageArg,omitempty"` -} - -func init() { - t["ExtendedDescription"] = reflect.TypeOf((*ExtendedDescription)(nil)).Elem() -} - -type ExtendedElementDescription struct { - ElementDescription - - MessageCatalogKeyPrefix string `xml:"messageCatalogKeyPrefix"` - MessageArg []KeyAnyValue `xml:"messageArg,omitempty"` -} - -func init() { - t["ExtendedElementDescription"] = reflect.TypeOf((*ExtendedElementDescription)(nil)).Elem() -} - -type ExtendedEvent struct { - GeneralEvent - - EventTypeId string `xml:"eventTypeId"` - ManagedObject ManagedObjectReference `xml:"managedObject"` - Data []ExtendedEventPair `xml:"data,omitempty"` -} - -func init() { - t["ExtendedEvent"] = reflect.TypeOf((*ExtendedEvent)(nil)).Elem() -} - -type ExtendedEventPair struct { - DynamicData - - Key string `xml:"key"` - Value string `xml:"value"` -} - -func init() { - t["ExtendedEventPair"] = reflect.TypeOf((*ExtendedEventPair)(nil)).Elem() -} - -type ExtendedFault struct { - VimFault - - FaultTypeId string `xml:"faultTypeId"` - Data []KeyValue `xml:"data,omitempty"` -} - -func init() { - t["ExtendedFault"] = reflect.TypeOf((*ExtendedFault)(nil)).Elem() -} - -type ExtendedFaultFault ExtendedFault - -func init() { - t["ExtendedFaultFault"] = reflect.TypeOf((*ExtendedFaultFault)(nil)).Elem() -} - -type Extension struct { - DynamicData - - Description BaseDescription `xml:"description,typeattr"` - Key string `xml:"key"` - Company string `xml:"company,omitempty"` - Type string `xml:"type,omitempty"` - Version string `xml:"version"` - SubjectName string `xml:"subjectName,omitempty"` - Server []ExtensionServerInfo `xml:"server,omitempty"` - Client []ExtensionClientInfo `xml:"client,omitempty"` - TaskList []ExtensionTaskTypeInfo `xml:"taskList,omitempty"` - EventList []ExtensionEventTypeInfo `xml:"eventList,omitempty"` - FaultList []ExtensionFaultTypeInfo `xml:"faultList,omitempty"` - PrivilegeList []ExtensionPrivilegeInfo `xml:"privilegeList,omitempty"` - ResourceList []ExtensionResourceInfo `xml:"resourceList,omitempty"` - LastHeartbeatTime time.Time `xml:"lastHeartbeatTime"` - HealthInfo *ExtensionHealthInfo `xml:"healthInfo,omitempty"` - OvfConsumerInfo *ExtensionOvfConsumerInfo `xml:"ovfConsumerInfo,omitempty"` - ExtendedProductInfo *ExtExtendedProductInfo `xml:"extendedProductInfo,omitempty"` - ManagedEntityInfo []ExtManagedEntityInfo `xml:"managedEntityInfo,omitempty"` - ShownInSolutionManager *bool `xml:"shownInSolutionManager"` - SolutionManagerInfo *ExtSolutionManagerInfo `xml:"solutionManagerInfo,omitempty"` -} - -func init() { - t["Extension"] = reflect.TypeOf((*Extension)(nil)).Elem() -} - -type ExtensionClientInfo struct { - DynamicData - - Version string `xml:"version"` - Description BaseDescription `xml:"description,typeattr"` - Company string `xml:"company"` - Type string `xml:"type"` - Url string `xml:"url"` -} - -func init() { - t["ExtensionClientInfo"] = reflect.TypeOf((*ExtensionClientInfo)(nil)).Elem() -} - -type ExtensionEventTypeInfo struct { - DynamicData - - EventID string `xml:"eventID"` - EventTypeSchema string `xml:"eventTypeSchema,omitempty"` -} - -func init() { - t["ExtensionEventTypeInfo"] = reflect.TypeOf((*ExtensionEventTypeInfo)(nil)).Elem() -} - -type ExtensionFaultTypeInfo struct { - DynamicData - - FaultID string `xml:"faultID"` -} - -func init() { - t["ExtensionFaultTypeInfo"] = reflect.TypeOf((*ExtensionFaultTypeInfo)(nil)).Elem() -} - -type ExtensionHealthInfo struct { - DynamicData - - Url string `xml:"url"` -} - -func init() { - t["ExtensionHealthInfo"] = reflect.TypeOf((*ExtensionHealthInfo)(nil)).Elem() -} - -type ExtensionManagerIpAllocationUsage struct { - DynamicData - - ExtensionKey string `xml:"extensionKey"` - NumAddresses int32 `xml:"numAddresses"` -} - -func init() { - t["ExtensionManagerIpAllocationUsage"] = reflect.TypeOf((*ExtensionManagerIpAllocationUsage)(nil)).Elem() -} - -type ExtensionOvfConsumerInfo struct { - DynamicData - - CallbackUrl string `xml:"callbackUrl"` - SectionType []string `xml:"sectionType"` -} - -func init() { - t["ExtensionOvfConsumerInfo"] = reflect.TypeOf((*ExtensionOvfConsumerInfo)(nil)).Elem() -} - -type ExtensionPrivilegeInfo struct { - DynamicData - - PrivID string `xml:"privID"` - PrivGroupName string `xml:"privGroupName"` -} - -func init() { - t["ExtensionPrivilegeInfo"] = reflect.TypeOf((*ExtensionPrivilegeInfo)(nil)).Elem() -} - -type ExtensionResourceInfo struct { - DynamicData - - Locale string `xml:"locale"` - Module string `xml:"module"` - Data []KeyValue `xml:"data"` -} - -func init() { - t["ExtensionResourceInfo"] = reflect.TypeOf((*ExtensionResourceInfo)(nil)).Elem() -} - -type ExtensionServerInfo struct { - DynamicData - - Url string `xml:"url"` - Description BaseDescription `xml:"description,typeattr"` - Company string `xml:"company"` - Type string `xml:"type"` - AdminEmail []string `xml:"adminEmail"` - ServerThumbprint string `xml:"serverThumbprint,omitempty"` -} - -func init() { - t["ExtensionServerInfo"] = reflect.TypeOf((*ExtensionServerInfo)(nil)).Elem() -} - -type ExtensionTaskTypeInfo struct { - DynamicData - - TaskID string `xml:"taskID"` -} - -func init() { - t["ExtensionTaskTypeInfo"] = reflect.TypeOf((*ExtensionTaskTypeInfo)(nil)).Elem() -} - -type ExtractOvfEnvironment ExtractOvfEnvironmentRequestType - -func init() { - t["ExtractOvfEnvironment"] = reflect.TypeOf((*ExtractOvfEnvironment)(nil)).Elem() -} - -type ExtractOvfEnvironmentRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["ExtractOvfEnvironmentRequestType"] = reflect.TypeOf((*ExtractOvfEnvironmentRequestType)(nil)).Elem() -} - -type ExtractOvfEnvironmentResponse struct { - Returnval string `xml:"returnval"` -} - -type FailToEnableSPBM struct { - NotEnoughLicenses - - Cs ManagedObjectReference `xml:"cs"` - CsName string `xml:"csName"` - HostLicenseStates []ComputeResourceHostSPBMLicenseInfo `xml:"hostLicenseStates"` -} - -func init() { - t["FailToEnableSPBM"] = reflect.TypeOf((*FailToEnableSPBM)(nil)).Elem() -} - -type FailToEnableSPBMFault FailToEnableSPBM - -func init() { - t["FailToEnableSPBMFault"] = reflect.TypeOf((*FailToEnableSPBMFault)(nil)).Elem() -} - -type FailToLockFaultToleranceVMs struct { - RuntimeFault - - VmName string `xml:"vmName"` - Vm ManagedObjectReference `xml:"vm"` - AlreadyLockedVm ManagedObjectReference `xml:"alreadyLockedVm"` -} - -func init() { - t["FailToLockFaultToleranceVMs"] = reflect.TypeOf((*FailToLockFaultToleranceVMs)(nil)).Elem() -} - -type FailToLockFaultToleranceVMsFault FailToLockFaultToleranceVMs - -func init() { - t["FailToLockFaultToleranceVMsFault"] = reflect.TypeOf((*FailToLockFaultToleranceVMsFault)(nil)).Elem() -} - -type FailoverLevelRestored struct { - ClusterEvent -} - -func init() { - t["FailoverLevelRestored"] = reflect.TypeOf((*FailoverLevelRestored)(nil)).Elem() -} - -type FailoverNodeInfo struct { - DynamicData - - ClusterIpSettings CustomizationIPSettings `xml:"clusterIpSettings"` - FailoverIp *CustomizationIPSettings `xml:"failoverIp,omitempty"` - BiosUuid string `xml:"biosUuid,omitempty"` -} - -func init() { - t["FailoverNodeInfo"] = reflect.TypeOf((*FailoverNodeInfo)(nil)).Elem() -} - -type FaultDomainId struct { - DynamicData - - Id string `xml:"id"` -} - -func init() { - t["FaultDomainId"] = reflect.TypeOf((*FaultDomainId)(nil)).Elem() -} - -type FaultToleranceAntiAffinityViolated struct { - MigrationFault - - HostName string `xml:"hostName"` - Host ManagedObjectReference `xml:"host"` -} - -func init() { - t["FaultToleranceAntiAffinityViolated"] = reflect.TypeOf((*FaultToleranceAntiAffinityViolated)(nil)).Elem() -} - -type FaultToleranceAntiAffinityViolatedFault FaultToleranceAntiAffinityViolated - -func init() { - t["FaultToleranceAntiAffinityViolatedFault"] = reflect.TypeOf((*FaultToleranceAntiAffinityViolatedFault)(nil)).Elem() -} - -type FaultToleranceCannotEditMem struct { - VmConfigFault - - VmName string `xml:"vmName"` - Vm ManagedObjectReference `xml:"vm"` -} - -func init() { - t["FaultToleranceCannotEditMem"] = reflect.TypeOf((*FaultToleranceCannotEditMem)(nil)).Elem() -} - -type FaultToleranceCannotEditMemFault FaultToleranceCannotEditMem - -func init() { - t["FaultToleranceCannotEditMemFault"] = reflect.TypeOf((*FaultToleranceCannotEditMemFault)(nil)).Elem() -} - -type FaultToleranceConfigInfo struct { - DynamicData - - Role int32 `xml:"role"` - InstanceUuids []string `xml:"instanceUuids"` - ConfigPaths []string `xml:"configPaths"` - Orphaned *bool `xml:"orphaned"` -} - -func init() { - t["FaultToleranceConfigInfo"] = reflect.TypeOf((*FaultToleranceConfigInfo)(nil)).Elem() -} - -type FaultToleranceConfigSpec struct { - DynamicData - - MetaDataPath *FaultToleranceMetaSpec `xml:"metaDataPath,omitempty"` - SecondaryVmSpec *FaultToleranceVMConfigSpec `xml:"secondaryVmSpec,omitempty"` -} - -func init() { - t["FaultToleranceConfigSpec"] = reflect.TypeOf((*FaultToleranceConfigSpec)(nil)).Elem() -} - -type FaultToleranceCpuIncompatible struct { - CpuIncompatible - - Model bool `xml:"model"` - Family bool `xml:"family"` - Stepping bool `xml:"stepping"` -} - -func init() { - t["FaultToleranceCpuIncompatible"] = reflect.TypeOf((*FaultToleranceCpuIncompatible)(nil)).Elem() -} - -type FaultToleranceCpuIncompatibleFault FaultToleranceCpuIncompatible - -func init() { - t["FaultToleranceCpuIncompatibleFault"] = reflect.TypeOf((*FaultToleranceCpuIncompatibleFault)(nil)).Elem() -} - -type FaultToleranceDiskSpec struct { - DynamicData - - Disk BaseVirtualDevice `xml:"disk,typeattr"` - Datastore ManagedObjectReference `xml:"datastore"` -} - -func init() { - t["FaultToleranceDiskSpec"] = reflect.TypeOf((*FaultToleranceDiskSpec)(nil)).Elem() -} - -type FaultToleranceMetaSpec struct { - DynamicData - - MetaDataDatastore ManagedObjectReference `xml:"metaDataDatastore"` -} - -func init() { - t["FaultToleranceMetaSpec"] = reflect.TypeOf((*FaultToleranceMetaSpec)(nil)).Elem() -} - -type FaultToleranceNeedsThickDisk struct { - MigrationFault - - VmName string `xml:"vmName"` -} - -func init() { - t["FaultToleranceNeedsThickDisk"] = reflect.TypeOf((*FaultToleranceNeedsThickDisk)(nil)).Elem() -} - -type FaultToleranceNeedsThickDiskFault FaultToleranceNeedsThickDisk - -func init() { - t["FaultToleranceNeedsThickDiskFault"] = reflect.TypeOf((*FaultToleranceNeedsThickDiskFault)(nil)).Elem() -} - -type FaultToleranceNotLicensed struct { - VmFaultToleranceIssue - - HostName string `xml:"hostName,omitempty"` -} - -func init() { - t["FaultToleranceNotLicensed"] = reflect.TypeOf((*FaultToleranceNotLicensed)(nil)).Elem() -} - -type FaultToleranceNotLicensedFault FaultToleranceNotLicensed - -func init() { - t["FaultToleranceNotLicensedFault"] = reflect.TypeOf((*FaultToleranceNotLicensedFault)(nil)).Elem() -} - -type FaultToleranceNotSameBuild struct { - MigrationFault - - Build string `xml:"build"` -} - -func init() { - t["FaultToleranceNotSameBuild"] = reflect.TypeOf((*FaultToleranceNotSameBuild)(nil)).Elem() -} - -type FaultToleranceNotSameBuildFault FaultToleranceNotSameBuild - -func init() { - t["FaultToleranceNotSameBuildFault"] = reflect.TypeOf((*FaultToleranceNotSameBuildFault)(nil)).Elem() -} - -type FaultTolerancePrimaryConfigInfo struct { - FaultToleranceConfigInfo - - Secondaries []ManagedObjectReference `xml:"secondaries"` -} - -func init() { - t["FaultTolerancePrimaryConfigInfo"] = reflect.TypeOf((*FaultTolerancePrimaryConfigInfo)(nil)).Elem() -} - -type FaultTolerancePrimaryPowerOnNotAttempted struct { - VmFaultToleranceIssue - - SecondaryVm ManagedObjectReference `xml:"secondaryVm"` - PrimaryVm ManagedObjectReference `xml:"primaryVm"` -} - -func init() { - t["FaultTolerancePrimaryPowerOnNotAttempted"] = reflect.TypeOf((*FaultTolerancePrimaryPowerOnNotAttempted)(nil)).Elem() -} - -type FaultTolerancePrimaryPowerOnNotAttemptedFault FaultTolerancePrimaryPowerOnNotAttempted - -func init() { - t["FaultTolerancePrimaryPowerOnNotAttemptedFault"] = reflect.TypeOf((*FaultTolerancePrimaryPowerOnNotAttemptedFault)(nil)).Elem() -} - -type FaultToleranceSecondaryConfigInfo struct { - FaultToleranceConfigInfo - - PrimaryVM ManagedObjectReference `xml:"primaryVM"` -} - -func init() { - t["FaultToleranceSecondaryConfigInfo"] = reflect.TypeOf((*FaultToleranceSecondaryConfigInfo)(nil)).Elem() -} - -type FaultToleranceSecondaryOpResult struct { - DynamicData - - Vm ManagedObjectReference `xml:"vm"` - PowerOnAttempted bool `xml:"powerOnAttempted"` - PowerOnResult *ClusterPowerOnVmResult `xml:"powerOnResult,omitempty"` -} - -func init() { - t["FaultToleranceSecondaryOpResult"] = reflect.TypeOf((*FaultToleranceSecondaryOpResult)(nil)).Elem() -} - -type FaultToleranceVMConfigSpec struct { - DynamicData - - VmConfig *ManagedObjectReference `xml:"vmConfig,omitempty"` - Disks []FaultToleranceDiskSpec `xml:"disks,omitempty"` -} - -func init() { - t["FaultToleranceVMConfigSpec"] = reflect.TypeOf((*FaultToleranceVMConfigSpec)(nil)).Elem() -} - -type FaultToleranceVmNotDasProtected struct { - VimFault - - Vm ManagedObjectReference `xml:"vm"` - VmName string `xml:"vmName"` -} - -func init() { - t["FaultToleranceVmNotDasProtected"] = reflect.TypeOf((*FaultToleranceVmNotDasProtected)(nil)).Elem() -} - -type FaultToleranceVmNotDasProtectedFault FaultToleranceVmNotDasProtected - -func init() { - t["FaultToleranceVmNotDasProtectedFault"] = reflect.TypeOf((*FaultToleranceVmNotDasProtectedFault)(nil)).Elem() -} - -type FaultsByHost struct { - DynamicData - - Host ManagedObjectReference `xml:"host"` - Faults []LocalizedMethodFault `xml:"faults,omitempty"` -} - -func init() { - t["FaultsByHost"] = reflect.TypeOf((*FaultsByHost)(nil)).Elem() -} - -type FaultsByVM struct { - DynamicData - - Vm ManagedObjectReference `xml:"vm"` - Faults []LocalizedMethodFault `xml:"faults,omitempty"` -} - -func init() { - t["FaultsByVM"] = reflect.TypeOf((*FaultsByVM)(nil)).Elem() -} - -type FcoeConfig struct { - DynamicData - - PriorityClass int32 `xml:"priorityClass"` - SourceMac string `xml:"sourceMac"` - VlanRange []FcoeConfigVlanRange `xml:"vlanRange"` - Capabilities FcoeConfigFcoeCapabilities `xml:"capabilities"` - FcoeActive bool `xml:"fcoeActive"` -} - -func init() { - t["FcoeConfig"] = reflect.TypeOf((*FcoeConfig)(nil)).Elem() -} - -type FcoeConfigFcoeCapabilities struct { - DynamicData - - PriorityClass bool `xml:"priorityClass"` - SourceMacAddress bool `xml:"sourceMacAddress"` - VlanRange bool `xml:"vlanRange"` -} - -func init() { - t["FcoeConfigFcoeCapabilities"] = reflect.TypeOf((*FcoeConfigFcoeCapabilities)(nil)).Elem() -} - -type FcoeConfigFcoeSpecification struct { - DynamicData - - UnderlyingPnic string `xml:"underlyingPnic"` - PriorityClass int32 `xml:"priorityClass,omitempty"` - SourceMac string `xml:"sourceMac,omitempty"` - VlanRange []FcoeConfigVlanRange `xml:"vlanRange,omitempty"` -} - -func init() { - t["FcoeConfigFcoeSpecification"] = reflect.TypeOf((*FcoeConfigFcoeSpecification)(nil)).Elem() -} - -type FcoeConfigVlanRange struct { - DynamicData - - VlanLow int32 `xml:"vlanLow"` - VlanHigh int32 `xml:"vlanHigh"` -} - -func init() { - t["FcoeConfigVlanRange"] = reflect.TypeOf((*FcoeConfigVlanRange)(nil)).Elem() -} - -type FcoeFault struct { - VimFault -} - -func init() { - t["FcoeFault"] = reflect.TypeOf((*FcoeFault)(nil)).Elem() -} - -type FcoeFaultFault BaseFcoeFault - -func init() { - t["FcoeFaultFault"] = reflect.TypeOf((*FcoeFaultFault)(nil)).Elem() -} - -type FcoeFaultPnicHasNoPortSet struct { - FcoeFault - - NicDevice string `xml:"nicDevice"` -} - -func init() { - t["FcoeFaultPnicHasNoPortSet"] = reflect.TypeOf((*FcoeFaultPnicHasNoPortSet)(nil)).Elem() -} - -type FcoeFaultPnicHasNoPortSetFault FcoeFaultPnicHasNoPortSet - -func init() { - t["FcoeFaultPnicHasNoPortSetFault"] = reflect.TypeOf((*FcoeFaultPnicHasNoPortSetFault)(nil)).Elem() -} - -type FeatureEVCMode struct { - ElementDescription - - Mask []HostFeatureMask `xml:"mask,omitempty"` - Capability []HostFeatureCapability `xml:"capability,omitempty"` - Requirement []VirtualMachineFeatureRequirement `xml:"requirement,omitempty"` -} - -func init() { - t["FeatureEVCMode"] = reflect.TypeOf((*FeatureEVCMode)(nil)).Elem() -} - -type FeatureRequirementsNotMet struct { - VirtualHardwareCompatibilityIssue - - FeatureRequirement []VirtualMachineFeatureRequirement `xml:"featureRequirement,omitempty"` - Vm *ManagedObjectReference `xml:"vm,omitempty"` - Host *ManagedObjectReference `xml:"host,omitempty"` -} - -func init() { - t["FeatureRequirementsNotMet"] = reflect.TypeOf((*FeatureRequirementsNotMet)(nil)).Elem() -} - -type FeatureRequirementsNotMetFault FeatureRequirementsNotMet - -func init() { - t["FeatureRequirementsNotMetFault"] = reflect.TypeOf((*FeatureRequirementsNotMetFault)(nil)).Elem() -} - -type FetchAuditRecords FetchAuditRecordsRequestType - -func init() { - t["FetchAuditRecords"] = reflect.TypeOf((*FetchAuditRecords)(nil)).Elem() -} - -type FetchAuditRecordsRequestType struct { - This ManagedObjectReference `xml:"_this"` - Token string `xml:"token,omitempty"` -} - -func init() { - t["FetchAuditRecordsRequestType"] = reflect.TypeOf((*FetchAuditRecordsRequestType)(nil)).Elem() -} - -type FetchAuditRecordsResponse struct { - Returnval DiagnosticManagerAuditRecordResult `xml:"returnval"` -} - -type FetchDVPortKeys FetchDVPortKeysRequestType - -func init() { - t["FetchDVPortKeys"] = reflect.TypeOf((*FetchDVPortKeys)(nil)).Elem() -} - -type FetchDVPortKeysRequestType struct { - This ManagedObjectReference `xml:"_this"` - Criteria *DistributedVirtualSwitchPortCriteria `xml:"criteria,omitempty"` -} - -func init() { - t["FetchDVPortKeysRequestType"] = reflect.TypeOf((*FetchDVPortKeysRequestType)(nil)).Elem() -} - -type FetchDVPortKeysResponse struct { - Returnval []string `xml:"returnval,omitempty"` -} - -type FetchDVPorts FetchDVPortsRequestType - -func init() { - t["FetchDVPorts"] = reflect.TypeOf((*FetchDVPorts)(nil)).Elem() -} - -type FetchDVPortsRequestType struct { - This ManagedObjectReference `xml:"_this"` - Criteria *DistributedVirtualSwitchPortCriteria `xml:"criteria,omitempty"` -} - -func init() { - t["FetchDVPortsRequestType"] = reflect.TypeOf((*FetchDVPortsRequestType)(nil)).Elem() -} - -type FetchDVPortsResponse struct { - Returnval []DistributedVirtualPort `xml:"returnval,omitempty"` -} - -type FetchSystemEventLog FetchSystemEventLogRequestType - -func init() { - t["FetchSystemEventLog"] = reflect.TypeOf((*FetchSystemEventLog)(nil)).Elem() -} - -type FetchSystemEventLogRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["FetchSystemEventLogRequestType"] = reflect.TypeOf((*FetchSystemEventLogRequestType)(nil)).Elem() -} - -type FetchSystemEventLogResponse struct { - Returnval []SystemEventInfo `xml:"returnval,omitempty"` -} - -type FetchUserPrivilegeOnEntities FetchUserPrivilegeOnEntitiesRequestType - -func init() { - t["FetchUserPrivilegeOnEntities"] = reflect.TypeOf((*FetchUserPrivilegeOnEntities)(nil)).Elem() -} - -type FetchUserPrivilegeOnEntitiesRequestType struct { - This ManagedObjectReference `xml:"_this"` - Entities []ManagedObjectReference `xml:"entities"` - UserName string `xml:"userName"` -} - -func init() { - t["FetchUserPrivilegeOnEntitiesRequestType"] = reflect.TypeOf((*FetchUserPrivilegeOnEntitiesRequestType)(nil)).Elem() -} - -type FetchUserPrivilegeOnEntitiesResponse struct { - Returnval []UserPrivilegeResult `xml:"returnval,omitempty"` -} - -type FileAlreadyExists struct { - FileFault -} - -func init() { - t["FileAlreadyExists"] = reflect.TypeOf((*FileAlreadyExists)(nil)).Elem() -} - -type FileAlreadyExistsFault FileAlreadyExists - -func init() { - t["FileAlreadyExistsFault"] = reflect.TypeOf((*FileAlreadyExistsFault)(nil)).Elem() -} - -type FileBackedPortNotSupported struct { - DeviceNotSupported -} - -func init() { - t["FileBackedPortNotSupported"] = reflect.TypeOf((*FileBackedPortNotSupported)(nil)).Elem() -} - -type FileBackedPortNotSupportedFault FileBackedPortNotSupported - -func init() { - t["FileBackedPortNotSupportedFault"] = reflect.TypeOf((*FileBackedPortNotSupportedFault)(nil)).Elem() -} - -type FileBackedVirtualDiskSpec struct { - VirtualDiskSpec - - CapacityKb int64 `xml:"capacityKb"` - Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr"` - Crypto BaseCryptoSpec `xml:"crypto,omitempty,typeattr"` -} - -func init() { - t["FileBackedVirtualDiskSpec"] = reflect.TypeOf((*FileBackedVirtualDiskSpec)(nil)).Elem() -} - -type FileFault struct { - VimFault - - File string `xml:"file"` -} - -func init() { - t["FileFault"] = reflect.TypeOf((*FileFault)(nil)).Elem() -} - -type FileFaultFault BaseFileFault - -func init() { - t["FileFaultFault"] = reflect.TypeOf((*FileFaultFault)(nil)).Elem() -} - -type FileInfo struct { - DynamicData - - Path string `xml:"path"` - FriendlyName string `xml:"friendlyName,omitempty"` - FileSize int64 `xml:"fileSize,omitempty"` - Modification *time.Time `xml:"modification"` - Owner string `xml:"owner,omitempty"` -} - -func init() { - t["FileInfo"] = reflect.TypeOf((*FileInfo)(nil)).Elem() -} - -type FileLocked struct { - FileFault -} - -func init() { - t["FileLocked"] = reflect.TypeOf((*FileLocked)(nil)).Elem() -} - -type FileLockedFault FileLocked - -func init() { - t["FileLockedFault"] = reflect.TypeOf((*FileLockedFault)(nil)).Elem() -} - -type FileNameTooLong struct { - FileFault -} - -func init() { - t["FileNameTooLong"] = reflect.TypeOf((*FileNameTooLong)(nil)).Elem() -} - -type FileNameTooLongFault FileNameTooLong - -func init() { - t["FileNameTooLongFault"] = reflect.TypeOf((*FileNameTooLongFault)(nil)).Elem() -} - -type FileNotFound struct { - FileFault -} - -func init() { - t["FileNotFound"] = reflect.TypeOf((*FileNotFound)(nil)).Elem() -} - -type FileNotFoundFault FileNotFound - -func init() { - t["FileNotFoundFault"] = reflect.TypeOf((*FileNotFoundFault)(nil)).Elem() -} - -type FileNotWritable struct { - FileFault -} - -func init() { - t["FileNotWritable"] = reflect.TypeOf((*FileNotWritable)(nil)).Elem() -} - -type FileNotWritableFault FileNotWritable - -func init() { - t["FileNotWritableFault"] = reflect.TypeOf((*FileNotWritableFault)(nil)).Elem() -} - -type FileQuery struct { - DynamicData -} - -func init() { - t["FileQuery"] = reflect.TypeOf((*FileQuery)(nil)).Elem() -} - -type FileQueryFlags struct { - DynamicData - - FileType bool `xml:"fileType"` - FileSize bool `xml:"fileSize"` - Modification bool `xml:"modification"` - FileOwner *bool `xml:"fileOwner"` -} - -func init() { - t["FileQueryFlags"] = reflect.TypeOf((*FileQueryFlags)(nil)).Elem() -} - -type FileTooLarge struct { - FileFault - - Datastore string `xml:"datastore"` - FileSize int64 `xml:"fileSize"` - MaxFileSize int64 `xml:"maxFileSize,omitempty"` -} - -func init() { - t["FileTooLarge"] = reflect.TypeOf((*FileTooLarge)(nil)).Elem() -} - -type FileTooLargeFault FileTooLarge - -func init() { - t["FileTooLargeFault"] = reflect.TypeOf((*FileTooLargeFault)(nil)).Elem() -} - -type FileTransferInformation struct { - DynamicData - - Attributes BaseGuestFileAttributes `xml:"attributes,typeattr"` - Size int64 `xml:"size"` - Url string `xml:"url"` -} - -func init() { - t["FileTransferInformation"] = reflect.TypeOf((*FileTransferInformation)(nil)).Elem() -} - -type FilesystemQuiesceFault struct { - SnapshotFault -} - -func init() { - t["FilesystemQuiesceFault"] = reflect.TypeOf((*FilesystemQuiesceFault)(nil)).Elem() -} - -type FilesystemQuiesceFaultFault FilesystemQuiesceFault - -func init() { - t["FilesystemQuiesceFaultFault"] = reflect.TypeOf((*FilesystemQuiesceFaultFault)(nil)).Elem() -} - -type FilterInUse struct { - ResourceInUse - - Disk []VirtualDiskId `xml:"disk,omitempty"` -} - -func init() { - t["FilterInUse"] = reflect.TypeOf((*FilterInUse)(nil)).Elem() -} - -type FilterInUseFault FilterInUse - -func init() { - t["FilterInUseFault"] = reflect.TypeOf((*FilterInUseFault)(nil)).Elem() -} - -type FindAllByDnsName FindAllByDnsNameRequestType - -func init() { - t["FindAllByDnsName"] = reflect.TypeOf((*FindAllByDnsName)(nil)).Elem() -} - -type FindAllByDnsNameRequestType struct { - This ManagedObjectReference `xml:"_this"` - Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"` - DnsName string `xml:"dnsName"` - VmSearch bool `xml:"vmSearch"` -} - -func init() { - t["FindAllByDnsNameRequestType"] = reflect.TypeOf((*FindAllByDnsNameRequestType)(nil)).Elem() -} - -type FindAllByDnsNameResponse struct { - Returnval []ManagedObjectReference `xml:"returnval"` -} - -type FindAllByIp FindAllByIpRequestType - -func init() { - t["FindAllByIp"] = reflect.TypeOf((*FindAllByIp)(nil)).Elem() -} - -type FindAllByIpRequestType struct { - This ManagedObjectReference `xml:"_this"` - Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"` - Ip string `xml:"ip"` - VmSearch bool `xml:"vmSearch"` -} - -func init() { - t["FindAllByIpRequestType"] = reflect.TypeOf((*FindAllByIpRequestType)(nil)).Elem() -} - -type FindAllByIpResponse struct { - Returnval []ManagedObjectReference `xml:"returnval"` -} - -type FindAllByUuid FindAllByUuidRequestType - -func init() { - t["FindAllByUuid"] = reflect.TypeOf((*FindAllByUuid)(nil)).Elem() -} - -type FindAllByUuidRequestType struct { - This ManagedObjectReference `xml:"_this"` - Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"` - Uuid string `xml:"uuid"` - VmSearch bool `xml:"vmSearch"` - InstanceUuid *bool `xml:"instanceUuid"` -} - -func init() { - t["FindAllByUuidRequestType"] = reflect.TypeOf((*FindAllByUuidRequestType)(nil)).Elem() -} - -type FindAllByUuidResponse struct { - Returnval []ManagedObjectReference `xml:"returnval"` -} - -type FindAssociatedProfile FindAssociatedProfileRequestType - -func init() { - t["FindAssociatedProfile"] = reflect.TypeOf((*FindAssociatedProfile)(nil)).Elem() -} - -type FindAssociatedProfileRequestType struct { - This ManagedObjectReference `xml:"_this"` - Entity ManagedObjectReference `xml:"entity"` -} - -func init() { - t["FindAssociatedProfileRequestType"] = reflect.TypeOf((*FindAssociatedProfileRequestType)(nil)).Elem() -} - -type FindAssociatedProfileResponse struct { - Returnval []ManagedObjectReference `xml:"returnval,omitempty"` -} - -type FindByDatastorePath FindByDatastorePathRequestType - -func init() { - t["FindByDatastorePath"] = reflect.TypeOf((*FindByDatastorePath)(nil)).Elem() -} - -type FindByDatastorePathRequestType struct { - This ManagedObjectReference `xml:"_this"` - Datacenter ManagedObjectReference `xml:"datacenter"` - Path string `xml:"path"` -} - -func init() { - t["FindByDatastorePathRequestType"] = reflect.TypeOf((*FindByDatastorePathRequestType)(nil)).Elem() -} - -type FindByDatastorePathResponse struct { - Returnval *ManagedObjectReference `xml:"returnval,omitempty"` -} - -type FindByDnsName FindByDnsNameRequestType - -func init() { - t["FindByDnsName"] = reflect.TypeOf((*FindByDnsName)(nil)).Elem() -} - -type FindByDnsNameRequestType struct { - This ManagedObjectReference `xml:"_this"` - Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"` - DnsName string `xml:"dnsName"` - VmSearch bool `xml:"vmSearch"` -} - -func init() { - t["FindByDnsNameRequestType"] = reflect.TypeOf((*FindByDnsNameRequestType)(nil)).Elem() -} - -type FindByDnsNameResponse struct { - Returnval *ManagedObjectReference `xml:"returnval,omitempty"` -} - -type FindByInventoryPath FindByInventoryPathRequestType - -func init() { - t["FindByInventoryPath"] = reflect.TypeOf((*FindByInventoryPath)(nil)).Elem() -} - -type FindByInventoryPathRequestType struct { - This ManagedObjectReference `xml:"_this"` - InventoryPath string `xml:"inventoryPath"` -} - -func init() { - t["FindByInventoryPathRequestType"] = reflect.TypeOf((*FindByInventoryPathRequestType)(nil)).Elem() -} - -type FindByInventoryPathResponse struct { - Returnval *ManagedObjectReference `xml:"returnval,omitempty"` -} - -type FindByIp FindByIpRequestType - -func init() { - t["FindByIp"] = reflect.TypeOf((*FindByIp)(nil)).Elem() -} - -type FindByIpRequestType struct { - This ManagedObjectReference `xml:"_this"` - Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"` - Ip string `xml:"ip"` - VmSearch bool `xml:"vmSearch"` -} - -func init() { - t["FindByIpRequestType"] = reflect.TypeOf((*FindByIpRequestType)(nil)).Elem() -} - -type FindByIpResponse struct { - Returnval *ManagedObjectReference `xml:"returnval,omitempty"` -} - -type FindByUuid FindByUuidRequestType - -func init() { - t["FindByUuid"] = reflect.TypeOf((*FindByUuid)(nil)).Elem() -} - -type FindByUuidRequestType struct { - This ManagedObjectReference `xml:"_this"` - Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"` - Uuid string `xml:"uuid"` - VmSearch bool `xml:"vmSearch"` - InstanceUuid *bool `xml:"instanceUuid"` -} - -func init() { - t["FindByUuidRequestType"] = reflect.TypeOf((*FindByUuidRequestType)(nil)).Elem() -} - -type FindByUuidResponse struct { - Returnval *ManagedObjectReference `xml:"returnval,omitempty"` -} - -type FindChild FindChildRequestType - -func init() { - t["FindChild"] = reflect.TypeOf((*FindChild)(nil)).Elem() -} - -type FindChildRequestType struct { - This ManagedObjectReference `xml:"_this"` - Entity ManagedObjectReference `xml:"entity"` - Name string `xml:"name"` -} - -func init() { - t["FindChildRequestType"] = reflect.TypeOf((*FindChildRequestType)(nil)).Elem() -} - -type FindChildResponse struct { - Returnval *ManagedObjectReference `xml:"returnval,omitempty"` -} - -type FindExtension FindExtensionRequestType - -func init() { - t["FindExtension"] = reflect.TypeOf((*FindExtension)(nil)).Elem() -} - -type FindExtensionRequestType struct { - This ManagedObjectReference `xml:"_this"` - ExtensionKey string `xml:"extensionKey"` -} - -func init() { - t["FindExtensionRequestType"] = reflect.TypeOf((*FindExtensionRequestType)(nil)).Elem() -} - -type FindExtensionResponse struct { - Returnval *Extension `xml:"returnval,omitempty"` -} - -type FindRulesForVm FindRulesForVmRequestType - -func init() { - t["FindRulesForVm"] = reflect.TypeOf((*FindRulesForVm)(nil)).Elem() -} - -type FindRulesForVmRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm ManagedObjectReference `xml:"vm"` -} - -func init() { - t["FindRulesForVmRequestType"] = reflect.TypeOf((*FindRulesForVmRequestType)(nil)).Elem() -} - -type FindRulesForVmResponse struct { - Returnval []BaseClusterRuleInfo `xml:"returnval,omitempty,typeattr"` -} - -type FirewallProfile struct { - ApplyProfile - - Ruleset []FirewallProfileRulesetProfile `xml:"ruleset,omitempty"` -} - -func init() { - t["FirewallProfile"] = reflect.TypeOf((*FirewallProfile)(nil)).Elem() -} - -type FirewallProfileRulesetProfile struct { - ApplyProfile - - Key string `xml:"key"` -} - -func init() { - t["FirewallProfileRulesetProfile"] = reflect.TypeOf((*FirewallProfileRulesetProfile)(nil)).Elem() -} - -type FloatOption struct { - OptionType - - Min float32 `xml:"min"` - Max float32 `xml:"max"` - DefaultValue float32 `xml:"defaultValue"` -} - -func init() { - t["FloatOption"] = reflect.TypeOf((*FloatOption)(nil)).Elem() -} - -type FloppyImageFileInfo struct { - FileInfo -} - -func init() { - t["FloppyImageFileInfo"] = reflect.TypeOf((*FloppyImageFileInfo)(nil)).Elem() -} - -type FloppyImageFileQuery struct { - FileQuery -} - -func init() { - t["FloppyImageFileQuery"] = reflect.TypeOf((*FloppyImageFileQuery)(nil)).Elem() -} - -type FolderBatchAddHostsToClusterResult struct { - DynamicData - - HostsAddedToCluster []ManagedObjectReference `xml:"hostsAddedToCluster,omitempty"` - HostsFailedInventoryAdd []FolderFailedHostResult `xml:"hostsFailedInventoryAdd,omitempty"` - HostsFailedMoveToCluster []FolderFailedHostResult `xml:"hostsFailedMoveToCluster,omitempty"` -} - -func init() { - t["FolderBatchAddHostsToClusterResult"] = reflect.TypeOf((*FolderBatchAddHostsToClusterResult)(nil)).Elem() -} - -type FolderBatchAddStandaloneHostsResult struct { - DynamicData - - AddedHosts []ManagedObjectReference `xml:"addedHosts,omitempty"` - HostsFailedInventoryAdd []FolderFailedHostResult `xml:"hostsFailedInventoryAdd,omitempty"` -} - -func init() { - t["FolderBatchAddStandaloneHostsResult"] = reflect.TypeOf((*FolderBatchAddStandaloneHostsResult)(nil)).Elem() -} - -type FolderEventArgument struct { - EntityEventArgument - - Folder ManagedObjectReference `xml:"folder"` -} - -func init() { - t["FolderEventArgument"] = reflect.TypeOf((*FolderEventArgument)(nil)).Elem() -} - -type FolderFailedHostResult struct { - DynamicData - - HostName string `xml:"hostName,omitempty"` - Host *ManagedObjectReference `xml:"host,omitempty"` - Context LocalizableMessage `xml:"context"` - Fault LocalizedMethodFault `xml:"fault"` -} - -func init() { - t["FolderFailedHostResult"] = reflect.TypeOf((*FolderFailedHostResult)(nil)).Elem() -} - -type FolderFileInfo struct { - FileInfo -} - -func init() { - t["FolderFileInfo"] = reflect.TypeOf((*FolderFileInfo)(nil)).Elem() -} - -type FolderFileQuery struct { - FileQuery -} - -func init() { - t["FolderFileQuery"] = reflect.TypeOf((*FolderFileQuery)(nil)).Elem() -} - -type FolderNewHostSpec struct { - DynamicData - - HostCnxSpec HostConnectSpec `xml:"hostCnxSpec"` - EsxLicense string `xml:"esxLicense,omitempty"` -} - -func init() { - t["FolderNewHostSpec"] = reflect.TypeOf((*FolderNewHostSpec)(nil)).Elem() -} - -type FormatVffs FormatVffsRequestType - -func init() { - t["FormatVffs"] = reflect.TypeOf((*FormatVffs)(nil)).Elem() -} - -type FormatVffsRequestType struct { - This ManagedObjectReference `xml:"_this"` - CreateSpec HostVffsSpec `xml:"createSpec"` -} - -func init() { - t["FormatVffsRequestType"] = reflect.TypeOf((*FormatVffsRequestType)(nil)).Elem() -} - -type FormatVffsResponse struct { - Returnval HostVffsVolume `xml:"returnval"` -} - -type FormatVmfs FormatVmfsRequestType - -func init() { - t["FormatVmfs"] = reflect.TypeOf((*FormatVmfs)(nil)).Elem() -} - -type FormatVmfsRequestType struct { - This ManagedObjectReference `xml:"_this"` - CreateSpec HostVmfsSpec `xml:"createSpec"` -} - -func init() { - t["FormatVmfsRequestType"] = reflect.TypeOf((*FormatVmfsRequestType)(nil)).Elem() -} - -type FormatVmfsResponse struct { - Returnval HostVmfsVolume `xml:"returnval"` -} - -type FtIssuesOnHost struct { - VmFaultToleranceIssue - - Host ManagedObjectReference `xml:"host"` - HostName string `xml:"hostName"` - Errors []LocalizedMethodFault `xml:"errors,omitempty"` -} - -func init() { - t["FtIssuesOnHost"] = reflect.TypeOf((*FtIssuesOnHost)(nil)).Elem() -} - -type FtIssuesOnHostFault FtIssuesOnHost - -func init() { - t["FtIssuesOnHostFault"] = reflect.TypeOf((*FtIssuesOnHostFault)(nil)).Elem() -} - -type FullStorageVMotionNotSupported struct { - MigrationFeatureNotSupported -} - -func init() { - t["FullStorageVMotionNotSupported"] = reflect.TypeOf((*FullStorageVMotionNotSupported)(nil)).Elem() -} - -type FullStorageVMotionNotSupportedFault FullStorageVMotionNotSupported - -func init() { - t["FullStorageVMotionNotSupportedFault"] = reflect.TypeOf((*FullStorageVMotionNotSupportedFault)(nil)).Elem() -} - -type GatewayConnectFault struct { - HostConnectFault - - GatewayType string `xml:"gatewayType"` - GatewayId string `xml:"gatewayId"` - GatewayInfo string `xml:"gatewayInfo"` - Details *LocalizableMessage `xml:"details,omitempty"` -} - -func init() { - t["GatewayConnectFault"] = reflect.TypeOf((*GatewayConnectFault)(nil)).Elem() -} - -type GatewayConnectFaultFault BaseGatewayConnectFault - -func init() { - t["GatewayConnectFaultFault"] = reflect.TypeOf((*GatewayConnectFaultFault)(nil)).Elem() -} - -type GatewayHostNotReachable struct { - GatewayToHostConnectFault -} - -func init() { - t["GatewayHostNotReachable"] = reflect.TypeOf((*GatewayHostNotReachable)(nil)).Elem() -} - -type GatewayHostNotReachableFault GatewayHostNotReachable - -func init() { - t["GatewayHostNotReachableFault"] = reflect.TypeOf((*GatewayHostNotReachableFault)(nil)).Elem() -} - -type GatewayNotFound struct { - GatewayConnectFault -} - -func init() { - t["GatewayNotFound"] = reflect.TypeOf((*GatewayNotFound)(nil)).Elem() -} - -type GatewayNotFoundFault GatewayNotFound - -func init() { - t["GatewayNotFoundFault"] = reflect.TypeOf((*GatewayNotFoundFault)(nil)).Elem() -} - -type GatewayNotReachable struct { - GatewayConnectFault -} - -func init() { - t["GatewayNotReachable"] = reflect.TypeOf((*GatewayNotReachable)(nil)).Elem() -} - -type GatewayNotReachableFault GatewayNotReachable - -func init() { - t["GatewayNotReachableFault"] = reflect.TypeOf((*GatewayNotReachableFault)(nil)).Elem() -} - -type GatewayOperationRefused struct { - GatewayConnectFault -} - -func init() { - t["GatewayOperationRefused"] = reflect.TypeOf((*GatewayOperationRefused)(nil)).Elem() -} - -type GatewayOperationRefusedFault GatewayOperationRefused - -func init() { - t["GatewayOperationRefusedFault"] = reflect.TypeOf((*GatewayOperationRefusedFault)(nil)).Elem() -} - -type GatewayToHostAuthFault struct { - GatewayToHostConnectFault - - InvalidProperties []string `xml:"invalidProperties"` - MissingProperties []string `xml:"missingProperties"` -} - -func init() { - t["GatewayToHostAuthFault"] = reflect.TypeOf((*GatewayToHostAuthFault)(nil)).Elem() -} - -type GatewayToHostAuthFaultFault GatewayToHostAuthFault - -func init() { - t["GatewayToHostAuthFaultFault"] = reflect.TypeOf((*GatewayToHostAuthFaultFault)(nil)).Elem() -} - -type GatewayToHostConnectFault struct { - GatewayConnectFault - - Hostname string `xml:"hostname"` - Port int32 `xml:"port,omitempty"` -} - -func init() { - t["GatewayToHostConnectFault"] = reflect.TypeOf((*GatewayToHostConnectFault)(nil)).Elem() -} - -type GatewayToHostConnectFaultFault BaseGatewayToHostConnectFault - -func init() { - t["GatewayToHostConnectFaultFault"] = reflect.TypeOf((*GatewayToHostConnectFaultFault)(nil)).Elem() -} - -type GatewayToHostTrustVerifyFault struct { - GatewayToHostConnectFault - - VerificationToken string `xml:"verificationToken"` - PropertiesToVerify []KeyValue `xml:"propertiesToVerify"` -} - -func init() { - t["GatewayToHostTrustVerifyFault"] = reflect.TypeOf((*GatewayToHostTrustVerifyFault)(nil)).Elem() -} - -type GatewayToHostTrustVerifyFaultFault GatewayToHostTrustVerifyFault - -func init() { - t["GatewayToHostTrustVerifyFaultFault"] = reflect.TypeOf((*GatewayToHostTrustVerifyFaultFault)(nil)).Elem() -} - -type GeneralEvent struct { - Event - - Message string `xml:"message"` -} - -func init() { - t["GeneralEvent"] = reflect.TypeOf((*GeneralEvent)(nil)).Elem() -} - -type GeneralHostErrorEvent struct { - GeneralEvent -} - -func init() { - t["GeneralHostErrorEvent"] = reflect.TypeOf((*GeneralHostErrorEvent)(nil)).Elem() -} - -type GeneralHostInfoEvent struct { - GeneralEvent -} - -func init() { - t["GeneralHostInfoEvent"] = reflect.TypeOf((*GeneralHostInfoEvent)(nil)).Elem() -} - -type GeneralHostWarningEvent struct { - GeneralEvent -} - -func init() { - t["GeneralHostWarningEvent"] = reflect.TypeOf((*GeneralHostWarningEvent)(nil)).Elem() -} - -type GeneralUserEvent struct { - GeneralEvent - - Entity *ManagedEntityEventArgument `xml:"entity,omitempty"` -} - -func init() { - t["GeneralUserEvent"] = reflect.TypeOf((*GeneralUserEvent)(nil)).Elem() -} - -type GeneralVmErrorEvent struct { - GeneralEvent -} - -func init() { - t["GeneralVmErrorEvent"] = reflect.TypeOf((*GeneralVmErrorEvent)(nil)).Elem() -} - -type GeneralVmInfoEvent struct { - GeneralEvent -} - -func init() { - t["GeneralVmInfoEvent"] = reflect.TypeOf((*GeneralVmInfoEvent)(nil)).Elem() -} - -type GeneralVmWarningEvent struct { - GeneralEvent -} - -func init() { - t["GeneralVmWarningEvent"] = reflect.TypeOf((*GeneralVmWarningEvent)(nil)).Elem() -} - -type GenerateCertificateSigningRequest GenerateCertificateSigningRequestRequestType - -func init() { - t["GenerateCertificateSigningRequest"] = reflect.TypeOf((*GenerateCertificateSigningRequest)(nil)).Elem() -} - -type GenerateCertificateSigningRequestByDn GenerateCertificateSigningRequestByDnRequestType - -func init() { - t["GenerateCertificateSigningRequestByDn"] = reflect.TypeOf((*GenerateCertificateSigningRequestByDn)(nil)).Elem() -} - -type GenerateCertificateSigningRequestByDnRequestType struct { - This ManagedObjectReference `xml:"_this"` - DistinguishedName string `xml:"distinguishedName"` -} - -func init() { - t["GenerateCertificateSigningRequestByDnRequestType"] = reflect.TypeOf((*GenerateCertificateSigningRequestByDnRequestType)(nil)).Elem() -} - -type GenerateCertificateSigningRequestByDnResponse struct { - Returnval string `xml:"returnval"` -} - -type GenerateCertificateSigningRequestRequestType struct { - This ManagedObjectReference `xml:"_this"` - UseIpAddressAsCommonName bool `xml:"useIpAddressAsCommonName"` -} - -func init() { - t["GenerateCertificateSigningRequestRequestType"] = reflect.TypeOf((*GenerateCertificateSigningRequestRequestType)(nil)).Elem() -} - -type GenerateCertificateSigningRequestResponse struct { - Returnval string `xml:"returnval"` -} - -type GenerateClientCsr GenerateClientCsrRequestType - -func init() { - t["GenerateClientCsr"] = reflect.TypeOf((*GenerateClientCsr)(nil)).Elem() -} - -type GenerateClientCsrRequestType struct { - This ManagedObjectReference `xml:"_this"` - Cluster KeyProviderId `xml:"cluster"` -} - -func init() { - t["GenerateClientCsrRequestType"] = reflect.TypeOf((*GenerateClientCsrRequestType)(nil)).Elem() -} - -type GenerateClientCsrResponse struct { - Returnval string `xml:"returnval"` -} - -type GenerateConfigTaskList GenerateConfigTaskListRequestType - -func init() { - t["GenerateConfigTaskList"] = reflect.TypeOf((*GenerateConfigTaskList)(nil)).Elem() -} - -type GenerateConfigTaskListRequestType struct { - This ManagedObjectReference `xml:"_this"` - ConfigSpec HostConfigSpec `xml:"configSpec"` - Host ManagedObjectReference `xml:"host"` -} - -func init() { - t["GenerateConfigTaskListRequestType"] = reflect.TypeOf((*GenerateConfigTaskListRequestType)(nil)).Elem() -} - -type GenerateConfigTaskListResponse struct { - Returnval HostProfileManagerConfigTaskList `xml:"returnval"` -} - -type GenerateHostConfigTaskSpecRequestType struct { - This ManagedObjectReference `xml:"_this"` - HostsInfo []StructuredCustomizations `xml:"hostsInfo,omitempty"` -} - -func init() { - t["GenerateHostConfigTaskSpecRequestType"] = reflect.TypeOf((*GenerateHostConfigTaskSpecRequestType)(nil)).Elem() -} - -type GenerateHostConfigTaskSpec_Task GenerateHostConfigTaskSpecRequestType - -func init() { - t["GenerateHostConfigTaskSpec_Task"] = reflect.TypeOf((*GenerateHostConfigTaskSpec_Task)(nil)).Elem() -} - -type GenerateHostConfigTaskSpec_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type GenerateHostProfileTaskListRequestType struct { - This ManagedObjectReference `xml:"_this"` - ConfigSpec HostConfigSpec `xml:"configSpec"` - Host ManagedObjectReference `xml:"host"` -} - -func init() { - t["GenerateHostProfileTaskListRequestType"] = reflect.TypeOf((*GenerateHostProfileTaskListRequestType)(nil)).Elem() -} - -type GenerateHostProfileTaskList_Task GenerateHostProfileTaskListRequestType - -func init() { - t["GenerateHostProfileTaskList_Task"] = reflect.TypeOf((*GenerateHostProfileTaskList_Task)(nil)).Elem() -} - -type GenerateHostProfileTaskList_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type GenerateKey GenerateKeyRequestType - -func init() { - t["GenerateKey"] = reflect.TypeOf((*GenerateKey)(nil)).Elem() -} - -type GenerateKeyRequestType struct { - This ManagedObjectReference `xml:"_this"` - KeyProvider *KeyProviderId `xml:"keyProvider,omitempty"` -} - -func init() { - t["GenerateKeyRequestType"] = reflect.TypeOf((*GenerateKeyRequestType)(nil)).Elem() -} - -type GenerateKeyResponse struct { - Returnval CryptoKeyResult `xml:"returnval"` -} - -type GenerateLogBundlesRequestType struct { - This ManagedObjectReference `xml:"_this"` - IncludeDefault bool `xml:"includeDefault"` - Host []ManagedObjectReference `xml:"host,omitempty"` -} - -func init() { - t["GenerateLogBundlesRequestType"] = reflect.TypeOf((*GenerateLogBundlesRequestType)(nil)).Elem() -} - -type GenerateLogBundles_Task GenerateLogBundlesRequestType - -func init() { - t["GenerateLogBundles_Task"] = reflect.TypeOf((*GenerateLogBundles_Task)(nil)).Elem() -} - -type GenerateLogBundles_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type GenerateSelfSignedClientCert GenerateSelfSignedClientCertRequestType - -func init() { - t["GenerateSelfSignedClientCert"] = reflect.TypeOf((*GenerateSelfSignedClientCert)(nil)).Elem() -} - -type GenerateSelfSignedClientCertRequestType struct { - This ManagedObjectReference `xml:"_this"` - Cluster KeyProviderId `xml:"cluster"` -} - -func init() { - t["GenerateSelfSignedClientCertRequestType"] = reflect.TypeOf((*GenerateSelfSignedClientCertRequestType)(nil)).Elem() -} - -type GenerateSelfSignedClientCertResponse struct { - Returnval string `xml:"returnval"` -} - -type GenericDrsFault struct { - VimFault - - HostFaults []LocalizedMethodFault `xml:"hostFaults,omitempty"` -} - -func init() { - t["GenericDrsFault"] = reflect.TypeOf((*GenericDrsFault)(nil)).Elem() -} - -type GenericDrsFaultFault GenericDrsFault - -func init() { - t["GenericDrsFaultFault"] = reflect.TypeOf((*GenericDrsFaultFault)(nil)).Elem() -} - -type GenericVmConfigFault struct { - VmConfigFault - - Reason string `xml:"reason"` -} - -func init() { - t["GenericVmConfigFault"] = reflect.TypeOf((*GenericVmConfigFault)(nil)).Elem() -} - -type GenericVmConfigFaultFault GenericVmConfigFault - -func init() { - t["GenericVmConfigFaultFault"] = reflect.TypeOf((*GenericVmConfigFaultFault)(nil)).Elem() -} - -type GetAlarm GetAlarmRequestType - -func init() { - t["GetAlarm"] = reflect.TypeOf((*GetAlarm)(nil)).Elem() -} - -type GetAlarmRequestType struct { - This ManagedObjectReference `xml:"_this"` - Entity *ManagedObjectReference `xml:"entity,omitempty"` -} - -func init() { - t["GetAlarmRequestType"] = reflect.TypeOf((*GetAlarmRequestType)(nil)).Elem() -} - -type GetAlarmResponse struct { - Returnval []ManagedObjectReference `xml:"returnval,omitempty"` -} - -type GetAlarmState GetAlarmStateRequestType - -func init() { - t["GetAlarmState"] = reflect.TypeOf((*GetAlarmState)(nil)).Elem() -} - -type GetAlarmStateRequestType struct { - This ManagedObjectReference `xml:"_this"` - Entity ManagedObjectReference `xml:"entity"` -} - -func init() { - t["GetAlarmStateRequestType"] = reflect.TypeOf((*GetAlarmStateRequestType)(nil)).Elem() -} - -type GetAlarmStateResponse struct { - Returnval []AlarmState `xml:"returnval,omitempty"` -} - -type GetCustomizationSpec GetCustomizationSpecRequestType - -func init() { - t["GetCustomizationSpec"] = reflect.TypeOf((*GetCustomizationSpec)(nil)).Elem() -} - -type GetCustomizationSpecRequestType struct { - This ManagedObjectReference `xml:"_this"` - Name string `xml:"name"` -} - -func init() { - t["GetCustomizationSpecRequestType"] = reflect.TypeOf((*GetCustomizationSpecRequestType)(nil)).Elem() -} - -type GetCustomizationSpecResponse struct { - Returnval CustomizationSpecItem `xml:"returnval"` -} - -type GetDefaultKmsCluster GetDefaultKmsClusterRequestType - -func init() { - t["GetDefaultKmsCluster"] = reflect.TypeOf((*GetDefaultKmsCluster)(nil)).Elem() -} - -type GetDefaultKmsClusterRequestType struct { - This ManagedObjectReference `xml:"_this"` - Entity *ManagedObjectReference `xml:"entity,omitempty"` - DefaultsToParent *bool `xml:"defaultsToParent"` -} - -func init() { - t["GetDefaultKmsClusterRequestType"] = reflect.TypeOf((*GetDefaultKmsClusterRequestType)(nil)).Elem() -} - -type GetDefaultKmsClusterResponse struct { - Returnval *KeyProviderId `xml:"returnval,omitempty"` -} - -type GetPublicKey GetPublicKeyRequestType - -func init() { - t["GetPublicKey"] = reflect.TypeOf((*GetPublicKey)(nil)).Elem() -} - -type GetPublicKeyRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["GetPublicKeyRequestType"] = reflect.TypeOf((*GetPublicKeyRequestType)(nil)).Elem() -} - -type GetPublicKeyResponse struct { - Returnval string `xml:"returnval"` -} - -type GetResourceUsage GetResourceUsageRequestType - -func init() { - t["GetResourceUsage"] = reflect.TypeOf((*GetResourceUsage)(nil)).Elem() -} - -type GetResourceUsageRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["GetResourceUsageRequestType"] = reflect.TypeOf((*GetResourceUsageRequestType)(nil)).Elem() -} - -type GetResourceUsageResponse struct { - Returnval ClusterResourceUsageSummary `xml:"returnval"` -} - -type GetSiteInfo GetSiteInfoRequestType - -func init() { - t["GetSiteInfo"] = reflect.TypeOf((*GetSiteInfo)(nil)).Elem() -} - -type GetSiteInfoRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["GetSiteInfoRequestType"] = reflect.TypeOf((*GetSiteInfoRequestType)(nil)).Elem() -} - -type GetSiteInfoResponse struct { - Returnval SiteInfo `xml:"returnval"` -} - -type GetSystemVMsRestrictedDatastores GetSystemVMsRestrictedDatastoresRequestType - -func init() { - t["GetSystemVMsRestrictedDatastores"] = reflect.TypeOf((*GetSystemVMsRestrictedDatastores)(nil)).Elem() -} - -type GetSystemVMsRestrictedDatastoresRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["GetSystemVMsRestrictedDatastoresRequestType"] = reflect.TypeOf((*GetSystemVMsRestrictedDatastoresRequestType)(nil)).Elem() -} - -type GetSystemVMsRestrictedDatastoresResponse struct { - Returnval []ManagedObjectReference `xml:"returnval,omitempty"` -} - -type GetVchaClusterHealth GetVchaClusterHealthRequestType - -func init() { - t["GetVchaClusterHealth"] = reflect.TypeOf((*GetVchaClusterHealth)(nil)).Elem() -} - -type GetVchaClusterHealthRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["GetVchaClusterHealthRequestType"] = reflect.TypeOf((*GetVchaClusterHealthRequestType)(nil)).Elem() -} - -type GetVchaClusterHealthResponse struct { - Returnval VchaClusterHealth `xml:"returnval"` -} - -type GetVsanObjExtAttrs GetVsanObjExtAttrsRequestType - -func init() { - t["GetVsanObjExtAttrs"] = reflect.TypeOf((*GetVsanObjExtAttrs)(nil)).Elem() -} - -type GetVsanObjExtAttrsRequestType struct { - This ManagedObjectReference `xml:"_this"` - Uuids []string `xml:"uuids"` -} - -func init() { - t["GetVsanObjExtAttrsRequestType"] = reflect.TypeOf((*GetVsanObjExtAttrsRequestType)(nil)).Elem() -} - -type GetVsanObjExtAttrsResponse struct { - Returnval string `xml:"returnval"` -} - -type GhostDvsProxySwitchDetectedEvent struct { - HostEvent - - SwitchUuid []string `xml:"switchUuid"` -} - -func init() { - t["GhostDvsProxySwitchDetectedEvent"] = reflect.TypeOf((*GhostDvsProxySwitchDetectedEvent)(nil)).Elem() -} - -type GhostDvsProxySwitchRemovedEvent struct { - HostEvent - - SwitchUuid []string `xml:"switchUuid"` -} - -func init() { - t["GhostDvsProxySwitchRemovedEvent"] = reflect.TypeOf((*GhostDvsProxySwitchRemovedEvent)(nil)).Elem() -} - -type GlobalMessageChangedEvent struct { - SessionEvent - - Message string `xml:"message"` - PrevMessage string `xml:"prevMessage,omitempty"` -} - -func init() { - t["GlobalMessageChangedEvent"] = reflect.TypeOf((*GlobalMessageChangedEvent)(nil)).Elem() -} - -type GroupAlarmAction struct { - AlarmAction - - Action []BaseAlarmAction `xml:"action,typeattr"` -} - -func init() { - t["GroupAlarmAction"] = reflect.TypeOf((*GroupAlarmAction)(nil)).Elem() -} - -type GuestAliases struct { - DynamicData - - Base64Cert string `xml:"base64Cert"` - Aliases []GuestAuthAliasInfo `xml:"aliases"` -} - -func init() { - t["GuestAliases"] = reflect.TypeOf((*GuestAliases)(nil)).Elem() -} - -type GuestAuthAliasInfo struct { - DynamicData - - Subject BaseGuestAuthSubject `xml:"subject,typeattr"` - Comment string `xml:"comment"` -} - -func init() { - t["GuestAuthAliasInfo"] = reflect.TypeOf((*GuestAuthAliasInfo)(nil)).Elem() -} - -type GuestAuthAnySubject struct { - GuestAuthSubject -} - -func init() { - t["GuestAuthAnySubject"] = reflect.TypeOf((*GuestAuthAnySubject)(nil)).Elem() -} - -type GuestAuthNamedSubject struct { - GuestAuthSubject - - Name string `xml:"name"` -} - -func init() { - t["GuestAuthNamedSubject"] = reflect.TypeOf((*GuestAuthNamedSubject)(nil)).Elem() -} - -type GuestAuthSubject struct { - DynamicData -} - -func init() { - t["GuestAuthSubject"] = reflect.TypeOf((*GuestAuthSubject)(nil)).Elem() -} - -type GuestAuthentication struct { - DynamicData - - InteractiveSession bool `xml:"interactiveSession"` -} - -func init() { - t["GuestAuthentication"] = reflect.TypeOf((*GuestAuthentication)(nil)).Elem() -} - -type GuestAuthenticationChallenge struct { - GuestOperationsFault - - ServerChallenge BaseGuestAuthentication `xml:"serverChallenge,typeattr"` - SessionID int64 `xml:"sessionID"` -} - -func init() { - t["GuestAuthenticationChallenge"] = reflect.TypeOf((*GuestAuthenticationChallenge)(nil)).Elem() -} - -type GuestAuthenticationChallengeFault GuestAuthenticationChallenge - -func init() { - t["GuestAuthenticationChallengeFault"] = reflect.TypeOf((*GuestAuthenticationChallengeFault)(nil)).Elem() -} - -type GuestComponentsOutOfDate struct { - GuestOperationsFault -} - -func init() { - t["GuestComponentsOutOfDate"] = reflect.TypeOf((*GuestComponentsOutOfDate)(nil)).Elem() -} - -type GuestComponentsOutOfDateFault GuestComponentsOutOfDate - -func init() { - t["GuestComponentsOutOfDateFault"] = reflect.TypeOf((*GuestComponentsOutOfDateFault)(nil)).Elem() -} - -type GuestDiskInfo struct { - DynamicData - - DiskPath string `xml:"diskPath,omitempty"` - Capacity int64 `xml:"capacity,omitempty"` - FreeSpace int64 `xml:"freeSpace,omitempty"` - FilesystemType string `xml:"filesystemType,omitempty"` - Mappings []GuestInfoVirtualDiskMapping `xml:"mappings,omitempty"` -} - -func init() { - t["GuestDiskInfo"] = reflect.TypeOf((*GuestDiskInfo)(nil)).Elem() -} - -type GuestFileAttributes struct { - DynamicData - - ModificationTime *time.Time `xml:"modificationTime"` - AccessTime *time.Time `xml:"accessTime"` - SymlinkTarget string `xml:"symlinkTarget,omitempty"` -} - -func init() { - t["GuestFileAttributes"] = reflect.TypeOf((*GuestFileAttributes)(nil)).Elem() -} - -type GuestFileInfo struct { - DynamicData - - Path string `xml:"path"` - Type string `xml:"type"` - Size int64 `xml:"size"` - Attributes BaseGuestFileAttributes `xml:"attributes,typeattr"` -} - -func init() { - t["GuestFileInfo"] = reflect.TypeOf((*GuestFileInfo)(nil)).Elem() -} - -type GuestInfo struct { - DynamicData - - ToolsStatus VirtualMachineToolsStatus `xml:"toolsStatus,omitempty"` - ToolsVersionStatus string `xml:"toolsVersionStatus,omitempty"` - ToolsVersionStatus2 string `xml:"toolsVersionStatus2,omitempty"` - ToolsRunningStatus string `xml:"toolsRunningStatus,omitempty"` - ToolsVersion string `xml:"toolsVersion,omitempty"` - ToolsInstallType string `xml:"toolsInstallType,omitempty"` - GuestId string `xml:"guestId,omitempty"` - GuestFamily string `xml:"guestFamily,omitempty"` - GuestFullName string `xml:"guestFullName,omitempty"` - HostName string `xml:"hostName,omitempty"` - IpAddress string `xml:"ipAddress,omitempty"` - Net []GuestNicInfo `xml:"net,omitempty"` - IpStack []GuestStackInfo `xml:"ipStack,omitempty"` - Disk []GuestDiskInfo `xml:"disk,omitempty"` - Screen *GuestScreenInfo `xml:"screen,omitempty"` - GuestState string `xml:"guestState"` - AppHeartbeatStatus string `xml:"appHeartbeatStatus,omitempty"` - GuestKernelCrashed *bool `xml:"guestKernelCrashed"` - AppState string `xml:"appState,omitempty"` - GuestOperationsReady *bool `xml:"guestOperationsReady"` - InteractiveGuestOperationsReady *bool `xml:"interactiveGuestOperationsReady"` - GuestStateChangeSupported *bool `xml:"guestStateChangeSupported"` - GenerationInfo []GuestInfoNamespaceGenerationInfo `xml:"generationInfo,omitempty"` - HwVersion string `xml:"hwVersion,omitempty"` - CustomizationInfo *GuestInfoCustomizationInfo `xml:"customizationInfo,omitempty"` -} - -func init() { - t["GuestInfo"] = reflect.TypeOf((*GuestInfo)(nil)).Elem() -} - -type GuestInfoCustomizationInfo struct { - DynamicData - - CustomizationStatus string `xml:"customizationStatus"` - StartTime *time.Time `xml:"startTime"` - EndTime *time.Time `xml:"endTime"` - ErrorMsg string `xml:"errorMsg,omitempty"` -} - -func init() { - t["GuestInfoCustomizationInfo"] = reflect.TypeOf((*GuestInfoCustomizationInfo)(nil)).Elem() -} - -type GuestInfoNamespaceGenerationInfo struct { - DynamicData - - Key string `xml:"key"` - GenerationNo int32 `xml:"generationNo"` -} - -func init() { - t["GuestInfoNamespaceGenerationInfo"] = reflect.TypeOf((*GuestInfoNamespaceGenerationInfo)(nil)).Elem() -} - -type GuestInfoVirtualDiskMapping struct { - DynamicData - - Key int32 `xml:"key"` -} - -func init() { - t["GuestInfoVirtualDiskMapping"] = reflect.TypeOf((*GuestInfoVirtualDiskMapping)(nil)).Elem() -} - -type GuestListFileInfo struct { - DynamicData - - Files []GuestFileInfo `xml:"files,omitempty"` - Remaining int32 `xml:"remaining"` -} - -func init() { - t["GuestListFileInfo"] = reflect.TypeOf((*GuestListFileInfo)(nil)).Elem() -} - -type GuestMappedAliases struct { - DynamicData - - Base64Cert string `xml:"base64Cert"` - Username string `xml:"username"` - Subjects []BaseGuestAuthSubject `xml:"subjects,typeattr"` -} - -func init() { - t["GuestMappedAliases"] = reflect.TypeOf((*GuestMappedAliases)(nil)).Elem() -} - -type GuestMultipleMappings struct { - GuestOperationsFault -} - -func init() { - t["GuestMultipleMappings"] = reflect.TypeOf((*GuestMultipleMappings)(nil)).Elem() -} - -type GuestMultipleMappingsFault GuestMultipleMappings - -func init() { - t["GuestMultipleMappingsFault"] = reflect.TypeOf((*GuestMultipleMappingsFault)(nil)).Elem() -} - -type GuestNicInfo struct { - DynamicData - - Network string `xml:"network,omitempty"` - IpAddress []string `xml:"ipAddress,omitempty"` - MacAddress string `xml:"macAddress,omitempty"` - Connected bool `xml:"connected"` - DeviceConfigId int32 `xml:"deviceConfigId"` - DnsConfig *NetDnsConfigInfo `xml:"dnsConfig,omitempty"` - IpConfig *NetIpConfigInfo `xml:"ipConfig,omitempty"` - NetBIOSConfig BaseNetBIOSConfigInfo `xml:"netBIOSConfig,omitempty,typeattr"` -} - -func init() { - t["GuestNicInfo"] = reflect.TypeOf((*GuestNicInfo)(nil)).Elem() -} - -type GuestOperationsFault struct { - VimFault -} - -func init() { - t["GuestOperationsFault"] = reflect.TypeOf((*GuestOperationsFault)(nil)).Elem() -} - -type GuestOperationsFaultFault BaseGuestOperationsFault - -func init() { - t["GuestOperationsFaultFault"] = reflect.TypeOf((*GuestOperationsFaultFault)(nil)).Elem() -} - -type GuestOperationsUnavailable struct { - GuestOperationsFault -} - -func init() { - t["GuestOperationsUnavailable"] = reflect.TypeOf((*GuestOperationsUnavailable)(nil)).Elem() -} - -type GuestOperationsUnavailableFault GuestOperationsUnavailable - -func init() { - t["GuestOperationsUnavailableFault"] = reflect.TypeOf((*GuestOperationsUnavailableFault)(nil)).Elem() -} - -type GuestOsDescriptor struct { - DynamicData - - Id string `xml:"id"` - Family string `xml:"family"` - FullName string `xml:"fullName"` - SupportedMaxCPUs int32 `xml:"supportedMaxCPUs"` - NumSupportedPhysicalSockets int32 `xml:"numSupportedPhysicalSockets,omitempty"` - NumSupportedCoresPerSocket int32 `xml:"numSupportedCoresPerSocket,omitempty"` - SupportedMinMemMB int32 `xml:"supportedMinMemMB"` - SupportedMaxMemMB int32 `xml:"supportedMaxMemMB"` - RecommendedMemMB int32 `xml:"recommendedMemMB"` - RecommendedColorDepth int32 `xml:"recommendedColorDepth"` - SupportedDiskControllerList []string `xml:"supportedDiskControllerList"` - RecommendedSCSIController string `xml:"recommendedSCSIController,omitempty"` - RecommendedDiskController string `xml:"recommendedDiskController"` - SupportedNumDisks int32 `xml:"supportedNumDisks"` - RecommendedDiskSizeMB int32 `xml:"recommendedDiskSizeMB"` - RecommendedCdromController string `xml:"recommendedCdromController,omitempty"` - SupportedEthernetCard []string `xml:"supportedEthernetCard"` - RecommendedEthernetCard string `xml:"recommendedEthernetCard,omitempty"` - SupportsSlaveDisk *bool `xml:"supportsSlaveDisk"` - CpuFeatureMask []HostCpuIdInfo `xml:"cpuFeatureMask,omitempty"` - SmcRequired *bool `xml:"smcRequired"` - SupportsWakeOnLan bool `xml:"supportsWakeOnLan"` - SupportsVMI *bool `xml:"supportsVMI"` - SupportsMemoryHotAdd *bool `xml:"supportsMemoryHotAdd"` - SupportsCpuHotAdd *bool `xml:"supportsCpuHotAdd"` - SupportsCpuHotRemove *bool `xml:"supportsCpuHotRemove"` - SupportedFirmware []string `xml:"supportedFirmware,omitempty"` - RecommendedFirmware string `xml:"recommendedFirmware,omitempty"` - SupportedUSBControllerList []string `xml:"supportedUSBControllerList,omitempty"` - RecommendedUSBController string `xml:"recommendedUSBController,omitempty"` - Supports3D *bool `xml:"supports3D"` - Recommended3D *bool `xml:"recommended3D"` - SmcRecommended *bool `xml:"smcRecommended"` - Ich7mRecommended *bool `xml:"ich7mRecommended"` - UsbRecommended *bool `xml:"usbRecommended"` - SupportLevel string `xml:"supportLevel,omitempty"` - SupportedForCreate *bool `xml:"supportedForCreate"` - VRAMSizeInKB *IntOption `xml:"vRAMSizeInKB,omitempty"` - NumSupportedFloppyDevices int32 `xml:"numSupportedFloppyDevices,omitempty"` - WakeOnLanEthernetCard []string `xml:"wakeOnLanEthernetCard,omitempty"` - SupportsPvscsiControllerForBoot *bool `xml:"supportsPvscsiControllerForBoot"` - DiskUuidEnabled *bool `xml:"diskUuidEnabled"` - SupportsHotPlugPCI *bool `xml:"supportsHotPlugPCI"` - SupportsSecureBoot *bool `xml:"supportsSecureBoot"` - DefaultSecureBoot *bool `xml:"defaultSecureBoot"` - PersistentMemorySupported *bool `xml:"persistentMemorySupported"` - SupportedMinPersistentMemoryMB int64 `xml:"supportedMinPersistentMemoryMB,omitempty"` - SupportedMaxPersistentMemoryMB int64 `xml:"supportedMaxPersistentMemoryMB,omitempty"` - RecommendedPersistentMemoryMB int64 `xml:"recommendedPersistentMemoryMB,omitempty"` - PersistentMemoryHotAddSupported *bool `xml:"persistentMemoryHotAddSupported"` - PersistentMemoryHotRemoveSupported *bool `xml:"persistentMemoryHotRemoveSupported"` - PersistentMemoryColdGrowthSupported *bool `xml:"persistentMemoryColdGrowthSupported"` - PersistentMemoryColdGrowthGranularityMB int64 `xml:"persistentMemoryColdGrowthGranularityMB,omitempty"` - PersistentMemoryHotGrowthSupported *bool `xml:"persistentMemoryHotGrowthSupported"` - PersistentMemoryHotGrowthGranularityMB int64 `xml:"persistentMemoryHotGrowthGranularityMB,omitempty"` - NumRecommendedPhysicalSockets int32 `xml:"numRecommendedPhysicalSockets,omitempty"` - NumRecommendedCoresPerSocket int32 `xml:"numRecommendedCoresPerSocket,omitempty"` - VvtdSupported *BoolOption `xml:"vvtdSupported,omitempty"` - VbsSupported *BoolOption `xml:"vbsSupported,omitempty"` - VsgxSupported *BoolOption `xml:"vsgxSupported,omitempty"` - VsgxRemoteAttestationSupported *bool `xml:"vsgxRemoteAttestationSupported"` - SupportsTPM20 *bool `xml:"supportsTPM20"` - RecommendedTPM20 *bool `xml:"recommendedTPM20"` - VwdtSupported *bool `xml:"vwdtSupported"` -} - -func init() { - t["GuestOsDescriptor"] = reflect.TypeOf((*GuestOsDescriptor)(nil)).Elem() -} - -type GuestPermissionDenied struct { - GuestOperationsFault -} - -func init() { - t["GuestPermissionDenied"] = reflect.TypeOf((*GuestPermissionDenied)(nil)).Elem() -} - -type GuestPermissionDeniedFault GuestPermissionDenied - -func init() { - t["GuestPermissionDeniedFault"] = reflect.TypeOf((*GuestPermissionDeniedFault)(nil)).Elem() -} - -type GuestPosixFileAttributes struct { - GuestFileAttributes - - OwnerId *int32 `xml:"ownerId"` - GroupId *int32 `xml:"groupId"` - Permissions int64 `xml:"permissions,omitempty"` -} - -func init() { - t["GuestPosixFileAttributes"] = reflect.TypeOf((*GuestPosixFileAttributes)(nil)).Elem() -} - -type GuestProcessInfo struct { - DynamicData - - Name string `xml:"name"` - Pid int64 `xml:"pid"` - Owner string `xml:"owner"` - CmdLine string `xml:"cmdLine"` - StartTime time.Time `xml:"startTime"` - EndTime *time.Time `xml:"endTime"` - ExitCode int32 `xml:"exitCode,omitempty"` -} - -func init() { - t["GuestProcessInfo"] = reflect.TypeOf((*GuestProcessInfo)(nil)).Elem() -} - -type GuestProcessNotFound struct { - GuestOperationsFault - - Pid int64 `xml:"pid"` -} - -func init() { - t["GuestProcessNotFound"] = reflect.TypeOf((*GuestProcessNotFound)(nil)).Elem() -} - -type GuestProcessNotFoundFault GuestProcessNotFound - -func init() { - t["GuestProcessNotFoundFault"] = reflect.TypeOf((*GuestProcessNotFoundFault)(nil)).Elem() -} - -type GuestProgramSpec struct { - DynamicData - - ProgramPath string `xml:"programPath"` - Arguments string `xml:"arguments"` - WorkingDirectory string `xml:"workingDirectory,omitempty"` - EnvVariables []string `xml:"envVariables,omitempty"` -} - -func init() { - t["GuestProgramSpec"] = reflect.TypeOf((*GuestProgramSpec)(nil)).Elem() -} - -type GuestRegKeyNameSpec struct { - DynamicData - - RegistryPath string `xml:"registryPath"` - WowBitness string `xml:"wowBitness"` -} - -func init() { - t["GuestRegKeyNameSpec"] = reflect.TypeOf((*GuestRegKeyNameSpec)(nil)).Elem() -} - -type GuestRegKeyRecordSpec struct { - DynamicData - - Key GuestRegKeySpec `xml:"key"` - Fault *LocalizedMethodFault `xml:"fault,omitempty"` -} - -func init() { - t["GuestRegKeyRecordSpec"] = reflect.TypeOf((*GuestRegKeyRecordSpec)(nil)).Elem() -} - -type GuestRegKeySpec struct { - DynamicData - - KeyName GuestRegKeyNameSpec `xml:"keyName"` - ClassType string `xml:"classType"` - LastWritten time.Time `xml:"lastWritten"` -} - -func init() { - t["GuestRegKeySpec"] = reflect.TypeOf((*GuestRegKeySpec)(nil)).Elem() -} - -type GuestRegValueBinarySpec struct { - GuestRegValueDataSpec - - Value []byte `xml:"value,omitempty"` -} - -func init() { - t["GuestRegValueBinarySpec"] = reflect.TypeOf((*GuestRegValueBinarySpec)(nil)).Elem() -} - -type GuestRegValueDataSpec struct { - DynamicData -} - -func init() { - t["GuestRegValueDataSpec"] = reflect.TypeOf((*GuestRegValueDataSpec)(nil)).Elem() -} - -type GuestRegValueDwordSpec struct { - GuestRegValueDataSpec - - Value int32 `xml:"value"` -} - -func init() { - t["GuestRegValueDwordSpec"] = reflect.TypeOf((*GuestRegValueDwordSpec)(nil)).Elem() -} - -type GuestRegValueExpandStringSpec struct { - GuestRegValueDataSpec - - Value string `xml:"value,omitempty"` -} - -func init() { - t["GuestRegValueExpandStringSpec"] = reflect.TypeOf((*GuestRegValueExpandStringSpec)(nil)).Elem() -} - -type GuestRegValueMultiStringSpec struct { - GuestRegValueDataSpec - - Value []string `xml:"value,omitempty"` -} - -func init() { - t["GuestRegValueMultiStringSpec"] = reflect.TypeOf((*GuestRegValueMultiStringSpec)(nil)).Elem() -} - -type GuestRegValueNameSpec struct { - DynamicData - - KeyName GuestRegKeyNameSpec `xml:"keyName"` - Name string `xml:"name"` -} - -func init() { - t["GuestRegValueNameSpec"] = reflect.TypeOf((*GuestRegValueNameSpec)(nil)).Elem() -} - -type GuestRegValueQwordSpec struct { - GuestRegValueDataSpec - - Value int64 `xml:"value"` -} - -func init() { - t["GuestRegValueQwordSpec"] = reflect.TypeOf((*GuestRegValueQwordSpec)(nil)).Elem() -} - -type GuestRegValueSpec struct { - DynamicData - - Name GuestRegValueNameSpec `xml:"name"` - Data BaseGuestRegValueDataSpec `xml:"data,typeattr"` -} - -func init() { - t["GuestRegValueSpec"] = reflect.TypeOf((*GuestRegValueSpec)(nil)).Elem() -} - -type GuestRegValueStringSpec struct { - GuestRegValueDataSpec - - Value string `xml:"value,omitempty"` -} - -func init() { - t["GuestRegValueStringSpec"] = reflect.TypeOf((*GuestRegValueStringSpec)(nil)).Elem() -} - -type GuestRegistryFault struct { - GuestOperationsFault - - WindowsSystemErrorCode int64 `xml:"windowsSystemErrorCode"` -} - -func init() { - t["GuestRegistryFault"] = reflect.TypeOf((*GuestRegistryFault)(nil)).Elem() -} - -type GuestRegistryFaultFault BaseGuestRegistryFault - -func init() { - t["GuestRegistryFaultFault"] = reflect.TypeOf((*GuestRegistryFaultFault)(nil)).Elem() -} - -type GuestRegistryKeyAlreadyExists struct { - GuestRegistryKeyFault -} - -func init() { - t["GuestRegistryKeyAlreadyExists"] = reflect.TypeOf((*GuestRegistryKeyAlreadyExists)(nil)).Elem() -} - -type GuestRegistryKeyAlreadyExistsFault GuestRegistryKeyAlreadyExists - -func init() { - t["GuestRegistryKeyAlreadyExistsFault"] = reflect.TypeOf((*GuestRegistryKeyAlreadyExistsFault)(nil)).Elem() -} - -type GuestRegistryKeyFault struct { - GuestRegistryFault - - KeyName string `xml:"keyName"` -} - -func init() { - t["GuestRegistryKeyFault"] = reflect.TypeOf((*GuestRegistryKeyFault)(nil)).Elem() -} - -type GuestRegistryKeyFaultFault BaseGuestRegistryKeyFault - -func init() { - t["GuestRegistryKeyFaultFault"] = reflect.TypeOf((*GuestRegistryKeyFaultFault)(nil)).Elem() -} - -type GuestRegistryKeyHasSubkeys struct { - GuestRegistryKeyFault -} - -func init() { - t["GuestRegistryKeyHasSubkeys"] = reflect.TypeOf((*GuestRegistryKeyHasSubkeys)(nil)).Elem() -} - -type GuestRegistryKeyHasSubkeysFault GuestRegistryKeyHasSubkeys - -func init() { - t["GuestRegistryKeyHasSubkeysFault"] = reflect.TypeOf((*GuestRegistryKeyHasSubkeysFault)(nil)).Elem() -} - -type GuestRegistryKeyInvalid struct { - GuestRegistryKeyFault -} - -func init() { - t["GuestRegistryKeyInvalid"] = reflect.TypeOf((*GuestRegistryKeyInvalid)(nil)).Elem() -} - -type GuestRegistryKeyInvalidFault GuestRegistryKeyInvalid - -func init() { - t["GuestRegistryKeyInvalidFault"] = reflect.TypeOf((*GuestRegistryKeyInvalidFault)(nil)).Elem() -} - -type GuestRegistryKeyParentVolatile struct { - GuestRegistryKeyFault -} - -func init() { - t["GuestRegistryKeyParentVolatile"] = reflect.TypeOf((*GuestRegistryKeyParentVolatile)(nil)).Elem() -} - -type GuestRegistryKeyParentVolatileFault GuestRegistryKeyParentVolatile - -func init() { - t["GuestRegistryKeyParentVolatileFault"] = reflect.TypeOf((*GuestRegistryKeyParentVolatileFault)(nil)).Elem() -} - -type GuestRegistryValueFault struct { - GuestRegistryFault - - KeyName string `xml:"keyName"` - ValueName string `xml:"valueName"` -} - -func init() { - t["GuestRegistryValueFault"] = reflect.TypeOf((*GuestRegistryValueFault)(nil)).Elem() -} - -type GuestRegistryValueFaultFault BaseGuestRegistryValueFault - -func init() { - t["GuestRegistryValueFaultFault"] = reflect.TypeOf((*GuestRegistryValueFaultFault)(nil)).Elem() -} - -type GuestRegistryValueNotFound struct { - GuestRegistryValueFault -} - -func init() { - t["GuestRegistryValueNotFound"] = reflect.TypeOf((*GuestRegistryValueNotFound)(nil)).Elem() -} - -type GuestRegistryValueNotFoundFault GuestRegistryValueNotFound - -func init() { - t["GuestRegistryValueNotFoundFault"] = reflect.TypeOf((*GuestRegistryValueNotFoundFault)(nil)).Elem() -} - -type GuestScreenInfo struct { - DynamicData - - Width int32 `xml:"width"` - Height int32 `xml:"height"` -} - -func init() { - t["GuestScreenInfo"] = reflect.TypeOf((*GuestScreenInfo)(nil)).Elem() -} - -type GuestStackInfo struct { - DynamicData - - DnsConfig *NetDnsConfigInfo `xml:"dnsConfig,omitempty"` - IpRouteConfig *NetIpRouteConfigInfo `xml:"ipRouteConfig,omitempty"` - IpStackConfig []KeyValue `xml:"ipStackConfig,omitempty"` - DhcpConfig *NetDhcpConfigInfo `xml:"dhcpConfig,omitempty"` -} - -func init() { - t["GuestStackInfo"] = reflect.TypeOf((*GuestStackInfo)(nil)).Elem() -} - -type GuestWindowsFileAttributes struct { - GuestFileAttributes - - Hidden *bool `xml:"hidden"` - ReadOnly *bool `xml:"readOnly"` - CreateTime *time.Time `xml:"createTime"` -} - -func init() { - t["GuestWindowsFileAttributes"] = reflect.TypeOf((*GuestWindowsFileAttributes)(nil)).Elem() -} - -type GuestWindowsProgramSpec struct { - GuestProgramSpec - - StartMinimized bool `xml:"startMinimized"` -} - -func init() { - t["GuestWindowsProgramSpec"] = reflect.TypeOf((*GuestWindowsProgramSpec)(nil)).Elem() -} - -type HAErrorsAtDest struct { - MigrationFault -} - -func init() { - t["HAErrorsAtDest"] = reflect.TypeOf((*HAErrorsAtDest)(nil)).Elem() -} - -type HAErrorsAtDestFault HAErrorsAtDest - -func init() { - t["HAErrorsAtDestFault"] = reflect.TypeOf((*HAErrorsAtDestFault)(nil)).Elem() -} - -type HasMonitoredEntity HasMonitoredEntityRequestType - -func init() { - t["HasMonitoredEntity"] = reflect.TypeOf((*HasMonitoredEntity)(nil)).Elem() -} - -type HasMonitoredEntityRequestType struct { - This ManagedObjectReference `xml:"_this"` - ProviderId string `xml:"providerId"` - Entity ManagedObjectReference `xml:"entity"` -} - -func init() { - t["HasMonitoredEntityRequestType"] = reflect.TypeOf((*HasMonitoredEntityRequestType)(nil)).Elem() -} - -type HasMonitoredEntityResponse struct { - Returnval bool `xml:"returnval"` -} - -type HasPrivilegeOnEntities HasPrivilegeOnEntitiesRequestType - -func init() { - t["HasPrivilegeOnEntities"] = reflect.TypeOf((*HasPrivilegeOnEntities)(nil)).Elem() -} - -type HasPrivilegeOnEntitiesRequestType struct { - This ManagedObjectReference `xml:"_this"` - Entity []ManagedObjectReference `xml:"entity"` - SessionId string `xml:"sessionId"` - PrivId []string `xml:"privId,omitempty"` -} - -func init() { - t["HasPrivilegeOnEntitiesRequestType"] = reflect.TypeOf((*HasPrivilegeOnEntitiesRequestType)(nil)).Elem() -} - -type HasPrivilegeOnEntitiesResponse struct { - Returnval []EntityPrivilege `xml:"returnval,omitempty"` -} - -type HasPrivilegeOnEntity HasPrivilegeOnEntityRequestType - -func init() { - t["HasPrivilegeOnEntity"] = reflect.TypeOf((*HasPrivilegeOnEntity)(nil)).Elem() -} - -type HasPrivilegeOnEntityRequestType struct { - This ManagedObjectReference `xml:"_this"` - Entity ManagedObjectReference `xml:"entity"` - SessionId string `xml:"sessionId"` - PrivId []string `xml:"privId,omitempty"` -} - -func init() { - t["HasPrivilegeOnEntityRequestType"] = reflect.TypeOf((*HasPrivilegeOnEntityRequestType)(nil)).Elem() -} - -type HasPrivilegeOnEntityResponse struct { - Returnval []bool `xml:"returnval,omitempty"` -} - -type HasProvider HasProviderRequestType - -func init() { - t["HasProvider"] = reflect.TypeOf((*HasProvider)(nil)).Elem() -} - -type HasProviderRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id string `xml:"id"` -} - -func init() { - t["HasProviderRequestType"] = reflect.TypeOf((*HasProviderRequestType)(nil)).Elem() -} - -type HasProviderResponse struct { - Returnval bool `xml:"returnval"` -} - -type HasUserPrivilegeOnEntities HasUserPrivilegeOnEntitiesRequestType - -func init() { - t["HasUserPrivilegeOnEntities"] = reflect.TypeOf((*HasUserPrivilegeOnEntities)(nil)).Elem() -} - -type HasUserPrivilegeOnEntitiesRequestType struct { - This ManagedObjectReference `xml:"_this"` - Entities []ManagedObjectReference `xml:"entities"` - UserName string `xml:"userName"` - PrivId []string `xml:"privId,omitempty"` -} - -func init() { - t["HasUserPrivilegeOnEntitiesRequestType"] = reflect.TypeOf((*HasUserPrivilegeOnEntitiesRequestType)(nil)).Elem() -} - -type HasUserPrivilegeOnEntitiesResponse struct { - Returnval []EntityPrivilege `xml:"returnval,omitempty"` -} - -type HbrDiskMigrationAction struct { - ClusterAction - - CollectionId string `xml:"collectionId"` - CollectionName string `xml:"collectionName"` - DiskIds []string `xml:"diskIds"` - Source ManagedObjectReference `xml:"source"` - Destination ManagedObjectReference `xml:"destination"` - SizeTransferred int64 `xml:"sizeTransferred"` - SpaceUtilSrcBefore float32 `xml:"spaceUtilSrcBefore,omitempty"` - SpaceUtilDstBefore float32 `xml:"spaceUtilDstBefore,omitempty"` - SpaceUtilSrcAfter float32 `xml:"spaceUtilSrcAfter,omitempty"` - SpaceUtilDstAfter float32 `xml:"spaceUtilDstAfter,omitempty"` - IoLatencySrcBefore float32 `xml:"ioLatencySrcBefore,omitempty"` - IoLatencyDstBefore float32 `xml:"ioLatencyDstBefore,omitempty"` -} - -func init() { - t["HbrDiskMigrationAction"] = reflect.TypeOf((*HbrDiskMigrationAction)(nil)).Elem() -} - -type HbrManagerReplicationVmInfo struct { - DynamicData - - State string `xml:"state"` - ProgressInfo *ReplicationVmProgressInfo `xml:"progressInfo,omitempty"` - ImageId string `xml:"imageId,omitempty"` - LastError *LocalizedMethodFault `xml:"lastError,omitempty"` -} - -func init() { - t["HbrManagerReplicationVmInfo"] = reflect.TypeOf((*HbrManagerReplicationVmInfo)(nil)).Elem() -} - -type HbrManagerVmReplicationCapability struct { - DynamicData - - Vm ManagedObjectReference `xml:"vm"` - SupportedQuiesceMode string `xml:"supportedQuiesceMode"` - CompressionSupported bool `xml:"compressionSupported"` - MaxSupportedSourceDiskCapacity int64 `xml:"maxSupportedSourceDiskCapacity"` - MinRpo int64 `xml:"minRpo,omitempty"` - Fault *LocalizedMethodFault `xml:"fault,omitempty"` -} - -func init() { - t["HbrManagerVmReplicationCapability"] = reflect.TypeOf((*HbrManagerVmReplicationCapability)(nil)).Elem() -} - -type HealthStatusChangedEvent struct { - Event - - ComponentId string `xml:"componentId"` - OldStatus string `xml:"oldStatus"` - NewStatus string `xml:"newStatus"` - ComponentName string `xml:"componentName"` - ServiceId string `xml:"serviceId,omitempty"` -} - -func init() { - t["HealthStatusChangedEvent"] = reflect.TypeOf((*HealthStatusChangedEvent)(nil)).Elem() -} - -type HealthSystemRuntime struct { - DynamicData - - SystemHealthInfo *HostSystemHealthInfo `xml:"systemHealthInfo,omitempty"` - HardwareStatusInfo *HostHardwareStatusInfo `xml:"hardwareStatusInfo,omitempty"` -} - -func init() { - t["HealthSystemRuntime"] = reflect.TypeOf((*HealthSystemRuntime)(nil)).Elem() -} - -type HealthUpdate struct { - DynamicData - - Entity ManagedObjectReference `xml:"entity"` - HealthUpdateInfoId string `xml:"healthUpdateInfoId"` - Id string `xml:"id"` - Status ManagedEntityStatus `xml:"status"` - Remediation string `xml:"remediation"` -} - -func init() { - t["HealthUpdate"] = reflect.TypeOf((*HealthUpdate)(nil)).Elem() -} - -type HealthUpdateInfo struct { - DynamicData - - Id string `xml:"id"` - ComponentType string `xml:"componentType"` - Description string `xml:"description"` -} - -func init() { - t["HealthUpdateInfo"] = reflect.TypeOf((*HealthUpdateInfo)(nil)).Elem() -} - -type HeterogenousHostsBlockingEVC struct { - EVCConfigFault -} - -func init() { - t["HeterogenousHostsBlockingEVC"] = reflect.TypeOf((*HeterogenousHostsBlockingEVC)(nil)).Elem() -} - -type HeterogenousHostsBlockingEVCFault HeterogenousHostsBlockingEVC - -func init() { - t["HeterogenousHostsBlockingEVCFault"] = reflect.TypeOf((*HeterogenousHostsBlockingEVCFault)(nil)).Elem() -} - -type HostAccessControlEntry struct { - DynamicData - - Principal string `xml:"principal"` - Group bool `xml:"group"` - AccessMode HostAccessMode `xml:"accessMode"` -} - -func init() { - t["HostAccessControlEntry"] = reflect.TypeOf((*HostAccessControlEntry)(nil)).Elem() -} - -type HostAccessRestrictedToManagementServer struct { - NotSupported - - ManagementServer string `xml:"managementServer"` -} - -func init() { - t["HostAccessRestrictedToManagementServer"] = reflect.TypeOf((*HostAccessRestrictedToManagementServer)(nil)).Elem() -} - -type HostAccessRestrictedToManagementServerFault HostAccessRestrictedToManagementServer - -func init() { - t["HostAccessRestrictedToManagementServerFault"] = reflect.TypeOf((*HostAccessRestrictedToManagementServerFault)(nil)).Elem() -} - -type HostAccountSpec struct { - DynamicData - - Id string `xml:"id"` - Password string `xml:"password,omitempty"` - Description string `xml:"description,omitempty"` -} - -func init() { - t["HostAccountSpec"] = reflect.TypeOf((*HostAccountSpec)(nil)).Elem() -} - -type HostActiveDirectory struct { - DynamicData - - ChangeOperation string `xml:"changeOperation"` - Spec *HostActiveDirectorySpec `xml:"spec,omitempty"` -} - -func init() { - t["HostActiveDirectory"] = reflect.TypeOf((*HostActiveDirectory)(nil)).Elem() -} - -type HostActiveDirectoryInfo struct { - HostDirectoryStoreInfo - - JoinedDomain string `xml:"joinedDomain,omitempty"` - TrustedDomain []string `xml:"trustedDomain,omitempty"` - DomainMembershipStatus string `xml:"domainMembershipStatus,omitempty"` - SmartCardAuthenticationEnabled *bool `xml:"smartCardAuthenticationEnabled"` -} - -func init() { - t["HostActiveDirectoryInfo"] = reflect.TypeOf((*HostActiveDirectoryInfo)(nil)).Elem() -} - -type HostActiveDirectorySpec struct { - DynamicData - - DomainName string `xml:"domainName,omitempty"` - UserName string `xml:"userName,omitempty"` - Password string `xml:"password,omitempty"` - CamServer string `xml:"camServer,omitempty"` - Thumbprint string `xml:"thumbprint,omitempty"` - SmartCardAuthenticationEnabled *bool `xml:"smartCardAuthenticationEnabled"` - SmartCardTrustAnchors []string `xml:"smartCardTrustAnchors,omitempty"` -} - -func init() { - t["HostActiveDirectorySpec"] = reflect.TypeOf((*HostActiveDirectorySpec)(nil)).Elem() -} - -type HostAddFailedEvent struct { - HostEvent - - Hostname string `xml:"hostname"` -} - -func init() { - t["HostAddFailedEvent"] = reflect.TypeOf((*HostAddFailedEvent)(nil)).Elem() -} - -type HostAddedEvent struct { - HostEvent -} - -func init() { - t["HostAddedEvent"] = reflect.TypeOf((*HostAddedEvent)(nil)).Elem() -} - -type HostAdminDisableEvent struct { - HostEvent -} - -func init() { - t["HostAdminDisableEvent"] = reflect.TypeOf((*HostAdminDisableEvent)(nil)).Elem() -} - -type HostAdminEnableEvent struct { - HostEvent -} - -func init() { - t["HostAdminEnableEvent"] = reflect.TypeOf((*HostAdminEnableEvent)(nil)).Elem() -} - -type HostApplyProfile struct { - ApplyProfile - - Memory *HostMemoryProfile `xml:"memory,omitempty"` - Storage *StorageProfile `xml:"storage,omitempty"` - Network *NetworkProfile `xml:"network,omitempty"` - Datetime *DateTimeProfile `xml:"datetime,omitempty"` - Firewall *FirewallProfile `xml:"firewall,omitempty"` - Security *SecurityProfile `xml:"security,omitempty"` - Service []ServiceProfile `xml:"service,omitempty"` - Option []OptionProfile `xml:"option,omitempty"` - UserAccount []UserProfile `xml:"userAccount,omitempty"` - UsergroupAccount []UserGroupProfile `xml:"usergroupAccount,omitempty"` - Authentication *AuthenticationProfile `xml:"authentication,omitempty"` -} - -func init() { - t["HostApplyProfile"] = reflect.TypeOf((*HostApplyProfile)(nil)).Elem() -} - -type HostAssignableHardwareBinding struct { - DynamicData - - InstanceId string `xml:"instanceId"` - Vm ManagedObjectReference `xml:"vm"` -} - -func init() { - t["HostAssignableHardwareBinding"] = reflect.TypeOf((*HostAssignableHardwareBinding)(nil)).Elem() -} - -type HostAssignableHardwareConfig struct { - DynamicData - - AttributeOverride []HostAssignableHardwareConfigAttributeOverride `xml:"attributeOverride,omitempty"` -} - -func init() { - t["HostAssignableHardwareConfig"] = reflect.TypeOf((*HostAssignableHardwareConfig)(nil)).Elem() -} - -type HostAssignableHardwareConfigAttributeOverride struct { - DynamicData - - InstanceId string `xml:"instanceId"` - Name string `xml:"name"` - Value AnyType `xml:"value,typeattr"` -} - -func init() { - t["HostAssignableHardwareConfigAttributeOverride"] = reflect.TypeOf((*HostAssignableHardwareConfigAttributeOverride)(nil)).Elem() -} - -type HostAuthenticationManagerInfo struct { - DynamicData - - AuthConfig []BaseHostAuthenticationStoreInfo `xml:"authConfig,typeattr"` -} - -func init() { - t["HostAuthenticationManagerInfo"] = reflect.TypeOf((*HostAuthenticationManagerInfo)(nil)).Elem() -} - -type HostAuthenticationStoreInfo struct { - DynamicData - - Enabled bool `xml:"enabled"` -} - -func init() { - t["HostAuthenticationStoreInfo"] = reflect.TypeOf((*HostAuthenticationStoreInfo)(nil)).Elem() -} - -type HostAutoStartManagerConfig struct { - DynamicData - - Defaults *AutoStartDefaults `xml:"defaults,omitempty"` - PowerInfo []AutoStartPowerInfo `xml:"powerInfo,omitempty"` -} - -func init() { - t["HostAutoStartManagerConfig"] = reflect.TypeOf((*HostAutoStartManagerConfig)(nil)).Elem() -} - -type HostBIOSInfo struct { - DynamicData - - BiosVersion string `xml:"biosVersion,omitempty"` - ReleaseDate *time.Time `xml:"releaseDate"` - Vendor string `xml:"vendor,omitempty"` - MajorRelease int32 `xml:"majorRelease,omitempty"` - MinorRelease int32 `xml:"minorRelease,omitempty"` - FirmwareMajorRelease int32 `xml:"firmwareMajorRelease,omitempty"` - FirmwareMinorRelease int32 `xml:"firmwareMinorRelease,omitempty"` -} - -func init() { - t["HostBIOSInfo"] = reflect.TypeOf((*HostBIOSInfo)(nil)).Elem() -} - -type HostBlockAdapterTargetTransport struct { - HostTargetTransport -} - -func init() { - t["HostBlockAdapterTargetTransport"] = reflect.TypeOf((*HostBlockAdapterTargetTransport)(nil)).Elem() -} - -type HostBlockHba struct { - HostHostBusAdapter -} - -func init() { - t["HostBlockHba"] = reflect.TypeOf((*HostBlockHba)(nil)).Elem() -} - -type HostBootDevice struct { - DynamicData - - Key string `xml:"key"` - Description string `xml:"description"` -} - -func init() { - t["HostBootDevice"] = reflect.TypeOf((*HostBootDevice)(nil)).Elem() -} - -type HostBootDeviceInfo struct { - DynamicData - - BootDevices []HostBootDevice `xml:"bootDevices,omitempty"` - CurrentBootDeviceKey string `xml:"currentBootDeviceKey,omitempty"` -} - -func init() { - t["HostBootDeviceInfo"] = reflect.TypeOf((*HostBootDeviceInfo)(nil)).Elem() -} - -type HostCacheConfigurationInfo struct { - DynamicData - - Key ManagedObjectReference `xml:"key"` - SwapSize int64 `xml:"swapSize"` -} - -func init() { - t["HostCacheConfigurationInfo"] = reflect.TypeOf((*HostCacheConfigurationInfo)(nil)).Elem() -} - -type HostCacheConfigurationSpec struct { - DynamicData - - Datastore ManagedObjectReference `xml:"datastore"` - SwapSize int64 `xml:"swapSize"` -} - -func init() { - t["HostCacheConfigurationSpec"] = reflect.TypeOf((*HostCacheConfigurationSpec)(nil)).Elem() -} - -type HostCapability struct { - DynamicData - - RecursiveResourcePoolsSupported bool `xml:"recursiveResourcePoolsSupported"` - CpuMemoryResourceConfigurationSupported bool `xml:"cpuMemoryResourceConfigurationSupported"` - RebootSupported bool `xml:"rebootSupported"` - ShutdownSupported bool `xml:"shutdownSupported"` - VmotionSupported bool `xml:"vmotionSupported"` - StandbySupported bool `xml:"standbySupported"` - IpmiSupported *bool `xml:"ipmiSupported"` - MaxSupportedVMs int32 `xml:"maxSupportedVMs,omitempty"` - MaxRunningVMs int32 `xml:"maxRunningVMs,omitempty"` - MaxSupportedVcpus int32 `xml:"maxSupportedVcpus,omitempty"` - MaxRegisteredVMs int32 `xml:"maxRegisteredVMs,omitempty"` - DatastorePrincipalSupported bool `xml:"datastorePrincipalSupported"` - SanSupported bool `xml:"sanSupported"` - NfsSupported bool `xml:"nfsSupported"` - IscsiSupported bool `xml:"iscsiSupported"` - VlanTaggingSupported bool `xml:"vlanTaggingSupported"` - NicTeamingSupported bool `xml:"nicTeamingSupported"` - HighGuestMemSupported bool `xml:"highGuestMemSupported"` - MaintenanceModeSupported bool `xml:"maintenanceModeSupported"` - SuspendedRelocateSupported bool `xml:"suspendedRelocateSupported"` - RestrictedSnapshotRelocateSupported bool `xml:"restrictedSnapshotRelocateSupported"` - PerVmSwapFiles bool `xml:"perVmSwapFiles"` - LocalSwapDatastoreSupported bool `xml:"localSwapDatastoreSupported"` - UnsharedSwapVMotionSupported bool `xml:"unsharedSwapVMotionSupported"` - BackgroundSnapshotsSupported bool `xml:"backgroundSnapshotsSupported"` - PreAssignedPCIUnitNumbersSupported bool `xml:"preAssignedPCIUnitNumbersSupported"` - ScreenshotSupported bool `xml:"screenshotSupported"` - ScaledScreenshotSupported bool `xml:"scaledScreenshotSupported"` - StorageVMotionSupported *bool `xml:"storageVMotionSupported"` - VmotionWithStorageVMotionSupported *bool `xml:"vmotionWithStorageVMotionSupported"` - VmotionAcrossNetworkSupported *bool `xml:"vmotionAcrossNetworkSupported"` - MaxNumDisksSVMotion int32 `xml:"maxNumDisksSVMotion,omitempty"` - HbrNicSelectionSupported *bool `xml:"hbrNicSelectionSupported"` - VrNfcNicSelectionSupported *bool `xml:"vrNfcNicSelectionSupported"` - RecordReplaySupported *bool `xml:"recordReplaySupported"` - FtSupported *bool `xml:"ftSupported"` - ReplayUnsupportedReason string `xml:"replayUnsupportedReason,omitempty"` - ReplayCompatibilityIssues []string `xml:"replayCompatibilityIssues,omitempty"` - SmpFtSupported *bool `xml:"smpFtSupported"` - FtCompatibilityIssues []string `xml:"ftCompatibilityIssues,omitempty"` - SmpFtCompatibilityIssues []string `xml:"smpFtCompatibilityIssues,omitempty"` - MaxVcpusPerFtVm int32 `xml:"maxVcpusPerFtVm,omitempty"` - LoginBySSLThumbprintSupported *bool `xml:"loginBySSLThumbprintSupported"` - CloneFromSnapshotSupported *bool `xml:"cloneFromSnapshotSupported"` - DeltaDiskBackingsSupported *bool `xml:"deltaDiskBackingsSupported"` - PerVMNetworkTrafficShapingSupported *bool `xml:"perVMNetworkTrafficShapingSupported"` - TpmSupported *bool `xml:"tpmSupported"` - TpmVersion string `xml:"tpmVersion,omitempty"` - TxtEnabled *bool `xml:"txtEnabled"` - SupportedCpuFeature []HostCpuIdInfo `xml:"supportedCpuFeature,omitempty"` - VirtualExecUsageSupported *bool `xml:"virtualExecUsageSupported"` - StorageIORMSupported *bool `xml:"storageIORMSupported"` - VmDirectPathGen2Supported *bool `xml:"vmDirectPathGen2Supported"` - VmDirectPathGen2UnsupportedReason []string `xml:"vmDirectPathGen2UnsupportedReason,omitempty"` - VmDirectPathGen2UnsupportedReasonExtended string `xml:"vmDirectPathGen2UnsupportedReasonExtended,omitempty"` - SupportedVmfsMajorVersion []int32 `xml:"supportedVmfsMajorVersion,omitempty"` - VStorageCapable *bool `xml:"vStorageCapable"` - SnapshotRelayoutSupported *bool `xml:"snapshotRelayoutSupported"` - FirewallIpRulesSupported *bool `xml:"firewallIpRulesSupported"` - ServicePackageInfoSupported *bool `xml:"servicePackageInfoSupported"` - MaxHostRunningVms int32 `xml:"maxHostRunningVms,omitempty"` - MaxHostSupportedVcpus int32 `xml:"maxHostSupportedVcpus,omitempty"` - VmfsDatastoreMountCapable *bool `xml:"vmfsDatastoreMountCapable"` - EightPlusHostVmfsSharedAccessSupported *bool `xml:"eightPlusHostVmfsSharedAccessSupported"` - NestedHVSupported *bool `xml:"nestedHVSupported"` - VPMCSupported *bool `xml:"vPMCSupported"` - InterVMCommunicationThroughVMCISupported *bool `xml:"interVMCommunicationThroughVMCISupported"` - ScheduledHardwareUpgradeSupported *bool `xml:"scheduledHardwareUpgradeSupported"` - FeatureCapabilitiesSupported *bool `xml:"featureCapabilitiesSupported"` - LatencySensitivitySupported *bool `xml:"latencySensitivitySupported"` - StoragePolicySupported *bool `xml:"storagePolicySupported"` - Accel3dSupported *bool `xml:"accel3dSupported"` - ReliableMemoryAware *bool `xml:"reliableMemoryAware"` - MultipleNetworkStackInstanceSupported *bool `xml:"multipleNetworkStackInstanceSupported"` - MessageBusProxySupported *bool `xml:"messageBusProxySupported"` - VsanSupported *bool `xml:"vsanSupported"` - VFlashSupported *bool `xml:"vFlashSupported"` - HostAccessManagerSupported *bool `xml:"hostAccessManagerSupported"` - ProvisioningNicSelectionSupported *bool `xml:"provisioningNicSelectionSupported"` - Nfs41Supported *bool `xml:"nfs41Supported"` - Nfs41Krb5iSupported *bool `xml:"nfs41Krb5iSupported"` - TurnDiskLocatorLedSupported *bool `xml:"turnDiskLocatorLedSupported"` - VirtualVolumeDatastoreSupported *bool `xml:"virtualVolumeDatastoreSupported"` - MarkAsSsdSupported *bool `xml:"markAsSsdSupported"` - MarkAsLocalSupported *bool `xml:"markAsLocalSupported"` - SmartCardAuthenticationSupported *bool `xml:"smartCardAuthenticationSupported"` - PMemSupported *bool `xml:"pMemSupported"` - PMemSnapshotSupported *bool `xml:"pMemSnapshotSupported"` - CryptoSupported *bool `xml:"cryptoSupported"` - OneKVolumeAPIsSupported *bool `xml:"oneKVolumeAPIsSupported"` - GatewayOnNicSupported *bool `xml:"gatewayOnNicSupported"` - UpitSupported *bool `xml:"upitSupported"` - CpuHwMmuSupported *bool `xml:"cpuHwMmuSupported"` - EncryptedVMotionSupported *bool `xml:"encryptedVMotionSupported"` - EncryptionChangeOnAddRemoveSupported *bool `xml:"encryptionChangeOnAddRemoveSupported"` - EncryptionHotOperationSupported *bool `xml:"encryptionHotOperationSupported"` - EncryptionWithSnapshotsSupported *bool `xml:"encryptionWithSnapshotsSupported"` - EncryptionFaultToleranceSupported *bool `xml:"encryptionFaultToleranceSupported"` - EncryptionMemorySaveSupported *bool `xml:"encryptionMemorySaveSupported"` - EncryptionRDMSupported *bool `xml:"encryptionRDMSupported"` - EncryptionVFlashSupported *bool `xml:"encryptionVFlashSupported"` - EncryptionCBRCSupported *bool `xml:"encryptionCBRCSupported"` - EncryptionHBRSupported *bool `xml:"encryptionHBRSupported"` - FtEfiSupported *bool `xml:"ftEfiSupported"` - UnmapMethodSupported string `xml:"unmapMethodSupported,omitempty"` - MaxMemMBPerFtVm int32 `xml:"maxMemMBPerFtVm,omitempty"` - VirtualMmuUsageIgnored *bool `xml:"virtualMmuUsageIgnored"` - VirtualExecUsageIgnored *bool `xml:"virtualExecUsageIgnored"` - VmCreateDateSupported *bool `xml:"vmCreateDateSupported"` - Vmfs3EOLSupported *bool `xml:"vmfs3EOLSupported"` - FtVmcpSupported *bool `xml:"ftVmcpSupported"` - QuickBootSupported *bool `xml:"quickBootSupported"` - EncryptedFtSupported *bool `xml:"encryptedFtSupported"` - AssignableHardwareSupported *bool `xml:"assignableHardwareSupported"` - SuspendToMemorySupported *bool `xml:"suspendToMemorySupported"` - UseFeatureReqsForOldHWv *bool `xml:"useFeatureReqsForOldHWv"` - MarkPerenniallyReservedSupported *bool `xml:"markPerenniallyReservedSupported"` - HppPspSupported *bool `xml:"hppPspSupported"` - DeviceRebindWithoutRebootSupported *bool `xml:"deviceRebindWithoutRebootSupported"` - StoragePolicyChangeSupported *bool `xml:"storagePolicyChangeSupported"` - PrecisionTimeProtocolSupported *bool `xml:"precisionTimeProtocolSupported"` - RemoteDeviceVMotionSupported *bool `xml:"remoteDeviceVMotionSupported"` - MaxSupportedVmMemory int32 `xml:"maxSupportedVmMemory,omitempty"` - AhDeviceHintsSupported *bool `xml:"ahDeviceHintsSupported"` - NvmeOverTcpSupported *bool `xml:"nvmeOverTcpSupported"` - NvmeStorageFabricServicesSupported *bool `xml:"nvmeStorageFabricServicesSupported"` - AssignHwPciConfigSupported *bool `xml:"assignHwPciConfigSupported"` - TimeConfigSupported *bool `xml:"timeConfigSupported"` - NvmeBatchOperationsSupported *bool `xml:"nvmeBatchOperationsSupported"` - PMemFailoverSupported *bool `xml:"pMemFailoverSupported"` - HostConfigEncryptionSupported *bool `xml:"hostConfigEncryptionSupported"` - MaxSupportedSimultaneousThreads int32 `xml:"maxSupportedSimultaneousThreads,omitempty"` - PtpConfigSupported *bool `xml:"ptpConfigSupported"` - MaxSupportedPtpPorts int32 `xml:"maxSupportedPtpPorts,omitempty"` - SgxRegistrationSupported *bool `xml:"sgxRegistrationSupported"` - PMemIndependentSnapshotSupported *bool `xml:"pMemIndependentSnapshotSupported"` - IommuSLDirtyCapable *bool `xml:"iommuSLDirtyCapable"` - UltralowFixedUnmapSupported *bool `xml:"ultralowFixedUnmapSupported"` - NvmeVvolSupported *bool `xml:"nvmeVvolSupported"` -} - -func init() { - t["HostCapability"] = reflect.TypeOf((*HostCapability)(nil)).Elem() -} - -type HostCertificateManagerCertificateInfo struct { - DynamicData - - Issuer string `xml:"issuer,omitempty"` - NotBefore *time.Time `xml:"notBefore"` - NotAfter *time.Time `xml:"notAfter"` - Subject string `xml:"subject,omitempty"` - Status string `xml:"status"` -} - -func init() { - t["HostCertificateManagerCertificateInfo"] = reflect.TypeOf((*HostCertificateManagerCertificateInfo)(nil)).Elem() -} - -type HostClearVStorageObjectControlFlags HostClearVStorageObjectControlFlagsRequestType - -func init() { - t["HostClearVStorageObjectControlFlags"] = reflect.TypeOf((*HostClearVStorageObjectControlFlags)(nil)).Elem() -} - -type HostClearVStorageObjectControlFlagsRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id ID `xml:"id"` - Datastore ManagedObjectReference `xml:"datastore"` - ControlFlags []string `xml:"controlFlags,omitempty"` -} - -func init() { - t["HostClearVStorageObjectControlFlagsRequestType"] = reflect.TypeOf((*HostClearVStorageObjectControlFlagsRequestType)(nil)).Elem() -} - -type HostClearVStorageObjectControlFlagsResponse struct { -} - -type HostCloneVStorageObjectRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id ID `xml:"id"` - Datastore ManagedObjectReference `xml:"datastore"` - Spec VslmCloneSpec `xml:"spec"` -} - -func init() { - t["HostCloneVStorageObjectRequestType"] = reflect.TypeOf((*HostCloneVStorageObjectRequestType)(nil)).Elem() -} - -type HostCloneVStorageObject_Task HostCloneVStorageObjectRequestType - -func init() { - t["HostCloneVStorageObject_Task"] = reflect.TypeOf((*HostCloneVStorageObject_Task)(nil)).Elem() -} - -type HostCloneVStorageObject_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type HostCnxFailedAccountFailedEvent struct { - HostEvent -} - -func init() { - t["HostCnxFailedAccountFailedEvent"] = reflect.TypeOf((*HostCnxFailedAccountFailedEvent)(nil)).Elem() -} - -type HostCnxFailedAlreadyManagedEvent struct { - HostEvent - - ServerName string `xml:"serverName"` -} - -func init() { - t["HostCnxFailedAlreadyManagedEvent"] = reflect.TypeOf((*HostCnxFailedAlreadyManagedEvent)(nil)).Elem() -} - -type HostCnxFailedBadCcagentEvent struct { - HostEvent -} - -func init() { - t["HostCnxFailedBadCcagentEvent"] = reflect.TypeOf((*HostCnxFailedBadCcagentEvent)(nil)).Elem() -} - -type HostCnxFailedBadUsernameEvent struct { - HostEvent -} - -func init() { - t["HostCnxFailedBadUsernameEvent"] = reflect.TypeOf((*HostCnxFailedBadUsernameEvent)(nil)).Elem() -} - -type HostCnxFailedBadVersionEvent struct { - HostEvent -} - -func init() { - t["HostCnxFailedBadVersionEvent"] = reflect.TypeOf((*HostCnxFailedBadVersionEvent)(nil)).Elem() -} - -type HostCnxFailedCcagentUpgradeEvent struct { - HostEvent -} - -func init() { - t["HostCnxFailedCcagentUpgradeEvent"] = reflect.TypeOf((*HostCnxFailedCcagentUpgradeEvent)(nil)).Elem() -} - -type HostCnxFailedEvent struct { - HostEvent -} - -func init() { - t["HostCnxFailedEvent"] = reflect.TypeOf((*HostCnxFailedEvent)(nil)).Elem() -} - -type HostCnxFailedNetworkErrorEvent struct { - HostEvent -} - -func init() { - t["HostCnxFailedNetworkErrorEvent"] = reflect.TypeOf((*HostCnxFailedNetworkErrorEvent)(nil)).Elem() -} - -type HostCnxFailedNoAccessEvent struct { - HostEvent -} - -func init() { - t["HostCnxFailedNoAccessEvent"] = reflect.TypeOf((*HostCnxFailedNoAccessEvent)(nil)).Elem() -} - -type HostCnxFailedNoConnectionEvent struct { - HostEvent -} - -func init() { - t["HostCnxFailedNoConnectionEvent"] = reflect.TypeOf((*HostCnxFailedNoConnectionEvent)(nil)).Elem() -} - -type HostCnxFailedNoLicenseEvent struct { - HostEvent -} - -func init() { - t["HostCnxFailedNoLicenseEvent"] = reflect.TypeOf((*HostCnxFailedNoLicenseEvent)(nil)).Elem() -} - -type HostCnxFailedNotFoundEvent struct { - HostEvent -} - -func init() { - t["HostCnxFailedNotFoundEvent"] = reflect.TypeOf((*HostCnxFailedNotFoundEvent)(nil)).Elem() -} - -type HostCnxFailedTimeoutEvent struct { - HostEvent -} - -func init() { - t["HostCnxFailedTimeoutEvent"] = reflect.TypeOf((*HostCnxFailedTimeoutEvent)(nil)).Elem() -} - -type HostCommunication struct { - RuntimeFault -} - -func init() { - t["HostCommunication"] = reflect.TypeOf((*HostCommunication)(nil)).Elem() -} - -type HostCommunicationFault BaseHostCommunication - -func init() { - t["HostCommunicationFault"] = reflect.TypeOf((*HostCommunicationFault)(nil)).Elem() -} - -type HostComplianceCheckedEvent struct { - HostEvent - - Profile ProfileEventArgument `xml:"profile"` -} - -func init() { - t["HostComplianceCheckedEvent"] = reflect.TypeOf((*HostComplianceCheckedEvent)(nil)).Elem() -} - -type HostCompliantEvent struct { - HostEvent -} - -func init() { - t["HostCompliantEvent"] = reflect.TypeOf((*HostCompliantEvent)(nil)).Elem() -} - -type HostConfigAppliedEvent struct { - HostEvent -} - -func init() { - t["HostConfigAppliedEvent"] = reflect.TypeOf((*HostConfigAppliedEvent)(nil)).Elem() -} - -type HostConfigChange struct { - DynamicData -} - -func init() { - t["HostConfigChange"] = reflect.TypeOf((*HostConfigChange)(nil)).Elem() -} - -type HostConfigFailed struct { - HostConfigFault - - Failure []LocalizedMethodFault `xml:"failure"` -} - -func init() { - t["HostConfigFailed"] = reflect.TypeOf((*HostConfigFailed)(nil)).Elem() -} - -type HostConfigFailedFault HostConfigFailed - -func init() { - t["HostConfigFailedFault"] = reflect.TypeOf((*HostConfigFailedFault)(nil)).Elem() -} - -type HostConfigFault struct { - VimFault -} - -func init() { - t["HostConfigFault"] = reflect.TypeOf((*HostConfigFault)(nil)).Elem() -} - -type HostConfigFaultFault BaseHostConfigFault - -func init() { - t["HostConfigFaultFault"] = reflect.TypeOf((*HostConfigFaultFault)(nil)).Elem() -} - -type HostConfigInfo struct { - DynamicData - - Host ManagedObjectReference `xml:"host"` - Product AboutInfo `xml:"product"` - DeploymentInfo *HostDeploymentInfo `xml:"deploymentInfo,omitempty"` - HyperThread *HostHyperThreadScheduleInfo `xml:"hyperThread,omitempty"` - ConsoleReservation *ServiceConsoleReservationInfo `xml:"consoleReservation,omitempty"` - VirtualMachineReservation *VirtualMachineMemoryReservationInfo `xml:"virtualMachineReservation,omitempty"` - StorageDevice *HostStorageDeviceInfo `xml:"storageDevice,omitempty"` - MultipathState *HostMultipathStateInfo `xml:"multipathState,omitempty"` - FileSystemVolume *HostFileSystemVolumeInfo `xml:"fileSystemVolume,omitempty"` - SystemFile []string `xml:"systemFile,omitempty"` - Network *HostNetworkInfo `xml:"network,omitempty"` - Vmotion *HostVMotionInfo `xml:"vmotion,omitempty"` - VirtualNicManagerInfo *HostVirtualNicManagerInfo `xml:"virtualNicManagerInfo,omitempty"` - Capabilities *HostNetCapabilities `xml:"capabilities,omitempty"` - DatastoreCapabilities *HostDatastoreSystemCapabilities `xml:"datastoreCapabilities,omitempty"` - OffloadCapabilities *HostNetOffloadCapabilities `xml:"offloadCapabilities,omitempty"` - Service *HostServiceInfo `xml:"service,omitempty"` - Firewall *HostFirewallInfo `xml:"firewall,omitempty"` - AutoStart *HostAutoStartManagerConfig `xml:"autoStart,omitempty"` - ActiveDiagnosticPartition *HostDiagnosticPartition `xml:"activeDiagnosticPartition,omitempty"` - Option []BaseOptionValue `xml:"option,omitempty,typeattr"` - OptionDef []OptionDef `xml:"optionDef,omitempty"` - DatastorePrincipal string `xml:"datastorePrincipal,omitempty"` - LocalSwapDatastore *ManagedObjectReference `xml:"localSwapDatastore,omitempty"` - SystemSwapConfiguration *HostSystemSwapConfiguration `xml:"systemSwapConfiguration,omitempty"` - SystemResources *HostSystemResourceInfo `xml:"systemResources,omitempty"` - DateTimeInfo *HostDateTimeInfo `xml:"dateTimeInfo,omitempty"` - Flags *HostFlagInfo `xml:"flags,omitempty"` - AdminDisabled *bool `xml:"adminDisabled"` - LockdownMode HostLockdownMode `xml:"lockdownMode,omitempty"` - Ipmi *HostIpmiInfo `xml:"ipmi,omitempty"` - SslThumbprintInfo *HostSslThumbprintInfo `xml:"sslThumbprintInfo,omitempty"` - SslThumbprintData []HostSslThumbprintInfo `xml:"sslThumbprintData,omitempty"` - Certificate []byte `xml:"certificate,omitempty"` - PciPassthruInfo []BaseHostPciPassthruInfo `xml:"pciPassthruInfo,omitempty,typeattr"` - AuthenticationManagerInfo *HostAuthenticationManagerInfo `xml:"authenticationManagerInfo,omitempty"` - FeatureVersion []HostFeatureVersionInfo `xml:"featureVersion,omitempty"` - PowerSystemCapability *PowerSystemCapability `xml:"powerSystemCapability,omitempty"` - PowerSystemInfo *PowerSystemInfo `xml:"powerSystemInfo,omitempty"` - CacheConfigurationInfo []HostCacheConfigurationInfo `xml:"cacheConfigurationInfo,omitempty"` - WakeOnLanCapable *bool `xml:"wakeOnLanCapable"` - FeatureCapability []HostFeatureCapability `xml:"featureCapability,omitempty"` - MaskedFeatureCapability []HostFeatureCapability `xml:"maskedFeatureCapability,omitempty"` - VFlashConfigInfo *HostVFlashManagerVFlashConfigInfo `xml:"vFlashConfigInfo,omitempty"` - VsanHostConfig *VsanHostConfigInfo `xml:"vsanHostConfig,omitempty"` - DomainList []string `xml:"domainList,omitempty"` - ScriptCheckSum []byte `xml:"scriptCheckSum,omitempty"` - HostConfigCheckSum []byte `xml:"hostConfigCheckSum,omitempty"` - DescriptionTreeCheckSum []byte `xml:"descriptionTreeCheckSum,omitempty"` - GraphicsInfo []HostGraphicsInfo `xml:"graphicsInfo,omitempty"` - SharedPassthruGpuTypes []string `xml:"sharedPassthruGpuTypes,omitempty"` - GraphicsConfig *HostGraphicsConfig `xml:"graphicsConfig,omitempty"` - SharedGpuCapabilities []HostSharedGpuCapabilities `xml:"sharedGpuCapabilities,omitempty"` - IoFilterInfo []HostIoFilterInfo `xml:"ioFilterInfo,omitempty"` - SriovDevicePool []BaseHostSriovDevicePoolInfo `xml:"sriovDevicePool,omitempty,typeattr"` - AssignableHardwareBinding []HostAssignableHardwareBinding `xml:"assignableHardwareBinding,omitempty"` - AssignableHardwareConfig *HostAssignableHardwareConfig `xml:"assignableHardwareConfig,omitempty"` -} - -func init() { - t["HostConfigInfo"] = reflect.TypeOf((*HostConfigInfo)(nil)).Elem() -} - -type HostConfigManager struct { - DynamicData - - CpuScheduler *ManagedObjectReference `xml:"cpuScheduler,omitempty"` - DatastoreSystem *ManagedObjectReference `xml:"datastoreSystem,omitempty"` - MemoryManager *ManagedObjectReference `xml:"memoryManager,omitempty"` - StorageSystem *ManagedObjectReference `xml:"storageSystem,omitempty"` - NetworkSystem *ManagedObjectReference `xml:"networkSystem,omitempty"` - VmotionSystem *ManagedObjectReference `xml:"vmotionSystem,omitempty"` - VirtualNicManager *ManagedObjectReference `xml:"virtualNicManager,omitempty"` - ServiceSystem *ManagedObjectReference `xml:"serviceSystem,omitempty"` - FirewallSystem *ManagedObjectReference `xml:"firewallSystem,omitempty"` - AdvancedOption *ManagedObjectReference `xml:"advancedOption,omitempty"` - DiagnosticSystem *ManagedObjectReference `xml:"diagnosticSystem,omitempty"` - AutoStartManager *ManagedObjectReference `xml:"autoStartManager,omitempty"` - SnmpSystem *ManagedObjectReference `xml:"snmpSystem,omitempty"` - DateTimeSystem *ManagedObjectReference `xml:"dateTimeSystem,omitempty"` - PatchManager *ManagedObjectReference `xml:"patchManager,omitempty"` - ImageConfigManager *ManagedObjectReference `xml:"imageConfigManager,omitempty"` - BootDeviceSystem *ManagedObjectReference `xml:"bootDeviceSystem,omitempty"` - FirmwareSystem *ManagedObjectReference `xml:"firmwareSystem,omitempty"` - HealthStatusSystem *ManagedObjectReference `xml:"healthStatusSystem,omitempty"` - PciPassthruSystem *ManagedObjectReference `xml:"pciPassthruSystem,omitempty"` - LicenseManager *ManagedObjectReference `xml:"licenseManager,omitempty"` - KernelModuleSystem *ManagedObjectReference `xml:"kernelModuleSystem,omitempty"` - AuthenticationManager *ManagedObjectReference `xml:"authenticationManager,omitempty"` - PowerSystem *ManagedObjectReference `xml:"powerSystem,omitempty"` - CacheConfigurationManager *ManagedObjectReference `xml:"cacheConfigurationManager,omitempty"` - EsxAgentHostManager *ManagedObjectReference `xml:"esxAgentHostManager,omitempty"` - IscsiManager *ManagedObjectReference `xml:"iscsiManager,omitempty"` - VFlashManager *ManagedObjectReference `xml:"vFlashManager,omitempty"` - VsanSystem *ManagedObjectReference `xml:"vsanSystem,omitempty"` - MessageBusProxy *ManagedObjectReference `xml:"messageBusProxy,omitempty"` - UserDirectory *ManagedObjectReference `xml:"userDirectory,omitempty"` - AccountManager *ManagedObjectReference `xml:"accountManager,omitempty"` - HostAccessManager *ManagedObjectReference `xml:"hostAccessManager,omitempty"` - GraphicsManager *ManagedObjectReference `xml:"graphicsManager,omitempty"` - VsanInternalSystem *ManagedObjectReference `xml:"vsanInternalSystem,omitempty"` - CertificateManager *ManagedObjectReference `xml:"certificateManager,omitempty"` - CryptoManager *ManagedObjectReference `xml:"cryptoManager,omitempty"` - NvdimmSystem *ManagedObjectReference `xml:"nvdimmSystem,omitempty"` - AssignableHardwareManager *ManagedObjectReference `xml:"assignableHardwareManager,omitempty"` -} - -func init() { - t["HostConfigManager"] = reflect.TypeOf((*HostConfigManager)(nil)).Elem() -} - -type HostConfigSpec struct { - DynamicData - - NasDatastore []HostNasVolumeConfig `xml:"nasDatastore,omitempty"` - Network *HostNetworkConfig `xml:"network,omitempty"` - NicTypeSelection []HostVirtualNicManagerNicTypeSelection `xml:"nicTypeSelection,omitempty"` - Service []HostServiceConfig `xml:"service,omitempty"` - Firewall *HostFirewallConfig `xml:"firewall,omitempty"` - Option []BaseOptionValue `xml:"option,omitempty,typeattr"` - DatastorePrincipal string `xml:"datastorePrincipal,omitempty"` - DatastorePrincipalPasswd string `xml:"datastorePrincipalPasswd,omitempty"` - Datetime *HostDateTimeConfig `xml:"datetime,omitempty"` - StorageDevice *HostStorageDeviceInfo `xml:"storageDevice,omitempty"` - License *HostLicenseSpec `xml:"license,omitempty"` - Security *HostSecuritySpec `xml:"security,omitempty"` - UserAccount []BaseHostAccountSpec `xml:"userAccount,omitempty,typeattr"` - UsergroupAccount []BaseHostAccountSpec `xml:"usergroupAccount,omitempty,typeattr"` - Memory *HostMemorySpec `xml:"memory,omitempty"` - ActiveDirectory []HostActiveDirectory `xml:"activeDirectory,omitempty"` - GenericConfig []KeyAnyValue `xml:"genericConfig,omitempty"` - GraphicsConfig *HostGraphicsConfig `xml:"graphicsConfig,omitempty"` - AssignableHardwareConfig *HostAssignableHardwareConfig `xml:"assignableHardwareConfig,omitempty"` -} - -func init() { - t["HostConfigSpec"] = reflect.TypeOf((*HostConfigSpec)(nil)).Elem() -} - -type HostConfigSummary struct { - DynamicData - - Name string `xml:"name"` - Port int32 `xml:"port"` - SslThumbprint string `xml:"sslThumbprint,omitempty"` - Product *AboutInfo `xml:"product,omitempty"` - VmotionEnabled bool `xml:"vmotionEnabled"` - FaultToleranceEnabled *bool `xml:"faultToleranceEnabled"` - FeatureVersion []HostFeatureVersionInfo `xml:"featureVersion,omitempty"` - AgentVmDatastore *ManagedObjectReference `xml:"agentVmDatastore,omitempty"` - AgentVmNetwork *ManagedObjectReference `xml:"agentVmNetwork,omitempty"` -} - -func init() { - t["HostConfigSummary"] = reflect.TypeOf((*HostConfigSummary)(nil)).Elem() -} - -type HostConfigVFlashCache HostConfigVFlashCacheRequestType - -func init() { - t["HostConfigVFlashCache"] = reflect.TypeOf((*HostConfigVFlashCache)(nil)).Elem() -} - -type HostConfigVFlashCacheRequestType struct { - This ManagedObjectReference `xml:"_this"` - Spec HostVFlashManagerVFlashCacheConfigSpec `xml:"spec"` -} - -func init() { - t["HostConfigVFlashCacheRequestType"] = reflect.TypeOf((*HostConfigVFlashCacheRequestType)(nil)).Elem() -} - -type HostConfigVFlashCacheResponse struct { -} - -type HostConfigureVFlashResource HostConfigureVFlashResourceRequestType - -func init() { - t["HostConfigureVFlashResource"] = reflect.TypeOf((*HostConfigureVFlashResource)(nil)).Elem() -} - -type HostConfigureVFlashResourceRequestType struct { - This ManagedObjectReference `xml:"_this"` - Spec HostVFlashManagerVFlashResourceConfigSpec `xml:"spec"` -} - -func init() { - t["HostConfigureVFlashResourceRequestType"] = reflect.TypeOf((*HostConfigureVFlashResourceRequestType)(nil)).Elem() -} - -type HostConfigureVFlashResourceResponse struct { -} - -type HostConnectFault struct { - VimFault -} - -func init() { - t["HostConnectFault"] = reflect.TypeOf((*HostConnectFault)(nil)).Elem() -} - -type HostConnectFaultFault BaseHostConnectFault - -func init() { - t["HostConnectFaultFault"] = reflect.TypeOf((*HostConnectFaultFault)(nil)).Elem() -} - -type HostConnectInfo struct { - DynamicData - - ServerIp string `xml:"serverIp,omitempty"` - InDasCluster *bool `xml:"inDasCluster"` - Host HostListSummary `xml:"host"` - Vm []VirtualMachineSummary `xml:"vm,omitempty"` - VimAccountNameRequired *bool `xml:"vimAccountNameRequired"` - ClusterSupported *bool `xml:"clusterSupported"` - Network []BaseHostConnectInfoNetworkInfo `xml:"network,omitempty,typeattr"` - Datastore []BaseHostDatastoreConnectInfo `xml:"datastore,omitempty,typeattr"` - License *HostLicenseConnectInfo `xml:"license,omitempty"` - Capability *HostCapability `xml:"capability,omitempty"` -} - -func init() { - t["HostConnectInfo"] = reflect.TypeOf((*HostConnectInfo)(nil)).Elem() -} - -type HostConnectInfoNetworkInfo struct { - DynamicData - - Summary BaseNetworkSummary `xml:"summary,typeattr"` -} - -func init() { - t["HostConnectInfoNetworkInfo"] = reflect.TypeOf((*HostConnectInfoNetworkInfo)(nil)).Elem() -} - -type HostConnectSpec struct { - DynamicData - - HostName string `xml:"hostName,omitempty"` - Port int32 `xml:"port,omitempty"` - SslThumbprint string `xml:"sslThumbprint,omitempty"` - UserName string `xml:"userName,omitempty"` - Password string `xml:"password,omitempty"` - VmFolder *ManagedObjectReference `xml:"vmFolder,omitempty"` - Force bool `xml:"force"` - VimAccountName string `xml:"vimAccountName,omitempty"` - VimAccountPassword string `xml:"vimAccountPassword,omitempty"` - ManagementIp string `xml:"managementIp,omitempty"` - LockdownMode HostLockdownMode `xml:"lockdownMode,omitempty"` - HostGateway *HostGatewaySpec `xml:"hostGateway,omitempty"` -} - -func init() { - t["HostConnectSpec"] = reflect.TypeOf((*HostConnectSpec)(nil)).Elem() -} - -type HostConnectedEvent struct { - HostEvent -} - -func init() { - t["HostConnectedEvent"] = reflect.TypeOf((*HostConnectedEvent)(nil)).Elem() -} - -type HostConnectionLostEvent struct { - HostEvent -} - -func init() { - t["HostConnectionLostEvent"] = reflect.TypeOf((*HostConnectionLostEvent)(nil)).Elem() -} - -type HostCpuIdInfo struct { - DynamicData - - Level int32 `xml:"level"` - Vendor string `xml:"vendor,omitempty"` - Eax string `xml:"eax,omitempty"` - Ebx string `xml:"ebx,omitempty"` - Ecx string `xml:"ecx,omitempty"` - Edx string `xml:"edx,omitempty"` -} - -func init() { - t["HostCpuIdInfo"] = reflect.TypeOf((*HostCpuIdInfo)(nil)).Elem() -} - -type HostCpuInfo struct { - DynamicData - - NumCpuPackages int16 `xml:"numCpuPackages"` - NumCpuCores int16 `xml:"numCpuCores"` - NumCpuThreads int16 `xml:"numCpuThreads"` - Hz int64 `xml:"hz"` -} - -func init() { - t["HostCpuInfo"] = reflect.TypeOf((*HostCpuInfo)(nil)).Elem() -} - -type HostCpuPackage struct { - DynamicData - - Index int16 `xml:"index"` - Vendor string `xml:"vendor"` - Hz int64 `xml:"hz"` - BusHz int64 `xml:"busHz"` - Description string `xml:"description"` - ThreadId []int16 `xml:"threadId"` - CpuFeature []HostCpuIdInfo `xml:"cpuFeature,omitempty"` -} - -func init() { - t["HostCpuPackage"] = reflect.TypeOf((*HostCpuPackage)(nil)).Elem() -} - -type HostCpuPowerManagementInfo struct { - DynamicData - - CurrentPolicy string `xml:"currentPolicy,omitempty"` - HardwareSupport string `xml:"hardwareSupport,omitempty"` -} - -func init() { - t["HostCpuPowerManagementInfo"] = reflect.TypeOf((*HostCpuPowerManagementInfo)(nil)).Elem() -} - -type HostCreateDiskRequestType struct { - This ManagedObjectReference `xml:"_this"` - Spec VslmCreateSpec `xml:"spec"` -} - -func init() { - t["HostCreateDiskRequestType"] = reflect.TypeOf((*HostCreateDiskRequestType)(nil)).Elem() -} - -type HostCreateDisk_Task HostCreateDiskRequestType - -func init() { - t["HostCreateDisk_Task"] = reflect.TypeOf((*HostCreateDisk_Task)(nil)).Elem() -} - -type HostCreateDisk_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type HostDasDisabledEvent struct { - HostEvent -} - -func init() { - t["HostDasDisabledEvent"] = reflect.TypeOf((*HostDasDisabledEvent)(nil)).Elem() -} - -type HostDasDisablingEvent struct { - HostEvent -} - -func init() { - t["HostDasDisablingEvent"] = reflect.TypeOf((*HostDasDisablingEvent)(nil)).Elem() -} - -type HostDasEnabledEvent struct { - HostEvent -} - -func init() { - t["HostDasEnabledEvent"] = reflect.TypeOf((*HostDasEnabledEvent)(nil)).Elem() -} - -type HostDasEnablingEvent struct { - HostEvent -} - -func init() { - t["HostDasEnablingEvent"] = reflect.TypeOf((*HostDasEnablingEvent)(nil)).Elem() -} - -type HostDasErrorEvent struct { - HostEvent - - Message string `xml:"message,omitempty"` - Reason string `xml:"reason,omitempty"` -} - -func init() { - t["HostDasErrorEvent"] = reflect.TypeOf((*HostDasErrorEvent)(nil)).Elem() -} - -type HostDasEvent struct { - HostEvent -} - -func init() { - t["HostDasEvent"] = reflect.TypeOf((*HostDasEvent)(nil)).Elem() -} - -type HostDasOkEvent struct { - HostEvent -} - -func init() { - t["HostDasOkEvent"] = reflect.TypeOf((*HostDasOkEvent)(nil)).Elem() -} - -type HostDataTransportConnectionInfo struct { - DynamicData - - StaticMemoryConsumed int64 `xml:"staticMemoryConsumed"` -} - -func init() { - t["HostDataTransportConnectionInfo"] = reflect.TypeOf((*HostDataTransportConnectionInfo)(nil)).Elem() -} - -type HostDatastoreBrowserSearchResults struct { - DynamicData - - Datastore *ManagedObjectReference `xml:"datastore,omitempty"` - FolderPath string `xml:"folderPath,omitempty"` - File []BaseFileInfo `xml:"file,omitempty,typeattr"` -} - -func init() { - t["HostDatastoreBrowserSearchResults"] = reflect.TypeOf((*HostDatastoreBrowserSearchResults)(nil)).Elem() -} - -type HostDatastoreBrowserSearchSpec struct { - DynamicData - - Query []BaseFileQuery `xml:"query,omitempty,typeattr"` - Details *FileQueryFlags `xml:"details,omitempty"` - SearchCaseInsensitive *bool `xml:"searchCaseInsensitive"` - MatchPattern []string `xml:"matchPattern,omitempty"` - SortFoldersFirst *bool `xml:"sortFoldersFirst"` -} - -func init() { - t["HostDatastoreBrowserSearchSpec"] = reflect.TypeOf((*HostDatastoreBrowserSearchSpec)(nil)).Elem() -} - -type HostDatastoreConnectInfo struct { - DynamicData - - Summary DatastoreSummary `xml:"summary"` -} - -func init() { - t["HostDatastoreConnectInfo"] = reflect.TypeOf((*HostDatastoreConnectInfo)(nil)).Elem() -} - -type HostDatastoreExistsConnectInfo struct { - HostDatastoreConnectInfo - - NewDatastoreName string `xml:"newDatastoreName"` -} - -func init() { - t["HostDatastoreExistsConnectInfo"] = reflect.TypeOf((*HostDatastoreExistsConnectInfo)(nil)).Elem() -} - -type HostDatastoreNameConflictConnectInfo struct { - HostDatastoreConnectInfo - - NewDatastoreName string `xml:"newDatastoreName"` -} - -func init() { - t["HostDatastoreNameConflictConnectInfo"] = reflect.TypeOf((*HostDatastoreNameConflictConnectInfo)(nil)).Elem() -} - -type HostDatastoreSystemCapabilities struct { - DynamicData - - NfsMountCreationRequired bool `xml:"nfsMountCreationRequired"` - NfsMountCreationSupported bool `xml:"nfsMountCreationSupported"` - LocalDatastoreSupported bool `xml:"localDatastoreSupported"` - VmfsExtentExpansionSupported *bool `xml:"vmfsExtentExpansionSupported"` -} - -func init() { - t["HostDatastoreSystemCapabilities"] = reflect.TypeOf((*HostDatastoreSystemCapabilities)(nil)).Elem() -} - -type HostDatastoreSystemDatastoreResult struct { - DynamicData - - Key ManagedObjectReference `xml:"key"` - Fault *LocalizedMethodFault `xml:"fault,omitempty"` -} - -func init() { - t["HostDatastoreSystemDatastoreResult"] = reflect.TypeOf((*HostDatastoreSystemDatastoreResult)(nil)).Elem() -} - -type HostDatastoreSystemVvolDatastoreSpec struct { - DynamicData - - Name string `xml:"name"` - ScId string `xml:"scId"` -} - -func init() { - t["HostDatastoreSystemVvolDatastoreSpec"] = reflect.TypeOf((*HostDatastoreSystemVvolDatastoreSpec)(nil)).Elem() -} - -type HostDateTimeConfig struct { - DynamicData - - TimeZone string `xml:"timeZone,omitempty"` - NtpConfig *HostNtpConfig `xml:"ntpConfig,omitempty"` - PtpConfig *HostPtpConfig `xml:"ptpConfig,omitempty"` - Protocol string `xml:"protocol,omitempty"` - Enabled *bool `xml:"enabled"` - DisableEvents *bool `xml:"disableEvents"` - DisableFallback *bool `xml:"disableFallback"` - ResetToFactoryDefaults *bool `xml:"resetToFactoryDefaults"` -} - -func init() { - t["HostDateTimeConfig"] = reflect.TypeOf((*HostDateTimeConfig)(nil)).Elem() -} - -type HostDateTimeInfo struct { - DynamicData - - TimeZone HostDateTimeSystemTimeZone `xml:"timeZone"` - SystemClockProtocol string `xml:"systemClockProtocol,omitempty"` - NtpConfig *HostNtpConfig `xml:"ntpConfig,omitempty"` - PtpConfig *HostPtpConfig `xml:"ptpConfig,omitempty"` - Enabled *bool `xml:"enabled"` - DisableEvents *bool `xml:"disableEvents"` - DisableFallback *bool `xml:"disableFallback"` - InFallbackState *bool `xml:"inFallbackState"` - ServiceSync *bool `xml:"serviceSync"` - LastSyncTime *time.Time `xml:"lastSyncTime"` - RemoteNtpServer string `xml:"remoteNtpServer,omitempty"` - NtpRunTime int64 `xml:"ntpRunTime,omitempty"` - PtpRunTime int64 `xml:"ptpRunTime,omitempty"` - NtpDuration string `xml:"ntpDuration,omitempty"` - PtpDuration string `xml:"ptpDuration,omitempty"` -} - -func init() { - t["HostDateTimeInfo"] = reflect.TypeOf((*HostDateTimeInfo)(nil)).Elem() -} - -type HostDateTimeSystemServiceTestResult struct { - DynamicData - - WorkingNormally bool `xml:"workingNormally"` - Report []string `xml:"report,omitempty"` -} - -func init() { - t["HostDateTimeSystemServiceTestResult"] = reflect.TypeOf((*HostDateTimeSystemServiceTestResult)(nil)).Elem() -} - -type HostDateTimeSystemTimeZone struct { - DynamicData - - Key string `xml:"key"` - Name string `xml:"name"` - Description string `xml:"description"` - GmtOffset int32 `xml:"gmtOffset"` -} - -func init() { - t["HostDateTimeSystemTimeZone"] = reflect.TypeOf((*HostDateTimeSystemTimeZone)(nil)).Elem() -} - -type HostDeleteVStorageObjectExRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id ID `xml:"id"` - Datastore ManagedObjectReference `xml:"datastore"` -} - -func init() { - t["HostDeleteVStorageObjectExRequestType"] = reflect.TypeOf((*HostDeleteVStorageObjectExRequestType)(nil)).Elem() -} - -type HostDeleteVStorageObjectEx_Task HostDeleteVStorageObjectExRequestType - -func init() { - t["HostDeleteVStorageObjectEx_Task"] = reflect.TypeOf((*HostDeleteVStorageObjectEx_Task)(nil)).Elem() -} - -type HostDeleteVStorageObjectEx_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type HostDeleteVStorageObjectRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id ID `xml:"id"` - Datastore ManagedObjectReference `xml:"datastore"` -} - -func init() { - t["HostDeleteVStorageObjectRequestType"] = reflect.TypeOf((*HostDeleteVStorageObjectRequestType)(nil)).Elem() -} - -type HostDeleteVStorageObject_Task HostDeleteVStorageObjectRequestType - -func init() { - t["HostDeleteVStorageObject_Task"] = reflect.TypeOf((*HostDeleteVStorageObject_Task)(nil)).Elem() -} - -type HostDeleteVStorageObject_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type HostDeploymentInfo struct { - DynamicData - - BootedFromStatelessCache *bool `xml:"bootedFromStatelessCache"` -} - -func init() { - t["HostDeploymentInfo"] = reflect.TypeOf((*HostDeploymentInfo)(nil)).Elem() -} - -type HostDevice struct { - DynamicData - - DeviceName string `xml:"deviceName"` - DeviceType string `xml:"deviceType"` -} - -func init() { - t["HostDevice"] = reflect.TypeOf((*HostDevice)(nil)).Elem() -} - -type HostDhcpService struct { - DynamicData - - Key string `xml:"key"` - Spec HostDhcpServiceSpec `xml:"spec"` -} - -func init() { - t["HostDhcpService"] = reflect.TypeOf((*HostDhcpService)(nil)).Elem() -} - -type HostDhcpServiceConfig struct { - DynamicData - - ChangeOperation string `xml:"changeOperation,omitempty"` - Key string `xml:"key"` - Spec HostDhcpServiceSpec `xml:"spec"` -} - -func init() { - t["HostDhcpServiceConfig"] = reflect.TypeOf((*HostDhcpServiceConfig)(nil)).Elem() -} - -type HostDhcpServiceSpec struct { - DynamicData - - VirtualSwitch string `xml:"virtualSwitch"` - DefaultLeaseDuration int32 `xml:"defaultLeaseDuration"` - LeaseBeginIp string `xml:"leaseBeginIp"` - LeaseEndIp string `xml:"leaseEndIp"` - MaxLeaseDuration int32 `xml:"maxLeaseDuration"` - UnlimitedLease bool `xml:"unlimitedLease"` - IpSubnetAddr string `xml:"ipSubnetAddr"` - IpSubnetMask string `xml:"ipSubnetMask"` -} - -func init() { - t["HostDhcpServiceSpec"] = reflect.TypeOf((*HostDhcpServiceSpec)(nil)).Elem() -} - -type HostDiagnosticPartition struct { - DynamicData - - StorageType string `xml:"storageType"` - DiagnosticType string `xml:"diagnosticType"` - Slots int32 `xml:"slots"` - Id HostScsiDiskPartition `xml:"id"` -} - -func init() { - t["HostDiagnosticPartition"] = reflect.TypeOf((*HostDiagnosticPartition)(nil)).Elem() -} - -type HostDiagnosticPartitionCreateDescription struct { - DynamicData - - Layout HostDiskPartitionLayout `xml:"layout"` - DiskUuid string `xml:"diskUuid"` - Spec HostDiagnosticPartitionCreateSpec `xml:"spec"` -} - -func init() { - t["HostDiagnosticPartitionCreateDescription"] = reflect.TypeOf((*HostDiagnosticPartitionCreateDescription)(nil)).Elem() -} - -type HostDiagnosticPartitionCreateOption struct { - DynamicData - - StorageType string `xml:"storageType"` - DiagnosticType string `xml:"diagnosticType"` - Disk HostScsiDisk `xml:"disk"` -} - -func init() { - t["HostDiagnosticPartitionCreateOption"] = reflect.TypeOf((*HostDiagnosticPartitionCreateOption)(nil)).Elem() -} - -type HostDiagnosticPartitionCreateSpec struct { - DynamicData - - StorageType string `xml:"storageType"` - DiagnosticType string `xml:"diagnosticType"` - Id HostScsiDiskPartition `xml:"id"` - Partition HostDiskPartitionSpec `xml:"partition"` - Active *bool `xml:"active"` -} - -func init() { - t["HostDiagnosticPartitionCreateSpec"] = reflect.TypeOf((*HostDiagnosticPartitionCreateSpec)(nil)).Elem() -} - -type HostDigestInfo struct { - DynamicData - - DigestMethod string `xml:"digestMethod"` - DigestValue []byte `xml:"digestValue"` - ObjectName string `xml:"objectName,omitempty"` -} - -func init() { - t["HostDigestInfo"] = reflect.TypeOf((*HostDigestInfo)(nil)).Elem() -} - -type HostDirectoryStoreInfo struct { - HostAuthenticationStoreInfo -} - -func init() { - t["HostDirectoryStoreInfo"] = reflect.TypeOf((*HostDirectoryStoreInfo)(nil)).Elem() -} - -type HostDisconnectedEvent struct { - HostEvent - - Reason string `xml:"reason,omitempty"` -} - -func init() { - t["HostDisconnectedEvent"] = reflect.TypeOf((*HostDisconnectedEvent)(nil)).Elem() -} - -type HostDiskConfigurationResult struct { - DynamicData - - DevicePath string `xml:"devicePath,omitempty"` - Success *bool `xml:"success"` - Fault *LocalizedMethodFault `xml:"fault,omitempty"` -} - -func init() { - t["HostDiskConfigurationResult"] = reflect.TypeOf((*HostDiskConfigurationResult)(nil)).Elem() -} - -type HostDiskDimensions struct { - DynamicData -} - -func init() { - t["HostDiskDimensions"] = reflect.TypeOf((*HostDiskDimensions)(nil)).Elem() -} - -type HostDiskDimensionsChs struct { - DynamicData - - Cylinder int64 `xml:"cylinder"` - Head int32 `xml:"head"` - Sector int32 `xml:"sector"` -} - -func init() { - t["HostDiskDimensionsChs"] = reflect.TypeOf((*HostDiskDimensionsChs)(nil)).Elem() -} - -type HostDiskDimensionsLba struct { - DynamicData - - BlockSize int32 `xml:"blockSize"` - Block int64 `xml:"block"` -} - -func init() { - t["HostDiskDimensionsLba"] = reflect.TypeOf((*HostDiskDimensionsLba)(nil)).Elem() -} - -type HostDiskMappingInfo struct { - DynamicData - - PhysicalPartition *HostDiskMappingPartitionInfo `xml:"physicalPartition,omitempty"` - Name string `xml:"name"` - Exclusive *bool `xml:"exclusive"` -} - -func init() { - t["HostDiskMappingInfo"] = reflect.TypeOf((*HostDiskMappingInfo)(nil)).Elem() -} - -type HostDiskMappingOption struct { - DynamicData - - PhysicalPartition []HostDiskMappingPartitionOption `xml:"physicalPartition,omitempty"` - Name string `xml:"name"` -} - -func init() { - t["HostDiskMappingOption"] = reflect.TypeOf((*HostDiskMappingOption)(nil)).Elem() -} - -type HostDiskMappingPartitionInfo struct { - DynamicData - - Name string `xml:"name"` - FileSystem string `xml:"fileSystem"` - CapacityInKb int64 `xml:"capacityInKb"` -} - -func init() { - t["HostDiskMappingPartitionInfo"] = reflect.TypeOf((*HostDiskMappingPartitionInfo)(nil)).Elem() -} - -type HostDiskMappingPartitionOption struct { - DynamicData - - Name string `xml:"name"` - FileSystem string `xml:"fileSystem"` - CapacityInKb int64 `xml:"capacityInKb"` -} - -func init() { - t["HostDiskMappingPartitionOption"] = reflect.TypeOf((*HostDiskMappingPartitionOption)(nil)).Elem() -} - -type HostDiskPartitionAttributes struct { - DynamicData - - Partition int32 `xml:"partition"` - StartSector int64 `xml:"startSector"` - EndSector int64 `xml:"endSector"` - Type string `xml:"type"` - Guid string `xml:"guid,omitempty"` - Logical bool `xml:"logical"` - Attributes byte `xml:"attributes"` - PartitionAlignment int64 `xml:"partitionAlignment,omitempty"` -} - -func init() { - t["HostDiskPartitionAttributes"] = reflect.TypeOf((*HostDiskPartitionAttributes)(nil)).Elem() -} - -type HostDiskPartitionBlockRange struct { - DynamicData - - Partition int32 `xml:"partition,omitempty"` - Type string `xml:"type"` - Start HostDiskDimensionsLba `xml:"start"` - End HostDiskDimensionsLba `xml:"end"` -} - -func init() { - t["HostDiskPartitionBlockRange"] = reflect.TypeOf((*HostDiskPartitionBlockRange)(nil)).Elem() -} - -type HostDiskPartitionInfo struct { - DynamicData - - DeviceName string `xml:"deviceName"` - Spec HostDiskPartitionSpec `xml:"spec"` - Layout HostDiskPartitionLayout `xml:"layout"` -} - -func init() { - t["HostDiskPartitionInfo"] = reflect.TypeOf((*HostDiskPartitionInfo)(nil)).Elem() -} - -type HostDiskPartitionLayout struct { - DynamicData - - Total *HostDiskDimensionsLba `xml:"total,omitempty"` - Partition []HostDiskPartitionBlockRange `xml:"partition"` -} - -func init() { - t["HostDiskPartitionLayout"] = reflect.TypeOf((*HostDiskPartitionLayout)(nil)).Elem() -} - -type HostDiskPartitionSpec struct { - DynamicData - - PartitionFormat string `xml:"partitionFormat,omitempty"` - Chs *HostDiskDimensionsChs `xml:"chs,omitempty"` - TotalSectors int64 `xml:"totalSectors,omitempty"` - Partition []HostDiskPartitionAttributes `xml:"partition,omitempty"` -} - -func init() { - t["HostDiskPartitionSpec"] = reflect.TypeOf((*HostDiskPartitionSpec)(nil)).Elem() -} - -type HostDnsConfig struct { - DynamicData - - Dhcp bool `xml:"dhcp"` - VirtualNicDevice string `xml:"virtualNicDevice,omitempty"` - Ipv6VirtualNicDevice string `xml:"ipv6VirtualNicDevice,omitempty"` - HostName string `xml:"hostName"` - DomainName string `xml:"domainName"` - Address []string `xml:"address,omitempty"` - SearchDomain []string `xml:"searchDomain,omitempty"` -} - -func init() { - t["HostDnsConfig"] = reflect.TypeOf((*HostDnsConfig)(nil)).Elem() -} - -type HostDnsConfigSpec struct { - HostDnsConfig - - VirtualNicConnection *HostVirtualNicConnection `xml:"virtualNicConnection,omitempty"` - VirtualNicConnectionV6 *HostVirtualNicConnection `xml:"virtualNicConnectionV6,omitempty"` -} - -func init() { - t["HostDnsConfigSpec"] = reflect.TypeOf((*HostDnsConfigSpec)(nil)).Elem() -} - -type HostDvxClass struct { - DynamicData - - DeviceClass string `xml:"deviceClass"` - CheckpointSupported bool `xml:"checkpointSupported"` - SwDMATracingSupported bool `xml:"swDMATracingSupported"` - SriovNic bool `xml:"sriovNic"` -} - -func init() { - t["HostDvxClass"] = reflect.TypeOf((*HostDvxClass)(nil)).Elem() -} - -type HostEnableAdminFailedEvent struct { - HostEvent - - Permissions []Permission `xml:"permissions"` -} - -func init() { - t["HostEnableAdminFailedEvent"] = reflect.TypeOf((*HostEnableAdminFailedEvent)(nil)).Elem() -} - -type HostEnterMaintenanceResult struct { - DynamicData - - VmFaults []FaultsByVM `xml:"vmFaults,omitempty"` - HostFaults []FaultsByHost `xml:"hostFaults,omitempty"` -} - -func init() { - t["HostEnterMaintenanceResult"] = reflect.TypeOf((*HostEnterMaintenanceResult)(nil)).Elem() -} - -type HostEsxAgentHostManagerConfigInfo struct { - DynamicData - - AgentVmDatastore *ManagedObjectReference `xml:"agentVmDatastore,omitempty"` - AgentVmNetwork *ManagedObjectReference `xml:"agentVmNetwork,omitempty"` -} - -func init() { - t["HostEsxAgentHostManagerConfigInfo"] = reflect.TypeOf((*HostEsxAgentHostManagerConfigInfo)(nil)).Elem() -} - -type HostEvent struct { - Event -} - -func init() { - t["HostEvent"] = reflect.TypeOf((*HostEvent)(nil)).Elem() -} - -type HostEventArgument struct { - EntityEventArgument - - Host ManagedObjectReference `xml:"host"` -} - -func init() { - t["HostEventArgument"] = reflect.TypeOf((*HostEventArgument)(nil)).Elem() -} - -type HostExtendDiskRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id ID `xml:"id"` - Datastore ManagedObjectReference `xml:"datastore"` - NewCapacityInMB int64 `xml:"newCapacityInMB"` -} - -func init() { - t["HostExtendDiskRequestType"] = reflect.TypeOf((*HostExtendDiskRequestType)(nil)).Elem() -} - -type HostExtendDisk_Task HostExtendDiskRequestType - -func init() { - t["HostExtendDisk_Task"] = reflect.TypeOf((*HostExtendDisk_Task)(nil)).Elem() -} - -type HostExtendDisk_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type HostExtraNetworksEvent struct { - HostDasEvent - - Ips string `xml:"ips,omitempty"` -} - -func init() { - t["HostExtraNetworksEvent"] = reflect.TypeOf((*HostExtraNetworksEvent)(nil)).Elem() -} - -type HostFaultToleranceManagerComponentHealthInfo struct { - DynamicData - - IsStorageHealthy bool `xml:"isStorageHealthy"` - IsNetworkHealthy bool `xml:"isNetworkHealthy"` -} - -func init() { - t["HostFaultToleranceManagerComponentHealthInfo"] = reflect.TypeOf((*HostFaultToleranceManagerComponentHealthInfo)(nil)).Elem() -} - -type HostFeatureCapability struct { - DynamicData - - Key string `xml:"key"` - FeatureName string `xml:"featureName"` - Value string `xml:"value"` -} - -func init() { - t["HostFeatureCapability"] = reflect.TypeOf((*HostFeatureCapability)(nil)).Elem() -} - -type HostFeatureMask struct { - DynamicData - - Key string `xml:"key"` - FeatureName string `xml:"featureName"` - Value string `xml:"value"` -} - -func init() { - t["HostFeatureMask"] = reflect.TypeOf((*HostFeatureMask)(nil)).Elem() -} - -type HostFeatureVersionInfo struct { - DynamicData - - Key string `xml:"key"` - Value string `xml:"value"` -} - -func init() { - t["HostFeatureVersionInfo"] = reflect.TypeOf((*HostFeatureVersionInfo)(nil)).Elem() -} - -type HostFibreChannelHba struct { - HostHostBusAdapter - - PortWorldWideName int64 `xml:"portWorldWideName"` - NodeWorldWideName int64 `xml:"nodeWorldWideName"` - PortType FibreChannelPortType `xml:"portType"` - Speed int64 `xml:"speed"` -} - -func init() { - t["HostFibreChannelHba"] = reflect.TypeOf((*HostFibreChannelHba)(nil)).Elem() -} - -type HostFibreChannelOverEthernetHba struct { - HostFibreChannelHba - - UnderlyingNic string `xml:"underlyingNic"` - LinkInfo HostFibreChannelOverEthernetHbaLinkInfo `xml:"linkInfo"` - IsSoftwareFcoe bool `xml:"isSoftwareFcoe"` - MarkedForRemoval *bool `xml:"markedForRemoval"` -} - -func init() { - t["HostFibreChannelOverEthernetHba"] = reflect.TypeOf((*HostFibreChannelOverEthernetHba)(nil)).Elem() -} - -type HostFibreChannelOverEthernetHbaLinkInfo struct { - DynamicData - - VnportMac string `xml:"vnportMac"` - FcfMac string `xml:"fcfMac"` - VlanId int32 `xml:"vlanId"` -} - -func init() { - t["HostFibreChannelOverEthernetHbaLinkInfo"] = reflect.TypeOf((*HostFibreChannelOverEthernetHbaLinkInfo)(nil)).Elem() -} - -type HostFibreChannelOverEthernetTargetTransport struct { - HostFibreChannelTargetTransport - - VnportMac string `xml:"vnportMac"` - FcfMac string `xml:"fcfMac"` - VlanId int32 `xml:"vlanId"` -} - -func init() { - t["HostFibreChannelOverEthernetTargetTransport"] = reflect.TypeOf((*HostFibreChannelOverEthernetTargetTransport)(nil)).Elem() -} - -type HostFibreChannelTargetTransport struct { - HostTargetTransport - - PortWorldWideName int64 `xml:"portWorldWideName"` - NodeWorldWideName int64 `xml:"nodeWorldWideName"` -} - -func init() { - t["HostFibreChannelTargetTransport"] = reflect.TypeOf((*HostFibreChannelTargetTransport)(nil)).Elem() -} - -type HostFileAccess struct { - DynamicData - - Who string `xml:"who"` - What string `xml:"what"` -} - -func init() { - t["HostFileAccess"] = reflect.TypeOf((*HostFileAccess)(nil)).Elem() -} - -type HostFileSystemMountInfo struct { - DynamicData - - MountInfo HostMountInfo `xml:"mountInfo"` - Volume BaseHostFileSystemVolume `xml:"volume,typeattr"` - VStorageSupport string `xml:"vStorageSupport,omitempty"` -} - -func init() { - t["HostFileSystemMountInfo"] = reflect.TypeOf((*HostFileSystemMountInfo)(nil)).Elem() -} - -type HostFileSystemVolume struct { - DynamicData - - Type string `xml:"type"` - Name string `xml:"name"` - Capacity int64 `xml:"capacity"` -} - -func init() { - t["HostFileSystemVolume"] = reflect.TypeOf((*HostFileSystemVolume)(nil)).Elem() -} - -type HostFileSystemVolumeInfo struct { - DynamicData - - VolumeTypeList []string `xml:"volumeTypeList,omitempty"` - MountInfo []HostFileSystemMountInfo `xml:"mountInfo,omitempty"` -} - -func init() { - t["HostFileSystemVolumeInfo"] = reflect.TypeOf((*HostFileSystemVolumeInfo)(nil)).Elem() -} - -type HostFirewallConfig struct { - DynamicData - - Rule []HostFirewallConfigRuleSetConfig `xml:"rule,omitempty"` - DefaultBlockingPolicy HostFirewallDefaultPolicy `xml:"defaultBlockingPolicy"` -} - -func init() { - t["HostFirewallConfig"] = reflect.TypeOf((*HostFirewallConfig)(nil)).Elem() -} - -type HostFirewallConfigRuleSetConfig struct { - DynamicData - - RulesetId string `xml:"rulesetId"` - Enabled bool `xml:"enabled"` - AllowedHosts *HostFirewallRulesetIpList `xml:"allowedHosts,omitempty"` -} - -func init() { - t["HostFirewallConfigRuleSetConfig"] = reflect.TypeOf((*HostFirewallConfigRuleSetConfig)(nil)).Elem() -} - -type HostFirewallDefaultPolicy struct { - DynamicData - - IncomingBlocked *bool `xml:"incomingBlocked"` - OutgoingBlocked *bool `xml:"outgoingBlocked"` -} - -func init() { - t["HostFirewallDefaultPolicy"] = reflect.TypeOf((*HostFirewallDefaultPolicy)(nil)).Elem() -} - -type HostFirewallInfo struct { - DynamicData - - DefaultPolicy HostFirewallDefaultPolicy `xml:"defaultPolicy"` - Ruleset []HostFirewallRuleset `xml:"ruleset,omitempty"` -} - -func init() { - t["HostFirewallInfo"] = reflect.TypeOf((*HostFirewallInfo)(nil)).Elem() -} - -type HostFirewallRule struct { - DynamicData - - Port int32 `xml:"port"` - EndPort int32 `xml:"endPort,omitempty"` - Direction HostFirewallRuleDirection `xml:"direction"` - PortType HostFirewallRulePortType `xml:"portType,omitempty"` - Protocol string `xml:"protocol"` -} - -func init() { - t["HostFirewallRule"] = reflect.TypeOf((*HostFirewallRule)(nil)).Elem() -} - -type HostFirewallRuleset struct { - DynamicData - - Key string `xml:"key"` - Label string `xml:"label"` - Required bool `xml:"required"` - Rule []HostFirewallRule `xml:"rule"` - Service string `xml:"service,omitempty"` - Enabled bool `xml:"enabled"` - AllowedHosts *HostFirewallRulesetIpList `xml:"allowedHosts,omitempty"` -} - -func init() { - t["HostFirewallRuleset"] = reflect.TypeOf((*HostFirewallRuleset)(nil)).Elem() -} - -type HostFirewallRulesetIpList struct { - DynamicData - - IpAddress []string `xml:"ipAddress,omitempty"` - IpNetwork []HostFirewallRulesetIpNetwork `xml:"ipNetwork,omitempty"` - AllIp bool `xml:"allIp"` -} - -func init() { - t["HostFirewallRulesetIpList"] = reflect.TypeOf((*HostFirewallRulesetIpList)(nil)).Elem() -} - -type HostFirewallRulesetIpNetwork struct { - DynamicData - - Network string `xml:"network"` - PrefixLength int32 `xml:"prefixLength"` -} - -func init() { - t["HostFirewallRulesetIpNetwork"] = reflect.TypeOf((*HostFirewallRulesetIpNetwork)(nil)).Elem() -} - -type HostFirewallRulesetRulesetSpec struct { - DynamicData - - AllowedHosts HostFirewallRulesetIpList `xml:"allowedHosts"` -} - -func init() { - t["HostFirewallRulesetRulesetSpec"] = reflect.TypeOf((*HostFirewallRulesetRulesetSpec)(nil)).Elem() -} - -type HostFlagInfo struct { - DynamicData - - BackgroundSnapshotsEnabled *bool `xml:"backgroundSnapshotsEnabled"` -} - -func init() { - t["HostFlagInfo"] = reflect.TypeOf((*HostFlagInfo)(nil)).Elem() -} - -type HostForceMountedInfo struct { - DynamicData - - Persist bool `xml:"persist"` - Mounted bool `xml:"mounted"` -} - -func init() { - t["HostForceMountedInfo"] = reflect.TypeOf((*HostForceMountedInfo)(nil)).Elem() -} - -type HostFru struct { - DynamicData - - Type string `xml:"type"` - PartName string `xml:"partName"` - PartNumber string `xml:"partNumber"` - Manufacturer string `xml:"manufacturer"` - SerialNumber string `xml:"serialNumber,omitempty"` - MfgTimeStamp *time.Time `xml:"mfgTimeStamp"` -} - -func init() { - t["HostFru"] = reflect.TypeOf((*HostFru)(nil)).Elem() -} - -type HostGatewaySpec struct { - DynamicData - - GatewayType string `xml:"gatewayType"` - GatewayId string `xml:"gatewayId,omitempty"` - TrustVerificationToken string `xml:"trustVerificationToken,omitempty"` - HostAuthParams []KeyValue `xml:"hostAuthParams,omitempty"` -} - -func init() { - t["HostGatewaySpec"] = reflect.TypeOf((*HostGatewaySpec)(nil)).Elem() -} - -type HostGetShortNameFailedEvent struct { - HostEvent -} - -func init() { - t["HostGetShortNameFailedEvent"] = reflect.TypeOf((*HostGetShortNameFailedEvent)(nil)).Elem() -} - -type HostGetVFlashModuleDefaultConfig HostGetVFlashModuleDefaultConfigRequestType - -func init() { - t["HostGetVFlashModuleDefaultConfig"] = reflect.TypeOf((*HostGetVFlashModuleDefaultConfig)(nil)).Elem() -} - -type HostGetVFlashModuleDefaultConfigRequestType struct { - This ManagedObjectReference `xml:"_this"` - VFlashModule string `xml:"vFlashModule"` -} - -func init() { - t["HostGetVFlashModuleDefaultConfigRequestType"] = reflect.TypeOf((*HostGetVFlashModuleDefaultConfigRequestType)(nil)).Elem() -} - -type HostGetVFlashModuleDefaultConfigResponse struct { - Returnval VirtualDiskVFlashCacheConfigInfo `xml:"returnval"` -} - -type HostGraphicsConfig struct { - DynamicData - - HostDefaultGraphicsType string `xml:"hostDefaultGraphicsType"` - SharedPassthruAssignmentPolicy string `xml:"sharedPassthruAssignmentPolicy"` - DeviceType []HostGraphicsConfigDeviceType `xml:"deviceType,omitempty"` -} - -func init() { - t["HostGraphicsConfig"] = reflect.TypeOf((*HostGraphicsConfig)(nil)).Elem() -} - -type HostGraphicsConfigDeviceType struct { - DynamicData - - DeviceId string `xml:"deviceId"` - GraphicsType string `xml:"graphicsType"` -} - -func init() { - t["HostGraphicsConfigDeviceType"] = reflect.TypeOf((*HostGraphicsConfigDeviceType)(nil)).Elem() -} - -type HostGraphicsInfo struct { - DynamicData - - DeviceName string `xml:"deviceName"` - VendorName string `xml:"vendorName"` - PciId string `xml:"pciId"` - GraphicsType string `xml:"graphicsType"` - MemorySizeInKB int64 `xml:"memorySizeInKB"` - Vm []ManagedObjectReference `xml:"vm,omitempty"` -} - -func init() { - t["HostGraphicsInfo"] = reflect.TypeOf((*HostGraphicsInfo)(nil)).Elem() -} - -type HostHardwareElementInfo struct { - DynamicData - - Name string `xml:"name"` - Status BaseElementDescription `xml:"status,typeattr"` -} - -func init() { - t["HostHardwareElementInfo"] = reflect.TypeOf((*HostHardwareElementInfo)(nil)).Elem() -} - -type HostHardwareInfo struct { - DynamicData - - SystemInfo HostSystemInfo `xml:"systemInfo"` - CpuPowerManagementInfo *HostCpuPowerManagementInfo `xml:"cpuPowerManagementInfo,omitempty"` - CpuInfo HostCpuInfo `xml:"cpuInfo"` - CpuPkg []HostCpuPackage `xml:"cpuPkg"` - MemorySize int64 `xml:"memorySize"` - NumaInfo *HostNumaInfo `xml:"numaInfo,omitempty"` - SmcPresent *bool `xml:"smcPresent"` - PciDevice []HostPciDevice `xml:"pciDevice,omitempty"` - DvxClasses []HostDvxClass `xml:"dvxClasses,omitempty"` - CpuFeature []HostCpuIdInfo `xml:"cpuFeature,omitempty"` - BiosInfo *HostBIOSInfo `xml:"biosInfo,omitempty"` - ReliableMemoryInfo *HostReliableMemoryInfo `xml:"reliableMemoryInfo,omitempty"` - PersistentMemoryInfo *HostPersistentMemoryInfo `xml:"persistentMemoryInfo,omitempty"` - SgxInfo *HostSgxInfo `xml:"sgxInfo,omitempty"` - SevInfo *HostSevInfo `xml:"sevInfo,omitempty"` - MemoryTieringType string `xml:"memoryTieringType,omitempty"` - MemoryTierInfo []HostMemoryTierInfo `xml:"memoryTierInfo,omitempty"` -} - -func init() { - t["HostHardwareInfo"] = reflect.TypeOf((*HostHardwareInfo)(nil)).Elem() -} - -type HostHardwareStatusInfo struct { - DynamicData - - MemoryStatusInfo []BaseHostHardwareElementInfo `xml:"memoryStatusInfo,omitempty,typeattr"` - CpuStatusInfo []BaseHostHardwareElementInfo `xml:"cpuStatusInfo,omitempty,typeattr"` - StorageStatusInfo []HostStorageElementInfo `xml:"storageStatusInfo,omitempty"` - DpuStatusInfo []DpuStatusInfo `xml:"dpuStatusInfo,omitempty"` -} - -func init() { - t["HostHardwareStatusInfo"] = reflect.TypeOf((*HostHardwareStatusInfo)(nil)).Elem() -} - -type HostHardwareSummary struct { - DynamicData - - Vendor string `xml:"vendor"` - Model string `xml:"model"` - Uuid string `xml:"uuid"` - OtherIdentifyingInfo []HostSystemIdentificationInfo `xml:"otherIdentifyingInfo,omitempty"` - MemorySize int64 `xml:"memorySize"` - CpuModel string `xml:"cpuModel"` - CpuMhz int32 `xml:"cpuMhz"` - NumCpuPkgs int16 `xml:"numCpuPkgs"` - NumCpuCores int16 `xml:"numCpuCores"` - NumCpuThreads int16 `xml:"numCpuThreads"` - NumNics int32 `xml:"numNics"` - NumHBAs int32 `xml:"numHBAs"` -} - -func init() { - t["HostHardwareSummary"] = reflect.TypeOf((*HostHardwareSummary)(nil)).Elem() -} - -type HostHasComponentFailure struct { - VimFault - - HostName string `xml:"hostName"` - ComponentType string `xml:"componentType"` - ComponentName string `xml:"componentName"` -} - -func init() { - t["HostHasComponentFailure"] = reflect.TypeOf((*HostHasComponentFailure)(nil)).Elem() -} - -type HostHasComponentFailureFault HostHasComponentFailure - -func init() { - t["HostHasComponentFailureFault"] = reflect.TypeOf((*HostHasComponentFailureFault)(nil)).Elem() -} - -type HostHbaCreateSpec struct { - DynamicData -} - -func init() { - t["HostHbaCreateSpec"] = reflect.TypeOf((*HostHbaCreateSpec)(nil)).Elem() -} - -type HostHostBusAdapter struct { - DynamicData - - Key string `xml:"key,omitempty"` - Device string `xml:"device"` - Bus int32 `xml:"bus"` - Status string `xml:"status"` - Model string `xml:"model"` - Driver string `xml:"driver,omitempty"` - Pci string `xml:"pci,omitempty"` - StorageProtocol string `xml:"storageProtocol,omitempty"` -} - -func init() { - t["HostHostBusAdapter"] = reflect.TypeOf((*HostHostBusAdapter)(nil)).Elem() -} - -type HostHyperThreadScheduleInfo struct { - DynamicData - - Available bool `xml:"available"` - Active bool `xml:"active"` - Config bool `xml:"config"` -} - -func init() { - t["HostHyperThreadScheduleInfo"] = reflect.TypeOf((*HostHyperThreadScheduleInfo)(nil)).Elem() -} - -type HostImageConfigGetAcceptance HostImageConfigGetAcceptanceRequestType - -func init() { - t["HostImageConfigGetAcceptance"] = reflect.TypeOf((*HostImageConfigGetAcceptance)(nil)).Elem() -} - -type HostImageConfigGetAcceptanceRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["HostImageConfigGetAcceptanceRequestType"] = reflect.TypeOf((*HostImageConfigGetAcceptanceRequestType)(nil)).Elem() -} - -type HostImageConfigGetAcceptanceResponse struct { - Returnval string `xml:"returnval"` -} - -type HostImageConfigGetProfile HostImageConfigGetProfileRequestType - -func init() { - t["HostImageConfigGetProfile"] = reflect.TypeOf((*HostImageConfigGetProfile)(nil)).Elem() -} - -type HostImageConfigGetProfileRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["HostImageConfigGetProfileRequestType"] = reflect.TypeOf((*HostImageConfigGetProfileRequestType)(nil)).Elem() -} - -type HostImageConfigGetProfileResponse struct { - Returnval HostImageProfileSummary `xml:"returnval"` -} - -type HostImageProfileSummary struct { - DynamicData - - Name string `xml:"name"` - Vendor string `xml:"vendor"` -} - -func init() { - t["HostImageProfileSummary"] = reflect.TypeOf((*HostImageProfileSummary)(nil)).Elem() -} - -type HostInAuditModeEvent struct { - HostEvent -} - -func init() { - t["HostInAuditModeEvent"] = reflect.TypeOf((*HostInAuditModeEvent)(nil)).Elem() -} - -type HostInDomain struct { - HostConfigFault -} - -func init() { - t["HostInDomain"] = reflect.TypeOf((*HostInDomain)(nil)).Elem() -} - -type HostInDomainFault HostInDomain - -func init() { - t["HostInDomainFault"] = reflect.TypeOf((*HostInDomainFault)(nil)).Elem() -} - -type HostIncompatibleForFaultTolerance struct { - VmFaultToleranceIssue - - HostName string `xml:"hostName,omitempty"` - Reason string `xml:"reason,omitempty"` -} - -func init() { - t["HostIncompatibleForFaultTolerance"] = reflect.TypeOf((*HostIncompatibleForFaultTolerance)(nil)).Elem() -} - -type HostIncompatibleForFaultToleranceFault HostIncompatibleForFaultTolerance - -func init() { - t["HostIncompatibleForFaultToleranceFault"] = reflect.TypeOf((*HostIncompatibleForFaultToleranceFault)(nil)).Elem() -} - -type HostIncompatibleForRecordReplay struct { - VimFault - - HostName string `xml:"hostName,omitempty"` - Reason string `xml:"reason,omitempty"` -} - -func init() { - t["HostIncompatibleForRecordReplay"] = reflect.TypeOf((*HostIncompatibleForRecordReplay)(nil)).Elem() -} - -type HostIncompatibleForRecordReplayFault HostIncompatibleForRecordReplay - -func init() { - t["HostIncompatibleForRecordReplayFault"] = reflect.TypeOf((*HostIncompatibleForRecordReplayFault)(nil)).Elem() -} - -type HostInflateDiskRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id ID `xml:"id"` - Datastore ManagedObjectReference `xml:"datastore"` -} - -func init() { - t["HostInflateDiskRequestType"] = reflect.TypeOf((*HostInflateDiskRequestType)(nil)).Elem() -} - -type HostInflateDisk_Task HostInflateDiskRequestType - -func init() { - t["HostInflateDisk_Task"] = reflect.TypeOf((*HostInflateDisk_Task)(nil)).Elem() -} - -type HostInflateDisk_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type HostInternetScsiHba struct { - HostHostBusAdapter - - IsSoftwareBased bool `xml:"isSoftwareBased"` - CanBeDisabled *bool `xml:"canBeDisabled"` - NetworkBindingSupport HostInternetScsiHbaNetworkBindingSupportType `xml:"networkBindingSupport,omitempty"` - DiscoveryCapabilities HostInternetScsiHbaDiscoveryCapabilities `xml:"discoveryCapabilities"` - DiscoveryProperties HostInternetScsiHbaDiscoveryProperties `xml:"discoveryProperties"` - AuthenticationCapabilities HostInternetScsiHbaAuthenticationCapabilities `xml:"authenticationCapabilities"` - AuthenticationProperties HostInternetScsiHbaAuthenticationProperties `xml:"authenticationProperties"` - DigestCapabilities *HostInternetScsiHbaDigestCapabilities `xml:"digestCapabilities,omitempty"` - DigestProperties *HostInternetScsiHbaDigestProperties `xml:"digestProperties,omitempty"` - IpCapabilities HostInternetScsiHbaIPCapabilities `xml:"ipCapabilities"` - IpProperties HostInternetScsiHbaIPProperties `xml:"ipProperties"` - SupportedAdvancedOptions []OptionDef `xml:"supportedAdvancedOptions,omitempty"` - AdvancedOptions []HostInternetScsiHbaParamValue `xml:"advancedOptions,omitempty"` - IScsiName string `xml:"iScsiName"` - IScsiAlias string `xml:"iScsiAlias,omitempty"` - ConfiguredSendTarget []HostInternetScsiHbaSendTarget `xml:"configuredSendTarget,omitempty"` - ConfiguredStaticTarget []HostInternetScsiHbaStaticTarget `xml:"configuredStaticTarget,omitempty"` - MaxSpeedMb int32 `xml:"maxSpeedMb,omitempty"` - CurrentSpeedMb int32 `xml:"currentSpeedMb,omitempty"` -} - -func init() { - t["HostInternetScsiHba"] = reflect.TypeOf((*HostInternetScsiHba)(nil)).Elem() -} - -type HostInternetScsiHbaAuthenticationCapabilities struct { - DynamicData - - ChapAuthSettable bool `xml:"chapAuthSettable"` - Krb5AuthSettable bool `xml:"krb5AuthSettable"` - SrpAuthSettable bool `xml:"srpAuthSettable"` - SpkmAuthSettable bool `xml:"spkmAuthSettable"` - MutualChapSettable *bool `xml:"mutualChapSettable"` - TargetChapSettable *bool `xml:"targetChapSettable"` - TargetMutualChapSettable *bool `xml:"targetMutualChapSettable"` -} - -func init() { - t["HostInternetScsiHbaAuthenticationCapabilities"] = reflect.TypeOf((*HostInternetScsiHbaAuthenticationCapabilities)(nil)).Elem() -} - -type HostInternetScsiHbaAuthenticationProperties struct { - DynamicData - - ChapAuthEnabled bool `xml:"chapAuthEnabled"` - ChapName string `xml:"chapName,omitempty"` - ChapSecret string `xml:"chapSecret,omitempty"` - ChapAuthenticationType string `xml:"chapAuthenticationType,omitempty"` - ChapInherited *bool `xml:"chapInherited"` - MutualChapName string `xml:"mutualChapName,omitempty"` - MutualChapSecret string `xml:"mutualChapSecret,omitempty"` - MutualChapAuthenticationType string `xml:"mutualChapAuthenticationType,omitempty"` - MutualChapInherited *bool `xml:"mutualChapInherited"` -} - -func init() { - t["HostInternetScsiHbaAuthenticationProperties"] = reflect.TypeOf((*HostInternetScsiHbaAuthenticationProperties)(nil)).Elem() -} - -type HostInternetScsiHbaDigestCapabilities struct { - DynamicData - - HeaderDigestSettable *bool `xml:"headerDigestSettable"` - DataDigestSettable *bool `xml:"dataDigestSettable"` - TargetHeaderDigestSettable *bool `xml:"targetHeaderDigestSettable"` - TargetDataDigestSettable *bool `xml:"targetDataDigestSettable"` -} - -func init() { - t["HostInternetScsiHbaDigestCapabilities"] = reflect.TypeOf((*HostInternetScsiHbaDigestCapabilities)(nil)).Elem() -} - -type HostInternetScsiHbaDigestProperties struct { - DynamicData - - HeaderDigestType string `xml:"headerDigestType,omitempty"` - HeaderDigestInherited *bool `xml:"headerDigestInherited"` - DataDigestType string `xml:"dataDigestType,omitempty"` - DataDigestInherited *bool `xml:"dataDigestInherited"` -} - -func init() { - t["HostInternetScsiHbaDigestProperties"] = reflect.TypeOf((*HostInternetScsiHbaDigestProperties)(nil)).Elem() -} - -type HostInternetScsiHbaDiscoveryCapabilities struct { - DynamicData - - ISnsDiscoverySettable bool `xml:"iSnsDiscoverySettable"` - SlpDiscoverySettable bool `xml:"slpDiscoverySettable"` - StaticTargetDiscoverySettable bool `xml:"staticTargetDiscoverySettable"` - SendTargetsDiscoverySettable bool `xml:"sendTargetsDiscoverySettable"` -} - -func init() { - t["HostInternetScsiHbaDiscoveryCapabilities"] = reflect.TypeOf((*HostInternetScsiHbaDiscoveryCapabilities)(nil)).Elem() -} - -type HostInternetScsiHbaDiscoveryProperties struct { - DynamicData - - ISnsDiscoveryEnabled bool `xml:"iSnsDiscoveryEnabled"` - ISnsDiscoveryMethod string `xml:"iSnsDiscoveryMethod,omitempty"` - ISnsHost string `xml:"iSnsHost,omitempty"` - SlpDiscoveryEnabled bool `xml:"slpDiscoveryEnabled"` - SlpDiscoveryMethod string `xml:"slpDiscoveryMethod,omitempty"` - SlpHost string `xml:"slpHost,omitempty"` - StaticTargetDiscoveryEnabled bool `xml:"staticTargetDiscoveryEnabled"` - SendTargetsDiscoveryEnabled bool `xml:"sendTargetsDiscoveryEnabled"` -} - -func init() { - t["HostInternetScsiHbaDiscoveryProperties"] = reflect.TypeOf((*HostInternetScsiHbaDiscoveryProperties)(nil)).Elem() -} - -type HostInternetScsiHbaIPCapabilities struct { - DynamicData - - AddressSettable bool `xml:"addressSettable"` - IpConfigurationMethodSettable bool `xml:"ipConfigurationMethodSettable"` - SubnetMaskSettable bool `xml:"subnetMaskSettable"` - DefaultGatewaySettable bool `xml:"defaultGatewaySettable"` - PrimaryDnsServerAddressSettable bool `xml:"primaryDnsServerAddressSettable"` - AlternateDnsServerAddressSettable bool `xml:"alternateDnsServerAddressSettable"` - Ipv6Supported *bool `xml:"ipv6Supported"` - ArpRedirectSettable *bool `xml:"arpRedirectSettable"` - MtuSettable *bool `xml:"mtuSettable"` - HostNameAsTargetAddress *bool `xml:"hostNameAsTargetAddress"` - NameAliasSettable *bool `xml:"nameAliasSettable"` - Ipv4EnableSettable *bool `xml:"ipv4EnableSettable"` - Ipv6EnableSettable *bool `xml:"ipv6EnableSettable"` - Ipv6PrefixLengthSettable *bool `xml:"ipv6PrefixLengthSettable"` - Ipv6PrefixLength int32 `xml:"ipv6PrefixLength,omitempty"` - Ipv6DhcpConfigurationSettable *bool `xml:"ipv6DhcpConfigurationSettable"` - Ipv6LinkLocalAutoConfigurationSettable *bool `xml:"ipv6LinkLocalAutoConfigurationSettable"` - Ipv6RouterAdvertisementConfigurationSettable *bool `xml:"ipv6RouterAdvertisementConfigurationSettable"` - Ipv6DefaultGatewaySettable *bool `xml:"ipv6DefaultGatewaySettable"` - Ipv6MaxStaticAddressesSupported int32 `xml:"ipv6MaxStaticAddressesSupported,omitempty"` -} - -func init() { - t["HostInternetScsiHbaIPCapabilities"] = reflect.TypeOf((*HostInternetScsiHbaIPCapabilities)(nil)).Elem() -} - -type HostInternetScsiHbaIPProperties struct { - DynamicData - - Mac string `xml:"mac,omitempty"` - Address string `xml:"address,omitempty"` - DhcpConfigurationEnabled bool `xml:"dhcpConfigurationEnabled"` - SubnetMask string `xml:"subnetMask,omitempty"` - DefaultGateway string `xml:"defaultGateway,omitempty"` - PrimaryDnsServerAddress string `xml:"primaryDnsServerAddress,omitempty"` - AlternateDnsServerAddress string `xml:"alternateDnsServerAddress,omitempty"` - Ipv6Address string `xml:"ipv6Address,omitempty"` - Ipv6SubnetMask string `xml:"ipv6SubnetMask,omitempty"` - Ipv6DefaultGateway string `xml:"ipv6DefaultGateway,omitempty"` - ArpRedirectEnabled *bool `xml:"arpRedirectEnabled"` - Mtu int32 `xml:"mtu,omitempty"` - JumboFramesEnabled *bool `xml:"jumboFramesEnabled"` - Ipv4Enabled *bool `xml:"ipv4Enabled"` - Ipv6Enabled *bool `xml:"ipv6Enabled"` - Ipv6properties *HostInternetScsiHbaIPv6Properties `xml:"ipv6properties,omitempty"` -} - -func init() { - t["HostInternetScsiHbaIPProperties"] = reflect.TypeOf((*HostInternetScsiHbaIPProperties)(nil)).Elem() -} - -type HostInternetScsiHbaIPv6Properties struct { - DynamicData - - IscsiIpv6Address []HostInternetScsiHbaIscsiIpv6Address `xml:"iscsiIpv6Address,omitempty"` - Ipv6DhcpConfigurationEnabled *bool `xml:"ipv6DhcpConfigurationEnabled"` - Ipv6LinkLocalAutoConfigurationEnabled *bool `xml:"ipv6LinkLocalAutoConfigurationEnabled"` - Ipv6RouterAdvertisementConfigurationEnabled *bool `xml:"ipv6RouterAdvertisementConfigurationEnabled"` - Ipv6DefaultGateway string `xml:"ipv6DefaultGateway,omitempty"` -} - -func init() { - t["HostInternetScsiHbaIPv6Properties"] = reflect.TypeOf((*HostInternetScsiHbaIPv6Properties)(nil)).Elem() -} - -type HostInternetScsiHbaIscsiIpv6Address struct { - DynamicData - - Address string `xml:"address"` - PrefixLength int32 `xml:"prefixLength"` - Origin string `xml:"origin"` - Operation string `xml:"operation,omitempty"` -} - -func init() { - t["HostInternetScsiHbaIscsiIpv6Address"] = reflect.TypeOf((*HostInternetScsiHbaIscsiIpv6Address)(nil)).Elem() -} - -type HostInternetScsiHbaParamValue struct { - OptionValue - - IsInherited *bool `xml:"isInherited"` -} - -func init() { - t["HostInternetScsiHbaParamValue"] = reflect.TypeOf((*HostInternetScsiHbaParamValue)(nil)).Elem() -} - -type HostInternetScsiHbaSendTarget struct { - DynamicData - - Address string `xml:"address"` - Port int32 `xml:"port,omitempty"` - AuthenticationProperties *HostInternetScsiHbaAuthenticationProperties `xml:"authenticationProperties,omitempty"` - DigestProperties *HostInternetScsiHbaDigestProperties `xml:"digestProperties,omitempty"` - SupportedAdvancedOptions []OptionDef `xml:"supportedAdvancedOptions,omitempty"` - AdvancedOptions []HostInternetScsiHbaParamValue `xml:"advancedOptions,omitempty"` - Parent string `xml:"parent,omitempty"` -} - -func init() { - t["HostInternetScsiHbaSendTarget"] = reflect.TypeOf((*HostInternetScsiHbaSendTarget)(nil)).Elem() -} - -type HostInternetScsiHbaStaticTarget struct { - DynamicData - - Address string `xml:"address"` - Port int32 `xml:"port,omitempty"` - IScsiName string `xml:"iScsiName"` - DiscoveryMethod string `xml:"discoveryMethod,omitempty"` - AuthenticationProperties *HostInternetScsiHbaAuthenticationProperties `xml:"authenticationProperties,omitempty"` - DigestProperties *HostInternetScsiHbaDigestProperties `xml:"digestProperties,omitempty"` - SupportedAdvancedOptions []OptionDef `xml:"supportedAdvancedOptions,omitempty"` - AdvancedOptions []HostInternetScsiHbaParamValue `xml:"advancedOptions,omitempty"` - Parent string `xml:"parent,omitempty"` -} - -func init() { - t["HostInternetScsiHbaStaticTarget"] = reflect.TypeOf((*HostInternetScsiHbaStaticTarget)(nil)).Elem() -} - -type HostInternetScsiHbaTargetSet struct { - DynamicData - - StaticTargets []HostInternetScsiHbaStaticTarget `xml:"staticTargets,omitempty"` - SendTargets []HostInternetScsiHbaSendTarget `xml:"sendTargets,omitempty"` -} - -func init() { - t["HostInternetScsiHbaTargetSet"] = reflect.TypeOf((*HostInternetScsiHbaTargetSet)(nil)).Elem() -} - -type HostInternetScsiTargetTransport struct { - HostTargetTransport - - IScsiName string `xml:"iScsiName"` - IScsiAlias string `xml:"iScsiAlias"` - Address []string `xml:"address,omitempty"` -} - -func init() { - t["HostInternetScsiTargetTransport"] = reflect.TypeOf((*HostInternetScsiTargetTransport)(nil)).Elem() -} - -type HostInventoryFull struct { - NotEnoughLicenses - - Capacity int32 `xml:"capacity"` -} - -func init() { - t["HostInventoryFull"] = reflect.TypeOf((*HostInventoryFull)(nil)).Elem() -} - -type HostInventoryFullEvent struct { - LicenseEvent - - Capacity int32 `xml:"capacity"` -} - -func init() { - t["HostInventoryFullEvent"] = reflect.TypeOf((*HostInventoryFullEvent)(nil)).Elem() -} - -type HostInventoryFullFault HostInventoryFull - -func init() { - t["HostInventoryFullFault"] = reflect.TypeOf((*HostInventoryFullFault)(nil)).Elem() -} - -type HostInventoryUnreadableEvent struct { - Event -} - -func init() { - t["HostInventoryUnreadableEvent"] = reflect.TypeOf((*HostInventoryUnreadableEvent)(nil)).Elem() -} - -type HostIoFilterInfo struct { - IoFilterInfo - - Available bool `xml:"available"` -} - -func init() { - t["HostIoFilterInfo"] = reflect.TypeOf((*HostIoFilterInfo)(nil)).Elem() -} - -type HostIpChangedEvent struct { - HostEvent - - OldIP string `xml:"oldIP"` - NewIP string `xml:"newIP"` -} - -func init() { - t["HostIpChangedEvent"] = reflect.TypeOf((*HostIpChangedEvent)(nil)).Elem() -} - -type HostIpConfig struct { - DynamicData - - Dhcp bool `xml:"dhcp"` - IpAddress string `xml:"ipAddress,omitempty"` - SubnetMask string `xml:"subnetMask,omitempty"` - IpV6Config *HostIpConfigIpV6AddressConfiguration `xml:"ipV6Config,omitempty"` -} - -func init() { - t["HostIpConfig"] = reflect.TypeOf((*HostIpConfig)(nil)).Elem() -} - -type HostIpConfigIpV6Address struct { - DynamicData - - IpAddress string `xml:"ipAddress"` - PrefixLength int32 `xml:"prefixLength"` - Origin string `xml:"origin,omitempty"` - DadState string `xml:"dadState,omitempty"` - Lifetime *time.Time `xml:"lifetime"` - Operation string `xml:"operation,omitempty"` -} - -func init() { - t["HostIpConfigIpV6Address"] = reflect.TypeOf((*HostIpConfigIpV6Address)(nil)).Elem() -} - -type HostIpConfigIpV6AddressConfiguration struct { - DynamicData - - IpV6Address []HostIpConfigIpV6Address `xml:"ipV6Address,omitempty"` - AutoConfigurationEnabled *bool `xml:"autoConfigurationEnabled"` - DhcpV6Enabled *bool `xml:"dhcpV6Enabled"` -} - -func init() { - t["HostIpConfigIpV6AddressConfiguration"] = reflect.TypeOf((*HostIpConfigIpV6AddressConfiguration)(nil)).Elem() -} - -type HostIpInconsistentEvent struct { - HostEvent - - IpAddress string `xml:"ipAddress"` - IpAddress2 string `xml:"ipAddress2"` -} - -func init() { - t["HostIpInconsistentEvent"] = reflect.TypeOf((*HostIpInconsistentEvent)(nil)).Elem() -} - -type HostIpRouteConfig struct { - DynamicData - - DefaultGateway string `xml:"defaultGateway,omitempty"` - GatewayDevice string `xml:"gatewayDevice,omitempty"` - IpV6DefaultGateway string `xml:"ipV6DefaultGateway,omitempty"` - IpV6GatewayDevice string `xml:"ipV6GatewayDevice,omitempty"` -} - -func init() { - t["HostIpRouteConfig"] = reflect.TypeOf((*HostIpRouteConfig)(nil)).Elem() -} - -type HostIpRouteConfigSpec struct { - HostIpRouteConfig - - GatewayDeviceConnection *HostVirtualNicConnection `xml:"gatewayDeviceConnection,omitempty"` - IpV6GatewayDeviceConnection *HostVirtualNicConnection `xml:"ipV6GatewayDeviceConnection,omitempty"` -} - -func init() { - t["HostIpRouteConfigSpec"] = reflect.TypeOf((*HostIpRouteConfigSpec)(nil)).Elem() -} - -type HostIpRouteEntry struct { - DynamicData - - Network string `xml:"network"` - PrefixLength int32 `xml:"prefixLength"` - Gateway string `xml:"gateway"` - DeviceName string `xml:"deviceName,omitempty"` -} - -func init() { - t["HostIpRouteEntry"] = reflect.TypeOf((*HostIpRouteEntry)(nil)).Elem() -} - -type HostIpRouteOp struct { - DynamicData - - ChangeOperation string `xml:"changeOperation"` - Route HostIpRouteEntry `xml:"route"` -} - -func init() { - t["HostIpRouteOp"] = reflect.TypeOf((*HostIpRouteOp)(nil)).Elem() -} - -type HostIpRouteTableConfig struct { - DynamicData - - IpRoute []HostIpRouteOp `xml:"ipRoute,omitempty"` - Ipv6Route []HostIpRouteOp `xml:"ipv6Route,omitempty"` -} - -func init() { - t["HostIpRouteTableConfig"] = reflect.TypeOf((*HostIpRouteTableConfig)(nil)).Elem() -} - -type HostIpRouteTableInfo struct { - DynamicData - - IpRoute []HostIpRouteEntry `xml:"ipRoute,omitempty"` - Ipv6Route []HostIpRouteEntry `xml:"ipv6Route,omitempty"` -} - -func init() { - t["HostIpRouteTableInfo"] = reflect.TypeOf((*HostIpRouteTableInfo)(nil)).Elem() -} - -type HostIpToShortNameFailedEvent struct { - HostEvent -} - -func init() { - t["HostIpToShortNameFailedEvent"] = reflect.TypeOf((*HostIpToShortNameFailedEvent)(nil)).Elem() -} - -type HostIpmiInfo struct { - DynamicData - - BmcIpAddress string `xml:"bmcIpAddress,omitempty"` - BmcMacAddress string `xml:"bmcMacAddress,omitempty"` - Login string `xml:"login,omitempty"` - Password string `xml:"password,omitempty"` -} - -func init() { - t["HostIpmiInfo"] = reflect.TypeOf((*HostIpmiInfo)(nil)).Elem() -} - -type HostIsolationIpPingFailedEvent struct { - HostDasEvent - - IsolationIp string `xml:"isolationIp"` -} - -func init() { - t["HostIsolationIpPingFailedEvent"] = reflect.TypeOf((*HostIsolationIpPingFailedEvent)(nil)).Elem() -} - -type HostLicensableResourceInfo struct { - DynamicData - - Resource []KeyAnyValue `xml:"resource"` -} - -func init() { - t["HostLicensableResourceInfo"] = reflect.TypeOf((*HostLicensableResourceInfo)(nil)).Elem() -} - -type HostLicenseConnectInfo struct { - DynamicData - - License LicenseManagerLicenseInfo `xml:"license"` - Evaluation LicenseManagerEvaluationInfo `xml:"evaluation"` - Resource *HostLicensableResourceInfo `xml:"resource,omitempty"` -} - -func init() { - t["HostLicenseConnectInfo"] = reflect.TypeOf((*HostLicenseConnectInfo)(nil)).Elem() -} - -type HostLicenseExpiredEvent struct { - LicenseEvent -} - -func init() { - t["HostLicenseExpiredEvent"] = reflect.TypeOf((*HostLicenseExpiredEvent)(nil)).Elem() -} - -type HostLicenseSpec struct { - DynamicData - - Source BaseLicenseSource `xml:"source,omitempty,typeattr"` - EditionKey string `xml:"editionKey,omitempty"` - DisabledFeatureKey []string `xml:"disabledFeatureKey,omitempty"` - EnabledFeatureKey []string `xml:"enabledFeatureKey,omitempty"` -} - -func init() { - t["HostLicenseSpec"] = reflect.TypeOf((*HostLicenseSpec)(nil)).Elem() -} - -type HostListSummary struct { - DynamicData - - Host *ManagedObjectReference `xml:"host,omitempty"` - Hardware *HostHardwareSummary `xml:"hardware,omitempty"` - Runtime *HostRuntimeInfo `xml:"runtime,omitempty"` - Config HostConfigSummary `xml:"config"` - QuickStats HostListSummaryQuickStats `xml:"quickStats"` - OverallStatus ManagedEntityStatus `xml:"overallStatus"` - RebootRequired bool `xml:"rebootRequired"` - CustomValue []BaseCustomFieldValue `xml:"customValue,omitempty,typeattr"` - ManagementServerIp string `xml:"managementServerIp,omitempty"` - MaxEVCModeKey string `xml:"maxEVCModeKey,omitempty"` - CurrentEVCModeKey string `xml:"currentEVCModeKey,omitempty"` - CurrentEVCGraphicsModeKey string `xml:"currentEVCGraphicsModeKey,omitempty"` - Gateway *HostListSummaryGatewaySummary `xml:"gateway,omitempty"` - TpmAttestation *HostTpmAttestationInfo `xml:"tpmAttestation,omitempty"` - TrustAuthorityAttestationInfos []HostTrustAuthorityAttestationInfo `xml:"trustAuthorityAttestationInfos,omitempty"` -} - -func init() { - t["HostListSummary"] = reflect.TypeOf((*HostListSummary)(nil)).Elem() -} - -type HostListSummaryGatewaySummary struct { - DynamicData - - GatewayType string `xml:"gatewayType"` - GatewayId string `xml:"gatewayId"` -} - -func init() { - t["HostListSummaryGatewaySummary"] = reflect.TypeOf((*HostListSummaryGatewaySummary)(nil)).Elem() -} - -type HostListSummaryQuickStats struct { - DynamicData - - OverallCpuUsage int32 `xml:"overallCpuUsage,omitempty"` - OverallMemoryUsage int32 `xml:"overallMemoryUsage,omitempty"` - DistributedCpuFairness int32 `xml:"distributedCpuFairness,omitempty"` - DistributedMemoryFairness int32 `xml:"distributedMemoryFairness,omitempty"` - AvailablePMemCapacity int32 `xml:"availablePMemCapacity,omitempty"` - Uptime int32 `xml:"uptime,omitempty"` -} - -func init() { - t["HostListSummaryQuickStats"] = reflect.TypeOf((*HostListSummaryQuickStats)(nil)).Elem() -} - -type HostListVStorageObject HostListVStorageObjectRequestType - -func init() { - t["HostListVStorageObject"] = reflect.TypeOf((*HostListVStorageObject)(nil)).Elem() -} - -type HostListVStorageObjectRequestType struct { - This ManagedObjectReference `xml:"_this"` - Datastore ManagedObjectReference `xml:"datastore"` -} - -func init() { - t["HostListVStorageObjectRequestType"] = reflect.TypeOf((*HostListVStorageObjectRequestType)(nil)).Elem() -} - -type HostListVStorageObjectResponse struct { - Returnval []ID `xml:"returnval,omitempty"` -} - -type HostLocalAuthenticationInfo struct { - HostAuthenticationStoreInfo -} - -func init() { - t["HostLocalAuthenticationInfo"] = reflect.TypeOf((*HostLocalAuthenticationInfo)(nil)).Elem() -} - -type HostLocalFileSystemVolume struct { - HostFileSystemVolume - - Device string `xml:"device"` -} - -func init() { - t["HostLocalFileSystemVolume"] = reflect.TypeOf((*HostLocalFileSystemVolume)(nil)).Elem() -} - -type HostLocalFileSystemVolumeSpec struct { - DynamicData - - Device string `xml:"device"` - LocalPath string `xml:"localPath"` -} - -func init() { - t["HostLocalFileSystemVolumeSpec"] = reflect.TypeOf((*HostLocalFileSystemVolumeSpec)(nil)).Elem() -} - -type HostLocalPortCreatedEvent struct { - DvsEvent - - HostLocalPort DVSHostLocalPortInfo `xml:"hostLocalPort"` -} - -func init() { - t["HostLocalPortCreatedEvent"] = reflect.TypeOf((*HostLocalPortCreatedEvent)(nil)).Elem() -} - -type HostLowLevelProvisioningManagerDiskLayoutSpec struct { - DynamicData - - ControllerType string `xml:"controllerType"` - BusNumber int32 `xml:"busNumber"` - UnitNumber *int32 `xml:"unitNumber"` - SrcFilename string `xml:"srcFilename"` - DstFilename string `xml:"dstFilename"` -} - -func init() { - t["HostLowLevelProvisioningManagerDiskLayoutSpec"] = reflect.TypeOf((*HostLowLevelProvisioningManagerDiskLayoutSpec)(nil)).Elem() -} - -type HostLowLevelProvisioningManagerFileDeleteResult struct { - DynamicData - - FileName string `xml:"fileName"` - Fault LocalizedMethodFault `xml:"fault"` -} - -func init() { - t["HostLowLevelProvisioningManagerFileDeleteResult"] = reflect.TypeOf((*HostLowLevelProvisioningManagerFileDeleteResult)(nil)).Elem() -} - -type HostLowLevelProvisioningManagerFileDeleteSpec struct { - DynamicData - - FileName string `xml:"fileName"` - FileType string `xml:"fileType"` -} - -func init() { - t["HostLowLevelProvisioningManagerFileDeleteSpec"] = reflect.TypeOf((*HostLowLevelProvisioningManagerFileDeleteSpec)(nil)).Elem() -} - -type HostLowLevelProvisioningManagerFileReserveResult struct { - DynamicData - - BaseName string `xml:"baseName"` - ParentDir string `xml:"parentDir"` - ReservedName string `xml:"reservedName"` -} - -func init() { - t["HostLowLevelProvisioningManagerFileReserveResult"] = reflect.TypeOf((*HostLowLevelProvisioningManagerFileReserveResult)(nil)).Elem() -} - -type HostLowLevelProvisioningManagerFileReserveSpec struct { - DynamicData - - BaseName string `xml:"baseName"` - ParentDir string `xml:"parentDir"` - FileType string `xml:"fileType"` - StorageProfile string `xml:"storageProfile"` -} - -func init() { - t["HostLowLevelProvisioningManagerFileReserveSpec"] = reflect.TypeOf((*HostLowLevelProvisioningManagerFileReserveSpec)(nil)).Elem() -} - -type HostLowLevelProvisioningManagerSnapshotLayoutSpec struct { - DynamicData - - Id int32 `xml:"id"` - SrcFilename string `xml:"srcFilename"` - DstFilename string `xml:"dstFilename"` - Disk []HostLowLevelProvisioningManagerDiskLayoutSpec `xml:"disk,omitempty"` -} - -func init() { - t["HostLowLevelProvisioningManagerSnapshotLayoutSpec"] = reflect.TypeOf((*HostLowLevelProvisioningManagerSnapshotLayoutSpec)(nil)).Elem() -} - -type HostLowLevelProvisioningManagerVmMigrationStatus struct { - DynamicData - - MigrationId int64 `xml:"migrationId"` - Type string `xml:"type"` - Source bool `xml:"source"` - ConsideredSuccessful bool `xml:"consideredSuccessful"` -} - -func init() { - t["HostLowLevelProvisioningManagerVmMigrationStatus"] = reflect.TypeOf((*HostLowLevelProvisioningManagerVmMigrationStatus)(nil)).Elem() -} - -type HostLowLevelProvisioningManagerVmRecoveryInfo struct { - DynamicData - - Version string `xml:"version"` - BiosUUID string `xml:"biosUUID"` - InstanceUUID string `xml:"instanceUUID"` - FtInfo BaseFaultToleranceConfigInfo `xml:"ftInfo,omitempty,typeattr"` -} - -func init() { - t["HostLowLevelProvisioningManagerVmRecoveryInfo"] = reflect.TypeOf((*HostLowLevelProvisioningManagerVmRecoveryInfo)(nil)).Elem() -} - -type HostMaintenanceSpec struct { - DynamicData - - VsanMode *VsanHostDecommissionMode `xml:"vsanMode,omitempty"` - Purpose string `xml:"purpose,omitempty"` -} - -func init() { - t["HostMaintenanceSpec"] = reflect.TypeOf((*HostMaintenanceSpec)(nil)).Elem() -} - -type HostMemberHealthCheckResult struct { - DynamicData - - Summary string `xml:"summary,omitempty"` -} - -func init() { - t["HostMemberHealthCheckResult"] = reflect.TypeOf((*HostMemberHealthCheckResult)(nil)).Elem() -} - -type HostMemberRuntimeInfo struct { - DynamicData - - Host ManagedObjectReference `xml:"host"` - Status string `xml:"status,omitempty"` - StatusDetail string `xml:"statusDetail,omitempty"` - NsxtStatus string `xml:"nsxtStatus,omitempty"` - NsxtStatusDetail string `xml:"nsxtStatusDetail,omitempty"` - HealthCheckResult []BaseHostMemberHealthCheckResult `xml:"healthCheckResult,omitempty,typeattr"` -} - -func init() { - t["HostMemberRuntimeInfo"] = reflect.TypeOf((*HostMemberRuntimeInfo)(nil)).Elem() -} - -type HostMemberUplinkHealthCheckResult struct { - HostMemberHealthCheckResult - - UplinkPortKey string `xml:"uplinkPortKey"` -} - -func init() { - t["HostMemberUplinkHealthCheckResult"] = reflect.TypeOf((*HostMemberUplinkHealthCheckResult)(nil)).Elem() -} - -type HostMemoryProfile struct { - ApplyProfile -} - -func init() { - t["HostMemoryProfile"] = reflect.TypeOf((*HostMemoryProfile)(nil)).Elem() -} - -type HostMemorySpec struct { - DynamicData - - ServiceConsoleReservation int64 `xml:"serviceConsoleReservation,omitempty"` -} - -func init() { - t["HostMemorySpec"] = reflect.TypeOf((*HostMemorySpec)(nil)).Elem() -} - -type HostMemoryTierInfo struct { - DynamicData - - Name string `xml:"name"` - Type string `xml:"type"` - Flags []string `xml:"flags,omitempty"` - Size int64 `xml:"size"` -} - -func init() { - t["HostMemoryTierInfo"] = reflect.TypeOf((*HostMemoryTierInfo)(nil)).Elem() -} - -type HostMissingNetworksEvent struct { - HostDasEvent - - Ips string `xml:"ips,omitempty"` -} - -func init() { - t["HostMissingNetworksEvent"] = reflect.TypeOf((*HostMissingNetworksEvent)(nil)).Elem() -} - -type HostMonitoringStateChangedEvent struct { - ClusterEvent - - State string `xml:"state"` - PrevState string `xml:"prevState,omitempty"` -} - -func init() { - t["HostMonitoringStateChangedEvent"] = reflect.TypeOf((*HostMonitoringStateChangedEvent)(nil)).Elem() -} - -type HostMountInfo struct { - DynamicData - - Path string `xml:"path,omitempty"` - AccessMode string `xml:"accessMode"` - Mounted *bool `xml:"mounted"` - Accessible *bool `xml:"accessible"` - InaccessibleReason string `xml:"inaccessibleReason,omitempty"` - MountFailedReason string `xml:"mountFailedReason,omitempty"` -} - -func init() { - t["HostMountInfo"] = reflect.TypeOf((*HostMountInfo)(nil)).Elem() -} - -type HostMultipathInfo struct { - DynamicData - - Lun []HostMultipathInfoLogicalUnit `xml:"lun,omitempty"` -} - -func init() { - t["HostMultipathInfo"] = reflect.TypeOf((*HostMultipathInfo)(nil)).Elem() -} - -type HostMultipathInfoFixedLogicalUnitPolicy struct { - HostMultipathInfoLogicalUnitPolicy - - Prefer string `xml:"prefer"` -} - -func init() { - t["HostMultipathInfoFixedLogicalUnitPolicy"] = reflect.TypeOf((*HostMultipathInfoFixedLogicalUnitPolicy)(nil)).Elem() -} - -type HostMultipathInfoHppLogicalUnitPolicy struct { - HostMultipathInfoLogicalUnitPolicy - - Bytes int64 `xml:"bytes,omitempty"` - Iops int64 `xml:"iops,omitempty"` - Path string `xml:"path,omitempty"` - LatencyEvalTime int64 `xml:"latencyEvalTime,omitempty"` - SamplingIosPerPath int64 `xml:"samplingIosPerPath,omitempty"` -} - -func init() { - t["HostMultipathInfoHppLogicalUnitPolicy"] = reflect.TypeOf((*HostMultipathInfoHppLogicalUnitPolicy)(nil)).Elem() -} - -type HostMultipathInfoLogicalUnit struct { - DynamicData - - Key string `xml:"key"` - Id string `xml:"id"` - Lun string `xml:"lun"` - Path []HostMultipathInfoPath `xml:"path"` - Policy BaseHostMultipathInfoLogicalUnitPolicy `xml:"policy,typeattr"` - StorageArrayTypePolicy *HostMultipathInfoLogicalUnitStorageArrayTypePolicy `xml:"storageArrayTypePolicy,omitempty"` -} - -func init() { - t["HostMultipathInfoLogicalUnit"] = reflect.TypeOf((*HostMultipathInfoLogicalUnit)(nil)).Elem() -} - -type HostMultipathInfoLogicalUnitPolicy struct { - DynamicData - - Policy string `xml:"policy"` -} - -func init() { - t["HostMultipathInfoLogicalUnitPolicy"] = reflect.TypeOf((*HostMultipathInfoLogicalUnitPolicy)(nil)).Elem() -} - -type HostMultipathInfoLogicalUnitStorageArrayTypePolicy struct { - DynamicData - - Policy string `xml:"policy"` -} - -func init() { - t["HostMultipathInfoLogicalUnitStorageArrayTypePolicy"] = reflect.TypeOf((*HostMultipathInfoLogicalUnitStorageArrayTypePolicy)(nil)).Elem() -} - -type HostMultipathInfoPath struct { - DynamicData - - Key string `xml:"key"` - Name string `xml:"name"` - PathState string `xml:"pathState"` - State string `xml:"state,omitempty"` - IsWorkingPath *bool `xml:"isWorkingPath"` - Adapter string `xml:"adapter"` - Lun string `xml:"lun"` - Transport BaseHostTargetTransport `xml:"transport,omitempty,typeattr"` -} - -func init() { - t["HostMultipathInfoPath"] = reflect.TypeOf((*HostMultipathInfoPath)(nil)).Elem() -} - -type HostMultipathStateInfo struct { - DynamicData - - Path []HostMultipathStateInfoPath `xml:"path,omitempty"` -} - -func init() { - t["HostMultipathStateInfo"] = reflect.TypeOf((*HostMultipathStateInfo)(nil)).Elem() -} - -type HostMultipathStateInfoPath struct { - DynamicData - - Name string `xml:"name"` - PathState string `xml:"pathState"` -} - -func init() { - t["HostMultipathStateInfoPath"] = reflect.TypeOf((*HostMultipathStateInfoPath)(nil)).Elem() -} - -type HostNasVolume struct { - HostFileSystemVolume - - RemoteHost string `xml:"remoteHost"` - RemotePath string `xml:"remotePath"` - UserName string `xml:"userName,omitempty"` - RemoteHostNames []string `xml:"remoteHostNames,omitempty"` - SecurityType string `xml:"securityType,omitempty"` - ProtocolEndpoint *bool `xml:"protocolEndpoint"` -} - -func init() { - t["HostNasVolume"] = reflect.TypeOf((*HostNasVolume)(nil)).Elem() -} - -type HostNasVolumeConfig struct { - DynamicData - - ChangeOperation string `xml:"changeOperation,omitempty"` - Spec *HostNasVolumeSpec `xml:"spec,omitempty"` -} - -func init() { - t["HostNasVolumeConfig"] = reflect.TypeOf((*HostNasVolumeConfig)(nil)).Elem() -} - -type HostNasVolumeSpec struct { - DynamicData - - RemoteHost string `xml:"remoteHost"` - RemotePath string `xml:"remotePath"` - LocalPath string `xml:"localPath"` - AccessMode string `xml:"accessMode"` - Type string `xml:"type,omitempty"` - UserName string `xml:"userName,omitempty"` - Password string `xml:"password,omitempty"` - RemoteHostNames []string `xml:"remoteHostNames,omitempty"` - SecurityType string `xml:"securityType,omitempty"` -} - -func init() { - t["HostNasVolumeSpec"] = reflect.TypeOf((*HostNasVolumeSpec)(nil)).Elem() -} - -type HostNasVolumeUserInfo struct { - DynamicData - - User string `xml:"user"` -} - -func init() { - t["HostNasVolumeUserInfo"] = reflect.TypeOf((*HostNasVolumeUserInfo)(nil)).Elem() -} - -type HostNatService struct { - DynamicData - - Key string `xml:"key"` - Spec HostNatServiceSpec `xml:"spec"` -} - -func init() { - t["HostNatService"] = reflect.TypeOf((*HostNatService)(nil)).Elem() -} - -type HostNatServiceConfig struct { - DynamicData - - ChangeOperation string `xml:"changeOperation,omitempty"` - Key string `xml:"key"` - Spec HostNatServiceSpec `xml:"spec"` -} - -func init() { - t["HostNatServiceConfig"] = reflect.TypeOf((*HostNatServiceConfig)(nil)).Elem() -} - -type HostNatServiceNameServiceSpec struct { - DynamicData - - DnsAutoDetect bool `xml:"dnsAutoDetect"` - DnsPolicy string `xml:"dnsPolicy"` - DnsRetries int32 `xml:"dnsRetries"` - DnsTimeout int32 `xml:"dnsTimeout"` - DnsNameServer []string `xml:"dnsNameServer,omitempty"` - NbdsTimeout int32 `xml:"nbdsTimeout"` - NbnsRetries int32 `xml:"nbnsRetries"` - NbnsTimeout int32 `xml:"nbnsTimeout"` -} - -func init() { - t["HostNatServiceNameServiceSpec"] = reflect.TypeOf((*HostNatServiceNameServiceSpec)(nil)).Elem() -} - -type HostNatServicePortForwardSpec struct { - DynamicData - - Type string `xml:"type"` - Name string `xml:"name"` - HostPort int32 `xml:"hostPort"` - GuestPort int32 `xml:"guestPort"` - GuestIpAddress string `xml:"guestIpAddress"` -} - -func init() { - t["HostNatServicePortForwardSpec"] = reflect.TypeOf((*HostNatServicePortForwardSpec)(nil)).Elem() -} - -type HostNatServiceSpec struct { - DynamicData - - VirtualSwitch string `xml:"virtualSwitch"` - ActiveFtp bool `xml:"activeFtp"` - AllowAnyOui bool `xml:"allowAnyOui"` - ConfigPort bool `xml:"configPort"` - IpGatewayAddress string `xml:"ipGatewayAddress"` - UdpTimeout int32 `xml:"udpTimeout"` - PortForward []HostNatServicePortForwardSpec `xml:"portForward,omitempty"` - NameService *HostNatServiceNameServiceSpec `xml:"nameService,omitempty"` -} - -func init() { - t["HostNatServiceSpec"] = reflect.TypeOf((*HostNatServiceSpec)(nil)).Elem() -} - -type HostNetCapabilities struct { - DynamicData - - CanSetPhysicalNicLinkSpeed bool `xml:"canSetPhysicalNicLinkSpeed"` - SupportsNicTeaming bool `xml:"supportsNicTeaming"` - NicTeamingPolicy []string `xml:"nicTeamingPolicy,omitempty"` - SupportsVlan bool `xml:"supportsVlan"` - UsesServiceConsoleNic bool `xml:"usesServiceConsoleNic"` - SupportsNetworkHints bool `xml:"supportsNetworkHints"` - MaxPortGroupsPerVswitch int32 `xml:"maxPortGroupsPerVswitch,omitempty"` - VswitchConfigSupported bool `xml:"vswitchConfigSupported"` - VnicConfigSupported bool `xml:"vnicConfigSupported"` - IpRouteConfigSupported bool `xml:"ipRouteConfigSupported"` - DnsConfigSupported bool `xml:"dnsConfigSupported"` - DhcpOnVnicSupported bool `xml:"dhcpOnVnicSupported"` - IpV6Supported *bool `xml:"ipV6Supported"` - BackupNfcNiocSupported *bool `xml:"backupNfcNiocSupported"` -} - -func init() { - t["HostNetCapabilities"] = reflect.TypeOf((*HostNetCapabilities)(nil)).Elem() -} - -type HostNetOffloadCapabilities struct { - DynamicData - - CsumOffload *bool `xml:"csumOffload"` - TcpSegmentation *bool `xml:"tcpSegmentation"` - ZeroCopyXmit *bool `xml:"zeroCopyXmit"` -} - -func init() { - t["HostNetOffloadCapabilities"] = reflect.TypeOf((*HostNetOffloadCapabilities)(nil)).Elem() -} - -type HostNetStackInstance struct { - DynamicData - - Key string `xml:"key,omitempty"` - Name string `xml:"name,omitempty"` - DnsConfig BaseHostDnsConfig `xml:"dnsConfig,omitempty,typeattr"` - IpRouteConfig BaseHostIpRouteConfig `xml:"ipRouteConfig,omitempty,typeattr"` - RequestedMaxNumberOfConnections int32 `xml:"requestedMaxNumberOfConnections,omitempty"` - CongestionControlAlgorithm string `xml:"congestionControlAlgorithm,omitempty"` - IpV6Enabled *bool `xml:"ipV6Enabled"` - RouteTableConfig *HostIpRouteTableConfig `xml:"routeTableConfig,omitempty"` -} - -func init() { - t["HostNetStackInstance"] = reflect.TypeOf((*HostNetStackInstance)(nil)).Elem() -} - -type HostNetworkConfig struct { - DynamicData - - Vswitch []HostVirtualSwitchConfig `xml:"vswitch,omitempty"` - ProxySwitch []HostProxySwitchConfig `xml:"proxySwitch,omitempty"` - Portgroup []HostPortGroupConfig `xml:"portgroup,omitempty"` - Pnic []PhysicalNicConfig `xml:"pnic,omitempty"` - Vnic []HostVirtualNicConfig `xml:"vnic,omitempty"` - ConsoleVnic []HostVirtualNicConfig `xml:"consoleVnic,omitempty"` - DnsConfig BaseHostDnsConfig `xml:"dnsConfig,omitempty,typeattr"` - IpRouteConfig BaseHostIpRouteConfig `xml:"ipRouteConfig,omitempty,typeattr"` - ConsoleIpRouteConfig BaseHostIpRouteConfig `xml:"consoleIpRouteConfig,omitempty,typeattr"` - RouteTableConfig *HostIpRouteTableConfig `xml:"routeTableConfig,omitempty"` - Dhcp []HostDhcpServiceConfig `xml:"dhcp,omitempty"` - Nat []HostNatServiceConfig `xml:"nat,omitempty"` - IpV6Enabled *bool `xml:"ipV6Enabled"` - NetStackSpec []HostNetworkConfigNetStackSpec `xml:"netStackSpec,omitempty"` - MigrationStatus string `xml:"migrationStatus,omitempty"` -} - -func init() { - t["HostNetworkConfig"] = reflect.TypeOf((*HostNetworkConfig)(nil)).Elem() -} - -type HostNetworkConfigNetStackSpec struct { - DynamicData - - NetStackInstance HostNetStackInstance `xml:"netStackInstance"` - Operation string `xml:"operation,omitempty"` -} - -func init() { - t["HostNetworkConfigNetStackSpec"] = reflect.TypeOf((*HostNetworkConfigNetStackSpec)(nil)).Elem() -} - -type HostNetworkConfigResult struct { - DynamicData - - VnicDevice []string `xml:"vnicDevice,omitempty"` - ConsoleVnicDevice []string `xml:"consoleVnicDevice,omitempty"` -} - -func init() { - t["HostNetworkConfigResult"] = reflect.TypeOf((*HostNetworkConfigResult)(nil)).Elem() -} - -type HostNetworkInfo struct { - DynamicData - - Vswitch []HostVirtualSwitch `xml:"vswitch,omitempty"` - ProxySwitch []HostProxySwitch `xml:"proxySwitch,omitempty"` - Portgroup []HostPortGroup `xml:"portgroup,omitempty"` - Pnic []PhysicalNic `xml:"pnic,omitempty"` - RdmaDevice []HostRdmaDevice `xml:"rdmaDevice,omitempty"` - Vnic []HostVirtualNic `xml:"vnic,omitempty"` - ConsoleVnic []HostVirtualNic `xml:"consoleVnic,omitempty"` - DnsConfig BaseHostDnsConfig `xml:"dnsConfig,omitempty,typeattr"` - IpRouteConfig BaseHostIpRouteConfig `xml:"ipRouteConfig,omitempty,typeattr"` - ConsoleIpRouteConfig BaseHostIpRouteConfig `xml:"consoleIpRouteConfig,omitempty,typeattr"` - RouteTableInfo *HostIpRouteTableInfo `xml:"routeTableInfo,omitempty"` - Dhcp []HostDhcpService `xml:"dhcp,omitempty"` - Nat []HostNatService `xml:"nat,omitempty"` - IpV6Enabled *bool `xml:"ipV6Enabled"` - AtBootIpV6Enabled *bool `xml:"atBootIpV6Enabled"` - NetStackInstance []HostNetStackInstance `xml:"netStackInstance,omitempty"` - OpaqueSwitch []HostOpaqueSwitch `xml:"opaqueSwitch,omitempty"` - OpaqueNetwork []HostOpaqueNetworkInfo `xml:"opaqueNetwork,omitempty"` - NsxTransportNodeId string `xml:"nsxTransportNodeId,omitempty"` - NvdsToVdsMigrationRequired *bool `xml:"nvdsToVdsMigrationRequired"` - MigrationStatus string `xml:"migrationStatus,omitempty"` -} - -func init() { - t["HostNetworkInfo"] = reflect.TypeOf((*HostNetworkInfo)(nil)).Elem() -} - -type HostNetworkPolicy struct { - DynamicData - - Security *HostNetworkSecurityPolicy `xml:"security,omitempty"` - NicTeaming *HostNicTeamingPolicy `xml:"nicTeaming,omitempty"` - OffloadPolicy *HostNetOffloadCapabilities `xml:"offloadPolicy,omitempty"` - ShapingPolicy *HostNetworkTrafficShapingPolicy `xml:"shapingPolicy,omitempty"` -} - -func init() { - t["HostNetworkPolicy"] = reflect.TypeOf((*HostNetworkPolicy)(nil)).Elem() -} - -type HostNetworkResourceRuntime struct { - DynamicData - - PnicResourceInfo []HostPnicNetworkResourceInfo `xml:"pnicResourceInfo"` -} - -func init() { - t["HostNetworkResourceRuntime"] = reflect.TypeOf((*HostNetworkResourceRuntime)(nil)).Elem() -} - -type HostNetworkSecurityPolicy struct { - DynamicData - - AllowPromiscuous *bool `xml:"allowPromiscuous"` - MacChanges *bool `xml:"macChanges"` - ForgedTransmits *bool `xml:"forgedTransmits"` -} - -func init() { - t["HostNetworkSecurityPolicy"] = reflect.TypeOf((*HostNetworkSecurityPolicy)(nil)).Elem() -} - -type HostNetworkTrafficShapingPolicy struct { - DynamicData - - Enabled *bool `xml:"enabled"` - AverageBandwidth int64 `xml:"averageBandwidth,omitempty"` - PeakBandwidth int64 `xml:"peakBandwidth,omitempty"` - BurstSize int64 `xml:"burstSize,omitempty"` -} - -func init() { - t["HostNetworkTrafficShapingPolicy"] = reflect.TypeOf((*HostNetworkTrafficShapingPolicy)(nil)).Elem() -} - -type HostNewNetworkConnectInfo struct { - HostConnectInfoNetworkInfo -} - -func init() { - t["HostNewNetworkConnectInfo"] = reflect.TypeOf((*HostNewNetworkConnectInfo)(nil)).Elem() -} - -type HostNfcConnectionInfo struct { - HostDataTransportConnectionInfo - - StreamingMemoryConsumed int64 `xml:"streamingMemoryConsumed,omitempty"` -} - -func init() { - t["HostNfcConnectionInfo"] = reflect.TypeOf((*HostNfcConnectionInfo)(nil)).Elem() -} - -type HostNicFailureCriteria struct { - DynamicData - - CheckSpeed string `xml:"checkSpeed,omitempty"` - Speed int32 `xml:"speed,omitempty"` - CheckDuplex *bool `xml:"checkDuplex"` - FullDuplex *bool `xml:"fullDuplex"` - CheckErrorPercent *bool `xml:"checkErrorPercent"` - Percentage int32 `xml:"percentage,omitempty"` - CheckBeacon *bool `xml:"checkBeacon"` -} - -func init() { - t["HostNicFailureCriteria"] = reflect.TypeOf((*HostNicFailureCriteria)(nil)).Elem() -} - -type HostNicOrderPolicy struct { - DynamicData - - ActiveNic []string `xml:"activeNic,omitempty"` - StandbyNic []string `xml:"standbyNic,omitempty"` -} - -func init() { - t["HostNicOrderPolicy"] = reflect.TypeOf((*HostNicOrderPolicy)(nil)).Elem() -} - -type HostNicTeamingPolicy struct { - DynamicData - - Policy string `xml:"policy,omitempty"` - ReversePolicy *bool `xml:"reversePolicy"` - NotifySwitches *bool `xml:"notifySwitches"` - RollingOrder *bool `xml:"rollingOrder"` - FailureCriteria *HostNicFailureCriteria `xml:"failureCriteria,omitempty"` - NicOrder *HostNicOrderPolicy `xml:"nicOrder,omitempty"` -} - -func init() { - t["HostNicTeamingPolicy"] = reflect.TypeOf((*HostNicTeamingPolicy)(nil)).Elem() -} - -type HostNoAvailableNetworksEvent struct { - HostDasEvent - - Ips string `xml:"ips,omitempty"` -} - -func init() { - t["HostNoAvailableNetworksEvent"] = reflect.TypeOf((*HostNoAvailableNetworksEvent)(nil)).Elem() -} - -type HostNoHAEnabledPortGroupsEvent struct { - HostDasEvent -} - -func init() { - t["HostNoHAEnabledPortGroupsEvent"] = reflect.TypeOf((*HostNoHAEnabledPortGroupsEvent)(nil)).Elem() -} - -type HostNoRedundantManagementNetworkEvent struct { - HostDasEvent -} - -func init() { - t["HostNoRedundantManagementNetworkEvent"] = reflect.TypeOf((*HostNoRedundantManagementNetworkEvent)(nil)).Elem() -} - -type HostNonCompliantEvent struct { - HostEvent -} - -func init() { - t["HostNonCompliantEvent"] = reflect.TypeOf((*HostNonCompliantEvent)(nil)).Elem() -} - -type HostNotConnected struct { - HostCommunication -} - -func init() { - t["HostNotConnected"] = reflect.TypeOf((*HostNotConnected)(nil)).Elem() -} - -type HostNotConnectedFault HostNotConnected - -func init() { - t["HostNotConnectedFault"] = reflect.TypeOf((*HostNotConnectedFault)(nil)).Elem() -} - -type HostNotInClusterEvent struct { - HostDasEvent -} - -func init() { - t["HostNotInClusterEvent"] = reflect.TypeOf((*HostNotInClusterEvent)(nil)).Elem() -} - -type HostNotReachable struct { - HostCommunication -} - -func init() { - t["HostNotReachable"] = reflect.TypeOf((*HostNotReachable)(nil)).Elem() -} - -type HostNotReachableFault HostNotReachable - -func init() { - t["HostNotReachableFault"] = reflect.TypeOf((*HostNotReachableFault)(nil)).Elem() -} - -type HostNtpConfig struct { - DynamicData - - Server []string `xml:"server,omitempty"` - ConfigFile []string `xml:"configFile,omitempty"` -} - -func init() { - t["HostNtpConfig"] = reflect.TypeOf((*HostNtpConfig)(nil)).Elem() -} - -type HostNumaInfo struct { - DynamicData - - Type string `xml:"type"` - NumNodes int32 `xml:"numNodes"` - NumaNode []HostNumaNode `xml:"numaNode,omitempty"` -} - -func init() { - t["HostNumaInfo"] = reflect.TypeOf((*HostNumaInfo)(nil)).Elem() -} - -type HostNumaNode struct { - DynamicData - - TypeId byte `xml:"typeId"` - CpuID []int16 `xml:"cpuID"` - MemorySize int64 `xml:"memorySize,omitempty"` - MemoryRangeBegin int64 `xml:"memoryRangeBegin"` - MemoryRangeLength int64 `xml:"memoryRangeLength"` - PciId []string `xml:"pciId,omitempty"` -} - -func init() { - t["HostNumaNode"] = reflect.TypeOf((*HostNumaNode)(nil)).Elem() -} - -type HostNumericSensorInfo struct { - DynamicData - - Name string `xml:"name"` - HealthState BaseElementDescription `xml:"healthState,omitempty,typeattr"` - CurrentReading int64 `xml:"currentReading"` - UnitModifier int32 `xml:"unitModifier"` - BaseUnits string `xml:"baseUnits"` - RateUnits string `xml:"rateUnits,omitempty"` - SensorType string `xml:"sensorType"` - Id string `xml:"id,omitempty"` - SensorNumber int64 `xml:"sensorNumber,omitempty"` - TimeStamp string `xml:"timeStamp,omitempty"` - Fru *HostFru `xml:"fru,omitempty"` -} - -func init() { - t["HostNumericSensorInfo"] = reflect.TypeOf((*HostNumericSensorInfo)(nil)).Elem() -} - -type HostNvmeConnectSpec struct { - HostNvmeSpec - - Subnqn string `xml:"subnqn"` - ControllerId int32 `xml:"controllerId,omitempty"` - AdminQueueSize int32 `xml:"adminQueueSize,omitempty"` - KeepAliveTimeout int32 `xml:"keepAliveTimeout,omitempty"` -} - -func init() { - t["HostNvmeConnectSpec"] = reflect.TypeOf((*HostNvmeConnectSpec)(nil)).Elem() -} - -type HostNvmeController struct { - DynamicData - - Key string `xml:"key"` - ControllerNumber int32 `xml:"controllerNumber"` - Subnqn string `xml:"subnqn"` - Name string `xml:"name"` - AssociatedAdapter string `xml:"associatedAdapter"` - TransportType string `xml:"transportType"` - FusedOperationSupported bool `xml:"fusedOperationSupported"` - NumberOfQueues int32 `xml:"numberOfQueues"` - QueueSize int32 `xml:"queueSize"` - AttachedNamespace []HostNvmeNamespace `xml:"attachedNamespace,omitempty"` - VendorId string `xml:"vendorId,omitempty"` - Model string `xml:"model,omitempty"` - SerialNumber string `xml:"serialNumber,omitempty"` - FirmwareVersion string `xml:"firmwareVersion,omitempty"` -} - -func init() { - t["HostNvmeController"] = reflect.TypeOf((*HostNvmeController)(nil)).Elem() -} - -type HostNvmeDisconnectSpec struct { - DynamicData - - HbaName string `xml:"hbaName"` - Subnqn string `xml:"subnqn,omitempty"` - ControllerNumber int32 `xml:"controllerNumber,omitempty"` -} - -func init() { - t["HostNvmeDisconnectSpec"] = reflect.TypeOf((*HostNvmeDisconnectSpec)(nil)).Elem() -} - -type HostNvmeDiscoverSpec struct { - HostNvmeSpec - - AutoConnect *bool `xml:"autoConnect"` - RootDiscoveryController *bool `xml:"rootDiscoveryController"` -} - -func init() { - t["HostNvmeDiscoverSpec"] = reflect.TypeOf((*HostNvmeDiscoverSpec)(nil)).Elem() -} - -type HostNvmeDiscoveryLog struct { - DynamicData - - Entry []HostNvmeDiscoveryLogEntry `xml:"entry,omitempty"` - Complete bool `xml:"complete"` -} - -func init() { - t["HostNvmeDiscoveryLog"] = reflect.TypeOf((*HostNvmeDiscoveryLog)(nil)).Elem() -} - -type HostNvmeDiscoveryLogEntry struct { - DynamicData - - Subnqn string `xml:"subnqn"` - SubsystemType string `xml:"subsystemType"` - SubsystemPortId int32 `xml:"subsystemPortId"` - ControllerId int32 `xml:"controllerId"` - AdminQueueMaxSize int32 `xml:"adminQueueMaxSize"` - TransportParameters BaseHostNvmeTransportParameters `xml:"transportParameters,typeattr"` - TransportRequirements string `xml:"transportRequirements"` - Connected bool `xml:"connected"` -} - -func init() { - t["HostNvmeDiscoveryLogEntry"] = reflect.TypeOf((*HostNvmeDiscoveryLogEntry)(nil)).Elem() -} - -type HostNvmeNamespace struct { - DynamicData - - Key string `xml:"key"` - Name string `xml:"name"` - Id int32 `xml:"id"` - BlockSize int32 `xml:"blockSize"` - CapacityInBlocks int64 `xml:"capacityInBlocks"` -} - -func init() { - t["HostNvmeNamespace"] = reflect.TypeOf((*HostNvmeNamespace)(nil)).Elem() -} - -type HostNvmeOpaqueTransportParameters struct { - HostNvmeTransportParameters - - Trtype string `xml:"trtype"` - Traddr string `xml:"traddr"` - Adrfam string `xml:"adrfam"` - Trsvcid string `xml:"trsvcid"` - Tsas []byte `xml:"tsas"` -} - -func init() { - t["HostNvmeOpaqueTransportParameters"] = reflect.TypeOf((*HostNvmeOpaqueTransportParameters)(nil)).Elem() -} - -type HostNvmeOverFibreChannelParameters struct { - HostNvmeTransportParameters - - NodeWorldWideName int64 `xml:"nodeWorldWideName"` - PortWorldWideName int64 `xml:"portWorldWideName"` -} - -func init() { - t["HostNvmeOverFibreChannelParameters"] = reflect.TypeOf((*HostNvmeOverFibreChannelParameters)(nil)).Elem() -} - -type HostNvmeOverRdmaParameters struct { - HostNvmeTransportParameters - - Address string `xml:"address"` - AddressFamily string `xml:"addressFamily,omitempty"` - PortNumber int32 `xml:"portNumber,omitempty"` -} - -func init() { - t["HostNvmeOverRdmaParameters"] = reflect.TypeOf((*HostNvmeOverRdmaParameters)(nil)).Elem() -} - -type HostNvmeOverTcpParameters struct { - HostNvmeTransportParameters - - Address string `xml:"address"` - PortNumber int32 `xml:"portNumber,omitempty"` - DigestVerification string `xml:"digestVerification,omitempty"` -} - -func init() { - t["HostNvmeOverTcpParameters"] = reflect.TypeOf((*HostNvmeOverTcpParameters)(nil)).Elem() -} - -type HostNvmeSpec struct { - DynamicData - - HbaName string `xml:"hbaName"` - TransportParameters BaseHostNvmeTransportParameters `xml:"transportParameters,typeattr"` -} - -func init() { - t["HostNvmeSpec"] = reflect.TypeOf((*HostNvmeSpec)(nil)).Elem() -} - -type HostNvmeTopology struct { - DynamicData - - Adapter []HostNvmeTopologyInterface `xml:"adapter,omitempty"` -} - -func init() { - t["HostNvmeTopology"] = reflect.TypeOf((*HostNvmeTopology)(nil)).Elem() -} - -type HostNvmeTopologyInterface struct { - DynamicData - - Key string `xml:"key"` - Adapter string `xml:"adapter"` - ConnectedController []HostNvmeController `xml:"connectedController,omitempty"` -} - -func init() { - t["HostNvmeTopologyInterface"] = reflect.TypeOf((*HostNvmeTopologyInterface)(nil)).Elem() -} - -type HostNvmeTransportParameters struct { - DynamicData -} - -func init() { - t["HostNvmeTransportParameters"] = reflect.TypeOf((*HostNvmeTransportParameters)(nil)).Elem() -} - -type HostOpaqueNetworkInfo struct { - DynamicData - - OpaqueNetworkId string `xml:"opaqueNetworkId"` - OpaqueNetworkName string `xml:"opaqueNetworkName"` - OpaqueNetworkType string `xml:"opaqueNetworkType"` - PnicZone []string `xml:"pnicZone,omitempty"` - Capability *OpaqueNetworkCapability `xml:"capability,omitempty"` - ExtraConfig []BaseOptionValue `xml:"extraConfig,omitempty,typeattr"` -} - -func init() { - t["HostOpaqueNetworkInfo"] = reflect.TypeOf((*HostOpaqueNetworkInfo)(nil)).Elem() -} - -type HostOpaqueSwitch struct { - DynamicData - - Key string `xml:"key"` - Name string `xml:"name,omitempty"` - Pnic []string `xml:"pnic,omitempty"` - PnicZone []HostOpaqueSwitchPhysicalNicZone `xml:"pnicZone,omitempty"` - Status string `xml:"status,omitempty"` - Vtep []HostVirtualNic `xml:"vtep,omitempty"` - ExtraConfig []BaseOptionValue `xml:"extraConfig,omitempty,typeattr"` - FeatureCapability []HostFeatureCapability `xml:"featureCapability,omitempty"` -} - -func init() { - t["HostOpaqueSwitch"] = reflect.TypeOf((*HostOpaqueSwitch)(nil)).Elem() -} - -type HostOpaqueSwitchPhysicalNicZone struct { - DynamicData - - Key string `xml:"key"` - PnicDevice []string `xml:"pnicDevice,omitempty"` -} - -func init() { - t["HostOpaqueSwitchPhysicalNicZone"] = reflect.TypeOf((*HostOpaqueSwitchPhysicalNicZone)(nil)).Elem() -} - -type HostOvercommittedEvent struct { - ClusterOvercommittedEvent -} - -func init() { - t["HostOvercommittedEvent"] = reflect.TypeOf((*HostOvercommittedEvent)(nil)).Elem() -} - -type HostPMemVolume struct { - HostFileSystemVolume - - Uuid string `xml:"uuid"` - Version string `xml:"version"` -} - -func init() { - t["HostPMemVolume"] = reflect.TypeOf((*HostPMemVolume)(nil)).Elem() -} - -type HostParallelScsiHba struct { - HostHostBusAdapter -} - -func init() { - t["HostParallelScsiHba"] = reflect.TypeOf((*HostParallelScsiHba)(nil)).Elem() -} - -type HostParallelScsiTargetTransport struct { - HostTargetTransport -} - -func init() { - t["HostParallelScsiTargetTransport"] = reflect.TypeOf((*HostParallelScsiTargetTransport)(nil)).Elem() -} - -type HostPatchManagerLocator struct { - DynamicData - - Url string `xml:"url"` - Proxy string `xml:"proxy,omitempty"` -} - -func init() { - t["HostPatchManagerLocator"] = reflect.TypeOf((*HostPatchManagerLocator)(nil)).Elem() -} - -type HostPatchManagerPatchManagerOperationSpec struct { - DynamicData - - Proxy string `xml:"proxy,omitempty"` - Port int32 `xml:"port,omitempty"` - UserName string `xml:"userName,omitempty"` - Password string `xml:"password,omitempty"` - CmdOption string `xml:"cmdOption,omitempty"` -} - -func init() { - t["HostPatchManagerPatchManagerOperationSpec"] = reflect.TypeOf((*HostPatchManagerPatchManagerOperationSpec)(nil)).Elem() -} - -type HostPatchManagerResult struct { - DynamicData - - Version string `xml:"version"` - Status []HostPatchManagerStatus `xml:"status,omitempty"` - XmlResult string `xml:"xmlResult,omitempty"` -} - -func init() { - t["HostPatchManagerResult"] = reflect.TypeOf((*HostPatchManagerResult)(nil)).Elem() -} - -type HostPatchManagerStatus struct { - DynamicData - - Id string `xml:"id"` - Applicable bool `xml:"applicable"` - Reason []string `xml:"reason,omitempty"` - Integrity string `xml:"integrity,omitempty"` - Installed bool `xml:"installed"` - InstallState []string `xml:"installState,omitempty"` - PrerequisitePatch []HostPatchManagerStatusPrerequisitePatch `xml:"prerequisitePatch,omitempty"` - RestartRequired bool `xml:"restartRequired"` - ReconnectRequired bool `xml:"reconnectRequired"` - VmOffRequired bool `xml:"vmOffRequired"` - SupersededPatchIds []string `xml:"supersededPatchIds,omitempty"` -} - -func init() { - t["HostPatchManagerStatus"] = reflect.TypeOf((*HostPatchManagerStatus)(nil)).Elem() -} - -type HostPatchManagerStatusPrerequisitePatch struct { - DynamicData - - Id string `xml:"id"` - InstallState []string `xml:"installState,omitempty"` -} - -func init() { - t["HostPatchManagerStatusPrerequisitePatch"] = reflect.TypeOf((*HostPatchManagerStatusPrerequisitePatch)(nil)).Elem() -} - -type HostPathSelectionPolicyOption struct { - DynamicData - - Policy BaseElementDescription `xml:"policy,typeattr"` -} - -func init() { - t["HostPathSelectionPolicyOption"] = reflect.TypeOf((*HostPathSelectionPolicyOption)(nil)).Elem() -} - -type HostPciDevice struct { - DynamicData - - Id string `xml:"id"` - ClassId int16 `xml:"classId"` - Bus byte `xml:"bus"` - Slot byte `xml:"slot"` - Function byte `xml:"function"` - VendorId int16 `xml:"vendorId"` - SubVendorId int16 `xml:"subVendorId"` - VendorName string `xml:"vendorName"` - DeviceId int16 `xml:"deviceId"` - SubDeviceId int16 `xml:"subDeviceId"` - ParentBridge string `xml:"parentBridge,omitempty"` - DeviceName string `xml:"deviceName"` -} - -func init() { - t["HostPciDevice"] = reflect.TypeOf((*HostPciDevice)(nil)).Elem() -} - -type HostPciPassthruConfig struct { - DynamicData - - Id string `xml:"id"` - PassthruEnabled bool `xml:"passthruEnabled"` - ApplyNow *bool `xml:"applyNow"` - HardwareLabel string `xml:"hardwareLabel,omitempty"` -} - -func init() { - t["HostPciPassthruConfig"] = reflect.TypeOf((*HostPciPassthruConfig)(nil)).Elem() -} - -type HostPciPassthruInfo struct { - DynamicData - - Id string `xml:"id"` - DependentDevice string `xml:"dependentDevice"` - PassthruEnabled bool `xml:"passthruEnabled"` - PassthruCapable bool `xml:"passthruCapable"` - PassthruActive bool `xml:"passthruActive"` - HardwareLabel string `xml:"hardwareLabel,omitempty"` -} - -func init() { - t["HostPciPassthruInfo"] = reflect.TypeOf((*HostPciPassthruInfo)(nil)).Elem() -} - -type HostPcieHba struct { - HostHostBusAdapter -} - -func init() { - t["HostPcieHba"] = reflect.TypeOf((*HostPcieHba)(nil)).Elem() -} - -type HostPcieTargetTransport struct { - HostTargetTransport -} - -func init() { - t["HostPcieTargetTransport"] = reflect.TypeOf((*HostPcieTargetTransport)(nil)).Elem() -} - -type HostPersistentMemoryInfo struct { - DynamicData - - CapacityInMB int64 `xml:"capacityInMB,omitempty"` - VolumeUUID string `xml:"volumeUUID,omitempty"` -} - -func init() { - t["HostPersistentMemoryInfo"] = reflect.TypeOf((*HostPersistentMemoryInfo)(nil)).Elem() -} - -type HostPlacedVirtualNicIdentifier struct { - DynamicData - - Vm ManagedObjectReference `xml:"vm"` - VnicKey string `xml:"vnicKey"` - Reservation *int32 `xml:"reservation"` -} - -func init() { - t["HostPlacedVirtualNicIdentifier"] = reflect.TypeOf((*HostPlacedVirtualNicIdentifier)(nil)).Elem() -} - -type HostPlugStoreTopology struct { - DynamicData - - Adapter []HostPlugStoreTopologyAdapter `xml:"adapter,omitempty"` - Path []HostPlugStoreTopologyPath `xml:"path,omitempty"` - Target []HostPlugStoreTopologyTarget `xml:"target,omitempty"` - Device []HostPlugStoreTopologyDevice `xml:"device,omitempty"` - Plugin []HostPlugStoreTopologyPlugin `xml:"plugin,omitempty"` -} - -func init() { - t["HostPlugStoreTopology"] = reflect.TypeOf((*HostPlugStoreTopology)(nil)).Elem() -} - -type HostPlugStoreTopologyAdapter struct { - DynamicData - - Key string `xml:"key"` - Adapter string `xml:"adapter"` - Path []string `xml:"path,omitempty"` -} - -func init() { - t["HostPlugStoreTopologyAdapter"] = reflect.TypeOf((*HostPlugStoreTopologyAdapter)(nil)).Elem() -} - -type HostPlugStoreTopologyDevice struct { - DynamicData - - Key string `xml:"key"` - Lun string `xml:"lun"` - Path []string `xml:"path,omitempty"` -} - -func init() { - t["HostPlugStoreTopologyDevice"] = reflect.TypeOf((*HostPlugStoreTopologyDevice)(nil)).Elem() -} - -type HostPlugStoreTopologyPath struct { - DynamicData - - Key string `xml:"key"` - Name string `xml:"name"` - ChannelNumber int32 `xml:"channelNumber,omitempty"` - TargetNumber int32 `xml:"targetNumber,omitempty"` - LunNumber int32 `xml:"lunNumber,omitempty"` - Adapter string `xml:"adapter,omitempty"` - Target string `xml:"target,omitempty"` - Device string `xml:"device,omitempty"` -} - -func init() { - t["HostPlugStoreTopologyPath"] = reflect.TypeOf((*HostPlugStoreTopologyPath)(nil)).Elem() -} - -type HostPlugStoreTopologyPlugin struct { - DynamicData - - Key string `xml:"key"` - Name string `xml:"name"` - Device []string `xml:"device,omitempty"` - ClaimedPath []string `xml:"claimedPath,omitempty"` -} - -func init() { - t["HostPlugStoreTopologyPlugin"] = reflect.TypeOf((*HostPlugStoreTopologyPlugin)(nil)).Elem() -} - -type HostPlugStoreTopologyTarget struct { - DynamicData - - Key string `xml:"key"` - Transport BaseHostTargetTransport `xml:"transport,omitempty,typeattr"` -} - -func init() { - t["HostPlugStoreTopologyTarget"] = reflect.TypeOf((*HostPlugStoreTopologyTarget)(nil)).Elem() -} - -type HostPnicNetworkResourceInfo struct { - DynamicData - - PnicDevice string `xml:"pnicDevice"` - AvailableBandwidthForVMTraffic int64 `xml:"availableBandwidthForVMTraffic,omitempty"` - UnusedBandwidthForVMTraffic int64 `xml:"unusedBandwidthForVMTraffic,omitempty"` - PlacedVirtualNics []HostPlacedVirtualNicIdentifier `xml:"placedVirtualNics,omitempty"` -} - -func init() { - t["HostPnicNetworkResourceInfo"] = reflect.TypeOf((*HostPnicNetworkResourceInfo)(nil)).Elem() -} - -type HostPortGroup struct { - DynamicData - - Key string `xml:"key,omitempty"` - Port []HostPortGroupPort `xml:"port,omitempty"` - Vswitch string `xml:"vswitch,omitempty"` - ComputedPolicy HostNetworkPolicy `xml:"computedPolicy"` - Spec HostPortGroupSpec `xml:"spec"` -} - -func init() { - t["HostPortGroup"] = reflect.TypeOf((*HostPortGroup)(nil)).Elem() -} - -type HostPortGroupConfig struct { - DynamicData - - ChangeOperation string `xml:"changeOperation,omitempty"` - Spec *HostPortGroupSpec `xml:"spec,omitempty"` -} - -func init() { - t["HostPortGroupConfig"] = reflect.TypeOf((*HostPortGroupConfig)(nil)).Elem() -} - -type HostPortGroupPort struct { - DynamicData - - Key string `xml:"key,omitempty"` - Mac []string `xml:"mac,omitempty"` - Type string `xml:"type"` -} - -func init() { - t["HostPortGroupPort"] = reflect.TypeOf((*HostPortGroupPort)(nil)).Elem() -} - -type HostPortGroupProfile struct { - PortGroupProfile - - IpConfig IpAddressProfile `xml:"ipConfig"` -} - -func init() { - t["HostPortGroupProfile"] = reflect.TypeOf((*HostPortGroupProfile)(nil)).Elem() -} - -type HostPortGroupSpec struct { - DynamicData - - Name string `xml:"name"` - VlanId int32 `xml:"vlanId"` - VswitchName string `xml:"vswitchName"` - Policy HostNetworkPolicy `xml:"policy"` -} - -func init() { - t["HostPortGroupSpec"] = reflect.TypeOf((*HostPortGroupSpec)(nil)).Elem() -} - -type HostPosixAccountSpec struct { - HostAccountSpec - - PosixId int32 `xml:"posixId,omitempty"` - ShellAccess *bool `xml:"shellAccess"` -} - -func init() { - t["HostPosixAccountSpec"] = reflect.TypeOf((*HostPosixAccountSpec)(nil)).Elem() -} - -type HostPowerOpFailed struct { - VimFault -} - -func init() { - t["HostPowerOpFailed"] = reflect.TypeOf((*HostPowerOpFailed)(nil)).Elem() -} - -type HostPowerOpFailedFault BaseHostPowerOpFailed - -func init() { - t["HostPowerOpFailedFault"] = reflect.TypeOf((*HostPowerOpFailedFault)(nil)).Elem() -} - -type HostPowerPolicy struct { - DynamicData - - Key int32 `xml:"key"` - Name string `xml:"name"` - ShortName string `xml:"shortName"` - Description string `xml:"description"` -} - -func init() { - t["HostPowerPolicy"] = reflect.TypeOf((*HostPowerPolicy)(nil)).Elem() -} - -type HostPrimaryAgentNotShortNameEvent struct { - HostDasEvent - - PrimaryAgent string `xml:"primaryAgent"` -} - -func init() { - t["HostPrimaryAgentNotShortNameEvent"] = reflect.TypeOf((*HostPrimaryAgentNotShortNameEvent)(nil)).Elem() -} - -type HostProfileAppliedEvent struct { - HostEvent - - Profile ProfileEventArgument `xml:"profile"` -} - -func init() { - t["HostProfileAppliedEvent"] = reflect.TypeOf((*HostProfileAppliedEvent)(nil)).Elem() -} - -type HostProfileCompleteConfigSpec struct { - HostProfileConfigSpec - - ApplyProfile *HostApplyProfile `xml:"applyProfile,omitempty"` - CustomComplyProfile *ComplianceProfile `xml:"customComplyProfile,omitempty"` - DisabledExpressionListChanged bool `xml:"disabledExpressionListChanged"` - DisabledExpressionList []string `xml:"disabledExpressionList,omitempty"` - ValidatorHost *ManagedObjectReference `xml:"validatorHost,omitempty"` - Validating *bool `xml:"validating"` - HostConfig *HostProfileConfigInfo `xml:"hostConfig,omitempty"` -} - -func init() { - t["HostProfileCompleteConfigSpec"] = reflect.TypeOf((*HostProfileCompleteConfigSpec)(nil)).Elem() -} - -type HostProfileConfigInfo struct { - ProfileConfigInfo - - ApplyProfile *HostApplyProfile `xml:"applyProfile,omitempty"` - DefaultComplyProfile *ComplianceProfile `xml:"defaultComplyProfile,omitempty"` - DefaultComplyLocator []ComplianceLocator `xml:"defaultComplyLocator,omitempty"` - CustomComplyProfile *ComplianceProfile `xml:"customComplyProfile,omitempty"` - DisabledExpressionList []string `xml:"disabledExpressionList,omitempty"` - Description *ProfileDescription `xml:"description,omitempty"` -} - -func init() { - t["HostProfileConfigInfo"] = reflect.TypeOf((*HostProfileConfigInfo)(nil)).Elem() -} - -type HostProfileConfigSpec struct { - ProfileCreateSpec -} - -func init() { - t["HostProfileConfigSpec"] = reflect.TypeOf((*HostProfileConfigSpec)(nil)).Elem() -} - -type HostProfileHostBasedConfigSpec struct { - HostProfileConfigSpec - - Host ManagedObjectReference `xml:"host"` - UseHostProfileEngine *bool `xml:"useHostProfileEngine"` -} - -func init() { - t["HostProfileHostBasedConfigSpec"] = reflect.TypeOf((*HostProfileHostBasedConfigSpec)(nil)).Elem() -} - -type HostProfileManagerCompositionResult struct { - DynamicData - - Errors []LocalizableMessage `xml:"errors,omitempty"` - Results []HostProfileManagerCompositionResultResultElement `xml:"results,omitempty"` -} - -func init() { - t["HostProfileManagerCompositionResult"] = reflect.TypeOf((*HostProfileManagerCompositionResult)(nil)).Elem() -} - -type HostProfileManagerCompositionResultResultElement struct { - DynamicData - - Target ManagedObjectReference `xml:"target"` - Status string `xml:"status"` - Errors []LocalizableMessage `xml:"errors,omitempty"` -} - -func init() { - t["HostProfileManagerCompositionResultResultElement"] = reflect.TypeOf((*HostProfileManagerCompositionResultResultElement)(nil)).Elem() -} - -type HostProfileManagerCompositionValidationResult struct { - DynamicData - - Results []HostProfileManagerCompositionValidationResultResultElement `xml:"results,omitempty"` - Errors []LocalizableMessage `xml:"errors,omitempty"` -} - -func init() { - t["HostProfileManagerCompositionValidationResult"] = reflect.TypeOf((*HostProfileManagerCompositionValidationResult)(nil)).Elem() -} - -type HostProfileManagerCompositionValidationResultResultElement struct { - DynamicData - - Target ManagedObjectReference `xml:"target"` - Status string `xml:"status"` - Errors []LocalizableMessage `xml:"errors,omitempty"` - SourceDiffForToBeMerged *HostApplyProfile `xml:"sourceDiffForToBeMerged,omitempty"` - TargetDiffForToBeMerged *HostApplyProfile `xml:"targetDiffForToBeMerged,omitempty"` - ToBeAdded *HostApplyProfile `xml:"toBeAdded,omitempty"` - ToBeDeleted *HostApplyProfile `xml:"toBeDeleted,omitempty"` - ToBeDisabled *HostApplyProfile `xml:"toBeDisabled,omitempty"` - ToBeEnabled *HostApplyProfile `xml:"toBeEnabled,omitempty"` - ToBeReenableCC *HostApplyProfile `xml:"toBeReenableCC,omitempty"` -} - -func init() { - t["HostProfileManagerCompositionValidationResultResultElement"] = reflect.TypeOf((*HostProfileManagerCompositionValidationResultResultElement)(nil)).Elem() -} - -type HostProfileManagerConfigTaskList struct { - DynamicData - - ConfigSpec *HostConfigSpec `xml:"configSpec,omitempty"` - TaskDescription []LocalizableMessage `xml:"taskDescription,omitempty"` - TaskListRequirement []string `xml:"taskListRequirement,omitempty"` -} - -func init() { - t["HostProfileManagerConfigTaskList"] = reflect.TypeOf((*HostProfileManagerConfigTaskList)(nil)).Elem() -} - -type HostProfileManagerHostToConfigSpecMap struct { - DynamicData - - Host ManagedObjectReference `xml:"host"` - ConfigSpec BaseAnswerFileCreateSpec `xml:"configSpec,typeattr"` -} - -func init() { - t["HostProfileManagerHostToConfigSpecMap"] = reflect.TypeOf((*HostProfileManagerHostToConfigSpecMap)(nil)).Elem() -} - -type HostProfileResetValidationState HostProfileResetValidationStateRequestType - -func init() { - t["HostProfileResetValidationState"] = reflect.TypeOf((*HostProfileResetValidationState)(nil)).Elem() -} - -type HostProfileResetValidationStateRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["HostProfileResetValidationStateRequestType"] = reflect.TypeOf((*HostProfileResetValidationStateRequestType)(nil)).Elem() -} - -type HostProfileResetValidationStateResponse struct { -} - -type HostProfileSerializedHostProfileSpec struct { - ProfileSerializedCreateSpec - - ValidatorHost *ManagedObjectReference `xml:"validatorHost,omitempty"` - Validating *bool `xml:"validating"` -} - -func init() { - t["HostProfileSerializedHostProfileSpec"] = reflect.TypeOf((*HostProfileSerializedHostProfileSpec)(nil)).Elem() -} - -type HostProfileValidationFailureInfo struct { - DynamicData - - Name string `xml:"name"` - Annotation string `xml:"annotation"` - UpdateType string `xml:"updateType"` - Host *ManagedObjectReference `xml:"host,omitempty"` - ApplyProfile *HostApplyProfile `xml:"applyProfile,omitempty"` - Failures []ProfileUpdateFailedUpdateFailure `xml:"failures,omitempty"` - Faults []LocalizedMethodFault `xml:"faults,omitempty"` -} - -func init() { - t["HostProfileValidationFailureInfo"] = reflect.TypeOf((*HostProfileValidationFailureInfo)(nil)).Elem() -} - -type HostProfilesEntityCustomizations struct { - DynamicData -} - -func init() { - t["HostProfilesEntityCustomizations"] = reflect.TypeOf((*HostProfilesEntityCustomizations)(nil)).Elem() -} - -type HostProtocolEndpoint struct { - DynamicData - - PeType string `xml:"peType"` - Type string `xml:"type,omitempty"` - Uuid string `xml:"uuid"` - HostKey []ManagedObjectReference `xml:"hostKey,omitempty"` - StorageArray string `xml:"storageArray,omitempty"` - NfsServer string `xml:"nfsServer,omitempty"` - NfsDir string `xml:"nfsDir,omitempty"` - NfsServerScope string `xml:"nfsServerScope,omitempty"` - NfsServerMajor string `xml:"nfsServerMajor,omitempty"` - NfsServerAuthType string `xml:"nfsServerAuthType,omitempty"` - NfsServerUser string `xml:"nfsServerUser,omitempty"` - DeviceId string `xml:"deviceId,omitempty"` -} - -func init() { - t["HostProtocolEndpoint"] = reflect.TypeOf((*HostProtocolEndpoint)(nil)).Elem() -} - -type HostProxySwitch struct { - DynamicData - - DvsUuid string `xml:"dvsUuid"` - DvsName string `xml:"dvsName"` - Key string `xml:"key"` - NumPorts int32 `xml:"numPorts"` - ConfigNumPorts int32 `xml:"configNumPorts,omitempty"` - NumPortsAvailable int32 `xml:"numPortsAvailable"` - UplinkPort []KeyValue `xml:"uplinkPort,omitempty"` - Mtu int32 `xml:"mtu,omitempty"` - Pnic []string `xml:"pnic,omitempty"` - Spec HostProxySwitchSpec `xml:"spec"` - HostLag []HostProxySwitchHostLagConfig `xml:"hostLag,omitempty"` - NetworkReservationSupported *bool `xml:"networkReservationSupported"` - NsxtEnabled *bool `xml:"nsxtEnabled"` - EnsEnabled *bool `xml:"ensEnabled"` - EnsInterruptEnabled *bool `xml:"ensInterruptEnabled"` - TransportZones []DistributedVirtualSwitchHostMemberTransportZoneInfo `xml:"transportZones,omitempty"` - NsxUsedUplinkPort []string `xml:"nsxUsedUplinkPort,omitempty"` - NsxtStatus string `xml:"nsxtStatus,omitempty"` - NsxtStatusDetail string `xml:"nsxtStatusDetail,omitempty"` - EnsInfo *HostProxySwitchEnsInfo `xml:"ensInfo,omitempty"` - NetworkOffloadingEnabled *bool `xml:"networkOffloadingEnabled"` -} - -func init() { - t["HostProxySwitch"] = reflect.TypeOf((*HostProxySwitch)(nil)).Elem() -} - -type HostProxySwitchConfig struct { - DynamicData - - ChangeOperation string `xml:"changeOperation,omitempty"` - Uuid string `xml:"uuid"` - Spec *HostProxySwitchSpec `xml:"spec,omitempty"` -} - -func init() { - t["HostProxySwitchConfig"] = reflect.TypeOf((*HostProxySwitchConfig)(nil)).Elem() -} - -type HostProxySwitchEnsInfo struct { - DynamicData - - OpsVersion int64 `xml:"opsVersion"` - NumPSOps int64 `xml:"numPSOps"` - NumLcoreOps int64 `xml:"numLcoreOps"` - ErrorStatus int64 `xml:"errorStatus"` - LcoreStatus int64 `xml:"lcoreStatus"` -} - -func init() { - t["HostProxySwitchEnsInfo"] = reflect.TypeOf((*HostProxySwitchEnsInfo)(nil)).Elem() -} - -type HostProxySwitchHostLagConfig struct { - DynamicData - - LagKey string `xml:"lagKey"` - LagName string `xml:"lagName,omitempty"` - UplinkPort []KeyValue `xml:"uplinkPort,omitempty"` -} - -func init() { - t["HostProxySwitchHostLagConfig"] = reflect.TypeOf((*HostProxySwitchHostLagConfig)(nil)).Elem() -} - -type HostProxySwitchSpec struct { - DynamicData - - Backing BaseDistributedVirtualSwitchHostMemberBacking `xml:"backing,omitempty,typeattr"` -} - -func init() { - t["HostProxySwitchSpec"] = reflect.TypeOf((*HostProxySwitchSpec)(nil)).Elem() -} - -type HostPtpConfig struct { - DynamicData - - Domain int32 `xml:"domain,omitempty"` - Port []HostPtpConfigPtpPort `xml:"port,omitempty"` -} - -func init() { - t["HostPtpConfig"] = reflect.TypeOf((*HostPtpConfig)(nil)).Elem() -} - -type HostPtpConfigPtpPort struct { - DynamicData - - Index int32 `xml:"index"` - DeviceType string `xml:"deviceType,omitempty"` - Device string `xml:"device,omitempty"` - IpConfig *HostIpConfig `xml:"ipConfig,omitempty"` -} - -func init() { - t["HostPtpConfigPtpPort"] = reflect.TypeOf((*HostPtpConfigPtpPort)(nil)).Elem() -} - -type HostQualifiedName struct { - DynamicData - - Value string `xml:"value"` - Type string `xml:"type"` -} - -func init() { - t["HostQualifiedName"] = reflect.TypeOf((*HostQualifiedName)(nil)).Elem() -} - -type HostRdmaDevice struct { - DynamicData - - Key string `xml:"key"` - Device string `xml:"device"` - Driver string `xml:"driver,omitempty"` - Description string `xml:"description,omitempty"` - Backing BaseHostRdmaDeviceBacking `xml:"backing,omitempty,typeattr"` - ConnectionInfo HostRdmaDeviceConnectionInfo `xml:"connectionInfo"` - Capability HostRdmaDeviceCapability `xml:"capability"` -} - -func init() { - t["HostRdmaDevice"] = reflect.TypeOf((*HostRdmaDevice)(nil)).Elem() -} - -type HostRdmaDeviceBacking struct { - DynamicData -} - -func init() { - t["HostRdmaDeviceBacking"] = reflect.TypeOf((*HostRdmaDeviceBacking)(nil)).Elem() -} - -type HostRdmaDeviceCapability struct { - DynamicData - - RoceV1Capable bool `xml:"roceV1Capable"` - RoceV2Capable bool `xml:"roceV2Capable"` - IWarpCapable bool `xml:"iWarpCapable"` -} - -func init() { - t["HostRdmaDeviceCapability"] = reflect.TypeOf((*HostRdmaDeviceCapability)(nil)).Elem() -} - -type HostRdmaDeviceConnectionInfo struct { - DynamicData - - State string `xml:"state"` - Mtu int32 `xml:"mtu"` - SpeedInMbps int32 `xml:"speedInMbps"` -} - -func init() { - t["HostRdmaDeviceConnectionInfo"] = reflect.TypeOf((*HostRdmaDeviceConnectionInfo)(nil)).Elem() -} - -type HostRdmaDevicePnicBacking struct { - HostRdmaDeviceBacking - - PairedUplink string `xml:"pairedUplink"` -} - -func init() { - t["HostRdmaDevicePnicBacking"] = reflect.TypeOf((*HostRdmaDevicePnicBacking)(nil)).Elem() -} - -type HostRdmaHba struct { - HostHostBusAdapter - - AssociatedRdmaDevice string `xml:"associatedRdmaDevice,omitempty"` -} - -func init() { - t["HostRdmaHba"] = reflect.TypeOf((*HostRdmaHba)(nil)).Elem() -} - -type HostRdmaTargetTransport struct { - HostTargetTransport -} - -func init() { - t["HostRdmaTargetTransport"] = reflect.TypeOf((*HostRdmaTargetTransport)(nil)).Elem() -} - -type HostReconcileDatastoreInventoryRequestType struct { - This ManagedObjectReference `xml:"_this"` - Datastore ManagedObjectReference `xml:"datastore"` -} - -func init() { - t["HostReconcileDatastoreInventoryRequestType"] = reflect.TypeOf((*HostReconcileDatastoreInventoryRequestType)(nil)).Elem() -} - -type HostReconcileDatastoreInventory_Task HostReconcileDatastoreInventoryRequestType - -func init() { - t["HostReconcileDatastoreInventory_Task"] = reflect.TypeOf((*HostReconcileDatastoreInventory_Task)(nil)).Elem() -} - -type HostReconcileDatastoreInventory_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type HostReconnectionFailedEvent struct { - HostEvent -} - -func init() { - t["HostReconnectionFailedEvent"] = reflect.TypeOf((*HostReconnectionFailedEvent)(nil)).Elem() -} - -type HostRegisterDisk HostRegisterDiskRequestType - -func init() { - t["HostRegisterDisk"] = reflect.TypeOf((*HostRegisterDisk)(nil)).Elem() -} - -type HostRegisterDiskRequestType struct { - This ManagedObjectReference `xml:"_this"` - Path string `xml:"path"` - Name string `xml:"name,omitempty"` -} - -func init() { - t["HostRegisterDiskRequestType"] = reflect.TypeOf((*HostRegisterDiskRequestType)(nil)).Elem() -} - -type HostRegisterDiskResponse struct { - Returnval VStorageObject `xml:"returnval"` -} - -type HostReliableMemoryInfo struct { - DynamicData - - MemorySize int64 `xml:"memorySize"` -} - -func init() { - t["HostReliableMemoryInfo"] = reflect.TypeOf((*HostReliableMemoryInfo)(nil)).Elem() -} - -type HostRelocateVStorageObjectRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id ID `xml:"id"` - Datastore ManagedObjectReference `xml:"datastore"` - Spec VslmRelocateSpec `xml:"spec"` -} - -func init() { - t["HostRelocateVStorageObjectRequestType"] = reflect.TypeOf((*HostRelocateVStorageObjectRequestType)(nil)).Elem() -} - -type HostRelocateVStorageObject_Task HostRelocateVStorageObjectRequestType - -func init() { - t["HostRelocateVStorageObject_Task"] = reflect.TypeOf((*HostRelocateVStorageObject_Task)(nil)).Elem() -} - -type HostRelocateVStorageObject_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type HostRemoveVFlashResource HostRemoveVFlashResourceRequestType - -func init() { - t["HostRemoveVFlashResource"] = reflect.TypeOf((*HostRemoveVFlashResource)(nil)).Elem() -} - -type HostRemoveVFlashResourceRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["HostRemoveVFlashResourceRequestType"] = reflect.TypeOf((*HostRemoveVFlashResourceRequestType)(nil)).Elem() -} - -type HostRemoveVFlashResourceResponse struct { -} - -type HostRemovedEvent struct { - HostEvent -} - -func init() { - t["HostRemovedEvent"] = reflect.TypeOf((*HostRemovedEvent)(nil)).Elem() -} - -type HostRenameVStorageObject HostRenameVStorageObjectRequestType - -func init() { - t["HostRenameVStorageObject"] = reflect.TypeOf((*HostRenameVStorageObject)(nil)).Elem() -} - -type HostRenameVStorageObjectRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id ID `xml:"id"` - Datastore ManagedObjectReference `xml:"datastore"` - Name string `xml:"name"` -} - -func init() { - t["HostRenameVStorageObjectRequestType"] = reflect.TypeOf((*HostRenameVStorageObjectRequestType)(nil)).Elem() -} - -type HostRenameVStorageObjectResponse struct { -} - -type HostResignatureRescanResult struct { - DynamicData - - Rescan []HostVmfsRescanResult `xml:"rescan,omitempty"` - Result ManagedObjectReference `xml:"result"` -} - -func init() { - t["HostResignatureRescanResult"] = reflect.TypeOf((*HostResignatureRescanResult)(nil)).Elem() -} - -type HostRetrieveVStorageInfrastructureObjectPolicy HostRetrieveVStorageInfrastructureObjectPolicyRequestType - -func init() { - t["HostRetrieveVStorageInfrastructureObjectPolicy"] = reflect.TypeOf((*HostRetrieveVStorageInfrastructureObjectPolicy)(nil)).Elem() -} - -type HostRetrieveVStorageInfrastructureObjectPolicyRequestType struct { - This ManagedObjectReference `xml:"_this"` - Datastore ManagedObjectReference `xml:"datastore"` -} - -func init() { - t["HostRetrieveVStorageInfrastructureObjectPolicyRequestType"] = reflect.TypeOf((*HostRetrieveVStorageInfrastructureObjectPolicyRequestType)(nil)).Elem() -} - -type HostRetrieveVStorageInfrastructureObjectPolicyResponse struct { - Returnval []VslmInfrastructureObjectPolicy `xml:"returnval,omitempty"` -} - -type HostRetrieveVStorageObject HostRetrieveVStorageObjectRequestType - -func init() { - t["HostRetrieveVStorageObject"] = reflect.TypeOf((*HostRetrieveVStorageObject)(nil)).Elem() -} - -type HostRetrieveVStorageObjectMetadata HostRetrieveVStorageObjectMetadataRequestType - -func init() { - t["HostRetrieveVStorageObjectMetadata"] = reflect.TypeOf((*HostRetrieveVStorageObjectMetadata)(nil)).Elem() -} - -type HostRetrieveVStorageObjectMetadataRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id ID `xml:"id"` - Datastore ManagedObjectReference `xml:"datastore"` - SnapshotId *ID `xml:"snapshotId,omitempty"` - Prefix string `xml:"prefix,omitempty"` -} - -func init() { - t["HostRetrieveVStorageObjectMetadataRequestType"] = reflect.TypeOf((*HostRetrieveVStorageObjectMetadataRequestType)(nil)).Elem() -} - -type HostRetrieveVStorageObjectMetadataResponse struct { - Returnval []KeyValue `xml:"returnval,omitempty"` -} - -type HostRetrieveVStorageObjectMetadataValue HostRetrieveVStorageObjectMetadataValueRequestType - -func init() { - t["HostRetrieveVStorageObjectMetadataValue"] = reflect.TypeOf((*HostRetrieveVStorageObjectMetadataValue)(nil)).Elem() -} - -type HostRetrieveVStorageObjectMetadataValueRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id ID `xml:"id"` - Datastore ManagedObjectReference `xml:"datastore"` - SnapshotId *ID `xml:"snapshotId,omitempty"` - Key string `xml:"key"` -} - -func init() { - t["HostRetrieveVStorageObjectMetadataValueRequestType"] = reflect.TypeOf((*HostRetrieveVStorageObjectMetadataValueRequestType)(nil)).Elem() -} - -type HostRetrieveVStorageObjectMetadataValueResponse struct { - Returnval string `xml:"returnval"` -} - -type HostRetrieveVStorageObjectRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id ID `xml:"id"` - Datastore ManagedObjectReference `xml:"datastore"` - DiskInfoFlags []string `xml:"diskInfoFlags,omitempty"` -} - -func init() { - t["HostRetrieveVStorageObjectRequestType"] = reflect.TypeOf((*HostRetrieveVStorageObjectRequestType)(nil)).Elem() -} - -type HostRetrieveVStorageObjectResponse struct { - Returnval VStorageObject `xml:"returnval"` -} - -type HostRetrieveVStorageObjectState HostRetrieveVStorageObjectStateRequestType - -func init() { - t["HostRetrieveVStorageObjectState"] = reflect.TypeOf((*HostRetrieveVStorageObjectState)(nil)).Elem() -} - -type HostRetrieveVStorageObjectStateRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id ID `xml:"id"` - Datastore ManagedObjectReference `xml:"datastore"` -} - -func init() { - t["HostRetrieveVStorageObjectStateRequestType"] = reflect.TypeOf((*HostRetrieveVStorageObjectStateRequestType)(nil)).Elem() -} - -type HostRetrieveVStorageObjectStateResponse struct { - Returnval VStorageObjectStateInfo `xml:"returnval"` -} - -type HostRuntimeInfo struct { - DynamicData - - ConnectionState HostSystemConnectionState `xml:"connectionState"` - PowerState HostSystemPowerState `xml:"powerState"` - StandbyMode string `xml:"standbyMode,omitempty"` - InMaintenanceMode bool `xml:"inMaintenanceMode"` - InQuarantineMode *bool `xml:"inQuarantineMode"` - BootTime *time.Time `xml:"bootTime"` - HealthSystemRuntime *HealthSystemRuntime `xml:"healthSystemRuntime,omitempty"` - DasHostState *ClusterDasFdmHostState `xml:"dasHostState,omitempty"` - TpmPcrValues []HostTpmDigestInfo `xml:"tpmPcrValues,omitempty"` - VsanRuntimeInfo *VsanHostRuntimeInfo `xml:"vsanRuntimeInfo,omitempty"` - NetworkRuntimeInfo *HostRuntimeInfoNetworkRuntimeInfo `xml:"networkRuntimeInfo,omitempty"` - VFlashResourceRuntimeInfo *HostVFlashManagerVFlashResourceRunTimeInfo `xml:"vFlashResourceRuntimeInfo,omitempty"` - HostMaxVirtualDiskCapacity int64 `xml:"hostMaxVirtualDiskCapacity,omitempty"` - CryptoState string `xml:"cryptoState,omitempty"` - CryptoKeyId *CryptoKeyId `xml:"cryptoKeyId,omitempty"` - StatelessNvdsMigrationReady string `xml:"statelessNvdsMigrationReady,omitempty"` - StateEncryption *HostRuntimeInfoStateEncryptionInfo `xml:"stateEncryption,omitempty"` -} - -func init() { - t["HostRuntimeInfo"] = reflect.TypeOf((*HostRuntimeInfo)(nil)).Elem() -} - -type HostRuntimeInfoNetStackInstanceRuntimeInfo struct { - DynamicData - - NetStackInstanceKey string `xml:"netStackInstanceKey"` - State string `xml:"state,omitempty"` - VmknicKeys []string `xml:"vmknicKeys,omitempty"` - MaxNumberOfConnections int32 `xml:"maxNumberOfConnections,omitempty"` - CurrentIpV6Enabled *bool `xml:"currentIpV6Enabled"` -} - -func init() { - t["HostRuntimeInfoNetStackInstanceRuntimeInfo"] = reflect.TypeOf((*HostRuntimeInfoNetStackInstanceRuntimeInfo)(nil)).Elem() -} - -type HostRuntimeInfoNetworkRuntimeInfo struct { - DynamicData - - NetStackInstanceRuntimeInfo []HostRuntimeInfoNetStackInstanceRuntimeInfo `xml:"netStackInstanceRuntimeInfo,omitempty"` - NetworkResourceRuntime *HostNetworkResourceRuntime `xml:"networkResourceRuntime,omitempty"` -} - -func init() { - t["HostRuntimeInfoNetworkRuntimeInfo"] = reflect.TypeOf((*HostRuntimeInfoNetworkRuntimeInfo)(nil)).Elem() -} - -type HostRuntimeInfoStateEncryptionInfo struct { - DynamicData - - ProtectionMode string `xml:"protectionMode"` - RequireSecureBoot *bool `xml:"requireSecureBoot"` - RequireExecInstalledOnly *bool `xml:"requireExecInstalledOnly"` -} - -func init() { - t["HostRuntimeInfoStateEncryptionInfo"] = reflect.TypeOf((*HostRuntimeInfoStateEncryptionInfo)(nil)).Elem() -} - -type HostScheduleReconcileDatastoreInventory HostScheduleReconcileDatastoreInventoryRequestType - -func init() { - t["HostScheduleReconcileDatastoreInventory"] = reflect.TypeOf((*HostScheduleReconcileDatastoreInventory)(nil)).Elem() -} - -type HostScheduleReconcileDatastoreInventoryRequestType struct { - This ManagedObjectReference `xml:"_this"` - Datastore ManagedObjectReference `xml:"datastore"` -} - -func init() { - t["HostScheduleReconcileDatastoreInventoryRequestType"] = reflect.TypeOf((*HostScheduleReconcileDatastoreInventoryRequestType)(nil)).Elem() -} - -type HostScheduleReconcileDatastoreInventoryResponse struct { -} - -type HostScsiDisk struct { - ScsiLun - - Capacity HostDiskDimensionsLba `xml:"capacity"` - DevicePath string `xml:"devicePath"` - Ssd *bool `xml:"ssd"` - LocalDisk *bool `xml:"localDisk"` - PhysicalLocation []string `xml:"physicalLocation,omitempty"` - EmulatedDIXDIFEnabled *bool `xml:"emulatedDIXDIFEnabled"` - VsanDiskInfo *VsanHostVsanDiskInfo `xml:"vsanDiskInfo,omitempty"` - ScsiDiskType string `xml:"scsiDiskType,omitempty"` -} - -func init() { - t["HostScsiDisk"] = reflect.TypeOf((*HostScsiDisk)(nil)).Elem() -} - -type HostScsiDiskPartition struct { - DynamicData - - DiskName string `xml:"diskName"` - Partition int32 `xml:"partition"` -} - -func init() { - t["HostScsiDiskPartition"] = reflect.TypeOf((*HostScsiDiskPartition)(nil)).Elem() -} - -type HostScsiTopology struct { - DynamicData - - Adapter []HostScsiTopologyInterface `xml:"adapter,omitempty"` -} - -func init() { - t["HostScsiTopology"] = reflect.TypeOf((*HostScsiTopology)(nil)).Elem() -} - -type HostScsiTopologyInterface struct { - DynamicData - - Key string `xml:"key"` - Adapter string `xml:"adapter"` - Target []HostScsiTopologyTarget `xml:"target,omitempty"` -} - -func init() { - t["HostScsiTopologyInterface"] = reflect.TypeOf((*HostScsiTopologyInterface)(nil)).Elem() -} - -type HostScsiTopologyLun struct { - DynamicData - - Key string `xml:"key"` - Lun int32 `xml:"lun"` - ScsiLun string `xml:"scsiLun"` -} - -func init() { - t["HostScsiTopologyLun"] = reflect.TypeOf((*HostScsiTopologyLun)(nil)).Elem() -} - -type HostScsiTopologyTarget struct { - DynamicData - - Key string `xml:"key"` - Target int32 `xml:"target"` - Lun []HostScsiTopologyLun `xml:"lun,omitempty"` - Transport BaseHostTargetTransport `xml:"transport,omitempty,typeattr"` -} - -func init() { - t["HostScsiTopologyTarget"] = reflect.TypeOf((*HostScsiTopologyTarget)(nil)).Elem() -} - -type HostSecuritySpec struct { - DynamicData - - AdminPassword string `xml:"adminPassword,omitempty"` - RemovePermission []Permission `xml:"removePermission,omitempty"` - AddPermission []Permission `xml:"addPermission,omitempty"` -} - -func init() { - t["HostSecuritySpec"] = reflect.TypeOf((*HostSecuritySpec)(nil)).Elem() -} - -type HostSerialAttachedHba struct { - HostHostBusAdapter - - NodeWorldWideName string `xml:"nodeWorldWideName"` -} - -func init() { - t["HostSerialAttachedHba"] = reflect.TypeOf((*HostSerialAttachedHba)(nil)).Elem() -} - -type HostSerialAttachedTargetTransport struct { - HostTargetTransport -} - -func init() { - t["HostSerialAttachedTargetTransport"] = reflect.TypeOf((*HostSerialAttachedTargetTransport)(nil)).Elem() -} - -type HostService struct { - DynamicData - - Key string `xml:"key"` - Label string `xml:"label"` - Required bool `xml:"required"` - Uninstallable bool `xml:"uninstallable"` - Running bool `xml:"running"` - Ruleset []string `xml:"ruleset,omitempty"` - Policy string `xml:"policy"` - SourcePackage *HostServiceSourcePackage `xml:"sourcePackage,omitempty"` -} - -func init() { - t["HostService"] = reflect.TypeOf((*HostService)(nil)).Elem() -} - -type HostServiceConfig struct { - DynamicData - - ServiceId string `xml:"serviceId"` - StartupPolicy string `xml:"startupPolicy"` -} - -func init() { - t["HostServiceConfig"] = reflect.TypeOf((*HostServiceConfig)(nil)).Elem() -} - -type HostServiceInfo struct { - DynamicData - - Service []HostService `xml:"service,omitempty"` -} - -func init() { - t["HostServiceInfo"] = reflect.TypeOf((*HostServiceInfo)(nil)).Elem() -} - -type HostServiceSourcePackage struct { - DynamicData - - SourcePackageName string `xml:"sourcePackageName"` - Description string `xml:"description"` -} - -func init() { - t["HostServiceSourcePackage"] = reflect.TypeOf((*HostServiceSourcePackage)(nil)).Elem() -} - -type HostServiceTicket struct { - DynamicData - - Host string `xml:"host,omitempty"` - Port int32 `xml:"port,omitempty"` - SslThumbprint string `xml:"sslThumbprint,omitempty"` - Service string `xml:"service"` - ServiceVersion string `xml:"serviceVersion"` - SessionId string `xml:"sessionId"` -} - -func init() { - t["HostServiceTicket"] = reflect.TypeOf((*HostServiceTicket)(nil)).Elem() -} - -type HostSetVStorageObjectControlFlags HostSetVStorageObjectControlFlagsRequestType - -func init() { - t["HostSetVStorageObjectControlFlags"] = reflect.TypeOf((*HostSetVStorageObjectControlFlags)(nil)).Elem() -} - -type HostSetVStorageObjectControlFlagsRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id ID `xml:"id"` - Datastore ManagedObjectReference `xml:"datastore"` - ControlFlags []string `xml:"controlFlags,omitempty"` -} - -func init() { - t["HostSetVStorageObjectControlFlagsRequestType"] = reflect.TypeOf((*HostSetVStorageObjectControlFlagsRequestType)(nil)).Elem() -} - -type HostSetVStorageObjectControlFlagsResponse struct { -} - -type HostSevInfo struct { - DynamicData - - SevState string `xml:"sevState"` - MaxSevEsGuests int64 `xml:"maxSevEsGuests"` -} - -func init() { - t["HostSevInfo"] = reflect.TypeOf((*HostSevInfo)(nil)).Elem() -} - -type HostSgxInfo struct { - DynamicData - - SgxState string `xml:"sgxState"` - TotalEpcMemory int64 `xml:"totalEpcMemory"` - FlcMode string `xml:"flcMode"` - LePubKeyHash string `xml:"lePubKeyHash,omitempty"` - RegistrationInfo *HostSgxRegistrationInfo `xml:"registrationInfo,omitempty"` -} - -func init() { - t["HostSgxInfo"] = reflect.TypeOf((*HostSgxInfo)(nil)).Elem() -} - -type HostSgxRegistrationInfo struct { - DynamicData - - Status string `xml:"status,omitempty"` - BiosError int32 `xml:"biosError,omitempty"` - RegistrationUrl string `xml:"registrationUrl,omitempty"` - Type string `xml:"type,omitempty"` - Ppid string `xml:"ppid,omitempty"` - LastRegisteredTime *time.Time `xml:"lastRegisteredTime"` -} - -func init() { - t["HostSgxRegistrationInfo"] = reflect.TypeOf((*HostSgxRegistrationInfo)(nil)).Elem() -} - -type HostSharedGpuCapabilities struct { - DynamicData - - Vgpu string `xml:"vgpu"` - DiskSnapshotSupported bool `xml:"diskSnapshotSupported"` - MemorySnapshotSupported bool `xml:"memorySnapshotSupported"` - SuspendSupported bool `xml:"suspendSupported"` - MigrateSupported bool `xml:"migrateSupported"` -} - -func init() { - t["HostSharedGpuCapabilities"] = reflect.TypeOf((*HostSharedGpuCapabilities)(nil)).Elem() -} - -type HostShortNameInconsistentEvent struct { - HostDasEvent - - ShortName string `xml:"shortName"` - ShortName2 string `xml:"shortName2"` -} - -func init() { - t["HostShortNameInconsistentEvent"] = reflect.TypeOf((*HostShortNameInconsistentEvent)(nil)).Elem() -} - -type HostShortNameToIpFailedEvent struct { - HostEvent - - ShortName string `xml:"shortName"` -} - -func init() { - t["HostShortNameToIpFailedEvent"] = reflect.TypeOf((*HostShortNameToIpFailedEvent)(nil)).Elem() -} - -type HostShutdownEvent struct { - HostEvent - - Reason string `xml:"reason"` -} - -func init() { - t["HostShutdownEvent"] = reflect.TypeOf((*HostShutdownEvent)(nil)).Elem() -} - -type HostSnmpConfigSpec struct { - DynamicData - - Enabled *bool `xml:"enabled"` - Port int32 `xml:"port,omitempty"` - ReadOnlyCommunities []string `xml:"readOnlyCommunities,omitempty"` - TrapTargets []HostSnmpDestination `xml:"trapTargets,omitempty"` - Option []KeyValue `xml:"option,omitempty"` -} - -func init() { - t["HostSnmpConfigSpec"] = reflect.TypeOf((*HostSnmpConfigSpec)(nil)).Elem() -} - -type HostSnmpDestination struct { - DynamicData - - HostName string `xml:"hostName"` - Port int32 `xml:"port"` - Community string `xml:"community"` -} - -func init() { - t["HostSnmpDestination"] = reflect.TypeOf((*HostSnmpDestination)(nil)).Elem() -} - -type HostSnmpSystemAgentLimits struct { - DynamicData - - MaxReadOnlyCommunities int32 `xml:"maxReadOnlyCommunities"` - MaxTrapDestinations int32 `xml:"maxTrapDestinations"` - MaxCommunityLength int32 `xml:"maxCommunityLength"` - MaxBufferSize int32 `xml:"maxBufferSize"` - Capability HostSnmpAgentCapability `xml:"capability,omitempty"` -} - -func init() { - t["HostSnmpSystemAgentLimits"] = reflect.TypeOf((*HostSnmpSystemAgentLimits)(nil)).Elem() -} - -type HostSpecGetUpdatedHosts HostSpecGetUpdatedHostsRequestType - -func init() { - t["HostSpecGetUpdatedHosts"] = reflect.TypeOf((*HostSpecGetUpdatedHosts)(nil)).Elem() -} - -type HostSpecGetUpdatedHostsRequestType struct { - This ManagedObjectReference `xml:"_this"` - StartChangeID string `xml:"startChangeID,omitempty"` - EndChangeID string `xml:"endChangeID,omitempty"` -} - -func init() { - t["HostSpecGetUpdatedHostsRequestType"] = reflect.TypeOf((*HostSpecGetUpdatedHostsRequestType)(nil)).Elem() -} - -type HostSpecGetUpdatedHostsResponse struct { - Returnval []ManagedObjectReference `xml:"returnval,omitempty"` -} - -type HostSpecification struct { - DynamicData - - CreatedTime time.Time `xml:"createdTime"` - LastModified *time.Time `xml:"lastModified"` - Host ManagedObjectReference `xml:"host"` - SubSpecs []HostSubSpecification `xml:"subSpecs,omitempty"` - ChangeID string `xml:"changeID,omitempty"` -} - -func init() { - t["HostSpecification"] = reflect.TypeOf((*HostSpecification)(nil)).Elem() -} - -type HostSpecificationChangedEvent struct { - HostEvent -} - -func init() { - t["HostSpecificationChangedEvent"] = reflect.TypeOf((*HostSpecificationChangedEvent)(nil)).Elem() -} - -type HostSpecificationOperationFailed struct { - VimFault - - Host ManagedObjectReference `xml:"host"` -} - -func init() { - t["HostSpecificationOperationFailed"] = reflect.TypeOf((*HostSpecificationOperationFailed)(nil)).Elem() -} - -type HostSpecificationOperationFailedFault HostSpecificationOperationFailed - -func init() { - t["HostSpecificationOperationFailedFault"] = reflect.TypeOf((*HostSpecificationOperationFailedFault)(nil)).Elem() -} - -type HostSpecificationRequireEvent struct { - HostEvent -} - -func init() { - t["HostSpecificationRequireEvent"] = reflect.TypeOf((*HostSpecificationRequireEvent)(nil)).Elem() -} - -type HostSpecificationUpdateEvent struct { - HostEvent - - HostSpec HostSpecification `xml:"hostSpec"` -} - -func init() { - t["HostSpecificationUpdateEvent"] = reflect.TypeOf((*HostSpecificationUpdateEvent)(nil)).Elem() -} - -type HostSriovConfig struct { - HostPciPassthruConfig - - SriovEnabled bool `xml:"sriovEnabled"` - NumVirtualFunction int32 `xml:"numVirtualFunction"` -} - -func init() { - t["HostSriovConfig"] = reflect.TypeOf((*HostSriovConfig)(nil)).Elem() -} - -type HostSriovDevicePoolInfo struct { - DynamicData - - Key string `xml:"key"` -} - -func init() { - t["HostSriovDevicePoolInfo"] = reflect.TypeOf((*HostSriovDevicePoolInfo)(nil)).Elem() -} - -type HostSriovInfo struct { - HostPciPassthruInfo - - SriovEnabled bool `xml:"sriovEnabled"` - SriovCapable bool `xml:"sriovCapable"` - SriovActive bool `xml:"sriovActive"` - NumVirtualFunctionRequested int32 `xml:"numVirtualFunctionRequested"` - NumVirtualFunction int32 `xml:"numVirtualFunction"` - MaxVirtualFunctionSupported int32 `xml:"maxVirtualFunctionSupported"` -} - -func init() { - t["HostSriovInfo"] = reflect.TypeOf((*HostSriovInfo)(nil)).Elem() -} - -type HostSriovNetworkDevicePoolInfo struct { - HostSriovDevicePoolInfo - - SwitchKey string `xml:"switchKey,omitempty"` - SwitchUuid string `xml:"switchUuid,omitempty"` - Pnic []PhysicalNic `xml:"pnic,omitempty"` -} - -func init() { - t["HostSriovNetworkDevicePoolInfo"] = reflect.TypeOf((*HostSriovNetworkDevicePoolInfo)(nil)).Elem() -} - -type HostSslThumbprintInfo struct { - DynamicData - - Principal string `xml:"principal"` - OwnerTag string `xml:"ownerTag,omitempty"` - SslThumbprints []string `xml:"sslThumbprints,omitempty"` -} - -func init() { - t["HostSslThumbprintInfo"] = reflect.TypeOf((*HostSslThumbprintInfo)(nil)).Elem() -} - -type HostStatusChangedEvent struct { - ClusterStatusChangedEvent -} - -func init() { - t["HostStatusChangedEvent"] = reflect.TypeOf((*HostStatusChangedEvent)(nil)).Elem() -} - -type HostStorageArrayTypePolicyOption struct { - DynamicData - - Policy BaseElementDescription `xml:"policy,typeattr"` -} - -func init() { - t["HostStorageArrayTypePolicyOption"] = reflect.TypeOf((*HostStorageArrayTypePolicyOption)(nil)).Elem() -} - -type HostStorageDeviceInfo struct { - DynamicData - - HostBusAdapter []BaseHostHostBusAdapter `xml:"hostBusAdapter,omitempty,typeattr"` - ScsiLun []BaseScsiLun `xml:"scsiLun,omitempty,typeattr"` - ScsiTopology *HostScsiTopology `xml:"scsiTopology,omitempty"` - NvmeTopology *HostNvmeTopology `xml:"nvmeTopology,omitempty"` - MultipathInfo *HostMultipathInfo `xml:"multipathInfo,omitempty"` - PlugStoreTopology *HostPlugStoreTopology `xml:"plugStoreTopology,omitempty"` - SoftwareInternetScsiEnabled bool `xml:"softwareInternetScsiEnabled"` -} - -func init() { - t["HostStorageDeviceInfo"] = reflect.TypeOf((*HostStorageDeviceInfo)(nil)).Elem() -} - -type HostStorageElementInfo struct { - HostHardwareElementInfo - - OperationalInfo []HostStorageOperationalInfo `xml:"operationalInfo,omitempty"` -} - -func init() { - t["HostStorageElementInfo"] = reflect.TypeOf((*HostStorageElementInfo)(nil)).Elem() -} - -type HostStorageOperationalInfo struct { - DynamicData - - Property string `xml:"property"` - Value string `xml:"value"` -} - -func init() { - t["HostStorageOperationalInfo"] = reflect.TypeOf((*HostStorageOperationalInfo)(nil)).Elem() -} - -type HostStorageSystemDiskLocatorLedResult struct { - DynamicData - - Key string `xml:"key"` - Fault LocalizedMethodFault `xml:"fault"` -} - -func init() { - t["HostStorageSystemDiskLocatorLedResult"] = reflect.TypeOf((*HostStorageSystemDiskLocatorLedResult)(nil)).Elem() -} - -type HostStorageSystemScsiLunResult struct { - DynamicData - - Key string `xml:"key"` - Fault *LocalizedMethodFault `xml:"fault,omitempty"` -} - -func init() { - t["HostStorageSystemScsiLunResult"] = reflect.TypeOf((*HostStorageSystemScsiLunResult)(nil)).Elem() -} - -type HostStorageSystemVmfsVolumeResult struct { - DynamicData - - Key string `xml:"key"` - Fault *LocalizedMethodFault `xml:"fault,omitempty"` -} - -func init() { - t["HostStorageSystemVmfsVolumeResult"] = reflect.TypeOf((*HostStorageSystemVmfsVolumeResult)(nil)).Elem() -} - -type HostSubSpecification struct { - DynamicData - - Name string `xml:"name"` - CreatedTime time.Time `xml:"createdTime"` - Data []byte `xml:"data,omitempty"` - BinaryData []byte `xml:"binaryData,omitempty"` -} - -func init() { - t["HostSubSpecification"] = reflect.TypeOf((*HostSubSpecification)(nil)).Elem() -} - -type HostSubSpecificationDeleteEvent struct { - HostEvent - - SubSpecName string `xml:"subSpecName"` -} - -func init() { - t["HostSubSpecificationDeleteEvent"] = reflect.TypeOf((*HostSubSpecificationDeleteEvent)(nil)).Elem() -} - -type HostSubSpecificationUpdateEvent struct { - HostEvent - - HostSubSpec HostSubSpecification `xml:"hostSubSpec"` -} - -func init() { - t["HostSubSpecificationUpdateEvent"] = reflect.TypeOf((*HostSubSpecificationUpdateEvent)(nil)).Elem() -} - -type HostSyncFailedEvent struct { - HostEvent - - Reason LocalizedMethodFault `xml:"reason"` -} - -func init() { - t["HostSyncFailedEvent"] = reflect.TypeOf((*HostSyncFailedEvent)(nil)).Elem() -} - -type HostSystemComplianceCheckState struct { - DynamicData - - State string `xml:"state"` - CheckTime time.Time `xml:"checkTime"` -} - -func init() { - t["HostSystemComplianceCheckState"] = reflect.TypeOf((*HostSystemComplianceCheckState)(nil)).Elem() -} - -type HostSystemHealthInfo struct { - DynamicData - - NumericSensorInfo []HostNumericSensorInfo `xml:"numericSensorInfo,omitempty"` -} - -func init() { - t["HostSystemHealthInfo"] = reflect.TypeOf((*HostSystemHealthInfo)(nil)).Elem() -} - -type HostSystemIdentificationInfo struct { - DynamicData - - IdentifierValue string `xml:"identifierValue"` - IdentifierType BaseElementDescription `xml:"identifierType,typeattr"` -} - -func init() { - t["HostSystemIdentificationInfo"] = reflect.TypeOf((*HostSystemIdentificationInfo)(nil)).Elem() -} - -type HostSystemInfo struct { - DynamicData - - Vendor string `xml:"vendor"` - Model string `xml:"model"` - Uuid string `xml:"uuid"` - OtherIdentifyingInfo []HostSystemIdentificationInfo `xml:"otherIdentifyingInfo,omitempty"` - SerialNumber string `xml:"serialNumber,omitempty"` - QualifiedName []HostQualifiedName `xml:"qualifiedName,omitempty"` - VvolHostNQN *HostQualifiedName `xml:"vvolHostNQN,omitempty"` - VvolHostId string `xml:"vvolHostId,omitempty"` -} - -func init() { - t["HostSystemInfo"] = reflect.TypeOf((*HostSystemInfo)(nil)).Elem() -} - -type HostSystemReconnectSpec struct { - DynamicData - - SyncState *bool `xml:"syncState"` -} - -func init() { - t["HostSystemReconnectSpec"] = reflect.TypeOf((*HostSystemReconnectSpec)(nil)).Elem() -} - -type HostSystemRemediationState struct { - DynamicData - - State string `xml:"state"` - OperationTime time.Time `xml:"operationTime"` -} - -func init() { - t["HostSystemRemediationState"] = reflect.TypeOf((*HostSystemRemediationState)(nil)).Elem() -} - -type HostSystemResourceInfo struct { - DynamicData - - Key string `xml:"key"` - Config *ResourceConfigSpec `xml:"config,omitempty"` - Child []HostSystemResourceInfo `xml:"child,omitempty"` -} - -func init() { - t["HostSystemResourceInfo"] = reflect.TypeOf((*HostSystemResourceInfo)(nil)).Elem() -} - -type HostSystemSwapConfiguration struct { - DynamicData - - Option []BaseHostSystemSwapConfigurationSystemSwapOption `xml:"option,omitempty,typeattr"` -} - -func init() { - t["HostSystemSwapConfiguration"] = reflect.TypeOf((*HostSystemSwapConfiguration)(nil)).Elem() -} - -type HostSystemSwapConfigurationDatastoreOption struct { - HostSystemSwapConfigurationSystemSwapOption - - Datastore string `xml:"datastore"` -} - -func init() { - t["HostSystemSwapConfigurationDatastoreOption"] = reflect.TypeOf((*HostSystemSwapConfigurationDatastoreOption)(nil)).Elem() -} - -type HostSystemSwapConfigurationDisabledOption struct { - HostSystemSwapConfigurationSystemSwapOption -} - -func init() { - t["HostSystemSwapConfigurationDisabledOption"] = reflect.TypeOf((*HostSystemSwapConfigurationDisabledOption)(nil)).Elem() -} - -type HostSystemSwapConfigurationHostCacheOption struct { - HostSystemSwapConfigurationSystemSwapOption -} - -func init() { - t["HostSystemSwapConfigurationHostCacheOption"] = reflect.TypeOf((*HostSystemSwapConfigurationHostCacheOption)(nil)).Elem() -} - -type HostSystemSwapConfigurationHostLocalSwapOption struct { - HostSystemSwapConfigurationSystemSwapOption -} - -func init() { - t["HostSystemSwapConfigurationHostLocalSwapOption"] = reflect.TypeOf((*HostSystemSwapConfigurationHostLocalSwapOption)(nil)).Elem() -} - -type HostSystemSwapConfigurationSystemSwapOption struct { - DynamicData - - Key int32 `xml:"key"` -} - -func init() { - t["HostSystemSwapConfigurationSystemSwapOption"] = reflect.TypeOf((*HostSystemSwapConfigurationSystemSwapOption)(nil)).Elem() -} - -type HostTargetTransport struct { - DynamicData -} - -func init() { - t["HostTargetTransport"] = reflect.TypeOf((*HostTargetTransport)(nil)).Elem() -} - -type HostTcpHba struct { - HostHostBusAdapter - - AssociatedPnic string `xml:"associatedPnic,omitempty"` -} - -func init() { - t["HostTcpHba"] = reflect.TypeOf((*HostTcpHba)(nil)).Elem() -} - -type HostTcpHbaCreateSpec struct { - HostHbaCreateSpec - - Pnic string `xml:"pnic"` -} - -func init() { - t["HostTcpHbaCreateSpec"] = reflect.TypeOf((*HostTcpHbaCreateSpec)(nil)).Elem() -} - -type HostTcpTargetTransport struct { - HostTargetTransport -} - -func init() { - t["HostTcpTargetTransport"] = reflect.TypeOf((*HostTcpTargetTransport)(nil)).Elem() -} - -type HostTpmAttestationInfo struct { - DynamicData - - Time time.Time `xml:"time"` - Status HostTpmAttestationInfoAcceptanceStatus `xml:"status"` - Message *LocalizableMessage `xml:"message,omitempty"` -} - -func init() { - t["HostTpmAttestationInfo"] = reflect.TypeOf((*HostTpmAttestationInfo)(nil)).Elem() -} - -type HostTpmAttestationReport struct { - DynamicData - - TpmPcrValues []HostTpmDigestInfo `xml:"tpmPcrValues"` - TpmEvents []HostTpmEventLogEntry `xml:"tpmEvents"` - TpmLogReliable bool `xml:"tpmLogReliable"` -} - -func init() { - t["HostTpmAttestationReport"] = reflect.TypeOf((*HostTpmAttestationReport)(nil)).Elem() -} - -type HostTpmBootSecurityOptionEventDetails struct { - HostTpmEventDetails - - BootSecurityOption string `xml:"bootSecurityOption"` -} - -func init() { - t["HostTpmBootSecurityOptionEventDetails"] = reflect.TypeOf((*HostTpmBootSecurityOptionEventDetails)(nil)).Elem() -} - -type HostTpmCommandEventDetails struct { - HostTpmEventDetails - - CommandLine string `xml:"commandLine"` -} - -func init() { - t["HostTpmCommandEventDetails"] = reflect.TypeOf((*HostTpmCommandEventDetails)(nil)).Elem() -} - -type HostTpmDigestInfo struct { - HostDigestInfo - - PcrNumber int32 `xml:"pcrNumber"` -} - -func init() { - t["HostTpmDigestInfo"] = reflect.TypeOf((*HostTpmDigestInfo)(nil)).Elem() -} - -type HostTpmEventDetails struct { - DynamicData - - DataHash []byte `xml:"dataHash"` - DataHashMethod string `xml:"dataHashMethod,omitempty"` -} - -func init() { - t["HostTpmEventDetails"] = reflect.TypeOf((*HostTpmEventDetails)(nil)).Elem() -} - -type HostTpmEventLogEntry struct { - DynamicData - - PcrIndex int32 `xml:"pcrIndex"` - EventDetails BaseHostTpmEventDetails `xml:"eventDetails,typeattr"` -} - -func init() { - t["HostTpmEventLogEntry"] = reflect.TypeOf((*HostTpmEventLogEntry)(nil)).Elem() -} - -type HostTpmNvTagEventDetails struct { - HostTpmBootSecurityOptionEventDetails -} - -func init() { - t["HostTpmNvTagEventDetails"] = reflect.TypeOf((*HostTpmNvTagEventDetails)(nil)).Elem() -} - -type HostTpmOptionEventDetails struct { - HostTpmEventDetails - - OptionsFileName string `xml:"optionsFileName"` - BootOptions []byte `xml:"bootOptions,omitempty"` -} - -func init() { - t["HostTpmOptionEventDetails"] = reflect.TypeOf((*HostTpmOptionEventDetails)(nil)).Elem() -} - -type HostTpmSignerEventDetails struct { - HostTpmBootSecurityOptionEventDetails -} - -func init() { - t["HostTpmSignerEventDetails"] = reflect.TypeOf((*HostTpmSignerEventDetails)(nil)).Elem() -} - -type HostTpmSoftwareComponentEventDetails struct { - HostTpmEventDetails - - ComponentName string `xml:"componentName"` - VibName string `xml:"vibName"` - VibVersion string `xml:"vibVersion"` - VibVendor string `xml:"vibVendor"` -} - -func init() { - t["HostTpmSoftwareComponentEventDetails"] = reflect.TypeOf((*HostTpmSoftwareComponentEventDetails)(nil)).Elem() -} - -type HostTpmVersionEventDetails struct { - HostTpmEventDetails - - Version []byte `xml:"version"` -} - -func init() { - t["HostTpmVersionEventDetails"] = reflect.TypeOf((*HostTpmVersionEventDetails)(nil)).Elem() -} - -type HostTrustAuthorityAttestationInfo struct { - DynamicData - - AttestationStatus string `xml:"attestationStatus"` - ServiceId string `xml:"serviceId,omitempty"` - AttestedAt *time.Time `xml:"attestedAt"` - AttestedUntil *time.Time `xml:"attestedUntil"` - Messages []LocalizableMessage `xml:"messages,omitempty"` -} - -func init() { - t["HostTrustAuthorityAttestationInfo"] = reflect.TypeOf((*HostTrustAuthorityAttestationInfo)(nil)).Elem() -} - -type HostUnresolvedVmfsExtent struct { - DynamicData - - Device HostScsiDiskPartition `xml:"device"` - DevicePath string `xml:"devicePath"` - VmfsUuid string `xml:"vmfsUuid"` - IsHeadExtent bool `xml:"isHeadExtent"` - Ordinal int32 `xml:"ordinal"` - StartBlock int32 `xml:"startBlock"` - EndBlock int32 `xml:"endBlock"` - Reason string `xml:"reason"` -} - -func init() { - t["HostUnresolvedVmfsExtent"] = reflect.TypeOf((*HostUnresolvedVmfsExtent)(nil)).Elem() -} - -type HostUnresolvedVmfsResignatureSpec struct { - DynamicData - - ExtentDevicePath []string `xml:"extentDevicePath"` -} - -func init() { - t["HostUnresolvedVmfsResignatureSpec"] = reflect.TypeOf((*HostUnresolvedVmfsResignatureSpec)(nil)).Elem() -} - -type HostUnresolvedVmfsResolutionResult struct { - DynamicData - - Spec HostUnresolvedVmfsResolutionSpec `xml:"spec"` - Vmfs *HostVmfsVolume `xml:"vmfs,omitempty"` - Fault *LocalizedMethodFault `xml:"fault,omitempty"` -} - -func init() { - t["HostUnresolvedVmfsResolutionResult"] = reflect.TypeOf((*HostUnresolvedVmfsResolutionResult)(nil)).Elem() -} - -type HostUnresolvedVmfsResolutionSpec struct { - DynamicData - - ExtentDevicePath []string `xml:"extentDevicePath"` - UuidResolution string `xml:"uuidResolution"` -} - -func init() { - t["HostUnresolvedVmfsResolutionSpec"] = reflect.TypeOf((*HostUnresolvedVmfsResolutionSpec)(nil)).Elem() -} - -type HostUnresolvedVmfsVolume struct { - DynamicData - - Extent []HostUnresolvedVmfsExtent `xml:"extent"` - VmfsLabel string `xml:"vmfsLabel"` - VmfsUuid string `xml:"vmfsUuid"` - TotalBlocks int32 `xml:"totalBlocks"` - ResolveStatus HostUnresolvedVmfsVolumeResolveStatus `xml:"resolveStatus"` -} - -func init() { - t["HostUnresolvedVmfsVolume"] = reflect.TypeOf((*HostUnresolvedVmfsVolume)(nil)).Elem() -} - -type HostUnresolvedVmfsVolumeResolveStatus struct { - DynamicData - - Resolvable bool `xml:"resolvable"` - IncompleteExtents *bool `xml:"incompleteExtents"` - MultipleCopies *bool `xml:"multipleCopies"` -} - -func init() { - t["HostUnresolvedVmfsVolumeResolveStatus"] = reflect.TypeOf((*HostUnresolvedVmfsVolumeResolveStatus)(nil)).Elem() -} - -type HostUpdateVStorageObjectMetadataExRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id ID `xml:"id"` - Datastore ManagedObjectReference `xml:"datastore"` - Metadata []KeyValue `xml:"metadata,omitempty"` - DeleteKeys []string `xml:"deleteKeys,omitempty"` -} - -func init() { - t["HostUpdateVStorageObjectMetadataExRequestType"] = reflect.TypeOf((*HostUpdateVStorageObjectMetadataExRequestType)(nil)).Elem() -} - -type HostUpdateVStorageObjectMetadataEx_Task HostUpdateVStorageObjectMetadataExRequestType - -func init() { - t["HostUpdateVStorageObjectMetadataEx_Task"] = reflect.TypeOf((*HostUpdateVStorageObjectMetadataEx_Task)(nil)).Elem() -} - -type HostUpdateVStorageObjectMetadataEx_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type HostUpdateVStorageObjectMetadataRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id ID `xml:"id"` - Datastore ManagedObjectReference `xml:"datastore"` - Metadata []KeyValue `xml:"metadata,omitempty"` - DeleteKeys []string `xml:"deleteKeys,omitempty"` -} - -func init() { - t["HostUpdateVStorageObjectMetadataRequestType"] = reflect.TypeOf((*HostUpdateVStorageObjectMetadataRequestType)(nil)).Elem() -} - -type HostUpdateVStorageObjectMetadata_Task HostUpdateVStorageObjectMetadataRequestType - -func init() { - t["HostUpdateVStorageObjectMetadata_Task"] = reflect.TypeOf((*HostUpdateVStorageObjectMetadata_Task)(nil)).Elem() -} - -type HostUpdateVStorageObjectMetadata_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type HostUpgradeFailedEvent struct { - HostEvent -} - -func init() { - t["HostUpgradeFailedEvent"] = reflect.TypeOf((*HostUpgradeFailedEvent)(nil)).Elem() -} - -type HostUserWorldSwapNotEnabledEvent struct { - HostEvent -} - -func init() { - t["HostUserWorldSwapNotEnabledEvent"] = reflect.TypeOf((*HostUserWorldSwapNotEnabledEvent)(nil)).Elem() -} - -type HostVFlashManagerVFlashCacheConfigInfo struct { - DynamicData - - VFlashModuleConfigOption []HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption `xml:"vFlashModuleConfigOption,omitempty"` - DefaultVFlashModule string `xml:"defaultVFlashModule,omitempty"` - SwapCacheReservationInGB int64 `xml:"swapCacheReservationInGB,omitempty"` -} - -func init() { - t["HostVFlashManagerVFlashCacheConfigInfo"] = reflect.TypeOf((*HostVFlashManagerVFlashCacheConfigInfo)(nil)).Elem() -} - -type HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption struct { - DynamicData - - VFlashModule string `xml:"vFlashModule"` - VFlashModuleVersion string `xml:"vFlashModuleVersion"` - MinSupportedModuleVersion string `xml:"minSupportedModuleVersion"` - CacheConsistencyType ChoiceOption `xml:"cacheConsistencyType"` - CacheMode ChoiceOption `xml:"cacheMode"` - BlockSizeInKBOption LongOption `xml:"blockSizeInKBOption"` - ReservationInMBOption LongOption `xml:"reservationInMBOption"` - MaxDiskSizeInKB int64 `xml:"maxDiskSizeInKB"` -} - -func init() { - t["HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption"] = reflect.TypeOf((*HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption)(nil)).Elem() -} - -type HostVFlashManagerVFlashCacheConfigSpec struct { - DynamicData - - DefaultVFlashModule string `xml:"defaultVFlashModule"` - SwapCacheReservationInGB int64 `xml:"swapCacheReservationInGB"` -} - -func init() { - t["HostVFlashManagerVFlashCacheConfigSpec"] = reflect.TypeOf((*HostVFlashManagerVFlashCacheConfigSpec)(nil)).Elem() -} - -type HostVFlashManagerVFlashConfigInfo struct { - DynamicData - - VFlashResourceConfigInfo *HostVFlashManagerVFlashResourceConfigInfo `xml:"vFlashResourceConfigInfo,omitempty"` - VFlashCacheConfigInfo *HostVFlashManagerVFlashCacheConfigInfo `xml:"vFlashCacheConfigInfo,omitempty"` -} - -func init() { - t["HostVFlashManagerVFlashConfigInfo"] = reflect.TypeOf((*HostVFlashManagerVFlashConfigInfo)(nil)).Elem() -} - -type HostVFlashManagerVFlashResourceConfigInfo struct { - DynamicData - - Vffs *HostVffsVolume `xml:"vffs,omitempty"` - Capacity int64 `xml:"capacity"` -} - -func init() { - t["HostVFlashManagerVFlashResourceConfigInfo"] = reflect.TypeOf((*HostVFlashManagerVFlashResourceConfigInfo)(nil)).Elem() -} - -type HostVFlashManagerVFlashResourceConfigSpec struct { - DynamicData - - VffsUuid string `xml:"vffsUuid"` -} - -func init() { - t["HostVFlashManagerVFlashResourceConfigSpec"] = reflect.TypeOf((*HostVFlashManagerVFlashResourceConfigSpec)(nil)).Elem() -} - -type HostVFlashManagerVFlashResourceRunTimeInfo struct { - DynamicData - - Usage int64 `xml:"usage"` - Capacity int64 `xml:"capacity"` - Accessible bool `xml:"accessible"` - CapacityForVmCache int64 `xml:"capacityForVmCache"` - FreeForVmCache int64 `xml:"freeForVmCache"` -} - -func init() { - t["HostVFlashManagerVFlashResourceRunTimeInfo"] = reflect.TypeOf((*HostVFlashManagerVFlashResourceRunTimeInfo)(nil)).Elem() -} - -type HostVFlashResourceConfigurationResult struct { - DynamicData - - DevicePath []string `xml:"devicePath,omitempty"` - Vffs *HostVffsVolume `xml:"vffs,omitempty"` - DiskConfigurationResult []HostDiskConfigurationResult `xml:"diskConfigurationResult,omitempty"` -} - -func init() { - t["HostVFlashResourceConfigurationResult"] = reflect.TypeOf((*HostVFlashResourceConfigurationResult)(nil)).Elem() -} - -type HostVMotionCompatibility struct { - DynamicData - - Host ManagedObjectReference `xml:"host"` - Compatibility []string `xml:"compatibility,omitempty"` -} - -func init() { - t["HostVMotionCompatibility"] = reflect.TypeOf((*HostVMotionCompatibility)(nil)).Elem() -} - -type HostVMotionConfig struct { - DynamicData - - VmotionNicKey string `xml:"vmotionNicKey,omitempty"` - Enabled bool `xml:"enabled"` -} - -func init() { - t["HostVMotionConfig"] = reflect.TypeOf((*HostVMotionConfig)(nil)).Elem() -} - -type HostVMotionInfo struct { - DynamicData - - NetConfig *HostVMotionNetConfig `xml:"netConfig,omitempty"` - IpConfig *HostIpConfig `xml:"ipConfig,omitempty"` -} - -func init() { - t["HostVMotionInfo"] = reflect.TypeOf((*HostVMotionInfo)(nil)).Elem() -} - -type HostVMotionManagerDstInstantCloneResult struct { - DynamicData - - DstVmId int32 `xml:"dstVmId,omitempty"` - StartTime int64 `xml:"startTime,omitempty"` - CptLoadTime int64 `xml:"cptLoadTime,omitempty"` - CptLoadDoneTime int64 `xml:"cptLoadDoneTime,omitempty"` - ReplicateMemDoneTime int64 `xml:"replicateMemDoneTime,omitempty"` - EndTime int64 `xml:"endTime,omitempty"` - CptXferTime int64 `xml:"cptXferTime,omitempty"` - CptCacheUsed int64 `xml:"cptCacheUsed,omitempty"` - DevCptStreamSize int64 `xml:"devCptStreamSize,omitempty"` - DevCptStreamTime int64 `xml:"devCptStreamTime,omitempty"` -} - -func init() { - t["HostVMotionManagerDstInstantCloneResult"] = reflect.TypeOf((*HostVMotionManagerDstInstantCloneResult)(nil)).Elem() -} - -type HostVMotionManagerSrcInstantCloneResult struct { - DynamicData - - StartTime int64 `xml:"startTime,omitempty"` - QuiesceTime int64 `xml:"quiesceTime,omitempty"` - QuiesceDoneTime int64 `xml:"quiesceDoneTime,omitempty"` - ResumeDoneTime int64 `xml:"resumeDoneTime,omitempty"` - EndTime int64 `xml:"endTime,omitempty"` -} - -func init() { - t["HostVMotionManagerSrcInstantCloneResult"] = reflect.TypeOf((*HostVMotionManagerSrcInstantCloneResult)(nil)).Elem() -} - -type HostVMotionNetConfig struct { - DynamicData - - CandidateVnic []HostVirtualNic `xml:"candidateVnic,omitempty"` - SelectedVnic string `xml:"selectedVnic,omitempty"` -} - -func init() { - t["HostVMotionNetConfig"] = reflect.TypeOf((*HostVMotionNetConfig)(nil)).Elem() -} - -type HostVStorageObjectCreateDiskFromSnapshotRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id ID `xml:"id"` - Datastore ManagedObjectReference `xml:"datastore"` - SnapshotId ID `xml:"snapshotId"` - Name string `xml:"name"` - Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr"` - Crypto BaseCryptoSpec `xml:"crypto,omitempty,typeattr"` - Path string `xml:"path,omitempty"` - ProvisioningType string `xml:"provisioningType,omitempty"` -} - -func init() { - t["HostVStorageObjectCreateDiskFromSnapshotRequestType"] = reflect.TypeOf((*HostVStorageObjectCreateDiskFromSnapshotRequestType)(nil)).Elem() -} - -type HostVStorageObjectCreateDiskFromSnapshot_Task HostVStorageObjectCreateDiskFromSnapshotRequestType - -func init() { - t["HostVStorageObjectCreateDiskFromSnapshot_Task"] = reflect.TypeOf((*HostVStorageObjectCreateDiskFromSnapshot_Task)(nil)).Elem() -} - -type HostVStorageObjectCreateDiskFromSnapshot_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type HostVStorageObjectCreateSnapshotRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id ID `xml:"id"` - Datastore ManagedObjectReference `xml:"datastore"` - Description string `xml:"description"` -} - -func init() { - t["HostVStorageObjectCreateSnapshotRequestType"] = reflect.TypeOf((*HostVStorageObjectCreateSnapshotRequestType)(nil)).Elem() -} - -type HostVStorageObjectCreateSnapshot_Task HostVStorageObjectCreateSnapshotRequestType - -func init() { - t["HostVStorageObjectCreateSnapshot_Task"] = reflect.TypeOf((*HostVStorageObjectCreateSnapshot_Task)(nil)).Elem() -} - -type HostVStorageObjectCreateSnapshot_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type HostVStorageObjectDeleteSnapshotRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id ID `xml:"id"` - Datastore ManagedObjectReference `xml:"datastore"` - SnapshotId ID `xml:"snapshotId"` -} - -func init() { - t["HostVStorageObjectDeleteSnapshotRequestType"] = reflect.TypeOf((*HostVStorageObjectDeleteSnapshotRequestType)(nil)).Elem() -} - -type HostVStorageObjectDeleteSnapshot_Task HostVStorageObjectDeleteSnapshotRequestType - -func init() { - t["HostVStorageObjectDeleteSnapshot_Task"] = reflect.TypeOf((*HostVStorageObjectDeleteSnapshot_Task)(nil)).Elem() -} - -type HostVStorageObjectDeleteSnapshot_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type HostVStorageObjectRetrieveSnapshotInfo HostVStorageObjectRetrieveSnapshotInfoRequestType - -func init() { - t["HostVStorageObjectRetrieveSnapshotInfo"] = reflect.TypeOf((*HostVStorageObjectRetrieveSnapshotInfo)(nil)).Elem() -} - -type HostVStorageObjectRetrieveSnapshotInfoRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id ID `xml:"id"` - Datastore ManagedObjectReference `xml:"datastore"` -} - -func init() { - t["HostVStorageObjectRetrieveSnapshotInfoRequestType"] = reflect.TypeOf((*HostVStorageObjectRetrieveSnapshotInfoRequestType)(nil)).Elem() -} - -type HostVStorageObjectRetrieveSnapshotInfoResponse struct { - Returnval VStorageObjectSnapshotInfo `xml:"returnval"` -} - -type HostVStorageObjectRevertRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id ID `xml:"id"` - Datastore ManagedObjectReference `xml:"datastore"` - SnapshotId ID `xml:"snapshotId"` -} - -func init() { - t["HostVStorageObjectRevertRequestType"] = reflect.TypeOf((*HostVStorageObjectRevertRequestType)(nil)).Elem() -} - -type HostVStorageObjectRevert_Task HostVStorageObjectRevertRequestType - -func init() { - t["HostVStorageObjectRevert_Task"] = reflect.TypeOf((*HostVStorageObjectRevert_Task)(nil)).Elem() -} - -type HostVStorageObjectRevert_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type HostVfatVolume struct { - HostFileSystemVolume -} - -func init() { - t["HostVfatVolume"] = reflect.TypeOf((*HostVfatVolume)(nil)).Elem() -} - -type HostVffsSpec struct { - DynamicData - - DevicePath string `xml:"devicePath"` - Partition *HostDiskPartitionSpec `xml:"partition,omitempty"` - MajorVersion int32 `xml:"majorVersion"` - VolumeName string `xml:"volumeName"` -} - -func init() { - t["HostVffsSpec"] = reflect.TypeOf((*HostVffsSpec)(nil)).Elem() -} - -type HostVffsVolume struct { - HostFileSystemVolume - - MajorVersion int32 `xml:"majorVersion"` - Version string `xml:"version"` - Uuid string `xml:"uuid"` - Extent []HostScsiDiskPartition `xml:"extent"` -} - -func init() { - t["HostVffsVolume"] = reflect.TypeOf((*HostVffsVolume)(nil)).Elem() -} - -type HostVirtualNic struct { - DynamicData - - Device string `xml:"device"` - Key string `xml:"key"` - Portgroup string `xml:"portgroup"` - Spec HostVirtualNicSpec `xml:"spec"` - Port string `xml:"port,omitempty"` -} - -func init() { - t["HostVirtualNic"] = reflect.TypeOf((*HostVirtualNic)(nil)).Elem() -} - -type HostVirtualNicConfig struct { - DynamicData - - ChangeOperation string `xml:"changeOperation,omitempty"` - Device string `xml:"device,omitempty"` - Portgroup string `xml:"portgroup"` - Spec *HostVirtualNicSpec `xml:"spec,omitempty"` -} - -func init() { - t["HostVirtualNicConfig"] = reflect.TypeOf((*HostVirtualNicConfig)(nil)).Elem() -} - -type HostVirtualNicConnection struct { - DynamicData - - Portgroup string `xml:"portgroup,omitempty"` - DvPort *DistributedVirtualSwitchPortConnection `xml:"dvPort,omitempty"` - OpNetwork *HostVirtualNicOpaqueNetworkSpec `xml:"opNetwork,omitempty"` -} - -func init() { - t["HostVirtualNicConnection"] = reflect.TypeOf((*HostVirtualNicConnection)(nil)).Elem() -} - -type HostVirtualNicIpRouteSpec struct { - DynamicData - - IpRouteConfig BaseHostIpRouteConfig `xml:"ipRouteConfig,omitempty,typeattr"` -} - -func init() { - t["HostVirtualNicIpRouteSpec"] = reflect.TypeOf((*HostVirtualNicIpRouteSpec)(nil)).Elem() -} - -type HostVirtualNicManagerInfo struct { - DynamicData - - NetConfig []VirtualNicManagerNetConfig `xml:"netConfig,omitempty"` -} - -func init() { - t["HostVirtualNicManagerInfo"] = reflect.TypeOf((*HostVirtualNicManagerInfo)(nil)).Elem() -} - -type HostVirtualNicManagerNicTypeSelection struct { - DynamicData - - Vnic HostVirtualNicConnection `xml:"vnic"` - NicType []string `xml:"nicType,omitempty"` -} - -func init() { - t["HostVirtualNicManagerNicTypeSelection"] = reflect.TypeOf((*HostVirtualNicManagerNicTypeSelection)(nil)).Elem() -} - -type HostVirtualNicOpaqueNetworkSpec struct { - DynamicData - - OpaqueNetworkId string `xml:"opaqueNetworkId"` - OpaqueNetworkType string `xml:"opaqueNetworkType"` -} - -func init() { - t["HostVirtualNicOpaqueNetworkSpec"] = reflect.TypeOf((*HostVirtualNicOpaqueNetworkSpec)(nil)).Elem() -} - -type HostVirtualNicSpec struct { - DynamicData - - Ip *HostIpConfig `xml:"ip,omitempty"` - Mac string `xml:"mac,omitempty"` - DistributedVirtualPort *DistributedVirtualSwitchPortConnection `xml:"distributedVirtualPort,omitempty"` - Portgroup string `xml:"portgroup,omitempty"` - Mtu int32 `xml:"mtu,omitempty"` - TsoEnabled *bool `xml:"tsoEnabled"` - NetStackInstanceKey string `xml:"netStackInstanceKey,omitempty"` - OpaqueNetwork *HostVirtualNicOpaqueNetworkSpec `xml:"opaqueNetwork,omitempty"` - ExternalId string `xml:"externalId,omitempty"` - PinnedPnic string `xml:"pinnedPnic,omitempty"` - IpRouteSpec *HostVirtualNicIpRouteSpec `xml:"ipRouteSpec,omitempty"` - SystemOwned *bool `xml:"systemOwned"` - DpuId string `xml:"dpuId,omitempty"` -} - -func init() { - t["HostVirtualNicSpec"] = reflect.TypeOf((*HostVirtualNicSpec)(nil)).Elem() -} - -type HostVirtualSwitch struct { - DynamicData - - Name string `xml:"name"` - Key string `xml:"key"` - NumPorts int32 `xml:"numPorts"` - NumPortsAvailable int32 `xml:"numPortsAvailable"` - Mtu int32 `xml:"mtu,omitempty"` - Portgroup []string `xml:"portgroup,omitempty"` - Pnic []string `xml:"pnic,omitempty"` - Spec HostVirtualSwitchSpec `xml:"spec"` -} - -func init() { - t["HostVirtualSwitch"] = reflect.TypeOf((*HostVirtualSwitch)(nil)).Elem() -} - -type HostVirtualSwitchAutoBridge struct { - HostVirtualSwitchBridge - - ExcludedNicDevice []string `xml:"excludedNicDevice,omitempty"` -} - -func init() { - t["HostVirtualSwitchAutoBridge"] = reflect.TypeOf((*HostVirtualSwitchAutoBridge)(nil)).Elem() -} - -type HostVirtualSwitchBeaconConfig struct { - DynamicData - - Interval int32 `xml:"interval"` -} - -func init() { - t["HostVirtualSwitchBeaconConfig"] = reflect.TypeOf((*HostVirtualSwitchBeaconConfig)(nil)).Elem() -} - -type HostVirtualSwitchBondBridge struct { - HostVirtualSwitchBridge - - NicDevice []string `xml:"nicDevice"` - Beacon *HostVirtualSwitchBeaconConfig `xml:"beacon,omitempty"` - LinkDiscoveryProtocolConfig *LinkDiscoveryProtocolConfig `xml:"linkDiscoveryProtocolConfig,omitempty"` -} - -func init() { - t["HostVirtualSwitchBondBridge"] = reflect.TypeOf((*HostVirtualSwitchBondBridge)(nil)).Elem() -} - -type HostVirtualSwitchBridge struct { - DynamicData -} - -func init() { - t["HostVirtualSwitchBridge"] = reflect.TypeOf((*HostVirtualSwitchBridge)(nil)).Elem() -} - -type HostVirtualSwitchConfig struct { - DynamicData - - ChangeOperation string `xml:"changeOperation,omitempty"` - Name string `xml:"name"` - Spec *HostVirtualSwitchSpec `xml:"spec,omitempty"` -} - -func init() { - t["HostVirtualSwitchConfig"] = reflect.TypeOf((*HostVirtualSwitchConfig)(nil)).Elem() -} - -type HostVirtualSwitchSimpleBridge struct { - HostVirtualSwitchBridge - - NicDevice string `xml:"nicDevice"` -} - -func init() { - t["HostVirtualSwitchSimpleBridge"] = reflect.TypeOf((*HostVirtualSwitchSimpleBridge)(nil)).Elem() -} - -type HostVirtualSwitchSpec struct { - DynamicData - - NumPorts int32 `xml:"numPorts"` - Bridge BaseHostVirtualSwitchBridge `xml:"bridge,omitempty,typeattr"` - Policy *HostNetworkPolicy `xml:"policy,omitempty"` - Mtu int32 `xml:"mtu,omitempty"` -} - -func init() { - t["HostVirtualSwitchSpec"] = reflect.TypeOf((*HostVirtualSwitchSpec)(nil)).Elem() -} - -type HostVmciAccessManagerAccessSpec struct { - DynamicData - - Vm ManagedObjectReference `xml:"vm"` - Services []string `xml:"services,omitempty"` - Mode string `xml:"mode"` -} - -func init() { - t["HostVmciAccessManagerAccessSpec"] = reflect.TypeOf((*HostVmciAccessManagerAccessSpec)(nil)).Elem() -} - -type HostVmfsRescanResult struct { - DynamicData - - Host ManagedObjectReference `xml:"host"` - Fault *LocalizedMethodFault `xml:"fault,omitempty"` -} - -func init() { - t["HostVmfsRescanResult"] = reflect.TypeOf((*HostVmfsRescanResult)(nil)).Elem() -} - -type HostVmfsSpec struct { - DynamicData - - Extent HostScsiDiskPartition `xml:"extent"` - BlockSizeMb int32 `xml:"blockSizeMb,omitempty"` - MajorVersion int32 `xml:"majorVersion"` - VolumeName string `xml:"volumeName"` - BlockSize int32 `xml:"blockSize,omitempty"` - UnmapGranularity int32 `xml:"unmapGranularity,omitempty"` - UnmapPriority string `xml:"unmapPriority,omitempty"` - UnmapBandwidthSpec *VmfsUnmapBandwidthSpec `xml:"unmapBandwidthSpec,omitempty"` -} - -func init() { - t["HostVmfsSpec"] = reflect.TypeOf((*HostVmfsSpec)(nil)).Elem() -} - -type HostVmfsVolume struct { - HostFileSystemVolume - - BlockSizeMb int32 `xml:"blockSizeMb"` - BlockSize int32 `xml:"blockSize,omitempty"` - UnmapGranularity int32 `xml:"unmapGranularity,omitempty"` - UnmapPriority string `xml:"unmapPriority,omitempty"` - UnmapBandwidthSpec *VmfsUnmapBandwidthSpec `xml:"unmapBandwidthSpec,omitempty"` - MaxBlocks int32 `xml:"maxBlocks"` - MajorVersion int32 `xml:"majorVersion"` - Version string `xml:"version"` - Uuid string `xml:"uuid"` - Extent []HostScsiDiskPartition `xml:"extent"` - VmfsUpgradable bool `xml:"vmfsUpgradable"` - ForceMountedInfo *HostForceMountedInfo `xml:"forceMountedInfo,omitempty"` - Ssd *bool `xml:"ssd"` - Local *bool `xml:"local"` - ScsiDiskType string `xml:"scsiDiskType,omitempty"` -} - -func init() { - t["HostVmfsVolume"] = reflect.TypeOf((*HostVmfsVolume)(nil)).Elem() -} - -type HostVnicConnectedToCustomizedDVPortEvent struct { - HostEvent - - Vnic VnicPortArgument `xml:"vnic"` - PrevPortKey string `xml:"prevPortKey,omitempty"` -} - -func init() { - t["HostVnicConnectedToCustomizedDVPortEvent"] = reflect.TypeOf((*HostVnicConnectedToCustomizedDVPortEvent)(nil)).Elem() -} - -type HostVsanInternalSystemCmmdsQuery struct { - DynamicData - - Type string `xml:"type,omitempty"` - Uuid string `xml:"uuid,omitempty"` - Owner string `xml:"owner,omitempty"` -} - -func init() { - t["HostVsanInternalSystemCmmdsQuery"] = reflect.TypeOf((*HostVsanInternalSystemCmmdsQuery)(nil)).Elem() -} - -type HostVsanInternalSystemDeleteVsanObjectsResult struct { - DynamicData - - Uuid string `xml:"uuid"` - Success bool `xml:"success"` - FailureReason []LocalizableMessage `xml:"failureReason,omitempty"` -} - -func init() { - t["HostVsanInternalSystemDeleteVsanObjectsResult"] = reflect.TypeOf((*HostVsanInternalSystemDeleteVsanObjectsResult)(nil)).Elem() -} - -type HostVsanInternalSystemVsanObjectOperationResult struct { - DynamicData - - Uuid string `xml:"uuid"` - FailureReason []LocalizableMessage `xml:"failureReason,omitempty"` -} - -func init() { - t["HostVsanInternalSystemVsanObjectOperationResult"] = reflect.TypeOf((*HostVsanInternalSystemVsanObjectOperationResult)(nil)).Elem() -} - -type HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult struct { - DynamicData - - DiskUuid string `xml:"diskUuid"` - Success bool `xml:"success"` - FailureReason string `xml:"failureReason,omitempty"` -} - -func init() { - t["HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult"] = reflect.TypeOf((*HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult)(nil)).Elem() -} - -type HostVvolVolume struct { - HostFileSystemVolume - - ScId string `xml:"scId"` - HostPE []VVolHostPE `xml:"hostPE,omitempty"` - VasaProviderInfo []VimVasaProviderInfo `xml:"vasaProviderInfo,omitempty"` - StorageArray []VASAStorageArray `xml:"storageArray,omitempty"` - ProtocolEndpointType string `xml:"protocolEndpointType,omitempty"` -} - -func init() { - t["HostVvolVolume"] = reflect.TypeOf((*HostVvolVolume)(nil)).Elem() -} - -type HostVvolVolumeSpecification struct { - DynamicData - - MaxSizeInMB int64 `xml:"maxSizeInMB"` - VolumeName string `xml:"volumeName"` - VasaProviderInfo []VimVasaProviderInfo `xml:"vasaProviderInfo,omitempty"` - StorageArray []VASAStorageArray `xml:"storageArray,omitempty"` - Uuid string `xml:"uuid"` -} - -func init() { - t["HostVvolVolumeSpecification"] = reflect.TypeOf((*HostVvolVolumeSpecification)(nil)).Elem() -} - -type HostWwnChangedEvent struct { - HostEvent - - OldNodeWwns []int64 `xml:"oldNodeWwns,omitempty"` - OldPortWwns []int64 `xml:"oldPortWwns,omitempty"` - NewNodeWwns []int64 `xml:"newNodeWwns,omitempty"` - NewPortWwns []int64 `xml:"newPortWwns,omitempty"` -} - -func init() { - t["HostWwnChangedEvent"] = reflect.TypeOf((*HostWwnChangedEvent)(nil)).Elem() -} - -type HostWwnConflictEvent struct { - HostEvent - - ConflictedVms []VmEventArgument `xml:"conflictedVms,omitempty"` - ConflictedHosts []HostEventArgument `xml:"conflictedHosts,omitempty"` - Wwn int64 `xml:"wwn"` -} - -func init() { - t["HostWwnConflictEvent"] = reflect.TypeOf((*HostWwnConflictEvent)(nil)).Elem() -} - -type HotSnapshotMoveNotSupported struct { - SnapshotCopyNotSupported -} - -func init() { - t["HotSnapshotMoveNotSupported"] = reflect.TypeOf((*HotSnapshotMoveNotSupported)(nil)).Elem() -} - -type HotSnapshotMoveNotSupportedFault HotSnapshotMoveNotSupported - -func init() { - t["HotSnapshotMoveNotSupportedFault"] = reflect.TypeOf((*HotSnapshotMoveNotSupportedFault)(nil)).Elem() -} - -type HourlyTaskScheduler struct { - RecurrentTaskScheduler - - Minute int32 `xml:"minute"` -} - -func init() { - t["HourlyTaskScheduler"] = reflect.TypeOf((*HourlyTaskScheduler)(nil)).Elem() -} - -type HttpFault struct { - VimFault - - StatusCode int32 `xml:"statusCode"` - StatusMessage string `xml:"statusMessage"` -} - -func init() { - t["HttpFault"] = reflect.TypeOf((*HttpFault)(nil)).Elem() -} - -type HttpFaultFault HttpFault - -func init() { - t["HttpFaultFault"] = reflect.TypeOf((*HttpFaultFault)(nil)).Elem() -} - -type HttpNfcLeaseAbort HttpNfcLeaseAbortRequestType - -func init() { - t["HttpNfcLeaseAbort"] = reflect.TypeOf((*HttpNfcLeaseAbort)(nil)).Elem() -} - -type HttpNfcLeaseAbortRequestType struct { - This ManagedObjectReference `xml:"_this"` - Fault *LocalizedMethodFault `xml:"fault,omitempty"` -} - -func init() { - t["HttpNfcLeaseAbortRequestType"] = reflect.TypeOf((*HttpNfcLeaseAbortRequestType)(nil)).Elem() -} - -type HttpNfcLeaseAbortResponse struct { -} - -type HttpNfcLeaseCapabilities struct { - DynamicData - - PullModeSupported bool `xml:"pullModeSupported"` - CorsSupported bool `xml:"corsSupported"` -} - -func init() { - t["HttpNfcLeaseCapabilities"] = reflect.TypeOf((*HttpNfcLeaseCapabilities)(nil)).Elem() -} - -type HttpNfcLeaseComplete HttpNfcLeaseCompleteRequestType - -func init() { - t["HttpNfcLeaseComplete"] = reflect.TypeOf((*HttpNfcLeaseComplete)(nil)).Elem() -} - -type HttpNfcLeaseCompleteRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["HttpNfcLeaseCompleteRequestType"] = reflect.TypeOf((*HttpNfcLeaseCompleteRequestType)(nil)).Elem() -} - -type HttpNfcLeaseCompleteResponse struct { -} - -type HttpNfcLeaseDatastoreLeaseInfo struct { - DynamicData - - DatastoreKey string `xml:"datastoreKey"` - Hosts []HttpNfcLeaseHostInfo `xml:"hosts"` -} - -func init() { - t["HttpNfcLeaseDatastoreLeaseInfo"] = reflect.TypeOf((*HttpNfcLeaseDatastoreLeaseInfo)(nil)).Elem() -} - -type HttpNfcLeaseDeviceUrl struct { - DynamicData - - Key string `xml:"key"` - ImportKey string `xml:"importKey"` - Url string `xml:"url"` - SslThumbprint string `xml:"sslThumbprint"` - Disk *bool `xml:"disk"` - TargetId string `xml:"targetId,omitempty"` - DatastoreKey string `xml:"datastoreKey,omitempty"` - FileSize int64 `xml:"fileSize,omitempty"` -} - -func init() { - t["HttpNfcLeaseDeviceUrl"] = reflect.TypeOf((*HttpNfcLeaseDeviceUrl)(nil)).Elem() -} - -type HttpNfcLeaseGetManifest HttpNfcLeaseGetManifestRequestType - -func init() { - t["HttpNfcLeaseGetManifest"] = reflect.TypeOf((*HttpNfcLeaseGetManifest)(nil)).Elem() -} - -type HttpNfcLeaseGetManifestRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["HttpNfcLeaseGetManifestRequestType"] = reflect.TypeOf((*HttpNfcLeaseGetManifestRequestType)(nil)).Elem() -} - -type HttpNfcLeaseGetManifestResponse struct { - Returnval []HttpNfcLeaseManifestEntry `xml:"returnval,omitempty"` -} - -type HttpNfcLeaseHostInfo struct { - DynamicData - - Url string `xml:"url"` - SslThumbprint string `xml:"sslThumbprint"` -} - -func init() { - t["HttpNfcLeaseHostInfo"] = reflect.TypeOf((*HttpNfcLeaseHostInfo)(nil)).Elem() -} - -type HttpNfcLeaseInfo struct { - DynamicData - - Lease ManagedObjectReference `xml:"lease"` - Entity ManagedObjectReference `xml:"entity"` - DeviceUrl []HttpNfcLeaseDeviceUrl `xml:"deviceUrl,omitempty"` - TotalDiskCapacityInKB int64 `xml:"totalDiskCapacityInKB"` - LeaseTimeout int32 `xml:"leaseTimeout"` - HostMap []HttpNfcLeaseDatastoreLeaseInfo `xml:"hostMap,omitempty"` -} - -func init() { - t["HttpNfcLeaseInfo"] = reflect.TypeOf((*HttpNfcLeaseInfo)(nil)).Elem() -} - -type HttpNfcLeaseManifestEntry struct { - DynamicData - - Key string `xml:"key"` - Sha1 string `xml:"sha1"` - Checksum string `xml:"checksum,omitempty"` - ChecksumType string `xml:"checksumType,omitempty"` - Size int64 `xml:"size"` - Disk bool `xml:"disk"` - Capacity int64 `xml:"capacity,omitempty"` - PopulatedSize int64 `xml:"populatedSize,omitempty"` -} - -func init() { - t["HttpNfcLeaseManifestEntry"] = reflect.TypeOf((*HttpNfcLeaseManifestEntry)(nil)).Elem() -} - -type HttpNfcLeaseProbeResult struct { - DynamicData - - ServerAccessible bool `xml:"serverAccessible"` -} - -func init() { - t["HttpNfcLeaseProbeResult"] = reflect.TypeOf((*HttpNfcLeaseProbeResult)(nil)).Elem() -} - -type HttpNfcLeaseProbeUrls HttpNfcLeaseProbeUrlsRequestType - -func init() { - t["HttpNfcLeaseProbeUrls"] = reflect.TypeOf((*HttpNfcLeaseProbeUrls)(nil)).Elem() -} - -type HttpNfcLeaseProbeUrlsRequestType struct { - This ManagedObjectReference `xml:"_this"` - Files []HttpNfcLeaseSourceFile `xml:"files,omitempty"` - Timeout int32 `xml:"timeout,omitempty"` -} - -func init() { - t["HttpNfcLeaseProbeUrlsRequestType"] = reflect.TypeOf((*HttpNfcLeaseProbeUrlsRequestType)(nil)).Elem() -} - -type HttpNfcLeaseProbeUrlsResponse struct { - Returnval []HttpNfcLeaseProbeResult `xml:"returnval,omitempty"` -} - -type HttpNfcLeaseProgress HttpNfcLeaseProgressRequestType - -func init() { - t["HttpNfcLeaseProgress"] = reflect.TypeOf((*HttpNfcLeaseProgress)(nil)).Elem() -} - -type HttpNfcLeaseProgressRequestType struct { - This ManagedObjectReference `xml:"_this"` - Percent int32 `xml:"percent"` -} - -func init() { - t["HttpNfcLeaseProgressRequestType"] = reflect.TypeOf((*HttpNfcLeaseProgressRequestType)(nil)).Elem() -} - -type HttpNfcLeaseProgressResponse struct { -} - -type HttpNfcLeasePullFromUrlsRequestType struct { - This ManagedObjectReference `xml:"_this"` - Files []HttpNfcLeaseSourceFile `xml:"files,omitempty"` -} - -func init() { - t["HttpNfcLeasePullFromUrlsRequestType"] = reflect.TypeOf((*HttpNfcLeasePullFromUrlsRequestType)(nil)).Elem() -} - -type HttpNfcLeasePullFromUrls_Task HttpNfcLeasePullFromUrlsRequestType - -func init() { - t["HttpNfcLeasePullFromUrls_Task"] = reflect.TypeOf((*HttpNfcLeasePullFromUrls_Task)(nil)).Elem() -} - -type HttpNfcLeasePullFromUrls_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type HttpNfcLeaseSetManifestChecksumType HttpNfcLeaseSetManifestChecksumTypeRequestType - -func init() { - t["HttpNfcLeaseSetManifestChecksumType"] = reflect.TypeOf((*HttpNfcLeaseSetManifestChecksumType)(nil)).Elem() -} - -type HttpNfcLeaseSetManifestChecksumTypeRequestType struct { - This ManagedObjectReference `xml:"_this"` - DeviceUrlsToChecksumTypes []KeyValue `xml:"deviceUrlsToChecksumTypes,omitempty"` -} - -func init() { - t["HttpNfcLeaseSetManifestChecksumTypeRequestType"] = reflect.TypeOf((*HttpNfcLeaseSetManifestChecksumTypeRequestType)(nil)).Elem() -} - -type HttpNfcLeaseSetManifestChecksumTypeResponse struct { -} - -type HttpNfcLeaseSourceFile struct { - DynamicData - - TargetDeviceId string `xml:"targetDeviceId"` - Url string `xml:"url"` - MemberName string `xml:"memberName,omitempty"` - Create bool `xml:"create"` - SslThumbprint string `xml:"sslThumbprint,omitempty"` - HttpHeaders []KeyValue `xml:"httpHeaders,omitempty"` - Size int64 `xml:"size,omitempty"` -} - -func init() { - t["HttpNfcLeaseSourceFile"] = reflect.TypeOf((*HttpNfcLeaseSourceFile)(nil)).Elem() -} - -type ID struct { - DynamicData - - Id string `xml:"id"` -} - -func init() { - t["ID"] = reflect.TypeOf((*ID)(nil)).Elem() -} - -type IDEDiskNotSupported struct { - DiskNotSupported -} - -func init() { - t["IDEDiskNotSupported"] = reflect.TypeOf((*IDEDiskNotSupported)(nil)).Elem() -} - -type IDEDiskNotSupportedFault IDEDiskNotSupported - -func init() { - t["IDEDiskNotSupportedFault"] = reflect.TypeOf((*IDEDiskNotSupportedFault)(nil)).Elem() -} - -type IORMNotSupportedHostOnDatastore struct { - VimFault - - Datastore ManagedObjectReference `xml:"datastore"` - DatastoreName string `xml:"datastoreName"` - Host []ManagedObjectReference `xml:"host,omitempty"` -} - -func init() { - t["IORMNotSupportedHostOnDatastore"] = reflect.TypeOf((*IORMNotSupportedHostOnDatastore)(nil)).Elem() -} - -type IORMNotSupportedHostOnDatastoreFault IORMNotSupportedHostOnDatastore - -func init() { - t["IORMNotSupportedHostOnDatastoreFault"] = reflect.TypeOf((*IORMNotSupportedHostOnDatastoreFault)(nil)).Elem() -} - -type IScsiBootFailureEvent struct { - HostEvent -} - -func init() { - t["IScsiBootFailureEvent"] = reflect.TypeOf((*IScsiBootFailureEvent)(nil)).Elem() -} - -type ImpersonateUser ImpersonateUserRequestType - -func init() { - t["ImpersonateUser"] = reflect.TypeOf((*ImpersonateUser)(nil)).Elem() -} - -type ImpersonateUserRequestType struct { - This ManagedObjectReference `xml:"_this"` - UserName string `xml:"userName"` - Locale string `xml:"locale,omitempty"` -} - -func init() { - t["ImpersonateUserRequestType"] = reflect.TypeOf((*ImpersonateUserRequestType)(nil)).Elem() -} - -type ImpersonateUserResponse struct { - Returnval UserSession `xml:"returnval"` -} - -type ImportCertificateForCAMRequestType struct { - This ManagedObjectReference `xml:"_this"` - CertPath string `xml:"certPath"` - CamServer string `xml:"camServer"` -} - -func init() { - t["ImportCertificateForCAMRequestType"] = reflect.TypeOf((*ImportCertificateForCAMRequestType)(nil)).Elem() -} - -type ImportCertificateForCAM_Task ImportCertificateForCAMRequestType - -func init() { - t["ImportCertificateForCAM_Task"] = reflect.TypeOf((*ImportCertificateForCAM_Task)(nil)).Elem() -} - -type ImportCertificateForCAM_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ImportHostAddFailure struct { - DvsFault - - HostIp []string `xml:"hostIp"` -} - -func init() { - t["ImportHostAddFailure"] = reflect.TypeOf((*ImportHostAddFailure)(nil)).Elem() -} - -type ImportHostAddFailureFault ImportHostAddFailure - -func init() { - t["ImportHostAddFailureFault"] = reflect.TypeOf((*ImportHostAddFailureFault)(nil)).Elem() -} - -type ImportOperationBulkFault struct { - DvsFault - - ImportFaults []ImportOperationBulkFaultFaultOnImport `xml:"importFaults"` -} - -func init() { - t["ImportOperationBulkFault"] = reflect.TypeOf((*ImportOperationBulkFault)(nil)).Elem() -} - -type ImportOperationBulkFaultFault ImportOperationBulkFault - -func init() { - t["ImportOperationBulkFaultFault"] = reflect.TypeOf((*ImportOperationBulkFaultFault)(nil)).Elem() -} - -type ImportOperationBulkFaultFaultOnImport struct { - DynamicData - - EntityType string `xml:"entityType,omitempty"` - Key string `xml:"key,omitempty"` - Fault LocalizedMethodFault `xml:"fault"` -} - -func init() { - t["ImportOperationBulkFaultFaultOnImport"] = reflect.TypeOf((*ImportOperationBulkFaultFaultOnImport)(nil)).Elem() -} - -type ImportSpec struct { - DynamicData - - EntityConfig *VAppEntityConfigInfo `xml:"entityConfig,omitempty"` - InstantiationOst *OvfConsumerOstNode `xml:"instantiationOst,omitempty"` -} - -func init() { - t["ImportSpec"] = reflect.TypeOf((*ImportSpec)(nil)).Elem() -} - -type ImportUnmanagedSnapshot ImportUnmanagedSnapshotRequestType - -func init() { - t["ImportUnmanagedSnapshot"] = reflect.TypeOf((*ImportUnmanagedSnapshot)(nil)).Elem() -} - -type ImportUnmanagedSnapshotRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vdisk string `xml:"vdisk"` - Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"` - VvolId string `xml:"vvolId"` -} - -func init() { - t["ImportUnmanagedSnapshotRequestType"] = reflect.TypeOf((*ImportUnmanagedSnapshotRequestType)(nil)).Elem() -} - -type ImportUnmanagedSnapshotResponse struct { -} - -type ImportVApp ImportVAppRequestType - -func init() { - t["ImportVApp"] = reflect.TypeOf((*ImportVApp)(nil)).Elem() -} - -type ImportVAppRequestType struct { - This ManagedObjectReference `xml:"_this"` - Spec BaseImportSpec `xml:"spec,typeattr"` - Folder *ManagedObjectReference `xml:"folder,omitempty"` - Host *ManagedObjectReference `xml:"host,omitempty"` -} - -func init() { - t["ImportVAppRequestType"] = reflect.TypeOf((*ImportVAppRequestType)(nil)).Elem() -} - -type ImportVAppResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type InUseFeatureManipulationDisallowed struct { - NotEnoughLicenses -} - -func init() { - t["InUseFeatureManipulationDisallowed"] = reflect.TypeOf((*InUseFeatureManipulationDisallowed)(nil)).Elem() -} - -type InUseFeatureManipulationDisallowedFault InUseFeatureManipulationDisallowed - -func init() { - t["InUseFeatureManipulationDisallowedFault"] = reflect.TypeOf((*InUseFeatureManipulationDisallowedFault)(nil)).Elem() -} - -type InaccessibleDatastore struct { - InvalidDatastore - - Detail string `xml:"detail,omitempty"` -} - -func init() { - t["InaccessibleDatastore"] = reflect.TypeOf((*InaccessibleDatastore)(nil)).Elem() -} - -type InaccessibleDatastoreFault BaseInaccessibleDatastore - -func init() { - t["InaccessibleDatastoreFault"] = reflect.TypeOf((*InaccessibleDatastoreFault)(nil)).Elem() -} - -type InaccessibleFTMetadataDatastore struct { - InaccessibleDatastore -} - -func init() { - t["InaccessibleFTMetadataDatastore"] = reflect.TypeOf((*InaccessibleFTMetadataDatastore)(nil)).Elem() -} - -type InaccessibleFTMetadataDatastoreFault InaccessibleFTMetadataDatastore - -func init() { - t["InaccessibleFTMetadataDatastoreFault"] = reflect.TypeOf((*InaccessibleFTMetadataDatastoreFault)(nil)).Elem() -} - -type InaccessibleVFlashSource struct { - VimFault - - HostName string `xml:"hostName"` -} - -func init() { - t["InaccessibleVFlashSource"] = reflect.TypeOf((*InaccessibleVFlashSource)(nil)).Elem() -} - -type InaccessibleVFlashSourceFault InaccessibleVFlashSource - -func init() { - t["InaccessibleVFlashSourceFault"] = reflect.TypeOf((*InaccessibleVFlashSourceFault)(nil)).Elem() -} - -type IncompatibleDefaultDevice struct { - MigrationFault - - Device string `xml:"device"` -} - -func init() { - t["IncompatibleDefaultDevice"] = reflect.TypeOf((*IncompatibleDefaultDevice)(nil)).Elem() -} - -type IncompatibleDefaultDeviceFault IncompatibleDefaultDevice - -func init() { - t["IncompatibleDefaultDeviceFault"] = reflect.TypeOf((*IncompatibleDefaultDeviceFault)(nil)).Elem() -} - -type IncompatibleHostForFtSecondary struct { - VmFaultToleranceIssue - - Host ManagedObjectReference `xml:"host"` - Error []LocalizedMethodFault `xml:"error,omitempty"` -} - -func init() { - t["IncompatibleHostForFtSecondary"] = reflect.TypeOf((*IncompatibleHostForFtSecondary)(nil)).Elem() -} - -type IncompatibleHostForFtSecondaryFault IncompatibleHostForFtSecondary - -func init() { - t["IncompatibleHostForFtSecondaryFault"] = reflect.TypeOf((*IncompatibleHostForFtSecondaryFault)(nil)).Elem() -} - -type IncompatibleHostForVmReplication struct { - ReplicationFault - - VmName string `xml:"vmName"` - HostName string `xml:"hostName"` - Reason string `xml:"reason"` -} - -func init() { - t["IncompatibleHostForVmReplication"] = reflect.TypeOf((*IncompatibleHostForVmReplication)(nil)).Elem() -} - -type IncompatibleHostForVmReplicationFault IncompatibleHostForVmReplication - -func init() { - t["IncompatibleHostForVmReplicationFault"] = reflect.TypeOf((*IncompatibleHostForVmReplicationFault)(nil)).Elem() -} - -type IncompatibleSetting struct { - InvalidArgument - - ConflictingProperty string `xml:"conflictingProperty"` -} - -func init() { - t["IncompatibleSetting"] = reflect.TypeOf((*IncompatibleSetting)(nil)).Elem() -} - -type IncompatibleSettingFault IncompatibleSetting - -func init() { - t["IncompatibleSettingFault"] = reflect.TypeOf((*IncompatibleSettingFault)(nil)).Elem() -} - -type IncorrectFileType struct { - FileFault -} - -func init() { - t["IncorrectFileType"] = reflect.TypeOf((*IncorrectFileType)(nil)).Elem() -} - -type IncorrectFileTypeFault IncorrectFileType - -func init() { - t["IncorrectFileTypeFault"] = reflect.TypeOf((*IncorrectFileTypeFault)(nil)).Elem() -} - -type IncorrectHostInformation struct { - NotEnoughLicenses -} - -func init() { - t["IncorrectHostInformation"] = reflect.TypeOf((*IncorrectHostInformation)(nil)).Elem() -} - -type IncorrectHostInformationEvent struct { - LicenseEvent -} - -func init() { - t["IncorrectHostInformationEvent"] = reflect.TypeOf((*IncorrectHostInformationEvent)(nil)).Elem() -} - -type IncorrectHostInformationFault IncorrectHostInformation - -func init() { - t["IncorrectHostInformationFault"] = reflect.TypeOf((*IncorrectHostInformationFault)(nil)).Elem() -} - -type IndependentDiskVMotionNotSupported struct { - MigrationFeatureNotSupported -} - -func init() { - t["IndependentDiskVMotionNotSupported"] = reflect.TypeOf((*IndependentDiskVMotionNotSupported)(nil)).Elem() -} - -type IndependentDiskVMotionNotSupportedFault IndependentDiskVMotionNotSupported - -func init() { - t["IndependentDiskVMotionNotSupportedFault"] = reflect.TypeOf((*IndependentDiskVMotionNotSupportedFault)(nil)).Elem() -} - -type InflateDiskRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id ID `xml:"id"` - Datastore ManagedObjectReference `xml:"datastore"` -} - -func init() { - t["InflateDiskRequestType"] = reflect.TypeOf((*InflateDiskRequestType)(nil)).Elem() -} - -type InflateDisk_Task InflateDiskRequestType - -func init() { - t["InflateDisk_Task"] = reflect.TypeOf((*InflateDisk_Task)(nil)).Elem() -} - -type InflateDisk_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type InflateVirtualDiskRequestType struct { - This ManagedObjectReference `xml:"_this"` - Name string `xml:"name"` - Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"` -} - -func init() { - t["InflateVirtualDiskRequestType"] = reflect.TypeOf((*InflateVirtualDiskRequestType)(nil)).Elem() -} - -type InflateVirtualDisk_Task InflateVirtualDiskRequestType - -func init() { - t["InflateVirtualDisk_Task"] = reflect.TypeOf((*InflateVirtualDisk_Task)(nil)).Elem() -} - -type InflateVirtualDisk_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type InfoUpgradeEvent struct { - UpgradeEvent -} - -func init() { - t["InfoUpgradeEvent"] = reflect.TypeOf((*InfoUpgradeEvent)(nil)).Elem() -} - -type InheritablePolicy struct { - DynamicData - - Inherited bool `xml:"inherited"` -} - -func init() { - t["InheritablePolicy"] = reflect.TypeOf((*InheritablePolicy)(nil)).Elem() -} - -type InitializeDisksRequestType struct { - This ManagedObjectReference `xml:"_this"` - Mapping []VsanHostDiskMapping `xml:"mapping"` -} - -func init() { - t["InitializeDisksRequestType"] = reflect.TypeOf((*InitializeDisksRequestType)(nil)).Elem() -} - -type InitializeDisks_Task InitializeDisksRequestType - -func init() { - t["InitializeDisks_Task"] = reflect.TypeOf((*InitializeDisks_Task)(nil)).Elem() -} - -type InitializeDisks_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type InitiateFileTransferFromGuest InitiateFileTransferFromGuestRequestType - -func init() { - t["InitiateFileTransferFromGuest"] = reflect.TypeOf((*InitiateFileTransferFromGuest)(nil)).Elem() -} - -type InitiateFileTransferFromGuestRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm ManagedObjectReference `xml:"vm"` - Auth BaseGuestAuthentication `xml:"auth,typeattr"` - GuestFilePath string `xml:"guestFilePath"` -} - -func init() { - t["InitiateFileTransferFromGuestRequestType"] = reflect.TypeOf((*InitiateFileTransferFromGuestRequestType)(nil)).Elem() -} - -type InitiateFileTransferFromGuestResponse struct { - Returnval FileTransferInformation `xml:"returnval"` -} - -type InitiateFileTransferToGuest InitiateFileTransferToGuestRequestType - -func init() { - t["InitiateFileTransferToGuest"] = reflect.TypeOf((*InitiateFileTransferToGuest)(nil)).Elem() -} - -type InitiateFileTransferToGuestRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm ManagedObjectReference `xml:"vm"` - Auth BaseGuestAuthentication `xml:"auth,typeattr"` - GuestFilePath string `xml:"guestFilePath"` - FileAttributes BaseGuestFileAttributes `xml:"fileAttributes,typeattr"` - FileSize int64 `xml:"fileSize"` - Overwrite bool `xml:"overwrite"` -} - -func init() { - t["InitiateFileTransferToGuestRequestType"] = reflect.TypeOf((*InitiateFileTransferToGuestRequestType)(nil)).Elem() -} - -type InitiateFileTransferToGuestResponse struct { - Returnval string `xml:"returnval"` -} - -type InstallHostPatchRequestType struct { - This ManagedObjectReference `xml:"_this"` - Repository HostPatchManagerLocator `xml:"repository"` - UpdateID string `xml:"updateID"` - Force *bool `xml:"force"` -} - -func init() { - t["InstallHostPatchRequestType"] = reflect.TypeOf((*InstallHostPatchRequestType)(nil)).Elem() -} - -type InstallHostPatchV2RequestType struct { - This ManagedObjectReference `xml:"_this"` - MetaUrls []string `xml:"metaUrls,omitempty"` - BundleUrls []string `xml:"bundleUrls,omitempty"` - VibUrls []string `xml:"vibUrls,omitempty"` - Spec *HostPatchManagerPatchManagerOperationSpec `xml:"spec,omitempty"` -} - -func init() { - t["InstallHostPatchV2RequestType"] = reflect.TypeOf((*InstallHostPatchV2RequestType)(nil)).Elem() -} - -type InstallHostPatchV2_Task InstallHostPatchV2RequestType - -func init() { - t["InstallHostPatchV2_Task"] = reflect.TypeOf((*InstallHostPatchV2_Task)(nil)).Elem() -} - -type InstallHostPatchV2_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type InstallHostPatch_Task InstallHostPatchRequestType - -func init() { - t["InstallHostPatch_Task"] = reflect.TypeOf((*InstallHostPatch_Task)(nil)).Elem() -} - -type InstallHostPatch_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type InstallIoFilterRequestType struct { - This ManagedObjectReference `xml:"_this"` - VibUrl string `xml:"vibUrl"` - CompRes ManagedObjectReference `xml:"compRes"` -} - -func init() { - t["InstallIoFilterRequestType"] = reflect.TypeOf((*InstallIoFilterRequestType)(nil)).Elem() -} - -type InstallIoFilter_Task InstallIoFilterRequestType - -func init() { - t["InstallIoFilter_Task"] = reflect.TypeOf((*InstallIoFilter_Task)(nil)).Elem() -} - -type InstallIoFilter_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type InstallServerCertificate InstallServerCertificateRequestType - -func init() { - t["InstallServerCertificate"] = reflect.TypeOf((*InstallServerCertificate)(nil)).Elem() -} - -type InstallServerCertificateRequestType struct { - This ManagedObjectReference `xml:"_this"` - Cert string `xml:"cert"` -} - -func init() { - t["InstallServerCertificateRequestType"] = reflect.TypeOf((*InstallServerCertificateRequestType)(nil)).Elem() -} - -type InstallServerCertificateResponse struct { -} - -type InstallSmartCardTrustAnchor InstallSmartCardTrustAnchorRequestType - -func init() { - t["InstallSmartCardTrustAnchor"] = reflect.TypeOf((*InstallSmartCardTrustAnchor)(nil)).Elem() -} - -type InstallSmartCardTrustAnchorRequestType struct { - This ManagedObjectReference `xml:"_this"` - Cert string `xml:"cert"` -} - -func init() { - t["InstallSmartCardTrustAnchorRequestType"] = reflect.TypeOf((*InstallSmartCardTrustAnchorRequestType)(nil)).Elem() -} - -type InstallSmartCardTrustAnchorResponse struct { -} - -type InstantCloneRequestType struct { - This ManagedObjectReference `xml:"_this"` - Spec VirtualMachineInstantCloneSpec `xml:"spec"` -} - -func init() { - t["InstantCloneRequestType"] = reflect.TypeOf((*InstantCloneRequestType)(nil)).Elem() -} - -type InstantClone_Task InstantCloneRequestType - -func init() { - t["InstantClone_Task"] = reflect.TypeOf((*InstantClone_Task)(nil)).Elem() -} - -type InstantClone_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type InsufficientAgentVmsDeployed struct { - InsufficientResourcesFault - - HostName string `xml:"hostName"` - RequiredNumAgentVms int32 `xml:"requiredNumAgentVms"` - CurrentNumAgentVms int32 `xml:"currentNumAgentVms"` -} - -func init() { - t["InsufficientAgentVmsDeployed"] = reflect.TypeOf((*InsufficientAgentVmsDeployed)(nil)).Elem() -} - -type InsufficientAgentVmsDeployedFault InsufficientAgentVmsDeployed - -func init() { - t["InsufficientAgentVmsDeployedFault"] = reflect.TypeOf((*InsufficientAgentVmsDeployedFault)(nil)).Elem() -} - -type InsufficientCpuResourcesFault struct { - InsufficientResourcesFault - - Unreserved int64 `xml:"unreserved"` - Requested int64 `xml:"requested"` -} - -func init() { - t["InsufficientCpuResourcesFault"] = reflect.TypeOf((*InsufficientCpuResourcesFault)(nil)).Elem() -} - -type InsufficientCpuResourcesFaultFault InsufficientCpuResourcesFault - -func init() { - t["InsufficientCpuResourcesFaultFault"] = reflect.TypeOf((*InsufficientCpuResourcesFaultFault)(nil)).Elem() -} - -type InsufficientDisks struct { - VsanDiskFault -} - -func init() { - t["InsufficientDisks"] = reflect.TypeOf((*InsufficientDisks)(nil)).Elem() -} - -type InsufficientDisksFault InsufficientDisks - -func init() { - t["InsufficientDisksFault"] = reflect.TypeOf((*InsufficientDisksFault)(nil)).Elem() -} - -type InsufficientFailoverResourcesEvent struct { - ClusterEvent -} - -func init() { - t["InsufficientFailoverResourcesEvent"] = reflect.TypeOf((*InsufficientFailoverResourcesEvent)(nil)).Elem() -} - -type InsufficientFailoverResourcesFault struct { - InsufficientResourcesFault -} - -func init() { - t["InsufficientFailoverResourcesFault"] = reflect.TypeOf((*InsufficientFailoverResourcesFault)(nil)).Elem() -} - -type InsufficientFailoverResourcesFaultFault InsufficientFailoverResourcesFault - -func init() { - t["InsufficientFailoverResourcesFaultFault"] = reflect.TypeOf((*InsufficientFailoverResourcesFaultFault)(nil)).Elem() -} - -type InsufficientGraphicsResourcesFault struct { - InsufficientResourcesFault -} - -func init() { - t["InsufficientGraphicsResourcesFault"] = reflect.TypeOf((*InsufficientGraphicsResourcesFault)(nil)).Elem() -} - -type InsufficientGraphicsResourcesFaultFault InsufficientGraphicsResourcesFault - -func init() { - t["InsufficientGraphicsResourcesFaultFault"] = reflect.TypeOf((*InsufficientGraphicsResourcesFaultFault)(nil)).Elem() -} - -type InsufficientHostCapacityFault struct { - InsufficientResourcesFault - - Host *ManagedObjectReference `xml:"host,omitempty"` -} - -func init() { - t["InsufficientHostCapacityFault"] = reflect.TypeOf((*InsufficientHostCapacityFault)(nil)).Elem() -} - -type InsufficientHostCapacityFaultFault BaseInsufficientHostCapacityFault - -func init() { - t["InsufficientHostCapacityFaultFault"] = reflect.TypeOf((*InsufficientHostCapacityFaultFault)(nil)).Elem() -} - -type InsufficientHostCpuCapacityFault struct { - InsufficientHostCapacityFault - - Unreserved int64 `xml:"unreserved"` - Requested int64 `xml:"requested"` -} - -func init() { - t["InsufficientHostCpuCapacityFault"] = reflect.TypeOf((*InsufficientHostCpuCapacityFault)(nil)).Elem() -} - -type InsufficientHostCpuCapacityFaultFault InsufficientHostCpuCapacityFault - -func init() { - t["InsufficientHostCpuCapacityFaultFault"] = reflect.TypeOf((*InsufficientHostCpuCapacityFaultFault)(nil)).Elem() -} - -type InsufficientHostMemoryCapacityFault struct { - InsufficientHostCapacityFault - - Unreserved int64 `xml:"unreserved"` - Requested int64 `xml:"requested"` -} - -func init() { - t["InsufficientHostMemoryCapacityFault"] = reflect.TypeOf((*InsufficientHostMemoryCapacityFault)(nil)).Elem() -} - -type InsufficientHostMemoryCapacityFaultFault InsufficientHostMemoryCapacityFault - -func init() { - t["InsufficientHostMemoryCapacityFaultFault"] = reflect.TypeOf((*InsufficientHostMemoryCapacityFaultFault)(nil)).Elem() -} - -type InsufficientMemoryResourcesFault struct { - InsufficientResourcesFault - - Unreserved int64 `xml:"unreserved"` - Requested int64 `xml:"requested"` -} - -func init() { - t["InsufficientMemoryResourcesFault"] = reflect.TypeOf((*InsufficientMemoryResourcesFault)(nil)).Elem() -} - -type InsufficientMemoryResourcesFaultFault InsufficientMemoryResourcesFault - -func init() { - t["InsufficientMemoryResourcesFaultFault"] = reflect.TypeOf((*InsufficientMemoryResourcesFaultFault)(nil)).Elem() -} - -type InsufficientNetworkCapacity struct { - InsufficientResourcesFault -} - -func init() { - t["InsufficientNetworkCapacity"] = reflect.TypeOf((*InsufficientNetworkCapacity)(nil)).Elem() -} - -type InsufficientNetworkCapacityFault InsufficientNetworkCapacity - -func init() { - t["InsufficientNetworkCapacityFault"] = reflect.TypeOf((*InsufficientNetworkCapacityFault)(nil)).Elem() -} - -type InsufficientNetworkResourcePoolCapacity struct { - InsufficientResourcesFault - - DvsName string `xml:"dvsName"` - DvsUuid string `xml:"dvsUuid"` - ResourcePoolKey string `xml:"resourcePoolKey"` - Available int64 `xml:"available"` - Requested int64 `xml:"requested"` - Device []string `xml:"device"` -} - -func init() { - t["InsufficientNetworkResourcePoolCapacity"] = reflect.TypeOf((*InsufficientNetworkResourcePoolCapacity)(nil)).Elem() -} - -type InsufficientNetworkResourcePoolCapacityFault InsufficientNetworkResourcePoolCapacity - -func init() { - t["InsufficientNetworkResourcePoolCapacityFault"] = reflect.TypeOf((*InsufficientNetworkResourcePoolCapacityFault)(nil)).Elem() -} - -type InsufficientPerCpuCapacity struct { - InsufficientHostCapacityFault -} - -func init() { - t["InsufficientPerCpuCapacity"] = reflect.TypeOf((*InsufficientPerCpuCapacity)(nil)).Elem() -} - -type InsufficientPerCpuCapacityFault InsufficientPerCpuCapacity - -func init() { - t["InsufficientPerCpuCapacityFault"] = reflect.TypeOf((*InsufficientPerCpuCapacityFault)(nil)).Elem() -} - -type InsufficientResourcesFault struct { - VimFault -} - -func init() { - t["InsufficientResourcesFault"] = reflect.TypeOf((*InsufficientResourcesFault)(nil)).Elem() -} - -type InsufficientResourcesFaultFault BaseInsufficientResourcesFault - -func init() { - t["InsufficientResourcesFaultFault"] = reflect.TypeOf((*InsufficientResourcesFaultFault)(nil)).Elem() -} - -type InsufficientStandbyCpuResource struct { - InsufficientStandbyResource - - Available int64 `xml:"available"` - Requested int64 `xml:"requested"` -} - -func init() { - t["InsufficientStandbyCpuResource"] = reflect.TypeOf((*InsufficientStandbyCpuResource)(nil)).Elem() -} - -type InsufficientStandbyCpuResourceFault InsufficientStandbyCpuResource - -func init() { - t["InsufficientStandbyCpuResourceFault"] = reflect.TypeOf((*InsufficientStandbyCpuResourceFault)(nil)).Elem() -} - -type InsufficientStandbyMemoryResource struct { - InsufficientStandbyResource - - Available int64 `xml:"available"` - Requested int64 `xml:"requested"` -} - -func init() { - t["InsufficientStandbyMemoryResource"] = reflect.TypeOf((*InsufficientStandbyMemoryResource)(nil)).Elem() -} - -type InsufficientStandbyMemoryResourceFault InsufficientStandbyMemoryResource - -func init() { - t["InsufficientStandbyMemoryResourceFault"] = reflect.TypeOf((*InsufficientStandbyMemoryResourceFault)(nil)).Elem() -} - -type InsufficientStandbyResource struct { - InsufficientResourcesFault -} - -func init() { - t["InsufficientStandbyResource"] = reflect.TypeOf((*InsufficientStandbyResource)(nil)).Elem() -} - -type InsufficientStandbyResourceFault BaseInsufficientStandbyResource - -func init() { - t["InsufficientStandbyResourceFault"] = reflect.TypeOf((*InsufficientStandbyResourceFault)(nil)).Elem() -} - -type InsufficientStorageIops struct { - VimFault - - UnreservedIops int64 `xml:"unreservedIops"` - RequestedIops int64 `xml:"requestedIops"` - DatastoreName string `xml:"datastoreName"` -} - -func init() { - t["InsufficientStorageIops"] = reflect.TypeOf((*InsufficientStorageIops)(nil)).Elem() -} - -type InsufficientStorageIopsFault InsufficientStorageIops - -func init() { - t["InsufficientStorageIopsFault"] = reflect.TypeOf((*InsufficientStorageIopsFault)(nil)).Elem() -} - -type InsufficientStorageSpace struct { - InsufficientResourcesFault -} - -func init() { - t["InsufficientStorageSpace"] = reflect.TypeOf((*InsufficientStorageSpace)(nil)).Elem() -} - -type InsufficientStorageSpaceFault InsufficientStorageSpace - -func init() { - t["InsufficientStorageSpaceFault"] = reflect.TypeOf((*InsufficientStorageSpaceFault)(nil)).Elem() -} - -type InsufficientVFlashResourcesFault struct { - InsufficientResourcesFault - - FreeSpaceInMB int64 `xml:"freeSpaceInMB,omitempty"` - FreeSpace int64 `xml:"freeSpace"` - RequestedSpaceInMB int64 `xml:"requestedSpaceInMB,omitempty"` - RequestedSpace int64 `xml:"requestedSpace"` -} - -func init() { - t["InsufficientVFlashResourcesFault"] = reflect.TypeOf((*InsufficientVFlashResourcesFault)(nil)).Elem() -} - -type InsufficientVFlashResourcesFaultFault InsufficientVFlashResourcesFault - -func init() { - t["InsufficientVFlashResourcesFaultFault"] = reflect.TypeOf((*InsufficientVFlashResourcesFaultFault)(nil)).Elem() -} - -type IntExpression struct { - NegatableExpression - - Value int32 `xml:"value,omitempty"` -} - -func init() { - t["IntExpression"] = reflect.TypeOf((*IntExpression)(nil)).Elem() -} - -type IntOption struct { - OptionType - - Min int32 `xml:"min"` - Max int32 `xml:"max"` - DefaultValue int32 `xml:"defaultValue"` -} - -func init() { - t["IntOption"] = reflect.TypeOf((*IntOption)(nil)).Elem() -} - -type IntPolicy struct { - InheritablePolicy - - Value int32 `xml:"value,omitempty"` -} - -func init() { - t["IntPolicy"] = reflect.TypeOf((*IntPolicy)(nil)).Elem() -} - -type InvalidAffinitySettingFault struct { - VimFault -} - -func init() { - t["InvalidAffinitySettingFault"] = reflect.TypeOf((*InvalidAffinitySettingFault)(nil)).Elem() -} - -type InvalidAffinitySettingFaultFault InvalidAffinitySettingFault - -func init() { - t["InvalidAffinitySettingFaultFault"] = reflect.TypeOf((*InvalidAffinitySettingFaultFault)(nil)).Elem() -} - -type InvalidArgument struct { - RuntimeFault - - InvalidProperty string `xml:"invalidProperty,omitempty"` -} - -func init() { - t["InvalidArgument"] = reflect.TypeOf((*InvalidArgument)(nil)).Elem() -} - -type InvalidArgumentFault BaseInvalidArgument - -func init() { - t["InvalidArgumentFault"] = reflect.TypeOf((*InvalidArgumentFault)(nil)).Elem() -} - -type InvalidBmcRole struct { - VimFault -} - -func init() { - t["InvalidBmcRole"] = reflect.TypeOf((*InvalidBmcRole)(nil)).Elem() -} - -type InvalidBmcRoleFault InvalidBmcRole - -func init() { - t["InvalidBmcRoleFault"] = reflect.TypeOf((*InvalidBmcRoleFault)(nil)).Elem() -} - -type InvalidBundle struct { - PlatformConfigFault -} - -func init() { - t["InvalidBundle"] = reflect.TypeOf((*InvalidBundle)(nil)).Elem() -} - -type InvalidBundleFault InvalidBundle - -func init() { - t["InvalidBundleFault"] = reflect.TypeOf((*InvalidBundleFault)(nil)).Elem() -} - -type InvalidCAMCertificate struct { - InvalidCAMServer -} - -func init() { - t["InvalidCAMCertificate"] = reflect.TypeOf((*InvalidCAMCertificate)(nil)).Elem() -} - -type InvalidCAMCertificateFault InvalidCAMCertificate - -func init() { - t["InvalidCAMCertificateFault"] = reflect.TypeOf((*InvalidCAMCertificateFault)(nil)).Elem() -} - -type InvalidCAMServer struct { - ActiveDirectoryFault - - CamServer string `xml:"camServer"` -} - -func init() { - t["InvalidCAMServer"] = reflect.TypeOf((*InvalidCAMServer)(nil)).Elem() -} - -type InvalidCAMServerFault BaseInvalidCAMServer - -func init() { - t["InvalidCAMServerFault"] = reflect.TypeOf((*InvalidCAMServerFault)(nil)).Elem() -} - -type InvalidClientCertificate struct { - InvalidLogin -} - -func init() { - t["InvalidClientCertificate"] = reflect.TypeOf((*InvalidClientCertificate)(nil)).Elem() -} - -type InvalidClientCertificateFault InvalidClientCertificate - -func init() { - t["InvalidClientCertificateFault"] = reflect.TypeOf((*InvalidClientCertificateFault)(nil)).Elem() -} - -type InvalidCollectorVersion struct { - MethodFault -} - -func init() { - t["InvalidCollectorVersion"] = reflect.TypeOf((*InvalidCollectorVersion)(nil)).Elem() -} - -type InvalidCollectorVersionFault InvalidCollectorVersion - -func init() { - t["InvalidCollectorVersionFault"] = reflect.TypeOf((*InvalidCollectorVersionFault)(nil)).Elem() -} - -type InvalidController struct { - InvalidDeviceSpec - - ControllerKey int32 `xml:"controllerKey"` -} - -func init() { - t["InvalidController"] = reflect.TypeOf((*InvalidController)(nil)).Elem() -} - -type InvalidControllerFault InvalidController - -func init() { - t["InvalidControllerFault"] = reflect.TypeOf((*InvalidControllerFault)(nil)).Elem() -} - -type InvalidDasConfigArgument struct { - InvalidArgument - - Entry string `xml:"entry,omitempty"` - ClusterName string `xml:"clusterName,omitempty"` -} - -func init() { - t["InvalidDasConfigArgument"] = reflect.TypeOf((*InvalidDasConfigArgument)(nil)).Elem() -} - -type InvalidDasConfigArgumentFault InvalidDasConfigArgument - -func init() { - t["InvalidDasConfigArgumentFault"] = reflect.TypeOf((*InvalidDasConfigArgumentFault)(nil)).Elem() -} - -type InvalidDasRestartPriorityForFtVm struct { - InvalidArgument - - Vm ManagedObjectReference `xml:"vm"` - VmName string `xml:"vmName"` -} - -func init() { - t["InvalidDasRestartPriorityForFtVm"] = reflect.TypeOf((*InvalidDasRestartPriorityForFtVm)(nil)).Elem() -} - -type InvalidDasRestartPriorityForFtVmFault InvalidDasRestartPriorityForFtVm - -func init() { - t["InvalidDasRestartPriorityForFtVmFault"] = reflect.TypeOf((*InvalidDasRestartPriorityForFtVmFault)(nil)).Elem() -} - -type InvalidDatastore struct { - VimFault - - Datastore *ManagedObjectReference `xml:"datastore,omitempty"` - Name string `xml:"name,omitempty"` -} - -func init() { - t["InvalidDatastore"] = reflect.TypeOf((*InvalidDatastore)(nil)).Elem() -} - -type InvalidDatastoreFault BaseInvalidDatastore - -func init() { - t["InvalidDatastoreFault"] = reflect.TypeOf((*InvalidDatastoreFault)(nil)).Elem() -} - -type InvalidDatastorePath struct { - InvalidDatastore - - DatastorePath string `xml:"datastorePath"` -} - -func init() { - t["InvalidDatastorePath"] = reflect.TypeOf((*InvalidDatastorePath)(nil)).Elem() -} - -type InvalidDatastorePathFault InvalidDatastorePath - -func init() { - t["InvalidDatastorePathFault"] = reflect.TypeOf((*InvalidDatastorePathFault)(nil)).Elem() -} - -type InvalidDatastoreState struct { - InvalidState - - DatastoreName string `xml:"datastoreName,omitempty"` -} - -func init() { - t["InvalidDatastoreState"] = reflect.TypeOf((*InvalidDatastoreState)(nil)).Elem() -} - -type InvalidDatastoreStateFault InvalidDatastoreState - -func init() { - t["InvalidDatastoreStateFault"] = reflect.TypeOf((*InvalidDatastoreStateFault)(nil)).Elem() -} - -type InvalidDeviceBacking struct { - InvalidDeviceSpec -} - -func init() { - t["InvalidDeviceBacking"] = reflect.TypeOf((*InvalidDeviceBacking)(nil)).Elem() -} - -type InvalidDeviceBackingFault InvalidDeviceBacking - -func init() { - t["InvalidDeviceBackingFault"] = reflect.TypeOf((*InvalidDeviceBackingFault)(nil)).Elem() -} - -type InvalidDeviceOperation struct { - InvalidDeviceSpec - - BadOp VirtualDeviceConfigSpecOperation `xml:"badOp,omitempty"` - BadFileOp VirtualDeviceConfigSpecFileOperation `xml:"badFileOp,omitempty"` -} - -func init() { - t["InvalidDeviceOperation"] = reflect.TypeOf((*InvalidDeviceOperation)(nil)).Elem() -} - -type InvalidDeviceOperationFault InvalidDeviceOperation - -func init() { - t["InvalidDeviceOperationFault"] = reflect.TypeOf((*InvalidDeviceOperationFault)(nil)).Elem() -} - -type InvalidDeviceSpec struct { - InvalidVmConfig - - DeviceIndex int32 `xml:"deviceIndex"` -} - -func init() { - t["InvalidDeviceSpec"] = reflect.TypeOf((*InvalidDeviceSpec)(nil)).Elem() -} - -type InvalidDeviceSpecFault BaseInvalidDeviceSpec - -func init() { - t["InvalidDeviceSpecFault"] = reflect.TypeOf((*InvalidDeviceSpecFault)(nil)).Elem() -} - -type InvalidDiskFormat struct { - InvalidFormat -} - -func init() { - t["InvalidDiskFormat"] = reflect.TypeOf((*InvalidDiskFormat)(nil)).Elem() -} - -type InvalidDiskFormatFault InvalidDiskFormat - -func init() { - t["InvalidDiskFormatFault"] = reflect.TypeOf((*InvalidDiskFormatFault)(nil)).Elem() -} - -type InvalidDrsBehaviorForFtVm struct { - InvalidArgument - - Vm ManagedObjectReference `xml:"vm"` - VmName string `xml:"vmName"` -} - -func init() { - t["InvalidDrsBehaviorForFtVm"] = reflect.TypeOf((*InvalidDrsBehaviorForFtVm)(nil)).Elem() -} - -type InvalidDrsBehaviorForFtVmFault InvalidDrsBehaviorForFtVm - -func init() { - t["InvalidDrsBehaviorForFtVmFault"] = reflect.TypeOf((*InvalidDrsBehaviorForFtVmFault)(nil)).Elem() -} - -type InvalidEditionEvent struct { - LicenseEvent - - Feature string `xml:"feature"` -} - -func init() { - t["InvalidEditionEvent"] = reflect.TypeOf((*InvalidEditionEvent)(nil)).Elem() -} - -type InvalidEditionLicense struct { - NotEnoughLicenses - - Feature string `xml:"feature"` -} - -func init() { - t["InvalidEditionLicense"] = reflect.TypeOf((*InvalidEditionLicense)(nil)).Elem() -} - -type InvalidEditionLicenseFault InvalidEditionLicense - -func init() { - t["InvalidEditionLicenseFault"] = reflect.TypeOf((*InvalidEditionLicenseFault)(nil)).Elem() -} - -type InvalidEvent struct { - VimFault -} - -func init() { - t["InvalidEvent"] = reflect.TypeOf((*InvalidEvent)(nil)).Elem() -} - -type InvalidEventFault InvalidEvent - -func init() { - t["InvalidEventFault"] = reflect.TypeOf((*InvalidEventFault)(nil)).Elem() -} - -type InvalidFolder struct { - VimFault - - Target ManagedObjectReference `xml:"target"` -} - -func init() { - t["InvalidFolder"] = reflect.TypeOf((*InvalidFolder)(nil)).Elem() -} - -type InvalidFolderFault BaseInvalidFolder - -func init() { - t["InvalidFolderFault"] = reflect.TypeOf((*InvalidFolderFault)(nil)).Elem() -} - -type InvalidFormat struct { - VmConfigFault -} - -func init() { - t["InvalidFormat"] = reflect.TypeOf((*InvalidFormat)(nil)).Elem() -} - -type InvalidFormatFault BaseInvalidFormat - -func init() { - t["InvalidFormatFault"] = reflect.TypeOf((*InvalidFormatFault)(nil)).Elem() -} - -type InvalidGuestLogin struct { - GuestOperationsFault -} - -func init() { - t["InvalidGuestLogin"] = reflect.TypeOf((*InvalidGuestLogin)(nil)).Elem() -} - -type InvalidGuestLoginFault InvalidGuestLogin - -func init() { - t["InvalidGuestLoginFault"] = reflect.TypeOf((*InvalidGuestLoginFault)(nil)).Elem() -} - -type InvalidHostConnectionState struct { - InvalidHostState -} - -func init() { - t["InvalidHostConnectionState"] = reflect.TypeOf((*InvalidHostConnectionState)(nil)).Elem() -} - -type InvalidHostConnectionStateFault InvalidHostConnectionState - -func init() { - t["InvalidHostConnectionStateFault"] = reflect.TypeOf((*InvalidHostConnectionStateFault)(nil)).Elem() -} - -type InvalidHostName struct { - HostConfigFault -} - -func init() { - t["InvalidHostName"] = reflect.TypeOf((*InvalidHostName)(nil)).Elem() -} - -type InvalidHostNameFault InvalidHostName - -func init() { - t["InvalidHostNameFault"] = reflect.TypeOf((*InvalidHostNameFault)(nil)).Elem() -} - -type InvalidHostState struct { - InvalidState - - Host *ManagedObjectReference `xml:"host,omitempty"` -} - -func init() { - t["InvalidHostState"] = reflect.TypeOf((*InvalidHostState)(nil)).Elem() -} - -type InvalidHostStateFault BaseInvalidHostState - -func init() { - t["InvalidHostStateFault"] = reflect.TypeOf((*InvalidHostStateFault)(nil)).Elem() -} - -type InvalidIndexArgument struct { - InvalidArgument - - Key string `xml:"key"` -} - -func init() { - t["InvalidIndexArgument"] = reflect.TypeOf((*InvalidIndexArgument)(nil)).Elem() -} - -type InvalidIndexArgumentFault InvalidIndexArgument - -func init() { - t["InvalidIndexArgumentFault"] = reflect.TypeOf((*InvalidIndexArgumentFault)(nil)).Elem() -} - -type InvalidIpfixConfig struct { - DvsFault - - Property string `xml:"property,omitempty"` -} - -func init() { - t["InvalidIpfixConfig"] = reflect.TypeOf((*InvalidIpfixConfig)(nil)).Elem() -} - -type InvalidIpfixConfigFault InvalidIpfixConfig - -func init() { - t["InvalidIpfixConfigFault"] = reflect.TypeOf((*InvalidIpfixConfigFault)(nil)).Elem() -} - -type InvalidIpmiLoginInfo struct { - VimFault -} - -func init() { - t["InvalidIpmiLoginInfo"] = reflect.TypeOf((*InvalidIpmiLoginInfo)(nil)).Elem() -} - -type InvalidIpmiLoginInfoFault InvalidIpmiLoginInfo - -func init() { - t["InvalidIpmiLoginInfoFault"] = reflect.TypeOf((*InvalidIpmiLoginInfoFault)(nil)).Elem() -} - -type InvalidIpmiMacAddress struct { - VimFault - - UserProvidedMacAddress string `xml:"userProvidedMacAddress"` - ObservedMacAddress string `xml:"observedMacAddress"` -} - -func init() { - t["InvalidIpmiMacAddress"] = reflect.TypeOf((*InvalidIpmiMacAddress)(nil)).Elem() -} - -type InvalidIpmiMacAddressFault InvalidIpmiMacAddress - -func init() { - t["InvalidIpmiMacAddressFault"] = reflect.TypeOf((*InvalidIpmiMacAddressFault)(nil)).Elem() -} - -type InvalidLicense struct { - VimFault - - LicenseContent string `xml:"licenseContent"` -} - -func init() { - t["InvalidLicense"] = reflect.TypeOf((*InvalidLicense)(nil)).Elem() -} - -type InvalidLicenseFault InvalidLicense - -func init() { - t["InvalidLicenseFault"] = reflect.TypeOf((*InvalidLicenseFault)(nil)).Elem() -} - -type InvalidLocale struct { - VimFault -} - -func init() { - t["InvalidLocale"] = reflect.TypeOf((*InvalidLocale)(nil)).Elem() -} - -type InvalidLocaleFault InvalidLocale - -func init() { - t["InvalidLocaleFault"] = reflect.TypeOf((*InvalidLocaleFault)(nil)).Elem() -} - -type InvalidLogin struct { - VimFault -} - -func init() { - t["InvalidLogin"] = reflect.TypeOf((*InvalidLogin)(nil)).Elem() -} - -type InvalidLoginFault BaseInvalidLogin - -func init() { - t["InvalidLoginFault"] = reflect.TypeOf((*InvalidLoginFault)(nil)).Elem() -} - -type InvalidName struct { - VimFault - - Name string `xml:"name"` - Entity *ManagedObjectReference `xml:"entity,omitempty"` -} - -func init() { - t["InvalidName"] = reflect.TypeOf((*InvalidName)(nil)).Elem() -} - -type InvalidNameFault InvalidName - -func init() { - t["InvalidNameFault"] = reflect.TypeOf((*InvalidNameFault)(nil)).Elem() -} - -type InvalidNasCredentials struct { - NasConfigFault - - UserName string `xml:"userName"` -} - -func init() { - t["InvalidNasCredentials"] = reflect.TypeOf((*InvalidNasCredentials)(nil)).Elem() -} - -type InvalidNasCredentialsFault InvalidNasCredentials - -func init() { - t["InvalidNasCredentialsFault"] = reflect.TypeOf((*InvalidNasCredentialsFault)(nil)).Elem() -} - -type InvalidNetworkInType struct { - VAppPropertyFault -} - -func init() { - t["InvalidNetworkInType"] = reflect.TypeOf((*InvalidNetworkInType)(nil)).Elem() -} - -type InvalidNetworkInTypeFault InvalidNetworkInType - -func init() { - t["InvalidNetworkInTypeFault"] = reflect.TypeOf((*InvalidNetworkInTypeFault)(nil)).Elem() -} - -type InvalidNetworkResource struct { - NasConfigFault - - RemoteHost string `xml:"remoteHost"` - RemotePath string `xml:"remotePath"` -} - -func init() { - t["InvalidNetworkResource"] = reflect.TypeOf((*InvalidNetworkResource)(nil)).Elem() -} - -type InvalidNetworkResourceFault InvalidNetworkResource - -func init() { - t["InvalidNetworkResourceFault"] = reflect.TypeOf((*InvalidNetworkResourceFault)(nil)).Elem() -} - -type InvalidOperationOnSecondaryVm struct { - VmFaultToleranceIssue - - InstanceUuid string `xml:"instanceUuid"` -} - -func init() { - t["InvalidOperationOnSecondaryVm"] = reflect.TypeOf((*InvalidOperationOnSecondaryVm)(nil)).Elem() -} - -type InvalidOperationOnSecondaryVmFault InvalidOperationOnSecondaryVm - -func init() { - t["InvalidOperationOnSecondaryVmFault"] = reflect.TypeOf((*InvalidOperationOnSecondaryVmFault)(nil)).Elem() -} - -type InvalidPowerState struct { - InvalidState - - RequestedState VirtualMachinePowerState `xml:"requestedState,omitempty"` - ExistingState VirtualMachinePowerState `xml:"existingState"` -} - -func init() { - t["InvalidPowerState"] = reflect.TypeOf((*InvalidPowerState)(nil)).Elem() -} - -type InvalidPowerStateFault InvalidPowerState - -func init() { - t["InvalidPowerStateFault"] = reflect.TypeOf((*InvalidPowerStateFault)(nil)).Elem() -} - -type InvalidPrivilege struct { - VimFault - - Privilege string `xml:"privilege"` -} - -func init() { - t["InvalidPrivilege"] = reflect.TypeOf((*InvalidPrivilege)(nil)).Elem() -} - -type InvalidPrivilegeFault InvalidPrivilege - -func init() { - t["InvalidPrivilegeFault"] = reflect.TypeOf((*InvalidPrivilegeFault)(nil)).Elem() -} - -type InvalidProfileReferenceHost struct { - RuntimeFault - - Reason string `xml:"reason,omitempty"` - Host *ManagedObjectReference `xml:"host,omitempty"` - Profile *ManagedObjectReference `xml:"profile,omitempty"` - ProfileName string `xml:"profileName,omitempty"` -} - -func init() { - t["InvalidProfileReferenceHost"] = reflect.TypeOf((*InvalidProfileReferenceHost)(nil)).Elem() -} - -type InvalidProfileReferenceHostFault InvalidProfileReferenceHost - -func init() { - t["InvalidProfileReferenceHostFault"] = reflect.TypeOf((*InvalidProfileReferenceHostFault)(nil)).Elem() -} - -type InvalidProperty struct { - MethodFault - - Name string `xml:"name"` -} - -func init() { - t["InvalidProperty"] = reflect.TypeOf((*InvalidProperty)(nil)).Elem() -} - -type InvalidPropertyFault InvalidProperty - -func init() { - t["InvalidPropertyFault"] = reflect.TypeOf((*InvalidPropertyFault)(nil)).Elem() -} - -type InvalidPropertyType struct { - VAppPropertyFault -} - -func init() { - t["InvalidPropertyType"] = reflect.TypeOf((*InvalidPropertyType)(nil)).Elem() -} - -type InvalidPropertyTypeFault InvalidPropertyType - -func init() { - t["InvalidPropertyTypeFault"] = reflect.TypeOf((*InvalidPropertyTypeFault)(nil)).Elem() -} - -type InvalidPropertyValue struct { - VAppPropertyFault -} - -func init() { - t["InvalidPropertyValue"] = reflect.TypeOf((*InvalidPropertyValue)(nil)).Elem() -} - -type InvalidPropertyValueFault BaseInvalidPropertyValue - -func init() { - t["InvalidPropertyValueFault"] = reflect.TypeOf((*InvalidPropertyValueFault)(nil)).Elem() -} - -type InvalidRequest struct { - RuntimeFault -} - -func init() { - t["InvalidRequest"] = reflect.TypeOf((*InvalidRequest)(nil)).Elem() -} - -type InvalidRequestFault BaseInvalidRequest - -func init() { - t["InvalidRequestFault"] = reflect.TypeOf((*InvalidRequestFault)(nil)).Elem() -} - -type InvalidResourcePoolStructureFault struct { - InsufficientResourcesFault -} - -func init() { - t["InvalidResourcePoolStructureFault"] = reflect.TypeOf((*InvalidResourcePoolStructureFault)(nil)).Elem() -} - -type InvalidResourcePoolStructureFaultFault InvalidResourcePoolStructureFault - -func init() { - t["InvalidResourcePoolStructureFaultFault"] = reflect.TypeOf((*InvalidResourcePoolStructureFaultFault)(nil)).Elem() -} - -type InvalidSnapshotFormat struct { - InvalidFormat -} - -func init() { - t["InvalidSnapshotFormat"] = reflect.TypeOf((*InvalidSnapshotFormat)(nil)).Elem() -} - -type InvalidSnapshotFormatFault InvalidSnapshotFormat - -func init() { - t["InvalidSnapshotFormatFault"] = reflect.TypeOf((*InvalidSnapshotFormatFault)(nil)).Elem() -} - -type InvalidState struct { - VimFault -} - -func init() { - t["InvalidState"] = reflect.TypeOf((*InvalidState)(nil)).Elem() -} - -type InvalidStateFault BaseInvalidState - -func init() { - t["InvalidStateFault"] = reflect.TypeOf((*InvalidStateFault)(nil)).Elem() -} - -type InvalidType struct { - InvalidRequest - - Argument string `xml:"argument,omitempty"` -} - -func init() { - t["InvalidType"] = reflect.TypeOf((*InvalidType)(nil)).Elem() -} - -type InvalidTypeFault InvalidType - -func init() { - t["InvalidTypeFault"] = reflect.TypeOf((*InvalidTypeFault)(nil)).Elem() -} - -type InvalidVmConfig struct { - VmConfigFault - - Property string `xml:"property,omitempty"` -} - -func init() { - t["InvalidVmConfig"] = reflect.TypeOf((*InvalidVmConfig)(nil)).Elem() -} - -type InvalidVmConfigFault BaseInvalidVmConfig - -func init() { - t["InvalidVmConfigFault"] = reflect.TypeOf((*InvalidVmConfigFault)(nil)).Elem() -} - -type InvalidVmState struct { - InvalidState - - Vm ManagedObjectReference `xml:"vm"` -} - -func init() { - t["InvalidVmState"] = reflect.TypeOf((*InvalidVmState)(nil)).Elem() -} - -type InvalidVmStateFault InvalidVmState - -func init() { - t["InvalidVmStateFault"] = reflect.TypeOf((*InvalidVmStateFault)(nil)).Elem() -} - -type InventoryDescription struct { - DynamicData - - NumHosts int32 `xml:"numHosts"` - NumVirtualMachines int32 `xml:"numVirtualMachines"` - NumResourcePools int32 `xml:"numResourcePools,omitempty"` - NumClusters int32 `xml:"numClusters,omitempty"` - NumCpuDev int32 `xml:"numCpuDev,omitempty"` - NumNetDev int32 `xml:"numNetDev,omitempty"` - NumDiskDev int32 `xml:"numDiskDev,omitempty"` - NumvCpuDev int32 `xml:"numvCpuDev,omitempty"` - NumvNetDev int32 `xml:"numvNetDev,omitempty"` - NumvDiskDev int32 `xml:"numvDiskDev,omitempty"` -} - -func init() { - t["InventoryDescription"] = reflect.TypeOf((*InventoryDescription)(nil)).Elem() -} - -type InventoryHasStandardAloneHosts struct { - NotEnoughLicenses - - Hosts []string `xml:"hosts"` -} - -func init() { - t["InventoryHasStandardAloneHosts"] = reflect.TypeOf((*InventoryHasStandardAloneHosts)(nil)).Elem() -} - -type InventoryHasStandardAloneHostsFault InventoryHasStandardAloneHosts - -func init() { - t["InventoryHasStandardAloneHostsFault"] = reflect.TypeOf((*InventoryHasStandardAloneHostsFault)(nil)).Elem() -} - -type IoFilterHostIssue struct { - DynamicData - - Host ManagedObjectReference `xml:"host"` - Issue []LocalizedMethodFault `xml:"issue"` -} - -func init() { - t["IoFilterHostIssue"] = reflect.TypeOf((*IoFilterHostIssue)(nil)).Elem() -} - -type IoFilterInfo struct { - DynamicData - - Id string `xml:"id"` - Name string `xml:"name"` - Vendor string `xml:"vendor"` - Version string `xml:"version"` - Type string `xml:"type,omitempty"` - Summary string `xml:"summary,omitempty"` - ReleaseDate string `xml:"releaseDate,omitempty"` -} - -func init() { - t["IoFilterInfo"] = reflect.TypeOf((*IoFilterInfo)(nil)).Elem() -} - -type IoFilterQueryIssueResult struct { - DynamicData - - OpType string `xml:"opType"` - HostIssue []IoFilterHostIssue `xml:"hostIssue,omitempty"` -} - -func init() { - t["IoFilterQueryIssueResult"] = reflect.TypeOf((*IoFilterQueryIssueResult)(nil)).Elem() -} - -type IpAddress struct { - NegatableExpression -} - -func init() { - t["IpAddress"] = reflect.TypeOf((*IpAddress)(nil)).Elem() -} - -type IpAddressProfile struct { - ApplyProfile -} - -func init() { - t["IpAddressProfile"] = reflect.TypeOf((*IpAddressProfile)(nil)).Elem() -} - -type IpHostnameGeneratorError struct { - CustomizationFault -} - -func init() { - t["IpHostnameGeneratorError"] = reflect.TypeOf((*IpHostnameGeneratorError)(nil)).Elem() -} - -type IpHostnameGeneratorErrorFault IpHostnameGeneratorError - -func init() { - t["IpHostnameGeneratorErrorFault"] = reflect.TypeOf((*IpHostnameGeneratorErrorFault)(nil)).Elem() -} - -type IpPool struct { - DynamicData - - Id int32 `xml:"id,omitempty"` - Name string `xml:"name,omitempty"` - Ipv4Config *IpPoolIpPoolConfigInfo `xml:"ipv4Config,omitempty"` - Ipv6Config *IpPoolIpPoolConfigInfo `xml:"ipv6Config,omitempty"` - DnsDomain string `xml:"dnsDomain,omitempty"` - DnsSearchPath string `xml:"dnsSearchPath,omitempty"` - HostPrefix string `xml:"hostPrefix,omitempty"` - HttpProxy string `xml:"httpProxy,omitempty"` - NetworkAssociation []IpPoolAssociation `xml:"networkAssociation,omitempty"` - AvailableIpv4Addresses int32 `xml:"availableIpv4Addresses,omitempty"` - AvailableIpv6Addresses int32 `xml:"availableIpv6Addresses,omitempty"` - AllocatedIpv4Addresses int32 `xml:"allocatedIpv4Addresses,omitempty"` - AllocatedIpv6Addresses int32 `xml:"allocatedIpv6Addresses,omitempty"` -} - -func init() { - t["IpPool"] = reflect.TypeOf((*IpPool)(nil)).Elem() -} - -type IpPoolAssociation struct { - DynamicData - - Network *ManagedObjectReference `xml:"network,omitempty"` - NetworkName string `xml:"networkName"` -} - -func init() { - t["IpPoolAssociation"] = reflect.TypeOf((*IpPoolAssociation)(nil)).Elem() -} - -type IpPoolIpPoolConfigInfo struct { - DynamicData - - SubnetAddress string `xml:"subnetAddress,omitempty"` - Netmask string `xml:"netmask,omitempty"` - Gateway string `xml:"gateway,omitempty"` - Range string `xml:"range,omitempty"` - Dns []string `xml:"dns,omitempty"` - DhcpServerAvailable *bool `xml:"dhcpServerAvailable"` - IpPoolEnabled *bool `xml:"ipPoolEnabled"` -} - -func init() { - t["IpPoolIpPoolConfigInfo"] = reflect.TypeOf((*IpPoolIpPoolConfigInfo)(nil)).Elem() -} - -type IpPoolManagerIpAllocation struct { - DynamicData - - IpAddress string `xml:"ipAddress"` - AllocationId string `xml:"allocationId"` -} - -func init() { - t["IpPoolManagerIpAllocation"] = reflect.TypeOf((*IpPoolManagerIpAllocation)(nil)).Elem() -} - -type IpRange struct { - IpAddress - - AddressPrefix string `xml:"addressPrefix"` - PrefixLength int32 `xml:"prefixLength,omitempty"` -} - -func init() { - t["IpRange"] = reflect.TypeOf((*IpRange)(nil)).Elem() -} - -type IpRouteProfile struct { - ApplyProfile - - StaticRoute []StaticRouteProfile `xml:"staticRoute,omitempty"` -} - -func init() { - t["IpRouteProfile"] = reflect.TypeOf((*IpRouteProfile)(nil)).Elem() -} - -type IsKmsClusterActive IsKmsClusterActiveRequestType - -func init() { - t["IsKmsClusterActive"] = reflect.TypeOf((*IsKmsClusterActive)(nil)).Elem() -} - -type IsKmsClusterActiveRequestType struct { - This ManagedObjectReference `xml:"_this"` - Cluster *KeyProviderId `xml:"cluster,omitempty"` -} - -func init() { - t["IsKmsClusterActiveRequestType"] = reflect.TypeOf((*IsKmsClusterActiveRequestType)(nil)).Elem() -} - -type IsKmsClusterActiveResponse struct { - Returnval bool `xml:"returnval"` -} - -type IsSharedGraphicsActive IsSharedGraphicsActiveRequestType - -func init() { - t["IsSharedGraphicsActive"] = reflect.TypeOf((*IsSharedGraphicsActive)(nil)).Elem() -} - -type IsSharedGraphicsActiveRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["IsSharedGraphicsActiveRequestType"] = reflect.TypeOf((*IsSharedGraphicsActiveRequestType)(nil)).Elem() -} - -type IsSharedGraphicsActiveResponse struct { - Returnval bool `xml:"returnval"` -} - -type IscsiDependencyEntity struct { - DynamicData - - PnicDevice string `xml:"pnicDevice"` - VnicDevice string `xml:"vnicDevice"` - VmhbaName string `xml:"vmhbaName"` -} - -func init() { - t["IscsiDependencyEntity"] = reflect.TypeOf((*IscsiDependencyEntity)(nil)).Elem() -} - -type IscsiFault struct { - VimFault -} - -func init() { - t["IscsiFault"] = reflect.TypeOf((*IscsiFault)(nil)).Elem() -} - -type IscsiFaultFault BaseIscsiFault - -func init() { - t["IscsiFaultFault"] = reflect.TypeOf((*IscsiFaultFault)(nil)).Elem() -} - -type IscsiFaultInvalidVnic struct { - IscsiFault - - VnicDevice string `xml:"vnicDevice"` -} - -func init() { - t["IscsiFaultInvalidVnic"] = reflect.TypeOf((*IscsiFaultInvalidVnic)(nil)).Elem() -} - -type IscsiFaultInvalidVnicFault IscsiFaultInvalidVnic - -func init() { - t["IscsiFaultInvalidVnicFault"] = reflect.TypeOf((*IscsiFaultInvalidVnicFault)(nil)).Elem() -} - -type IscsiFaultPnicInUse struct { - IscsiFault - - PnicDevice string `xml:"pnicDevice"` -} - -func init() { - t["IscsiFaultPnicInUse"] = reflect.TypeOf((*IscsiFaultPnicInUse)(nil)).Elem() -} - -type IscsiFaultPnicInUseFault IscsiFaultPnicInUse - -func init() { - t["IscsiFaultPnicInUseFault"] = reflect.TypeOf((*IscsiFaultPnicInUseFault)(nil)).Elem() -} - -type IscsiFaultVnicAlreadyBound struct { - IscsiFault - - VnicDevice string `xml:"vnicDevice"` -} - -func init() { - t["IscsiFaultVnicAlreadyBound"] = reflect.TypeOf((*IscsiFaultVnicAlreadyBound)(nil)).Elem() -} - -type IscsiFaultVnicAlreadyBoundFault IscsiFaultVnicAlreadyBound - -func init() { - t["IscsiFaultVnicAlreadyBoundFault"] = reflect.TypeOf((*IscsiFaultVnicAlreadyBoundFault)(nil)).Elem() -} - -type IscsiFaultVnicHasActivePaths struct { - IscsiFault - - VnicDevice string `xml:"vnicDevice"` -} - -func init() { - t["IscsiFaultVnicHasActivePaths"] = reflect.TypeOf((*IscsiFaultVnicHasActivePaths)(nil)).Elem() -} - -type IscsiFaultVnicHasActivePathsFault IscsiFaultVnicHasActivePaths - -func init() { - t["IscsiFaultVnicHasActivePathsFault"] = reflect.TypeOf((*IscsiFaultVnicHasActivePathsFault)(nil)).Elem() -} - -type IscsiFaultVnicHasMultipleUplinks struct { - IscsiFault - - VnicDevice string `xml:"vnicDevice"` -} - -func init() { - t["IscsiFaultVnicHasMultipleUplinks"] = reflect.TypeOf((*IscsiFaultVnicHasMultipleUplinks)(nil)).Elem() -} - -type IscsiFaultVnicHasMultipleUplinksFault IscsiFaultVnicHasMultipleUplinks - -func init() { - t["IscsiFaultVnicHasMultipleUplinksFault"] = reflect.TypeOf((*IscsiFaultVnicHasMultipleUplinksFault)(nil)).Elem() -} - -type IscsiFaultVnicHasNoUplinks struct { - IscsiFault - - VnicDevice string `xml:"vnicDevice"` -} - -func init() { - t["IscsiFaultVnicHasNoUplinks"] = reflect.TypeOf((*IscsiFaultVnicHasNoUplinks)(nil)).Elem() -} - -type IscsiFaultVnicHasNoUplinksFault IscsiFaultVnicHasNoUplinks - -func init() { - t["IscsiFaultVnicHasNoUplinksFault"] = reflect.TypeOf((*IscsiFaultVnicHasNoUplinksFault)(nil)).Elem() -} - -type IscsiFaultVnicHasWrongUplink struct { - IscsiFault - - VnicDevice string `xml:"vnicDevice"` -} - -func init() { - t["IscsiFaultVnicHasWrongUplink"] = reflect.TypeOf((*IscsiFaultVnicHasWrongUplink)(nil)).Elem() -} - -type IscsiFaultVnicHasWrongUplinkFault IscsiFaultVnicHasWrongUplink - -func init() { - t["IscsiFaultVnicHasWrongUplinkFault"] = reflect.TypeOf((*IscsiFaultVnicHasWrongUplinkFault)(nil)).Elem() -} - -type IscsiFaultVnicInUse struct { - IscsiFault - - VnicDevice string `xml:"vnicDevice"` -} - -func init() { - t["IscsiFaultVnicInUse"] = reflect.TypeOf((*IscsiFaultVnicInUse)(nil)).Elem() -} - -type IscsiFaultVnicInUseFault IscsiFaultVnicInUse - -func init() { - t["IscsiFaultVnicInUseFault"] = reflect.TypeOf((*IscsiFaultVnicInUseFault)(nil)).Elem() -} - -type IscsiFaultVnicIsLastPath struct { - IscsiFault - - VnicDevice string `xml:"vnicDevice"` -} - -func init() { - t["IscsiFaultVnicIsLastPath"] = reflect.TypeOf((*IscsiFaultVnicIsLastPath)(nil)).Elem() -} - -type IscsiFaultVnicIsLastPathFault IscsiFaultVnicIsLastPath - -func init() { - t["IscsiFaultVnicIsLastPathFault"] = reflect.TypeOf((*IscsiFaultVnicIsLastPathFault)(nil)).Elem() -} - -type IscsiFaultVnicNotBound struct { - IscsiFault - - VnicDevice string `xml:"vnicDevice"` -} - -func init() { - t["IscsiFaultVnicNotBound"] = reflect.TypeOf((*IscsiFaultVnicNotBound)(nil)).Elem() -} - -type IscsiFaultVnicNotBoundFault IscsiFaultVnicNotBound - -func init() { - t["IscsiFaultVnicNotBoundFault"] = reflect.TypeOf((*IscsiFaultVnicNotBoundFault)(nil)).Elem() -} - -type IscsiFaultVnicNotFound struct { - IscsiFault - - VnicDevice string `xml:"vnicDevice"` -} - -func init() { - t["IscsiFaultVnicNotFound"] = reflect.TypeOf((*IscsiFaultVnicNotFound)(nil)).Elem() -} - -type IscsiFaultVnicNotFoundFault IscsiFaultVnicNotFound - -func init() { - t["IscsiFaultVnicNotFoundFault"] = reflect.TypeOf((*IscsiFaultVnicNotFoundFault)(nil)).Elem() -} - -type IscsiMigrationDependency struct { - DynamicData - - MigrationAllowed bool `xml:"migrationAllowed"` - DisallowReason *IscsiStatus `xml:"disallowReason,omitempty"` - Dependency []IscsiDependencyEntity `xml:"dependency,omitempty"` -} - -func init() { - t["IscsiMigrationDependency"] = reflect.TypeOf((*IscsiMigrationDependency)(nil)).Elem() -} - -type IscsiPortInfo struct { - DynamicData - - VnicDevice string `xml:"vnicDevice,omitempty"` - Vnic *HostVirtualNic `xml:"vnic,omitempty"` - PnicDevice string `xml:"pnicDevice,omitempty"` - Pnic *PhysicalNic `xml:"pnic,omitempty"` - SwitchName string `xml:"switchName,omitempty"` - SwitchUuid string `xml:"switchUuid,omitempty"` - PortgroupName string `xml:"portgroupName,omitempty"` - PortgroupKey string `xml:"portgroupKey,omitempty"` - PortKey string `xml:"portKey,omitempty"` - OpaqueNetworkId string `xml:"opaqueNetworkId,omitempty"` - OpaqueNetworkType string `xml:"opaqueNetworkType,omitempty"` - OpaqueNetworkName string `xml:"opaqueNetworkName,omitempty"` - ExternalId string `xml:"externalId,omitempty"` - ComplianceStatus *IscsiStatus `xml:"complianceStatus,omitempty"` - PathStatus string `xml:"pathStatus,omitempty"` -} - -func init() { - t["IscsiPortInfo"] = reflect.TypeOf((*IscsiPortInfo)(nil)).Elem() -} - -type IscsiStatus struct { - DynamicData - - Reason []LocalizedMethodFault `xml:"reason,omitempty"` -} - -func init() { - t["IscsiStatus"] = reflect.TypeOf((*IscsiStatus)(nil)).Elem() -} - -type IsoImageFileInfo struct { - FileInfo -} - -func init() { - t["IsoImageFileInfo"] = reflect.TypeOf((*IsoImageFileInfo)(nil)).Elem() -} - -type IsoImageFileQuery struct { - FileQuery -} - -func init() { - t["IsoImageFileQuery"] = reflect.TypeOf((*IsoImageFileQuery)(nil)).Elem() -} - -type JoinDomainRequestType struct { - This ManagedObjectReference `xml:"_this"` - DomainName string `xml:"domainName"` - UserName string `xml:"userName"` - Password string `xml:"password"` -} - -func init() { - t["JoinDomainRequestType"] = reflect.TypeOf((*JoinDomainRequestType)(nil)).Elem() -} - -type JoinDomainWithCAMRequestType struct { - This ManagedObjectReference `xml:"_this"` - DomainName string `xml:"domainName"` - CamServer string `xml:"camServer"` -} - -func init() { - t["JoinDomainWithCAMRequestType"] = reflect.TypeOf((*JoinDomainWithCAMRequestType)(nil)).Elem() -} - -type JoinDomainWithCAM_Task JoinDomainWithCAMRequestType - -func init() { - t["JoinDomainWithCAM_Task"] = reflect.TypeOf((*JoinDomainWithCAM_Task)(nil)).Elem() -} - -type JoinDomainWithCAM_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type JoinDomain_Task JoinDomainRequestType - -func init() { - t["JoinDomain_Task"] = reflect.TypeOf((*JoinDomain_Task)(nil)).Elem() -} - -type JoinDomain_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type KernelModuleInfo struct { - DynamicData - - Id int32 `xml:"id"` - Name string `xml:"name"` - Version string `xml:"version"` - Filename string `xml:"filename"` - OptionString string `xml:"optionString"` - Loaded bool `xml:"loaded"` - Enabled bool `xml:"enabled"` - UseCount int32 `xml:"useCount"` - ReadOnlySection KernelModuleSectionInfo `xml:"readOnlySection"` - WritableSection KernelModuleSectionInfo `xml:"writableSection"` - TextSection KernelModuleSectionInfo `xml:"textSection"` - DataSection KernelModuleSectionInfo `xml:"dataSection"` - BssSection KernelModuleSectionInfo `xml:"bssSection"` -} - -func init() { - t["KernelModuleInfo"] = reflect.TypeOf((*KernelModuleInfo)(nil)).Elem() -} - -type KernelModuleSectionInfo struct { - DynamicData - - Address int64 `xml:"address"` - Length int32 `xml:"length,omitempty"` -} - -func init() { - t["KernelModuleSectionInfo"] = reflect.TypeOf((*KernelModuleSectionInfo)(nil)).Elem() -} - -type KeyAnyValue struct { - DynamicData - - Key string `xml:"key"` - Value AnyType `xml:"value,typeattr"` -} - -func init() { - t["KeyAnyValue"] = reflect.TypeOf((*KeyAnyValue)(nil)).Elem() -} - -type KeyNotFound struct { - VimFault - - Key string `xml:"key"` -} - -func init() { - t["KeyNotFound"] = reflect.TypeOf((*KeyNotFound)(nil)).Elem() -} - -type KeyNotFoundFault KeyNotFound - -func init() { - t["KeyNotFoundFault"] = reflect.TypeOf((*KeyNotFoundFault)(nil)).Elem() -} - -type KeyProviderId struct { - DynamicData - - Id string `xml:"id"` -} - -func init() { - t["KeyProviderId"] = reflect.TypeOf((*KeyProviderId)(nil)).Elem() -} - -type KeyValue struct { - DynamicData - - Key string `xml:"key"` - Value string `xml:"value"` -} - -func init() { - t["KeyValue"] = reflect.TypeOf((*KeyValue)(nil)).Elem() -} - -type KmipClusterInfo struct { - DynamicData - - ClusterId KeyProviderId `xml:"clusterId"` - Servers []KmipServerInfo `xml:"servers,omitempty"` - UseAsDefault bool `xml:"useAsDefault"` - ManagementType string `xml:"managementType,omitempty"` - UseAsEntityDefault []ManagedObjectReference `xml:"useAsEntityDefault,omitempty"` - HasBackup *bool `xml:"hasBackup"` - TpmRequired *bool `xml:"tpmRequired"` - KeyId string `xml:"keyId,omitempty"` -} - -func init() { - t["KmipClusterInfo"] = reflect.TypeOf((*KmipClusterInfo)(nil)).Elem() -} - -type KmipServerInfo struct { - DynamicData - - Name string `xml:"name"` - Address string `xml:"address"` - Port int32 `xml:"port"` - ProxyAddress string `xml:"proxyAddress,omitempty"` - ProxyPort int32 `xml:"proxyPort,omitempty"` - Reconnect int32 `xml:"reconnect,omitempty"` - Protocol string `xml:"protocol,omitempty"` - Nbio int32 `xml:"nbio,omitempty"` - Timeout int32 `xml:"timeout,omitempty"` - UserName string `xml:"userName,omitempty"` -} - -func init() { - t["KmipServerInfo"] = reflect.TypeOf((*KmipServerInfo)(nil)).Elem() -} - -type KmipServerSpec struct { - DynamicData - - ClusterId KeyProviderId `xml:"clusterId"` - Info KmipServerInfo `xml:"info"` - Password string `xml:"password,omitempty"` -} - -func init() { - t["KmipServerSpec"] = reflect.TypeOf((*KmipServerSpec)(nil)).Elem() -} - -type KmipServerStatus struct { - DynamicData - - ClusterId KeyProviderId `xml:"clusterId"` - Name string `xml:"name"` - Status ManagedEntityStatus `xml:"status"` - Description string `xml:"description"` -} - -func init() { - t["KmipServerStatus"] = reflect.TypeOf((*KmipServerStatus)(nil)).Elem() -} - -type LargeRDMConversionNotSupported struct { - MigrationFault - - Device string `xml:"device"` -} - -func init() { - t["LargeRDMConversionNotSupported"] = reflect.TypeOf((*LargeRDMConversionNotSupported)(nil)).Elem() -} - -type LargeRDMConversionNotSupportedFault LargeRDMConversionNotSupported - -func init() { - t["LargeRDMConversionNotSupportedFault"] = reflect.TypeOf((*LargeRDMConversionNotSupportedFault)(nil)).Elem() -} - -type LargeRDMNotSupportedOnDatastore struct { - VmConfigFault - - Device string `xml:"device"` - Datastore ManagedObjectReference `xml:"datastore"` - DatastoreName string `xml:"datastoreName"` -} - -func init() { - t["LargeRDMNotSupportedOnDatastore"] = reflect.TypeOf((*LargeRDMNotSupportedOnDatastore)(nil)).Elem() -} - -type LargeRDMNotSupportedOnDatastoreFault LargeRDMNotSupportedOnDatastore - -func init() { - t["LargeRDMNotSupportedOnDatastoreFault"] = reflect.TypeOf((*LargeRDMNotSupportedOnDatastoreFault)(nil)).Elem() -} - -type LatencySensitivity struct { - DynamicData - - Level LatencySensitivitySensitivityLevel `xml:"level"` - Sensitivity int32 `xml:"sensitivity,omitempty"` -} - -func init() { - t["LatencySensitivity"] = reflect.TypeOf((*LatencySensitivity)(nil)).Elem() -} - -type LeaveCurrentDomainRequestType struct { - This ManagedObjectReference `xml:"_this"` - Force bool `xml:"force"` -} - -func init() { - t["LeaveCurrentDomainRequestType"] = reflect.TypeOf((*LeaveCurrentDomainRequestType)(nil)).Elem() -} - -type LeaveCurrentDomain_Task LeaveCurrentDomainRequestType - -func init() { - t["LeaveCurrentDomain_Task"] = reflect.TypeOf((*LeaveCurrentDomain_Task)(nil)).Elem() -} - -type LeaveCurrentDomain_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type LegacyNetworkInterfaceInUse struct { - CannotAccessNetwork -} - -func init() { - t["LegacyNetworkInterfaceInUse"] = reflect.TypeOf((*LegacyNetworkInterfaceInUse)(nil)).Elem() -} - -type LegacyNetworkInterfaceInUseFault LegacyNetworkInterfaceInUse - -func init() { - t["LegacyNetworkInterfaceInUseFault"] = reflect.TypeOf((*LegacyNetworkInterfaceInUseFault)(nil)).Elem() -} - -type LicenseAssignmentFailed struct { - RuntimeFault - - Reason string `xml:"reason,omitempty"` -} - -func init() { - t["LicenseAssignmentFailed"] = reflect.TypeOf((*LicenseAssignmentFailed)(nil)).Elem() -} - -type LicenseAssignmentFailedFault LicenseAssignmentFailed - -func init() { - t["LicenseAssignmentFailedFault"] = reflect.TypeOf((*LicenseAssignmentFailedFault)(nil)).Elem() -} - -type LicenseAssignmentManagerLicenseAssignment struct { - DynamicData - - EntityId string `xml:"entityId"` - Scope string `xml:"scope,omitempty"` - EntityDisplayName string `xml:"entityDisplayName,omitempty"` - AssignedLicense LicenseManagerLicenseInfo `xml:"assignedLicense"` - Properties []KeyAnyValue `xml:"properties,omitempty"` -} - -func init() { - t["LicenseAssignmentManagerLicenseAssignment"] = reflect.TypeOf((*LicenseAssignmentManagerLicenseAssignment)(nil)).Elem() -} - -type LicenseAvailabilityInfo struct { - DynamicData - - Feature LicenseFeatureInfo `xml:"feature"` - Total int32 `xml:"total"` - Available int32 `xml:"available"` -} - -func init() { - t["LicenseAvailabilityInfo"] = reflect.TypeOf((*LicenseAvailabilityInfo)(nil)).Elem() -} - -type LicenseDiagnostics struct { - DynamicData - - SourceLastChanged time.Time `xml:"sourceLastChanged"` - SourceLost string `xml:"sourceLost"` - SourceLatency float32 `xml:"sourceLatency"` - LicenseRequests string `xml:"licenseRequests"` - LicenseRequestFailures string `xml:"licenseRequestFailures"` - LicenseFeatureUnknowns string `xml:"licenseFeatureUnknowns"` - OpState LicenseManagerState `xml:"opState"` - LastStatusUpdate time.Time `xml:"lastStatusUpdate"` - OpFailureMessage string `xml:"opFailureMessage"` -} - -func init() { - t["LicenseDiagnostics"] = reflect.TypeOf((*LicenseDiagnostics)(nil)).Elem() -} - -type LicenseDowngradeDisallowed struct { - NotEnoughLicenses - - Edition string `xml:"edition"` - EntityId string `xml:"entityId"` - Features []KeyAnyValue `xml:"features"` -} - -func init() { - t["LicenseDowngradeDisallowed"] = reflect.TypeOf((*LicenseDowngradeDisallowed)(nil)).Elem() -} - -type LicenseDowngradeDisallowedFault LicenseDowngradeDisallowed - -func init() { - t["LicenseDowngradeDisallowedFault"] = reflect.TypeOf((*LicenseDowngradeDisallowedFault)(nil)).Elem() -} - -type LicenseEntityNotFound struct { - VimFault - - EntityId string `xml:"entityId"` -} - -func init() { - t["LicenseEntityNotFound"] = reflect.TypeOf((*LicenseEntityNotFound)(nil)).Elem() -} - -type LicenseEntityNotFoundFault LicenseEntityNotFound - -func init() { - t["LicenseEntityNotFoundFault"] = reflect.TypeOf((*LicenseEntityNotFoundFault)(nil)).Elem() -} - -type LicenseEvent struct { - Event -} - -func init() { - t["LicenseEvent"] = reflect.TypeOf((*LicenseEvent)(nil)).Elem() -} - -type LicenseExpired struct { - NotEnoughLicenses - - LicenseKey string `xml:"licenseKey"` -} - -func init() { - t["LicenseExpired"] = reflect.TypeOf((*LicenseExpired)(nil)).Elem() -} - -type LicenseExpiredEvent struct { - Event - - Feature LicenseFeatureInfo `xml:"feature"` -} - -func init() { - t["LicenseExpiredEvent"] = reflect.TypeOf((*LicenseExpiredEvent)(nil)).Elem() -} - -type LicenseExpiredFault LicenseExpired - -func init() { - t["LicenseExpiredFault"] = reflect.TypeOf((*LicenseExpiredFault)(nil)).Elem() -} - -type LicenseFeatureInfo struct { - DynamicData - - Key string `xml:"key"` - FeatureName string `xml:"featureName"` - FeatureDescription string `xml:"featureDescription,omitempty"` - State LicenseFeatureInfoState `xml:"state,omitempty"` - CostUnit string `xml:"costUnit"` - SourceRestriction string `xml:"sourceRestriction,omitempty"` - DependentKey []string `xml:"dependentKey,omitempty"` - Edition *bool `xml:"edition"` - ExpiresOn *time.Time `xml:"expiresOn"` -} - -func init() { - t["LicenseFeatureInfo"] = reflect.TypeOf((*LicenseFeatureInfo)(nil)).Elem() -} - -type LicenseKeyEntityMismatch struct { - NotEnoughLicenses -} - -func init() { - t["LicenseKeyEntityMismatch"] = reflect.TypeOf((*LicenseKeyEntityMismatch)(nil)).Elem() -} - -type LicenseKeyEntityMismatchFault LicenseKeyEntityMismatch - -func init() { - t["LicenseKeyEntityMismatchFault"] = reflect.TypeOf((*LicenseKeyEntityMismatchFault)(nil)).Elem() -} - -type LicenseManagerEvaluationInfo struct { - DynamicData - - Properties []KeyAnyValue `xml:"properties"` -} - -func init() { - t["LicenseManagerEvaluationInfo"] = reflect.TypeOf((*LicenseManagerEvaluationInfo)(nil)).Elem() -} - -type LicenseManagerLicenseInfo struct { - DynamicData - - LicenseKey string `xml:"licenseKey"` - EditionKey string `xml:"editionKey"` - Name string `xml:"name"` - Total int32 `xml:"total"` - Used int32 `xml:"used,omitempty"` - CostUnit string `xml:"costUnit"` - Properties []KeyAnyValue `xml:"properties,omitempty"` - Labels []KeyValue `xml:"labels,omitempty"` -} - -func init() { - t["LicenseManagerLicenseInfo"] = reflect.TypeOf((*LicenseManagerLicenseInfo)(nil)).Elem() -} - -type LicenseNonComplianceEvent struct { - LicenseEvent - - Url string `xml:"url"` -} - -func init() { - t["LicenseNonComplianceEvent"] = reflect.TypeOf((*LicenseNonComplianceEvent)(nil)).Elem() -} - -type LicenseReservationInfo struct { - DynamicData - - Key string `xml:"key"` - State LicenseReservationInfoState `xml:"state"` - Required int32 `xml:"required"` -} - -func init() { - t["LicenseReservationInfo"] = reflect.TypeOf((*LicenseReservationInfo)(nil)).Elem() -} - -type LicenseRestricted struct { - NotEnoughLicenses -} - -func init() { - t["LicenseRestricted"] = reflect.TypeOf((*LicenseRestricted)(nil)).Elem() -} - -type LicenseRestrictedEvent struct { - LicenseEvent -} - -func init() { - t["LicenseRestrictedEvent"] = reflect.TypeOf((*LicenseRestrictedEvent)(nil)).Elem() -} - -type LicenseRestrictedFault LicenseRestricted - -func init() { - t["LicenseRestrictedFault"] = reflect.TypeOf((*LicenseRestrictedFault)(nil)).Elem() -} - -type LicenseServerAvailableEvent struct { - LicenseEvent - - LicenseServer string `xml:"licenseServer"` -} - -func init() { - t["LicenseServerAvailableEvent"] = reflect.TypeOf((*LicenseServerAvailableEvent)(nil)).Elem() -} - -type LicenseServerSource struct { - LicenseSource - - LicenseServer string `xml:"licenseServer"` -} - -func init() { - t["LicenseServerSource"] = reflect.TypeOf((*LicenseServerSource)(nil)).Elem() -} - -type LicenseServerUnavailable struct { - VimFault - - LicenseServer string `xml:"licenseServer"` -} - -func init() { - t["LicenseServerUnavailable"] = reflect.TypeOf((*LicenseServerUnavailable)(nil)).Elem() -} - -type LicenseServerUnavailableEvent struct { - LicenseEvent - - LicenseServer string `xml:"licenseServer"` -} - -func init() { - t["LicenseServerUnavailableEvent"] = reflect.TypeOf((*LicenseServerUnavailableEvent)(nil)).Elem() -} - -type LicenseServerUnavailableFault LicenseServerUnavailable - -func init() { - t["LicenseServerUnavailableFault"] = reflect.TypeOf((*LicenseServerUnavailableFault)(nil)).Elem() -} - -type LicenseSource struct { - DynamicData -} - -func init() { - t["LicenseSource"] = reflect.TypeOf((*LicenseSource)(nil)).Elem() -} - -type LicenseSourceUnavailable struct { - NotEnoughLicenses - - LicenseSource BaseLicenseSource `xml:"licenseSource,typeattr"` -} - -func init() { - t["LicenseSourceUnavailable"] = reflect.TypeOf((*LicenseSourceUnavailable)(nil)).Elem() -} - -type LicenseSourceUnavailableFault LicenseSourceUnavailable - -func init() { - t["LicenseSourceUnavailableFault"] = reflect.TypeOf((*LicenseSourceUnavailableFault)(nil)).Elem() -} - -type LicenseUsageInfo struct { - DynamicData - - Source BaseLicenseSource `xml:"source,typeattr"` - SourceAvailable bool `xml:"sourceAvailable"` - ReservationInfo []LicenseReservationInfo `xml:"reservationInfo,omitempty"` - FeatureInfo []LicenseFeatureInfo `xml:"featureInfo,omitempty"` -} - -func init() { - t["LicenseUsageInfo"] = reflect.TypeOf((*LicenseUsageInfo)(nil)).Elem() -} - -type LimitExceeded struct { - VimFault - - Property string `xml:"property,omitempty"` - Limit *int32 `xml:"limit"` -} - -func init() { - t["LimitExceeded"] = reflect.TypeOf((*LimitExceeded)(nil)).Elem() -} - -type LimitExceededFault LimitExceeded - -func init() { - t["LimitExceededFault"] = reflect.TypeOf((*LimitExceededFault)(nil)).Elem() -} - -type LinkDiscoveryProtocolConfig struct { - DynamicData - - Protocol string `xml:"protocol"` - Operation string `xml:"operation"` -} - -func init() { - t["LinkDiscoveryProtocolConfig"] = reflect.TypeOf((*LinkDiscoveryProtocolConfig)(nil)).Elem() -} - -type LinkLayerDiscoveryProtocolInfo struct { - DynamicData - - ChassisId string `xml:"chassisId"` - PortId string `xml:"portId"` - TimeToLive int32 `xml:"timeToLive"` - Parameter []KeyAnyValue `xml:"parameter,omitempty"` -} - -func init() { - t["LinkLayerDiscoveryProtocolInfo"] = reflect.TypeOf((*LinkLayerDiscoveryProtocolInfo)(nil)).Elem() -} - -type LinkProfile struct { - ApplyProfile -} - -func init() { - t["LinkProfile"] = reflect.TypeOf((*LinkProfile)(nil)).Elem() -} - -type LinuxVolumeNotClean struct { - CustomizationFault -} - -func init() { - t["LinuxVolumeNotClean"] = reflect.TypeOf((*LinuxVolumeNotClean)(nil)).Elem() -} - -type LinuxVolumeNotCleanFault LinuxVolumeNotClean - -func init() { - t["LinuxVolumeNotCleanFault"] = reflect.TypeOf((*LinuxVolumeNotCleanFault)(nil)).Elem() -} - -type ListCACertificateRevocationLists ListCACertificateRevocationListsRequestType - -func init() { - t["ListCACertificateRevocationLists"] = reflect.TypeOf((*ListCACertificateRevocationLists)(nil)).Elem() -} - -type ListCACertificateRevocationListsRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["ListCACertificateRevocationListsRequestType"] = reflect.TypeOf((*ListCACertificateRevocationListsRequestType)(nil)).Elem() -} - -type ListCACertificateRevocationListsResponse struct { - Returnval []string `xml:"returnval,omitempty"` -} - -type ListCACertificates ListCACertificatesRequestType - -func init() { - t["ListCACertificates"] = reflect.TypeOf((*ListCACertificates)(nil)).Elem() -} - -type ListCACertificatesRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["ListCACertificatesRequestType"] = reflect.TypeOf((*ListCACertificatesRequestType)(nil)).Elem() -} - -type ListCACertificatesResponse struct { - Returnval []string `xml:"returnval,omitempty"` -} - -type ListFilesInGuest ListFilesInGuestRequestType - -func init() { - t["ListFilesInGuest"] = reflect.TypeOf((*ListFilesInGuest)(nil)).Elem() -} - -type ListFilesInGuestRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm ManagedObjectReference `xml:"vm"` - Auth BaseGuestAuthentication `xml:"auth,typeattr"` - FilePath string `xml:"filePath"` - Index int32 `xml:"index,omitempty"` - MaxResults int32 `xml:"maxResults,omitempty"` - MatchPattern string `xml:"matchPattern,omitempty"` -} - -func init() { - t["ListFilesInGuestRequestType"] = reflect.TypeOf((*ListFilesInGuestRequestType)(nil)).Elem() -} - -type ListFilesInGuestResponse struct { - Returnval GuestListFileInfo `xml:"returnval"` -} - -type ListGuestAliases ListGuestAliasesRequestType - -func init() { - t["ListGuestAliases"] = reflect.TypeOf((*ListGuestAliases)(nil)).Elem() -} - -type ListGuestAliasesRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm ManagedObjectReference `xml:"vm"` - Auth BaseGuestAuthentication `xml:"auth,typeattr"` - Username string `xml:"username"` -} - -func init() { - t["ListGuestAliasesRequestType"] = reflect.TypeOf((*ListGuestAliasesRequestType)(nil)).Elem() -} - -type ListGuestAliasesResponse struct { - Returnval []GuestAliases `xml:"returnval,omitempty"` -} - -type ListGuestMappedAliases ListGuestMappedAliasesRequestType - -func init() { - t["ListGuestMappedAliases"] = reflect.TypeOf((*ListGuestMappedAliases)(nil)).Elem() -} - -type ListGuestMappedAliasesRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm ManagedObjectReference `xml:"vm"` - Auth BaseGuestAuthentication `xml:"auth,typeattr"` -} - -func init() { - t["ListGuestMappedAliasesRequestType"] = reflect.TypeOf((*ListGuestMappedAliasesRequestType)(nil)).Elem() -} - -type ListGuestMappedAliasesResponse struct { - Returnval []GuestMappedAliases `xml:"returnval,omitempty"` -} - -type ListKeys ListKeysRequestType - -func init() { - t["ListKeys"] = reflect.TypeOf((*ListKeys)(nil)).Elem() -} - -type ListKeysRequestType struct { - This ManagedObjectReference `xml:"_this"` - Limit *int32 `xml:"limit"` -} - -func init() { - t["ListKeysRequestType"] = reflect.TypeOf((*ListKeysRequestType)(nil)).Elem() -} - -type ListKeysResponse struct { - Returnval []CryptoKeyId `xml:"returnval,omitempty"` -} - -type ListKmipServers ListKmipServersRequestType - -func init() { - t["ListKmipServers"] = reflect.TypeOf((*ListKmipServers)(nil)).Elem() -} - -type ListKmipServersRequestType struct { - This ManagedObjectReference `xml:"_this"` - Limit *int32 `xml:"limit"` -} - -func init() { - t["ListKmipServersRequestType"] = reflect.TypeOf((*ListKmipServersRequestType)(nil)).Elem() -} - -type ListKmipServersResponse struct { - Returnval []KmipClusterInfo `xml:"returnval,omitempty"` -} - -type ListKmsClusters ListKmsClustersRequestType - -func init() { - t["ListKmsClusters"] = reflect.TypeOf((*ListKmsClusters)(nil)).Elem() -} - -type ListKmsClustersRequestType struct { - This ManagedObjectReference `xml:"_this"` - IncludeKmsServers *bool `xml:"includeKmsServers"` - ManagementTypeFilter int32 `xml:"managementTypeFilter,omitempty"` - StatusFilter int32 `xml:"statusFilter,omitempty"` -} - -func init() { - t["ListKmsClustersRequestType"] = reflect.TypeOf((*ListKmsClustersRequestType)(nil)).Elem() -} - -type ListKmsClustersResponse struct { - Returnval []KmipClusterInfo `xml:"returnval,omitempty"` -} - -type ListProcessesInGuest ListProcessesInGuestRequestType - -func init() { - t["ListProcessesInGuest"] = reflect.TypeOf((*ListProcessesInGuest)(nil)).Elem() -} - -type ListProcessesInGuestRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm ManagedObjectReference `xml:"vm"` - Auth BaseGuestAuthentication `xml:"auth,typeattr"` - Pids []int64 `xml:"pids,omitempty"` -} - -func init() { - t["ListProcessesInGuestRequestType"] = reflect.TypeOf((*ListProcessesInGuestRequestType)(nil)).Elem() -} - -type ListProcessesInGuestResponse struct { - Returnval []GuestProcessInfo `xml:"returnval,omitempty"` -} - -type ListRegistryKeysInGuest ListRegistryKeysInGuestRequestType - -func init() { - t["ListRegistryKeysInGuest"] = reflect.TypeOf((*ListRegistryKeysInGuest)(nil)).Elem() -} - -type ListRegistryKeysInGuestRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm ManagedObjectReference `xml:"vm"` - Auth BaseGuestAuthentication `xml:"auth,typeattr"` - KeyName GuestRegKeyNameSpec `xml:"keyName"` - Recursive bool `xml:"recursive"` - MatchPattern string `xml:"matchPattern,omitempty"` -} - -func init() { - t["ListRegistryKeysInGuestRequestType"] = reflect.TypeOf((*ListRegistryKeysInGuestRequestType)(nil)).Elem() -} - -type ListRegistryKeysInGuestResponse struct { - Returnval []GuestRegKeyRecordSpec `xml:"returnval,omitempty"` -} - -type ListRegistryValuesInGuest ListRegistryValuesInGuestRequestType - -func init() { - t["ListRegistryValuesInGuest"] = reflect.TypeOf((*ListRegistryValuesInGuest)(nil)).Elem() -} - -type ListRegistryValuesInGuestRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm ManagedObjectReference `xml:"vm"` - Auth BaseGuestAuthentication `xml:"auth,typeattr"` - KeyName GuestRegKeyNameSpec `xml:"keyName"` - ExpandStrings bool `xml:"expandStrings"` - MatchPattern string `xml:"matchPattern,omitempty"` -} - -func init() { - t["ListRegistryValuesInGuestRequestType"] = reflect.TypeOf((*ListRegistryValuesInGuestRequestType)(nil)).Elem() -} - -type ListRegistryValuesInGuestResponse struct { - Returnval []GuestRegValueSpec `xml:"returnval,omitempty"` -} - -type ListSmartCardTrustAnchors ListSmartCardTrustAnchorsRequestType - -func init() { - t["ListSmartCardTrustAnchors"] = reflect.TypeOf((*ListSmartCardTrustAnchors)(nil)).Elem() -} - -type ListSmartCardTrustAnchorsRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["ListSmartCardTrustAnchorsRequestType"] = reflect.TypeOf((*ListSmartCardTrustAnchorsRequestType)(nil)).Elem() -} - -type ListSmartCardTrustAnchorsResponse struct { - Returnval []string `xml:"returnval,omitempty"` -} - -type ListTagsAttachedToVStorageObject ListTagsAttachedToVStorageObjectRequestType - -func init() { - t["ListTagsAttachedToVStorageObject"] = reflect.TypeOf((*ListTagsAttachedToVStorageObject)(nil)).Elem() -} - -type ListTagsAttachedToVStorageObjectRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id ID `xml:"id"` -} - -func init() { - t["ListTagsAttachedToVStorageObjectRequestType"] = reflect.TypeOf((*ListTagsAttachedToVStorageObjectRequestType)(nil)).Elem() -} - -type ListTagsAttachedToVStorageObjectResponse struct { - Returnval []VslmTagEntry `xml:"returnval,omitempty"` -} - -type ListVStorageObject ListVStorageObjectRequestType - -func init() { - t["ListVStorageObject"] = reflect.TypeOf((*ListVStorageObject)(nil)).Elem() -} - -type ListVStorageObjectRequestType struct { - This ManagedObjectReference `xml:"_this"` - Datastore ManagedObjectReference `xml:"datastore"` -} - -func init() { - t["ListVStorageObjectRequestType"] = reflect.TypeOf((*ListVStorageObjectRequestType)(nil)).Elem() -} - -type ListVStorageObjectResponse struct { - Returnval []ID `xml:"returnval,omitempty"` -} - -type ListVStorageObjectsAttachedToTag ListVStorageObjectsAttachedToTagRequestType - -func init() { - t["ListVStorageObjectsAttachedToTag"] = reflect.TypeOf((*ListVStorageObjectsAttachedToTag)(nil)).Elem() -} - -type ListVStorageObjectsAttachedToTagRequestType struct { - This ManagedObjectReference `xml:"_this"` - Category string `xml:"category"` - Tag string `xml:"tag"` -} - -func init() { - t["ListVStorageObjectsAttachedToTagRequestType"] = reflect.TypeOf((*ListVStorageObjectsAttachedToTagRequestType)(nil)).Elem() -} - -type ListVStorageObjectsAttachedToTagResponse struct { - Returnval []ID `xml:"returnval,omitempty"` -} - -type LocalDatastoreCreatedEvent struct { - HostEvent - - Datastore DatastoreEventArgument `xml:"datastore"` - DatastoreUrl string `xml:"datastoreUrl,omitempty"` -} - -func init() { - t["LocalDatastoreCreatedEvent"] = reflect.TypeOf((*LocalDatastoreCreatedEvent)(nil)).Elem() -} - -type LocalDatastoreInfo struct { - DatastoreInfo - - Path string `xml:"path,omitempty"` -} - -func init() { - t["LocalDatastoreInfo"] = reflect.TypeOf((*LocalDatastoreInfo)(nil)).Elem() -} - -type LocalLicenseSource struct { - LicenseSource - - LicenseKeys string `xml:"licenseKeys"` -} - -func init() { - t["LocalLicenseSource"] = reflect.TypeOf((*LocalLicenseSource)(nil)).Elem() -} - -type LocalTSMEnabledEvent struct { - HostEvent -} - -func init() { - t["LocalTSMEnabledEvent"] = reflect.TypeOf((*LocalTSMEnabledEvent)(nil)).Elem() -} - -type LocalizableMessage struct { - DynamicData - - Key string `xml:"key"` - Arg []KeyAnyValue `xml:"arg,omitempty"` - Message string `xml:"message,omitempty"` -} - -func init() { - t["LocalizableMessage"] = reflect.TypeOf((*LocalizableMessage)(nil)).Elem() -} - -type LocalizationManagerMessageCatalog struct { - DynamicData - - ModuleName string `xml:"moduleName"` - CatalogName string `xml:"catalogName"` - Locale string `xml:"locale"` - CatalogUri string `xml:"catalogUri"` - LastModified *time.Time `xml:"lastModified"` - Md5sum string `xml:"md5sum,omitempty"` - Version string `xml:"version,omitempty"` -} - -func init() { - t["LocalizationManagerMessageCatalog"] = reflect.TypeOf((*LocalizationManagerMessageCatalog)(nil)).Elem() -} - -type LocalizedMethodFault struct { - DynamicData - - Fault BaseMethodFault `xml:"fault,typeattr"` - LocalizedMessage string `xml:"localizedMessage,omitempty"` -} - -func init() { - t["LocalizedMethodFault"] = reflect.TypeOf((*LocalizedMethodFault)(nil)).Elem() -} - -type LockerMisconfiguredEvent struct { - Event - - Datastore DatastoreEventArgument `xml:"datastore"` -} - -func init() { - t["LockerMisconfiguredEvent"] = reflect.TypeOf((*LockerMisconfiguredEvent)(nil)).Elem() -} - -type LockerReconfiguredEvent struct { - Event - - OldDatastore *DatastoreEventArgument `xml:"oldDatastore,omitempty"` - NewDatastore *DatastoreEventArgument `xml:"newDatastore,omitempty"` -} - -func init() { - t["LockerReconfiguredEvent"] = reflect.TypeOf((*LockerReconfiguredEvent)(nil)).Elem() -} - -type LogBundlingFailed struct { - VimFault -} - -func init() { - t["LogBundlingFailed"] = reflect.TypeOf((*LogBundlingFailed)(nil)).Elem() -} - -type LogBundlingFailedFault LogBundlingFailed - -func init() { - t["LogBundlingFailedFault"] = reflect.TypeOf((*LogBundlingFailedFault)(nil)).Elem() -} - -type LogUserEvent LogUserEventRequestType - -func init() { - t["LogUserEvent"] = reflect.TypeOf((*LogUserEvent)(nil)).Elem() -} - -type LogUserEventRequestType struct { - This ManagedObjectReference `xml:"_this"` - Entity ManagedObjectReference `xml:"entity"` - Msg string `xml:"msg"` -} - -func init() { - t["LogUserEventRequestType"] = reflect.TypeOf((*LogUserEventRequestType)(nil)).Elem() -} - -type LogUserEventResponse struct { -} - -type Login LoginRequestType - -func init() { - t["Login"] = reflect.TypeOf((*Login)(nil)).Elem() -} - -type LoginBySSPI LoginBySSPIRequestType - -func init() { - t["LoginBySSPI"] = reflect.TypeOf((*LoginBySSPI)(nil)).Elem() -} - -type LoginBySSPIRequestType struct { - This ManagedObjectReference `xml:"_this"` - Base64Token string `xml:"base64Token"` - Locale string `xml:"locale,omitempty"` -} - -func init() { - t["LoginBySSPIRequestType"] = reflect.TypeOf((*LoginBySSPIRequestType)(nil)).Elem() -} - -type LoginBySSPIResponse struct { - Returnval UserSession `xml:"returnval"` -} - -type LoginByToken LoginByTokenRequestType - -func init() { - t["LoginByToken"] = reflect.TypeOf((*LoginByToken)(nil)).Elem() -} - -type LoginByTokenRequestType struct { - This ManagedObjectReference `xml:"_this"` - Locale string `xml:"locale,omitempty"` -} - -func init() { - t["LoginByTokenRequestType"] = reflect.TypeOf((*LoginByTokenRequestType)(nil)).Elem() -} - -type LoginByTokenResponse struct { - Returnval UserSession `xml:"returnval"` -} - -type LoginExtensionByCertificate LoginExtensionByCertificateRequestType - -func init() { - t["LoginExtensionByCertificate"] = reflect.TypeOf((*LoginExtensionByCertificate)(nil)).Elem() -} - -type LoginExtensionByCertificateRequestType struct { - This ManagedObjectReference `xml:"_this"` - ExtensionKey string `xml:"extensionKey"` - Locale string `xml:"locale,omitempty"` -} - -func init() { - t["LoginExtensionByCertificateRequestType"] = reflect.TypeOf((*LoginExtensionByCertificateRequestType)(nil)).Elem() -} - -type LoginExtensionByCertificateResponse struct { - Returnval UserSession `xml:"returnval"` -} - -type LoginExtensionBySubjectName LoginExtensionBySubjectNameRequestType - -func init() { - t["LoginExtensionBySubjectName"] = reflect.TypeOf((*LoginExtensionBySubjectName)(nil)).Elem() -} - -type LoginExtensionBySubjectNameRequestType struct { - This ManagedObjectReference `xml:"_this"` - ExtensionKey string `xml:"extensionKey"` - Locale string `xml:"locale,omitempty"` -} - -func init() { - t["LoginExtensionBySubjectNameRequestType"] = reflect.TypeOf((*LoginExtensionBySubjectNameRequestType)(nil)).Elem() -} - -type LoginExtensionBySubjectNameResponse struct { - Returnval UserSession `xml:"returnval"` -} - -type LoginRequestType struct { - This ManagedObjectReference `xml:"_this"` - UserName string `xml:"userName"` - Password string `xml:"password"` - Locale string `xml:"locale,omitempty"` -} - -func init() { - t["LoginRequestType"] = reflect.TypeOf((*LoginRequestType)(nil)).Elem() -} - -type LoginResponse struct { - Returnval UserSession `xml:"returnval"` -} - -type Logout LogoutRequestType - -func init() { - t["Logout"] = reflect.TypeOf((*Logout)(nil)).Elem() -} - -type LogoutRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["LogoutRequestType"] = reflect.TypeOf((*LogoutRequestType)(nil)).Elem() -} - -type LogoutResponse struct { -} - -type LongOption struct { - OptionType - - Min int64 `xml:"min"` - Max int64 `xml:"max"` - DefaultValue int64 `xml:"defaultValue"` -} - -func init() { - t["LongOption"] = reflect.TypeOf((*LongOption)(nil)).Elem() -} - -type LongPolicy struct { - InheritablePolicy - - Value int64 `xml:"value,omitempty"` -} - -func init() { - t["LongPolicy"] = reflect.TypeOf((*LongPolicy)(nil)).Elem() -} - -type LookupDvPortGroup LookupDvPortGroupRequestType - -func init() { - t["LookupDvPortGroup"] = reflect.TypeOf((*LookupDvPortGroup)(nil)).Elem() -} - -type LookupDvPortGroupRequestType struct { - This ManagedObjectReference `xml:"_this"` - PortgroupKey string `xml:"portgroupKey"` -} - -func init() { - t["LookupDvPortGroupRequestType"] = reflect.TypeOf((*LookupDvPortGroupRequestType)(nil)).Elem() -} - -type LookupDvPortGroupResponse struct { - Returnval *ManagedObjectReference `xml:"returnval,omitempty"` -} - -type LookupVmOverheadMemory LookupVmOverheadMemoryRequestType - -func init() { - t["LookupVmOverheadMemory"] = reflect.TypeOf((*LookupVmOverheadMemory)(nil)).Elem() -} - -type LookupVmOverheadMemoryRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm ManagedObjectReference `xml:"vm"` - Host ManagedObjectReference `xml:"host"` -} - -func init() { - t["LookupVmOverheadMemoryRequestType"] = reflect.TypeOf((*LookupVmOverheadMemoryRequestType)(nil)).Elem() -} - -type LookupVmOverheadMemoryResponse struct { - Returnval int64 `xml:"returnval"` -} - -type MacAddress struct { - NegatableExpression -} - -func init() { - t["MacAddress"] = reflect.TypeOf((*MacAddress)(nil)).Elem() -} - -type MacRange struct { - MacAddress - - Address string `xml:"address"` - Mask string `xml:"mask"` -} - -func init() { - t["MacRange"] = reflect.TypeOf((*MacRange)(nil)).Elem() -} - -type MaintenanceModeFileMove struct { - MigrationFault -} - -func init() { - t["MaintenanceModeFileMove"] = reflect.TypeOf((*MaintenanceModeFileMove)(nil)).Elem() -} - -type MaintenanceModeFileMoveFault MaintenanceModeFileMove - -func init() { - t["MaintenanceModeFileMoveFault"] = reflect.TypeOf((*MaintenanceModeFileMoveFault)(nil)).Elem() -} - -type MakeDirectory MakeDirectoryRequestType - -func init() { - t["MakeDirectory"] = reflect.TypeOf((*MakeDirectory)(nil)).Elem() -} - -type MakeDirectoryInGuest MakeDirectoryInGuestRequestType - -func init() { - t["MakeDirectoryInGuest"] = reflect.TypeOf((*MakeDirectoryInGuest)(nil)).Elem() -} - -type MakeDirectoryInGuestRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm ManagedObjectReference `xml:"vm"` - Auth BaseGuestAuthentication `xml:"auth,typeattr"` - DirectoryPath string `xml:"directoryPath"` - CreateParentDirectories bool `xml:"createParentDirectories"` -} - -func init() { - t["MakeDirectoryInGuestRequestType"] = reflect.TypeOf((*MakeDirectoryInGuestRequestType)(nil)).Elem() -} - -type MakeDirectoryInGuestResponse struct { -} - -type MakeDirectoryRequestType struct { - This ManagedObjectReference `xml:"_this"` - Name string `xml:"name"` - Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"` - CreateParentDirectories *bool `xml:"createParentDirectories"` -} - -func init() { - t["MakeDirectoryRequestType"] = reflect.TypeOf((*MakeDirectoryRequestType)(nil)).Elem() -} - -type MakeDirectoryResponse struct { -} - -type MakePrimaryVMRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm ManagedObjectReference `xml:"vm"` -} - -func init() { - t["MakePrimaryVMRequestType"] = reflect.TypeOf((*MakePrimaryVMRequestType)(nil)).Elem() -} - -type MakePrimaryVM_Task MakePrimaryVMRequestType - -func init() { - t["MakePrimaryVM_Task"] = reflect.TypeOf((*MakePrimaryVM_Task)(nil)).Elem() -} - -type MakePrimaryVM_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ManagedByInfo struct { - DynamicData - - ExtensionKey string `xml:"extensionKey"` - Type string `xml:"type"` -} - -func init() { - t["ManagedByInfo"] = reflect.TypeOf((*ManagedByInfo)(nil)).Elem() -} - -type ManagedEntityEventArgument struct { - EntityEventArgument - - Entity ManagedObjectReference `xml:"entity"` -} - -func init() { - t["ManagedEntityEventArgument"] = reflect.TypeOf((*ManagedEntityEventArgument)(nil)).Elem() -} - -type ManagedObjectNotFound struct { - RuntimeFault - - Obj ManagedObjectReference `xml:"obj"` -} - -func init() { - t["ManagedObjectNotFound"] = reflect.TypeOf((*ManagedObjectNotFound)(nil)).Elem() -} - -type ManagedObjectNotFoundFault ManagedObjectNotFound - -func init() { - t["ManagedObjectNotFoundFault"] = reflect.TypeOf((*ManagedObjectNotFoundFault)(nil)).Elem() -} - -type ManagedObjectReference struct { - Type string `xml:"type,attr"` - Value string `xml:",chardata"` -} - -func init() { - t["ManagedObjectReference"] = reflect.TypeOf((*ManagedObjectReference)(nil)).Elem() -} - -type MarkAsLocalRequestType struct { - This ManagedObjectReference `xml:"_this"` - ScsiDiskUuid string `xml:"scsiDiskUuid"` -} - -func init() { - t["MarkAsLocalRequestType"] = reflect.TypeOf((*MarkAsLocalRequestType)(nil)).Elem() -} - -type MarkAsLocal_Task MarkAsLocalRequestType - -func init() { - t["MarkAsLocal_Task"] = reflect.TypeOf((*MarkAsLocal_Task)(nil)).Elem() -} - -type MarkAsLocal_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type MarkAsNonLocalRequestType struct { - This ManagedObjectReference `xml:"_this"` - ScsiDiskUuid string `xml:"scsiDiskUuid"` -} - -func init() { - t["MarkAsNonLocalRequestType"] = reflect.TypeOf((*MarkAsNonLocalRequestType)(nil)).Elem() -} - -type MarkAsNonLocal_Task MarkAsNonLocalRequestType - -func init() { - t["MarkAsNonLocal_Task"] = reflect.TypeOf((*MarkAsNonLocal_Task)(nil)).Elem() -} - -type MarkAsNonLocal_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type MarkAsNonSsdRequestType struct { - This ManagedObjectReference `xml:"_this"` - ScsiDiskUuid string `xml:"scsiDiskUuid"` -} - -func init() { - t["MarkAsNonSsdRequestType"] = reflect.TypeOf((*MarkAsNonSsdRequestType)(nil)).Elem() -} - -type MarkAsNonSsd_Task MarkAsNonSsdRequestType - -func init() { - t["MarkAsNonSsd_Task"] = reflect.TypeOf((*MarkAsNonSsd_Task)(nil)).Elem() -} - -type MarkAsNonSsd_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type MarkAsSsdRequestType struct { - This ManagedObjectReference `xml:"_this"` - ScsiDiskUuid string `xml:"scsiDiskUuid"` -} - -func init() { - t["MarkAsSsdRequestType"] = reflect.TypeOf((*MarkAsSsdRequestType)(nil)).Elem() -} - -type MarkAsSsd_Task MarkAsSsdRequestType - -func init() { - t["MarkAsSsd_Task"] = reflect.TypeOf((*MarkAsSsd_Task)(nil)).Elem() -} - -type MarkAsSsd_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type MarkAsTemplate MarkAsTemplateRequestType - -func init() { - t["MarkAsTemplate"] = reflect.TypeOf((*MarkAsTemplate)(nil)).Elem() -} - -type MarkAsTemplateRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["MarkAsTemplateRequestType"] = reflect.TypeOf((*MarkAsTemplateRequestType)(nil)).Elem() -} - -type MarkAsTemplateResponse struct { -} - -type MarkAsVirtualMachine MarkAsVirtualMachineRequestType - -func init() { - t["MarkAsVirtualMachine"] = reflect.TypeOf((*MarkAsVirtualMachine)(nil)).Elem() -} - -type MarkAsVirtualMachineRequestType struct { - This ManagedObjectReference `xml:"_this"` - Pool ManagedObjectReference `xml:"pool"` - Host *ManagedObjectReference `xml:"host,omitempty"` -} - -func init() { - t["MarkAsVirtualMachineRequestType"] = reflect.TypeOf((*MarkAsVirtualMachineRequestType)(nil)).Elem() -} - -type MarkAsVirtualMachineResponse struct { -} - -type MarkDefault MarkDefaultRequestType - -func init() { - t["MarkDefault"] = reflect.TypeOf((*MarkDefault)(nil)).Elem() -} - -type MarkDefaultRequestType struct { - This ManagedObjectReference `xml:"_this"` - ClusterId KeyProviderId `xml:"clusterId"` -} - -func init() { - t["MarkDefaultRequestType"] = reflect.TypeOf((*MarkDefaultRequestType)(nil)).Elem() -} - -type MarkDefaultResponse struct { -} - -type MarkForRemoval MarkForRemovalRequestType - -func init() { - t["MarkForRemoval"] = reflect.TypeOf((*MarkForRemoval)(nil)).Elem() -} - -type MarkForRemovalRequestType struct { - This ManagedObjectReference `xml:"_this"` - HbaName string `xml:"hbaName"` - Remove bool `xml:"remove"` -} - -func init() { - t["MarkForRemovalRequestType"] = reflect.TypeOf((*MarkForRemovalRequestType)(nil)).Elem() -} - -type MarkForRemovalResponse struct { -} - -type MarkPerenniallyReserved MarkPerenniallyReservedRequestType - -func init() { - t["MarkPerenniallyReserved"] = reflect.TypeOf((*MarkPerenniallyReserved)(nil)).Elem() -} - -type MarkPerenniallyReservedExRequestType struct { - This ManagedObjectReference `xml:"_this"` - LunUuid []string `xml:"lunUuid,omitempty"` - State bool `xml:"state"` -} - -func init() { - t["MarkPerenniallyReservedExRequestType"] = reflect.TypeOf((*MarkPerenniallyReservedExRequestType)(nil)).Elem() -} - -type MarkPerenniallyReservedEx_Task MarkPerenniallyReservedExRequestType - -func init() { - t["MarkPerenniallyReservedEx_Task"] = reflect.TypeOf((*MarkPerenniallyReservedEx_Task)(nil)).Elem() -} - -type MarkPerenniallyReservedEx_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type MarkPerenniallyReservedRequestType struct { - This ManagedObjectReference `xml:"_this"` - LunUuid string `xml:"lunUuid"` - State bool `xml:"state"` -} - -func init() { - t["MarkPerenniallyReservedRequestType"] = reflect.TypeOf((*MarkPerenniallyReservedRequestType)(nil)).Elem() -} - -type MarkPerenniallyReservedResponse struct { -} - -type MarkServiceProviderEntities MarkServiceProviderEntitiesRequestType - -func init() { - t["MarkServiceProviderEntities"] = reflect.TypeOf((*MarkServiceProviderEntities)(nil)).Elem() -} - -type MarkServiceProviderEntitiesRequestType struct { - This ManagedObjectReference `xml:"_this"` - Entity []ManagedObjectReference `xml:"entity,omitempty"` -} - -func init() { - t["MarkServiceProviderEntitiesRequestType"] = reflect.TypeOf((*MarkServiceProviderEntitiesRequestType)(nil)).Elem() -} - -type MarkServiceProviderEntitiesResponse struct { -} - -type MemoryFileFormatNotSupportedByDatastore struct { - UnsupportedDatastore - - DatastoreName string `xml:"datastoreName"` - Type string `xml:"type"` -} - -func init() { - t["MemoryFileFormatNotSupportedByDatastore"] = reflect.TypeOf((*MemoryFileFormatNotSupportedByDatastore)(nil)).Elem() -} - -type MemoryFileFormatNotSupportedByDatastoreFault MemoryFileFormatNotSupportedByDatastore - -func init() { - t["MemoryFileFormatNotSupportedByDatastoreFault"] = reflect.TypeOf((*MemoryFileFormatNotSupportedByDatastoreFault)(nil)).Elem() -} - -type MemoryHotPlugNotSupported struct { - VmConfigFault -} - -func init() { - t["MemoryHotPlugNotSupported"] = reflect.TypeOf((*MemoryHotPlugNotSupported)(nil)).Elem() -} - -type MemoryHotPlugNotSupportedFault MemoryHotPlugNotSupported - -func init() { - t["MemoryHotPlugNotSupportedFault"] = reflect.TypeOf((*MemoryHotPlugNotSupportedFault)(nil)).Elem() -} - -type MemorySizeNotRecommended struct { - VirtualHardwareCompatibilityIssue - - MemorySizeMB int32 `xml:"memorySizeMB"` - MinMemorySizeMB int32 `xml:"minMemorySizeMB"` - MaxMemorySizeMB int32 `xml:"maxMemorySizeMB"` -} - -func init() { - t["MemorySizeNotRecommended"] = reflect.TypeOf((*MemorySizeNotRecommended)(nil)).Elem() -} - -type MemorySizeNotRecommendedFault MemorySizeNotRecommended - -func init() { - t["MemorySizeNotRecommendedFault"] = reflect.TypeOf((*MemorySizeNotRecommendedFault)(nil)).Elem() -} - -type MemorySizeNotSupported struct { - VirtualHardwareCompatibilityIssue - - MemorySizeMB int32 `xml:"memorySizeMB"` - MinMemorySizeMB int32 `xml:"minMemorySizeMB"` - MaxMemorySizeMB int32 `xml:"maxMemorySizeMB"` -} - -func init() { - t["MemorySizeNotSupported"] = reflect.TypeOf((*MemorySizeNotSupported)(nil)).Elem() -} - -type MemorySizeNotSupportedByDatastore struct { - VirtualHardwareCompatibilityIssue - - Datastore ManagedObjectReference `xml:"datastore"` - MemorySizeMB int32 `xml:"memorySizeMB"` - MaxMemorySizeMB int32 `xml:"maxMemorySizeMB"` -} - -func init() { - t["MemorySizeNotSupportedByDatastore"] = reflect.TypeOf((*MemorySizeNotSupportedByDatastore)(nil)).Elem() -} - -type MemorySizeNotSupportedByDatastoreFault MemorySizeNotSupportedByDatastore - -func init() { - t["MemorySizeNotSupportedByDatastoreFault"] = reflect.TypeOf((*MemorySizeNotSupportedByDatastoreFault)(nil)).Elem() -} - -type MemorySizeNotSupportedFault MemorySizeNotSupported - -func init() { - t["MemorySizeNotSupportedFault"] = reflect.TypeOf((*MemorySizeNotSupportedFault)(nil)).Elem() -} - -type MemorySnapshotOnIndependentDisk struct { - SnapshotFault -} - -func init() { - t["MemorySnapshotOnIndependentDisk"] = reflect.TypeOf((*MemorySnapshotOnIndependentDisk)(nil)).Elem() -} - -type MemorySnapshotOnIndependentDiskFault MemorySnapshotOnIndependentDisk - -func init() { - t["MemorySnapshotOnIndependentDiskFault"] = reflect.TypeOf((*MemorySnapshotOnIndependentDiskFault)(nil)).Elem() -} - -type MergeDvsRequestType struct { - This ManagedObjectReference `xml:"_this"` - Dvs ManagedObjectReference `xml:"dvs"` -} - -func init() { - t["MergeDvsRequestType"] = reflect.TypeOf((*MergeDvsRequestType)(nil)).Elem() -} - -type MergeDvs_Task MergeDvsRequestType - -func init() { - t["MergeDvs_Task"] = reflect.TypeOf((*MergeDvs_Task)(nil)).Elem() -} - -type MergeDvs_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type MergePermissions MergePermissionsRequestType - -func init() { - t["MergePermissions"] = reflect.TypeOf((*MergePermissions)(nil)).Elem() -} - -type MergePermissionsRequestType struct { - This ManagedObjectReference `xml:"_this"` - SrcRoleId int32 `xml:"srcRoleId"` - DstRoleId int32 `xml:"dstRoleId"` -} - -func init() { - t["MergePermissionsRequestType"] = reflect.TypeOf((*MergePermissionsRequestType)(nil)).Elem() -} - -type MergePermissionsResponse struct { -} - -type MethodAction struct { - Action - - Name string `xml:"name"` - Argument []MethodActionArgument `xml:"argument,omitempty"` -} - -func init() { - t["MethodAction"] = reflect.TypeOf((*MethodAction)(nil)).Elem() -} - -type MethodActionArgument struct { - DynamicData - - Value AnyType `xml:"value,typeattr"` -} - -func init() { - t["MethodActionArgument"] = reflect.TypeOf((*MethodActionArgument)(nil)).Elem() -} - -type MethodAlreadyDisabledFault struct { - RuntimeFault - - SourceId string `xml:"sourceId"` -} - -func init() { - t["MethodAlreadyDisabledFault"] = reflect.TypeOf((*MethodAlreadyDisabledFault)(nil)).Elem() -} - -type MethodAlreadyDisabledFaultFault MethodAlreadyDisabledFault - -func init() { - t["MethodAlreadyDisabledFaultFault"] = reflect.TypeOf((*MethodAlreadyDisabledFaultFault)(nil)).Elem() -} - -type MethodDescription struct { - Description - - Key string `xml:"key"` -} - -func init() { - t["MethodDescription"] = reflect.TypeOf((*MethodDescription)(nil)).Elem() -} - -type MethodDisabled struct { - RuntimeFault - - Source string `xml:"source,omitempty"` -} - -func init() { - t["MethodDisabled"] = reflect.TypeOf((*MethodDisabled)(nil)).Elem() -} - -type MethodDisabledFault MethodDisabled - -func init() { - t["MethodDisabledFault"] = reflect.TypeOf((*MethodDisabledFault)(nil)).Elem() -} - -type MethodFault struct { - FaultCause *LocalizedMethodFault `xml:"faultCause,omitempty"` - FaultMessage []LocalizableMessage `xml:"faultMessage,omitempty"` -} - -func init() { - t["MethodFault"] = reflect.TypeOf((*MethodFault)(nil)).Elem() -} - -type MethodFaultFault BaseMethodFault - -func init() { - t["MethodFaultFault"] = reflect.TypeOf((*MethodFaultFault)(nil)).Elem() -} - -type MethodNotFound struct { - InvalidRequest - - Receiver ManagedObjectReference `xml:"receiver"` - Method string `xml:"method"` -} - -func init() { - t["MethodNotFound"] = reflect.TypeOf((*MethodNotFound)(nil)).Elem() -} - -type MethodNotFoundFault MethodNotFound - -func init() { - t["MethodNotFoundFault"] = reflect.TypeOf((*MethodNotFoundFault)(nil)).Elem() -} - -type MetricAlarmExpression struct { - AlarmExpression - - Operator MetricAlarmOperator `xml:"operator"` - Type string `xml:"type"` - Metric PerfMetricId `xml:"metric"` - Yellow int32 `xml:"yellow,omitempty"` - YellowInterval int32 `xml:"yellowInterval,omitempty"` - Red int32 `xml:"red,omitempty"` - RedInterval int32 `xml:"redInterval,omitempty"` -} - -func init() { - t["MetricAlarmExpression"] = reflect.TypeOf((*MetricAlarmExpression)(nil)).Elem() -} - -type MigrateVMRequestType struct { - This ManagedObjectReference `xml:"_this"` - Pool *ManagedObjectReference `xml:"pool,omitempty"` - Host *ManagedObjectReference `xml:"host,omitempty"` - Priority VirtualMachineMovePriority `xml:"priority"` - State VirtualMachinePowerState `xml:"state,omitempty"` -} - -func init() { - t["MigrateVMRequestType"] = reflect.TypeOf((*MigrateVMRequestType)(nil)).Elem() -} - -type MigrateVM_Task MigrateVMRequestType - -func init() { - t["MigrateVM_Task"] = reflect.TypeOf((*MigrateVM_Task)(nil)).Elem() -} - -type MigrateVM_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type MigrationDisabled struct { - MigrationFault -} - -func init() { - t["MigrationDisabled"] = reflect.TypeOf((*MigrationDisabled)(nil)).Elem() -} - -type MigrationDisabledFault MigrationDisabled - -func init() { - t["MigrationDisabledFault"] = reflect.TypeOf((*MigrationDisabledFault)(nil)).Elem() -} - -type MigrationErrorEvent struct { - MigrationEvent -} - -func init() { - t["MigrationErrorEvent"] = reflect.TypeOf((*MigrationErrorEvent)(nil)).Elem() -} - -type MigrationEvent struct { - VmEvent - - Fault LocalizedMethodFault `xml:"fault"` -} - -func init() { - t["MigrationEvent"] = reflect.TypeOf((*MigrationEvent)(nil)).Elem() -} - -type MigrationFault struct { - VimFault -} - -func init() { - t["MigrationFault"] = reflect.TypeOf((*MigrationFault)(nil)).Elem() -} - -type MigrationFaultFault BaseMigrationFault - -func init() { - t["MigrationFaultFault"] = reflect.TypeOf((*MigrationFaultFault)(nil)).Elem() -} - -type MigrationFeatureNotSupported struct { - MigrationFault - - AtSourceHost bool `xml:"atSourceHost"` - FailedHostName string `xml:"failedHostName"` - FailedHost ManagedObjectReference `xml:"failedHost"` -} - -func init() { - t["MigrationFeatureNotSupported"] = reflect.TypeOf((*MigrationFeatureNotSupported)(nil)).Elem() -} - -type MigrationFeatureNotSupportedFault BaseMigrationFeatureNotSupported - -func init() { - t["MigrationFeatureNotSupportedFault"] = reflect.TypeOf((*MigrationFeatureNotSupportedFault)(nil)).Elem() -} - -type MigrationHostErrorEvent struct { - MigrationEvent - - DstHost HostEventArgument `xml:"dstHost"` -} - -func init() { - t["MigrationHostErrorEvent"] = reflect.TypeOf((*MigrationHostErrorEvent)(nil)).Elem() -} - -type MigrationHostWarningEvent struct { - MigrationEvent - - DstHost HostEventArgument `xml:"dstHost"` -} - -func init() { - t["MigrationHostWarningEvent"] = reflect.TypeOf((*MigrationHostWarningEvent)(nil)).Elem() -} - -type MigrationNotReady struct { - MigrationFault - - Reason string `xml:"reason"` -} - -func init() { - t["MigrationNotReady"] = reflect.TypeOf((*MigrationNotReady)(nil)).Elem() -} - -type MigrationNotReadyFault MigrationNotReady - -func init() { - t["MigrationNotReadyFault"] = reflect.TypeOf((*MigrationNotReadyFault)(nil)).Elem() -} - -type MigrationResourceErrorEvent struct { - MigrationEvent - - DstPool ResourcePoolEventArgument `xml:"dstPool"` - DstHost HostEventArgument `xml:"dstHost"` -} - -func init() { - t["MigrationResourceErrorEvent"] = reflect.TypeOf((*MigrationResourceErrorEvent)(nil)).Elem() -} - -type MigrationResourceWarningEvent struct { - MigrationEvent - - DstPool ResourcePoolEventArgument `xml:"dstPool"` - DstHost HostEventArgument `xml:"dstHost"` -} - -func init() { - t["MigrationResourceWarningEvent"] = reflect.TypeOf((*MigrationResourceWarningEvent)(nil)).Elem() -} - -type MigrationWarningEvent struct { - MigrationEvent -} - -func init() { - t["MigrationWarningEvent"] = reflect.TypeOf((*MigrationWarningEvent)(nil)).Elem() -} - -type MismatchedBundle struct { - VimFault - - BundleUuid string `xml:"bundleUuid"` - HostUuid string `xml:"hostUuid"` - BundleBuildNumber int32 `xml:"bundleBuildNumber"` - HostBuildNumber int32 `xml:"hostBuildNumber"` -} - -func init() { - t["MismatchedBundle"] = reflect.TypeOf((*MismatchedBundle)(nil)).Elem() -} - -type MismatchedBundleFault MismatchedBundle - -func init() { - t["MismatchedBundleFault"] = reflect.TypeOf((*MismatchedBundleFault)(nil)).Elem() -} - -type MismatchedNetworkPolicies struct { - MigrationFault - - Device string `xml:"device"` - Backing string `xml:"backing"` - Connected bool `xml:"connected"` -} - -func init() { - t["MismatchedNetworkPolicies"] = reflect.TypeOf((*MismatchedNetworkPolicies)(nil)).Elem() -} - -type MismatchedNetworkPoliciesFault MismatchedNetworkPolicies - -func init() { - t["MismatchedNetworkPoliciesFault"] = reflect.TypeOf((*MismatchedNetworkPoliciesFault)(nil)).Elem() -} - -type MismatchedVMotionNetworkNames struct { - MigrationFault - - SourceNetwork string `xml:"sourceNetwork"` - DestNetwork string `xml:"destNetwork"` -} - -func init() { - t["MismatchedVMotionNetworkNames"] = reflect.TypeOf((*MismatchedVMotionNetworkNames)(nil)).Elem() -} - -type MismatchedVMotionNetworkNamesFault MismatchedVMotionNetworkNames - -func init() { - t["MismatchedVMotionNetworkNamesFault"] = reflect.TypeOf((*MismatchedVMotionNetworkNamesFault)(nil)).Elem() -} - -type MissingBmcSupport struct { - VimFault -} - -func init() { - t["MissingBmcSupport"] = reflect.TypeOf((*MissingBmcSupport)(nil)).Elem() -} - -type MissingBmcSupportFault MissingBmcSupport - -func init() { - t["MissingBmcSupportFault"] = reflect.TypeOf((*MissingBmcSupportFault)(nil)).Elem() -} - -type MissingController struct { - InvalidDeviceSpec -} - -func init() { - t["MissingController"] = reflect.TypeOf((*MissingController)(nil)).Elem() -} - -type MissingControllerFault MissingController - -func init() { - t["MissingControllerFault"] = reflect.TypeOf((*MissingControllerFault)(nil)).Elem() -} - -type MissingIpPool struct { - VAppPropertyFault -} - -func init() { - t["MissingIpPool"] = reflect.TypeOf((*MissingIpPool)(nil)).Elem() -} - -type MissingIpPoolFault MissingIpPool - -func init() { - t["MissingIpPoolFault"] = reflect.TypeOf((*MissingIpPoolFault)(nil)).Elem() -} - -type MissingLinuxCustResources struct { - CustomizationFault -} - -func init() { - t["MissingLinuxCustResources"] = reflect.TypeOf((*MissingLinuxCustResources)(nil)).Elem() -} - -type MissingLinuxCustResourcesFault MissingLinuxCustResources - -func init() { - t["MissingLinuxCustResourcesFault"] = reflect.TypeOf((*MissingLinuxCustResourcesFault)(nil)).Elem() -} - -type MissingNetworkIpConfig struct { - VAppPropertyFault -} - -func init() { - t["MissingNetworkIpConfig"] = reflect.TypeOf((*MissingNetworkIpConfig)(nil)).Elem() -} - -type MissingNetworkIpConfigFault MissingNetworkIpConfig - -func init() { - t["MissingNetworkIpConfigFault"] = reflect.TypeOf((*MissingNetworkIpConfigFault)(nil)).Elem() -} - -type MissingObject struct { - DynamicData - - Obj ManagedObjectReference `xml:"obj"` - Fault LocalizedMethodFault `xml:"fault"` -} - -func init() { - t["MissingObject"] = reflect.TypeOf((*MissingObject)(nil)).Elem() -} - -type MissingPowerOffConfiguration struct { - VAppConfigFault -} - -func init() { - t["MissingPowerOffConfiguration"] = reflect.TypeOf((*MissingPowerOffConfiguration)(nil)).Elem() -} - -type MissingPowerOffConfigurationFault MissingPowerOffConfiguration - -func init() { - t["MissingPowerOffConfigurationFault"] = reflect.TypeOf((*MissingPowerOffConfigurationFault)(nil)).Elem() -} - -type MissingPowerOnConfiguration struct { - VAppConfigFault -} - -func init() { - t["MissingPowerOnConfiguration"] = reflect.TypeOf((*MissingPowerOnConfiguration)(nil)).Elem() -} - -type MissingPowerOnConfigurationFault MissingPowerOnConfiguration - -func init() { - t["MissingPowerOnConfigurationFault"] = reflect.TypeOf((*MissingPowerOnConfigurationFault)(nil)).Elem() -} - -type MissingProperty struct { - DynamicData - - Path string `xml:"path"` - Fault LocalizedMethodFault `xml:"fault"` -} - -func init() { - t["MissingProperty"] = reflect.TypeOf((*MissingProperty)(nil)).Elem() -} - -type MissingWindowsCustResources struct { - CustomizationFault -} - -func init() { - t["MissingWindowsCustResources"] = reflect.TypeOf((*MissingWindowsCustResources)(nil)).Elem() -} - -type MissingWindowsCustResourcesFault MissingWindowsCustResources - -func init() { - t["MissingWindowsCustResourcesFault"] = reflect.TypeOf((*MissingWindowsCustResourcesFault)(nil)).Elem() -} - -type MksConnectionLimitReached struct { - InvalidState - - ConnectionLimit int32 `xml:"connectionLimit"` -} - -func init() { - t["MksConnectionLimitReached"] = reflect.TypeOf((*MksConnectionLimitReached)(nil)).Elem() -} - -type MksConnectionLimitReachedFault MksConnectionLimitReached - -func init() { - t["MksConnectionLimitReachedFault"] = reflect.TypeOf((*MksConnectionLimitReachedFault)(nil)).Elem() -} - -type ModeInfo struct { - DynamicData - - Browse string `xml:"browse,omitempty"` - Read string `xml:"read"` - Modify string `xml:"modify"` - Use string `xml:"use"` - Admin string `xml:"admin,omitempty"` - Full string `xml:"full"` -} - -func init() { - t["ModeInfo"] = reflect.TypeOf((*ModeInfo)(nil)).Elem() -} - -type ModifyListView ModifyListViewRequestType - -func init() { - t["ModifyListView"] = reflect.TypeOf((*ModifyListView)(nil)).Elem() -} - -type ModifyListViewRequestType struct { - This ManagedObjectReference `xml:"_this"` - Add []ManagedObjectReference `xml:"add,omitempty"` - Remove []ManagedObjectReference `xml:"remove,omitempty"` -} - -func init() { - t["ModifyListViewRequestType"] = reflect.TypeOf((*ModifyListViewRequestType)(nil)).Elem() -} - -type ModifyListViewResponse struct { - Returnval []ManagedObjectReference `xml:"returnval,omitempty"` -} - -type MonthlyByDayTaskScheduler struct { - MonthlyTaskScheduler - - Day int32 `xml:"day"` -} - -func init() { - t["MonthlyByDayTaskScheduler"] = reflect.TypeOf((*MonthlyByDayTaskScheduler)(nil)).Elem() -} - -type MonthlyByWeekdayTaskScheduler struct { - MonthlyTaskScheduler - - Offset WeekOfMonth `xml:"offset"` - Weekday DayOfWeek `xml:"weekday"` -} - -func init() { - t["MonthlyByWeekdayTaskScheduler"] = reflect.TypeOf((*MonthlyByWeekdayTaskScheduler)(nil)).Elem() -} - -type MonthlyTaskScheduler struct { - DailyTaskScheduler -} - -func init() { - t["MonthlyTaskScheduler"] = reflect.TypeOf((*MonthlyTaskScheduler)(nil)).Elem() -} - -type MountError struct { - CustomizationFault - - Vm ManagedObjectReference `xml:"vm"` - DiskIndex int32 `xml:"diskIndex"` -} - -func init() { - t["MountError"] = reflect.TypeOf((*MountError)(nil)).Elem() -} - -type MountErrorFault MountError - -func init() { - t["MountErrorFault"] = reflect.TypeOf((*MountErrorFault)(nil)).Elem() -} - -type MountToolsInstaller MountToolsInstallerRequestType - -func init() { - t["MountToolsInstaller"] = reflect.TypeOf((*MountToolsInstaller)(nil)).Elem() -} - -type MountToolsInstallerRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["MountToolsInstallerRequestType"] = reflect.TypeOf((*MountToolsInstallerRequestType)(nil)).Elem() -} - -type MountToolsInstallerResponse struct { -} - -type MountVffsVolume MountVffsVolumeRequestType - -func init() { - t["MountVffsVolume"] = reflect.TypeOf((*MountVffsVolume)(nil)).Elem() -} - -type MountVffsVolumeRequestType struct { - This ManagedObjectReference `xml:"_this"` - VffsUuid string `xml:"vffsUuid"` -} - -func init() { - t["MountVffsVolumeRequestType"] = reflect.TypeOf((*MountVffsVolumeRequestType)(nil)).Elem() -} - -type MountVffsVolumeResponse struct { -} - -type MountVmfsVolume MountVmfsVolumeRequestType - -func init() { - t["MountVmfsVolume"] = reflect.TypeOf((*MountVmfsVolume)(nil)).Elem() -} - -type MountVmfsVolumeExRequestType struct { - This ManagedObjectReference `xml:"_this"` - VmfsUuid []string `xml:"vmfsUuid"` -} - -func init() { - t["MountVmfsVolumeExRequestType"] = reflect.TypeOf((*MountVmfsVolumeExRequestType)(nil)).Elem() -} - -type MountVmfsVolumeEx_Task MountVmfsVolumeExRequestType - -func init() { - t["MountVmfsVolumeEx_Task"] = reflect.TypeOf((*MountVmfsVolumeEx_Task)(nil)).Elem() -} - -type MountVmfsVolumeEx_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type MountVmfsVolumeRequestType struct { - This ManagedObjectReference `xml:"_this"` - VmfsUuid string `xml:"vmfsUuid"` -} - -func init() { - t["MountVmfsVolumeRequestType"] = reflect.TypeOf((*MountVmfsVolumeRequestType)(nil)).Elem() -} - -type MountVmfsVolumeResponse struct { -} - -type MoveDVPortRequestType struct { - This ManagedObjectReference `xml:"_this"` - PortKey []string `xml:"portKey"` - DestinationPortgroupKey string `xml:"destinationPortgroupKey,omitempty"` -} - -func init() { - t["MoveDVPortRequestType"] = reflect.TypeOf((*MoveDVPortRequestType)(nil)).Elem() -} - -type MoveDVPort_Task MoveDVPortRequestType - -func init() { - t["MoveDVPort_Task"] = reflect.TypeOf((*MoveDVPort_Task)(nil)).Elem() -} - -type MoveDVPort_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type MoveDatastoreFileRequestType struct { - This ManagedObjectReference `xml:"_this"` - SourceName string `xml:"sourceName"` - SourceDatacenter *ManagedObjectReference `xml:"sourceDatacenter,omitempty"` - DestinationName string `xml:"destinationName"` - DestinationDatacenter *ManagedObjectReference `xml:"destinationDatacenter,omitempty"` - Force *bool `xml:"force"` -} - -func init() { - t["MoveDatastoreFileRequestType"] = reflect.TypeOf((*MoveDatastoreFileRequestType)(nil)).Elem() -} - -type MoveDatastoreFile_Task MoveDatastoreFileRequestType - -func init() { - t["MoveDatastoreFile_Task"] = reflect.TypeOf((*MoveDatastoreFile_Task)(nil)).Elem() -} - -type MoveDatastoreFile_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type MoveDirectoryInGuest MoveDirectoryInGuestRequestType - -func init() { - t["MoveDirectoryInGuest"] = reflect.TypeOf((*MoveDirectoryInGuest)(nil)).Elem() -} - -type MoveDirectoryInGuestRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm ManagedObjectReference `xml:"vm"` - Auth BaseGuestAuthentication `xml:"auth,typeattr"` - SrcDirectoryPath string `xml:"srcDirectoryPath"` - DstDirectoryPath string `xml:"dstDirectoryPath"` -} - -func init() { - t["MoveDirectoryInGuestRequestType"] = reflect.TypeOf((*MoveDirectoryInGuestRequestType)(nil)).Elem() -} - -type MoveDirectoryInGuestResponse struct { -} - -type MoveFileInGuest MoveFileInGuestRequestType - -func init() { - t["MoveFileInGuest"] = reflect.TypeOf((*MoveFileInGuest)(nil)).Elem() -} - -type MoveFileInGuestRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm ManagedObjectReference `xml:"vm"` - Auth BaseGuestAuthentication `xml:"auth,typeattr"` - SrcFilePath string `xml:"srcFilePath"` - DstFilePath string `xml:"dstFilePath"` - Overwrite bool `xml:"overwrite"` -} - -func init() { - t["MoveFileInGuestRequestType"] = reflect.TypeOf((*MoveFileInGuestRequestType)(nil)).Elem() -} - -type MoveFileInGuestResponse struct { -} - -type MoveHostIntoRequestType struct { - This ManagedObjectReference `xml:"_this"` - Host ManagedObjectReference `xml:"host"` - ResourcePool *ManagedObjectReference `xml:"resourcePool,omitempty"` -} - -func init() { - t["MoveHostIntoRequestType"] = reflect.TypeOf((*MoveHostIntoRequestType)(nil)).Elem() -} - -type MoveHostInto_Task MoveHostIntoRequestType - -func init() { - t["MoveHostInto_Task"] = reflect.TypeOf((*MoveHostInto_Task)(nil)).Elem() -} - -type MoveHostInto_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type MoveIntoFolderRequestType struct { - This ManagedObjectReference `xml:"_this"` - List []ManagedObjectReference `xml:"list"` -} - -func init() { - t["MoveIntoFolderRequestType"] = reflect.TypeOf((*MoveIntoFolderRequestType)(nil)).Elem() -} - -type MoveIntoFolder_Task MoveIntoFolderRequestType - -func init() { - t["MoveIntoFolder_Task"] = reflect.TypeOf((*MoveIntoFolder_Task)(nil)).Elem() -} - -type MoveIntoFolder_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type MoveIntoRequestType struct { - This ManagedObjectReference `xml:"_this"` - Host []ManagedObjectReference `xml:"host"` -} - -func init() { - t["MoveIntoRequestType"] = reflect.TypeOf((*MoveIntoRequestType)(nil)).Elem() -} - -type MoveIntoResourcePool MoveIntoResourcePoolRequestType - -func init() { - t["MoveIntoResourcePool"] = reflect.TypeOf((*MoveIntoResourcePool)(nil)).Elem() -} - -type MoveIntoResourcePoolRequestType struct { - This ManagedObjectReference `xml:"_this"` - List []ManagedObjectReference `xml:"list"` -} - -func init() { - t["MoveIntoResourcePoolRequestType"] = reflect.TypeOf((*MoveIntoResourcePoolRequestType)(nil)).Elem() -} - -type MoveIntoResourcePoolResponse struct { -} - -type MoveInto_Task MoveIntoRequestType - -func init() { - t["MoveInto_Task"] = reflect.TypeOf((*MoveInto_Task)(nil)).Elem() -} - -type MoveInto_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type MoveVirtualDiskRequestType struct { - This ManagedObjectReference `xml:"_this"` - SourceName string `xml:"sourceName"` - SourceDatacenter *ManagedObjectReference `xml:"sourceDatacenter,omitempty"` - DestName string `xml:"destName"` - DestDatacenter *ManagedObjectReference `xml:"destDatacenter,omitempty"` - Force *bool `xml:"force"` - Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr"` -} - -func init() { - t["MoveVirtualDiskRequestType"] = reflect.TypeOf((*MoveVirtualDiskRequestType)(nil)).Elem() -} - -type MoveVirtualDisk_Task MoveVirtualDiskRequestType - -func init() { - t["MoveVirtualDisk_Task"] = reflect.TypeOf((*MoveVirtualDisk_Task)(nil)).Elem() -} - -type MoveVirtualDisk_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type MtuMatchEvent struct { - DvsHealthStatusChangeEvent -} - -func init() { - t["MtuMatchEvent"] = reflect.TypeOf((*MtuMatchEvent)(nil)).Elem() -} - -type MtuMismatchEvent struct { - DvsHealthStatusChangeEvent -} - -func init() { - t["MtuMismatchEvent"] = reflect.TypeOf((*MtuMismatchEvent)(nil)).Elem() -} - -type MultiWriterNotSupported struct { - DeviceNotSupported -} - -func init() { - t["MultiWriterNotSupported"] = reflect.TypeOf((*MultiWriterNotSupported)(nil)).Elem() -} - -type MultiWriterNotSupportedFault MultiWriterNotSupported - -func init() { - t["MultiWriterNotSupportedFault"] = reflect.TypeOf((*MultiWriterNotSupportedFault)(nil)).Elem() -} - -type MultipleCertificatesVerifyFault struct { - HostConnectFault - - ThumbprintData []MultipleCertificatesVerifyFaultThumbprintData `xml:"thumbprintData"` -} - -func init() { - t["MultipleCertificatesVerifyFault"] = reflect.TypeOf((*MultipleCertificatesVerifyFault)(nil)).Elem() -} - -type MultipleCertificatesVerifyFaultFault MultipleCertificatesVerifyFault - -func init() { - t["MultipleCertificatesVerifyFaultFault"] = reflect.TypeOf((*MultipleCertificatesVerifyFaultFault)(nil)).Elem() -} - -type MultipleCertificatesVerifyFaultThumbprintData struct { - DynamicData - - Port int32 `xml:"port"` - Thumbprint string `xml:"thumbprint"` -} - -func init() { - t["MultipleCertificatesVerifyFaultThumbprintData"] = reflect.TypeOf((*MultipleCertificatesVerifyFaultThumbprintData)(nil)).Elem() -} - -type MultipleSnapshotsNotSupported struct { - SnapshotFault -} - -func init() { - t["MultipleSnapshotsNotSupported"] = reflect.TypeOf((*MultipleSnapshotsNotSupported)(nil)).Elem() -} - -type MultipleSnapshotsNotSupportedFault MultipleSnapshotsNotSupported - -func init() { - t["MultipleSnapshotsNotSupportedFault"] = reflect.TypeOf((*MultipleSnapshotsNotSupportedFault)(nil)).Elem() -} - -type NASDatastoreCreatedEvent struct { - HostEvent - - Datastore DatastoreEventArgument `xml:"datastore"` - DatastoreUrl string `xml:"datastoreUrl,omitempty"` -} - -func init() { - t["NASDatastoreCreatedEvent"] = reflect.TypeOf((*NASDatastoreCreatedEvent)(nil)).Elem() -} - -type NamePasswordAuthentication struct { - GuestAuthentication - - Username string `xml:"username"` - Password string `xml:"password"` -} - -func init() { - t["NamePasswordAuthentication"] = reflect.TypeOf((*NamePasswordAuthentication)(nil)).Elem() -} - -type NamespaceFull struct { - VimFault - - Name string `xml:"name"` - CurrentMaxSize int64 `xml:"currentMaxSize"` - RequiredSize int64 `xml:"requiredSize,omitempty"` -} - -func init() { - t["NamespaceFull"] = reflect.TypeOf((*NamespaceFull)(nil)).Elem() -} - -type NamespaceFullFault NamespaceFull - -func init() { - t["NamespaceFullFault"] = reflect.TypeOf((*NamespaceFullFault)(nil)).Elem() -} - -type NamespaceLimitReached struct { - VimFault - - Limit *int32 `xml:"limit"` -} - -func init() { - t["NamespaceLimitReached"] = reflect.TypeOf((*NamespaceLimitReached)(nil)).Elem() -} - -type NamespaceLimitReachedFault NamespaceLimitReached - -func init() { - t["NamespaceLimitReachedFault"] = reflect.TypeOf((*NamespaceLimitReachedFault)(nil)).Elem() -} - -type NamespaceWriteProtected struct { - VimFault - - Name string `xml:"name"` -} - -func init() { - t["NamespaceWriteProtected"] = reflect.TypeOf((*NamespaceWriteProtected)(nil)).Elem() -} - -type NamespaceWriteProtectedFault NamespaceWriteProtected - -func init() { - t["NamespaceWriteProtectedFault"] = reflect.TypeOf((*NamespaceWriteProtectedFault)(nil)).Elem() -} - -type NasConfigFault struct { - HostConfigFault - - Name string `xml:"name"` -} - -func init() { - t["NasConfigFault"] = reflect.TypeOf((*NasConfigFault)(nil)).Elem() -} - -type NasConfigFaultFault BaseNasConfigFault - -func init() { - t["NasConfigFaultFault"] = reflect.TypeOf((*NasConfigFaultFault)(nil)).Elem() -} - -type NasConnectionLimitReached struct { - NasConfigFault - - RemoteHost string `xml:"remoteHost"` - RemotePath string `xml:"remotePath"` -} - -func init() { - t["NasConnectionLimitReached"] = reflect.TypeOf((*NasConnectionLimitReached)(nil)).Elem() -} - -type NasConnectionLimitReachedFault NasConnectionLimitReached - -func init() { - t["NasConnectionLimitReachedFault"] = reflect.TypeOf((*NasConnectionLimitReachedFault)(nil)).Elem() -} - -type NasDatastoreInfo struct { - DatastoreInfo - - Nas *HostNasVolume `xml:"nas,omitempty"` -} - -func init() { - t["NasDatastoreInfo"] = reflect.TypeOf((*NasDatastoreInfo)(nil)).Elem() -} - -type NasSessionCredentialConflict struct { - NasConfigFault - - RemoteHost string `xml:"remoteHost"` - RemotePath string `xml:"remotePath"` - UserName string `xml:"userName"` -} - -func init() { - t["NasSessionCredentialConflict"] = reflect.TypeOf((*NasSessionCredentialConflict)(nil)).Elem() -} - -type NasSessionCredentialConflictFault NasSessionCredentialConflict - -func init() { - t["NasSessionCredentialConflictFault"] = reflect.TypeOf((*NasSessionCredentialConflictFault)(nil)).Elem() -} - -type NasStorageProfile struct { - ApplyProfile - - Key string `xml:"key"` -} - -func init() { - t["NasStorageProfile"] = reflect.TypeOf((*NasStorageProfile)(nil)).Elem() -} - -type NasVolumeNotMounted struct { - NasConfigFault - - RemoteHost string `xml:"remoteHost"` - RemotePath string `xml:"remotePath"` -} - -func init() { - t["NasVolumeNotMounted"] = reflect.TypeOf((*NasVolumeNotMounted)(nil)).Elem() -} - -type NasVolumeNotMountedFault NasVolumeNotMounted - -func init() { - t["NasVolumeNotMountedFault"] = reflect.TypeOf((*NasVolumeNotMountedFault)(nil)).Elem() -} - -type NegatableExpression struct { - DynamicData - - Negate *bool `xml:"negate"` -} - -func init() { - t["NegatableExpression"] = reflect.TypeOf((*NegatableExpression)(nil)).Elem() -} - -type NetBIOSConfigInfo struct { - DynamicData - - Mode string `xml:"mode"` -} - -func init() { - t["NetBIOSConfigInfo"] = reflect.TypeOf((*NetBIOSConfigInfo)(nil)).Elem() -} - -type NetDhcpConfigInfo struct { - DynamicData - - Ipv6 *NetDhcpConfigInfoDhcpOptions `xml:"ipv6,omitempty"` - Ipv4 *NetDhcpConfigInfoDhcpOptions `xml:"ipv4,omitempty"` -} - -func init() { - t["NetDhcpConfigInfo"] = reflect.TypeOf((*NetDhcpConfigInfo)(nil)).Elem() -} - -type NetDhcpConfigInfoDhcpOptions struct { - DynamicData - - Enable bool `xml:"enable"` - Config []KeyValue `xml:"config,omitempty"` -} - -func init() { - t["NetDhcpConfigInfoDhcpOptions"] = reflect.TypeOf((*NetDhcpConfigInfoDhcpOptions)(nil)).Elem() -} - -type NetDhcpConfigSpec struct { - DynamicData - - Ipv6 *NetDhcpConfigSpecDhcpOptionsSpec `xml:"ipv6,omitempty"` - Ipv4 *NetDhcpConfigSpecDhcpOptionsSpec `xml:"ipv4,omitempty"` -} - -func init() { - t["NetDhcpConfigSpec"] = reflect.TypeOf((*NetDhcpConfigSpec)(nil)).Elem() -} - -type NetDhcpConfigSpecDhcpOptionsSpec struct { - DynamicData - - Enable *bool `xml:"enable"` - Config []KeyValue `xml:"config"` - Operation string `xml:"operation"` -} - -func init() { - t["NetDhcpConfigSpecDhcpOptionsSpec"] = reflect.TypeOf((*NetDhcpConfigSpecDhcpOptionsSpec)(nil)).Elem() -} - -type NetDnsConfigInfo struct { - DynamicData - - Dhcp bool `xml:"dhcp"` - HostName string `xml:"hostName"` - DomainName string `xml:"domainName"` - IpAddress []string `xml:"ipAddress,omitempty"` - SearchDomain []string `xml:"searchDomain,omitempty"` -} - -func init() { - t["NetDnsConfigInfo"] = reflect.TypeOf((*NetDnsConfigInfo)(nil)).Elem() -} - -type NetDnsConfigSpec struct { - DynamicData - - Dhcp *bool `xml:"dhcp"` - HostName string `xml:"hostName,omitempty"` - DomainName string `xml:"domainName,omitempty"` - IpAddress []string `xml:"ipAddress,omitempty"` - SearchDomain []string `xml:"searchDomain,omitempty"` -} - -func init() { - t["NetDnsConfigSpec"] = reflect.TypeOf((*NetDnsConfigSpec)(nil)).Elem() -} - -type NetIpConfigInfo struct { - DynamicData - - IpAddress []NetIpConfigInfoIpAddress `xml:"ipAddress,omitempty"` - Dhcp *NetDhcpConfigInfo `xml:"dhcp,omitempty"` - AutoConfigurationEnabled *bool `xml:"autoConfigurationEnabled"` -} - -func init() { - t["NetIpConfigInfo"] = reflect.TypeOf((*NetIpConfigInfo)(nil)).Elem() -} - -type NetIpConfigInfoIpAddress struct { - DynamicData - - IpAddress string `xml:"ipAddress"` - PrefixLength int32 `xml:"prefixLength"` - Origin string `xml:"origin,omitempty"` - State string `xml:"state,omitempty"` - Lifetime *time.Time `xml:"lifetime"` -} - -func init() { - t["NetIpConfigInfoIpAddress"] = reflect.TypeOf((*NetIpConfigInfoIpAddress)(nil)).Elem() -} - -type NetIpConfigSpec struct { - DynamicData - - IpAddress []NetIpConfigSpecIpAddressSpec `xml:"ipAddress,omitempty"` - Dhcp *NetDhcpConfigSpec `xml:"dhcp,omitempty"` - AutoConfigurationEnabled *bool `xml:"autoConfigurationEnabled"` -} - -func init() { - t["NetIpConfigSpec"] = reflect.TypeOf((*NetIpConfigSpec)(nil)).Elem() -} - -type NetIpConfigSpecIpAddressSpec struct { - DynamicData - - IpAddress string `xml:"ipAddress"` - PrefixLength int32 `xml:"prefixLength"` - Operation string `xml:"operation"` -} - -func init() { - t["NetIpConfigSpecIpAddressSpec"] = reflect.TypeOf((*NetIpConfigSpecIpAddressSpec)(nil)).Elem() -} - -type NetIpRouteConfigInfo struct { - DynamicData - - IpRoute []NetIpRouteConfigInfoIpRoute `xml:"ipRoute,omitempty"` -} - -func init() { - t["NetIpRouteConfigInfo"] = reflect.TypeOf((*NetIpRouteConfigInfo)(nil)).Elem() -} - -type NetIpRouteConfigInfoGateway struct { - DynamicData - - IpAddress string `xml:"ipAddress,omitempty"` - Device string `xml:"device,omitempty"` -} - -func init() { - t["NetIpRouteConfigInfoGateway"] = reflect.TypeOf((*NetIpRouteConfigInfoGateway)(nil)).Elem() -} - -type NetIpRouteConfigInfoIpRoute struct { - DynamicData - - Network string `xml:"network"` - PrefixLength int32 `xml:"prefixLength"` - Gateway NetIpRouteConfigInfoGateway `xml:"gateway"` -} - -func init() { - t["NetIpRouteConfigInfoIpRoute"] = reflect.TypeOf((*NetIpRouteConfigInfoIpRoute)(nil)).Elem() -} - -type NetIpRouteConfigSpec struct { - DynamicData - - IpRoute []NetIpRouteConfigSpecIpRouteSpec `xml:"ipRoute,omitempty"` -} - -func init() { - t["NetIpRouteConfigSpec"] = reflect.TypeOf((*NetIpRouteConfigSpec)(nil)).Elem() -} - -type NetIpRouteConfigSpecGatewaySpec struct { - DynamicData - - IpAddress string `xml:"ipAddress,omitempty"` - Device string `xml:"device,omitempty"` -} - -func init() { - t["NetIpRouteConfigSpecGatewaySpec"] = reflect.TypeOf((*NetIpRouteConfigSpecGatewaySpec)(nil)).Elem() -} - -type NetIpRouteConfigSpecIpRouteSpec struct { - DynamicData - - Network string `xml:"network"` - PrefixLength int32 `xml:"prefixLength"` - Gateway NetIpRouteConfigSpecGatewaySpec `xml:"gateway"` - Operation string `xml:"operation"` -} - -func init() { - t["NetIpRouteConfigSpecIpRouteSpec"] = reflect.TypeOf((*NetIpRouteConfigSpecIpRouteSpec)(nil)).Elem() -} - -type NetIpStackInfo struct { - DynamicData - - Neighbor []NetIpStackInfoNetToMedia `xml:"neighbor,omitempty"` - DefaultRouter []NetIpStackInfoDefaultRouter `xml:"defaultRouter,omitempty"` -} - -func init() { - t["NetIpStackInfo"] = reflect.TypeOf((*NetIpStackInfo)(nil)).Elem() -} - -type NetIpStackInfoDefaultRouter struct { - DynamicData - - IpAddress string `xml:"ipAddress"` - Device string `xml:"device"` - Lifetime time.Time `xml:"lifetime"` - Preference string `xml:"preference"` -} - -func init() { - t["NetIpStackInfoDefaultRouter"] = reflect.TypeOf((*NetIpStackInfoDefaultRouter)(nil)).Elem() -} - -type NetIpStackInfoNetToMedia struct { - DynamicData - - IpAddress string `xml:"ipAddress"` - PhysicalAddress string `xml:"physicalAddress"` - Device string `xml:"device"` - Type string `xml:"type"` -} - -func init() { - t["NetIpStackInfoNetToMedia"] = reflect.TypeOf((*NetIpStackInfoNetToMedia)(nil)).Elem() -} - -type NetStackInstanceProfile struct { - ApplyProfile - - Key string `xml:"key"` - DnsConfig NetworkProfileDnsConfigProfile `xml:"dnsConfig"` - IpRouteConfig IpRouteProfile `xml:"ipRouteConfig"` -} - -func init() { - t["NetStackInstanceProfile"] = reflect.TypeOf((*NetStackInstanceProfile)(nil)).Elem() -} - -type NetworkCopyFault struct { - FileFault -} - -func init() { - t["NetworkCopyFault"] = reflect.TypeOf((*NetworkCopyFault)(nil)).Elem() -} - -type NetworkCopyFaultFault NetworkCopyFault - -func init() { - t["NetworkCopyFaultFault"] = reflect.TypeOf((*NetworkCopyFaultFault)(nil)).Elem() -} - -type NetworkDisruptedAndConfigRolledBack struct { - VimFault - - Host string `xml:"host"` -} - -func init() { - t["NetworkDisruptedAndConfigRolledBack"] = reflect.TypeOf((*NetworkDisruptedAndConfigRolledBack)(nil)).Elem() -} - -type NetworkDisruptedAndConfigRolledBackFault NetworkDisruptedAndConfigRolledBack - -func init() { - t["NetworkDisruptedAndConfigRolledBackFault"] = reflect.TypeOf((*NetworkDisruptedAndConfigRolledBackFault)(nil)).Elem() -} - -type NetworkEventArgument struct { - EntityEventArgument - - Network ManagedObjectReference `xml:"network"` -} - -func init() { - t["NetworkEventArgument"] = reflect.TypeOf((*NetworkEventArgument)(nil)).Elem() -} - -type NetworkInaccessible struct { - NasConfigFault -} - -func init() { - t["NetworkInaccessible"] = reflect.TypeOf((*NetworkInaccessible)(nil)).Elem() -} - -type NetworkInaccessibleFault NetworkInaccessible - -func init() { - t["NetworkInaccessibleFault"] = reflect.TypeOf((*NetworkInaccessibleFault)(nil)).Elem() -} - -type NetworkPolicyProfile struct { - ApplyProfile -} - -func init() { - t["NetworkPolicyProfile"] = reflect.TypeOf((*NetworkPolicyProfile)(nil)).Elem() -} - -type NetworkProfile struct { - ApplyProfile - - Vswitch []VirtualSwitchProfile `xml:"vswitch,omitempty"` - VmPortGroup []VmPortGroupProfile `xml:"vmPortGroup,omitempty"` - HostPortGroup []HostPortGroupProfile `xml:"hostPortGroup,omitempty"` - ServiceConsolePortGroup []ServiceConsolePortGroupProfile `xml:"serviceConsolePortGroup,omitempty"` - DnsConfig *NetworkProfileDnsConfigProfile `xml:"dnsConfig,omitempty"` - IpRouteConfig *IpRouteProfile `xml:"ipRouteConfig,omitempty"` - ConsoleIpRouteConfig *IpRouteProfile `xml:"consoleIpRouteConfig,omitempty"` - Pnic []PhysicalNicProfile `xml:"pnic,omitempty"` - Dvswitch []DvsProfile `xml:"dvswitch,omitempty"` - DvsServiceConsoleNic []DvsServiceConsoleVNicProfile `xml:"dvsServiceConsoleNic,omitempty"` - DvsHostNic []DvsHostVNicProfile `xml:"dvsHostNic,omitempty"` - NsxHostNic []NsxHostVNicProfile `xml:"nsxHostNic,omitempty"` - NetStackInstance []NetStackInstanceProfile `xml:"netStackInstance,omitempty"` - OpaqueSwitch *OpaqueSwitchProfile `xml:"opaqueSwitch,omitempty"` -} - -func init() { - t["NetworkProfile"] = reflect.TypeOf((*NetworkProfile)(nil)).Elem() -} - -type NetworkProfileDnsConfigProfile struct { - ApplyProfile -} - -func init() { - t["NetworkProfileDnsConfigProfile"] = reflect.TypeOf((*NetworkProfileDnsConfigProfile)(nil)).Elem() -} - -type NetworkRollbackEvent struct { - Event - - MethodName string `xml:"methodName"` - TransactionId string `xml:"transactionId"` -} - -func init() { - t["NetworkRollbackEvent"] = reflect.TypeOf((*NetworkRollbackEvent)(nil)).Elem() -} - -type NetworkSummary struct { - DynamicData - - Network *ManagedObjectReference `xml:"network,omitempty"` - Name string `xml:"name"` - Accessible bool `xml:"accessible"` - IpPoolName string `xml:"ipPoolName"` - IpPoolId *int32 `xml:"ipPoolId"` -} - -func init() { - t["NetworkSummary"] = reflect.TypeOf((*NetworkSummary)(nil)).Elem() -} - -type NetworksMayNotBeTheSame struct { - MigrationFault - - Name string `xml:"name,omitempty"` -} - -func init() { - t["NetworksMayNotBeTheSame"] = reflect.TypeOf((*NetworksMayNotBeTheSame)(nil)).Elem() -} - -type NetworksMayNotBeTheSameFault NetworksMayNotBeTheSame - -func init() { - t["NetworksMayNotBeTheSameFault"] = reflect.TypeOf((*NetworksMayNotBeTheSameFault)(nil)).Elem() -} - -type NicSettingMismatch struct { - CustomizationFault - - NumberOfNicsInSpec int32 `xml:"numberOfNicsInSpec"` - NumberOfNicsInVM int32 `xml:"numberOfNicsInVM"` -} - -func init() { - t["NicSettingMismatch"] = reflect.TypeOf((*NicSettingMismatch)(nil)).Elem() -} - -type NicSettingMismatchFault NicSettingMismatch - -func init() { - t["NicSettingMismatchFault"] = reflect.TypeOf((*NicSettingMismatchFault)(nil)).Elem() -} - -type NoAccessUserEvent struct { - SessionEvent - - IpAddress string `xml:"ipAddress"` -} - -func init() { - t["NoAccessUserEvent"] = reflect.TypeOf((*NoAccessUserEvent)(nil)).Elem() -} - -type NoActiveHostInCluster struct { - InvalidState - - ComputeResource ManagedObjectReference `xml:"computeResource"` -} - -func init() { - t["NoActiveHostInCluster"] = reflect.TypeOf((*NoActiveHostInCluster)(nil)).Elem() -} - -type NoActiveHostInClusterFault NoActiveHostInCluster - -func init() { - t["NoActiveHostInClusterFault"] = reflect.TypeOf((*NoActiveHostInClusterFault)(nil)).Elem() -} - -type NoAvailableIp struct { - VAppPropertyFault - - Network ManagedObjectReference `xml:"network"` -} - -func init() { - t["NoAvailableIp"] = reflect.TypeOf((*NoAvailableIp)(nil)).Elem() -} - -type NoAvailableIpFault NoAvailableIp - -func init() { - t["NoAvailableIpFault"] = reflect.TypeOf((*NoAvailableIpFault)(nil)).Elem() -} - -type NoClientCertificate struct { - VimFault -} - -func init() { - t["NoClientCertificate"] = reflect.TypeOf((*NoClientCertificate)(nil)).Elem() -} - -type NoClientCertificateFault NoClientCertificate - -func init() { - t["NoClientCertificateFault"] = reflect.TypeOf((*NoClientCertificateFault)(nil)).Elem() -} - -type NoCompatibleDatastore struct { - VimFault -} - -func init() { - t["NoCompatibleDatastore"] = reflect.TypeOf((*NoCompatibleDatastore)(nil)).Elem() -} - -type NoCompatibleDatastoreFault NoCompatibleDatastore - -func init() { - t["NoCompatibleDatastoreFault"] = reflect.TypeOf((*NoCompatibleDatastoreFault)(nil)).Elem() -} - -type NoCompatibleHardAffinityHost struct { - VmConfigFault - - VmName string `xml:"vmName"` -} - -func init() { - t["NoCompatibleHardAffinityHost"] = reflect.TypeOf((*NoCompatibleHardAffinityHost)(nil)).Elem() -} - -type NoCompatibleHardAffinityHostFault NoCompatibleHardAffinityHost - -func init() { - t["NoCompatibleHardAffinityHostFault"] = reflect.TypeOf((*NoCompatibleHardAffinityHostFault)(nil)).Elem() -} - -type NoCompatibleHost struct { - VimFault - - Host []ManagedObjectReference `xml:"host,omitempty"` - Error []LocalizedMethodFault `xml:"error,omitempty"` -} - -func init() { - t["NoCompatibleHost"] = reflect.TypeOf((*NoCompatibleHost)(nil)).Elem() -} - -type NoCompatibleHostFault BaseNoCompatibleHost - -func init() { - t["NoCompatibleHostFault"] = reflect.TypeOf((*NoCompatibleHostFault)(nil)).Elem() -} - -type NoCompatibleHostWithAccessToDevice struct { - NoCompatibleHost -} - -func init() { - t["NoCompatibleHostWithAccessToDevice"] = reflect.TypeOf((*NoCompatibleHostWithAccessToDevice)(nil)).Elem() -} - -type NoCompatibleHostWithAccessToDeviceFault NoCompatibleHostWithAccessToDevice - -func init() { - t["NoCompatibleHostWithAccessToDeviceFault"] = reflect.TypeOf((*NoCompatibleHostWithAccessToDeviceFault)(nil)).Elem() -} - -type NoCompatibleSoftAffinityHost struct { - VmConfigFault - - VmName string `xml:"vmName"` -} - -func init() { - t["NoCompatibleSoftAffinityHost"] = reflect.TypeOf((*NoCompatibleSoftAffinityHost)(nil)).Elem() -} - -type NoCompatibleSoftAffinityHostFault NoCompatibleSoftAffinityHost - -func init() { - t["NoCompatibleSoftAffinityHostFault"] = reflect.TypeOf((*NoCompatibleSoftAffinityHostFault)(nil)).Elem() -} - -type NoConnectedDatastore struct { - VimFault -} - -func init() { - t["NoConnectedDatastore"] = reflect.TypeOf((*NoConnectedDatastore)(nil)).Elem() -} - -type NoConnectedDatastoreFault NoConnectedDatastore - -func init() { - t["NoConnectedDatastoreFault"] = reflect.TypeOf((*NoConnectedDatastoreFault)(nil)).Elem() -} - -type NoDatastoresConfiguredEvent struct { - HostEvent -} - -func init() { - t["NoDatastoresConfiguredEvent"] = reflect.TypeOf((*NoDatastoresConfiguredEvent)(nil)).Elem() -} - -type NoDiskFound struct { - VimFault -} - -func init() { - t["NoDiskFound"] = reflect.TypeOf((*NoDiskFound)(nil)).Elem() -} - -type NoDiskFoundFault NoDiskFound - -func init() { - t["NoDiskFoundFault"] = reflect.TypeOf((*NoDiskFoundFault)(nil)).Elem() -} - -type NoDiskSpace struct { - FileFault - - Datastore string `xml:"datastore"` -} - -func init() { - t["NoDiskSpace"] = reflect.TypeOf((*NoDiskSpace)(nil)).Elem() -} - -type NoDiskSpaceFault NoDiskSpace - -func init() { - t["NoDiskSpaceFault"] = reflect.TypeOf((*NoDiskSpaceFault)(nil)).Elem() -} - -type NoDisksToCustomize struct { - CustomizationFault -} - -func init() { - t["NoDisksToCustomize"] = reflect.TypeOf((*NoDisksToCustomize)(nil)).Elem() -} - -type NoDisksToCustomizeFault NoDisksToCustomize - -func init() { - t["NoDisksToCustomizeFault"] = reflect.TypeOf((*NoDisksToCustomizeFault)(nil)).Elem() -} - -type NoGateway struct { - HostConfigFault -} - -func init() { - t["NoGateway"] = reflect.TypeOf((*NoGateway)(nil)).Elem() -} - -type NoGatewayFault NoGateway - -func init() { - t["NoGatewayFault"] = reflect.TypeOf((*NoGatewayFault)(nil)).Elem() -} - -type NoGuestHeartbeat struct { - MigrationFault -} - -func init() { - t["NoGuestHeartbeat"] = reflect.TypeOf((*NoGuestHeartbeat)(nil)).Elem() -} - -type NoGuestHeartbeatFault NoGuestHeartbeat - -func init() { - t["NoGuestHeartbeatFault"] = reflect.TypeOf((*NoGuestHeartbeatFault)(nil)).Elem() -} - -type NoHost struct { - HostConnectFault - - Name string `xml:"name,omitempty"` -} - -func init() { - t["NoHost"] = reflect.TypeOf((*NoHost)(nil)).Elem() -} - -type NoHostFault NoHost - -func init() { - t["NoHostFault"] = reflect.TypeOf((*NoHostFault)(nil)).Elem() -} - -type NoHostSuitableForFtSecondary struct { - VmFaultToleranceIssue - - Vm ManagedObjectReference `xml:"vm"` - VmName string `xml:"vmName"` -} - -func init() { - t["NoHostSuitableForFtSecondary"] = reflect.TypeOf((*NoHostSuitableForFtSecondary)(nil)).Elem() -} - -type NoHostSuitableForFtSecondaryFault NoHostSuitableForFtSecondary - -func init() { - t["NoHostSuitableForFtSecondaryFault"] = reflect.TypeOf((*NoHostSuitableForFtSecondaryFault)(nil)).Elem() -} - -type NoLicenseEvent struct { - LicenseEvent - - Feature LicenseFeatureInfo `xml:"feature"` -} - -func init() { - t["NoLicenseEvent"] = reflect.TypeOf((*NoLicenseEvent)(nil)).Elem() -} - -type NoLicenseServerConfigured struct { - NotEnoughLicenses -} - -func init() { - t["NoLicenseServerConfigured"] = reflect.TypeOf((*NoLicenseServerConfigured)(nil)).Elem() -} - -type NoLicenseServerConfiguredFault NoLicenseServerConfigured - -func init() { - t["NoLicenseServerConfiguredFault"] = reflect.TypeOf((*NoLicenseServerConfiguredFault)(nil)).Elem() -} - -type NoMaintenanceModeDrsRecommendationForVM struct { - VmEvent -} - -func init() { - t["NoMaintenanceModeDrsRecommendationForVM"] = reflect.TypeOf((*NoMaintenanceModeDrsRecommendationForVM)(nil)).Elem() -} - -type NoPeerHostFound struct { - HostPowerOpFailed -} - -func init() { - t["NoPeerHostFound"] = reflect.TypeOf((*NoPeerHostFound)(nil)).Elem() -} - -type NoPeerHostFoundFault NoPeerHostFound - -func init() { - t["NoPeerHostFoundFault"] = reflect.TypeOf((*NoPeerHostFoundFault)(nil)).Elem() -} - -type NoPermission struct { - SecurityError - - Object *ManagedObjectReference `xml:"object,omitempty"` - PrivilegeId string `xml:"privilegeId,omitempty"` - MissingPrivileges []NoPermissionEntityPrivileges `xml:"missingPrivileges,omitempty"` -} - -func init() { - t["NoPermission"] = reflect.TypeOf((*NoPermission)(nil)).Elem() -} - -type NoPermissionEntityPrivileges struct { - DynamicData - - Entity ManagedObjectReference `xml:"entity"` - PrivilegeIds []string `xml:"privilegeIds,omitempty"` -} - -func init() { - t["NoPermissionEntityPrivileges"] = reflect.TypeOf((*NoPermissionEntityPrivileges)(nil)).Elem() -} - -type NoPermissionFault BaseNoPermission - -func init() { - t["NoPermissionFault"] = reflect.TypeOf((*NoPermissionFault)(nil)).Elem() -} - -type NoPermissionOnAD struct { - ActiveDirectoryFault -} - -func init() { - t["NoPermissionOnAD"] = reflect.TypeOf((*NoPermissionOnAD)(nil)).Elem() -} - -type NoPermissionOnADFault NoPermissionOnAD - -func init() { - t["NoPermissionOnADFault"] = reflect.TypeOf((*NoPermissionOnADFault)(nil)).Elem() -} - -type NoPermissionOnHost struct { - HostConnectFault -} - -func init() { - t["NoPermissionOnHost"] = reflect.TypeOf((*NoPermissionOnHost)(nil)).Elem() -} - -type NoPermissionOnHostFault NoPermissionOnHost - -func init() { - t["NoPermissionOnHostFault"] = reflect.TypeOf((*NoPermissionOnHostFault)(nil)).Elem() -} - -type NoPermissionOnNasVolume struct { - NasConfigFault - - UserName string `xml:"userName,omitempty"` -} - -func init() { - t["NoPermissionOnNasVolume"] = reflect.TypeOf((*NoPermissionOnNasVolume)(nil)).Elem() -} - -type NoPermissionOnNasVolumeFault NoPermissionOnNasVolume - -func init() { - t["NoPermissionOnNasVolumeFault"] = reflect.TypeOf((*NoPermissionOnNasVolumeFault)(nil)).Elem() -} - -type NoSubjectName struct { - VimFault -} - -func init() { - t["NoSubjectName"] = reflect.TypeOf((*NoSubjectName)(nil)).Elem() -} - -type NoSubjectNameFault NoSubjectName - -func init() { - t["NoSubjectNameFault"] = reflect.TypeOf((*NoSubjectNameFault)(nil)).Elem() -} - -type NoVcManagedIpConfigured struct { - VAppPropertyFault -} - -func init() { - t["NoVcManagedIpConfigured"] = reflect.TypeOf((*NoVcManagedIpConfigured)(nil)).Elem() -} - -type NoVcManagedIpConfiguredFault NoVcManagedIpConfigured - -func init() { - t["NoVcManagedIpConfiguredFault"] = reflect.TypeOf((*NoVcManagedIpConfiguredFault)(nil)).Elem() -} - -type NoVirtualNic struct { - HostConfigFault -} - -func init() { - t["NoVirtualNic"] = reflect.TypeOf((*NoVirtualNic)(nil)).Elem() -} - -type NoVirtualNicFault NoVirtualNic - -func init() { - t["NoVirtualNicFault"] = reflect.TypeOf((*NoVirtualNicFault)(nil)).Elem() -} - -type NoVmInVApp struct { - VAppConfigFault -} - -func init() { - t["NoVmInVApp"] = reflect.TypeOf((*NoVmInVApp)(nil)).Elem() -} - -type NoVmInVAppFault NoVmInVApp - -func init() { - t["NoVmInVAppFault"] = reflect.TypeOf((*NoVmInVAppFault)(nil)).Elem() -} - -type NodeDeploymentSpec struct { - DynamicData - - EsxHost *ManagedObjectReference `xml:"esxHost,omitempty"` - Datastore *ManagedObjectReference `xml:"datastore,omitempty"` - PublicNetworkPortGroup *ManagedObjectReference `xml:"publicNetworkPortGroup,omitempty"` - ClusterNetworkPortGroup *ManagedObjectReference `xml:"clusterNetworkPortGroup,omitempty"` - Folder ManagedObjectReference `xml:"folder"` - ResourcePool *ManagedObjectReference `xml:"resourcePool,omitempty"` - ManagementVc *ServiceLocator `xml:"managementVc,omitempty"` - NodeName string `xml:"nodeName"` - IpSettings CustomizationIPSettings `xml:"ipSettings"` -} - -func init() { - t["NodeDeploymentSpec"] = reflect.TypeOf((*NodeDeploymentSpec)(nil)).Elem() -} - -type NodeNetworkSpec struct { - DynamicData - - IpSettings CustomizationIPSettings `xml:"ipSettings"` -} - -func init() { - t["NodeNetworkSpec"] = reflect.TypeOf((*NodeNetworkSpec)(nil)).Elem() -} - -type NonADUserRequired struct { - ActiveDirectoryFault -} - -func init() { - t["NonADUserRequired"] = reflect.TypeOf((*NonADUserRequired)(nil)).Elem() -} - -type NonADUserRequiredFault NonADUserRequired - -func init() { - t["NonADUserRequiredFault"] = reflect.TypeOf((*NonADUserRequiredFault)(nil)).Elem() -} - -type NonHomeRDMVMotionNotSupported struct { - MigrationFeatureNotSupported - - Device string `xml:"device"` -} - -func init() { - t["NonHomeRDMVMotionNotSupported"] = reflect.TypeOf((*NonHomeRDMVMotionNotSupported)(nil)).Elem() -} - -type NonHomeRDMVMotionNotSupportedFault NonHomeRDMVMotionNotSupported - -func init() { - t["NonHomeRDMVMotionNotSupportedFault"] = reflect.TypeOf((*NonHomeRDMVMotionNotSupportedFault)(nil)).Elem() -} - -type NonPersistentDisksNotSupported struct { - DeviceNotSupported -} - -func init() { - t["NonPersistentDisksNotSupported"] = reflect.TypeOf((*NonPersistentDisksNotSupported)(nil)).Elem() -} - -type NonPersistentDisksNotSupportedFault NonPersistentDisksNotSupported - -func init() { - t["NonPersistentDisksNotSupportedFault"] = reflect.TypeOf((*NonPersistentDisksNotSupportedFault)(nil)).Elem() -} - -type NonVIWorkloadDetectedOnDatastoreEvent struct { - DatastoreEvent -} - -func init() { - t["NonVIWorkloadDetectedOnDatastoreEvent"] = reflect.TypeOf((*NonVIWorkloadDetectedOnDatastoreEvent)(nil)).Elem() -} - -type NonVmwareOuiMacNotSupportedHost struct { - NotSupportedHost - - HostName string `xml:"hostName"` -} - -func init() { - t["NonVmwareOuiMacNotSupportedHost"] = reflect.TypeOf((*NonVmwareOuiMacNotSupportedHost)(nil)).Elem() -} - -type NonVmwareOuiMacNotSupportedHostFault NonVmwareOuiMacNotSupportedHost - -func init() { - t["NonVmwareOuiMacNotSupportedHostFault"] = reflect.TypeOf((*NonVmwareOuiMacNotSupportedHostFault)(nil)).Elem() -} - -type NotADirectory struct { - FileFault -} - -func init() { - t["NotADirectory"] = reflect.TypeOf((*NotADirectory)(nil)).Elem() -} - -type NotADirectoryFault NotADirectory - -func init() { - t["NotADirectoryFault"] = reflect.TypeOf((*NotADirectoryFault)(nil)).Elem() -} - -type NotAFile struct { - FileFault -} - -func init() { - t["NotAFile"] = reflect.TypeOf((*NotAFile)(nil)).Elem() -} - -type NotAFileFault NotAFile - -func init() { - t["NotAFileFault"] = reflect.TypeOf((*NotAFileFault)(nil)).Elem() -} - -type NotAuthenticated struct { - NoPermission -} - -func init() { - t["NotAuthenticated"] = reflect.TypeOf((*NotAuthenticated)(nil)).Elem() -} - -type NotAuthenticatedFault NotAuthenticated - -func init() { - t["NotAuthenticatedFault"] = reflect.TypeOf((*NotAuthenticatedFault)(nil)).Elem() -} - -type NotEnoughCpus struct { - VirtualHardwareCompatibilityIssue - - NumCpuDest int32 `xml:"numCpuDest"` - NumCpuVm int32 `xml:"numCpuVm"` -} - -func init() { - t["NotEnoughCpus"] = reflect.TypeOf((*NotEnoughCpus)(nil)).Elem() -} - -type NotEnoughCpusFault BaseNotEnoughCpus - -func init() { - t["NotEnoughCpusFault"] = reflect.TypeOf((*NotEnoughCpusFault)(nil)).Elem() -} - -type NotEnoughLicenses struct { - RuntimeFault -} - -func init() { - t["NotEnoughLicenses"] = reflect.TypeOf((*NotEnoughLicenses)(nil)).Elem() -} - -type NotEnoughLicensesFault BaseNotEnoughLicenses - -func init() { - t["NotEnoughLicensesFault"] = reflect.TypeOf((*NotEnoughLicensesFault)(nil)).Elem() -} - -type NotEnoughLogicalCpus struct { - NotEnoughCpus - - Host *ManagedObjectReference `xml:"host,omitempty"` -} - -func init() { - t["NotEnoughLogicalCpus"] = reflect.TypeOf((*NotEnoughLogicalCpus)(nil)).Elem() -} - -type NotEnoughLogicalCpusFault NotEnoughLogicalCpus - -func init() { - t["NotEnoughLogicalCpusFault"] = reflect.TypeOf((*NotEnoughLogicalCpusFault)(nil)).Elem() -} - -type NotEnoughResourcesToStartVmEvent struct { - VmEvent - - Reason string `xml:"reason,omitempty"` -} - -func init() { - t["NotEnoughResourcesToStartVmEvent"] = reflect.TypeOf((*NotEnoughResourcesToStartVmEvent)(nil)).Elem() -} - -type NotFound struct { - VimFault -} - -func init() { - t["NotFound"] = reflect.TypeOf((*NotFound)(nil)).Elem() -} - -type NotFoundFault NotFound - -func init() { - t["NotFoundFault"] = reflect.TypeOf((*NotFoundFault)(nil)).Elem() -} - -type NotImplemented struct { - RuntimeFault -} - -func init() { - t["NotImplemented"] = reflect.TypeOf((*NotImplemented)(nil)).Elem() -} - -type NotImplementedFault NotImplemented - -func init() { - t["NotImplementedFault"] = reflect.TypeOf((*NotImplementedFault)(nil)).Elem() -} - -type NotSupported struct { - RuntimeFault -} - -func init() { - t["NotSupported"] = reflect.TypeOf((*NotSupported)(nil)).Elem() -} - -type NotSupportedDeviceForFT struct { - VmFaultToleranceIssue - - Host ManagedObjectReference `xml:"host"` - HostName string `xml:"hostName,omitempty"` - Vm ManagedObjectReference `xml:"vm"` - VmName string `xml:"vmName,omitempty"` - DeviceType string `xml:"deviceType"` - DeviceLabel string `xml:"deviceLabel,omitempty"` -} - -func init() { - t["NotSupportedDeviceForFT"] = reflect.TypeOf((*NotSupportedDeviceForFT)(nil)).Elem() -} - -type NotSupportedDeviceForFTFault NotSupportedDeviceForFT - -func init() { - t["NotSupportedDeviceForFTFault"] = reflect.TypeOf((*NotSupportedDeviceForFTFault)(nil)).Elem() -} - -type NotSupportedFault BaseNotSupported - -func init() { - t["NotSupportedFault"] = reflect.TypeOf((*NotSupportedFault)(nil)).Elem() -} - -type NotSupportedHost struct { - HostConnectFault - - ProductName string `xml:"productName,omitempty"` - ProductVersion string `xml:"productVersion,omitempty"` -} - -func init() { - t["NotSupportedHost"] = reflect.TypeOf((*NotSupportedHost)(nil)).Elem() -} - -type NotSupportedHostFault BaseNotSupportedHost - -func init() { - t["NotSupportedHostFault"] = reflect.TypeOf((*NotSupportedHostFault)(nil)).Elem() -} - -type NotSupportedHostForChecksum struct { - VimFault -} - -func init() { - t["NotSupportedHostForChecksum"] = reflect.TypeOf((*NotSupportedHostForChecksum)(nil)).Elem() -} - -type NotSupportedHostForChecksumFault NotSupportedHostForChecksum - -func init() { - t["NotSupportedHostForChecksumFault"] = reflect.TypeOf((*NotSupportedHostForChecksumFault)(nil)).Elem() -} - -type NotSupportedHostForVFlash struct { - NotSupportedHost - - HostName string `xml:"hostName"` -} - -func init() { - t["NotSupportedHostForVFlash"] = reflect.TypeOf((*NotSupportedHostForVFlash)(nil)).Elem() -} - -type NotSupportedHostForVFlashFault NotSupportedHostForVFlash - -func init() { - t["NotSupportedHostForVFlashFault"] = reflect.TypeOf((*NotSupportedHostForVFlashFault)(nil)).Elem() -} - -type NotSupportedHostForVmcp struct { - NotSupportedHost - - HostName string `xml:"hostName"` -} - -func init() { - t["NotSupportedHostForVmcp"] = reflect.TypeOf((*NotSupportedHostForVmcp)(nil)).Elem() -} - -type NotSupportedHostForVmcpFault NotSupportedHostForVmcp - -func init() { - t["NotSupportedHostForVmcpFault"] = reflect.TypeOf((*NotSupportedHostForVmcpFault)(nil)).Elem() -} - -type NotSupportedHostForVmemFile struct { - NotSupportedHost - - HostName string `xml:"hostName"` -} - -func init() { - t["NotSupportedHostForVmemFile"] = reflect.TypeOf((*NotSupportedHostForVmemFile)(nil)).Elem() -} - -type NotSupportedHostForVmemFileFault NotSupportedHostForVmemFile - -func init() { - t["NotSupportedHostForVmemFileFault"] = reflect.TypeOf((*NotSupportedHostForVmemFileFault)(nil)).Elem() -} - -type NotSupportedHostForVsan struct { - NotSupportedHost - - HostName string `xml:"hostName"` -} - -func init() { - t["NotSupportedHostForVsan"] = reflect.TypeOf((*NotSupportedHostForVsan)(nil)).Elem() -} - -type NotSupportedHostForVsanFault NotSupportedHostForVsan - -func init() { - t["NotSupportedHostForVsanFault"] = reflect.TypeOf((*NotSupportedHostForVsanFault)(nil)).Elem() -} - -type NotSupportedHostInCluster struct { - NotSupportedHost -} - -func init() { - t["NotSupportedHostInCluster"] = reflect.TypeOf((*NotSupportedHostInCluster)(nil)).Elem() -} - -type NotSupportedHostInClusterFault BaseNotSupportedHostInCluster - -func init() { - t["NotSupportedHostInClusterFault"] = reflect.TypeOf((*NotSupportedHostInClusterFault)(nil)).Elem() -} - -type NotSupportedHostInDvs struct { - NotSupportedHost - - SwitchProductSpec DistributedVirtualSwitchProductSpec `xml:"switchProductSpec"` -} - -func init() { - t["NotSupportedHostInDvs"] = reflect.TypeOf((*NotSupportedHostInDvs)(nil)).Elem() -} - -type NotSupportedHostInDvsFault NotSupportedHostInDvs - -func init() { - t["NotSupportedHostInDvsFault"] = reflect.TypeOf((*NotSupportedHostInDvsFault)(nil)).Elem() -} - -type NotSupportedHostInHACluster struct { - NotSupportedHost - - HostName string `xml:"hostName"` - Build string `xml:"build"` -} - -func init() { - t["NotSupportedHostInHACluster"] = reflect.TypeOf((*NotSupportedHostInHACluster)(nil)).Elem() -} - -type NotSupportedHostInHAClusterFault NotSupportedHostInHACluster - -func init() { - t["NotSupportedHostInHAClusterFault"] = reflect.TypeOf((*NotSupportedHostInHAClusterFault)(nil)).Elem() -} - -type NotUserConfigurableProperty struct { - VAppPropertyFault -} - -func init() { - t["NotUserConfigurableProperty"] = reflect.TypeOf((*NotUserConfigurableProperty)(nil)).Elem() -} - -type NotUserConfigurablePropertyFault NotUserConfigurableProperty - -func init() { - t["NotUserConfigurablePropertyFault"] = reflect.TypeOf((*NotUserConfigurablePropertyFault)(nil)).Elem() -} - -type NsxHostVNicProfile struct { - ApplyProfile - - Key string `xml:"key"` - IpConfig IpAddressProfile `xml:"ipConfig"` -} - -func init() { - t["NsxHostVNicProfile"] = reflect.TypeOf((*NsxHostVNicProfile)(nil)).Elem() -} - -type NumPortsProfile struct { - ApplyProfile -} - -func init() { - t["NumPortsProfile"] = reflect.TypeOf((*NumPortsProfile)(nil)).Elem() -} - -type NumVirtualCoresPerSocketNotSupported struct { - VirtualHardwareCompatibilityIssue - - MaxSupportedCoresPerSocketDest int32 `xml:"maxSupportedCoresPerSocketDest"` - NumCoresPerSocketVm int32 `xml:"numCoresPerSocketVm"` -} - -func init() { - t["NumVirtualCoresPerSocketNotSupported"] = reflect.TypeOf((*NumVirtualCoresPerSocketNotSupported)(nil)).Elem() -} - -type NumVirtualCoresPerSocketNotSupportedFault NumVirtualCoresPerSocketNotSupported - -func init() { - t["NumVirtualCoresPerSocketNotSupportedFault"] = reflect.TypeOf((*NumVirtualCoresPerSocketNotSupportedFault)(nil)).Elem() -} - -type NumVirtualCpusExceedsLimit struct { - InsufficientResourcesFault - - MaxSupportedVcpus int32 `xml:"maxSupportedVcpus"` -} - -func init() { - t["NumVirtualCpusExceedsLimit"] = reflect.TypeOf((*NumVirtualCpusExceedsLimit)(nil)).Elem() -} - -type NumVirtualCpusExceedsLimitFault NumVirtualCpusExceedsLimit - -func init() { - t["NumVirtualCpusExceedsLimitFault"] = reflect.TypeOf((*NumVirtualCpusExceedsLimitFault)(nil)).Elem() -} - -type NumVirtualCpusIncompatible struct { - VmConfigFault - - Reason string `xml:"reason"` - NumCpu int32 `xml:"numCpu"` -} - -func init() { - t["NumVirtualCpusIncompatible"] = reflect.TypeOf((*NumVirtualCpusIncompatible)(nil)).Elem() -} - -type NumVirtualCpusIncompatibleFault NumVirtualCpusIncompatible - -func init() { - t["NumVirtualCpusIncompatibleFault"] = reflect.TypeOf((*NumVirtualCpusIncompatibleFault)(nil)).Elem() -} - -type NumVirtualCpusNotSupported struct { - VirtualHardwareCompatibilityIssue - - MaxSupportedVcpusDest int32 `xml:"maxSupportedVcpusDest"` - NumCpuVm int32 `xml:"numCpuVm"` -} - -func init() { - t["NumVirtualCpusNotSupported"] = reflect.TypeOf((*NumVirtualCpusNotSupported)(nil)).Elem() -} - -type NumVirtualCpusNotSupportedFault NumVirtualCpusNotSupported - -func init() { - t["NumVirtualCpusNotSupportedFault"] = reflect.TypeOf((*NumVirtualCpusNotSupportedFault)(nil)).Elem() -} - -type NumericRange struct { - DynamicData - - Start int32 `xml:"start"` - End int32 `xml:"end"` -} - -func init() { - t["NumericRange"] = reflect.TypeOf((*NumericRange)(nil)).Elem() -} - -type NvdimmDimmInfo struct { - DynamicData - - DimmHandle int32 `xml:"dimmHandle"` - HealthInfo NvdimmHealthInfo `xml:"healthInfo"` - TotalCapacity int64 `xml:"totalCapacity"` - PersistentCapacity int64 `xml:"persistentCapacity"` - AvailablePersistentCapacity int64 `xml:"availablePersistentCapacity"` - VolatileCapacity int64 `xml:"volatileCapacity"` - AvailableVolatileCapacity int64 `xml:"availableVolatileCapacity"` - BlockCapacity int64 `xml:"blockCapacity"` - RegionInfo []NvdimmRegionInfo `xml:"regionInfo,omitempty"` - RepresentationString string `xml:"representationString"` -} - -func init() { - t["NvdimmDimmInfo"] = reflect.TypeOf((*NvdimmDimmInfo)(nil)).Elem() -} - -type NvdimmGuid struct { - DynamicData - - Uuid string `xml:"uuid"` -} - -func init() { - t["NvdimmGuid"] = reflect.TypeOf((*NvdimmGuid)(nil)).Elem() -} - -type NvdimmHealthInfo struct { - DynamicData - - HealthStatus string `xml:"healthStatus"` - HealthInformation string `xml:"healthInformation"` - StateFlagInfo []string `xml:"stateFlagInfo,omitempty"` - DimmTemperature int32 `xml:"dimmTemperature"` - DimmTemperatureThreshold int32 `xml:"dimmTemperatureThreshold"` - SpareBlocksPercentage int32 `xml:"spareBlocksPercentage"` - SpareBlockThreshold int32 `xml:"spareBlockThreshold"` - DimmLifespanPercentage int32 `xml:"dimmLifespanPercentage"` - EsTemperature int32 `xml:"esTemperature,omitempty"` - EsTemperatureThreshold int32 `xml:"esTemperatureThreshold,omitempty"` - EsLifespanPercentage int32 `xml:"esLifespanPercentage,omitempty"` -} - -func init() { - t["NvdimmHealthInfo"] = reflect.TypeOf((*NvdimmHealthInfo)(nil)).Elem() -} - -type NvdimmInterleaveSetInfo struct { - DynamicData - - SetId int32 `xml:"setId"` - RangeType string `xml:"rangeType"` - BaseAddress int64 `xml:"baseAddress"` - Size int64 `xml:"size"` - AvailableSize int64 `xml:"availableSize"` - DeviceList []int32 `xml:"deviceList,omitempty"` - State string `xml:"state"` -} - -func init() { - t["NvdimmInterleaveSetInfo"] = reflect.TypeOf((*NvdimmInterleaveSetInfo)(nil)).Elem() -} - -type NvdimmNamespaceCreateSpec struct { - DynamicData - - FriendlyName string `xml:"friendlyName,omitempty"` - BlockSize int64 `xml:"blockSize"` - BlockCount int64 `xml:"blockCount"` - Type string `xml:"type"` - LocationID int32 `xml:"locationID"` -} - -func init() { - t["NvdimmNamespaceCreateSpec"] = reflect.TypeOf((*NvdimmNamespaceCreateSpec)(nil)).Elem() -} - -type NvdimmNamespaceDeleteSpec struct { - DynamicData - - Uuid string `xml:"uuid"` -} - -func init() { - t["NvdimmNamespaceDeleteSpec"] = reflect.TypeOf((*NvdimmNamespaceDeleteSpec)(nil)).Elem() -} - -type NvdimmNamespaceDetails struct { - DynamicData - - Uuid string `xml:"uuid"` - FriendlyName string `xml:"friendlyName"` - Size int64 `xml:"size"` - Type string `xml:"type"` - NamespaceHealthStatus string `xml:"namespaceHealthStatus"` - InterleavesetID int32 `xml:"interleavesetID"` - State string `xml:"state"` -} - -func init() { - t["NvdimmNamespaceDetails"] = reflect.TypeOf((*NvdimmNamespaceDetails)(nil)).Elem() -} - -type NvdimmNamespaceInfo struct { - DynamicData - - Uuid string `xml:"uuid"` - FriendlyName string `xml:"friendlyName"` - BlockSize int64 `xml:"blockSize"` - BlockCount int64 `xml:"blockCount"` - Type string `xml:"type"` - NamespaceHealthStatus string `xml:"namespaceHealthStatus"` - LocationID int32 `xml:"locationID"` - State string `xml:"state"` -} - -func init() { - t["NvdimmNamespaceInfo"] = reflect.TypeOf((*NvdimmNamespaceInfo)(nil)).Elem() -} - -type NvdimmPMemNamespaceCreateSpec struct { - DynamicData - - FriendlyName string `xml:"friendlyName,omitempty"` - Size int64 `xml:"size"` - InterleavesetID int32 `xml:"interleavesetID"` -} - -func init() { - t["NvdimmPMemNamespaceCreateSpec"] = reflect.TypeOf((*NvdimmPMemNamespaceCreateSpec)(nil)).Elem() -} - -type NvdimmRegionInfo struct { - DynamicData - - RegionId int32 `xml:"regionId"` - SetId int32 `xml:"setId"` - RangeType string `xml:"rangeType"` - StartAddr int64 `xml:"startAddr"` - Size int64 `xml:"size"` - Offset int64 `xml:"offset"` -} - -func init() { - t["NvdimmRegionInfo"] = reflect.TypeOf((*NvdimmRegionInfo)(nil)).Elem() -} - -type NvdimmSummary struct { - DynamicData - - NumDimms int32 `xml:"numDimms"` - HealthStatus string `xml:"healthStatus"` - TotalCapacity int64 `xml:"totalCapacity"` - PersistentCapacity int64 `xml:"persistentCapacity"` - BlockCapacity int64 `xml:"blockCapacity"` - AvailableCapacity int64 `xml:"availableCapacity"` - NumInterleavesets int32 `xml:"numInterleavesets"` - NumNamespaces int32 `xml:"numNamespaces"` -} - -func init() { - t["NvdimmSummary"] = reflect.TypeOf((*NvdimmSummary)(nil)).Elem() -} - -type NvdimmSystemInfo struct { - DynamicData - - Summary *NvdimmSummary `xml:"summary,omitempty"` - Dimms []int32 `xml:"dimms,omitempty"` - DimmInfo []NvdimmDimmInfo `xml:"dimmInfo,omitempty"` - InterleaveSet []int32 `xml:"interleaveSet,omitempty"` - ISetInfo []NvdimmInterleaveSetInfo `xml:"iSetInfo,omitempty"` - Namespace []NvdimmGuid `xml:"namespace,omitempty"` - NsInfo []NvdimmNamespaceInfo `xml:"nsInfo,omitempty"` - NsDetails []NvdimmNamespaceDetails `xml:"nsDetails,omitempty"` -} - -func init() { - t["NvdimmSystemInfo"] = reflect.TypeOf((*NvdimmSystemInfo)(nil)).Elem() -} - -type ObjectContent struct { - DynamicData - - Obj ManagedObjectReference `xml:"obj"` - PropSet []DynamicProperty `xml:"propSet,omitempty"` - MissingSet []MissingProperty `xml:"missingSet,omitempty"` -} - -func init() { - t["ObjectContent"] = reflect.TypeOf((*ObjectContent)(nil)).Elem() -} - -type ObjectSpec struct { - DynamicData - - Obj ManagedObjectReference `xml:"obj"` - Skip *bool `xml:"skip"` - SelectSet []BaseSelectionSpec `xml:"selectSet,omitempty,typeattr"` -} - -func init() { - t["ObjectSpec"] = reflect.TypeOf((*ObjectSpec)(nil)).Elem() -} - -type ObjectUpdate struct { - DynamicData - - Kind ObjectUpdateKind `xml:"kind"` - Obj ManagedObjectReference `xml:"obj"` - ChangeSet []PropertyChange `xml:"changeSet,omitempty"` - MissingSet []MissingProperty `xml:"missingSet,omitempty"` -} - -func init() { - t["ObjectUpdate"] = reflect.TypeOf((*ObjectUpdate)(nil)).Elem() -} - -type OnceTaskScheduler struct { - TaskScheduler - - RunAt *time.Time `xml:"runAt"` -} - -func init() { - t["OnceTaskScheduler"] = reflect.TypeOf((*OnceTaskScheduler)(nil)).Elem() -} - -type OpaqueNetworkCapability struct { - DynamicData - - NetworkReservationSupported bool `xml:"networkReservationSupported"` -} - -func init() { - t["OpaqueNetworkCapability"] = reflect.TypeOf((*OpaqueNetworkCapability)(nil)).Elem() -} - -type OpaqueNetworkSummary struct { - NetworkSummary - - OpaqueNetworkId string `xml:"opaqueNetworkId"` - OpaqueNetworkType string `xml:"opaqueNetworkType"` -} - -func init() { - t["OpaqueNetworkSummary"] = reflect.TypeOf((*OpaqueNetworkSummary)(nil)).Elem() -} - -type OpaqueNetworkTargetInfo struct { - VirtualMachineTargetInfo - - Network OpaqueNetworkSummary `xml:"network"` - NetworkReservationSupported *bool `xml:"networkReservationSupported"` -} - -func init() { - t["OpaqueNetworkTargetInfo"] = reflect.TypeOf((*OpaqueNetworkTargetInfo)(nil)).Elem() -} - -type OpaqueSwitchProfile struct { - ApplyProfile -} - -func init() { - t["OpaqueSwitchProfile"] = reflect.TypeOf((*OpaqueSwitchProfile)(nil)).Elem() -} - -type OpenInventoryViewFolder OpenInventoryViewFolderRequestType - -func init() { - t["OpenInventoryViewFolder"] = reflect.TypeOf((*OpenInventoryViewFolder)(nil)).Elem() -} - -type OpenInventoryViewFolderRequestType struct { - This ManagedObjectReference `xml:"_this"` - Entity []ManagedObjectReference `xml:"entity"` -} - -func init() { - t["OpenInventoryViewFolderRequestType"] = reflect.TypeOf((*OpenInventoryViewFolderRequestType)(nil)).Elem() -} - -type OpenInventoryViewFolderResponse struct { - Returnval []ManagedObjectReference `xml:"returnval,omitempty"` -} - -type OperationDisabledByGuest struct { - GuestOperationsFault -} - -func init() { - t["OperationDisabledByGuest"] = reflect.TypeOf((*OperationDisabledByGuest)(nil)).Elem() -} - -type OperationDisabledByGuestFault OperationDisabledByGuest - -func init() { - t["OperationDisabledByGuestFault"] = reflect.TypeOf((*OperationDisabledByGuestFault)(nil)).Elem() -} - -type OperationDisallowedOnHost struct { - RuntimeFault -} - -func init() { - t["OperationDisallowedOnHost"] = reflect.TypeOf((*OperationDisallowedOnHost)(nil)).Elem() -} - -type OperationDisallowedOnHostFault OperationDisallowedOnHost - -func init() { - t["OperationDisallowedOnHostFault"] = reflect.TypeOf((*OperationDisallowedOnHostFault)(nil)).Elem() -} - -type OperationNotSupportedByGuest struct { - GuestOperationsFault -} - -func init() { - t["OperationNotSupportedByGuest"] = reflect.TypeOf((*OperationNotSupportedByGuest)(nil)).Elem() -} - -type OperationNotSupportedByGuestFault OperationNotSupportedByGuest - -func init() { - t["OperationNotSupportedByGuestFault"] = reflect.TypeOf((*OperationNotSupportedByGuestFault)(nil)).Elem() -} - -type OptionDef struct { - ElementDescription - - OptionType BaseOptionType `xml:"optionType,typeattr"` -} - -func init() { - t["OptionDef"] = reflect.TypeOf((*OptionDef)(nil)).Elem() -} - -type OptionProfile struct { - ApplyProfile - - Key string `xml:"key"` -} - -func init() { - t["OptionProfile"] = reflect.TypeOf((*OptionProfile)(nil)).Elem() -} - -type OptionType struct { - DynamicData - - ValueIsReadonly *bool `xml:"valueIsReadonly"` -} - -func init() { - t["OptionType"] = reflect.TypeOf((*OptionType)(nil)).Elem() -} - -type OptionValue struct { - DynamicData - - Key string `xml:"key"` - Value AnyType `xml:"value,typeattr"` -} - -func init() { - t["OptionValue"] = reflect.TypeOf((*OptionValue)(nil)).Elem() -} - -type OrAlarmExpression struct { - AlarmExpression - - Expression []BaseAlarmExpression `xml:"expression,typeattr"` -} - -func init() { - t["OrAlarmExpression"] = reflect.TypeOf((*OrAlarmExpression)(nil)).Elem() -} - -type OutOfBounds struct { - VimFault - - ArgumentName string `xml:"argumentName"` -} - -func init() { - t["OutOfBounds"] = reflect.TypeOf((*OutOfBounds)(nil)).Elem() -} - -type OutOfBoundsFault OutOfBounds - -func init() { - t["OutOfBoundsFault"] = reflect.TypeOf((*OutOfBoundsFault)(nil)).Elem() -} - -type OutOfSyncDvsHost struct { - DvsEvent - - HostOutOfSync []DvsOutOfSyncHostArgument `xml:"hostOutOfSync"` -} - -func init() { - t["OutOfSyncDvsHost"] = reflect.TypeOf((*OutOfSyncDvsHost)(nil)).Elem() -} - -type OverwriteCustomizationSpec OverwriteCustomizationSpecRequestType - -func init() { - t["OverwriteCustomizationSpec"] = reflect.TypeOf((*OverwriteCustomizationSpec)(nil)).Elem() -} - -type OverwriteCustomizationSpecRequestType struct { - This ManagedObjectReference `xml:"_this"` - Item CustomizationSpecItem `xml:"item"` -} - -func init() { - t["OverwriteCustomizationSpecRequestType"] = reflect.TypeOf((*OverwriteCustomizationSpecRequestType)(nil)).Elem() -} - -type OverwriteCustomizationSpecResponse struct { -} - -type OvfAttribute struct { - OvfInvalidPackage - - ElementName string `xml:"elementName"` - AttributeName string `xml:"attributeName"` -} - -func init() { - t["OvfAttribute"] = reflect.TypeOf((*OvfAttribute)(nil)).Elem() -} - -type OvfAttributeFault BaseOvfAttribute - -func init() { - t["OvfAttributeFault"] = reflect.TypeOf((*OvfAttributeFault)(nil)).Elem() -} - -type OvfConnectedDevice struct { - OvfHardwareExport -} - -func init() { - t["OvfConnectedDevice"] = reflect.TypeOf((*OvfConnectedDevice)(nil)).Elem() -} - -type OvfConnectedDeviceFault BaseOvfConnectedDevice - -func init() { - t["OvfConnectedDeviceFault"] = reflect.TypeOf((*OvfConnectedDeviceFault)(nil)).Elem() -} - -type OvfConnectedDeviceFloppy struct { - OvfConnectedDevice - - Filename string `xml:"filename"` -} - -func init() { - t["OvfConnectedDeviceFloppy"] = reflect.TypeOf((*OvfConnectedDeviceFloppy)(nil)).Elem() -} - -type OvfConnectedDeviceFloppyFault OvfConnectedDeviceFloppy - -func init() { - t["OvfConnectedDeviceFloppyFault"] = reflect.TypeOf((*OvfConnectedDeviceFloppyFault)(nil)).Elem() -} - -type OvfConnectedDeviceIso struct { - OvfConnectedDevice - - Filename string `xml:"filename"` -} - -func init() { - t["OvfConnectedDeviceIso"] = reflect.TypeOf((*OvfConnectedDeviceIso)(nil)).Elem() -} - -type OvfConnectedDeviceIsoFault OvfConnectedDeviceIso - -func init() { - t["OvfConnectedDeviceIsoFault"] = reflect.TypeOf((*OvfConnectedDeviceIsoFault)(nil)).Elem() -} - -type OvfConstraint struct { - OvfInvalidPackage - - Name string `xml:"name"` -} - -func init() { - t["OvfConstraint"] = reflect.TypeOf((*OvfConstraint)(nil)).Elem() -} - -type OvfConstraintFault BaseOvfConstraint - -func init() { - t["OvfConstraintFault"] = reflect.TypeOf((*OvfConstraintFault)(nil)).Elem() -} - -type OvfConsumerCallbackFault struct { - OvfFault - - ExtensionKey string `xml:"extensionKey"` - ExtensionName string `xml:"extensionName"` -} - -func init() { - t["OvfConsumerCallbackFault"] = reflect.TypeOf((*OvfConsumerCallbackFault)(nil)).Elem() -} - -type OvfConsumerCallbackFaultFault BaseOvfConsumerCallbackFault - -func init() { - t["OvfConsumerCallbackFaultFault"] = reflect.TypeOf((*OvfConsumerCallbackFaultFault)(nil)).Elem() -} - -type OvfConsumerCommunicationError struct { - OvfConsumerCallbackFault - - Description string `xml:"description"` -} - -func init() { - t["OvfConsumerCommunicationError"] = reflect.TypeOf((*OvfConsumerCommunicationError)(nil)).Elem() -} - -type OvfConsumerCommunicationErrorFault OvfConsumerCommunicationError - -func init() { - t["OvfConsumerCommunicationErrorFault"] = reflect.TypeOf((*OvfConsumerCommunicationErrorFault)(nil)).Elem() -} - -type OvfConsumerFault struct { - OvfConsumerCallbackFault - - ErrorKey string `xml:"errorKey"` - Message string `xml:"message"` - Params []KeyValue `xml:"params,omitempty"` -} - -func init() { - t["OvfConsumerFault"] = reflect.TypeOf((*OvfConsumerFault)(nil)).Elem() -} - -type OvfConsumerFaultFault OvfConsumerFault - -func init() { - t["OvfConsumerFaultFault"] = reflect.TypeOf((*OvfConsumerFaultFault)(nil)).Elem() -} - -type OvfConsumerInvalidSection struct { - OvfConsumerCallbackFault - - LineNumber int32 `xml:"lineNumber"` - Description string `xml:"description"` -} - -func init() { - t["OvfConsumerInvalidSection"] = reflect.TypeOf((*OvfConsumerInvalidSection)(nil)).Elem() -} - -type OvfConsumerInvalidSectionFault OvfConsumerInvalidSection - -func init() { - t["OvfConsumerInvalidSectionFault"] = reflect.TypeOf((*OvfConsumerInvalidSectionFault)(nil)).Elem() -} - -type OvfConsumerOstNode struct { - DynamicData - - Id string `xml:"id"` - Type string `xml:"type"` - Section []OvfConsumerOvfSection `xml:"section,omitempty"` - Child []OvfConsumerOstNode `xml:"child,omitempty"` - Entity *ManagedObjectReference `xml:"entity,omitempty"` -} - -func init() { - t["OvfConsumerOstNode"] = reflect.TypeOf((*OvfConsumerOstNode)(nil)).Elem() -} - -type OvfConsumerOvfSection struct { - DynamicData - - LineNumber int32 `xml:"lineNumber"` - Xml string `xml:"xml"` -} - -func init() { - t["OvfConsumerOvfSection"] = reflect.TypeOf((*OvfConsumerOvfSection)(nil)).Elem() -} - -type OvfConsumerPowerOnFault struct { - InvalidState - - ExtensionKey string `xml:"extensionKey"` - ExtensionName string `xml:"extensionName"` - Description string `xml:"description"` -} - -func init() { - t["OvfConsumerPowerOnFault"] = reflect.TypeOf((*OvfConsumerPowerOnFault)(nil)).Elem() -} - -type OvfConsumerPowerOnFaultFault OvfConsumerPowerOnFault - -func init() { - t["OvfConsumerPowerOnFaultFault"] = reflect.TypeOf((*OvfConsumerPowerOnFaultFault)(nil)).Elem() -} - -type OvfConsumerUndeclaredSection struct { - OvfConsumerCallbackFault - - QualifiedSectionType string `xml:"qualifiedSectionType"` -} - -func init() { - t["OvfConsumerUndeclaredSection"] = reflect.TypeOf((*OvfConsumerUndeclaredSection)(nil)).Elem() -} - -type OvfConsumerUndeclaredSectionFault OvfConsumerUndeclaredSection - -func init() { - t["OvfConsumerUndeclaredSectionFault"] = reflect.TypeOf((*OvfConsumerUndeclaredSectionFault)(nil)).Elem() -} - -type OvfConsumerUndefinedPrefix struct { - OvfConsumerCallbackFault - - Prefix string `xml:"prefix"` -} - -func init() { - t["OvfConsumerUndefinedPrefix"] = reflect.TypeOf((*OvfConsumerUndefinedPrefix)(nil)).Elem() -} - -type OvfConsumerUndefinedPrefixFault OvfConsumerUndefinedPrefix - -func init() { - t["OvfConsumerUndefinedPrefixFault"] = reflect.TypeOf((*OvfConsumerUndefinedPrefixFault)(nil)).Elem() -} - -type OvfConsumerValidationFault struct { - VmConfigFault - - ExtensionKey string `xml:"extensionKey"` - ExtensionName string `xml:"extensionName"` - Message string `xml:"message"` -} - -func init() { - t["OvfConsumerValidationFault"] = reflect.TypeOf((*OvfConsumerValidationFault)(nil)).Elem() -} - -type OvfConsumerValidationFaultFault OvfConsumerValidationFault - -func init() { - t["OvfConsumerValidationFaultFault"] = reflect.TypeOf((*OvfConsumerValidationFaultFault)(nil)).Elem() -} - -type OvfCpuCompatibility struct { - OvfImport - - RegisterName string `xml:"registerName"` - Level int32 `xml:"level"` - RegisterValue string `xml:"registerValue"` - DesiredRegisterValue string `xml:"desiredRegisterValue"` -} - -func init() { - t["OvfCpuCompatibility"] = reflect.TypeOf((*OvfCpuCompatibility)(nil)).Elem() -} - -type OvfCpuCompatibilityCheckNotSupported struct { - OvfImport -} - -func init() { - t["OvfCpuCompatibilityCheckNotSupported"] = reflect.TypeOf((*OvfCpuCompatibilityCheckNotSupported)(nil)).Elem() -} - -type OvfCpuCompatibilityCheckNotSupportedFault OvfCpuCompatibilityCheckNotSupported - -func init() { - t["OvfCpuCompatibilityCheckNotSupportedFault"] = reflect.TypeOf((*OvfCpuCompatibilityCheckNotSupportedFault)(nil)).Elem() -} - -type OvfCpuCompatibilityFault OvfCpuCompatibility - -func init() { - t["OvfCpuCompatibilityFault"] = reflect.TypeOf((*OvfCpuCompatibilityFault)(nil)).Elem() -} - -type OvfCreateDescriptorParams struct { - DynamicData - - OvfFiles []OvfFile `xml:"ovfFiles,omitempty"` - Name string `xml:"name,omitempty"` - Description string `xml:"description,omitempty"` - IncludeImageFiles *bool `xml:"includeImageFiles"` - ExportOption []string `xml:"exportOption,omitempty"` - Snapshot *ManagedObjectReference `xml:"snapshot,omitempty"` -} - -func init() { - t["OvfCreateDescriptorParams"] = reflect.TypeOf((*OvfCreateDescriptorParams)(nil)).Elem() -} - -type OvfCreateDescriptorResult struct { - DynamicData - - OvfDescriptor string `xml:"ovfDescriptor"` - Error []LocalizedMethodFault `xml:"error,omitempty"` - Warning []LocalizedMethodFault `xml:"warning,omitempty"` - IncludeImageFiles *bool `xml:"includeImageFiles"` -} - -func init() { - t["OvfCreateDescriptorResult"] = reflect.TypeOf((*OvfCreateDescriptorResult)(nil)).Elem() -} - -type OvfCreateImportSpecParams struct { - OvfManagerCommonParams - - EntityName string `xml:"entityName"` - HostSystem *ManagedObjectReference `xml:"hostSystem,omitempty"` - NetworkMapping []OvfNetworkMapping `xml:"networkMapping,omitempty"` - IpAllocationPolicy string `xml:"ipAllocationPolicy,omitempty"` - IpProtocol string `xml:"ipProtocol,omitempty"` - PropertyMapping []KeyValue `xml:"propertyMapping,omitempty"` - ResourceMapping []OvfResourceMap `xml:"resourceMapping,omitempty"` - DiskProvisioning string `xml:"diskProvisioning,omitempty"` - InstantiationOst *OvfConsumerOstNode `xml:"instantiationOst,omitempty"` -} - -func init() { - t["OvfCreateImportSpecParams"] = reflect.TypeOf((*OvfCreateImportSpecParams)(nil)).Elem() -} - -type OvfCreateImportSpecResult struct { - DynamicData - - ImportSpec BaseImportSpec `xml:"importSpec,omitempty,typeattr"` - FileItem []OvfFileItem `xml:"fileItem,omitempty"` - Warning []LocalizedMethodFault `xml:"warning,omitempty"` - Error []LocalizedMethodFault `xml:"error,omitempty"` -} - -func init() { - t["OvfCreateImportSpecResult"] = reflect.TypeOf((*OvfCreateImportSpecResult)(nil)).Elem() -} - -type OvfDeploymentOption struct { - DynamicData - - Key string `xml:"key"` - Label string `xml:"label"` - Description string `xml:"description"` -} - -func init() { - t["OvfDeploymentOption"] = reflect.TypeOf((*OvfDeploymentOption)(nil)).Elem() -} - -type OvfDiskMappingNotFound struct { - OvfSystemFault - - DiskName string `xml:"diskName"` - VmName string `xml:"vmName"` -} - -func init() { - t["OvfDiskMappingNotFound"] = reflect.TypeOf((*OvfDiskMappingNotFound)(nil)).Elem() -} - -type OvfDiskMappingNotFoundFault OvfDiskMappingNotFound - -func init() { - t["OvfDiskMappingNotFoundFault"] = reflect.TypeOf((*OvfDiskMappingNotFoundFault)(nil)).Elem() -} - -type OvfDiskOrderConstraint struct { - OvfConstraint -} - -func init() { - t["OvfDiskOrderConstraint"] = reflect.TypeOf((*OvfDiskOrderConstraint)(nil)).Elem() -} - -type OvfDiskOrderConstraintFault OvfDiskOrderConstraint - -func init() { - t["OvfDiskOrderConstraintFault"] = reflect.TypeOf((*OvfDiskOrderConstraintFault)(nil)).Elem() -} - -type OvfDuplicateElement struct { - OvfElement -} - -func init() { - t["OvfDuplicateElement"] = reflect.TypeOf((*OvfDuplicateElement)(nil)).Elem() -} - -type OvfDuplicateElementFault OvfDuplicateElement - -func init() { - t["OvfDuplicateElementFault"] = reflect.TypeOf((*OvfDuplicateElementFault)(nil)).Elem() -} - -type OvfDuplicatedElementBoundary struct { - OvfElement - - Boundary string `xml:"boundary"` -} - -func init() { - t["OvfDuplicatedElementBoundary"] = reflect.TypeOf((*OvfDuplicatedElementBoundary)(nil)).Elem() -} - -type OvfDuplicatedElementBoundaryFault OvfDuplicatedElementBoundary - -func init() { - t["OvfDuplicatedElementBoundaryFault"] = reflect.TypeOf((*OvfDuplicatedElementBoundaryFault)(nil)).Elem() -} - -type OvfDuplicatedPropertyIdExport struct { - OvfExport - - Fqid string `xml:"fqid"` -} - -func init() { - t["OvfDuplicatedPropertyIdExport"] = reflect.TypeOf((*OvfDuplicatedPropertyIdExport)(nil)).Elem() -} - -type OvfDuplicatedPropertyIdExportFault OvfDuplicatedPropertyIdExport - -func init() { - t["OvfDuplicatedPropertyIdExportFault"] = reflect.TypeOf((*OvfDuplicatedPropertyIdExportFault)(nil)).Elem() -} - -type OvfDuplicatedPropertyIdImport struct { - OvfExport -} - -func init() { - t["OvfDuplicatedPropertyIdImport"] = reflect.TypeOf((*OvfDuplicatedPropertyIdImport)(nil)).Elem() -} - -type OvfDuplicatedPropertyIdImportFault OvfDuplicatedPropertyIdImport - -func init() { - t["OvfDuplicatedPropertyIdImportFault"] = reflect.TypeOf((*OvfDuplicatedPropertyIdImportFault)(nil)).Elem() -} - -type OvfElement struct { - OvfInvalidPackage - - Name string `xml:"name"` -} - -func init() { - t["OvfElement"] = reflect.TypeOf((*OvfElement)(nil)).Elem() -} - -type OvfElementFault BaseOvfElement - -func init() { - t["OvfElementFault"] = reflect.TypeOf((*OvfElementFault)(nil)).Elem() -} - -type OvfElementInvalidValue struct { - OvfElement - - Value string `xml:"value"` -} - -func init() { - t["OvfElementInvalidValue"] = reflect.TypeOf((*OvfElementInvalidValue)(nil)).Elem() -} - -type OvfElementInvalidValueFault OvfElementInvalidValue - -func init() { - t["OvfElementInvalidValueFault"] = reflect.TypeOf((*OvfElementInvalidValueFault)(nil)).Elem() -} - -type OvfExport struct { - OvfFault -} - -func init() { - t["OvfExport"] = reflect.TypeOf((*OvfExport)(nil)).Elem() -} - -type OvfExportFailed struct { - OvfExport -} - -func init() { - t["OvfExportFailed"] = reflect.TypeOf((*OvfExportFailed)(nil)).Elem() -} - -type OvfExportFailedFault OvfExportFailed - -func init() { - t["OvfExportFailedFault"] = reflect.TypeOf((*OvfExportFailedFault)(nil)).Elem() -} - -type OvfExportFault BaseOvfExport - -func init() { - t["OvfExportFault"] = reflect.TypeOf((*OvfExportFault)(nil)).Elem() -} - -type OvfFault struct { - VimFault -} - -func init() { - t["OvfFault"] = reflect.TypeOf((*OvfFault)(nil)).Elem() -} - -type OvfFaultFault BaseOvfFault - -func init() { - t["OvfFaultFault"] = reflect.TypeOf((*OvfFaultFault)(nil)).Elem() -} - -type OvfFile struct { - DynamicData - - DeviceId string `xml:"deviceId"` - Path string `xml:"path"` - CompressionMethod string `xml:"compressionMethod,omitempty"` - ChunkSize int64 `xml:"chunkSize,omitempty"` - Size int64 `xml:"size"` - Capacity int64 `xml:"capacity,omitempty"` - PopulatedSize int64 `xml:"populatedSize,omitempty"` -} - -func init() { - t["OvfFile"] = reflect.TypeOf((*OvfFile)(nil)).Elem() -} - -type OvfFileItem struct { - DynamicData - - DeviceId string `xml:"deviceId"` - Path string `xml:"path"` - CompressionMethod string `xml:"compressionMethod,omitempty"` - ChunkSize int64 `xml:"chunkSize,omitempty"` - Size int64 `xml:"size,omitempty"` - CimType int32 `xml:"cimType"` - Create bool `xml:"create"` -} - -func init() { - t["OvfFileItem"] = reflect.TypeOf((*OvfFileItem)(nil)).Elem() -} - -type OvfHardwareCheck struct { - OvfImport -} - -func init() { - t["OvfHardwareCheck"] = reflect.TypeOf((*OvfHardwareCheck)(nil)).Elem() -} - -type OvfHardwareCheckFault OvfHardwareCheck - -func init() { - t["OvfHardwareCheckFault"] = reflect.TypeOf((*OvfHardwareCheckFault)(nil)).Elem() -} - -type OvfHardwareExport struct { - OvfExport - - Device BaseVirtualDevice `xml:"device,omitempty,typeattr"` - VmPath string `xml:"vmPath"` -} - -func init() { - t["OvfHardwareExport"] = reflect.TypeOf((*OvfHardwareExport)(nil)).Elem() -} - -type OvfHardwareExportFault BaseOvfHardwareExport - -func init() { - t["OvfHardwareExportFault"] = reflect.TypeOf((*OvfHardwareExportFault)(nil)).Elem() -} - -type OvfHostResourceConstraint struct { - OvfConstraint - - Value string `xml:"value"` -} - -func init() { - t["OvfHostResourceConstraint"] = reflect.TypeOf((*OvfHostResourceConstraint)(nil)).Elem() -} - -type OvfHostResourceConstraintFault OvfHostResourceConstraint - -func init() { - t["OvfHostResourceConstraintFault"] = reflect.TypeOf((*OvfHostResourceConstraintFault)(nil)).Elem() -} - -type OvfHostValueNotParsed struct { - OvfSystemFault - - Property string `xml:"property"` - Value string `xml:"value"` -} - -func init() { - t["OvfHostValueNotParsed"] = reflect.TypeOf((*OvfHostValueNotParsed)(nil)).Elem() -} - -type OvfHostValueNotParsedFault OvfHostValueNotParsed - -func init() { - t["OvfHostValueNotParsedFault"] = reflect.TypeOf((*OvfHostValueNotParsedFault)(nil)).Elem() -} - -type OvfImport struct { - OvfFault -} - -func init() { - t["OvfImport"] = reflect.TypeOf((*OvfImport)(nil)).Elem() -} - -type OvfImportFailed struct { - OvfImport -} - -func init() { - t["OvfImportFailed"] = reflect.TypeOf((*OvfImportFailed)(nil)).Elem() -} - -type OvfImportFailedFault OvfImportFailed - -func init() { - t["OvfImportFailedFault"] = reflect.TypeOf((*OvfImportFailedFault)(nil)).Elem() -} - -type OvfImportFault BaseOvfImport - -func init() { - t["OvfImportFault"] = reflect.TypeOf((*OvfImportFault)(nil)).Elem() -} - -type OvfInternalError struct { - OvfSystemFault -} - -func init() { - t["OvfInternalError"] = reflect.TypeOf((*OvfInternalError)(nil)).Elem() -} - -type OvfInternalErrorFault OvfInternalError - -func init() { - t["OvfInternalErrorFault"] = reflect.TypeOf((*OvfInternalErrorFault)(nil)).Elem() -} - -type OvfInvalidPackage struct { - OvfFault - - LineNumber int32 `xml:"lineNumber"` -} - -func init() { - t["OvfInvalidPackage"] = reflect.TypeOf((*OvfInvalidPackage)(nil)).Elem() -} - -type OvfInvalidPackageFault BaseOvfInvalidPackage - -func init() { - t["OvfInvalidPackageFault"] = reflect.TypeOf((*OvfInvalidPackageFault)(nil)).Elem() -} - -type OvfInvalidValue struct { - OvfAttribute - - Value string `xml:"value"` -} - -func init() { - t["OvfInvalidValue"] = reflect.TypeOf((*OvfInvalidValue)(nil)).Elem() -} - -type OvfInvalidValueConfiguration struct { - OvfInvalidValue -} - -func init() { - t["OvfInvalidValueConfiguration"] = reflect.TypeOf((*OvfInvalidValueConfiguration)(nil)).Elem() -} - -type OvfInvalidValueConfigurationFault OvfInvalidValueConfiguration - -func init() { - t["OvfInvalidValueConfigurationFault"] = reflect.TypeOf((*OvfInvalidValueConfigurationFault)(nil)).Elem() -} - -type OvfInvalidValueEmpty struct { - OvfInvalidValue -} - -func init() { - t["OvfInvalidValueEmpty"] = reflect.TypeOf((*OvfInvalidValueEmpty)(nil)).Elem() -} - -type OvfInvalidValueEmptyFault OvfInvalidValueEmpty - -func init() { - t["OvfInvalidValueEmptyFault"] = reflect.TypeOf((*OvfInvalidValueEmptyFault)(nil)).Elem() -} - -type OvfInvalidValueFault BaseOvfInvalidValue - -func init() { - t["OvfInvalidValueFault"] = reflect.TypeOf((*OvfInvalidValueFault)(nil)).Elem() -} - -type OvfInvalidValueFormatMalformed struct { - OvfInvalidValue -} - -func init() { - t["OvfInvalidValueFormatMalformed"] = reflect.TypeOf((*OvfInvalidValueFormatMalformed)(nil)).Elem() -} - -type OvfInvalidValueFormatMalformedFault OvfInvalidValueFormatMalformed - -func init() { - t["OvfInvalidValueFormatMalformedFault"] = reflect.TypeOf((*OvfInvalidValueFormatMalformedFault)(nil)).Elem() -} - -type OvfInvalidValueReference struct { - OvfInvalidValue -} - -func init() { - t["OvfInvalidValueReference"] = reflect.TypeOf((*OvfInvalidValueReference)(nil)).Elem() -} - -type OvfInvalidValueReferenceFault OvfInvalidValueReference - -func init() { - t["OvfInvalidValueReferenceFault"] = reflect.TypeOf((*OvfInvalidValueReferenceFault)(nil)).Elem() -} - -type OvfInvalidVmName struct { - OvfUnsupportedPackage - - Name string `xml:"name"` -} - -func init() { - t["OvfInvalidVmName"] = reflect.TypeOf((*OvfInvalidVmName)(nil)).Elem() -} - -type OvfInvalidVmNameFault OvfInvalidVmName - -func init() { - t["OvfInvalidVmNameFault"] = reflect.TypeOf((*OvfInvalidVmNameFault)(nil)).Elem() -} - -type OvfManagerCommonParams struct { - DynamicData - - Locale string `xml:"locale"` - DeploymentOption string `xml:"deploymentOption"` - MsgBundle []KeyValue `xml:"msgBundle,omitempty"` - ImportOption []string `xml:"importOption,omitempty"` -} - -func init() { - t["OvfManagerCommonParams"] = reflect.TypeOf((*OvfManagerCommonParams)(nil)).Elem() -} - -type OvfMappedOsId struct { - OvfImport - - OvfId int32 `xml:"ovfId"` - OvfDescription string `xml:"ovfDescription"` - TargetDescription string `xml:"targetDescription"` -} - -func init() { - t["OvfMappedOsId"] = reflect.TypeOf((*OvfMappedOsId)(nil)).Elem() -} - -type OvfMappedOsIdFault OvfMappedOsId - -func init() { - t["OvfMappedOsIdFault"] = reflect.TypeOf((*OvfMappedOsIdFault)(nil)).Elem() -} - -type OvfMissingAttribute struct { - OvfAttribute -} - -func init() { - t["OvfMissingAttribute"] = reflect.TypeOf((*OvfMissingAttribute)(nil)).Elem() -} - -type OvfMissingAttributeFault OvfMissingAttribute - -func init() { - t["OvfMissingAttributeFault"] = reflect.TypeOf((*OvfMissingAttributeFault)(nil)).Elem() -} - -type OvfMissingElement struct { - OvfElement -} - -func init() { - t["OvfMissingElement"] = reflect.TypeOf((*OvfMissingElement)(nil)).Elem() -} - -type OvfMissingElementFault BaseOvfMissingElement - -func init() { - t["OvfMissingElementFault"] = reflect.TypeOf((*OvfMissingElementFault)(nil)).Elem() -} - -type OvfMissingElementNormalBoundary struct { - OvfMissingElement - - Boundary string `xml:"boundary"` -} - -func init() { - t["OvfMissingElementNormalBoundary"] = reflect.TypeOf((*OvfMissingElementNormalBoundary)(nil)).Elem() -} - -type OvfMissingElementNormalBoundaryFault OvfMissingElementNormalBoundary - -func init() { - t["OvfMissingElementNormalBoundaryFault"] = reflect.TypeOf((*OvfMissingElementNormalBoundaryFault)(nil)).Elem() -} - -type OvfMissingHardware struct { - OvfImport - - Name string `xml:"name"` - ResourceType int32 `xml:"resourceType"` -} - -func init() { - t["OvfMissingHardware"] = reflect.TypeOf((*OvfMissingHardware)(nil)).Elem() -} - -type OvfMissingHardwareFault OvfMissingHardware - -func init() { - t["OvfMissingHardwareFault"] = reflect.TypeOf((*OvfMissingHardwareFault)(nil)).Elem() -} - -type OvfNetworkInfo struct { - DynamicData - - Name string `xml:"name"` - Description string `xml:"description"` -} - -func init() { - t["OvfNetworkInfo"] = reflect.TypeOf((*OvfNetworkInfo)(nil)).Elem() -} - -type OvfNetworkMapping struct { - DynamicData - - Name string `xml:"name"` - Network ManagedObjectReference `xml:"network"` -} - -func init() { - t["OvfNetworkMapping"] = reflect.TypeOf((*OvfNetworkMapping)(nil)).Elem() -} - -type OvfNetworkMappingNotSupported struct { - OvfImport -} - -func init() { - t["OvfNetworkMappingNotSupported"] = reflect.TypeOf((*OvfNetworkMappingNotSupported)(nil)).Elem() -} - -type OvfNetworkMappingNotSupportedFault OvfNetworkMappingNotSupported - -func init() { - t["OvfNetworkMappingNotSupportedFault"] = reflect.TypeOf((*OvfNetworkMappingNotSupportedFault)(nil)).Elem() -} - -type OvfNoHostNic struct { - OvfUnsupportedPackage -} - -func init() { - t["OvfNoHostNic"] = reflect.TypeOf((*OvfNoHostNic)(nil)).Elem() -} - -type OvfNoHostNicFault OvfNoHostNic - -func init() { - t["OvfNoHostNicFault"] = reflect.TypeOf((*OvfNoHostNicFault)(nil)).Elem() -} - -type OvfNoSpaceOnController struct { - OvfUnsupportedElement - - Parent string `xml:"parent"` -} - -func init() { - t["OvfNoSpaceOnController"] = reflect.TypeOf((*OvfNoSpaceOnController)(nil)).Elem() -} - -type OvfNoSpaceOnControllerFault OvfNoSpaceOnController - -func init() { - t["OvfNoSpaceOnControllerFault"] = reflect.TypeOf((*OvfNoSpaceOnControllerFault)(nil)).Elem() -} - -type OvfNoSupportedHardwareFamily struct { - OvfUnsupportedPackage - - Version string `xml:"version"` -} - -func init() { - t["OvfNoSupportedHardwareFamily"] = reflect.TypeOf((*OvfNoSupportedHardwareFamily)(nil)).Elem() -} - -type OvfNoSupportedHardwareFamilyFault OvfNoSupportedHardwareFamily - -func init() { - t["OvfNoSupportedHardwareFamilyFault"] = reflect.TypeOf((*OvfNoSupportedHardwareFamilyFault)(nil)).Elem() -} - -type OvfOptionInfo struct { - DynamicData - - Option string `xml:"option"` - Description LocalizableMessage `xml:"description"` -} - -func init() { - t["OvfOptionInfo"] = reflect.TypeOf((*OvfOptionInfo)(nil)).Elem() -} - -type OvfParseDescriptorParams struct { - OvfManagerCommonParams -} - -func init() { - t["OvfParseDescriptorParams"] = reflect.TypeOf((*OvfParseDescriptorParams)(nil)).Elem() -} - -type OvfParseDescriptorResult struct { - DynamicData - - Eula []string `xml:"eula,omitempty"` - Network []OvfNetworkInfo `xml:"network,omitempty"` - IpAllocationScheme []string `xml:"ipAllocationScheme,omitempty"` - IpProtocols []string `xml:"ipProtocols,omitempty"` - Property []VAppPropertyInfo `xml:"property,omitempty"` - ProductInfo *VAppProductInfo `xml:"productInfo,omitempty"` - Annotation string `xml:"annotation"` - ApproximateDownloadSize int64 `xml:"approximateDownloadSize,omitempty"` - ApproximateFlatDeploymentSize int64 `xml:"approximateFlatDeploymentSize,omitempty"` - ApproximateSparseDeploymentSize int64 `xml:"approximateSparseDeploymentSize,omitempty"` - DefaultEntityName string `xml:"defaultEntityName"` - VirtualApp bool `xml:"virtualApp"` - DeploymentOption []OvfDeploymentOption `xml:"deploymentOption,omitempty"` - DefaultDeploymentOption string `xml:"defaultDeploymentOption"` - EntityName []KeyValue `xml:"entityName,omitempty"` - AnnotatedOst *OvfConsumerOstNode `xml:"annotatedOst,omitempty"` - Error []LocalizedMethodFault `xml:"error,omitempty"` - Warning []LocalizedMethodFault `xml:"warning,omitempty"` -} - -func init() { - t["OvfParseDescriptorResult"] = reflect.TypeOf((*OvfParseDescriptorResult)(nil)).Elem() -} - -type OvfProperty struct { - OvfInvalidPackage - - Type string `xml:"type"` - Value string `xml:"value"` -} - -func init() { - t["OvfProperty"] = reflect.TypeOf((*OvfProperty)(nil)).Elem() -} - -type OvfPropertyExport struct { - OvfExport - - Type string `xml:"type"` - Value string `xml:"value"` -} - -func init() { - t["OvfPropertyExport"] = reflect.TypeOf((*OvfPropertyExport)(nil)).Elem() -} - -type OvfPropertyExportFault OvfPropertyExport - -func init() { - t["OvfPropertyExportFault"] = reflect.TypeOf((*OvfPropertyExportFault)(nil)).Elem() -} - -type OvfPropertyFault BaseOvfProperty - -func init() { - t["OvfPropertyFault"] = reflect.TypeOf((*OvfPropertyFault)(nil)).Elem() -} - -type OvfPropertyNetwork struct { - OvfProperty -} - -func init() { - t["OvfPropertyNetwork"] = reflect.TypeOf((*OvfPropertyNetwork)(nil)).Elem() -} - -type OvfPropertyNetworkExport struct { - OvfExport - - Network string `xml:"network"` -} - -func init() { - t["OvfPropertyNetworkExport"] = reflect.TypeOf((*OvfPropertyNetworkExport)(nil)).Elem() -} - -type OvfPropertyNetworkExportFault OvfPropertyNetworkExport - -func init() { - t["OvfPropertyNetworkExportFault"] = reflect.TypeOf((*OvfPropertyNetworkExportFault)(nil)).Elem() -} - -type OvfPropertyNetworkFault OvfPropertyNetwork - -func init() { - t["OvfPropertyNetworkFault"] = reflect.TypeOf((*OvfPropertyNetworkFault)(nil)).Elem() -} - -type OvfPropertyQualifier struct { - OvfProperty - - Qualifier string `xml:"qualifier"` -} - -func init() { - t["OvfPropertyQualifier"] = reflect.TypeOf((*OvfPropertyQualifier)(nil)).Elem() -} - -type OvfPropertyQualifierDuplicate struct { - OvfProperty - - Qualifier string `xml:"qualifier"` -} - -func init() { - t["OvfPropertyQualifierDuplicate"] = reflect.TypeOf((*OvfPropertyQualifierDuplicate)(nil)).Elem() -} - -type OvfPropertyQualifierDuplicateFault OvfPropertyQualifierDuplicate - -func init() { - t["OvfPropertyQualifierDuplicateFault"] = reflect.TypeOf((*OvfPropertyQualifierDuplicateFault)(nil)).Elem() -} - -type OvfPropertyQualifierFault OvfPropertyQualifier - -func init() { - t["OvfPropertyQualifierFault"] = reflect.TypeOf((*OvfPropertyQualifierFault)(nil)).Elem() -} - -type OvfPropertyQualifierIgnored struct { - OvfProperty - - Qualifier string `xml:"qualifier"` -} - -func init() { - t["OvfPropertyQualifierIgnored"] = reflect.TypeOf((*OvfPropertyQualifierIgnored)(nil)).Elem() -} - -type OvfPropertyQualifierIgnoredFault OvfPropertyQualifierIgnored - -func init() { - t["OvfPropertyQualifierIgnoredFault"] = reflect.TypeOf((*OvfPropertyQualifierIgnoredFault)(nil)).Elem() -} - -type OvfPropertyType struct { - OvfProperty -} - -func init() { - t["OvfPropertyType"] = reflect.TypeOf((*OvfPropertyType)(nil)).Elem() -} - -type OvfPropertyTypeFault OvfPropertyType - -func init() { - t["OvfPropertyTypeFault"] = reflect.TypeOf((*OvfPropertyTypeFault)(nil)).Elem() -} - -type OvfPropertyValue struct { - OvfProperty -} - -func init() { - t["OvfPropertyValue"] = reflect.TypeOf((*OvfPropertyValue)(nil)).Elem() -} - -type OvfPropertyValueFault OvfPropertyValue - -func init() { - t["OvfPropertyValueFault"] = reflect.TypeOf((*OvfPropertyValueFault)(nil)).Elem() -} - -type OvfResourceMap struct { - DynamicData - - Source string `xml:"source"` - Parent *ManagedObjectReference `xml:"parent,omitempty"` - ResourceSpec *ResourceConfigSpec `xml:"resourceSpec,omitempty"` - Datastore *ManagedObjectReference `xml:"datastore,omitempty"` -} - -func init() { - t["OvfResourceMap"] = reflect.TypeOf((*OvfResourceMap)(nil)).Elem() -} - -type OvfSystemFault struct { - OvfFault -} - -func init() { - t["OvfSystemFault"] = reflect.TypeOf((*OvfSystemFault)(nil)).Elem() -} - -type OvfSystemFaultFault BaseOvfSystemFault - -func init() { - t["OvfSystemFaultFault"] = reflect.TypeOf((*OvfSystemFaultFault)(nil)).Elem() -} - -type OvfToXmlUnsupportedElement struct { - OvfSystemFault - - Name string `xml:"name,omitempty"` -} - -func init() { - t["OvfToXmlUnsupportedElement"] = reflect.TypeOf((*OvfToXmlUnsupportedElement)(nil)).Elem() -} - -type OvfToXmlUnsupportedElementFault OvfToXmlUnsupportedElement - -func init() { - t["OvfToXmlUnsupportedElementFault"] = reflect.TypeOf((*OvfToXmlUnsupportedElementFault)(nil)).Elem() -} - -type OvfUnableToExportDisk struct { - OvfHardwareExport - - DiskName string `xml:"diskName"` -} - -func init() { - t["OvfUnableToExportDisk"] = reflect.TypeOf((*OvfUnableToExportDisk)(nil)).Elem() -} - -type OvfUnableToExportDiskFault OvfUnableToExportDisk - -func init() { - t["OvfUnableToExportDiskFault"] = reflect.TypeOf((*OvfUnableToExportDiskFault)(nil)).Elem() -} - -type OvfUnexpectedElement struct { - OvfElement -} - -func init() { - t["OvfUnexpectedElement"] = reflect.TypeOf((*OvfUnexpectedElement)(nil)).Elem() -} - -type OvfUnexpectedElementFault OvfUnexpectedElement - -func init() { - t["OvfUnexpectedElementFault"] = reflect.TypeOf((*OvfUnexpectedElementFault)(nil)).Elem() -} - -type OvfUnknownDevice struct { - OvfSystemFault - - Device BaseVirtualDevice `xml:"device,omitempty,typeattr"` - VmName string `xml:"vmName"` -} - -func init() { - t["OvfUnknownDevice"] = reflect.TypeOf((*OvfUnknownDevice)(nil)).Elem() -} - -type OvfUnknownDeviceBacking struct { - OvfHardwareExport - - Backing BaseVirtualDeviceBackingInfo `xml:"backing,typeattr"` -} - -func init() { - t["OvfUnknownDeviceBacking"] = reflect.TypeOf((*OvfUnknownDeviceBacking)(nil)).Elem() -} - -type OvfUnknownDeviceBackingFault OvfUnknownDeviceBacking - -func init() { - t["OvfUnknownDeviceBackingFault"] = reflect.TypeOf((*OvfUnknownDeviceBackingFault)(nil)).Elem() -} - -type OvfUnknownDeviceFault OvfUnknownDevice - -func init() { - t["OvfUnknownDeviceFault"] = reflect.TypeOf((*OvfUnknownDeviceFault)(nil)).Elem() -} - -type OvfUnknownEntity struct { - OvfSystemFault - - LineNumber int32 `xml:"lineNumber"` -} - -func init() { - t["OvfUnknownEntity"] = reflect.TypeOf((*OvfUnknownEntity)(nil)).Elem() -} - -type OvfUnknownEntityFault OvfUnknownEntity - -func init() { - t["OvfUnknownEntityFault"] = reflect.TypeOf((*OvfUnknownEntityFault)(nil)).Elem() -} - -type OvfUnsupportedAttribute struct { - OvfUnsupportedPackage - - ElementName string `xml:"elementName"` - AttributeName string `xml:"attributeName"` -} - -func init() { - t["OvfUnsupportedAttribute"] = reflect.TypeOf((*OvfUnsupportedAttribute)(nil)).Elem() -} - -type OvfUnsupportedAttributeFault BaseOvfUnsupportedAttribute - -func init() { - t["OvfUnsupportedAttributeFault"] = reflect.TypeOf((*OvfUnsupportedAttributeFault)(nil)).Elem() -} - -type OvfUnsupportedAttributeValue struct { - OvfUnsupportedAttribute - - Value string `xml:"value"` -} - -func init() { - t["OvfUnsupportedAttributeValue"] = reflect.TypeOf((*OvfUnsupportedAttributeValue)(nil)).Elem() -} - -type OvfUnsupportedAttributeValueFault OvfUnsupportedAttributeValue - -func init() { - t["OvfUnsupportedAttributeValueFault"] = reflect.TypeOf((*OvfUnsupportedAttributeValueFault)(nil)).Elem() -} - -type OvfUnsupportedDeviceBackingInfo struct { - OvfSystemFault - - ElementName string `xml:"elementName,omitempty"` - InstanceId string `xml:"instanceId,omitempty"` - DeviceName string `xml:"deviceName"` - BackingName string `xml:"backingName,omitempty"` -} - -func init() { - t["OvfUnsupportedDeviceBackingInfo"] = reflect.TypeOf((*OvfUnsupportedDeviceBackingInfo)(nil)).Elem() -} - -type OvfUnsupportedDeviceBackingInfoFault OvfUnsupportedDeviceBackingInfo - -func init() { - t["OvfUnsupportedDeviceBackingInfoFault"] = reflect.TypeOf((*OvfUnsupportedDeviceBackingInfoFault)(nil)).Elem() -} - -type OvfUnsupportedDeviceBackingOption struct { - OvfSystemFault - - ElementName string `xml:"elementName,omitempty"` - InstanceId string `xml:"instanceId,omitempty"` - DeviceName string `xml:"deviceName"` - BackingName string `xml:"backingName,omitempty"` -} - -func init() { - t["OvfUnsupportedDeviceBackingOption"] = reflect.TypeOf((*OvfUnsupportedDeviceBackingOption)(nil)).Elem() -} - -type OvfUnsupportedDeviceBackingOptionFault OvfUnsupportedDeviceBackingOption - -func init() { - t["OvfUnsupportedDeviceBackingOptionFault"] = reflect.TypeOf((*OvfUnsupportedDeviceBackingOptionFault)(nil)).Elem() -} - -type OvfUnsupportedDeviceExport struct { - OvfHardwareExport -} - -func init() { - t["OvfUnsupportedDeviceExport"] = reflect.TypeOf((*OvfUnsupportedDeviceExport)(nil)).Elem() -} - -type OvfUnsupportedDeviceExportFault OvfUnsupportedDeviceExport - -func init() { - t["OvfUnsupportedDeviceExportFault"] = reflect.TypeOf((*OvfUnsupportedDeviceExportFault)(nil)).Elem() -} - -type OvfUnsupportedDiskProvisioning struct { - OvfImport - - DiskProvisioning string `xml:"diskProvisioning"` - SupportedDiskProvisioning string `xml:"supportedDiskProvisioning"` -} - -func init() { - t["OvfUnsupportedDiskProvisioning"] = reflect.TypeOf((*OvfUnsupportedDiskProvisioning)(nil)).Elem() -} - -type OvfUnsupportedDiskProvisioningFault OvfUnsupportedDiskProvisioning - -func init() { - t["OvfUnsupportedDiskProvisioningFault"] = reflect.TypeOf((*OvfUnsupportedDiskProvisioningFault)(nil)).Elem() -} - -type OvfUnsupportedElement struct { - OvfUnsupportedPackage - - Name string `xml:"name"` -} - -func init() { - t["OvfUnsupportedElement"] = reflect.TypeOf((*OvfUnsupportedElement)(nil)).Elem() -} - -type OvfUnsupportedElementFault BaseOvfUnsupportedElement - -func init() { - t["OvfUnsupportedElementFault"] = reflect.TypeOf((*OvfUnsupportedElementFault)(nil)).Elem() -} - -type OvfUnsupportedElementValue struct { - OvfUnsupportedElement - - Value string `xml:"value"` -} - -func init() { - t["OvfUnsupportedElementValue"] = reflect.TypeOf((*OvfUnsupportedElementValue)(nil)).Elem() -} - -type OvfUnsupportedElementValueFault OvfUnsupportedElementValue - -func init() { - t["OvfUnsupportedElementValueFault"] = reflect.TypeOf((*OvfUnsupportedElementValueFault)(nil)).Elem() -} - -type OvfUnsupportedPackage struct { - OvfFault - - LineNumber int32 `xml:"lineNumber,omitempty"` -} - -func init() { - t["OvfUnsupportedPackage"] = reflect.TypeOf((*OvfUnsupportedPackage)(nil)).Elem() -} - -type OvfUnsupportedPackageFault BaseOvfUnsupportedPackage - -func init() { - t["OvfUnsupportedPackageFault"] = reflect.TypeOf((*OvfUnsupportedPackageFault)(nil)).Elem() -} - -type OvfUnsupportedSection struct { - OvfUnsupportedElement - - Info string `xml:"info"` -} - -func init() { - t["OvfUnsupportedSection"] = reflect.TypeOf((*OvfUnsupportedSection)(nil)).Elem() -} - -type OvfUnsupportedSectionFault OvfUnsupportedSection - -func init() { - t["OvfUnsupportedSectionFault"] = reflect.TypeOf((*OvfUnsupportedSectionFault)(nil)).Elem() -} - -type OvfUnsupportedSubType struct { - OvfUnsupportedPackage - - ElementName string `xml:"elementName"` - InstanceId string `xml:"instanceId"` - DeviceType int32 `xml:"deviceType"` - DeviceSubType string `xml:"deviceSubType"` -} - -func init() { - t["OvfUnsupportedSubType"] = reflect.TypeOf((*OvfUnsupportedSubType)(nil)).Elem() -} - -type OvfUnsupportedSubTypeFault OvfUnsupportedSubType - -func init() { - t["OvfUnsupportedSubTypeFault"] = reflect.TypeOf((*OvfUnsupportedSubTypeFault)(nil)).Elem() -} - -type OvfUnsupportedType struct { - OvfUnsupportedPackage - - Name string `xml:"name"` - InstanceId string `xml:"instanceId"` - DeviceType int32 `xml:"deviceType"` -} - -func init() { - t["OvfUnsupportedType"] = reflect.TypeOf((*OvfUnsupportedType)(nil)).Elem() -} - -type OvfUnsupportedTypeFault OvfUnsupportedType - -func init() { - t["OvfUnsupportedTypeFault"] = reflect.TypeOf((*OvfUnsupportedTypeFault)(nil)).Elem() -} - -type OvfValidateHostParams struct { - OvfManagerCommonParams -} - -func init() { - t["OvfValidateHostParams"] = reflect.TypeOf((*OvfValidateHostParams)(nil)).Elem() -} - -type OvfValidateHostResult struct { - DynamicData - - DownloadSize int64 `xml:"downloadSize,omitempty"` - FlatDeploymentSize int64 `xml:"flatDeploymentSize,omitempty"` - SparseDeploymentSize int64 `xml:"sparseDeploymentSize,omitempty"` - Error []LocalizedMethodFault `xml:"error,omitempty"` - Warning []LocalizedMethodFault `xml:"warning,omitempty"` - SupportedDiskProvisioning []string `xml:"supportedDiskProvisioning,omitempty"` -} - -func init() { - t["OvfValidateHostResult"] = reflect.TypeOf((*OvfValidateHostResult)(nil)).Elem() -} - -type OvfWrongElement struct { - OvfElement -} - -func init() { - t["OvfWrongElement"] = reflect.TypeOf((*OvfWrongElement)(nil)).Elem() -} - -type OvfWrongElementFault OvfWrongElement - -func init() { - t["OvfWrongElementFault"] = reflect.TypeOf((*OvfWrongElementFault)(nil)).Elem() -} - -type OvfWrongNamespace struct { - OvfInvalidPackage - - NamespaceName string `xml:"namespaceName"` -} - -func init() { - t["OvfWrongNamespace"] = reflect.TypeOf((*OvfWrongNamespace)(nil)).Elem() -} - -type OvfWrongNamespaceFault OvfWrongNamespace - -func init() { - t["OvfWrongNamespaceFault"] = reflect.TypeOf((*OvfWrongNamespaceFault)(nil)).Elem() -} - -type OvfXmlFormat struct { - OvfInvalidPackage - - Description string `xml:"description"` -} - -func init() { - t["OvfXmlFormat"] = reflect.TypeOf((*OvfXmlFormat)(nil)).Elem() -} - -type OvfXmlFormatFault OvfXmlFormat - -func init() { - t["OvfXmlFormatFault"] = reflect.TypeOf((*OvfXmlFormatFault)(nil)).Elem() -} - -type PMemDatastoreInfo struct { - DatastoreInfo - - Pmem HostPMemVolume `xml:"pmem"` -} - -func init() { - t["PMemDatastoreInfo"] = reflect.TypeOf((*PMemDatastoreInfo)(nil)).Elem() -} - -type ParaVirtualSCSIController struct { - VirtualSCSIController -} - -func init() { - t["ParaVirtualSCSIController"] = reflect.TypeOf((*ParaVirtualSCSIController)(nil)).Elem() -} - -type ParaVirtualSCSIControllerOption struct { - VirtualSCSIControllerOption -} - -func init() { - t["ParaVirtualSCSIControllerOption"] = reflect.TypeOf((*ParaVirtualSCSIControllerOption)(nil)).Elem() -} - -type ParseDescriptor ParseDescriptorRequestType - -func init() { - t["ParseDescriptor"] = reflect.TypeOf((*ParseDescriptor)(nil)).Elem() -} - -type ParseDescriptorRequestType struct { - This ManagedObjectReference `xml:"_this"` - OvfDescriptor string `xml:"ovfDescriptor"` - Pdp OvfParseDescriptorParams `xml:"pdp"` -} - -func init() { - t["ParseDescriptorRequestType"] = reflect.TypeOf((*ParseDescriptorRequestType)(nil)).Elem() -} - -type ParseDescriptorResponse struct { - Returnval OvfParseDescriptorResult `xml:"returnval"` -} - -type PassiveNodeDeploymentSpec struct { - NodeDeploymentSpec - - FailoverIpSettings *CustomizationIPSettings `xml:"failoverIpSettings,omitempty"` -} - -func init() { - t["PassiveNodeDeploymentSpec"] = reflect.TypeOf((*PassiveNodeDeploymentSpec)(nil)).Elem() -} - -type PassiveNodeNetworkSpec struct { - NodeNetworkSpec - - FailoverIpSettings *CustomizationIPSettings `xml:"failoverIpSettings,omitempty"` -} - -func init() { - t["PassiveNodeNetworkSpec"] = reflect.TypeOf((*PassiveNodeNetworkSpec)(nil)).Elem() -} - -type PasswordExpired struct { - InvalidLogin -} - -func init() { - t["PasswordExpired"] = reflect.TypeOf((*PasswordExpired)(nil)).Elem() -} - -type PasswordExpiredFault PasswordExpired - -func init() { - t["PasswordExpiredFault"] = reflect.TypeOf((*PasswordExpiredFault)(nil)).Elem() -} - -type PasswordField struct { - DynamicData - - Value string `xml:"value"` -} - -func init() { - t["PasswordField"] = reflect.TypeOf((*PasswordField)(nil)).Elem() -} - -type PatchAlreadyInstalled struct { - PatchNotApplicable -} - -func init() { - t["PatchAlreadyInstalled"] = reflect.TypeOf((*PatchAlreadyInstalled)(nil)).Elem() -} - -type PatchAlreadyInstalledFault PatchAlreadyInstalled - -func init() { - t["PatchAlreadyInstalledFault"] = reflect.TypeOf((*PatchAlreadyInstalledFault)(nil)).Elem() -} - -type PatchBinariesNotFound struct { - VimFault - - PatchID string `xml:"patchID"` - Binary []string `xml:"binary,omitempty"` -} - -func init() { - t["PatchBinariesNotFound"] = reflect.TypeOf((*PatchBinariesNotFound)(nil)).Elem() -} - -type PatchBinariesNotFoundFault PatchBinariesNotFound - -func init() { - t["PatchBinariesNotFoundFault"] = reflect.TypeOf((*PatchBinariesNotFoundFault)(nil)).Elem() -} - -type PatchInstallFailed struct { - PlatformConfigFault - - RolledBack bool `xml:"rolledBack"` -} - -func init() { - t["PatchInstallFailed"] = reflect.TypeOf((*PatchInstallFailed)(nil)).Elem() -} - -type PatchInstallFailedFault PatchInstallFailed - -func init() { - t["PatchInstallFailedFault"] = reflect.TypeOf((*PatchInstallFailedFault)(nil)).Elem() -} - -type PatchIntegrityError struct { - PlatformConfigFault -} - -func init() { - t["PatchIntegrityError"] = reflect.TypeOf((*PatchIntegrityError)(nil)).Elem() -} - -type PatchIntegrityErrorFault PatchIntegrityError - -func init() { - t["PatchIntegrityErrorFault"] = reflect.TypeOf((*PatchIntegrityErrorFault)(nil)).Elem() -} - -type PatchMetadataCorrupted struct { - PatchMetadataInvalid -} - -func init() { - t["PatchMetadataCorrupted"] = reflect.TypeOf((*PatchMetadataCorrupted)(nil)).Elem() -} - -type PatchMetadataCorruptedFault PatchMetadataCorrupted - -func init() { - t["PatchMetadataCorruptedFault"] = reflect.TypeOf((*PatchMetadataCorruptedFault)(nil)).Elem() -} - -type PatchMetadataInvalid struct { - VimFault - - PatchID string `xml:"patchID"` - MetaData []string `xml:"metaData,omitempty"` -} - -func init() { - t["PatchMetadataInvalid"] = reflect.TypeOf((*PatchMetadataInvalid)(nil)).Elem() -} - -type PatchMetadataInvalidFault BasePatchMetadataInvalid - -func init() { - t["PatchMetadataInvalidFault"] = reflect.TypeOf((*PatchMetadataInvalidFault)(nil)).Elem() -} - -type PatchMetadataNotFound struct { - PatchMetadataInvalid -} - -func init() { - t["PatchMetadataNotFound"] = reflect.TypeOf((*PatchMetadataNotFound)(nil)).Elem() -} - -type PatchMetadataNotFoundFault PatchMetadataNotFound - -func init() { - t["PatchMetadataNotFoundFault"] = reflect.TypeOf((*PatchMetadataNotFoundFault)(nil)).Elem() -} - -type PatchMissingDependencies struct { - PatchNotApplicable - - PrerequisitePatch []string `xml:"prerequisitePatch,omitempty"` - PrerequisiteLib []string `xml:"prerequisiteLib,omitempty"` -} - -func init() { - t["PatchMissingDependencies"] = reflect.TypeOf((*PatchMissingDependencies)(nil)).Elem() -} - -type PatchMissingDependenciesFault PatchMissingDependencies - -func init() { - t["PatchMissingDependenciesFault"] = reflect.TypeOf((*PatchMissingDependenciesFault)(nil)).Elem() -} - -type PatchNotApplicable struct { - VimFault - - PatchID string `xml:"patchID"` -} - -func init() { - t["PatchNotApplicable"] = reflect.TypeOf((*PatchNotApplicable)(nil)).Elem() -} - -type PatchNotApplicableFault BasePatchNotApplicable - -func init() { - t["PatchNotApplicableFault"] = reflect.TypeOf((*PatchNotApplicableFault)(nil)).Elem() -} - -type PatchSuperseded struct { - PatchNotApplicable - - Supersede []string `xml:"supersede,omitempty"` -} - -func init() { - t["PatchSuperseded"] = reflect.TypeOf((*PatchSuperseded)(nil)).Elem() -} - -type PatchSupersededFault PatchSuperseded - -func init() { - t["PatchSupersededFault"] = reflect.TypeOf((*PatchSupersededFault)(nil)).Elem() -} - -type PerfCompositeMetric struct { - DynamicData - - Entity BasePerfEntityMetricBase `xml:"entity,omitempty,typeattr"` - ChildEntity []BasePerfEntityMetricBase `xml:"childEntity,omitempty,typeattr"` -} - -func init() { - t["PerfCompositeMetric"] = reflect.TypeOf((*PerfCompositeMetric)(nil)).Elem() -} - -type PerfCounterInfo struct { - DynamicData - - Key int32 `xml:"key"` - NameInfo BaseElementDescription `xml:"nameInfo,typeattr"` - GroupInfo BaseElementDescription `xml:"groupInfo,typeattr"` - UnitInfo BaseElementDescription `xml:"unitInfo,typeattr"` - RollupType PerfSummaryType `xml:"rollupType"` - StatsType PerfStatsType `xml:"statsType"` - Level int32 `xml:"level,omitempty"` - PerDeviceLevel int32 `xml:"perDeviceLevel,omitempty"` - AssociatedCounterId []int32 `xml:"associatedCounterId,omitempty"` -} - -func init() { - t["PerfCounterInfo"] = reflect.TypeOf((*PerfCounterInfo)(nil)).Elem() -} - -type PerfEntityMetric struct { - PerfEntityMetricBase - - SampleInfo []PerfSampleInfo `xml:"sampleInfo,omitempty"` - Value []BasePerfMetricSeries `xml:"value,omitempty,typeattr"` -} - -func init() { - t["PerfEntityMetric"] = reflect.TypeOf((*PerfEntityMetric)(nil)).Elem() -} - -type PerfEntityMetricBase struct { - DynamicData - - Entity ManagedObjectReference `xml:"entity"` -} - -func init() { - t["PerfEntityMetricBase"] = reflect.TypeOf((*PerfEntityMetricBase)(nil)).Elem() -} - -type PerfEntityMetricCSV struct { - PerfEntityMetricBase - - SampleInfoCSV string `xml:"sampleInfoCSV"` - Value []PerfMetricSeriesCSV `xml:"value,omitempty"` -} - -func init() { - t["PerfEntityMetricCSV"] = reflect.TypeOf((*PerfEntityMetricCSV)(nil)).Elem() -} - -type PerfInterval struct { - DynamicData - - Key int32 `xml:"key"` - SamplingPeriod int32 `xml:"samplingPeriod"` - Name string `xml:"name"` - Length int32 `xml:"length"` - Level int32 `xml:"level,omitempty"` - Enabled bool `xml:"enabled"` -} - -func init() { - t["PerfInterval"] = reflect.TypeOf((*PerfInterval)(nil)).Elem() -} - -type PerfMetricId struct { - DynamicData - - CounterId int32 `xml:"counterId"` - Instance string `xml:"instance"` -} - -func init() { - t["PerfMetricId"] = reflect.TypeOf((*PerfMetricId)(nil)).Elem() -} - -type PerfMetricIntSeries struct { - PerfMetricSeries - - Value []int64 `xml:"value,omitempty"` -} - -func init() { - t["PerfMetricIntSeries"] = reflect.TypeOf((*PerfMetricIntSeries)(nil)).Elem() -} - -type PerfMetricSeries struct { - DynamicData - - Id PerfMetricId `xml:"id"` -} - -func init() { - t["PerfMetricSeries"] = reflect.TypeOf((*PerfMetricSeries)(nil)).Elem() -} - -type PerfMetricSeriesCSV struct { - PerfMetricSeries - - Value string `xml:"value,omitempty"` -} - -func init() { - t["PerfMetricSeriesCSV"] = reflect.TypeOf((*PerfMetricSeriesCSV)(nil)).Elem() -} - -type PerfProviderSummary struct { - DynamicData - - Entity ManagedObjectReference `xml:"entity"` - CurrentSupported bool `xml:"currentSupported"` - SummarySupported bool `xml:"summarySupported"` - RefreshRate int32 `xml:"refreshRate,omitempty"` -} - -func init() { - t["PerfProviderSummary"] = reflect.TypeOf((*PerfProviderSummary)(nil)).Elem() -} - -type PerfQuerySpec struct { - DynamicData - - Entity ManagedObjectReference `xml:"entity"` - StartTime *time.Time `xml:"startTime"` - EndTime *time.Time `xml:"endTime"` - MaxSample int32 `xml:"maxSample,omitempty"` - MetricId []PerfMetricId `xml:"metricId,omitempty"` - IntervalId int32 `xml:"intervalId,omitempty"` - Format string `xml:"format,omitempty"` -} - -func init() { - t["PerfQuerySpec"] = reflect.TypeOf((*PerfQuerySpec)(nil)).Elem() -} - -type PerfSampleInfo struct { - DynamicData - - Timestamp time.Time `xml:"timestamp"` - Interval int32 `xml:"interval"` -} - -func init() { - t["PerfSampleInfo"] = reflect.TypeOf((*PerfSampleInfo)(nil)).Elem() -} - -type PerformDvsProductSpecOperationRequestType struct { - This ManagedObjectReference `xml:"_this"` - Operation string `xml:"operation"` - ProductSpec *DistributedVirtualSwitchProductSpec `xml:"productSpec,omitempty"` -} - -func init() { - t["PerformDvsProductSpecOperationRequestType"] = reflect.TypeOf((*PerformDvsProductSpecOperationRequestType)(nil)).Elem() -} - -type PerformDvsProductSpecOperation_Task PerformDvsProductSpecOperationRequestType - -func init() { - t["PerformDvsProductSpecOperation_Task"] = reflect.TypeOf((*PerformDvsProductSpecOperation_Task)(nil)).Elem() -} - -type PerformDvsProductSpecOperation_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type PerformVsanUpgradePreflightCheck PerformVsanUpgradePreflightCheckRequestType - -func init() { - t["PerformVsanUpgradePreflightCheck"] = reflect.TypeOf((*PerformVsanUpgradePreflightCheck)(nil)).Elem() -} - -type PerformVsanUpgradePreflightCheckRequestType struct { - This ManagedObjectReference `xml:"_this"` - Cluster ManagedObjectReference `xml:"cluster"` - DowngradeFormat *bool `xml:"downgradeFormat"` -} - -func init() { - t["PerformVsanUpgradePreflightCheckRequestType"] = reflect.TypeOf((*PerformVsanUpgradePreflightCheckRequestType)(nil)).Elem() -} - -type PerformVsanUpgradePreflightCheckResponse struct { - Returnval VsanUpgradeSystemPreflightCheckResult `xml:"returnval"` -} - -type PerformVsanUpgradeRequestType struct { - This ManagedObjectReference `xml:"_this"` - Cluster ManagedObjectReference `xml:"cluster"` - PerformObjectUpgrade *bool `xml:"performObjectUpgrade"` - DowngradeFormat *bool `xml:"downgradeFormat"` - AllowReducedRedundancy *bool `xml:"allowReducedRedundancy"` - ExcludeHosts []ManagedObjectReference `xml:"excludeHosts,omitempty"` -} - -func init() { - t["PerformVsanUpgradeRequestType"] = reflect.TypeOf((*PerformVsanUpgradeRequestType)(nil)).Elem() -} - -type PerformVsanUpgrade_Task PerformVsanUpgradeRequestType - -func init() { - t["PerformVsanUpgrade_Task"] = reflect.TypeOf((*PerformVsanUpgrade_Task)(nil)).Elem() -} - -type PerformVsanUpgrade_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type PerformanceDescription struct { - DynamicData - - CounterType []BaseElementDescription `xml:"counterType,typeattr"` - StatsType []BaseElementDescription `xml:"statsType,typeattr"` -} - -func init() { - t["PerformanceDescription"] = reflect.TypeOf((*PerformanceDescription)(nil)).Elem() -} - -type PerformanceManagerCounterLevelMapping struct { - DynamicData - - CounterId int32 `xml:"counterId"` - AggregateLevel int32 `xml:"aggregateLevel,omitempty"` - PerDeviceLevel int32 `xml:"perDeviceLevel,omitempty"` -} - -func init() { - t["PerformanceManagerCounterLevelMapping"] = reflect.TypeOf((*PerformanceManagerCounterLevelMapping)(nil)).Elem() -} - -type PerformanceStatisticsDescription struct { - DynamicData - - Intervals []PerfInterval `xml:"intervals,omitempty"` -} - -func init() { - t["PerformanceStatisticsDescription"] = reflect.TypeOf((*PerformanceStatisticsDescription)(nil)).Elem() -} - -type Permission struct { - DynamicData - - Entity *ManagedObjectReference `xml:"entity,omitempty"` - Principal string `xml:"principal"` - Group bool `xml:"group"` - RoleId int32 `xml:"roleId"` - Propagate bool `xml:"propagate"` -} - -func init() { - t["Permission"] = reflect.TypeOf((*Permission)(nil)).Elem() -} - -type PermissionAddedEvent struct { - PermissionEvent - - Role RoleEventArgument `xml:"role"` - Propagate bool `xml:"propagate"` -} - -func init() { - t["PermissionAddedEvent"] = reflect.TypeOf((*PermissionAddedEvent)(nil)).Elem() -} - -type PermissionEvent struct { - AuthorizationEvent - - Entity ManagedEntityEventArgument `xml:"entity"` - Principal string `xml:"principal"` - Group bool `xml:"group"` -} - -func init() { - t["PermissionEvent"] = reflect.TypeOf((*PermissionEvent)(nil)).Elem() -} - -type PermissionProfile struct { - ApplyProfile - - Key string `xml:"key"` -} - -func init() { - t["PermissionProfile"] = reflect.TypeOf((*PermissionProfile)(nil)).Elem() -} - -type PermissionRemovedEvent struct { - PermissionEvent -} - -func init() { - t["PermissionRemovedEvent"] = reflect.TypeOf((*PermissionRemovedEvent)(nil)).Elem() -} - -type PermissionUpdatedEvent struct { - PermissionEvent - - Role RoleEventArgument `xml:"role"` - Propagate bool `xml:"propagate"` - PrevRole *RoleEventArgument `xml:"prevRole,omitempty"` - PrevPropagate *bool `xml:"prevPropagate"` -} - -func init() { - t["PermissionUpdatedEvent"] = reflect.TypeOf((*PermissionUpdatedEvent)(nil)).Elem() -} - -type PhysCompatRDMNotSupported struct { - RDMNotSupported -} - -func init() { - t["PhysCompatRDMNotSupported"] = reflect.TypeOf((*PhysCompatRDMNotSupported)(nil)).Elem() -} - -type PhysCompatRDMNotSupportedFault PhysCompatRDMNotSupported - -func init() { - t["PhysCompatRDMNotSupportedFault"] = reflect.TypeOf((*PhysCompatRDMNotSupportedFault)(nil)).Elem() -} - -type PhysicalNic struct { - DynamicData - - Key string `xml:"key,omitempty"` - Device string `xml:"device"` - Pci string `xml:"pci"` - Driver string `xml:"driver,omitempty"` - DriverVersion string `xml:"driverVersion,omitempty"` - FirmwareVersion string `xml:"firmwareVersion,omitempty"` - LinkSpeed *PhysicalNicLinkInfo `xml:"linkSpeed,omitempty"` - ValidLinkSpecification []PhysicalNicLinkInfo `xml:"validLinkSpecification,omitempty"` - Spec PhysicalNicSpec `xml:"spec"` - WakeOnLanSupported bool `xml:"wakeOnLanSupported"` - Mac string `xml:"mac"` - FcoeConfiguration *FcoeConfig `xml:"fcoeConfiguration,omitempty"` - VmDirectPathGen2Supported *bool `xml:"vmDirectPathGen2Supported"` - VmDirectPathGen2SupportedMode string `xml:"vmDirectPathGen2SupportedMode,omitempty"` - ResourcePoolSchedulerAllowed *bool `xml:"resourcePoolSchedulerAllowed"` - ResourcePoolSchedulerDisallowedReason []string `xml:"resourcePoolSchedulerDisallowedReason,omitempty"` - AutoNegotiateSupported *bool `xml:"autoNegotiateSupported"` - EnhancedNetworkingStackSupported *bool `xml:"enhancedNetworkingStackSupported"` - EnsInterruptSupported *bool `xml:"ensInterruptSupported"` - RdmaDevice string `xml:"rdmaDevice,omitempty"` - DpuId string `xml:"dpuId,omitempty"` -} - -func init() { - t["PhysicalNic"] = reflect.TypeOf((*PhysicalNic)(nil)).Elem() -} - -type PhysicalNicCdpDeviceCapability struct { - DynamicData - - Router bool `xml:"router"` - TransparentBridge bool `xml:"transparentBridge"` - SourceRouteBridge bool `xml:"sourceRouteBridge"` - NetworkSwitch bool `xml:"networkSwitch"` - Host bool `xml:"host"` - IgmpEnabled bool `xml:"igmpEnabled"` - Repeater bool `xml:"repeater"` -} - -func init() { - t["PhysicalNicCdpDeviceCapability"] = reflect.TypeOf((*PhysicalNicCdpDeviceCapability)(nil)).Elem() -} - -type PhysicalNicCdpInfo struct { - DynamicData - - CdpVersion int32 `xml:"cdpVersion,omitempty"` - Timeout int32 `xml:"timeout,omitempty"` - Ttl int32 `xml:"ttl,omitempty"` - Samples int32 `xml:"samples,omitempty"` - DevId string `xml:"devId,omitempty"` - Address string `xml:"address,omitempty"` - PortId string `xml:"portId,omitempty"` - DeviceCapability *PhysicalNicCdpDeviceCapability `xml:"deviceCapability,omitempty"` - SoftwareVersion string `xml:"softwareVersion,omitempty"` - HardwarePlatform string `xml:"hardwarePlatform,omitempty"` - IpPrefix string `xml:"ipPrefix,omitempty"` - IpPrefixLen int32 `xml:"ipPrefixLen,omitempty"` - Vlan int32 `xml:"vlan,omitempty"` - FullDuplex *bool `xml:"fullDuplex"` - Mtu int32 `xml:"mtu,omitempty"` - SystemName string `xml:"systemName,omitempty"` - SystemOID string `xml:"systemOID,omitempty"` - MgmtAddr string `xml:"mgmtAddr,omitempty"` - Location string `xml:"location,omitempty"` -} - -func init() { - t["PhysicalNicCdpInfo"] = reflect.TypeOf((*PhysicalNicCdpInfo)(nil)).Elem() -} - -type PhysicalNicConfig struct { - DynamicData - - Device string `xml:"device"` - Spec PhysicalNicSpec `xml:"spec"` -} - -func init() { - t["PhysicalNicConfig"] = reflect.TypeOf((*PhysicalNicConfig)(nil)).Elem() -} - -type PhysicalNicHint struct { - DynamicData - - VlanId int32 `xml:"vlanId,omitempty"` -} - -func init() { - t["PhysicalNicHint"] = reflect.TypeOf((*PhysicalNicHint)(nil)).Elem() -} - -type PhysicalNicHintInfo struct { - DynamicData - - Device string `xml:"device"` - Subnet []PhysicalNicIpHint `xml:"subnet,omitempty"` - Network []PhysicalNicNameHint `xml:"network,omitempty"` - ConnectedSwitchPort *PhysicalNicCdpInfo `xml:"connectedSwitchPort,omitempty"` - LldpInfo *LinkLayerDiscoveryProtocolInfo `xml:"lldpInfo,omitempty"` -} - -func init() { - t["PhysicalNicHintInfo"] = reflect.TypeOf((*PhysicalNicHintInfo)(nil)).Elem() -} - -type PhysicalNicIpHint struct { - PhysicalNicHint - - IpSubnet string `xml:"ipSubnet"` -} - -func init() { - t["PhysicalNicIpHint"] = reflect.TypeOf((*PhysicalNicIpHint)(nil)).Elem() -} - -type PhysicalNicLinkInfo struct { - DynamicData - - SpeedMb int32 `xml:"speedMb"` - Duplex bool `xml:"duplex"` -} - -func init() { - t["PhysicalNicLinkInfo"] = reflect.TypeOf((*PhysicalNicLinkInfo)(nil)).Elem() -} - -type PhysicalNicNameHint struct { - PhysicalNicHint - - Network string `xml:"network"` -} - -func init() { - t["PhysicalNicNameHint"] = reflect.TypeOf((*PhysicalNicNameHint)(nil)).Elem() -} - -type PhysicalNicProfile struct { - ApplyProfile - - Key string `xml:"key"` -} - -func init() { - t["PhysicalNicProfile"] = reflect.TypeOf((*PhysicalNicProfile)(nil)).Elem() -} - -type PhysicalNicSpec struct { - DynamicData - - Ip *HostIpConfig `xml:"ip,omitempty"` - LinkSpeed *PhysicalNicLinkInfo `xml:"linkSpeed,omitempty"` - EnableEnhancedNetworkingStack *bool `xml:"enableEnhancedNetworkingStack"` - EnsInterruptEnabled *bool `xml:"ensInterruptEnabled"` -} - -func init() { - t["PhysicalNicSpec"] = reflect.TypeOf((*PhysicalNicSpec)(nil)).Elem() -} - -type PlaceVm PlaceVmRequestType - -func init() { - t["PlaceVm"] = reflect.TypeOf((*PlaceVm)(nil)).Elem() -} - -type PlaceVmRequestType struct { - This ManagedObjectReference `xml:"_this"` - PlacementSpec PlacementSpec `xml:"placementSpec"` -} - -func init() { - t["PlaceVmRequestType"] = reflect.TypeOf((*PlaceVmRequestType)(nil)).Elem() -} - -type PlaceVmResponse struct { - Returnval PlacementResult `xml:"returnval"` -} - -type PlacementAction struct { - ClusterAction - - Vm *ManagedObjectReference `xml:"vm,omitempty"` - TargetHost *ManagedObjectReference `xml:"targetHost,omitempty"` - RelocateSpec *VirtualMachineRelocateSpec `xml:"relocateSpec,omitempty"` -} - -func init() { - t["PlacementAction"] = reflect.TypeOf((*PlacementAction)(nil)).Elem() -} - -type PlacementAffinityRule struct { - DynamicData - - RuleType string `xml:"ruleType"` - RuleScope string `xml:"ruleScope"` - Vms []ManagedObjectReference `xml:"vms,omitempty"` - Keys []string `xml:"keys,omitempty"` -} - -func init() { - t["PlacementAffinityRule"] = reflect.TypeOf((*PlacementAffinityRule)(nil)).Elem() -} - -type PlacementRankResult struct { - DynamicData - - Key string `xml:"key"` - Candidate ManagedObjectReference `xml:"candidate"` - ReservedSpaceMB int64 `xml:"reservedSpaceMB"` - UsedSpaceMB int64 `xml:"usedSpaceMB"` - TotalSpaceMB int64 `xml:"totalSpaceMB"` - Utilization float64 `xml:"utilization"` - Faults []LocalizedMethodFault `xml:"faults,omitempty"` -} - -func init() { - t["PlacementRankResult"] = reflect.TypeOf((*PlacementRankResult)(nil)).Elem() -} - -type PlacementRankSpec struct { - DynamicData - - Specs []PlacementSpec `xml:"specs"` - Clusters []ManagedObjectReference `xml:"clusters"` - Rules []PlacementAffinityRule `xml:"rules,omitempty"` - PlacementRankByVm []StorageDrsPlacementRankVmSpec `xml:"placementRankByVm,omitempty"` -} - -func init() { - t["PlacementRankSpec"] = reflect.TypeOf((*PlacementRankSpec)(nil)).Elem() -} - -type PlacementResult struct { - DynamicData - - Recommendations []ClusterRecommendation `xml:"recommendations,omitempty"` - DrsFault *ClusterDrsFaults `xml:"drsFault,omitempty"` -} - -func init() { - t["PlacementResult"] = reflect.TypeOf((*PlacementResult)(nil)).Elem() -} - -type PlacementSpec struct { - DynamicData - - Priority VirtualMachineMovePriority `xml:"priority,omitempty"` - Vm *ManagedObjectReference `xml:"vm,omitempty"` - ConfigSpec *VirtualMachineConfigSpec `xml:"configSpec,omitempty"` - RelocateSpec *VirtualMachineRelocateSpec `xml:"relocateSpec,omitempty"` - Hosts []ManagedObjectReference `xml:"hosts,omitempty"` - Datastores []ManagedObjectReference `xml:"datastores,omitempty"` - StoragePods []ManagedObjectReference `xml:"storagePods,omitempty"` - DisallowPrerequisiteMoves *bool `xml:"disallowPrerequisiteMoves"` - Rules []BaseClusterRuleInfo `xml:"rules,omitempty,typeattr"` - Key string `xml:"key,omitempty"` - PlacementType string `xml:"placementType,omitempty"` - CloneSpec *VirtualMachineCloneSpec `xml:"cloneSpec,omitempty"` - CloneName string `xml:"cloneName,omitempty"` -} - -func init() { - t["PlacementSpec"] = reflect.TypeOf((*PlacementSpec)(nil)).Elem() -} - -type PlatformConfigFault struct { - HostConfigFault - - Text string `xml:"text"` -} - -func init() { - t["PlatformConfigFault"] = reflect.TypeOf((*PlatformConfigFault)(nil)).Elem() -} - -type PlatformConfigFaultFault BasePlatformConfigFault - -func init() { - t["PlatformConfigFaultFault"] = reflect.TypeOf((*PlatformConfigFaultFault)(nil)).Elem() -} - -type PnicUplinkProfile struct { - ApplyProfile - - Key string `xml:"key"` -} - -func init() { - t["PnicUplinkProfile"] = reflect.TypeOf((*PnicUplinkProfile)(nil)).Elem() -} - -type PodDiskLocator struct { - DynamicData - - DiskId int32 `xml:"diskId"` - DiskMoveType string `xml:"diskMoveType,omitempty"` - DiskBackingInfo BaseVirtualDeviceBackingInfo `xml:"diskBackingInfo,omitempty,typeattr"` - Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr"` -} - -func init() { - t["PodDiskLocator"] = reflect.TypeOf((*PodDiskLocator)(nil)).Elem() -} - -type PodStorageDrsEntry struct { - DynamicData - - StorageDrsConfig StorageDrsConfigInfo `xml:"storageDrsConfig"` - Recommendation []ClusterRecommendation `xml:"recommendation,omitempty"` - DrsFault []ClusterDrsFaults `xml:"drsFault,omitempty"` - ActionHistory []ClusterActionHistory `xml:"actionHistory,omitempty"` -} - -func init() { - t["PodStorageDrsEntry"] = reflect.TypeOf((*PodStorageDrsEntry)(nil)).Elem() -} - -type PolicyOption struct { - DynamicData - - Id string `xml:"id"` - Parameter []KeyAnyValue `xml:"parameter,omitempty"` -} - -func init() { - t["PolicyOption"] = reflect.TypeOf((*PolicyOption)(nil)).Elem() -} - -type PortGroupProfile struct { - ApplyProfile - - Key string `xml:"key"` - Name string `xml:"name"` - Vlan VlanProfile `xml:"vlan"` - Vswitch VirtualSwitchSelectionProfile `xml:"vswitch"` - NetworkPolicy NetworkPolicyProfile `xml:"networkPolicy"` -} - -func init() { - t["PortGroupProfile"] = reflect.TypeOf((*PortGroupProfile)(nil)).Elem() -} - -type PosixUserSearchResult struct { - UserSearchResult - - Id int32 `xml:"id"` - ShellAccess *bool `xml:"shellAccess"` -} - -func init() { - t["PosixUserSearchResult"] = reflect.TypeOf((*PosixUserSearchResult)(nil)).Elem() -} - -type PostEvent PostEventRequestType - -func init() { - t["PostEvent"] = reflect.TypeOf((*PostEvent)(nil)).Elem() -} - -type PostEventRequestType struct { - This ManagedObjectReference `xml:"_this"` - EventToPost BaseEvent `xml:"eventToPost,typeattr"` - TaskInfo *TaskInfo `xml:"taskInfo,omitempty"` -} - -func init() { - t["PostEventRequestType"] = reflect.TypeOf((*PostEventRequestType)(nil)).Elem() -} - -type PostEventResponse struct { -} - -type PostHealthUpdates PostHealthUpdatesRequestType - -func init() { - t["PostHealthUpdates"] = reflect.TypeOf((*PostHealthUpdates)(nil)).Elem() -} - -type PostHealthUpdatesRequestType struct { - This ManagedObjectReference `xml:"_this"` - ProviderId string `xml:"providerId"` - Updates []HealthUpdate `xml:"updates,omitempty"` -} - -func init() { - t["PostHealthUpdatesRequestType"] = reflect.TypeOf((*PostHealthUpdatesRequestType)(nil)).Elem() -} - -type PostHealthUpdatesResponse struct { -} - -type PowerDownHostToStandByRequestType struct { - This ManagedObjectReference `xml:"_this"` - TimeoutSec int32 `xml:"timeoutSec"` - EvacuatePoweredOffVms *bool `xml:"evacuatePoweredOffVms"` -} - -func init() { - t["PowerDownHostToStandByRequestType"] = reflect.TypeOf((*PowerDownHostToStandByRequestType)(nil)).Elem() -} - -type PowerDownHostToStandBy_Task PowerDownHostToStandByRequestType - -func init() { - t["PowerDownHostToStandBy_Task"] = reflect.TypeOf((*PowerDownHostToStandBy_Task)(nil)).Elem() -} - -type PowerDownHostToStandBy_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type PowerOffVAppRequestType struct { - This ManagedObjectReference `xml:"_this"` - Force bool `xml:"force"` -} - -func init() { - t["PowerOffVAppRequestType"] = reflect.TypeOf((*PowerOffVAppRequestType)(nil)).Elem() -} - -type PowerOffVApp_Task PowerOffVAppRequestType - -func init() { - t["PowerOffVApp_Task"] = reflect.TypeOf((*PowerOffVApp_Task)(nil)).Elem() -} - -type PowerOffVApp_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type PowerOffVMRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["PowerOffVMRequestType"] = reflect.TypeOf((*PowerOffVMRequestType)(nil)).Elem() -} - -type PowerOffVM_Task PowerOffVMRequestType - -func init() { - t["PowerOffVM_Task"] = reflect.TypeOf((*PowerOffVM_Task)(nil)).Elem() -} - -type PowerOffVM_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type PowerOnFtSecondaryFailed struct { - VmFaultToleranceIssue - - Vm ManagedObjectReference `xml:"vm"` - VmName string `xml:"vmName"` - HostSelectionBy FtIssuesOnHostHostSelectionType `xml:"hostSelectionBy"` - HostErrors []LocalizedMethodFault `xml:"hostErrors,omitempty"` - RootCause LocalizedMethodFault `xml:"rootCause"` -} - -func init() { - t["PowerOnFtSecondaryFailed"] = reflect.TypeOf((*PowerOnFtSecondaryFailed)(nil)).Elem() -} - -type PowerOnFtSecondaryFailedFault PowerOnFtSecondaryFailed - -func init() { - t["PowerOnFtSecondaryFailedFault"] = reflect.TypeOf((*PowerOnFtSecondaryFailedFault)(nil)).Elem() -} - -type PowerOnFtSecondaryTimedout struct { - Timedout - - Vm ManagedObjectReference `xml:"vm"` - VmName string `xml:"vmName"` - Timeout int32 `xml:"timeout"` -} - -func init() { - t["PowerOnFtSecondaryTimedout"] = reflect.TypeOf((*PowerOnFtSecondaryTimedout)(nil)).Elem() -} - -type PowerOnFtSecondaryTimedoutFault PowerOnFtSecondaryTimedout - -func init() { - t["PowerOnFtSecondaryTimedoutFault"] = reflect.TypeOf((*PowerOnFtSecondaryTimedoutFault)(nil)).Elem() -} - -type PowerOnMultiVMRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm []ManagedObjectReference `xml:"vm"` - Option []BaseOptionValue `xml:"option,omitempty,typeattr"` -} - -func init() { - t["PowerOnMultiVMRequestType"] = reflect.TypeOf((*PowerOnMultiVMRequestType)(nil)).Elem() -} - -type PowerOnMultiVM_Task PowerOnMultiVMRequestType - -func init() { - t["PowerOnMultiVM_Task"] = reflect.TypeOf((*PowerOnMultiVM_Task)(nil)).Elem() -} - -type PowerOnMultiVM_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type PowerOnVAppRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["PowerOnVAppRequestType"] = reflect.TypeOf((*PowerOnVAppRequestType)(nil)).Elem() -} - -type PowerOnVApp_Task PowerOnVAppRequestType - -func init() { - t["PowerOnVApp_Task"] = reflect.TypeOf((*PowerOnVApp_Task)(nil)).Elem() -} - -type PowerOnVApp_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type PowerOnVMRequestType struct { - This ManagedObjectReference `xml:"_this"` - Host *ManagedObjectReference `xml:"host,omitempty"` -} - -func init() { - t["PowerOnVMRequestType"] = reflect.TypeOf((*PowerOnVMRequestType)(nil)).Elem() -} - -type PowerOnVM_Task PowerOnVMRequestType - -func init() { - t["PowerOnVM_Task"] = reflect.TypeOf((*PowerOnVM_Task)(nil)).Elem() -} - -type PowerOnVM_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type PowerSystemCapability struct { - DynamicData - - AvailablePolicy []HostPowerPolicy `xml:"availablePolicy"` -} - -func init() { - t["PowerSystemCapability"] = reflect.TypeOf((*PowerSystemCapability)(nil)).Elem() -} - -type PowerSystemInfo struct { - DynamicData - - CurrentPolicy HostPowerPolicy `xml:"currentPolicy"` -} - -func init() { - t["PowerSystemInfo"] = reflect.TypeOf((*PowerSystemInfo)(nil)).Elem() -} - -type PowerUpHostFromStandByRequestType struct { - This ManagedObjectReference `xml:"_this"` - TimeoutSec int32 `xml:"timeoutSec"` -} - -func init() { - t["PowerUpHostFromStandByRequestType"] = reflect.TypeOf((*PowerUpHostFromStandByRequestType)(nil)).Elem() -} - -type PowerUpHostFromStandBy_Task PowerUpHostFromStandByRequestType - -func init() { - t["PowerUpHostFromStandBy_Task"] = reflect.TypeOf((*PowerUpHostFromStandBy_Task)(nil)).Elem() -} - -type PowerUpHostFromStandBy_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type PrepareCrypto PrepareCryptoRequestType - -func init() { - t["PrepareCrypto"] = reflect.TypeOf((*PrepareCrypto)(nil)).Elem() -} - -type PrepareCryptoRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["PrepareCryptoRequestType"] = reflect.TypeOf((*PrepareCryptoRequestType)(nil)).Elem() -} - -type PrepareCryptoResponse struct { -} - -type PrivilegeAvailability struct { - DynamicData - - PrivId string `xml:"privId"` - IsGranted bool `xml:"isGranted"` -} - -func init() { - t["PrivilegeAvailability"] = reflect.TypeOf((*PrivilegeAvailability)(nil)).Elem() -} - -type PrivilegePolicyDef struct { - DynamicData - - CreatePrivilege string `xml:"createPrivilege"` - ReadPrivilege string `xml:"readPrivilege"` - UpdatePrivilege string `xml:"updatePrivilege"` - DeletePrivilege string `xml:"deletePrivilege"` -} - -func init() { - t["PrivilegePolicyDef"] = reflect.TypeOf((*PrivilegePolicyDef)(nil)).Elem() -} - -type ProductComponentInfo struct { - DynamicData - - Id string `xml:"id"` - Name string `xml:"name"` - Version string `xml:"version"` - Release int32 `xml:"release"` -} - -func init() { - t["ProductComponentInfo"] = reflect.TypeOf((*ProductComponentInfo)(nil)).Elem() -} - -type ProfileApplyProfileElement struct { - ApplyProfile - - Key string `xml:"key"` -} - -func init() { - t["ProfileApplyProfileElement"] = reflect.TypeOf((*ProfileApplyProfileElement)(nil)).Elem() -} - -type ProfileApplyProfileProperty struct { - DynamicData - - PropertyName string `xml:"propertyName"` - Array bool `xml:"array"` - Profile []BaseApplyProfile `xml:"profile,omitempty,typeattr"` -} - -func init() { - t["ProfileApplyProfileProperty"] = reflect.TypeOf((*ProfileApplyProfileProperty)(nil)).Elem() -} - -type ProfileAssociatedEvent struct { - ProfileEvent -} - -func init() { - t["ProfileAssociatedEvent"] = reflect.TypeOf((*ProfileAssociatedEvent)(nil)).Elem() -} - -type ProfileChangedEvent struct { - ProfileEvent -} - -func init() { - t["ProfileChangedEvent"] = reflect.TypeOf((*ProfileChangedEvent)(nil)).Elem() -} - -type ProfileCompositeExpression struct { - ProfileExpression - - Operator string `xml:"operator"` - ExpressionName []string `xml:"expressionName"` -} - -func init() { - t["ProfileCompositeExpression"] = reflect.TypeOf((*ProfileCompositeExpression)(nil)).Elem() -} - -type ProfileCompositePolicyOptionMetadata struct { - ProfilePolicyOptionMetadata - - Option []string `xml:"option"` -} - -func init() { - t["ProfileCompositePolicyOptionMetadata"] = reflect.TypeOf((*ProfileCompositePolicyOptionMetadata)(nil)).Elem() -} - -type ProfileConfigInfo struct { - DynamicData - - Name string `xml:"name"` - Annotation string `xml:"annotation,omitempty"` - Enabled bool `xml:"enabled"` -} - -func init() { - t["ProfileConfigInfo"] = reflect.TypeOf((*ProfileConfigInfo)(nil)).Elem() -} - -type ProfileCreateSpec struct { - DynamicData - - Name string `xml:"name,omitempty"` - Annotation string `xml:"annotation,omitempty"` - Enabled *bool `xml:"enabled"` -} - -func init() { - t["ProfileCreateSpec"] = reflect.TypeOf((*ProfileCreateSpec)(nil)).Elem() -} - -type ProfileCreatedEvent struct { - ProfileEvent -} - -func init() { - t["ProfileCreatedEvent"] = reflect.TypeOf((*ProfileCreatedEvent)(nil)).Elem() -} - -type ProfileDeferredPolicyOptionParameter struct { - DynamicData - - InputPath ProfilePropertyPath `xml:"inputPath"` - Parameter []KeyAnyValue `xml:"parameter,omitempty"` -} - -func init() { - t["ProfileDeferredPolicyOptionParameter"] = reflect.TypeOf((*ProfileDeferredPolicyOptionParameter)(nil)).Elem() -} - -type ProfileDescription struct { - DynamicData - - Section []ProfileDescriptionSection `xml:"section"` -} - -func init() { - t["ProfileDescription"] = reflect.TypeOf((*ProfileDescription)(nil)).Elem() -} - -type ProfileDescriptionSection struct { - DynamicData - - Description ExtendedElementDescription `xml:"description"` - Message []LocalizableMessage `xml:"message,omitempty"` -} - -func init() { - t["ProfileDescriptionSection"] = reflect.TypeOf((*ProfileDescriptionSection)(nil)).Elem() -} - -type ProfileDissociatedEvent struct { - ProfileEvent -} - -func init() { - t["ProfileDissociatedEvent"] = reflect.TypeOf((*ProfileDissociatedEvent)(nil)).Elem() -} - -type ProfileEvent struct { - Event - - Profile ProfileEventArgument `xml:"profile"` -} - -func init() { - t["ProfileEvent"] = reflect.TypeOf((*ProfileEvent)(nil)).Elem() -} - -type ProfileEventArgument struct { - EventArgument - - Profile ManagedObjectReference `xml:"profile"` - Name string `xml:"name"` -} - -func init() { - t["ProfileEventArgument"] = reflect.TypeOf((*ProfileEventArgument)(nil)).Elem() -} - -type ProfileExecuteError struct { - DynamicData - - Path *ProfilePropertyPath `xml:"path,omitempty"` - Message LocalizableMessage `xml:"message"` -} - -func init() { - t["ProfileExecuteError"] = reflect.TypeOf((*ProfileExecuteError)(nil)).Elem() -} - -type ProfileExecuteResult struct { - DynamicData - - Status string `xml:"status"` - ConfigSpec *HostConfigSpec `xml:"configSpec,omitempty"` - InapplicablePath []string `xml:"inapplicablePath,omitempty"` - RequireInput []ProfileDeferredPolicyOptionParameter `xml:"requireInput,omitempty"` - Error []ProfileExecuteError `xml:"error,omitempty"` -} - -func init() { - t["ProfileExecuteResult"] = reflect.TypeOf((*ProfileExecuteResult)(nil)).Elem() -} - -type ProfileExpression struct { - DynamicData - - Id string `xml:"id"` - DisplayName string `xml:"displayName"` - Negated bool `xml:"negated"` -} - -func init() { - t["ProfileExpression"] = reflect.TypeOf((*ProfileExpression)(nil)).Elem() -} - -type ProfileExpressionMetadata struct { - DynamicData - - ExpressionId ExtendedElementDescription `xml:"expressionId"` - Parameter []ProfileParameterMetadata `xml:"parameter,omitempty"` -} - -func init() { - t["ProfileExpressionMetadata"] = reflect.TypeOf((*ProfileExpressionMetadata)(nil)).Elem() -} - -type ProfileMetadata struct { - DynamicData - - Key string `xml:"key"` - ProfileTypeName string `xml:"profileTypeName,omitempty"` - Description *ExtendedDescription `xml:"description,omitempty"` - SortSpec []ProfileMetadataProfileSortSpec `xml:"sortSpec,omitempty"` - ProfileCategory string `xml:"profileCategory,omitempty"` - ProfileComponent string `xml:"profileComponent,omitempty"` - OperationMessages []ProfileMetadataProfileOperationMessage `xml:"operationMessages,omitempty"` -} - -func init() { - t["ProfileMetadata"] = reflect.TypeOf((*ProfileMetadata)(nil)).Elem() -} - -type ProfileMetadataProfileOperationMessage struct { - DynamicData - - OperationName string `xml:"operationName"` - Message LocalizableMessage `xml:"message"` -} - -func init() { - t["ProfileMetadataProfileOperationMessage"] = reflect.TypeOf((*ProfileMetadataProfileOperationMessage)(nil)).Elem() -} - -type ProfileMetadataProfileSortSpec struct { - DynamicData - - PolicyId string `xml:"policyId"` - Parameter string `xml:"parameter"` -} - -func init() { - t["ProfileMetadataProfileSortSpec"] = reflect.TypeOf((*ProfileMetadataProfileSortSpec)(nil)).Elem() -} - -type ProfileParameterMetadata struct { - DynamicData - - Id ExtendedElementDescription `xml:"id"` - Type string `xml:"type"` - Optional bool `xml:"optional"` - DefaultValue AnyType `xml:"defaultValue,omitempty,typeattr"` - Hidden *bool `xml:"hidden"` - SecuritySensitive *bool `xml:"securitySensitive"` - ReadOnly *bool `xml:"readOnly"` - ParameterRelations []ProfileParameterMetadataParameterRelationMetadata `xml:"parameterRelations,omitempty"` -} - -func init() { - t["ProfileParameterMetadata"] = reflect.TypeOf((*ProfileParameterMetadata)(nil)).Elem() -} - -type ProfileParameterMetadataParameterRelationMetadata struct { - DynamicData - - RelationTypes []string `xml:"relationTypes,omitempty"` - Values []AnyType `xml:"values,omitempty,typeattr"` - Path *ProfilePropertyPath `xml:"path,omitempty"` - MinCount int32 `xml:"minCount"` - MaxCount int32 `xml:"maxCount"` -} - -func init() { - t["ProfileParameterMetadataParameterRelationMetadata"] = reflect.TypeOf((*ProfileParameterMetadataParameterRelationMetadata)(nil)).Elem() -} - -type ProfilePolicy struct { - DynamicData - - Id string `xml:"id"` - PolicyOption BasePolicyOption `xml:"policyOption,typeattr"` -} - -func init() { - t["ProfilePolicy"] = reflect.TypeOf((*ProfilePolicy)(nil)).Elem() -} - -type ProfilePolicyMetadata struct { - DynamicData - - Id ExtendedElementDescription `xml:"id"` - PossibleOption []BaseProfilePolicyOptionMetadata `xml:"possibleOption,typeattr"` -} - -func init() { - t["ProfilePolicyMetadata"] = reflect.TypeOf((*ProfilePolicyMetadata)(nil)).Elem() -} - -type ProfilePolicyOptionMetadata struct { - DynamicData - - Id ExtendedElementDescription `xml:"id"` - Parameter []ProfileParameterMetadata `xml:"parameter,omitempty"` -} - -func init() { - t["ProfilePolicyOptionMetadata"] = reflect.TypeOf((*ProfilePolicyOptionMetadata)(nil)).Elem() -} - -type ProfileProfileStructure struct { - DynamicData - - ProfileTypeName string `xml:"profileTypeName"` - Child []ProfileProfileStructureProperty `xml:"child,omitempty"` -} - -func init() { - t["ProfileProfileStructure"] = reflect.TypeOf((*ProfileProfileStructure)(nil)).Elem() -} - -type ProfileProfileStructureProperty struct { - DynamicData - - PropertyName string `xml:"propertyName"` - Array bool `xml:"array"` - Element ProfileProfileStructure `xml:"element"` -} - -func init() { - t["ProfileProfileStructureProperty"] = reflect.TypeOf((*ProfileProfileStructureProperty)(nil)).Elem() -} - -type ProfilePropertyPath struct { - DynamicData - - ProfilePath string `xml:"profilePath"` - PolicyId string `xml:"policyId,omitempty"` - ParameterId string `xml:"parameterId,omitempty"` - PolicyOptionId string `xml:"policyOptionId,omitempty"` -} - -func init() { - t["ProfilePropertyPath"] = reflect.TypeOf((*ProfilePropertyPath)(nil)).Elem() -} - -type ProfileReferenceHostChangedEvent struct { - ProfileEvent - - ReferenceHost *ManagedObjectReference `xml:"referenceHost,omitempty"` - ReferenceHostName string `xml:"referenceHostName,omitempty"` - PrevReferenceHostName string `xml:"prevReferenceHostName,omitempty"` -} - -func init() { - t["ProfileReferenceHostChangedEvent"] = reflect.TypeOf((*ProfileReferenceHostChangedEvent)(nil)).Elem() -} - -type ProfileRemovedEvent struct { - ProfileEvent -} - -func init() { - t["ProfileRemovedEvent"] = reflect.TypeOf((*ProfileRemovedEvent)(nil)).Elem() -} - -type ProfileSerializedCreateSpec struct { - ProfileCreateSpec - - ProfileConfigString string `xml:"profileConfigString"` -} - -func init() { - t["ProfileSerializedCreateSpec"] = reflect.TypeOf((*ProfileSerializedCreateSpec)(nil)).Elem() -} - -type ProfileSimpleExpression struct { - ProfileExpression - - ExpressionType string `xml:"expressionType"` - Parameter []KeyAnyValue `xml:"parameter,omitempty"` -} - -func init() { - t["ProfileSimpleExpression"] = reflect.TypeOf((*ProfileSimpleExpression)(nil)).Elem() -} - -type ProfileUpdateFailed struct { - VimFault - - Failure []ProfileUpdateFailedUpdateFailure `xml:"failure"` - Warnings []ProfileUpdateFailedUpdateFailure `xml:"warnings,omitempty"` -} - -func init() { - t["ProfileUpdateFailed"] = reflect.TypeOf((*ProfileUpdateFailed)(nil)).Elem() -} - -type ProfileUpdateFailedFault ProfileUpdateFailed - -func init() { - t["ProfileUpdateFailedFault"] = reflect.TypeOf((*ProfileUpdateFailedFault)(nil)).Elem() -} - -type ProfileUpdateFailedUpdateFailure struct { - DynamicData - - ProfilePath ProfilePropertyPath `xml:"profilePath"` - ErrMsg LocalizableMessage `xml:"errMsg"` -} - -func init() { - t["ProfileUpdateFailedUpdateFailure"] = reflect.TypeOf((*ProfileUpdateFailedUpdateFailure)(nil)).Elem() -} - -type PromoteDisksRequestType struct { - This ManagedObjectReference `xml:"_this"` - Unlink bool `xml:"unlink"` - Disks []VirtualDisk `xml:"disks,omitempty"` -} - -func init() { - t["PromoteDisksRequestType"] = reflect.TypeOf((*PromoteDisksRequestType)(nil)).Elem() -} - -type PromoteDisks_Task PromoteDisksRequestType - -func init() { - t["PromoteDisks_Task"] = reflect.TypeOf((*PromoteDisks_Task)(nil)).Elem() -} - -type PromoteDisks_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type PropertyChange struct { - DynamicData - - Name string `xml:"name"` - Op PropertyChangeOp `xml:"op"` - Val AnyType `xml:"val,typeattr"` -} - -func init() { - t["PropertyChange"] = reflect.TypeOf((*PropertyChange)(nil)).Elem() -} - -type PropertyFilterSpec struct { - DynamicData - - PropSet []PropertySpec `xml:"propSet"` - ObjectSet []ObjectSpec `xml:"objectSet"` - ReportMissingObjectsInResults *bool `xml:"reportMissingObjectsInResults"` -} - -func init() { - t["PropertyFilterSpec"] = reflect.TypeOf((*PropertyFilterSpec)(nil)).Elem() -} - -type PropertyFilterUpdate struct { - DynamicData - - Filter ManagedObjectReference `xml:"filter"` - ObjectSet []ObjectUpdate `xml:"objectSet,omitempty"` - MissingSet []MissingObject `xml:"missingSet,omitempty"` -} - -func init() { - t["PropertyFilterUpdate"] = reflect.TypeOf((*PropertyFilterUpdate)(nil)).Elem() -} - -type PropertySpec struct { - DynamicData - - Type string `xml:"type"` - All *bool `xml:"all"` - PathSet []string `xml:"pathSet,omitempty"` -} - -func init() { - t["PropertySpec"] = reflect.TypeOf((*PropertySpec)(nil)).Elem() -} - -type PutUsbScanCodes PutUsbScanCodesRequestType - -func init() { - t["PutUsbScanCodes"] = reflect.TypeOf((*PutUsbScanCodes)(nil)).Elem() -} - -type PutUsbScanCodesRequestType struct { - This ManagedObjectReference `xml:"_this"` - Spec UsbScanCodeSpec `xml:"spec"` -} - -func init() { - t["PutUsbScanCodesRequestType"] = reflect.TypeOf((*PutUsbScanCodesRequestType)(nil)).Elem() -} - -type PutUsbScanCodesResponse struct { - Returnval int32 `xml:"returnval"` -} - -type QuarantineModeFault struct { - VmConfigFault - - VmName string `xml:"vmName"` - FaultType string `xml:"faultType"` -} - -func init() { - t["QuarantineModeFault"] = reflect.TypeOf((*QuarantineModeFault)(nil)).Elem() -} - -type QuarantineModeFaultFault QuarantineModeFault - -func init() { - t["QuarantineModeFaultFault"] = reflect.TypeOf((*QuarantineModeFaultFault)(nil)).Elem() -} - -type QueryAnswerFileStatus QueryAnswerFileStatusRequestType - -func init() { - t["QueryAnswerFileStatus"] = reflect.TypeOf((*QueryAnswerFileStatus)(nil)).Elem() -} - -type QueryAnswerFileStatusRequestType struct { - This ManagedObjectReference `xml:"_this"` - Host []ManagedObjectReference `xml:"host"` -} - -func init() { - t["QueryAnswerFileStatusRequestType"] = reflect.TypeOf((*QueryAnswerFileStatusRequestType)(nil)).Elem() -} - -type QueryAnswerFileStatusResponse struct { - Returnval []AnswerFileStatusResult `xml:"returnval,omitempty"` -} - -type QueryAssignedLicenses QueryAssignedLicensesRequestType - -func init() { - t["QueryAssignedLicenses"] = reflect.TypeOf((*QueryAssignedLicenses)(nil)).Elem() -} - -type QueryAssignedLicensesRequestType struct { - This ManagedObjectReference `xml:"_this"` - EntityId string `xml:"entityId,omitempty"` -} - -func init() { - t["QueryAssignedLicensesRequestType"] = reflect.TypeOf((*QueryAssignedLicensesRequestType)(nil)).Elem() -} - -type QueryAssignedLicensesResponse struct { - Returnval []LicenseAssignmentManagerLicenseAssignment `xml:"returnval,omitempty"` -} - -type QueryAvailableDisksForVmfs QueryAvailableDisksForVmfsRequestType - -func init() { - t["QueryAvailableDisksForVmfs"] = reflect.TypeOf((*QueryAvailableDisksForVmfs)(nil)).Elem() -} - -type QueryAvailableDisksForVmfsRequestType struct { - This ManagedObjectReference `xml:"_this"` - Datastore *ManagedObjectReference `xml:"datastore,omitempty"` -} - -func init() { - t["QueryAvailableDisksForVmfsRequestType"] = reflect.TypeOf((*QueryAvailableDisksForVmfsRequestType)(nil)).Elem() -} - -type QueryAvailableDisksForVmfsResponse struct { - Returnval []HostScsiDisk `xml:"returnval,omitempty"` -} - -type QueryAvailableDvsSpec QueryAvailableDvsSpecRequestType - -func init() { - t["QueryAvailableDvsSpec"] = reflect.TypeOf((*QueryAvailableDvsSpec)(nil)).Elem() -} - -type QueryAvailableDvsSpecRequestType struct { - This ManagedObjectReference `xml:"_this"` - Recommended *bool `xml:"recommended"` -} - -func init() { - t["QueryAvailableDvsSpecRequestType"] = reflect.TypeOf((*QueryAvailableDvsSpecRequestType)(nil)).Elem() -} - -type QueryAvailableDvsSpecResponse struct { - Returnval []DistributedVirtualSwitchProductSpec `xml:"returnval,omitempty"` -} - -type QueryAvailablePartition QueryAvailablePartitionRequestType - -func init() { - t["QueryAvailablePartition"] = reflect.TypeOf((*QueryAvailablePartition)(nil)).Elem() -} - -type QueryAvailablePartitionRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["QueryAvailablePartitionRequestType"] = reflect.TypeOf((*QueryAvailablePartitionRequestType)(nil)).Elem() -} - -type QueryAvailablePartitionResponse struct { - Returnval []HostDiagnosticPartition `xml:"returnval,omitempty"` -} - -type QueryAvailablePerfMetric QueryAvailablePerfMetricRequestType - -func init() { - t["QueryAvailablePerfMetric"] = reflect.TypeOf((*QueryAvailablePerfMetric)(nil)).Elem() -} - -type QueryAvailablePerfMetricRequestType struct { - This ManagedObjectReference `xml:"_this"` - Entity ManagedObjectReference `xml:"entity"` - BeginTime *time.Time `xml:"beginTime"` - EndTime *time.Time `xml:"endTime"` - IntervalId int32 `xml:"intervalId,omitempty"` -} - -func init() { - t["QueryAvailablePerfMetricRequestType"] = reflect.TypeOf((*QueryAvailablePerfMetricRequestType)(nil)).Elem() -} - -type QueryAvailablePerfMetricResponse struct { - Returnval []PerfMetricId `xml:"returnval,omitempty"` -} - -type QueryAvailableSsds QueryAvailableSsdsRequestType - -func init() { - t["QueryAvailableSsds"] = reflect.TypeOf((*QueryAvailableSsds)(nil)).Elem() -} - -type QueryAvailableSsdsRequestType struct { - This ManagedObjectReference `xml:"_this"` - VffsPath string `xml:"vffsPath,omitempty"` -} - -func init() { - t["QueryAvailableSsdsRequestType"] = reflect.TypeOf((*QueryAvailableSsdsRequestType)(nil)).Elem() -} - -type QueryAvailableSsdsResponse struct { - Returnval []HostScsiDisk `xml:"returnval,omitempty"` -} - -type QueryAvailableTimeZones QueryAvailableTimeZonesRequestType - -func init() { - t["QueryAvailableTimeZones"] = reflect.TypeOf((*QueryAvailableTimeZones)(nil)).Elem() -} - -type QueryAvailableTimeZonesRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["QueryAvailableTimeZonesRequestType"] = reflect.TypeOf((*QueryAvailableTimeZonesRequestType)(nil)).Elem() -} - -type QueryAvailableTimeZonesResponse struct { - Returnval []HostDateTimeSystemTimeZone `xml:"returnval,omitempty"` -} - -type QueryBootDevices QueryBootDevicesRequestType - -func init() { - t["QueryBootDevices"] = reflect.TypeOf((*QueryBootDevices)(nil)).Elem() -} - -type QueryBootDevicesRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["QueryBootDevicesRequestType"] = reflect.TypeOf((*QueryBootDevicesRequestType)(nil)).Elem() -} - -type QueryBootDevicesResponse struct { - Returnval *HostBootDeviceInfo `xml:"returnval,omitempty"` -} - -type QueryBoundVnics QueryBoundVnicsRequestType - -func init() { - t["QueryBoundVnics"] = reflect.TypeOf((*QueryBoundVnics)(nil)).Elem() -} - -type QueryBoundVnicsRequestType struct { - This ManagedObjectReference `xml:"_this"` - IScsiHbaName string `xml:"iScsiHbaName"` -} - -func init() { - t["QueryBoundVnicsRequestType"] = reflect.TypeOf((*QueryBoundVnicsRequestType)(nil)).Elem() -} - -type QueryBoundVnicsResponse struct { - Returnval []IscsiPortInfo `xml:"returnval,omitempty"` -} - -type QueryCandidateNics QueryCandidateNicsRequestType - -func init() { - t["QueryCandidateNics"] = reflect.TypeOf((*QueryCandidateNics)(nil)).Elem() -} - -type QueryCandidateNicsRequestType struct { - This ManagedObjectReference `xml:"_this"` - IScsiHbaName string `xml:"iScsiHbaName"` -} - -func init() { - t["QueryCandidateNicsRequestType"] = reflect.TypeOf((*QueryCandidateNicsRequestType)(nil)).Elem() -} - -type QueryCandidateNicsResponse struct { - Returnval []IscsiPortInfo `xml:"returnval,omitempty"` -} - -type QueryChangedDiskAreas QueryChangedDiskAreasRequestType - -func init() { - t["QueryChangedDiskAreas"] = reflect.TypeOf((*QueryChangedDiskAreas)(nil)).Elem() -} - -type QueryChangedDiskAreasRequestType struct { - This ManagedObjectReference `xml:"_this"` - Snapshot *ManagedObjectReference `xml:"snapshot,omitempty"` - DeviceKey int32 `xml:"deviceKey"` - StartOffset int64 `xml:"startOffset"` - ChangeId string `xml:"changeId"` -} - -func init() { - t["QueryChangedDiskAreasRequestType"] = reflect.TypeOf((*QueryChangedDiskAreasRequestType)(nil)).Elem() -} - -type QueryChangedDiskAreasResponse struct { - Returnval DiskChangeInfo `xml:"returnval"` -} - -type QueryCmmds QueryCmmdsRequestType - -func init() { - t["QueryCmmds"] = reflect.TypeOf((*QueryCmmds)(nil)).Elem() -} - -type QueryCmmdsRequestType struct { - This ManagedObjectReference `xml:"_this"` - Queries []HostVsanInternalSystemCmmdsQuery `xml:"queries"` -} - -func init() { - t["QueryCmmdsRequestType"] = reflect.TypeOf((*QueryCmmdsRequestType)(nil)).Elem() -} - -type QueryCmmdsResponse struct { - Returnval string `xml:"returnval"` -} - -type QueryCompatibleHostForExistingDvs QueryCompatibleHostForExistingDvsRequestType - -func init() { - t["QueryCompatibleHostForExistingDvs"] = reflect.TypeOf((*QueryCompatibleHostForExistingDvs)(nil)).Elem() -} - -type QueryCompatibleHostForExistingDvsRequestType struct { - This ManagedObjectReference `xml:"_this"` - Container ManagedObjectReference `xml:"container"` - Recursive bool `xml:"recursive"` - Dvs ManagedObjectReference `xml:"dvs"` -} - -func init() { - t["QueryCompatibleHostForExistingDvsRequestType"] = reflect.TypeOf((*QueryCompatibleHostForExistingDvsRequestType)(nil)).Elem() -} - -type QueryCompatibleHostForExistingDvsResponse struct { - Returnval []ManagedObjectReference `xml:"returnval,omitempty"` -} - -type QueryCompatibleHostForNewDvs QueryCompatibleHostForNewDvsRequestType - -func init() { - t["QueryCompatibleHostForNewDvs"] = reflect.TypeOf((*QueryCompatibleHostForNewDvs)(nil)).Elem() -} - -type QueryCompatibleHostForNewDvsRequestType struct { - This ManagedObjectReference `xml:"_this"` - Container ManagedObjectReference `xml:"container"` - Recursive bool `xml:"recursive"` - SwitchProductSpec *DistributedVirtualSwitchProductSpec `xml:"switchProductSpec,omitempty"` -} - -func init() { - t["QueryCompatibleHostForNewDvsRequestType"] = reflect.TypeOf((*QueryCompatibleHostForNewDvsRequestType)(nil)).Elem() -} - -type QueryCompatibleHostForNewDvsResponse struct { - Returnval []ManagedObjectReference `xml:"returnval,omitempty"` -} - -type QueryCompatibleVmnicsFromHosts QueryCompatibleVmnicsFromHostsRequestType - -func init() { - t["QueryCompatibleVmnicsFromHosts"] = reflect.TypeOf((*QueryCompatibleVmnicsFromHosts)(nil)).Elem() -} - -type QueryCompatibleVmnicsFromHostsRequestType struct { - This ManagedObjectReference `xml:"_this"` - Hosts []ManagedObjectReference `xml:"hosts,omitempty"` - Dvs ManagedObjectReference `xml:"dvs"` -} - -func init() { - t["QueryCompatibleVmnicsFromHostsRequestType"] = reflect.TypeOf((*QueryCompatibleVmnicsFromHostsRequestType)(nil)).Elem() -} - -type QueryCompatibleVmnicsFromHostsResponse struct { - Returnval []DVSManagerPhysicalNicsList `xml:"returnval,omitempty"` -} - -type QueryComplianceStatus QueryComplianceStatusRequestType - -func init() { - t["QueryComplianceStatus"] = reflect.TypeOf((*QueryComplianceStatus)(nil)).Elem() -} - -type QueryComplianceStatusRequestType struct { - This ManagedObjectReference `xml:"_this"` - Profile []ManagedObjectReference `xml:"profile,omitempty"` - Entity []ManagedObjectReference `xml:"entity,omitempty"` -} - -func init() { - t["QueryComplianceStatusRequestType"] = reflect.TypeOf((*QueryComplianceStatusRequestType)(nil)).Elem() -} - -type QueryComplianceStatusResponse struct { - Returnval []ComplianceResult `xml:"returnval,omitempty"` -} - -type QueryConfigOption QueryConfigOptionRequestType - -func init() { - t["QueryConfigOption"] = reflect.TypeOf((*QueryConfigOption)(nil)).Elem() -} - -type QueryConfigOptionDescriptor QueryConfigOptionDescriptorRequestType - -func init() { - t["QueryConfigOptionDescriptor"] = reflect.TypeOf((*QueryConfigOptionDescriptor)(nil)).Elem() -} - -type QueryConfigOptionDescriptorRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["QueryConfigOptionDescriptorRequestType"] = reflect.TypeOf((*QueryConfigOptionDescriptorRequestType)(nil)).Elem() -} - -type QueryConfigOptionDescriptorResponse struct { - Returnval []VirtualMachineConfigOptionDescriptor `xml:"returnval,omitempty"` -} - -type QueryConfigOptionEx QueryConfigOptionExRequestType - -func init() { - t["QueryConfigOptionEx"] = reflect.TypeOf((*QueryConfigOptionEx)(nil)).Elem() -} - -type QueryConfigOptionExRequestType struct { - This ManagedObjectReference `xml:"_this"` - Spec *EnvironmentBrowserConfigOptionQuerySpec `xml:"spec,omitempty"` -} - -func init() { - t["QueryConfigOptionExRequestType"] = reflect.TypeOf((*QueryConfigOptionExRequestType)(nil)).Elem() -} - -type QueryConfigOptionExResponse struct { - Returnval *VirtualMachineConfigOption `xml:"returnval,omitempty"` -} - -type QueryConfigOptionRequestType struct { - This ManagedObjectReference `xml:"_this"` - Key string `xml:"key,omitempty"` - Host *ManagedObjectReference `xml:"host,omitempty"` -} - -func init() { - t["QueryConfigOptionRequestType"] = reflect.TypeOf((*QueryConfigOptionRequestType)(nil)).Elem() -} - -type QueryConfigOptionResponse struct { - Returnval *VirtualMachineConfigOption `xml:"returnval,omitempty"` -} - -type QueryConfigTarget QueryConfigTargetRequestType - -func init() { - t["QueryConfigTarget"] = reflect.TypeOf((*QueryConfigTarget)(nil)).Elem() -} - -type QueryConfigTargetRequestType struct { - This ManagedObjectReference `xml:"_this"` - Host *ManagedObjectReference `xml:"host,omitempty"` -} - -func init() { - t["QueryConfigTargetRequestType"] = reflect.TypeOf((*QueryConfigTargetRequestType)(nil)).Elem() -} - -type QueryConfigTargetResponse struct { - Returnval *ConfigTarget `xml:"returnval,omitempty"` -} - -type QueryConfiguredModuleOptionString QueryConfiguredModuleOptionStringRequestType - -func init() { - t["QueryConfiguredModuleOptionString"] = reflect.TypeOf((*QueryConfiguredModuleOptionString)(nil)).Elem() -} - -type QueryConfiguredModuleOptionStringRequestType struct { - This ManagedObjectReference `xml:"_this"` - Name string `xml:"name"` -} - -func init() { - t["QueryConfiguredModuleOptionStringRequestType"] = reflect.TypeOf((*QueryConfiguredModuleOptionStringRequestType)(nil)).Elem() -} - -type QueryConfiguredModuleOptionStringResponse struct { - Returnval string `xml:"returnval"` -} - -type QueryConnectionInfo QueryConnectionInfoRequestType - -func init() { - t["QueryConnectionInfo"] = reflect.TypeOf((*QueryConnectionInfo)(nil)).Elem() -} - -type QueryConnectionInfoRequestType struct { - This ManagedObjectReference `xml:"_this"` - Hostname string `xml:"hostname"` - Port int32 `xml:"port"` - Username string `xml:"username"` - Password string `xml:"password"` - SslThumbprint string `xml:"sslThumbprint,omitempty"` -} - -func init() { - t["QueryConnectionInfoRequestType"] = reflect.TypeOf((*QueryConnectionInfoRequestType)(nil)).Elem() -} - -type QueryConnectionInfoResponse struct { - Returnval HostConnectInfo `xml:"returnval"` -} - -type QueryConnectionInfoViaSpec QueryConnectionInfoViaSpecRequestType - -func init() { - t["QueryConnectionInfoViaSpec"] = reflect.TypeOf((*QueryConnectionInfoViaSpec)(nil)).Elem() -} - -type QueryConnectionInfoViaSpecRequestType struct { - This ManagedObjectReference `xml:"_this"` - Spec HostConnectSpec `xml:"spec"` -} - -func init() { - t["QueryConnectionInfoViaSpecRequestType"] = reflect.TypeOf((*QueryConnectionInfoViaSpecRequestType)(nil)).Elem() -} - -type QueryConnectionInfoViaSpecResponse struct { - Returnval HostConnectInfo `xml:"returnval"` -} - -type QueryConnections QueryConnectionsRequestType - -func init() { - t["QueryConnections"] = reflect.TypeOf((*QueryConnections)(nil)).Elem() -} - -type QueryConnectionsRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["QueryConnectionsRequestType"] = reflect.TypeOf((*QueryConnectionsRequestType)(nil)).Elem() -} - -type QueryConnectionsResponse struct { - Returnval []BaseVirtualMachineConnection `xml:"returnval,omitempty,typeattr"` -} - -type QueryCryptoKeyStatus QueryCryptoKeyStatusRequestType - -func init() { - t["QueryCryptoKeyStatus"] = reflect.TypeOf((*QueryCryptoKeyStatus)(nil)).Elem() -} - -type QueryCryptoKeyStatusRequestType struct { - This ManagedObjectReference `xml:"_this"` - KeyIds []CryptoKeyId `xml:"keyIds,omitempty"` - CheckKeyBitMap int32 `xml:"checkKeyBitMap"` -} - -func init() { - t["QueryCryptoKeyStatusRequestType"] = reflect.TypeOf((*QueryCryptoKeyStatusRequestType)(nil)).Elem() -} - -type QueryCryptoKeyStatusResponse struct { - Returnval []CryptoManagerKmipCryptoKeyStatus `xml:"returnval,omitempty"` -} - -type QueryDatastorePerformanceSummary QueryDatastorePerformanceSummaryRequestType - -func init() { - t["QueryDatastorePerformanceSummary"] = reflect.TypeOf((*QueryDatastorePerformanceSummary)(nil)).Elem() -} - -type QueryDatastorePerformanceSummaryRequestType struct { - This ManagedObjectReference `xml:"_this"` - Datastore ManagedObjectReference `xml:"datastore"` -} - -func init() { - t["QueryDatastorePerformanceSummaryRequestType"] = reflect.TypeOf((*QueryDatastorePerformanceSummaryRequestType)(nil)).Elem() -} - -type QueryDatastorePerformanceSummaryResponse struct { - Returnval []StoragePerformanceSummary `xml:"returnval,omitempty"` -} - -type QueryDateTime QueryDateTimeRequestType - -func init() { - t["QueryDateTime"] = reflect.TypeOf((*QueryDateTime)(nil)).Elem() -} - -type QueryDateTimeRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["QueryDateTimeRequestType"] = reflect.TypeOf((*QueryDateTimeRequestType)(nil)).Elem() -} - -type QueryDateTimeResponse struct { - Returnval time.Time `xml:"returnval"` -} - -type QueryDescriptions QueryDescriptionsRequestType - -func init() { - t["QueryDescriptions"] = reflect.TypeOf((*QueryDescriptions)(nil)).Elem() -} - -type QueryDescriptionsRequestType struct { - This ManagedObjectReference `xml:"_this"` - Host *ManagedObjectReference `xml:"host,omitempty"` -} - -func init() { - t["QueryDescriptionsRequestType"] = reflect.TypeOf((*QueryDescriptionsRequestType)(nil)).Elem() -} - -type QueryDescriptionsResponse struct { - Returnval []DiagnosticManagerLogDescriptor `xml:"returnval,omitempty"` -} - -type QueryDisksForVsan QueryDisksForVsanRequestType - -func init() { - t["QueryDisksForVsan"] = reflect.TypeOf((*QueryDisksForVsan)(nil)).Elem() -} - -type QueryDisksForVsanRequestType struct { - This ManagedObjectReference `xml:"_this"` - CanonicalName []string `xml:"canonicalName,omitempty"` -} - -func init() { - t["QueryDisksForVsanRequestType"] = reflect.TypeOf((*QueryDisksForVsanRequestType)(nil)).Elem() -} - -type QueryDisksForVsanResponse struct { - Returnval []VsanHostDiskResult `xml:"returnval,omitempty"` -} - -type QueryDisksUsingFilter QueryDisksUsingFilterRequestType - -func init() { - t["QueryDisksUsingFilter"] = reflect.TypeOf((*QueryDisksUsingFilter)(nil)).Elem() -} - -type QueryDisksUsingFilterRequestType struct { - This ManagedObjectReference `xml:"_this"` - FilterId string `xml:"filterId"` - CompRes ManagedObjectReference `xml:"compRes"` -} - -func init() { - t["QueryDisksUsingFilterRequestType"] = reflect.TypeOf((*QueryDisksUsingFilterRequestType)(nil)).Elem() -} - -type QueryDisksUsingFilterResponse struct { - Returnval []VirtualDiskId `xml:"returnval"` -} - -type QueryDvsByUuid QueryDvsByUuidRequestType - -func init() { - t["QueryDvsByUuid"] = reflect.TypeOf((*QueryDvsByUuid)(nil)).Elem() -} - -type QueryDvsByUuidRequestType struct { - This ManagedObjectReference `xml:"_this"` - Uuid string `xml:"uuid"` -} - -func init() { - t["QueryDvsByUuidRequestType"] = reflect.TypeOf((*QueryDvsByUuidRequestType)(nil)).Elem() -} - -type QueryDvsByUuidResponse struct { - Returnval *ManagedObjectReference `xml:"returnval,omitempty"` -} - -type QueryDvsCheckCompatibility QueryDvsCheckCompatibilityRequestType - -func init() { - t["QueryDvsCheckCompatibility"] = reflect.TypeOf((*QueryDvsCheckCompatibility)(nil)).Elem() -} - -type QueryDvsCheckCompatibilityRequestType struct { - This ManagedObjectReference `xml:"_this"` - HostContainer DistributedVirtualSwitchManagerHostContainer `xml:"hostContainer"` - DvsProductSpec *DistributedVirtualSwitchManagerDvsProductSpec `xml:"dvsProductSpec,omitempty"` - HostFilterSpec []BaseDistributedVirtualSwitchManagerHostDvsFilterSpec `xml:"hostFilterSpec,omitempty,typeattr"` -} - -func init() { - t["QueryDvsCheckCompatibilityRequestType"] = reflect.TypeOf((*QueryDvsCheckCompatibilityRequestType)(nil)).Elem() -} - -type QueryDvsCheckCompatibilityResponse struct { - Returnval []DistributedVirtualSwitchManagerCompatibilityResult `xml:"returnval,omitempty"` -} - -type QueryDvsCompatibleHostSpec QueryDvsCompatibleHostSpecRequestType - -func init() { - t["QueryDvsCompatibleHostSpec"] = reflect.TypeOf((*QueryDvsCompatibleHostSpec)(nil)).Elem() -} - -type QueryDvsCompatibleHostSpecRequestType struct { - This ManagedObjectReference `xml:"_this"` - SwitchProductSpec *DistributedVirtualSwitchProductSpec `xml:"switchProductSpec,omitempty"` -} - -func init() { - t["QueryDvsCompatibleHostSpecRequestType"] = reflect.TypeOf((*QueryDvsCompatibleHostSpecRequestType)(nil)).Elem() -} - -type QueryDvsCompatibleHostSpecResponse struct { - Returnval []DistributedVirtualSwitchHostProductSpec `xml:"returnval,omitempty"` -} - -type QueryDvsConfigTarget QueryDvsConfigTargetRequestType - -func init() { - t["QueryDvsConfigTarget"] = reflect.TypeOf((*QueryDvsConfigTarget)(nil)).Elem() -} - -type QueryDvsConfigTargetRequestType struct { - This ManagedObjectReference `xml:"_this"` - Host *ManagedObjectReference `xml:"host,omitempty"` - Dvs *ManagedObjectReference `xml:"dvs,omitempty"` -} - -func init() { - t["QueryDvsConfigTargetRequestType"] = reflect.TypeOf((*QueryDvsConfigTargetRequestType)(nil)).Elem() -} - -type QueryDvsConfigTargetResponse struct { - Returnval DVSManagerDvsConfigTarget `xml:"returnval"` -} - -type QueryDvsFeatureCapability QueryDvsFeatureCapabilityRequestType - -func init() { - t["QueryDvsFeatureCapability"] = reflect.TypeOf((*QueryDvsFeatureCapability)(nil)).Elem() -} - -type QueryDvsFeatureCapabilityRequestType struct { - This ManagedObjectReference `xml:"_this"` - SwitchProductSpec *DistributedVirtualSwitchProductSpec `xml:"switchProductSpec,omitempty"` -} - -func init() { - t["QueryDvsFeatureCapabilityRequestType"] = reflect.TypeOf((*QueryDvsFeatureCapabilityRequestType)(nil)).Elem() -} - -type QueryDvsFeatureCapabilityResponse struct { - Returnval BaseDVSFeatureCapability `xml:"returnval,omitempty,typeattr"` -} - -type QueryEvents QueryEventsRequestType - -func init() { - t["QueryEvents"] = reflect.TypeOf((*QueryEvents)(nil)).Elem() -} - -type QueryEventsRequestType struct { - This ManagedObjectReference `xml:"_this"` - Filter EventFilterSpec `xml:"filter"` -} - -func init() { - t["QueryEventsRequestType"] = reflect.TypeOf((*QueryEventsRequestType)(nil)).Elem() -} - -type QueryEventsResponse struct { - Returnval []BaseEvent `xml:"returnval,omitempty,typeattr"` -} - -type QueryExpressionMetadata QueryExpressionMetadataRequestType - -func init() { - t["QueryExpressionMetadata"] = reflect.TypeOf((*QueryExpressionMetadata)(nil)).Elem() -} - -type QueryExpressionMetadataRequestType struct { - This ManagedObjectReference `xml:"_this"` - ExpressionName []string `xml:"expressionName,omitempty"` - Profile *ManagedObjectReference `xml:"profile,omitempty"` -} - -func init() { - t["QueryExpressionMetadataRequestType"] = reflect.TypeOf((*QueryExpressionMetadataRequestType)(nil)).Elem() -} - -type QueryExpressionMetadataResponse struct { - Returnval []ProfileExpressionMetadata `xml:"returnval,omitempty"` -} - -type QueryExtensionIpAllocationUsage QueryExtensionIpAllocationUsageRequestType - -func init() { - t["QueryExtensionIpAllocationUsage"] = reflect.TypeOf((*QueryExtensionIpAllocationUsage)(nil)).Elem() -} - -type QueryExtensionIpAllocationUsageRequestType struct { - This ManagedObjectReference `xml:"_this"` - ExtensionKeys []string `xml:"extensionKeys,omitempty"` -} - -func init() { - t["QueryExtensionIpAllocationUsageRequestType"] = reflect.TypeOf((*QueryExtensionIpAllocationUsageRequestType)(nil)).Elem() -} - -type QueryExtensionIpAllocationUsageResponse struct { - Returnval []ExtensionManagerIpAllocationUsage `xml:"returnval,omitempty"` -} - -type QueryFaultToleranceCompatibility QueryFaultToleranceCompatibilityRequestType - -func init() { - t["QueryFaultToleranceCompatibility"] = reflect.TypeOf((*QueryFaultToleranceCompatibility)(nil)).Elem() -} - -type QueryFaultToleranceCompatibilityEx QueryFaultToleranceCompatibilityExRequestType - -func init() { - t["QueryFaultToleranceCompatibilityEx"] = reflect.TypeOf((*QueryFaultToleranceCompatibilityEx)(nil)).Elem() -} - -type QueryFaultToleranceCompatibilityExRequestType struct { - This ManagedObjectReference `xml:"_this"` - ForLegacyFt *bool `xml:"forLegacyFt"` -} - -func init() { - t["QueryFaultToleranceCompatibilityExRequestType"] = reflect.TypeOf((*QueryFaultToleranceCompatibilityExRequestType)(nil)).Elem() -} - -type QueryFaultToleranceCompatibilityExResponse struct { - Returnval []LocalizedMethodFault `xml:"returnval,omitempty"` -} - -type QueryFaultToleranceCompatibilityRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["QueryFaultToleranceCompatibilityRequestType"] = reflect.TypeOf((*QueryFaultToleranceCompatibilityRequestType)(nil)).Elem() -} - -type QueryFaultToleranceCompatibilityResponse struct { - Returnval []LocalizedMethodFault `xml:"returnval,omitempty"` -} - -type QueryFilterEntities QueryFilterEntitiesRequestType - -func init() { - t["QueryFilterEntities"] = reflect.TypeOf((*QueryFilterEntities)(nil)).Elem() -} - -type QueryFilterEntitiesRequestType struct { - This ManagedObjectReference `xml:"_this"` - FilterId string `xml:"filterId"` -} - -func init() { - t["QueryFilterEntitiesRequestType"] = reflect.TypeOf((*QueryFilterEntitiesRequestType)(nil)).Elem() -} - -type QueryFilterEntitiesResponse struct { - Returnval []ManagedObjectReference `xml:"returnval,omitempty"` -} - -type QueryFilterInfoIds QueryFilterInfoIdsRequestType - -func init() { - t["QueryFilterInfoIds"] = reflect.TypeOf((*QueryFilterInfoIds)(nil)).Elem() -} - -type QueryFilterInfoIdsRequestType struct { - This ManagedObjectReference `xml:"_this"` - FilterId string `xml:"filterId"` -} - -func init() { - t["QueryFilterInfoIdsRequestType"] = reflect.TypeOf((*QueryFilterInfoIdsRequestType)(nil)).Elem() -} - -type QueryFilterInfoIdsResponse struct { - Returnval []string `xml:"returnval,omitempty"` -} - -type QueryFilterList QueryFilterListRequestType - -func init() { - t["QueryFilterList"] = reflect.TypeOf((*QueryFilterList)(nil)).Elem() -} - -type QueryFilterListRequestType struct { - This ManagedObjectReference `xml:"_this"` - ProviderId string `xml:"providerId"` -} - -func init() { - t["QueryFilterListRequestType"] = reflect.TypeOf((*QueryFilterListRequestType)(nil)).Elem() -} - -type QueryFilterListResponse struct { - Returnval []string `xml:"returnval,omitempty"` -} - -type QueryFilterName QueryFilterNameRequestType - -func init() { - t["QueryFilterName"] = reflect.TypeOf((*QueryFilterName)(nil)).Elem() -} - -type QueryFilterNameRequestType struct { - This ManagedObjectReference `xml:"_this"` - FilterId string `xml:"filterId"` -} - -func init() { - t["QueryFilterNameRequestType"] = reflect.TypeOf((*QueryFilterNameRequestType)(nil)).Elem() -} - -type QueryFilterNameResponse struct { - Returnval string `xml:"returnval"` -} - -type QueryFirmwareConfigUploadURL QueryFirmwareConfigUploadURLRequestType - -func init() { - t["QueryFirmwareConfigUploadURL"] = reflect.TypeOf((*QueryFirmwareConfigUploadURL)(nil)).Elem() -} - -type QueryFirmwareConfigUploadURLRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["QueryFirmwareConfigUploadURLRequestType"] = reflect.TypeOf((*QueryFirmwareConfigUploadURLRequestType)(nil)).Elem() -} - -type QueryFirmwareConfigUploadURLResponse struct { - Returnval string `xml:"returnval"` -} - -type QueryHealthUpdateInfos QueryHealthUpdateInfosRequestType - -func init() { - t["QueryHealthUpdateInfos"] = reflect.TypeOf((*QueryHealthUpdateInfos)(nil)).Elem() -} - -type QueryHealthUpdateInfosRequestType struct { - This ManagedObjectReference `xml:"_this"` - ProviderId string `xml:"providerId"` -} - -func init() { - t["QueryHealthUpdateInfosRequestType"] = reflect.TypeOf((*QueryHealthUpdateInfosRequestType)(nil)).Elem() -} - -type QueryHealthUpdateInfosResponse struct { - Returnval []HealthUpdateInfo `xml:"returnval,omitempty"` -} - -type QueryHealthUpdates QueryHealthUpdatesRequestType - -func init() { - t["QueryHealthUpdates"] = reflect.TypeOf((*QueryHealthUpdates)(nil)).Elem() -} - -type QueryHealthUpdatesRequestType struct { - This ManagedObjectReference `xml:"_this"` - ProviderId string `xml:"providerId"` -} - -func init() { - t["QueryHealthUpdatesRequestType"] = reflect.TypeOf((*QueryHealthUpdatesRequestType)(nil)).Elem() -} - -type QueryHealthUpdatesResponse struct { - Returnval []HealthUpdate `xml:"returnval,omitempty"` -} - -type QueryHostConnectionInfo QueryHostConnectionInfoRequestType - -func init() { - t["QueryHostConnectionInfo"] = reflect.TypeOf((*QueryHostConnectionInfo)(nil)).Elem() -} - -type QueryHostConnectionInfoRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["QueryHostConnectionInfoRequestType"] = reflect.TypeOf((*QueryHostConnectionInfoRequestType)(nil)).Elem() -} - -type QueryHostConnectionInfoResponse struct { - Returnval HostConnectInfo `xml:"returnval"` -} - -type QueryHostPatchRequestType struct { - This ManagedObjectReference `xml:"_this"` - Spec *HostPatchManagerPatchManagerOperationSpec `xml:"spec,omitempty"` -} - -func init() { - t["QueryHostPatchRequestType"] = reflect.TypeOf((*QueryHostPatchRequestType)(nil)).Elem() -} - -type QueryHostPatch_Task QueryHostPatchRequestType - -func init() { - t["QueryHostPatch_Task"] = reflect.TypeOf((*QueryHostPatch_Task)(nil)).Elem() -} - -type QueryHostPatch_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type QueryHostProfileMetadata QueryHostProfileMetadataRequestType - -func init() { - t["QueryHostProfileMetadata"] = reflect.TypeOf((*QueryHostProfileMetadata)(nil)).Elem() -} - -type QueryHostProfileMetadataRequestType struct { - This ManagedObjectReference `xml:"_this"` - ProfileName []string `xml:"profileName,omitempty"` - Profile *ManagedObjectReference `xml:"profile,omitempty"` -} - -func init() { - t["QueryHostProfileMetadataRequestType"] = reflect.TypeOf((*QueryHostProfileMetadataRequestType)(nil)).Elem() -} - -type QueryHostProfileMetadataResponse struct { - Returnval []ProfileMetadata `xml:"returnval,omitempty"` -} - -type QueryHostStatus QueryHostStatusRequestType - -func init() { - t["QueryHostStatus"] = reflect.TypeOf((*QueryHostStatus)(nil)).Elem() -} - -type QueryHostStatusRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["QueryHostStatusRequestType"] = reflect.TypeOf((*QueryHostStatusRequestType)(nil)).Elem() -} - -type QueryHostStatusResponse struct { - Returnval VsanHostClusterStatus `xml:"returnval"` -} - -type QueryHostsWithAttachedLun QueryHostsWithAttachedLunRequestType - -func init() { - t["QueryHostsWithAttachedLun"] = reflect.TypeOf((*QueryHostsWithAttachedLun)(nil)).Elem() -} - -type QueryHostsWithAttachedLunRequestType struct { - This ManagedObjectReference `xml:"_this"` - LunUuid string `xml:"lunUuid"` -} - -func init() { - t["QueryHostsWithAttachedLunRequestType"] = reflect.TypeOf((*QueryHostsWithAttachedLunRequestType)(nil)).Elem() -} - -type QueryHostsWithAttachedLunResponse struct { - Returnval []ManagedObjectReference `xml:"returnval,omitempty"` -} - -type QueryIORMConfigOption QueryIORMConfigOptionRequestType - -func init() { - t["QueryIORMConfigOption"] = reflect.TypeOf((*QueryIORMConfigOption)(nil)).Elem() -} - -type QueryIORMConfigOptionRequestType struct { - This ManagedObjectReference `xml:"_this"` - Host ManagedObjectReference `xml:"host"` -} - -func init() { - t["QueryIORMConfigOptionRequestType"] = reflect.TypeOf((*QueryIORMConfigOptionRequestType)(nil)).Elem() -} - -type QueryIORMConfigOptionResponse struct { - Returnval StorageIORMConfigOption `xml:"returnval"` -} - -type QueryIPAllocations QueryIPAllocationsRequestType - -func init() { - t["QueryIPAllocations"] = reflect.TypeOf((*QueryIPAllocations)(nil)).Elem() -} - -type QueryIPAllocationsRequestType struct { - This ManagedObjectReference `xml:"_this"` - Dc ManagedObjectReference `xml:"dc"` - PoolId int32 `xml:"poolId"` - ExtensionKey string `xml:"extensionKey"` -} - -func init() { - t["QueryIPAllocationsRequestType"] = reflect.TypeOf((*QueryIPAllocationsRequestType)(nil)).Elem() -} - -type QueryIPAllocationsResponse struct { - Returnval []IpPoolManagerIpAllocation `xml:"returnval"` -} - -type QueryIoFilterInfo QueryIoFilterInfoRequestType - -func init() { - t["QueryIoFilterInfo"] = reflect.TypeOf((*QueryIoFilterInfo)(nil)).Elem() -} - -type QueryIoFilterInfoRequestType struct { - This ManagedObjectReference `xml:"_this"` - CompRes ManagedObjectReference `xml:"compRes"` -} - -func init() { - t["QueryIoFilterInfoRequestType"] = reflect.TypeOf((*QueryIoFilterInfoRequestType)(nil)).Elem() -} - -type QueryIoFilterInfoResponse struct { - Returnval []ClusterIoFilterInfo `xml:"returnval,omitempty"` -} - -type QueryIoFilterIssues QueryIoFilterIssuesRequestType - -func init() { - t["QueryIoFilterIssues"] = reflect.TypeOf((*QueryIoFilterIssues)(nil)).Elem() -} - -type QueryIoFilterIssuesRequestType struct { - This ManagedObjectReference `xml:"_this"` - FilterId string `xml:"filterId"` - CompRes ManagedObjectReference `xml:"compRes"` -} - -func init() { - t["QueryIoFilterIssuesRequestType"] = reflect.TypeOf((*QueryIoFilterIssuesRequestType)(nil)).Elem() -} - -type QueryIoFilterIssuesResponse struct { - Returnval IoFilterQueryIssueResult `xml:"returnval"` -} - -type QueryIpPools QueryIpPoolsRequestType - -func init() { - t["QueryIpPools"] = reflect.TypeOf((*QueryIpPools)(nil)).Elem() -} - -type QueryIpPoolsRequestType struct { - This ManagedObjectReference `xml:"_this"` - Dc ManagedObjectReference `xml:"dc"` -} - -func init() { - t["QueryIpPoolsRequestType"] = reflect.TypeOf((*QueryIpPoolsRequestType)(nil)).Elem() -} - -type QueryIpPoolsResponse struct { - Returnval []IpPool `xml:"returnval,omitempty"` -} - -type QueryLicenseSourceAvailability QueryLicenseSourceAvailabilityRequestType - -func init() { - t["QueryLicenseSourceAvailability"] = reflect.TypeOf((*QueryLicenseSourceAvailability)(nil)).Elem() -} - -type QueryLicenseSourceAvailabilityRequestType struct { - This ManagedObjectReference `xml:"_this"` - Host *ManagedObjectReference `xml:"host,omitempty"` -} - -func init() { - t["QueryLicenseSourceAvailabilityRequestType"] = reflect.TypeOf((*QueryLicenseSourceAvailabilityRequestType)(nil)).Elem() -} - -type QueryLicenseSourceAvailabilityResponse struct { - Returnval []LicenseAvailabilityInfo `xml:"returnval,omitempty"` -} - -type QueryLicenseUsage QueryLicenseUsageRequestType - -func init() { - t["QueryLicenseUsage"] = reflect.TypeOf((*QueryLicenseUsage)(nil)).Elem() -} - -type QueryLicenseUsageRequestType struct { - This ManagedObjectReference `xml:"_this"` - Host *ManagedObjectReference `xml:"host,omitempty"` -} - -func init() { - t["QueryLicenseUsageRequestType"] = reflect.TypeOf((*QueryLicenseUsageRequestType)(nil)).Elem() -} - -type QueryLicenseUsageResponse struct { - Returnval LicenseUsageInfo `xml:"returnval"` -} - -type QueryLockdownExceptions QueryLockdownExceptionsRequestType - -func init() { - t["QueryLockdownExceptions"] = reflect.TypeOf((*QueryLockdownExceptions)(nil)).Elem() -} - -type QueryLockdownExceptionsRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["QueryLockdownExceptionsRequestType"] = reflect.TypeOf((*QueryLockdownExceptionsRequestType)(nil)).Elem() -} - -type QueryLockdownExceptionsResponse struct { - Returnval []string `xml:"returnval,omitempty"` -} - -type QueryManagedBy QueryManagedByRequestType - -func init() { - t["QueryManagedBy"] = reflect.TypeOf((*QueryManagedBy)(nil)).Elem() -} - -type QueryManagedByRequestType struct { - This ManagedObjectReference `xml:"_this"` - ExtensionKey string `xml:"extensionKey"` -} - -func init() { - t["QueryManagedByRequestType"] = reflect.TypeOf((*QueryManagedByRequestType)(nil)).Elem() -} - -type QueryManagedByResponse struct { - Returnval []ManagedObjectReference `xml:"returnval,omitempty"` -} - -type QueryMaxQueueDepth QueryMaxQueueDepthRequestType - -func init() { - t["QueryMaxQueueDepth"] = reflect.TypeOf((*QueryMaxQueueDepth)(nil)).Elem() -} - -type QueryMaxQueueDepthRequestType struct { - This ManagedObjectReference `xml:"_this"` - Datastore ManagedObjectReference `xml:"datastore"` -} - -func init() { - t["QueryMaxQueueDepthRequestType"] = reflect.TypeOf((*QueryMaxQueueDepthRequestType)(nil)).Elem() -} - -type QueryMaxQueueDepthResponse struct { - Returnval int64 `xml:"returnval"` -} - -type QueryMemoryOverhead QueryMemoryOverheadRequestType - -func init() { - t["QueryMemoryOverhead"] = reflect.TypeOf((*QueryMemoryOverhead)(nil)).Elem() -} - -type QueryMemoryOverheadEx QueryMemoryOverheadExRequestType - -func init() { - t["QueryMemoryOverheadEx"] = reflect.TypeOf((*QueryMemoryOverheadEx)(nil)).Elem() -} - -type QueryMemoryOverheadExRequestType struct { - This ManagedObjectReference `xml:"_this"` - VmConfigInfo VirtualMachineConfigInfo `xml:"vmConfigInfo"` -} - -func init() { - t["QueryMemoryOverheadExRequestType"] = reflect.TypeOf((*QueryMemoryOverheadExRequestType)(nil)).Elem() -} - -type QueryMemoryOverheadExResponse struct { - Returnval int64 `xml:"returnval"` -} - -type QueryMemoryOverheadRequestType struct { - This ManagedObjectReference `xml:"_this"` - MemorySize int64 `xml:"memorySize"` - VideoRamSize int32 `xml:"videoRamSize,omitempty"` - NumVcpus int32 `xml:"numVcpus"` -} - -func init() { - t["QueryMemoryOverheadRequestType"] = reflect.TypeOf((*QueryMemoryOverheadRequestType)(nil)).Elem() -} - -type QueryMemoryOverheadResponse struct { - Returnval int64 `xml:"returnval"` -} - -type QueryMigrationDependencies QueryMigrationDependenciesRequestType - -func init() { - t["QueryMigrationDependencies"] = reflect.TypeOf((*QueryMigrationDependencies)(nil)).Elem() -} - -type QueryMigrationDependenciesRequestType struct { - This ManagedObjectReference `xml:"_this"` - PnicDevice []string `xml:"pnicDevice"` -} - -func init() { - t["QueryMigrationDependenciesRequestType"] = reflect.TypeOf((*QueryMigrationDependenciesRequestType)(nil)).Elem() -} - -type QueryMigrationDependenciesResponse struct { - Returnval IscsiMigrationDependency `xml:"returnval"` -} - -type QueryModules QueryModulesRequestType - -func init() { - t["QueryModules"] = reflect.TypeOf((*QueryModules)(nil)).Elem() -} - -type QueryModulesRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["QueryModulesRequestType"] = reflect.TypeOf((*QueryModulesRequestType)(nil)).Elem() -} - -type QueryModulesResponse struct { - Returnval []KernelModuleInfo `xml:"returnval,omitempty"` -} - -type QueryMonitoredEntities QueryMonitoredEntitiesRequestType - -func init() { - t["QueryMonitoredEntities"] = reflect.TypeOf((*QueryMonitoredEntities)(nil)).Elem() -} - -type QueryMonitoredEntitiesRequestType struct { - This ManagedObjectReference `xml:"_this"` - ProviderId string `xml:"providerId"` -} - -func init() { - t["QueryMonitoredEntitiesRequestType"] = reflect.TypeOf((*QueryMonitoredEntitiesRequestType)(nil)).Elem() -} - -type QueryMonitoredEntitiesResponse struct { - Returnval []ManagedObjectReference `xml:"returnval,omitempty"` -} - -type QueryNFSUser QueryNFSUserRequestType - -func init() { - t["QueryNFSUser"] = reflect.TypeOf((*QueryNFSUser)(nil)).Elem() -} - -type QueryNFSUserRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["QueryNFSUserRequestType"] = reflect.TypeOf((*QueryNFSUserRequestType)(nil)).Elem() -} - -type QueryNFSUserResponse struct { - Returnval *HostNasVolumeUserInfo `xml:"returnval,omitempty"` -} - -type QueryNetConfig QueryNetConfigRequestType - -func init() { - t["QueryNetConfig"] = reflect.TypeOf((*QueryNetConfig)(nil)).Elem() -} - -type QueryNetConfigRequestType struct { - This ManagedObjectReference `xml:"_this"` - NicType string `xml:"nicType"` -} - -func init() { - t["QueryNetConfigRequestType"] = reflect.TypeOf((*QueryNetConfigRequestType)(nil)).Elem() -} - -type QueryNetConfigResponse struct { - Returnval *VirtualNicManagerNetConfig `xml:"returnval,omitempty"` -} - -type QueryNetworkHint QueryNetworkHintRequestType - -func init() { - t["QueryNetworkHint"] = reflect.TypeOf((*QueryNetworkHint)(nil)).Elem() -} - -type QueryNetworkHintRequestType struct { - This ManagedObjectReference `xml:"_this"` - Device []string `xml:"device,omitempty"` -} - -func init() { - t["QueryNetworkHintRequestType"] = reflect.TypeOf((*QueryNetworkHintRequestType)(nil)).Elem() -} - -type QueryNetworkHintResponse struct { - Returnval []PhysicalNicHintInfo `xml:"returnval,omitempty"` -} - -type QueryObjectsOnPhysicalVsanDisk QueryObjectsOnPhysicalVsanDiskRequestType - -func init() { - t["QueryObjectsOnPhysicalVsanDisk"] = reflect.TypeOf((*QueryObjectsOnPhysicalVsanDisk)(nil)).Elem() -} - -type QueryObjectsOnPhysicalVsanDiskRequestType struct { - This ManagedObjectReference `xml:"_this"` - Disks []string `xml:"disks"` -} - -func init() { - t["QueryObjectsOnPhysicalVsanDiskRequestType"] = reflect.TypeOf((*QueryObjectsOnPhysicalVsanDiskRequestType)(nil)).Elem() -} - -type QueryObjectsOnPhysicalVsanDiskResponse struct { - Returnval string `xml:"returnval"` -} - -type QueryOptions QueryOptionsRequestType - -func init() { - t["QueryOptions"] = reflect.TypeOf((*QueryOptions)(nil)).Elem() -} - -type QueryOptionsRequestType struct { - This ManagedObjectReference `xml:"_this"` - Name string `xml:"name,omitempty"` -} - -func init() { - t["QueryOptionsRequestType"] = reflect.TypeOf((*QueryOptionsRequestType)(nil)).Elem() -} - -type QueryOptionsResponse struct { - Returnval []BaseOptionValue `xml:"returnval,omitempty,typeattr"` -} - -type QueryPartitionCreateDesc QueryPartitionCreateDescRequestType - -func init() { - t["QueryPartitionCreateDesc"] = reflect.TypeOf((*QueryPartitionCreateDesc)(nil)).Elem() -} - -type QueryPartitionCreateDescRequestType struct { - This ManagedObjectReference `xml:"_this"` - DiskUuid string `xml:"diskUuid"` - DiagnosticType string `xml:"diagnosticType"` -} - -func init() { - t["QueryPartitionCreateDescRequestType"] = reflect.TypeOf((*QueryPartitionCreateDescRequestType)(nil)).Elem() -} - -type QueryPartitionCreateDescResponse struct { - Returnval HostDiagnosticPartitionCreateDescription `xml:"returnval"` -} - -type QueryPartitionCreateOptions QueryPartitionCreateOptionsRequestType - -func init() { - t["QueryPartitionCreateOptions"] = reflect.TypeOf((*QueryPartitionCreateOptions)(nil)).Elem() -} - -type QueryPartitionCreateOptionsRequestType struct { - This ManagedObjectReference `xml:"_this"` - StorageType string `xml:"storageType"` - DiagnosticType string `xml:"diagnosticType"` -} - -func init() { - t["QueryPartitionCreateOptionsRequestType"] = reflect.TypeOf((*QueryPartitionCreateOptionsRequestType)(nil)).Elem() -} - -type QueryPartitionCreateOptionsResponse struct { - Returnval []HostDiagnosticPartitionCreateOption `xml:"returnval,omitempty"` -} - -type QueryPathSelectionPolicyOptions QueryPathSelectionPolicyOptionsRequestType - -func init() { - t["QueryPathSelectionPolicyOptions"] = reflect.TypeOf((*QueryPathSelectionPolicyOptions)(nil)).Elem() -} - -type QueryPathSelectionPolicyOptionsRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["QueryPathSelectionPolicyOptionsRequestType"] = reflect.TypeOf((*QueryPathSelectionPolicyOptionsRequestType)(nil)).Elem() -} - -type QueryPathSelectionPolicyOptionsResponse struct { - Returnval []HostPathSelectionPolicyOption `xml:"returnval,omitempty"` -} - -type QueryPerf QueryPerfRequestType - -func init() { - t["QueryPerf"] = reflect.TypeOf((*QueryPerf)(nil)).Elem() -} - -type QueryPerfComposite QueryPerfCompositeRequestType - -func init() { - t["QueryPerfComposite"] = reflect.TypeOf((*QueryPerfComposite)(nil)).Elem() -} - -type QueryPerfCompositeRequestType struct { - This ManagedObjectReference `xml:"_this"` - QuerySpec PerfQuerySpec `xml:"querySpec"` -} - -func init() { - t["QueryPerfCompositeRequestType"] = reflect.TypeOf((*QueryPerfCompositeRequestType)(nil)).Elem() -} - -type QueryPerfCompositeResponse struct { - Returnval PerfCompositeMetric `xml:"returnval"` -} - -type QueryPerfCounter QueryPerfCounterRequestType - -func init() { - t["QueryPerfCounter"] = reflect.TypeOf((*QueryPerfCounter)(nil)).Elem() -} - -type QueryPerfCounterByLevel QueryPerfCounterByLevelRequestType - -func init() { - t["QueryPerfCounterByLevel"] = reflect.TypeOf((*QueryPerfCounterByLevel)(nil)).Elem() -} - -type QueryPerfCounterByLevelRequestType struct { - This ManagedObjectReference `xml:"_this"` - Level int32 `xml:"level"` -} - -func init() { - t["QueryPerfCounterByLevelRequestType"] = reflect.TypeOf((*QueryPerfCounterByLevelRequestType)(nil)).Elem() -} - -type QueryPerfCounterByLevelResponse struct { - Returnval []PerfCounterInfo `xml:"returnval"` -} - -type QueryPerfCounterRequestType struct { - This ManagedObjectReference `xml:"_this"` - CounterId []int32 `xml:"counterId"` -} - -func init() { - t["QueryPerfCounterRequestType"] = reflect.TypeOf((*QueryPerfCounterRequestType)(nil)).Elem() -} - -type QueryPerfCounterResponse struct { - Returnval []PerfCounterInfo `xml:"returnval,omitempty"` -} - -type QueryPerfProviderSummary QueryPerfProviderSummaryRequestType - -func init() { - t["QueryPerfProviderSummary"] = reflect.TypeOf((*QueryPerfProviderSummary)(nil)).Elem() -} - -type QueryPerfProviderSummaryRequestType struct { - This ManagedObjectReference `xml:"_this"` - Entity ManagedObjectReference `xml:"entity"` -} - -func init() { - t["QueryPerfProviderSummaryRequestType"] = reflect.TypeOf((*QueryPerfProviderSummaryRequestType)(nil)).Elem() -} - -type QueryPerfProviderSummaryResponse struct { - Returnval PerfProviderSummary `xml:"returnval"` -} - -type QueryPerfRequestType struct { - This ManagedObjectReference `xml:"_this"` - QuerySpec []PerfQuerySpec `xml:"querySpec"` -} - -func init() { - t["QueryPerfRequestType"] = reflect.TypeOf((*QueryPerfRequestType)(nil)).Elem() -} - -type QueryPerfResponse struct { - Returnval []BasePerfEntityMetricBase `xml:"returnval,omitempty,typeattr"` -} - -type QueryPhysicalVsanDisks QueryPhysicalVsanDisksRequestType - -func init() { - t["QueryPhysicalVsanDisks"] = reflect.TypeOf((*QueryPhysicalVsanDisks)(nil)).Elem() -} - -type QueryPhysicalVsanDisksRequestType struct { - This ManagedObjectReference `xml:"_this"` - Props []string `xml:"props,omitempty"` -} - -func init() { - t["QueryPhysicalVsanDisksRequestType"] = reflect.TypeOf((*QueryPhysicalVsanDisksRequestType)(nil)).Elem() -} - -type QueryPhysicalVsanDisksResponse struct { - Returnval string `xml:"returnval"` -} - -type QueryPnicStatus QueryPnicStatusRequestType - -func init() { - t["QueryPnicStatus"] = reflect.TypeOf((*QueryPnicStatus)(nil)).Elem() -} - -type QueryPnicStatusRequestType struct { - This ManagedObjectReference `xml:"_this"` - PnicDevice string `xml:"pnicDevice"` -} - -func init() { - t["QueryPnicStatusRequestType"] = reflect.TypeOf((*QueryPnicStatusRequestType)(nil)).Elem() -} - -type QueryPnicStatusResponse struct { - Returnval IscsiStatus `xml:"returnval"` -} - -type QueryPolicyMetadata QueryPolicyMetadataRequestType - -func init() { - t["QueryPolicyMetadata"] = reflect.TypeOf((*QueryPolicyMetadata)(nil)).Elem() -} - -type QueryPolicyMetadataRequestType struct { - This ManagedObjectReference `xml:"_this"` - PolicyName []string `xml:"policyName,omitempty"` - Profile *ManagedObjectReference `xml:"profile,omitempty"` -} - -func init() { - t["QueryPolicyMetadataRequestType"] = reflect.TypeOf((*QueryPolicyMetadataRequestType)(nil)).Elem() -} - -type QueryPolicyMetadataResponse struct { - Returnval []ProfilePolicyMetadata `xml:"returnval,omitempty"` -} - -type QueryProductLockerLocation QueryProductLockerLocationRequestType - -func init() { - t["QueryProductLockerLocation"] = reflect.TypeOf((*QueryProductLockerLocation)(nil)).Elem() -} - -type QueryProductLockerLocationRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["QueryProductLockerLocationRequestType"] = reflect.TypeOf((*QueryProductLockerLocationRequestType)(nil)).Elem() -} - -type QueryProductLockerLocationResponse struct { - Returnval string `xml:"returnval"` -} - -type QueryProfileStructure QueryProfileStructureRequestType - -func init() { - t["QueryProfileStructure"] = reflect.TypeOf((*QueryProfileStructure)(nil)).Elem() -} - -type QueryProfileStructureRequestType struct { - This ManagedObjectReference `xml:"_this"` - Profile *ManagedObjectReference `xml:"profile,omitempty"` -} - -func init() { - t["QueryProfileStructureRequestType"] = reflect.TypeOf((*QueryProfileStructureRequestType)(nil)).Elem() -} - -type QueryProfileStructureResponse struct { - Returnval ProfileProfileStructure `xml:"returnval"` -} - -type QueryProviderList QueryProviderListRequestType - -func init() { - t["QueryProviderList"] = reflect.TypeOf((*QueryProviderList)(nil)).Elem() -} - -type QueryProviderListRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["QueryProviderListRequestType"] = reflect.TypeOf((*QueryProviderListRequestType)(nil)).Elem() -} - -type QueryProviderListResponse struct { - Returnval []string `xml:"returnval,omitempty"` -} - -type QueryProviderName QueryProviderNameRequestType - -func init() { - t["QueryProviderName"] = reflect.TypeOf((*QueryProviderName)(nil)).Elem() -} - -type QueryProviderNameRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id string `xml:"id"` -} - -func init() { - t["QueryProviderNameRequestType"] = reflect.TypeOf((*QueryProviderNameRequestType)(nil)).Elem() -} - -type QueryProviderNameResponse struct { - Returnval string `xml:"returnval"` -} - -type QueryResourceConfigOption QueryResourceConfigOptionRequestType - -func init() { - t["QueryResourceConfigOption"] = reflect.TypeOf((*QueryResourceConfigOption)(nil)).Elem() -} - -type QueryResourceConfigOptionRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["QueryResourceConfigOptionRequestType"] = reflect.TypeOf((*QueryResourceConfigOptionRequestType)(nil)).Elem() -} - -type QueryResourceConfigOptionResponse struct { - Returnval ResourceConfigOption `xml:"returnval"` -} - -type QueryServiceList QueryServiceListRequestType - -func init() { - t["QueryServiceList"] = reflect.TypeOf((*QueryServiceList)(nil)).Elem() -} - -type QueryServiceListRequestType struct { - This ManagedObjectReference `xml:"_this"` - ServiceName string `xml:"serviceName,omitempty"` - Location []string `xml:"location,omitempty"` -} - -func init() { - t["QueryServiceListRequestType"] = reflect.TypeOf((*QueryServiceListRequestType)(nil)).Elem() -} - -type QueryServiceListResponse struct { - Returnval []ServiceManagerServiceInfo `xml:"returnval,omitempty"` -} - -type QueryStorageArrayTypePolicyOptions QueryStorageArrayTypePolicyOptionsRequestType - -func init() { - t["QueryStorageArrayTypePolicyOptions"] = reflect.TypeOf((*QueryStorageArrayTypePolicyOptions)(nil)).Elem() -} - -type QueryStorageArrayTypePolicyOptionsRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["QueryStorageArrayTypePolicyOptionsRequestType"] = reflect.TypeOf((*QueryStorageArrayTypePolicyOptionsRequestType)(nil)).Elem() -} - -type QueryStorageArrayTypePolicyOptionsResponse struct { - Returnval []HostStorageArrayTypePolicyOption `xml:"returnval,omitempty"` -} - -type QuerySupportedFeatures QuerySupportedFeaturesRequestType - -func init() { - t["QuerySupportedFeatures"] = reflect.TypeOf((*QuerySupportedFeatures)(nil)).Elem() -} - -type QuerySupportedFeaturesRequestType struct { - This ManagedObjectReference `xml:"_this"` - Host *ManagedObjectReference `xml:"host,omitempty"` -} - -func init() { - t["QuerySupportedFeaturesRequestType"] = reflect.TypeOf((*QuerySupportedFeaturesRequestType)(nil)).Elem() -} - -type QuerySupportedFeaturesResponse struct { - Returnval []LicenseFeatureInfo `xml:"returnval,omitempty"` -} - -type QuerySupportedNetworkOffloadSpec QuerySupportedNetworkOffloadSpecRequestType - -func init() { - t["QuerySupportedNetworkOffloadSpec"] = reflect.TypeOf((*QuerySupportedNetworkOffloadSpec)(nil)).Elem() -} - -type QuerySupportedNetworkOffloadSpecRequestType struct { - This ManagedObjectReference `xml:"_this"` - SwitchProductSpec DistributedVirtualSwitchProductSpec `xml:"switchProductSpec"` -} - -func init() { - t["QuerySupportedNetworkOffloadSpecRequestType"] = reflect.TypeOf((*QuerySupportedNetworkOffloadSpecRequestType)(nil)).Elem() -} - -type QuerySupportedNetworkOffloadSpecResponse struct { - Returnval []DistributedVirtualSwitchNetworkOffloadSpec `xml:"returnval,omitempty"` -} - -type QuerySyncingVsanObjects QuerySyncingVsanObjectsRequestType - -func init() { - t["QuerySyncingVsanObjects"] = reflect.TypeOf((*QuerySyncingVsanObjects)(nil)).Elem() -} - -type QuerySyncingVsanObjectsRequestType struct { - This ManagedObjectReference `xml:"_this"` - Uuids []string `xml:"uuids,omitempty"` -} - -func init() { - t["QuerySyncingVsanObjectsRequestType"] = reflect.TypeOf((*QuerySyncingVsanObjectsRequestType)(nil)).Elem() -} - -type QuerySyncingVsanObjectsResponse struct { - Returnval string `xml:"returnval"` -} - -type QuerySystemUsers QuerySystemUsersRequestType - -func init() { - t["QuerySystemUsers"] = reflect.TypeOf((*QuerySystemUsers)(nil)).Elem() -} - -type QuerySystemUsersRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["QuerySystemUsersRequestType"] = reflect.TypeOf((*QuerySystemUsersRequestType)(nil)).Elem() -} - -type QuerySystemUsersResponse struct { - Returnval []string `xml:"returnval,omitempty"` -} - -type QueryTargetCapabilities QueryTargetCapabilitiesRequestType - -func init() { - t["QueryTargetCapabilities"] = reflect.TypeOf((*QueryTargetCapabilities)(nil)).Elem() -} - -type QueryTargetCapabilitiesRequestType struct { - This ManagedObjectReference `xml:"_this"` - Host *ManagedObjectReference `xml:"host,omitempty"` -} - -func init() { - t["QueryTargetCapabilitiesRequestType"] = reflect.TypeOf((*QueryTargetCapabilitiesRequestType)(nil)).Elem() -} - -type QueryTargetCapabilitiesResponse struct { - Returnval *HostCapability `xml:"returnval,omitempty"` -} - -type QueryTpmAttestationReport QueryTpmAttestationReportRequestType - -func init() { - t["QueryTpmAttestationReport"] = reflect.TypeOf((*QueryTpmAttestationReport)(nil)).Elem() -} - -type QueryTpmAttestationReportRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["QueryTpmAttestationReportRequestType"] = reflect.TypeOf((*QueryTpmAttestationReportRequestType)(nil)).Elem() -} - -type QueryTpmAttestationReportResponse struct { - Returnval *HostTpmAttestationReport `xml:"returnval,omitempty"` -} - -type QueryUnmonitoredHosts QueryUnmonitoredHostsRequestType - -func init() { - t["QueryUnmonitoredHosts"] = reflect.TypeOf((*QueryUnmonitoredHosts)(nil)).Elem() -} - -type QueryUnmonitoredHostsRequestType struct { - This ManagedObjectReference `xml:"_this"` - ProviderId string `xml:"providerId"` - Cluster ManagedObjectReference `xml:"cluster"` -} - -func init() { - t["QueryUnmonitoredHostsRequestType"] = reflect.TypeOf((*QueryUnmonitoredHostsRequestType)(nil)).Elem() -} - -type QueryUnmonitoredHostsResponse struct { - Returnval []ManagedObjectReference `xml:"returnval,omitempty"` -} - -type QueryUnownedFiles QueryUnownedFilesRequestType - -func init() { - t["QueryUnownedFiles"] = reflect.TypeOf((*QueryUnownedFiles)(nil)).Elem() -} - -type QueryUnownedFilesRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["QueryUnownedFilesRequestType"] = reflect.TypeOf((*QueryUnownedFilesRequestType)(nil)).Elem() -} - -type QueryUnownedFilesResponse struct { - Returnval []string `xml:"returnval,omitempty"` -} - -type QueryUnresolvedVmfsVolume QueryUnresolvedVmfsVolumeRequestType - -func init() { - t["QueryUnresolvedVmfsVolume"] = reflect.TypeOf((*QueryUnresolvedVmfsVolume)(nil)).Elem() -} - -type QueryUnresolvedVmfsVolumeRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["QueryUnresolvedVmfsVolumeRequestType"] = reflect.TypeOf((*QueryUnresolvedVmfsVolumeRequestType)(nil)).Elem() -} - -type QueryUnresolvedVmfsVolumeResponse struct { - Returnval []HostUnresolvedVmfsVolume `xml:"returnval,omitempty"` -} - -type QueryUnresolvedVmfsVolumes QueryUnresolvedVmfsVolumesRequestType - -func init() { - t["QueryUnresolvedVmfsVolumes"] = reflect.TypeOf((*QueryUnresolvedVmfsVolumes)(nil)).Elem() -} - -type QueryUnresolvedVmfsVolumesRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["QueryUnresolvedVmfsVolumesRequestType"] = reflect.TypeOf((*QueryUnresolvedVmfsVolumesRequestType)(nil)).Elem() -} - -type QueryUnresolvedVmfsVolumesResponse struct { - Returnval []HostUnresolvedVmfsVolume `xml:"returnval,omitempty"` -} - -type QueryUsedVlanIdInDvs QueryUsedVlanIdInDvsRequestType - -func init() { - t["QueryUsedVlanIdInDvs"] = reflect.TypeOf((*QueryUsedVlanIdInDvs)(nil)).Elem() -} - -type QueryUsedVlanIdInDvsRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["QueryUsedVlanIdInDvsRequestType"] = reflect.TypeOf((*QueryUsedVlanIdInDvsRequestType)(nil)).Elem() -} - -type QueryUsedVlanIdInDvsResponse struct { - Returnval []int32 `xml:"returnval,omitempty"` -} - -type QueryVMotionCompatibility QueryVMotionCompatibilityRequestType - -func init() { - t["QueryVMotionCompatibility"] = reflect.TypeOf((*QueryVMotionCompatibility)(nil)).Elem() -} - -type QueryVMotionCompatibilityExRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm []ManagedObjectReference `xml:"vm"` - Host []ManagedObjectReference `xml:"host"` -} - -func init() { - t["QueryVMotionCompatibilityExRequestType"] = reflect.TypeOf((*QueryVMotionCompatibilityExRequestType)(nil)).Elem() -} - -type QueryVMotionCompatibilityEx_Task QueryVMotionCompatibilityExRequestType - -func init() { - t["QueryVMotionCompatibilityEx_Task"] = reflect.TypeOf((*QueryVMotionCompatibilityEx_Task)(nil)).Elem() -} - -type QueryVMotionCompatibilityEx_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type QueryVMotionCompatibilityRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm ManagedObjectReference `xml:"vm"` - Host []ManagedObjectReference `xml:"host"` - Compatibility []string `xml:"compatibility,omitempty"` -} - -func init() { - t["QueryVMotionCompatibilityRequestType"] = reflect.TypeOf((*QueryVMotionCompatibilityRequestType)(nil)).Elem() -} - -type QueryVMotionCompatibilityResponse struct { - Returnval []HostVMotionCompatibility `xml:"returnval,omitempty"` -} - -type QueryVirtualDiskFragmentation QueryVirtualDiskFragmentationRequestType - -func init() { - t["QueryVirtualDiskFragmentation"] = reflect.TypeOf((*QueryVirtualDiskFragmentation)(nil)).Elem() -} - -type QueryVirtualDiskFragmentationRequestType struct { - This ManagedObjectReference `xml:"_this"` - Name string `xml:"name"` - Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"` -} - -func init() { - t["QueryVirtualDiskFragmentationRequestType"] = reflect.TypeOf((*QueryVirtualDiskFragmentationRequestType)(nil)).Elem() -} - -type QueryVirtualDiskFragmentationResponse struct { - Returnval int32 `xml:"returnval"` -} - -type QueryVirtualDiskGeometry QueryVirtualDiskGeometryRequestType - -func init() { - t["QueryVirtualDiskGeometry"] = reflect.TypeOf((*QueryVirtualDiskGeometry)(nil)).Elem() -} - -type QueryVirtualDiskGeometryRequestType struct { - This ManagedObjectReference `xml:"_this"` - Name string `xml:"name"` - Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"` -} - -func init() { - t["QueryVirtualDiskGeometryRequestType"] = reflect.TypeOf((*QueryVirtualDiskGeometryRequestType)(nil)).Elem() -} - -type QueryVirtualDiskGeometryResponse struct { - Returnval HostDiskDimensionsChs `xml:"returnval"` -} - -type QueryVirtualDiskUuid QueryVirtualDiskUuidRequestType - -func init() { - t["QueryVirtualDiskUuid"] = reflect.TypeOf((*QueryVirtualDiskUuid)(nil)).Elem() -} - -type QueryVirtualDiskUuidRequestType struct { - This ManagedObjectReference `xml:"_this"` - Name string `xml:"name"` - Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"` -} - -func init() { - t["QueryVirtualDiskUuidRequestType"] = reflect.TypeOf((*QueryVirtualDiskUuidRequestType)(nil)).Elem() -} - -type QueryVirtualDiskUuidResponse struct { - Returnval string `xml:"returnval"` -} - -type QueryVmfsConfigOption QueryVmfsConfigOptionRequestType - -func init() { - t["QueryVmfsConfigOption"] = reflect.TypeOf((*QueryVmfsConfigOption)(nil)).Elem() -} - -type QueryVmfsConfigOptionRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["QueryVmfsConfigOptionRequestType"] = reflect.TypeOf((*QueryVmfsConfigOptionRequestType)(nil)).Elem() -} - -type QueryVmfsConfigOptionResponse struct { - Returnval []VmfsConfigOption `xml:"returnval,omitempty"` -} - -type QueryVmfsDatastoreCreateOptions QueryVmfsDatastoreCreateOptionsRequestType - -func init() { - t["QueryVmfsDatastoreCreateOptions"] = reflect.TypeOf((*QueryVmfsDatastoreCreateOptions)(nil)).Elem() -} - -type QueryVmfsDatastoreCreateOptionsRequestType struct { - This ManagedObjectReference `xml:"_this"` - DevicePath string `xml:"devicePath"` - VmfsMajorVersion int32 `xml:"vmfsMajorVersion,omitempty"` -} - -func init() { - t["QueryVmfsDatastoreCreateOptionsRequestType"] = reflect.TypeOf((*QueryVmfsDatastoreCreateOptionsRequestType)(nil)).Elem() -} - -type QueryVmfsDatastoreCreateOptionsResponse struct { - Returnval []VmfsDatastoreOption `xml:"returnval,omitempty"` -} - -type QueryVmfsDatastoreExpandOptions QueryVmfsDatastoreExpandOptionsRequestType - -func init() { - t["QueryVmfsDatastoreExpandOptions"] = reflect.TypeOf((*QueryVmfsDatastoreExpandOptions)(nil)).Elem() -} - -type QueryVmfsDatastoreExpandOptionsRequestType struct { - This ManagedObjectReference `xml:"_this"` - Datastore ManagedObjectReference `xml:"datastore"` -} - -func init() { - t["QueryVmfsDatastoreExpandOptionsRequestType"] = reflect.TypeOf((*QueryVmfsDatastoreExpandOptionsRequestType)(nil)).Elem() -} - -type QueryVmfsDatastoreExpandOptionsResponse struct { - Returnval []VmfsDatastoreOption `xml:"returnval,omitempty"` -} - -type QueryVmfsDatastoreExtendOptions QueryVmfsDatastoreExtendOptionsRequestType - -func init() { - t["QueryVmfsDatastoreExtendOptions"] = reflect.TypeOf((*QueryVmfsDatastoreExtendOptions)(nil)).Elem() -} - -type QueryVmfsDatastoreExtendOptionsRequestType struct { - This ManagedObjectReference `xml:"_this"` - Datastore ManagedObjectReference `xml:"datastore"` - DevicePath string `xml:"devicePath"` - SuppressExpandCandidates *bool `xml:"suppressExpandCandidates"` -} - -func init() { - t["QueryVmfsDatastoreExtendOptionsRequestType"] = reflect.TypeOf((*QueryVmfsDatastoreExtendOptionsRequestType)(nil)).Elem() -} - -type QueryVmfsDatastoreExtendOptionsResponse struct { - Returnval []VmfsDatastoreOption `xml:"returnval,omitempty"` -} - -type QueryVnicStatus QueryVnicStatusRequestType - -func init() { - t["QueryVnicStatus"] = reflect.TypeOf((*QueryVnicStatus)(nil)).Elem() -} - -type QueryVnicStatusRequestType struct { - This ManagedObjectReference `xml:"_this"` - VnicDevice string `xml:"vnicDevice"` -} - -func init() { - t["QueryVnicStatusRequestType"] = reflect.TypeOf((*QueryVnicStatusRequestType)(nil)).Elem() -} - -type QueryVnicStatusResponse struct { - Returnval IscsiStatus `xml:"returnval"` -} - -type QueryVsanObjectUuidsByFilter QueryVsanObjectUuidsByFilterRequestType - -func init() { - t["QueryVsanObjectUuidsByFilter"] = reflect.TypeOf((*QueryVsanObjectUuidsByFilter)(nil)).Elem() -} - -type QueryVsanObjectUuidsByFilterRequestType struct { - This ManagedObjectReference `xml:"_this"` - Uuids []string `xml:"uuids,omitempty"` - Limit *int32 `xml:"limit"` - Version int32 `xml:"version,omitempty"` -} - -func init() { - t["QueryVsanObjectUuidsByFilterRequestType"] = reflect.TypeOf((*QueryVsanObjectUuidsByFilterRequestType)(nil)).Elem() -} - -type QueryVsanObjectUuidsByFilterResponse struct { - Returnval []string `xml:"returnval,omitempty"` -} - -type QueryVsanObjects QueryVsanObjectsRequestType - -func init() { - t["QueryVsanObjects"] = reflect.TypeOf((*QueryVsanObjects)(nil)).Elem() -} - -type QueryVsanObjectsRequestType struct { - This ManagedObjectReference `xml:"_this"` - Uuids []string `xml:"uuids,omitempty"` -} - -func init() { - t["QueryVsanObjectsRequestType"] = reflect.TypeOf((*QueryVsanObjectsRequestType)(nil)).Elem() -} - -type QueryVsanObjectsResponse struct { - Returnval string `xml:"returnval"` -} - -type QueryVsanStatistics QueryVsanStatisticsRequestType - -func init() { - t["QueryVsanStatistics"] = reflect.TypeOf((*QueryVsanStatistics)(nil)).Elem() -} - -type QueryVsanStatisticsRequestType struct { - This ManagedObjectReference `xml:"_this"` - Labels []string `xml:"labels"` -} - -func init() { - t["QueryVsanStatisticsRequestType"] = reflect.TypeOf((*QueryVsanStatisticsRequestType)(nil)).Elem() -} - -type QueryVsanStatisticsResponse struct { - Returnval string `xml:"returnval"` -} - -type QueryVsanUpgradeStatus QueryVsanUpgradeStatusRequestType - -func init() { - t["QueryVsanUpgradeStatus"] = reflect.TypeOf((*QueryVsanUpgradeStatus)(nil)).Elem() -} - -type QueryVsanUpgradeStatusRequestType struct { - This ManagedObjectReference `xml:"_this"` - Cluster ManagedObjectReference `xml:"cluster"` -} - -func init() { - t["QueryVsanUpgradeStatusRequestType"] = reflect.TypeOf((*QueryVsanUpgradeStatusRequestType)(nil)).Elem() -} - -type QueryVsanUpgradeStatusResponse struct { - Returnval VsanUpgradeSystemUpgradeStatus `xml:"returnval"` -} - -type QuestionPending struct { - InvalidState - - Text string `xml:"text"` -} - -func init() { - t["QuestionPending"] = reflect.TypeOf((*QuestionPending)(nil)).Elem() -} - -type QuestionPendingFault QuestionPending - -func init() { - t["QuestionPendingFault"] = reflect.TypeOf((*QuestionPendingFault)(nil)).Elem() -} - -type QuiesceDatastoreIOForHAFailed struct { - ResourceInUse - - Host ManagedObjectReference `xml:"host"` - HostName string `xml:"hostName"` - Ds ManagedObjectReference `xml:"ds"` - DsName string `xml:"dsName"` -} - -func init() { - t["QuiesceDatastoreIOForHAFailed"] = reflect.TypeOf((*QuiesceDatastoreIOForHAFailed)(nil)).Elem() -} - -type QuiesceDatastoreIOForHAFailedFault QuiesceDatastoreIOForHAFailed - -func init() { - t["QuiesceDatastoreIOForHAFailedFault"] = reflect.TypeOf((*QuiesceDatastoreIOForHAFailedFault)(nil)).Elem() -} - -type RDMConversionNotSupported struct { - MigrationFault - - Device string `xml:"device"` -} - -func init() { - t["RDMConversionNotSupported"] = reflect.TypeOf((*RDMConversionNotSupported)(nil)).Elem() -} - -type RDMConversionNotSupportedFault RDMConversionNotSupported - -func init() { - t["RDMConversionNotSupportedFault"] = reflect.TypeOf((*RDMConversionNotSupportedFault)(nil)).Elem() -} - -type RDMNotPreserved struct { - MigrationFault - - Device string `xml:"device"` -} - -func init() { - t["RDMNotPreserved"] = reflect.TypeOf((*RDMNotPreserved)(nil)).Elem() -} - -type RDMNotPreservedFault RDMNotPreserved - -func init() { - t["RDMNotPreservedFault"] = reflect.TypeOf((*RDMNotPreservedFault)(nil)).Elem() -} - -type RDMNotSupported struct { - DeviceNotSupported -} - -func init() { - t["RDMNotSupported"] = reflect.TypeOf((*RDMNotSupported)(nil)).Elem() -} - -type RDMNotSupportedFault BaseRDMNotSupported - -func init() { - t["RDMNotSupportedFault"] = reflect.TypeOf((*RDMNotSupportedFault)(nil)).Elem() -} - -type RDMNotSupportedOnDatastore struct { - VmConfigFault - - Device string `xml:"device"` - Datastore ManagedObjectReference `xml:"datastore"` - DatastoreName string `xml:"datastoreName"` -} - -func init() { - t["RDMNotSupportedOnDatastore"] = reflect.TypeOf((*RDMNotSupportedOnDatastore)(nil)).Elem() -} - -type RDMNotSupportedOnDatastoreFault RDMNotSupportedOnDatastore - -func init() { - t["RDMNotSupportedOnDatastoreFault"] = reflect.TypeOf((*RDMNotSupportedOnDatastoreFault)(nil)).Elem() -} - -type RDMPointsToInaccessibleDisk struct { - CannotAccessVmDisk -} - -func init() { - t["RDMPointsToInaccessibleDisk"] = reflect.TypeOf((*RDMPointsToInaccessibleDisk)(nil)).Elem() -} - -type RDMPointsToInaccessibleDiskFault RDMPointsToInaccessibleDisk - -func init() { - t["RDMPointsToInaccessibleDiskFault"] = reflect.TypeOf((*RDMPointsToInaccessibleDiskFault)(nil)).Elem() -} - -type RawDiskNotSupported struct { - DeviceNotSupported -} - -func init() { - t["RawDiskNotSupported"] = reflect.TypeOf((*RawDiskNotSupported)(nil)).Elem() -} - -type RawDiskNotSupportedFault RawDiskNotSupported - -func init() { - t["RawDiskNotSupportedFault"] = reflect.TypeOf((*RawDiskNotSupportedFault)(nil)).Elem() -} - -type ReadEnvironmentVariableInGuest ReadEnvironmentVariableInGuestRequestType - -func init() { - t["ReadEnvironmentVariableInGuest"] = reflect.TypeOf((*ReadEnvironmentVariableInGuest)(nil)).Elem() -} - -type ReadEnvironmentVariableInGuestRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm ManagedObjectReference `xml:"vm"` - Auth BaseGuestAuthentication `xml:"auth,typeattr"` - Names []string `xml:"names,omitempty"` -} - -func init() { - t["ReadEnvironmentVariableInGuestRequestType"] = reflect.TypeOf((*ReadEnvironmentVariableInGuestRequestType)(nil)).Elem() -} - -type ReadEnvironmentVariableInGuestResponse struct { - Returnval []string `xml:"returnval,omitempty"` -} - -type ReadHostResourcePoolTreeFailed struct { - HostConnectFault -} - -func init() { - t["ReadHostResourcePoolTreeFailed"] = reflect.TypeOf((*ReadHostResourcePoolTreeFailed)(nil)).Elem() -} - -type ReadHostResourcePoolTreeFailedFault ReadHostResourcePoolTreeFailed - -func init() { - t["ReadHostResourcePoolTreeFailedFault"] = reflect.TypeOf((*ReadHostResourcePoolTreeFailedFault)(nil)).Elem() -} - -type ReadNextEvents ReadNextEventsRequestType - -func init() { - t["ReadNextEvents"] = reflect.TypeOf((*ReadNextEvents)(nil)).Elem() -} - -type ReadNextEventsRequestType struct { - This ManagedObjectReference `xml:"_this"` - MaxCount int32 `xml:"maxCount"` -} - -func init() { - t["ReadNextEventsRequestType"] = reflect.TypeOf((*ReadNextEventsRequestType)(nil)).Elem() -} - -type ReadNextEventsResponse struct { - Returnval []BaseEvent `xml:"returnval,omitempty,typeattr"` -} - -type ReadNextTasks ReadNextTasksRequestType - -func init() { - t["ReadNextTasks"] = reflect.TypeOf((*ReadNextTasks)(nil)).Elem() -} - -type ReadNextTasksRequestType struct { - This ManagedObjectReference `xml:"_this"` - MaxCount int32 `xml:"maxCount"` -} - -func init() { - t["ReadNextTasksRequestType"] = reflect.TypeOf((*ReadNextTasksRequestType)(nil)).Elem() -} - -type ReadNextTasksResponse struct { - Returnval []TaskInfo `xml:"returnval,omitempty"` -} - -type ReadOnlyDisksWithLegacyDestination struct { - MigrationFault - - RoDiskCount int32 `xml:"roDiskCount"` - TimeoutDanger bool `xml:"timeoutDanger"` -} - -func init() { - t["ReadOnlyDisksWithLegacyDestination"] = reflect.TypeOf((*ReadOnlyDisksWithLegacyDestination)(nil)).Elem() -} - -type ReadOnlyDisksWithLegacyDestinationFault ReadOnlyDisksWithLegacyDestination - -func init() { - t["ReadOnlyDisksWithLegacyDestinationFault"] = reflect.TypeOf((*ReadOnlyDisksWithLegacyDestinationFault)(nil)).Elem() -} - -type ReadPreviousEvents ReadPreviousEventsRequestType - -func init() { - t["ReadPreviousEvents"] = reflect.TypeOf((*ReadPreviousEvents)(nil)).Elem() -} - -type ReadPreviousEventsRequestType struct { - This ManagedObjectReference `xml:"_this"` - MaxCount int32 `xml:"maxCount"` -} - -func init() { - t["ReadPreviousEventsRequestType"] = reflect.TypeOf((*ReadPreviousEventsRequestType)(nil)).Elem() -} - -type ReadPreviousEventsResponse struct { - Returnval []BaseEvent `xml:"returnval,omitempty,typeattr"` -} - -type ReadPreviousTasks ReadPreviousTasksRequestType - -func init() { - t["ReadPreviousTasks"] = reflect.TypeOf((*ReadPreviousTasks)(nil)).Elem() -} - -type ReadPreviousTasksRequestType struct { - This ManagedObjectReference `xml:"_this"` - MaxCount int32 `xml:"maxCount"` -} - -func init() { - t["ReadPreviousTasksRequestType"] = reflect.TypeOf((*ReadPreviousTasksRequestType)(nil)).Elem() -} - -type ReadPreviousTasksResponse struct { - Returnval []TaskInfo `xml:"returnval,omitempty"` -} - -type RebootGuest RebootGuestRequestType - -func init() { - t["RebootGuest"] = reflect.TypeOf((*RebootGuest)(nil)).Elem() -} - -type RebootGuestRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["RebootGuestRequestType"] = reflect.TypeOf((*RebootGuestRequestType)(nil)).Elem() -} - -type RebootGuestResponse struct { -} - -type RebootHostRequestType struct { - This ManagedObjectReference `xml:"_this"` - Force bool `xml:"force"` -} - -func init() { - t["RebootHostRequestType"] = reflect.TypeOf((*RebootHostRequestType)(nil)).Elem() -} - -type RebootHost_Task RebootHostRequestType - -func init() { - t["RebootHost_Task"] = reflect.TypeOf((*RebootHost_Task)(nil)).Elem() -} - -type RebootHost_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type RebootRequired struct { - VimFault - - Patch string `xml:"patch,omitempty"` -} - -func init() { - t["RebootRequired"] = reflect.TypeOf((*RebootRequired)(nil)).Elem() -} - -type RebootRequiredFault RebootRequired - -func init() { - t["RebootRequiredFault"] = reflect.TypeOf((*RebootRequiredFault)(nil)).Elem() -} - -type RecommendDatastores RecommendDatastoresRequestType - -func init() { - t["RecommendDatastores"] = reflect.TypeOf((*RecommendDatastores)(nil)).Elem() -} - -type RecommendDatastoresRequestType struct { - This ManagedObjectReference `xml:"_this"` - StorageSpec StoragePlacementSpec `xml:"storageSpec"` -} - -func init() { - t["RecommendDatastoresRequestType"] = reflect.TypeOf((*RecommendDatastoresRequestType)(nil)).Elem() -} - -type RecommendDatastoresResponse struct { - Returnval StoragePlacementResult `xml:"returnval"` -} - -type RecommendHostsForVm RecommendHostsForVmRequestType - -func init() { - t["RecommendHostsForVm"] = reflect.TypeOf((*RecommendHostsForVm)(nil)).Elem() -} - -type RecommendHostsForVmRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm ManagedObjectReference `xml:"vm"` - Pool *ManagedObjectReference `xml:"pool,omitempty"` -} - -func init() { - t["RecommendHostsForVmRequestType"] = reflect.TypeOf((*RecommendHostsForVmRequestType)(nil)).Elem() -} - -type RecommendHostsForVmResponse struct { - Returnval []ClusterHostRecommendation `xml:"returnval,omitempty"` -} - -type RecommissionVsanNodeRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["RecommissionVsanNodeRequestType"] = reflect.TypeOf((*RecommissionVsanNodeRequestType)(nil)).Elem() -} - -type RecommissionVsanNode_Task RecommissionVsanNodeRequestType - -func init() { - t["RecommissionVsanNode_Task"] = reflect.TypeOf((*RecommissionVsanNode_Task)(nil)).Elem() -} - -type RecommissionVsanNode_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ReconcileDatastoreInventoryRequestType struct { - This ManagedObjectReference `xml:"_this"` - Datastore ManagedObjectReference `xml:"datastore"` -} - -func init() { - t["ReconcileDatastoreInventoryRequestType"] = reflect.TypeOf((*ReconcileDatastoreInventoryRequestType)(nil)).Elem() -} - -type ReconcileDatastoreInventory_Task ReconcileDatastoreInventoryRequestType - -func init() { - t["ReconcileDatastoreInventory_Task"] = reflect.TypeOf((*ReconcileDatastoreInventory_Task)(nil)).Elem() -} - -type ReconcileDatastoreInventory_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ReconfigVMRequestType struct { - This ManagedObjectReference `xml:"_this"` - Spec VirtualMachineConfigSpec `xml:"spec"` -} - -func init() { - t["ReconfigVMRequestType"] = reflect.TypeOf((*ReconfigVMRequestType)(nil)).Elem() -} - -type ReconfigVM_Task ReconfigVMRequestType - -func init() { - t["ReconfigVM_Task"] = reflect.TypeOf((*ReconfigVM_Task)(nil)).Elem() -} - -type ReconfigVM_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ReconfigurationSatisfiable ReconfigurationSatisfiableRequestType - -func init() { - t["ReconfigurationSatisfiable"] = reflect.TypeOf((*ReconfigurationSatisfiable)(nil)).Elem() -} - -type ReconfigurationSatisfiableRequestType struct { - This ManagedObjectReference `xml:"_this"` - Pcbs []VsanPolicyChangeBatch `xml:"pcbs"` - IgnoreSatisfiability *bool `xml:"ignoreSatisfiability"` -} - -func init() { - t["ReconfigurationSatisfiableRequestType"] = reflect.TypeOf((*ReconfigurationSatisfiableRequestType)(nil)).Elem() -} - -type ReconfigurationSatisfiableResponse struct { - Returnval []VsanPolicySatisfiability `xml:"returnval"` -} - -type ReconfigureAlarm ReconfigureAlarmRequestType - -func init() { - t["ReconfigureAlarm"] = reflect.TypeOf((*ReconfigureAlarm)(nil)).Elem() -} - -type ReconfigureAlarmRequestType struct { - This ManagedObjectReference `xml:"_this"` - Spec BaseAlarmSpec `xml:"spec,typeattr"` -} - -func init() { - t["ReconfigureAlarmRequestType"] = reflect.TypeOf((*ReconfigureAlarmRequestType)(nil)).Elem() -} - -type ReconfigureAlarmResponse struct { -} - -type ReconfigureAutostart ReconfigureAutostartRequestType - -func init() { - t["ReconfigureAutostart"] = reflect.TypeOf((*ReconfigureAutostart)(nil)).Elem() -} - -type ReconfigureAutostartRequestType struct { - This ManagedObjectReference `xml:"_this"` - Spec HostAutoStartManagerConfig `xml:"spec"` -} - -func init() { - t["ReconfigureAutostartRequestType"] = reflect.TypeOf((*ReconfigureAutostartRequestType)(nil)).Elem() -} - -type ReconfigureAutostartResponse struct { -} - -type ReconfigureClusterRequestType struct { - This ManagedObjectReference `xml:"_this"` - Spec ClusterConfigSpec `xml:"spec"` - Modify bool `xml:"modify"` -} - -func init() { - t["ReconfigureClusterRequestType"] = reflect.TypeOf((*ReconfigureClusterRequestType)(nil)).Elem() -} - -type ReconfigureCluster_Task ReconfigureClusterRequestType - -func init() { - t["ReconfigureCluster_Task"] = reflect.TypeOf((*ReconfigureCluster_Task)(nil)).Elem() -} - -type ReconfigureCluster_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ReconfigureComputeResourceRequestType struct { - This ManagedObjectReference `xml:"_this"` - Spec BaseComputeResourceConfigSpec `xml:"spec,typeattr"` - Modify bool `xml:"modify"` -} - -func init() { - t["ReconfigureComputeResourceRequestType"] = reflect.TypeOf((*ReconfigureComputeResourceRequestType)(nil)).Elem() -} - -type ReconfigureComputeResource_Task ReconfigureComputeResourceRequestType - -func init() { - t["ReconfigureComputeResource_Task"] = reflect.TypeOf((*ReconfigureComputeResource_Task)(nil)).Elem() -} - -type ReconfigureComputeResource_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ReconfigureDVPortRequestType struct { - This ManagedObjectReference `xml:"_this"` - Port []DVPortConfigSpec `xml:"port"` -} - -func init() { - t["ReconfigureDVPortRequestType"] = reflect.TypeOf((*ReconfigureDVPortRequestType)(nil)).Elem() -} - -type ReconfigureDVPort_Task ReconfigureDVPortRequestType - -func init() { - t["ReconfigureDVPort_Task"] = reflect.TypeOf((*ReconfigureDVPort_Task)(nil)).Elem() -} - -type ReconfigureDVPort_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ReconfigureDVPortgroupRequestType struct { - This ManagedObjectReference `xml:"_this"` - Spec DVPortgroupConfigSpec `xml:"spec"` -} - -func init() { - t["ReconfigureDVPortgroupRequestType"] = reflect.TypeOf((*ReconfigureDVPortgroupRequestType)(nil)).Elem() -} - -type ReconfigureDVPortgroup_Task ReconfigureDVPortgroupRequestType - -func init() { - t["ReconfigureDVPortgroup_Task"] = reflect.TypeOf((*ReconfigureDVPortgroup_Task)(nil)).Elem() -} - -type ReconfigureDVPortgroup_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ReconfigureDatacenterRequestType struct { - This ManagedObjectReference `xml:"_this"` - Spec DatacenterConfigSpec `xml:"spec"` - Modify bool `xml:"modify"` -} - -func init() { - t["ReconfigureDatacenterRequestType"] = reflect.TypeOf((*ReconfigureDatacenterRequestType)(nil)).Elem() -} - -type ReconfigureDatacenter_Task ReconfigureDatacenterRequestType - -func init() { - t["ReconfigureDatacenter_Task"] = reflect.TypeOf((*ReconfigureDatacenter_Task)(nil)).Elem() -} - -type ReconfigureDatacenter_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ReconfigureDomObject ReconfigureDomObjectRequestType - -func init() { - t["ReconfigureDomObject"] = reflect.TypeOf((*ReconfigureDomObject)(nil)).Elem() -} - -type ReconfigureDomObjectRequestType struct { - This ManagedObjectReference `xml:"_this"` - Uuid string `xml:"uuid"` - Policy string `xml:"policy"` -} - -func init() { - t["ReconfigureDomObjectRequestType"] = reflect.TypeOf((*ReconfigureDomObjectRequestType)(nil)).Elem() -} - -type ReconfigureDomObjectResponse struct { -} - -type ReconfigureDvsRequestType struct { - This ManagedObjectReference `xml:"_this"` - Spec BaseDVSConfigSpec `xml:"spec,typeattr"` -} - -func init() { - t["ReconfigureDvsRequestType"] = reflect.TypeOf((*ReconfigureDvsRequestType)(nil)).Elem() -} - -type ReconfigureDvs_Task ReconfigureDvsRequestType - -func init() { - t["ReconfigureDvs_Task"] = reflect.TypeOf((*ReconfigureDvs_Task)(nil)).Elem() -} - -type ReconfigureDvs_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ReconfigureHostForDASRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["ReconfigureHostForDASRequestType"] = reflect.TypeOf((*ReconfigureHostForDASRequestType)(nil)).Elem() -} - -type ReconfigureHostForDAS_Task ReconfigureHostForDASRequestType - -func init() { - t["ReconfigureHostForDAS_Task"] = reflect.TypeOf((*ReconfigureHostForDAS_Task)(nil)).Elem() -} - -type ReconfigureHostForDAS_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ReconfigureScheduledTask ReconfigureScheduledTaskRequestType - -func init() { - t["ReconfigureScheduledTask"] = reflect.TypeOf((*ReconfigureScheduledTask)(nil)).Elem() -} - -type ReconfigureScheduledTaskRequestType struct { - This ManagedObjectReference `xml:"_this"` - Spec BaseScheduledTaskSpec `xml:"spec,typeattr"` -} - -func init() { - t["ReconfigureScheduledTaskRequestType"] = reflect.TypeOf((*ReconfigureScheduledTaskRequestType)(nil)).Elem() -} - -type ReconfigureScheduledTaskResponse struct { -} - -type ReconfigureServiceConsoleReservation ReconfigureServiceConsoleReservationRequestType - -func init() { - t["ReconfigureServiceConsoleReservation"] = reflect.TypeOf((*ReconfigureServiceConsoleReservation)(nil)).Elem() -} - -type ReconfigureServiceConsoleReservationRequestType struct { - This ManagedObjectReference `xml:"_this"` - CfgBytes int64 `xml:"cfgBytes"` -} - -func init() { - t["ReconfigureServiceConsoleReservationRequestType"] = reflect.TypeOf((*ReconfigureServiceConsoleReservationRequestType)(nil)).Elem() -} - -type ReconfigureServiceConsoleReservationResponse struct { -} - -type ReconfigureSnmpAgent ReconfigureSnmpAgentRequestType - -func init() { - t["ReconfigureSnmpAgent"] = reflect.TypeOf((*ReconfigureSnmpAgent)(nil)).Elem() -} - -type ReconfigureSnmpAgentRequestType struct { - This ManagedObjectReference `xml:"_this"` - Spec HostSnmpConfigSpec `xml:"spec"` -} - -func init() { - t["ReconfigureSnmpAgentRequestType"] = reflect.TypeOf((*ReconfigureSnmpAgentRequestType)(nil)).Elem() -} - -type ReconfigureSnmpAgentResponse struct { -} - -type ReconfigureVirtualMachineReservation ReconfigureVirtualMachineReservationRequestType - -func init() { - t["ReconfigureVirtualMachineReservation"] = reflect.TypeOf((*ReconfigureVirtualMachineReservation)(nil)).Elem() -} - -type ReconfigureVirtualMachineReservationRequestType struct { - This ManagedObjectReference `xml:"_this"` - Spec VirtualMachineMemoryReservationSpec `xml:"spec"` -} - -func init() { - t["ReconfigureVirtualMachineReservationRequestType"] = reflect.TypeOf((*ReconfigureVirtualMachineReservationRequestType)(nil)).Elem() -} - -type ReconfigureVirtualMachineReservationResponse struct { -} - -type ReconnectHostRequestType struct { - This ManagedObjectReference `xml:"_this"` - CnxSpec *HostConnectSpec `xml:"cnxSpec,omitempty"` - ReconnectSpec *HostSystemReconnectSpec `xml:"reconnectSpec,omitempty"` -} - -func init() { - t["ReconnectHostRequestType"] = reflect.TypeOf((*ReconnectHostRequestType)(nil)).Elem() -} - -type ReconnectHost_Task ReconnectHostRequestType - -func init() { - t["ReconnectHost_Task"] = reflect.TypeOf((*ReconnectHost_Task)(nil)).Elem() -} - -type ReconnectHost_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type RecordReplayDisabled struct { - VimFault -} - -func init() { - t["RecordReplayDisabled"] = reflect.TypeOf((*RecordReplayDisabled)(nil)).Elem() -} - -type RecordReplayDisabledFault RecordReplayDisabled - -func init() { - t["RecordReplayDisabledFault"] = reflect.TypeOf((*RecordReplayDisabledFault)(nil)).Elem() -} - -type RecoveryEvent struct { - DvsEvent - - HostName string `xml:"hostName"` - PortKey string `xml:"portKey"` - DvsUuid string `xml:"dvsUuid,omitempty"` - Vnic string `xml:"vnic,omitempty"` -} - -func init() { - t["RecoveryEvent"] = reflect.TypeOf((*RecoveryEvent)(nil)).Elem() -} - -type RectifyDvsHostRequestType struct { - This ManagedObjectReference `xml:"_this"` - Hosts []ManagedObjectReference `xml:"hosts,omitempty"` -} - -func init() { - t["RectifyDvsHostRequestType"] = reflect.TypeOf((*RectifyDvsHostRequestType)(nil)).Elem() -} - -type RectifyDvsHost_Task RectifyDvsHostRequestType - -func init() { - t["RectifyDvsHost_Task"] = reflect.TypeOf((*RectifyDvsHost_Task)(nil)).Elem() -} - -type RectifyDvsHost_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type RectifyDvsOnHostRequestType struct { - This ManagedObjectReference `xml:"_this"` - Hosts []ManagedObjectReference `xml:"hosts"` -} - -func init() { - t["RectifyDvsOnHostRequestType"] = reflect.TypeOf((*RectifyDvsOnHostRequestType)(nil)).Elem() -} - -type RectifyDvsOnHost_Task RectifyDvsOnHostRequestType - -func init() { - t["RectifyDvsOnHost_Task"] = reflect.TypeOf((*RectifyDvsOnHost_Task)(nil)).Elem() -} - -type RectifyDvsOnHost_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type RecurrentTaskScheduler struct { - TaskScheduler - - Interval int32 `xml:"interval"` -} - -func init() { - t["RecurrentTaskScheduler"] = reflect.TypeOf((*RecurrentTaskScheduler)(nil)).Elem() -} - -type Refresh RefreshRequestType - -func init() { - t["Refresh"] = reflect.TypeOf((*Refresh)(nil)).Elem() -} - -type RefreshDVPortState RefreshDVPortStateRequestType - -func init() { - t["RefreshDVPortState"] = reflect.TypeOf((*RefreshDVPortState)(nil)).Elem() -} - -type RefreshDVPortStateRequestType struct { - This ManagedObjectReference `xml:"_this"` - PortKeys []string `xml:"portKeys,omitempty"` -} - -func init() { - t["RefreshDVPortStateRequestType"] = reflect.TypeOf((*RefreshDVPortStateRequestType)(nil)).Elem() -} - -type RefreshDVPortStateResponse struct { -} - -type RefreshDatastore RefreshDatastoreRequestType - -func init() { - t["RefreshDatastore"] = reflect.TypeOf((*RefreshDatastore)(nil)).Elem() -} - -type RefreshDatastoreRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["RefreshDatastoreRequestType"] = reflect.TypeOf((*RefreshDatastoreRequestType)(nil)).Elem() -} - -type RefreshDatastoreResponse struct { -} - -type RefreshDatastoreStorageInfo RefreshDatastoreStorageInfoRequestType - -func init() { - t["RefreshDatastoreStorageInfo"] = reflect.TypeOf((*RefreshDatastoreStorageInfo)(nil)).Elem() -} - -type RefreshDatastoreStorageInfoRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["RefreshDatastoreStorageInfoRequestType"] = reflect.TypeOf((*RefreshDatastoreStorageInfoRequestType)(nil)).Elem() -} - -type RefreshDatastoreStorageInfoResponse struct { -} - -type RefreshDateTimeSystem RefreshDateTimeSystemRequestType - -func init() { - t["RefreshDateTimeSystem"] = reflect.TypeOf((*RefreshDateTimeSystem)(nil)).Elem() -} - -type RefreshDateTimeSystemRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["RefreshDateTimeSystemRequestType"] = reflect.TypeOf((*RefreshDateTimeSystemRequestType)(nil)).Elem() -} - -type RefreshDateTimeSystemResponse struct { -} - -type RefreshFirewall RefreshFirewallRequestType - -func init() { - t["RefreshFirewall"] = reflect.TypeOf((*RefreshFirewall)(nil)).Elem() -} - -type RefreshFirewallRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["RefreshFirewallRequestType"] = reflect.TypeOf((*RefreshFirewallRequestType)(nil)).Elem() -} - -type RefreshFirewallResponse struct { -} - -type RefreshGraphicsManager RefreshGraphicsManagerRequestType - -func init() { - t["RefreshGraphicsManager"] = reflect.TypeOf((*RefreshGraphicsManager)(nil)).Elem() -} - -type RefreshGraphicsManagerRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["RefreshGraphicsManagerRequestType"] = reflect.TypeOf((*RefreshGraphicsManagerRequestType)(nil)).Elem() -} - -type RefreshGraphicsManagerResponse struct { -} - -type RefreshHealthStatusSystem RefreshHealthStatusSystemRequestType - -func init() { - t["RefreshHealthStatusSystem"] = reflect.TypeOf((*RefreshHealthStatusSystem)(nil)).Elem() -} - -type RefreshHealthStatusSystemRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["RefreshHealthStatusSystemRequestType"] = reflect.TypeOf((*RefreshHealthStatusSystemRequestType)(nil)).Elem() -} - -type RefreshHealthStatusSystemResponse struct { -} - -type RefreshNetworkSystem RefreshNetworkSystemRequestType - -func init() { - t["RefreshNetworkSystem"] = reflect.TypeOf((*RefreshNetworkSystem)(nil)).Elem() -} - -type RefreshNetworkSystemRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["RefreshNetworkSystemRequestType"] = reflect.TypeOf((*RefreshNetworkSystemRequestType)(nil)).Elem() -} - -type RefreshNetworkSystemResponse struct { -} - -type RefreshRecommendation RefreshRecommendationRequestType - -func init() { - t["RefreshRecommendation"] = reflect.TypeOf((*RefreshRecommendation)(nil)).Elem() -} - -type RefreshRecommendationRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["RefreshRecommendationRequestType"] = reflect.TypeOf((*RefreshRecommendationRequestType)(nil)).Elem() -} - -type RefreshRecommendationResponse struct { -} - -type RefreshRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["RefreshRequestType"] = reflect.TypeOf((*RefreshRequestType)(nil)).Elem() -} - -type RefreshResponse struct { -} - -type RefreshRuntime RefreshRuntimeRequestType - -func init() { - t["RefreshRuntime"] = reflect.TypeOf((*RefreshRuntime)(nil)).Elem() -} - -type RefreshRuntimeRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["RefreshRuntimeRequestType"] = reflect.TypeOf((*RefreshRuntimeRequestType)(nil)).Elem() -} - -type RefreshRuntimeResponse struct { -} - -type RefreshServices RefreshServicesRequestType - -func init() { - t["RefreshServices"] = reflect.TypeOf((*RefreshServices)(nil)).Elem() -} - -type RefreshServicesRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["RefreshServicesRequestType"] = reflect.TypeOf((*RefreshServicesRequestType)(nil)).Elem() -} - -type RefreshServicesResponse struct { -} - -type RefreshStorageDrsRecommendation RefreshStorageDrsRecommendationRequestType - -func init() { - t["RefreshStorageDrsRecommendation"] = reflect.TypeOf((*RefreshStorageDrsRecommendation)(nil)).Elem() -} - -type RefreshStorageDrsRecommendationRequestType struct { - This ManagedObjectReference `xml:"_this"` - Pod ManagedObjectReference `xml:"pod"` -} - -func init() { - t["RefreshStorageDrsRecommendationRequestType"] = reflect.TypeOf((*RefreshStorageDrsRecommendationRequestType)(nil)).Elem() -} - -type RefreshStorageDrsRecommendationResponse struct { -} - -type RefreshStorageDrsRecommendationsForPodRequestType struct { - This ManagedObjectReference `xml:"_this"` - Pod ManagedObjectReference `xml:"pod"` -} - -func init() { - t["RefreshStorageDrsRecommendationsForPodRequestType"] = reflect.TypeOf((*RefreshStorageDrsRecommendationsForPodRequestType)(nil)).Elem() -} - -type RefreshStorageDrsRecommendationsForPod_Task RefreshStorageDrsRecommendationsForPodRequestType - -func init() { - t["RefreshStorageDrsRecommendationsForPod_Task"] = reflect.TypeOf((*RefreshStorageDrsRecommendationsForPod_Task)(nil)).Elem() -} - -type RefreshStorageDrsRecommendationsForPod_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type RefreshStorageInfo RefreshStorageInfoRequestType - -func init() { - t["RefreshStorageInfo"] = reflect.TypeOf((*RefreshStorageInfo)(nil)).Elem() -} - -type RefreshStorageInfoRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["RefreshStorageInfoRequestType"] = reflect.TypeOf((*RefreshStorageInfoRequestType)(nil)).Elem() -} - -type RefreshStorageInfoResponse struct { -} - -type RefreshStorageSystem RefreshStorageSystemRequestType - -func init() { - t["RefreshStorageSystem"] = reflect.TypeOf((*RefreshStorageSystem)(nil)).Elem() -} - -type RefreshStorageSystemRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["RefreshStorageSystemRequestType"] = reflect.TypeOf((*RefreshStorageSystemRequestType)(nil)).Elem() -} - -type RefreshStorageSystemResponse struct { -} - -type RegisterChildVMRequestType struct { - This ManagedObjectReference `xml:"_this"` - Path string `xml:"path"` - Name string `xml:"name,omitempty"` - Host *ManagedObjectReference `xml:"host,omitempty"` -} - -func init() { - t["RegisterChildVMRequestType"] = reflect.TypeOf((*RegisterChildVMRequestType)(nil)).Elem() -} - -type RegisterChildVM_Task RegisterChildVMRequestType - -func init() { - t["RegisterChildVM_Task"] = reflect.TypeOf((*RegisterChildVM_Task)(nil)).Elem() -} - -type RegisterChildVM_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type RegisterDisk RegisterDiskRequestType - -func init() { - t["RegisterDisk"] = reflect.TypeOf((*RegisterDisk)(nil)).Elem() -} - -type RegisterDiskRequestType struct { - This ManagedObjectReference `xml:"_this"` - Path string `xml:"path"` - Name string `xml:"name,omitempty"` -} - -func init() { - t["RegisterDiskRequestType"] = reflect.TypeOf((*RegisterDiskRequestType)(nil)).Elem() -} - -type RegisterDiskResponse struct { - Returnval VStorageObject `xml:"returnval"` -} - -type RegisterExtension RegisterExtensionRequestType - -func init() { - t["RegisterExtension"] = reflect.TypeOf((*RegisterExtension)(nil)).Elem() -} - -type RegisterExtensionRequestType struct { - This ManagedObjectReference `xml:"_this"` - Extension Extension `xml:"extension"` -} - -func init() { - t["RegisterExtensionRequestType"] = reflect.TypeOf((*RegisterExtensionRequestType)(nil)).Elem() -} - -type RegisterExtensionResponse struct { -} - -type RegisterHealthUpdateProvider RegisterHealthUpdateProviderRequestType - -func init() { - t["RegisterHealthUpdateProvider"] = reflect.TypeOf((*RegisterHealthUpdateProvider)(nil)).Elem() -} - -type RegisterHealthUpdateProviderRequestType struct { - This ManagedObjectReference `xml:"_this"` - Name string `xml:"name"` - HealthUpdateInfo []HealthUpdateInfo `xml:"healthUpdateInfo,omitempty"` -} - -func init() { - t["RegisterHealthUpdateProviderRequestType"] = reflect.TypeOf((*RegisterHealthUpdateProviderRequestType)(nil)).Elem() -} - -type RegisterHealthUpdateProviderResponse struct { - Returnval string `xml:"returnval"` -} - -type RegisterKmipServer RegisterKmipServerRequestType - -func init() { - t["RegisterKmipServer"] = reflect.TypeOf((*RegisterKmipServer)(nil)).Elem() -} - -type RegisterKmipServerRequestType struct { - This ManagedObjectReference `xml:"_this"` - Server KmipServerSpec `xml:"server"` -} - -func init() { - t["RegisterKmipServerRequestType"] = reflect.TypeOf((*RegisterKmipServerRequestType)(nil)).Elem() -} - -type RegisterKmipServerResponse struct { -} - -type RegisterKmsCluster RegisterKmsClusterRequestType - -func init() { - t["RegisterKmsCluster"] = reflect.TypeOf((*RegisterKmsCluster)(nil)).Elem() -} - -type RegisterKmsClusterRequestType struct { - This ManagedObjectReference `xml:"_this"` - ClusterId KeyProviderId `xml:"clusterId"` - ManagementType string `xml:"managementType,omitempty"` -} - -func init() { - t["RegisterKmsClusterRequestType"] = reflect.TypeOf((*RegisterKmsClusterRequestType)(nil)).Elem() -} - -type RegisterKmsClusterResponse struct { -} - -type RegisterVMRequestType struct { - This ManagedObjectReference `xml:"_this"` - Path string `xml:"path"` - Name string `xml:"name,omitempty"` - AsTemplate bool `xml:"asTemplate"` - Pool *ManagedObjectReference `xml:"pool,omitempty"` - Host *ManagedObjectReference `xml:"host,omitempty"` -} - -func init() { - t["RegisterVMRequestType"] = reflect.TypeOf((*RegisterVMRequestType)(nil)).Elem() -} - -type RegisterVM_Task RegisterVMRequestType - -func init() { - t["RegisterVM_Task"] = reflect.TypeOf((*RegisterVM_Task)(nil)).Elem() -} - -type RegisterVM_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type Relation struct { - DynamicData - - Constraint string `xml:"constraint,omitempty"` - Name string `xml:"name"` - Version string `xml:"version,omitempty"` -} - -func init() { - t["Relation"] = reflect.TypeOf((*Relation)(nil)).Elem() -} - -type ReleaseCredentialsInGuest ReleaseCredentialsInGuestRequestType - -func init() { - t["ReleaseCredentialsInGuest"] = reflect.TypeOf((*ReleaseCredentialsInGuest)(nil)).Elem() -} - -type ReleaseCredentialsInGuestRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm ManagedObjectReference `xml:"vm"` - Auth BaseGuestAuthentication `xml:"auth,typeattr"` -} - -func init() { - t["ReleaseCredentialsInGuestRequestType"] = reflect.TypeOf((*ReleaseCredentialsInGuestRequestType)(nil)).Elem() -} - -type ReleaseCredentialsInGuestResponse struct { -} - -type ReleaseIpAllocation ReleaseIpAllocationRequestType - -func init() { - t["ReleaseIpAllocation"] = reflect.TypeOf((*ReleaseIpAllocation)(nil)).Elem() -} - -type ReleaseIpAllocationRequestType struct { - This ManagedObjectReference `xml:"_this"` - Dc ManagedObjectReference `xml:"dc"` - PoolId int32 `xml:"poolId"` - AllocationId string `xml:"allocationId"` -} - -func init() { - t["ReleaseIpAllocationRequestType"] = reflect.TypeOf((*ReleaseIpAllocationRequestType)(nil)).Elem() -} - -type ReleaseIpAllocationResponse struct { -} - -type ReleaseManagedSnapshot ReleaseManagedSnapshotRequestType - -func init() { - t["ReleaseManagedSnapshot"] = reflect.TypeOf((*ReleaseManagedSnapshot)(nil)).Elem() -} - -type ReleaseManagedSnapshotRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vdisk string `xml:"vdisk"` - Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"` -} - -func init() { - t["ReleaseManagedSnapshotRequestType"] = reflect.TypeOf((*ReleaseManagedSnapshotRequestType)(nil)).Elem() -} - -type ReleaseManagedSnapshotResponse struct { -} - -type Reload ReloadRequestType - -func init() { - t["Reload"] = reflect.TypeOf((*Reload)(nil)).Elem() -} - -type ReloadRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["ReloadRequestType"] = reflect.TypeOf((*ReloadRequestType)(nil)).Elem() -} - -type ReloadResponse struct { -} - -type RelocateVMRequestType struct { - This ManagedObjectReference `xml:"_this"` - Spec VirtualMachineRelocateSpec `xml:"spec"` - Priority VirtualMachineMovePriority `xml:"priority,omitempty"` -} - -func init() { - t["RelocateVMRequestType"] = reflect.TypeOf((*RelocateVMRequestType)(nil)).Elem() -} - -type RelocateVM_Task RelocateVMRequestType - -func init() { - t["RelocateVM_Task"] = reflect.TypeOf((*RelocateVM_Task)(nil)).Elem() -} - -type RelocateVM_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type RelocateVStorageObjectRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id ID `xml:"id"` - Datastore ManagedObjectReference `xml:"datastore"` - Spec VslmRelocateSpec `xml:"spec"` -} - -func init() { - t["RelocateVStorageObjectRequestType"] = reflect.TypeOf((*RelocateVStorageObjectRequestType)(nil)).Elem() -} - -type RelocateVStorageObject_Task RelocateVStorageObjectRequestType - -func init() { - t["RelocateVStorageObject_Task"] = reflect.TypeOf((*RelocateVStorageObject_Task)(nil)).Elem() -} - -type RelocateVStorageObject_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type RemoteDeviceNotSupported struct { - DeviceNotSupported -} - -func init() { - t["RemoteDeviceNotSupported"] = reflect.TypeOf((*RemoteDeviceNotSupported)(nil)).Elem() -} - -type RemoteDeviceNotSupportedFault RemoteDeviceNotSupported - -func init() { - t["RemoteDeviceNotSupportedFault"] = reflect.TypeOf((*RemoteDeviceNotSupportedFault)(nil)).Elem() -} - -type RemoteTSMEnabledEvent struct { - HostEvent -} - -func init() { - t["RemoteTSMEnabledEvent"] = reflect.TypeOf((*RemoteTSMEnabledEvent)(nil)).Elem() -} - -type RemoveAlarm RemoveAlarmRequestType - -func init() { - t["RemoveAlarm"] = reflect.TypeOf((*RemoveAlarm)(nil)).Elem() -} - -type RemoveAlarmRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["RemoveAlarmRequestType"] = reflect.TypeOf((*RemoveAlarmRequestType)(nil)).Elem() -} - -type RemoveAlarmResponse struct { -} - -type RemoveAllSnapshotsRequestType struct { - This ManagedObjectReference `xml:"_this"` - Consolidate *bool `xml:"consolidate"` -} - -func init() { - t["RemoveAllSnapshotsRequestType"] = reflect.TypeOf((*RemoveAllSnapshotsRequestType)(nil)).Elem() -} - -type RemoveAllSnapshots_Task RemoveAllSnapshotsRequestType - -func init() { - t["RemoveAllSnapshots_Task"] = reflect.TypeOf((*RemoveAllSnapshots_Task)(nil)).Elem() -} - -type RemoveAllSnapshots_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type RemoveAssignedLicense RemoveAssignedLicenseRequestType - -func init() { - t["RemoveAssignedLicense"] = reflect.TypeOf((*RemoveAssignedLicense)(nil)).Elem() -} - -type RemoveAssignedLicenseRequestType struct { - This ManagedObjectReference `xml:"_this"` - EntityId string `xml:"entityId"` -} - -func init() { - t["RemoveAssignedLicenseRequestType"] = reflect.TypeOf((*RemoveAssignedLicenseRequestType)(nil)).Elem() -} - -type RemoveAssignedLicenseResponse struct { -} - -type RemoveAuthorizationRole RemoveAuthorizationRoleRequestType - -func init() { - t["RemoveAuthorizationRole"] = reflect.TypeOf((*RemoveAuthorizationRole)(nil)).Elem() -} - -type RemoveAuthorizationRoleRequestType struct { - This ManagedObjectReference `xml:"_this"` - RoleId int32 `xml:"roleId"` - FailIfUsed bool `xml:"failIfUsed"` -} - -func init() { - t["RemoveAuthorizationRoleRequestType"] = reflect.TypeOf((*RemoveAuthorizationRoleRequestType)(nil)).Elem() -} - -type RemoveAuthorizationRoleResponse struct { -} - -type RemoveCustomFieldDef RemoveCustomFieldDefRequestType - -func init() { - t["RemoveCustomFieldDef"] = reflect.TypeOf((*RemoveCustomFieldDef)(nil)).Elem() -} - -type RemoveCustomFieldDefRequestType struct { - This ManagedObjectReference `xml:"_this"` - Key int32 `xml:"key"` -} - -func init() { - t["RemoveCustomFieldDefRequestType"] = reflect.TypeOf((*RemoveCustomFieldDefRequestType)(nil)).Elem() -} - -type RemoveCustomFieldDefResponse struct { -} - -type RemoveDatastore RemoveDatastoreRequestType - -func init() { - t["RemoveDatastore"] = reflect.TypeOf((*RemoveDatastore)(nil)).Elem() -} - -type RemoveDatastoreExRequestType struct { - This ManagedObjectReference `xml:"_this"` - Datastore []ManagedObjectReference `xml:"datastore"` -} - -func init() { - t["RemoveDatastoreExRequestType"] = reflect.TypeOf((*RemoveDatastoreExRequestType)(nil)).Elem() -} - -type RemoveDatastoreEx_Task RemoveDatastoreExRequestType - -func init() { - t["RemoveDatastoreEx_Task"] = reflect.TypeOf((*RemoveDatastoreEx_Task)(nil)).Elem() -} - -type RemoveDatastoreEx_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type RemoveDatastoreRequestType struct { - This ManagedObjectReference `xml:"_this"` - Datastore ManagedObjectReference `xml:"datastore"` -} - -func init() { - t["RemoveDatastoreRequestType"] = reflect.TypeOf((*RemoveDatastoreRequestType)(nil)).Elem() -} - -type RemoveDatastoreResponse struct { -} - -type RemoveDiskMappingRequestType struct { - This ManagedObjectReference `xml:"_this"` - Mapping []VsanHostDiskMapping `xml:"mapping"` - MaintenanceSpec *HostMaintenanceSpec `xml:"maintenanceSpec,omitempty"` - Timeout int32 `xml:"timeout,omitempty"` -} - -func init() { - t["RemoveDiskMappingRequestType"] = reflect.TypeOf((*RemoveDiskMappingRequestType)(nil)).Elem() -} - -type RemoveDiskMapping_Task RemoveDiskMappingRequestType - -func init() { - t["RemoveDiskMapping_Task"] = reflect.TypeOf((*RemoveDiskMapping_Task)(nil)).Elem() -} - -type RemoveDiskMapping_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type RemoveDiskRequestType struct { - This ManagedObjectReference `xml:"_this"` - Disk []HostScsiDisk `xml:"disk"` - MaintenanceSpec *HostMaintenanceSpec `xml:"maintenanceSpec,omitempty"` - Timeout int32 `xml:"timeout,omitempty"` -} - -func init() { - t["RemoveDiskRequestType"] = reflect.TypeOf((*RemoveDiskRequestType)(nil)).Elem() -} - -type RemoveDisk_Task RemoveDiskRequestType - -func init() { - t["RemoveDisk_Task"] = reflect.TypeOf((*RemoveDisk_Task)(nil)).Elem() -} - -type RemoveDisk_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type RemoveEntityPermission RemoveEntityPermissionRequestType - -func init() { - t["RemoveEntityPermission"] = reflect.TypeOf((*RemoveEntityPermission)(nil)).Elem() -} - -type RemoveEntityPermissionRequestType struct { - This ManagedObjectReference `xml:"_this"` - Entity ManagedObjectReference `xml:"entity"` - User string `xml:"user"` - IsGroup bool `xml:"isGroup"` -} - -func init() { - t["RemoveEntityPermissionRequestType"] = reflect.TypeOf((*RemoveEntityPermissionRequestType)(nil)).Elem() -} - -type RemoveEntityPermissionResponse struct { -} - -type RemoveFailed struct { - VimFault -} - -func init() { - t["RemoveFailed"] = reflect.TypeOf((*RemoveFailed)(nil)).Elem() -} - -type RemoveFailedFault RemoveFailed - -func init() { - t["RemoveFailedFault"] = reflect.TypeOf((*RemoveFailedFault)(nil)).Elem() -} - -type RemoveFilter RemoveFilterRequestType - -func init() { - t["RemoveFilter"] = reflect.TypeOf((*RemoveFilter)(nil)).Elem() -} - -type RemoveFilterEntities RemoveFilterEntitiesRequestType - -func init() { - t["RemoveFilterEntities"] = reflect.TypeOf((*RemoveFilterEntities)(nil)).Elem() -} - -type RemoveFilterEntitiesRequestType struct { - This ManagedObjectReference `xml:"_this"` - FilterId string `xml:"filterId"` - Entities []ManagedObjectReference `xml:"entities,omitempty"` -} - -func init() { - t["RemoveFilterEntitiesRequestType"] = reflect.TypeOf((*RemoveFilterEntitiesRequestType)(nil)).Elem() -} - -type RemoveFilterEntitiesResponse struct { -} - -type RemoveFilterRequestType struct { - This ManagedObjectReference `xml:"_this"` - FilterId string `xml:"filterId"` -} - -func init() { - t["RemoveFilterRequestType"] = reflect.TypeOf((*RemoveFilterRequestType)(nil)).Elem() -} - -type RemoveFilterResponse struct { -} - -type RemoveGroup RemoveGroupRequestType - -func init() { - t["RemoveGroup"] = reflect.TypeOf((*RemoveGroup)(nil)).Elem() -} - -type RemoveGroupRequestType struct { - This ManagedObjectReference `xml:"_this"` - GroupName string `xml:"groupName"` -} - -func init() { - t["RemoveGroupRequestType"] = reflect.TypeOf((*RemoveGroupRequestType)(nil)).Elem() -} - -type RemoveGroupResponse struct { -} - -type RemoveGuestAlias RemoveGuestAliasRequestType - -func init() { - t["RemoveGuestAlias"] = reflect.TypeOf((*RemoveGuestAlias)(nil)).Elem() -} - -type RemoveGuestAliasByCert RemoveGuestAliasByCertRequestType - -func init() { - t["RemoveGuestAliasByCert"] = reflect.TypeOf((*RemoveGuestAliasByCert)(nil)).Elem() -} - -type RemoveGuestAliasByCertRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm ManagedObjectReference `xml:"vm"` - Auth BaseGuestAuthentication `xml:"auth,typeattr"` - Username string `xml:"username"` - Base64Cert string `xml:"base64Cert"` -} - -func init() { - t["RemoveGuestAliasByCertRequestType"] = reflect.TypeOf((*RemoveGuestAliasByCertRequestType)(nil)).Elem() -} - -type RemoveGuestAliasByCertResponse struct { -} - -type RemoveGuestAliasRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm ManagedObjectReference `xml:"vm"` - Auth BaseGuestAuthentication `xml:"auth,typeattr"` - Username string `xml:"username"` - Base64Cert string `xml:"base64Cert"` - Subject BaseGuestAuthSubject `xml:"subject,typeattr"` -} - -func init() { - t["RemoveGuestAliasRequestType"] = reflect.TypeOf((*RemoveGuestAliasRequestType)(nil)).Elem() -} - -type RemoveGuestAliasResponse struct { -} - -type RemoveInternetScsiSendTargets RemoveInternetScsiSendTargetsRequestType - -func init() { - t["RemoveInternetScsiSendTargets"] = reflect.TypeOf((*RemoveInternetScsiSendTargets)(nil)).Elem() -} - -type RemoveInternetScsiSendTargetsRequestType struct { - This ManagedObjectReference `xml:"_this"` - IScsiHbaDevice string `xml:"iScsiHbaDevice"` - Targets []HostInternetScsiHbaSendTarget `xml:"targets"` - Force *bool `xml:"force"` -} - -func init() { - t["RemoveInternetScsiSendTargetsRequestType"] = reflect.TypeOf((*RemoveInternetScsiSendTargetsRequestType)(nil)).Elem() -} - -type RemoveInternetScsiSendTargetsResponse struct { -} - -type RemoveInternetScsiStaticTargets RemoveInternetScsiStaticTargetsRequestType - -func init() { - t["RemoveInternetScsiStaticTargets"] = reflect.TypeOf((*RemoveInternetScsiStaticTargets)(nil)).Elem() -} - -type RemoveInternetScsiStaticTargetsRequestType struct { - This ManagedObjectReference `xml:"_this"` - IScsiHbaDevice string `xml:"iScsiHbaDevice"` - Targets []HostInternetScsiHbaStaticTarget `xml:"targets"` -} - -func init() { - t["RemoveInternetScsiStaticTargetsRequestType"] = reflect.TypeOf((*RemoveInternetScsiStaticTargetsRequestType)(nil)).Elem() -} - -type RemoveInternetScsiStaticTargetsResponse struct { -} - -type RemoveKey RemoveKeyRequestType - -func init() { - t["RemoveKey"] = reflect.TypeOf((*RemoveKey)(nil)).Elem() -} - -type RemoveKeyRequestType struct { - This ManagedObjectReference `xml:"_this"` - Key CryptoKeyId `xml:"key"` - Force bool `xml:"force"` -} - -func init() { - t["RemoveKeyRequestType"] = reflect.TypeOf((*RemoveKeyRequestType)(nil)).Elem() -} - -type RemoveKeyResponse struct { -} - -type RemoveKeys RemoveKeysRequestType - -func init() { - t["RemoveKeys"] = reflect.TypeOf((*RemoveKeys)(nil)).Elem() -} - -type RemoveKeysRequestType struct { - This ManagedObjectReference `xml:"_this"` - Keys []CryptoKeyId `xml:"keys,omitempty"` - Force bool `xml:"force"` -} - -func init() { - t["RemoveKeysRequestType"] = reflect.TypeOf((*RemoveKeysRequestType)(nil)).Elem() -} - -type RemoveKeysResponse struct { - Returnval []CryptoKeyResult `xml:"returnval,omitempty"` -} - -type RemoveKmipServer RemoveKmipServerRequestType - -func init() { - t["RemoveKmipServer"] = reflect.TypeOf((*RemoveKmipServer)(nil)).Elem() -} - -type RemoveKmipServerRequestType struct { - This ManagedObjectReference `xml:"_this"` - ClusterId KeyProviderId `xml:"clusterId"` - ServerName string `xml:"serverName"` -} - -func init() { - t["RemoveKmipServerRequestType"] = reflect.TypeOf((*RemoveKmipServerRequestType)(nil)).Elem() -} - -type RemoveKmipServerResponse struct { -} - -type RemoveLicense RemoveLicenseRequestType - -func init() { - t["RemoveLicense"] = reflect.TypeOf((*RemoveLicense)(nil)).Elem() -} - -type RemoveLicenseLabel RemoveLicenseLabelRequestType - -func init() { - t["RemoveLicenseLabel"] = reflect.TypeOf((*RemoveLicenseLabel)(nil)).Elem() -} - -type RemoveLicenseLabelRequestType struct { - This ManagedObjectReference `xml:"_this"` - LicenseKey string `xml:"licenseKey"` - LabelKey string `xml:"labelKey"` -} - -func init() { - t["RemoveLicenseLabelRequestType"] = reflect.TypeOf((*RemoveLicenseLabelRequestType)(nil)).Elem() -} - -type RemoveLicenseLabelResponse struct { -} - -type RemoveLicenseRequestType struct { - This ManagedObjectReference `xml:"_this"` - LicenseKey string `xml:"licenseKey"` -} - -func init() { - t["RemoveLicenseRequestType"] = reflect.TypeOf((*RemoveLicenseRequestType)(nil)).Elem() -} - -type RemoveLicenseResponse struct { -} - -type RemoveMonitoredEntities RemoveMonitoredEntitiesRequestType - -func init() { - t["RemoveMonitoredEntities"] = reflect.TypeOf((*RemoveMonitoredEntities)(nil)).Elem() -} - -type RemoveMonitoredEntitiesRequestType struct { - This ManagedObjectReference `xml:"_this"` - ProviderId string `xml:"providerId"` - Entities []ManagedObjectReference `xml:"entities,omitempty"` -} - -func init() { - t["RemoveMonitoredEntitiesRequestType"] = reflect.TypeOf((*RemoveMonitoredEntitiesRequestType)(nil)).Elem() -} - -type RemoveMonitoredEntitiesResponse struct { -} - -type RemoveNetworkResourcePool RemoveNetworkResourcePoolRequestType - -func init() { - t["RemoveNetworkResourcePool"] = reflect.TypeOf((*RemoveNetworkResourcePool)(nil)).Elem() -} - -type RemoveNetworkResourcePoolRequestType struct { - This ManagedObjectReference `xml:"_this"` - Key []string `xml:"key"` -} - -func init() { - t["RemoveNetworkResourcePoolRequestType"] = reflect.TypeOf((*RemoveNetworkResourcePoolRequestType)(nil)).Elem() -} - -type RemoveNetworkResourcePoolResponse struct { -} - -type RemoveNvmeOverRdmaAdapter RemoveNvmeOverRdmaAdapterRequestType - -func init() { - t["RemoveNvmeOverRdmaAdapter"] = reflect.TypeOf((*RemoveNvmeOverRdmaAdapter)(nil)).Elem() -} - -type RemoveNvmeOverRdmaAdapterRequestType struct { - This ManagedObjectReference `xml:"_this"` - HbaDeviceName string `xml:"hbaDeviceName"` -} - -func init() { - t["RemoveNvmeOverRdmaAdapterRequestType"] = reflect.TypeOf((*RemoveNvmeOverRdmaAdapterRequestType)(nil)).Elem() -} - -type RemoveNvmeOverRdmaAdapterResponse struct { -} - -type RemovePerfInterval RemovePerfIntervalRequestType - -func init() { - t["RemovePerfInterval"] = reflect.TypeOf((*RemovePerfInterval)(nil)).Elem() -} - -type RemovePerfIntervalRequestType struct { - This ManagedObjectReference `xml:"_this"` - SamplePeriod int32 `xml:"samplePeriod"` -} - -func init() { - t["RemovePerfIntervalRequestType"] = reflect.TypeOf((*RemovePerfIntervalRequestType)(nil)).Elem() -} - -type RemovePerfIntervalResponse struct { -} - -type RemovePortGroup RemovePortGroupRequestType - -func init() { - t["RemovePortGroup"] = reflect.TypeOf((*RemovePortGroup)(nil)).Elem() -} - -type RemovePortGroupRequestType struct { - This ManagedObjectReference `xml:"_this"` - PgName string `xml:"pgName"` -} - -func init() { - t["RemovePortGroupRequestType"] = reflect.TypeOf((*RemovePortGroupRequestType)(nil)).Elem() -} - -type RemovePortGroupResponse struct { -} - -type RemoveScheduledTask RemoveScheduledTaskRequestType - -func init() { - t["RemoveScheduledTask"] = reflect.TypeOf((*RemoveScheduledTask)(nil)).Elem() -} - -type RemoveScheduledTaskRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["RemoveScheduledTaskRequestType"] = reflect.TypeOf((*RemoveScheduledTaskRequestType)(nil)).Elem() -} - -type RemoveScheduledTaskResponse struct { -} - -type RemoveServiceConsoleVirtualNic RemoveServiceConsoleVirtualNicRequestType - -func init() { - t["RemoveServiceConsoleVirtualNic"] = reflect.TypeOf((*RemoveServiceConsoleVirtualNic)(nil)).Elem() -} - -type RemoveServiceConsoleVirtualNicRequestType struct { - This ManagedObjectReference `xml:"_this"` - Device string `xml:"device"` -} - -func init() { - t["RemoveServiceConsoleVirtualNicRequestType"] = reflect.TypeOf((*RemoveServiceConsoleVirtualNicRequestType)(nil)).Elem() -} - -type RemoveServiceConsoleVirtualNicResponse struct { -} - -type RemoveSmartCardTrustAnchor RemoveSmartCardTrustAnchorRequestType - -func init() { - t["RemoveSmartCardTrustAnchor"] = reflect.TypeOf((*RemoveSmartCardTrustAnchor)(nil)).Elem() -} - -type RemoveSmartCardTrustAnchorByFingerprint RemoveSmartCardTrustAnchorByFingerprintRequestType - -func init() { - t["RemoveSmartCardTrustAnchorByFingerprint"] = reflect.TypeOf((*RemoveSmartCardTrustAnchorByFingerprint)(nil)).Elem() -} - -type RemoveSmartCardTrustAnchorByFingerprintRequestType struct { - This ManagedObjectReference `xml:"_this"` - Fingerprint string `xml:"fingerprint"` - Digest string `xml:"digest"` -} - -func init() { - t["RemoveSmartCardTrustAnchorByFingerprintRequestType"] = reflect.TypeOf((*RemoveSmartCardTrustAnchorByFingerprintRequestType)(nil)).Elem() -} - -type RemoveSmartCardTrustAnchorByFingerprintResponse struct { -} - -type RemoveSmartCardTrustAnchorRequestType struct { - This ManagedObjectReference `xml:"_this"` - Issuer string `xml:"issuer"` - Serial string `xml:"serial"` -} - -func init() { - t["RemoveSmartCardTrustAnchorRequestType"] = reflect.TypeOf((*RemoveSmartCardTrustAnchorRequestType)(nil)).Elem() -} - -type RemoveSmartCardTrustAnchorResponse struct { -} - -type RemoveSnapshotRequestType struct { - This ManagedObjectReference `xml:"_this"` - RemoveChildren bool `xml:"removeChildren"` - Consolidate *bool `xml:"consolidate"` -} - -func init() { - t["RemoveSnapshotRequestType"] = reflect.TypeOf((*RemoveSnapshotRequestType)(nil)).Elem() -} - -type RemoveSnapshot_Task RemoveSnapshotRequestType - -func init() { - t["RemoveSnapshot_Task"] = reflect.TypeOf((*RemoveSnapshot_Task)(nil)).Elem() -} - -type RemoveSnapshot_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type RemoveSoftwareAdapter RemoveSoftwareAdapterRequestType - -func init() { - t["RemoveSoftwareAdapter"] = reflect.TypeOf((*RemoveSoftwareAdapter)(nil)).Elem() -} - -type RemoveSoftwareAdapterRequestType struct { - This ManagedObjectReference `xml:"_this"` - HbaDeviceName string `xml:"hbaDeviceName"` -} - -func init() { - t["RemoveSoftwareAdapterRequestType"] = reflect.TypeOf((*RemoveSoftwareAdapterRequestType)(nil)).Elem() -} - -type RemoveSoftwareAdapterResponse struct { -} - -type RemoveUser RemoveUserRequestType - -func init() { - t["RemoveUser"] = reflect.TypeOf((*RemoveUser)(nil)).Elem() -} - -type RemoveUserRequestType struct { - This ManagedObjectReference `xml:"_this"` - UserName string `xml:"userName"` -} - -func init() { - t["RemoveUserRequestType"] = reflect.TypeOf((*RemoveUserRequestType)(nil)).Elem() -} - -type RemoveUserResponse struct { -} - -type RemoveVirtualNic RemoveVirtualNicRequestType - -func init() { - t["RemoveVirtualNic"] = reflect.TypeOf((*RemoveVirtualNic)(nil)).Elem() -} - -type RemoveVirtualNicRequestType struct { - This ManagedObjectReference `xml:"_this"` - Device string `xml:"device"` -} - -func init() { - t["RemoveVirtualNicRequestType"] = reflect.TypeOf((*RemoveVirtualNicRequestType)(nil)).Elem() -} - -type RemoveVirtualNicResponse struct { -} - -type RemoveVirtualSwitch RemoveVirtualSwitchRequestType - -func init() { - t["RemoveVirtualSwitch"] = reflect.TypeOf((*RemoveVirtualSwitch)(nil)).Elem() -} - -type RemoveVirtualSwitchRequestType struct { - This ManagedObjectReference `xml:"_this"` - VswitchName string `xml:"vswitchName"` -} - -func init() { - t["RemoveVirtualSwitchRequestType"] = reflect.TypeOf((*RemoveVirtualSwitchRequestType)(nil)).Elem() -} - -type RemoveVirtualSwitchResponse struct { -} - -type RenameCustomFieldDef RenameCustomFieldDefRequestType - -func init() { - t["RenameCustomFieldDef"] = reflect.TypeOf((*RenameCustomFieldDef)(nil)).Elem() -} - -type RenameCustomFieldDefRequestType struct { - This ManagedObjectReference `xml:"_this"` - Key int32 `xml:"key"` - Name string `xml:"name"` -} - -func init() { - t["RenameCustomFieldDefRequestType"] = reflect.TypeOf((*RenameCustomFieldDefRequestType)(nil)).Elem() -} - -type RenameCustomFieldDefResponse struct { -} - -type RenameCustomizationSpec RenameCustomizationSpecRequestType - -func init() { - t["RenameCustomizationSpec"] = reflect.TypeOf((*RenameCustomizationSpec)(nil)).Elem() -} - -type RenameCustomizationSpecRequestType struct { - This ManagedObjectReference `xml:"_this"` - Name string `xml:"name"` - NewName string `xml:"newName"` -} - -func init() { - t["RenameCustomizationSpecRequestType"] = reflect.TypeOf((*RenameCustomizationSpecRequestType)(nil)).Elem() -} - -type RenameCustomizationSpecResponse struct { -} - -type RenameDatastore RenameDatastoreRequestType - -func init() { - t["RenameDatastore"] = reflect.TypeOf((*RenameDatastore)(nil)).Elem() -} - -type RenameDatastoreRequestType struct { - This ManagedObjectReference `xml:"_this"` - NewName string `xml:"newName"` -} - -func init() { - t["RenameDatastoreRequestType"] = reflect.TypeOf((*RenameDatastoreRequestType)(nil)).Elem() -} - -type RenameDatastoreResponse struct { -} - -type RenameRequestType struct { - This ManagedObjectReference `xml:"_this"` - NewName string `xml:"newName"` -} - -func init() { - t["RenameRequestType"] = reflect.TypeOf((*RenameRequestType)(nil)).Elem() -} - -type RenameSnapshot RenameSnapshotRequestType - -func init() { - t["RenameSnapshot"] = reflect.TypeOf((*RenameSnapshot)(nil)).Elem() -} - -type RenameSnapshotRequestType struct { - This ManagedObjectReference `xml:"_this"` - Name string `xml:"name,omitempty"` - Description string `xml:"description,omitempty"` -} - -func init() { - t["RenameSnapshotRequestType"] = reflect.TypeOf((*RenameSnapshotRequestType)(nil)).Elem() -} - -type RenameSnapshotResponse struct { -} - -type RenameVStorageObject RenameVStorageObjectRequestType - -func init() { - t["RenameVStorageObject"] = reflect.TypeOf((*RenameVStorageObject)(nil)).Elem() -} - -type RenameVStorageObjectRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id ID `xml:"id"` - Datastore ManagedObjectReference `xml:"datastore"` - Name string `xml:"name"` -} - -func init() { - t["RenameVStorageObjectRequestType"] = reflect.TypeOf((*RenameVStorageObjectRequestType)(nil)).Elem() -} - -type RenameVStorageObjectResponse struct { -} - -type Rename_Task RenameRequestType - -func init() { - t["Rename_Task"] = reflect.TypeOf((*Rename_Task)(nil)).Elem() -} - -type Rename_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ReplaceCACertificatesAndCRLs ReplaceCACertificatesAndCRLsRequestType - -func init() { - t["ReplaceCACertificatesAndCRLs"] = reflect.TypeOf((*ReplaceCACertificatesAndCRLs)(nil)).Elem() -} - -type ReplaceCACertificatesAndCRLsRequestType struct { - This ManagedObjectReference `xml:"_this"` - CaCert []string `xml:"caCert"` - CaCrl []string `xml:"caCrl,omitempty"` -} - -func init() { - t["ReplaceCACertificatesAndCRLsRequestType"] = reflect.TypeOf((*ReplaceCACertificatesAndCRLsRequestType)(nil)).Elem() -} - -type ReplaceCACertificatesAndCRLsResponse struct { -} - -type ReplaceSmartCardTrustAnchors ReplaceSmartCardTrustAnchorsRequestType - -func init() { - t["ReplaceSmartCardTrustAnchors"] = reflect.TypeOf((*ReplaceSmartCardTrustAnchors)(nil)).Elem() -} - -type ReplaceSmartCardTrustAnchorsRequestType struct { - This ManagedObjectReference `xml:"_this"` - Certs []string `xml:"certs,omitempty"` -} - -func init() { - t["ReplaceSmartCardTrustAnchorsRequestType"] = reflect.TypeOf((*ReplaceSmartCardTrustAnchorsRequestType)(nil)).Elem() -} - -type ReplaceSmartCardTrustAnchorsResponse struct { -} - -type ReplicationConfigFault struct { - ReplicationFault -} - -func init() { - t["ReplicationConfigFault"] = reflect.TypeOf((*ReplicationConfigFault)(nil)).Elem() -} - -type ReplicationConfigFaultFault BaseReplicationConfigFault - -func init() { - t["ReplicationConfigFaultFault"] = reflect.TypeOf((*ReplicationConfigFaultFault)(nil)).Elem() -} - -type ReplicationConfigSpec struct { - DynamicData - - Generation int64 `xml:"generation"` - VmReplicationId string `xml:"vmReplicationId"` - Destination string `xml:"destination"` - Port int32 `xml:"port"` - Rpo int64 `xml:"rpo"` - QuiesceGuestEnabled bool `xml:"quiesceGuestEnabled"` - Paused bool `xml:"paused"` - OppUpdatesEnabled bool `xml:"oppUpdatesEnabled"` - NetCompressionEnabled *bool `xml:"netCompressionEnabled"` - NetEncryptionEnabled *bool `xml:"netEncryptionEnabled"` - EncryptionDestination string `xml:"encryptionDestination,omitempty"` - EncryptionPort int32 `xml:"encryptionPort,omitempty"` - RemoteCertificateThumbprint string `xml:"remoteCertificateThumbprint,omitempty"` - DataSetsReplicationEnabled *bool `xml:"dataSetsReplicationEnabled"` - Disk []ReplicationInfoDiskSettings `xml:"disk,omitempty"` -} - -func init() { - t["ReplicationConfigSpec"] = reflect.TypeOf((*ReplicationConfigSpec)(nil)).Elem() -} - -type ReplicationDiskConfigFault struct { - ReplicationConfigFault - - Reason string `xml:"reason,omitempty"` - VmRef *ManagedObjectReference `xml:"vmRef,omitempty"` - Key int32 `xml:"key,omitempty"` -} - -func init() { - t["ReplicationDiskConfigFault"] = reflect.TypeOf((*ReplicationDiskConfigFault)(nil)).Elem() -} - -type ReplicationDiskConfigFaultFault ReplicationDiskConfigFault - -func init() { - t["ReplicationDiskConfigFaultFault"] = reflect.TypeOf((*ReplicationDiskConfigFaultFault)(nil)).Elem() -} - -type ReplicationFault struct { - VimFault -} - -func init() { - t["ReplicationFault"] = reflect.TypeOf((*ReplicationFault)(nil)).Elem() -} - -type ReplicationFaultFault BaseReplicationFault - -func init() { - t["ReplicationFaultFault"] = reflect.TypeOf((*ReplicationFaultFault)(nil)).Elem() -} - -type ReplicationGroupId struct { - DynamicData - - FaultDomainId FaultDomainId `xml:"faultDomainId"` - DeviceGroupId DeviceGroupId `xml:"deviceGroupId"` -} - -func init() { - t["ReplicationGroupId"] = reflect.TypeOf((*ReplicationGroupId)(nil)).Elem() -} - -type ReplicationIncompatibleWithFT struct { - ReplicationFault -} - -func init() { - t["ReplicationIncompatibleWithFT"] = reflect.TypeOf((*ReplicationIncompatibleWithFT)(nil)).Elem() -} - -type ReplicationIncompatibleWithFTFault ReplicationIncompatibleWithFT - -func init() { - t["ReplicationIncompatibleWithFTFault"] = reflect.TypeOf((*ReplicationIncompatibleWithFTFault)(nil)).Elem() -} - -type ReplicationInfoDiskSettings struct { - DynamicData - - Key int32 `xml:"key"` - DiskReplicationId string `xml:"diskReplicationId"` -} - -func init() { - t["ReplicationInfoDiskSettings"] = reflect.TypeOf((*ReplicationInfoDiskSettings)(nil)).Elem() -} - -type ReplicationInvalidOptions struct { - ReplicationFault - - Options string `xml:"options"` - Entity *ManagedObjectReference `xml:"entity,omitempty"` -} - -func init() { - t["ReplicationInvalidOptions"] = reflect.TypeOf((*ReplicationInvalidOptions)(nil)).Elem() -} - -type ReplicationInvalidOptionsFault ReplicationInvalidOptions - -func init() { - t["ReplicationInvalidOptionsFault"] = reflect.TypeOf((*ReplicationInvalidOptionsFault)(nil)).Elem() -} - -type ReplicationNotSupportedOnHost struct { - ReplicationFault -} - -func init() { - t["ReplicationNotSupportedOnHost"] = reflect.TypeOf((*ReplicationNotSupportedOnHost)(nil)).Elem() -} - -type ReplicationNotSupportedOnHostFault ReplicationNotSupportedOnHost - -func init() { - t["ReplicationNotSupportedOnHostFault"] = reflect.TypeOf((*ReplicationNotSupportedOnHostFault)(nil)).Elem() -} - -type ReplicationSpec struct { - DynamicData - - ReplicationGroupId ReplicationGroupId `xml:"replicationGroupId"` -} - -func init() { - t["ReplicationSpec"] = reflect.TypeOf((*ReplicationSpec)(nil)).Elem() -} - -type ReplicationVmConfigFault struct { - ReplicationConfigFault - - Reason string `xml:"reason,omitempty"` - VmRef *ManagedObjectReference `xml:"vmRef,omitempty"` -} - -func init() { - t["ReplicationVmConfigFault"] = reflect.TypeOf((*ReplicationVmConfigFault)(nil)).Elem() -} - -type ReplicationVmConfigFaultFault ReplicationVmConfigFault - -func init() { - t["ReplicationVmConfigFaultFault"] = reflect.TypeOf((*ReplicationVmConfigFaultFault)(nil)).Elem() -} - -type ReplicationVmFault struct { - ReplicationFault - - Reason string `xml:"reason"` - State string `xml:"state,omitempty"` - InstanceId string `xml:"instanceId,omitempty"` - Vm ManagedObjectReference `xml:"vm"` -} - -func init() { - t["ReplicationVmFault"] = reflect.TypeOf((*ReplicationVmFault)(nil)).Elem() -} - -type ReplicationVmFaultFault BaseReplicationVmFault - -func init() { - t["ReplicationVmFaultFault"] = reflect.TypeOf((*ReplicationVmFaultFault)(nil)).Elem() -} - -type ReplicationVmInProgressFault struct { - ReplicationVmFault - - RequestedActivity string `xml:"requestedActivity"` - InProgressActivity string `xml:"inProgressActivity"` -} - -func init() { - t["ReplicationVmInProgressFault"] = reflect.TypeOf((*ReplicationVmInProgressFault)(nil)).Elem() -} - -type ReplicationVmInProgressFaultFault ReplicationVmInProgressFault - -func init() { - t["ReplicationVmInProgressFaultFault"] = reflect.TypeOf((*ReplicationVmInProgressFaultFault)(nil)).Elem() -} - -type ReplicationVmProgressInfo struct { - DynamicData - - Progress int32 `xml:"progress"` - BytesTransferred int64 `xml:"bytesTransferred"` - BytesToTransfer int64 `xml:"bytesToTransfer"` - ChecksumTotalBytes int64 `xml:"checksumTotalBytes,omitempty"` - ChecksumComparedBytes int64 `xml:"checksumComparedBytes,omitempty"` -} - -func init() { - t["ReplicationVmProgressInfo"] = reflect.TypeOf((*ReplicationVmProgressInfo)(nil)).Elem() -} - -type RequestCanceled struct { - RuntimeFault -} - -func init() { - t["RequestCanceled"] = reflect.TypeOf((*RequestCanceled)(nil)).Elem() -} - -type RequestCanceledFault RequestCanceled - -func init() { - t["RequestCanceledFault"] = reflect.TypeOf((*RequestCanceledFault)(nil)).Elem() -} - -type RescanAllHba RescanAllHbaRequestType - -func init() { - t["RescanAllHba"] = reflect.TypeOf((*RescanAllHba)(nil)).Elem() -} - -type RescanAllHbaRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["RescanAllHbaRequestType"] = reflect.TypeOf((*RescanAllHbaRequestType)(nil)).Elem() -} - -type RescanAllHbaResponse struct { -} - -type RescanHba RescanHbaRequestType - -func init() { - t["RescanHba"] = reflect.TypeOf((*RescanHba)(nil)).Elem() -} - -type RescanHbaRequestType struct { - This ManagedObjectReference `xml:"_this"` - HbaDevice string `xml:"hbaDevice"` -} - -func init() { - t["RescanHbaRequestType"] = reflect.TypeOf((*RescanHbaRequestType)(nil)).Elem() -} - -type RescanHbaResponse struct { -} - -type RescanVffs RescanVffsRequestType - -func init() { - t["RescanVffs"] = reflect.TypeOf((*RescanVffs)(nil)).Elem() -} - -type RescanVffsRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["RescanVffsRequestType"] = reflect.TypeOf((*RescanVffsRequestType)(nil)).Elem() -} - -type RescanVffsResponse struct { -} - -type RescanVmfs RescanVmfsRequestType - -func init() { - t["RescanVmfs"] = reflect.TypeOf((*RescanVmfs)(nil)).Elem() -} - -type RescanVmfsRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["RescanVmfsRequestType"] = reflect.TypeOf((*RescanVmfsRequestType)(nil)).Elem() -} - -type RescanVmfsResponse struct { -} - -type ResetCollector ResetCollectorRequestType - -func init() { - t["ResetCollector"] = reflect.TypeOf((*ResetCollector)(nil)).Elem() -} - -type ResetCollectorRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["ResetCollectorRequestType"] = reflect.TypeOf((*ResetCollectorRequestType)(nil)).Elem() -} - -type ResetCollectorResponse struct { -} - -type ResetCounterLevelMapping ResetCounterLevelMappingRequestType - -func init() { - t["ResetCounterLevelMapping"] = reflect.TypeOf((*ResetCounterLevelMapping)(nil)).Elem() -} - -type ResetCounterLevelMappingRequestType struct { - This ManagedObjectReference `xml:"_this"` - Counters []int32 `xml:"counters"` -} - -func init() { - t["ResetCounterLevelMappingRequestType"] = reflect.TypeOf((*ResetCounterLevelMappingRequestType)(nil)).Elem() -} - -type ResetCounterLevelMappingResponse struct { -} - -type ResetEntityPermissions ResetEntityPermissionsRequestType - -func init() { - t["ResetEntityPermissions"] = reflect.TypeOf((*ResetEntityPermissions)(nil)).Elem() -} - -type ResetEntityPermissionsRequestType struct { - This ManagedObjectReference `xml:"_this"` - Entity ManagedObjectReference `xml:"entity"` - Permission []Permission `xml:"permission,omitempty"` -} - -func init() { - t["ResetEntityPermissionsRequestType"] = reflect.TypeOf((*ResetEntityPermissionsRequestType)(nil)).Elem() -} - -type ResetEntityPermissionsResponse struct { -} - -type ResetFirmwareToFactoryDefaults ResetFirmwareToFactoryDefaultsRequestType - -func init() { - t["ResetFirmwareToFactoryDefaults"] = reflect.TypeOf((*ResetFirmwareToFactoryDefaults)(nil)).Elem() -} - -type ResetFirmwareToFactoryDefaultsRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["ResetFirmwareToFactoryDefaultsRequestType"] = reflect.TypeOf((*ResetFirmwareToFactoryDefaultsRequestType)(nil)).Elem() -} - -type ResetFirmwareToFactoryDefaultsResponse struct { -} - -type ResetGuestInformation ResetGuestInformationRequestType - -func init() { - t["ResetGuestInformation"] = reflect.TypeOf((*ResetGuestInformation)(nil)).Elem() -} - -type ResetGuestInformationRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["ResetGuestInformationRequestType"] = reflect.TypeOf((*ResetGuestInformationRequestType)(nil)).Elem() -} - -type ResetGuestInformationResponse struct { -} - -type ResetListView ResetListViewRequestType - -func init() { - t["ResetListView"] = reflect.TypeOf((*ResetListView)(nil)).Elem() -} - -type ResetListViewFromView ResetListViewFromViewRequestType - -func init() { - t["ResetListViewFromView"] = reflect.TypeOf((*ResetListViewFromView)(nil)).Elem() -} - -type ResetListViewFromViewRequestType struct { - This ManagedObjectReference `xml:"_this"` - View ManagedObjectReference `xml:"view"` -} - -func init() { - t["ResetListViewFromViewRequestType"] = reflect.TypeOf((*ResetListViewFromViewRequestType)(nil)).Elem() -} - -type ResetListViewFromViewResponse struct { -} - -type ResetListViewRequestType struct { - This ManagedObjectReference `xml:"_this"` - Obj []ManagedObjectReference `xml:"obj,omitempty"` -} - -func init() { - t["ResetListViewRequestType"] = reflect.TypeOf((*ResetListViewRequestType)(nil)).Elem() -} - -type ResetListViewResponse struct { - Returnval []ManagedObjectReference `xml:"returnval,omitempty"` -} - -type ResetSystemHealthInfo ResetSystemHealthInfoRequestType - -func init() { - t["ResetSystemHealthInfo"] = reflect.TypeOf((*ResetSystemHealthInfo)(nil)).Elem() -} - -type ResetSystemHealthInfoRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["ResetSystemHealthInfoRequestType"] = reflect.TypeOf((*ResetSystemHealthInfoRequestType)(nil)).Elem() -} - -type ResetSystemHealthInfoResponse struct { -} - -type ResetVMRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["ResetVMRequestType"] = reflect.TypeOf((*ResetVMRequestType)(nil)).Elem() -} - -type ResetVM_Task ResetVMRequestType - -func init() { - t["ResetVM_Task"] = reflect.TypeOf((*ResetVM_Task)(nil)).Elem() -} - -type ResetVM_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ResignatureUnresolvedVmfsVolumeRequestType struct { - This ManagedObjectReference `xml:"_this"` - ResolutionSpec HostUnresolvedVmfsResignatureSpec `xml:"resolutionSpec"` -} - -func init() { - t["ResignatureUnresolvedVmfsVolumeRequestType"] = reflect.TypeOf((*ResignatureUnresolvedVmfsVolumeRequestType)(nil)).Elem() -} - -type ResignatureUnresolvedVmfsVolume_Task ResignatureUnresolvedVmfsVolumeRequestType - -func init() { - t["ResignatureUnresolvedVmfsVolume_Task"] = reflect.TypeOf((*ResignatureUnresolvedVmfsVolume_Task)(nil)).Elem() -} - -type ResignatureUnresolvedVmfsVolume_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ResolveInstallationErrorsOnClusterRequestType struct { - This ManagedObjectReference `xml:"_this"` - FilterId string `xml:"filterId"` - Cluster ManagedObjectReference `xml:"cluster"` -} - -func init() { - t["ResolveInstallationErrorsOnClusterRequestType"] = reflect.TypeOf((*ResolveInstallationErrorsOnClusterRequestType)(nil)).Elem() -} - -type ResolveInstallationErrorsOnCluster_Task ResolveInstallationErrorsOnClusterRequestType - -func init() { - t["ResolveInstallationErrorsOnCluster_Task"] = reflect.TypeOf((*ResolveInstallationErrorsOnCluster_Task)(nil)).Elem() -} - -type ResolveInstallationErrorsOnCluster_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ResolveInstallationErrorsOnHostRequestType struct { - This ManagedObjectReference `xml:"_this"` - FilterId string `xml:"filterId"` - Host ManagedObjectReference `xml:"host"` -} - -func init() { - t["ResolveInstallationErrorsOnHostRequestType"] = reflect.TypeOf((*ResolveInstallationErrorsOnHostRequestType)(nil)).Elem() -} - -type ResolveInstallationErrorsOnHost_Task ResolveInstallationErrorsOnHostRequestType - -func init() { - t["ResolveInstallationErrorsOnHost_Task"] = reflect.TypeOf((*ResolveInstallationErrorsOnHost_Task)(nil)).Elem() -} - -type ResolveInstallationErrorsOnHost_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ResolveMultipleUnresolvedVmfsVolumes ResolveMultipleUnresolvedVmfsVolumesRequestType - -func init() { - t["ResolveMultipleUnresolvedVmfsVolumes"] = reflect.TypeOf((*ResolveMultipleUnresolvedVmfsVolumes)(nil)).Elem() -} - -type ResolveMultipleUnresolvedVmfsVolumesExRequestType struct { - This ManagedObjectReference `xml:"_this"` - ResolutionSpec []HostUnresolvedVmfsResolutionSpec `xml:"resolutionSpec"` -} - -func init() { - t["ResolveMultipleUnresolvedVmfsVolumesExRequestType"] = reflect.TypeOf((*ResolveMultipleUnresolvedVmfsVolumesExRequestType)(nil)).Elem() -} - -type ResolveMultipleUnresolvedVmfsVolumesEx_Task ResolveMultipleUnresolvedVmfsVolumesExRequestType - -func init() { - t["ResolveMultipleUnresolvedVmfsVolumesEx_Task"] = reflect.TypeOf((*ResolveMultipleUnresolvedVmfsVolumesEx_Task)(nil)).Elem() -} - -type ResolveMultipleUnresolvedVmfsVolumesEx_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ResolveMultipleUnresolvedVmfsVolumesRequestType struct { - This ManagedObjectReference `xml:"_this"` - ResolutionSpec []HostUnresolvedVmfsResolutionSpec `xml:"resolutionSpec"` -} - -func init() { - t["ResolveMultipleUnresolvedVmfsVolumesRequestType"] = reflect.TypeOf((*ResolveMultipleUnresolvedVmfsVolumesRequestType)(nil)).Elem() -} - -type ResolveMultipleUnresolvedVmfsVolumesResponse struct { - Returnval []HostUnresolvedVmfsResolutionResult `xml:"returnval,omitempty"` -} - -type ResourceAllocationInfo struct { - DynamicData - - Reservation *int64 `xml:"reservation"` - ExpandableReservation *bool `xml:"expandableReservation"` - Limit *int64 `xml:"limit"` - Shares *SharesInfo `xml:"shares,omitempty"` - OverheadLimit *int64 `xml:"overheadLimit"` -} - -func init() { - t["ResourceAllocationInfo"] = reflect.TypeOf((*ResourceAllocationInfo)(nil)).Elem() -} - -type ResourceAllocationOption struct { - DynamicData - - SharesOption SharesOption `xml:"sharesOption"` -} - -func init() { - t["ResourceAllocationOption"] = reflect.TypeOf((*ResourceAllocationOption)(nil)).Elem() -} - -type ResourceConfigOption struct { - DynamicData - - CpuAllocationOption ResourceAllocationOption `xml:"cpuAllocationOption"` - MemoryAllocationOption ResourceAllocationOption `xml:"memoryAllocationOption"` -} - -func init() { - t["ResourceConfigOption"] = reflect.TypeOf((*ResourceConfigOption)(nil)).Elem() -} - -type ResourceConfigSpec struct { - DynamicData - - Entity *ManagedObjectReference `xml:"entity,omitempty"` - ChangeVersion string `xml:"changeVersion,omitempty"` - LastModified *time.Time `xml:"lastModified"` - CpuAllocation ResourceAllocationInfo `xml:"cpuAllocation"` - MemoryAllocation ResourceAllocationInfo `xml:"memoryAllocation"` - ScaleDescendantsShares string `xml:"scaleDescendantsShares,omitempty"` -} - -func init() { - t["ResourceConfigSpec"] = reflect.TypeOf((*ResourceConfigSpec)(nil)).Elem() -} - -type ResourceInUse struct { - VimFault - - Type string `xml:"type,omitempty"` - Name string `xml:"name,omitempty"` -} - -func init() { - t["ResourceInUse"] = reflect.TypeOf((*ResourceInUse)(nil)).Elem() -} - -type ResourceInUseFault BaseResourceInUse - -func init() { - t["ResourceInUseFault"] = reflect.TypeOf((*ResourceInUseFault)(nil)).Elem() -} - -type ResourceNotAvailable struct { - VimFault - - ContainerType string `xml:"containerType,omitempty"` - ContainerName string `xml:"containerName,omitempty"` - Type string `xml:"type,omitempty"` -} - -func init() { - t["ResourceNotAvailable"] = reflect.TypeOf((*ResourceNotAvailable)(nil)).Elem() -} - -type ResourceNotAvailableFault ResourceNotAvailable - -func init() { - t["ResourceNotAvailableFault"] = reflect.TypeOf((*ResourceNotAvailableFault)(nil)).Elem() -} - -type ResourcePoolCreatedEvent struct { - ResourcePoolEvent - - Parent ResourcePoolEventArgument `xml:"parent"` -} - -func init() { - t["ResourcePoolCreatedEvent"] = reflect.TypeOf((*ResourcePoolCreatedEvent)(nil)).Elem() -} - -type ResourcePoolDestroyedEvent struct { - ResourcePoolEvent -} - -func init() { - t["ResourcePoolDestroyedEvent"] = reflect.TypeOf((*ResourcePoolDestroyedEvent)(nil)).Elem() -} - -type ResourcePoolEvent struct { - Event - - ResourcePool ResourcePoolEventArgument `xml:"resourcePool"` -} - -func init() { - t["ResourcePoolEvent"] = reflect.TypeOf((*ResourcePoolEvent)(nil)).Elem() -} - -type ResourcePoolEventArgument struct { - EntityEventArgument - - ResourcePool ManagedObjectReference `xml:"resourcePool"` -} - -func init() { - t["ResourcePoolEventArgument"] = reflect.TypeOf((*ResourcePoolEventArgument)(nil)).Elem() -} - -type ResourcePoolMovedEvent struct { - ResourcePoolEvent - - OldParent ResourcePoolEventArgument `xml:"oldParent"` - NewParent ResourcePoolEventArgument `xml:"newParent"` -} - -func init() { - t["ResourcePoolMovedEvent"] = reflect.TypeOf((*ResourcePoolMovedEvent)(nil)).Elem() -} - -type ResourcePoolQuickStats struct { - DynamicData - - OverallCpuUsage int64 `xml:"overallCpuUsage,omitempty"` - OverallCpuDemand int64 `xml:"overallCpuDemand,omitempty"` - GuestMemoryUsage int64 `xml:"guestMemoryUsage,omitempty"` - HostMemoryUsage int64 `xml:"hostMemoryUsage,omitempty"` - DistributedCpuEntitlement int64 `xml:"distributedCpuEntitlement,omitempty"` - DistributedMemoryEntitlement int64 `xml:"distributedMemoryEntitlement,omitempty"` - StaticCpuEntitlement int32 `xml:"staticCpuEntitlement,omitempty"` - StaticMemoryEntitlement int32 `xml:"staticMemoryEntitlement,omitempty"` - PrivateMemory int64 `xml:"privateMemory,omitempty"` - SharedMemory int64 `xml:"sharedMemory,omitempty"` - SwappedMemory int64 `xml:"swappedMemory,omitempty"` - BalloonedMemory int64 `xml:"balloonedMemory,omitempty"` - OverheadMemory int64 `xml:"overheadMemory,omitempty"` - ConsumedOverheadMemory int64 `xml:"consumedOverheadMemory,omitempty"` - CompressedMemory int64 `xml:"compressedMemory,omitempty"` -} - -func init() { - t["ResourcePoolQuickStats"] = reflect.TypeOf((*ResourcePoolQuickStats)(nil)).Elem() -} - -type ResourcePoolReconfiguredEvent struct { - ResourcePoolEvent - - ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty"` -} - -func init() { - t["ResourcePoolReconfiguredEvent"] = reflect.TypeOf((*ResourcePoolReconfiguredEvent)(nil)).Elem() -} - -type ResourcePoolResourceUsage struct { - DynamicData - - ReservationUsed int64 `xml:"reservationUsed"` - ReservationUsedForVm int64 `xml:"reservationUsedForVm"` - UnreservedForPool int64 `xml:"unreservedForPool"` - UnreservedForVm int64 `xml:"unreservedForVm"` - OverallUsage int64 `xml:"overallUsage"` - MaxUsage int64 `xml:"maxUsage"` -} - -func init() { - t["ResourcePoolResourceUsage"] = reflect.TypeOf((*ResourcePoolResourceUsage)(nil)).Elem() -} - -type ResourcePoolRuntimeInfo struct { - DynamicData - - Memory ResourcePoolResourceUsage `xml:"memory"` - Cpu ResourcePoolResourceUsage `xml:"cpu"` - OverallStatus ManagedEntityStatus `xml:"overallStatus"` - SharesScalable string `xml:"sharesScalable,omitempty"` -} - -func init() { - t["ResourcePoolRuntimeInfo"] = reflect.TypeOf((*ResourcePoolRuntimeInfo)(nil)).Elem() -} - -type ResourcePoolSummary struct { - DynamicData - - Name string `xml:"name"` - Config ResourceConfigSpec `xml:"config"` - Runtime ResourcePoolRuntimeInfo `xml:"runtime"` - QuickStats *ResourcePoolQuickStats `xml:"quickStats,omitempty"` - ConfiguredMemoryMB int32 `xml:"configuredMemoryMB,omitempty"` -} - -func init() { - t["ResourcePoolSummary"] = reflect.TypeOf((*ResourcePoolSummary)(nil)).Elem() -} - -type ResourceViolatedEvent struct { - ResourcePoolEvent -} - -func init() { - t["ResourceViolatedEvent"] = reflect.TypeOf((*ResourceViolatedEvent)(nil)).Elem() -} - -type RestartService RestartServiceRequestType - -func init() { - t["RestartService"] = reflect.TypeOf((*RestartService)(nil)).Elem() -} - -type RestartServiceConsoleVirtualNic RestartServiceConsoleVirtualNicRequestType - -func init() { - t["RestartServiceConsoleVirtualNic"] = reflect.TypeOf((*RestartServiceConsoleVirtualNic)(nil)).Elem() -} - -type RestartServiceConsoleVirtualNicRequestType struct { - This ManagedObjectReference `xml:"_this"` - Device string `xml:"device"` -} - -func init() { - t["RestartServiceConsoleVirtualNicRequestType"] = reflect.TypeOf((*RestartServiceConsoleVirtualNicRequestType)(nil)).Elem() -} - -type RestartServiceConsoleVirtualNicResponse struct { -} - -type RestartServiceRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id string `xml:"id"` -} - -func init() { - t["RestartServiceRequestType"] = reflect.TypeOf((*RestartServiceRequestType)(nil)).Elem() -} - -type RestartServiceResponse struct { -} - -type RestoreFirmwareConfiguration RestoreFirmwareConfigurationRequestType - -func init() { - t["RestoreFirmwareConfiguration"] = reflect.TypeOf((*RestoreFirmwareConfiguration)(nil)).Elem() -} - -type RestoreFirmwareConfigurationRequestType struct { - This ManagedObjectReference `xml:"_this"` - Force bool `xml:"force"` -} - -func init() { - t["RestoreFirmwareConfigurationRequestType"] = reflect.TypeOf((*RestoreFirmwareConfigurationRequestType)(nil)).Elem() -} - -type RestoreFirmwareConfigurationResponse struct { -} - -type RestrictedByAdministrator struct { - RuntimeFault - - Details string `xml:"details"` -} - -func init() { - t["RestrictedByAdministrator"] = reflect.TypeOf((*RestrictedByAdministrator)(nil)).Elem() -} - -type RestrictedByAdministratorFault RestrictedByAdministrator - -func init() { - t["RestrictedByAdministratorFault"] = reflect.TypeOf((*RestrictedByAdministratorFault)(nil)).Elem() -} - -type RestrictedVersion struct { - SecurityError -} - -func init() { - t["RestrictedVersion"] = reflect.TypeOf((*RestrictedVersion)(nil)).Elem() -} - -type RestrictedVersionFault RestrictedVersion - -func init() { - t["RestrictedVersionFault"] = reflect.TypeOf((*RestrictedVersionFault)(nil)).Elem() -} - -type RetrieveAllPermissions RetrieveAllPermissionsRequestType - -func init() { - t["RetrieveAllPermissions"] = reflect.TypeOf((*RetrieveAllPermissions)(nil)).Elem() -} - -type RetrieveAllPermissionsRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["RetrieveAllPermissionsRequestType"] = reflect.TypeOf((*RetrieveAllPermissionsRequestType)(nil)).Elem() -} - -type RetrieveAllPermissionsResponse struct { - Returnval []Permission `xml:"returnval,omitempty"` -} - -type RetrieveAnswerFile RetrieveAnswerFileRequestType - -func init() { - t["RetrieveAnswerFile"] = reflect.TypeOf((*RetrieveAnswerFile)(nil)).Elem() -} - -type RetrieveAnswerFileForProfile RetrieveAnswerFileForProfileRequestType - -func init() { - t["RetrieveAnswerFileForProfile"] = reflect.TypeOf((*RetrieveAnswerFileForProfile)(nil)).Elem() -} - -type RetrieveAnswerFileForProfileRequestType struct { - This ManagedObjectReference `xml:"_this"` - Host ManagedObjectReference `xml:"host"` - ApplyProfile HostApplyProfile `xml:"applyProfile"` -} - -func init() { - t["RetrieveAnswerFileForProfileRequestType"] = reflect.TypeOf((*RetrieveAnswerFileForProfileRequestType)(nil)).Elem() -} - -type RetrieveAnswerFileForProfileResponse struct { - Returnval *AnswerFile `xml:"returnval,omitempty"` -} - -type RetrieveAnswerFileRequestType struct { - This ManagedObjectReference `xml:"_this"` - Host ManagedObjectReference `xml:"host"` -} - -func init() { - t["RetrieveAnswerFileRequestType"] = reflect.TypeOf((*RetrieveAnswerFileRequestType)(nil)).Elem() -} - -type RetrieveAnswerFileResponse struct { - Returnval *AnswerFile `xml:"returnval,omitempty"` -} - -type RetrieveArgumentDescription RetrieveArgumentDescriptionRequestType - -func init() { - t["RetrieveArgumentDescription"] = reflect.TypeOf((*RetrieveArgumentDescription)(nil)).Elem() -} - -type RetrieveArgumentDescriptionRequestType struct { - This ManagedObjectReference `xml:"_this"` - EventTypeId string `xml:"eventTypeId"` -} - -func init() { - t["RetrieveArgumentDescriptionRequestType"] = reflect.TypeOf((*RetrieveArgumentDescriptionRequestType)(nil)).Elem() -} - -type RetrieveArgumentDescriptionResponse struct { - Returnval []EventArgDesc `xml:"returnval,omitempty"` -} - -type RetrieveClientCert RetrieveClientCertRequestType - -func init() { - t["RetrieveClientCert"] = reflect.TypeOf((*RetrieveClientCert)(nil)).Elem() -} - -type RetrieveClientCertRequestType struct { - This ManagedObjectReference `xml:"_this"` - Cluster KeyProviderId `xml:"cluster"` -} - -func init() { - t["RetrieveClientCertRequestType"] = reflect.TypeOf((*RetrieveClientCertRequestType)(nil)).Elem() -} - -type RetrieveClientCertResponse struct { - Returnval string `xml:"returnval"` -} - -type RetrieveClientCsr RetrieveClientCsrRequestType - -func init() { - t["RetrieveClientCsr"] = reflect.TypeOf((*RetrieveClientCsr)(nil)).Elem() -} - -type RetrieveClientCsrRequestType struct { - This ManagedObjectReference `xml:"_this"` - Cluster KeyProviderId `xml:"cluster"` -} - -func init() { - t["RetrieveClientCsrRequestType"] = reflect.TypeOf((*RetrieveClientCsrRequestType)(nil)).Elem() -} - -type RetrieveClientCsrResponse struct { - Returnval string `xml:"returnval"` -} - -type RetrieveDasAdvancedRuntimeInfo RetrieveDasAdvancedRuntimeInfoRequestType - -func init() { - t["RetrieveDasAdvancedRuntimeInfo"] = reflect.TypeOf((*RetrieveDasAdvancedRuntimeInfo)(nil)).Elem() -} - -type RetrieveDasAdvancedRuntimeInfoRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["RetrieveDasAdvancedRuntimeInfoRequestType"] = reflect.TypeOf((*RetrieveDasAdvancedRuntimeInfoRequestType)(nil)).Elem() -} - -type RetrieveDasAdvancedRuntimeInfoResponse struct { - Returnval BaseClusterDasAdvancedRuntimeInfo `xml:"returnval,omitempty,typeattr"` -} - -type RetrieveDescription RetrieveDescriptionRequestType - -func init() { - t["RetrieveDescription"] = reflect.TypeOf((*RetrieveDescription)(nil)).Elem() -} - -type RetrieveDescriptionRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["RetrieveDescriptionRequestType"] = reflect.TypeOf((*RetrieveDescriptionRequestType)(nil)).Elem() -} - -type RetrieveDescriptionResponse struct { - Returnval *ProfileDescription `xml:"returnval,omitempty"` -} - -type RetrieveDiskPartitionInfo RetrieveDiskPartitionInfoRequestType - -func init() { - t["RetrieveDiskPartitionInfo"] = reflect.TypeOf((*RetrieveDiskPartitionInfo)(nil)).Elem() -} - -type RetrieveDiskPartitionInfoRequestType struct { - This ManagedObjectReference `xml:"_this"` - DevicePath []string `xml:"devicePath"` -} - -func init() { - t["RetrieveDiskPartitionInfoRequestType"] = reflect.TypeOf((*RetrieveDiskPartitionInfoRequestType)(nil)).Elem() -} - -type RetrieveDiskPartitionInfoResponse struct { - Returnval []HostDiskPartitionInfo `xml:"returnval,omitempty"` -} - -type RetrieveDynamicPassthroughInfo RetrieveDynamicPassthroughInfoRequestType - -func init() { - t["RetrieveDynamicPassthroughInfo"] = reflect.TypeOf((*RetrieveDynamicPassthroughInfo)(nil)).Elem() -} - -type RetrieveDynamicPassthroughInfoRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["RetrieveDynamicPassthroughInfoRequestType"] = reflect.TypeOf((*RetrieveDynamicPassthroughInfoRequestType)(nil)).Elem() -} - -type RetrieveDynamicPassthroughInfoResponse struct { - Returnval []VirtualMachineDynamicPassthroughInfo `xml:"returnval,omitempty"` -} - -type RetrieveEntityPermissions RetrieveEntityPermissionsRequestType - -func init() { - t["RetrieveEntityPermissions"] = reflect.TypeOf((*RetrieveEntityPermissions)(nil)).Elem() -} - -type RetrieveEntityPermissionsRequestType struct { - This ManagedObjectReference `xml:"_this"` - Entity ManagedObjectReference `xml:"entity"` - Inherited bool `xml:"inherited"` -} - -func init() { - t["RetrieveEntityPermissionsRequestType"] = reflect.TypeOf((*RetrieveEntityPermissionsRequestType)(nil)).Elem() -} - -type RetrieveEntityPermissionsResponse struct { - Returnval []Permission `xml:"returnval,omitempty"` -} - -type RetrieveEntityScheduledTask RetrieveEntityScheduledTaskRequestType - -func init() { - t["RetrieveEntityScheduledTask"] = reflect.TypeOf((*RetrieveEntityScheduledTask)(nil)).Elem() -} - -type RetrieveEntityScheduledTaskRequestType struct { - This ManagedObjectReference `xml:"_this"` - Entity *ManagedObjectReference `xml:"entity,omitempty"` -} - -func init() { - t["RetrieveEntityScheduledTaskRequestType"] = reflect.TypeOf((*RetrieveEntityScheduledTaskRequestType)(nil)).Elem() -} - -type RetrieveEntityScheduledTaskResponse struct { - Returnval []ManagedObjectReference `xml:"returnval,omitempty"` -} - -type RetrieveFreeEpcMemory RetrieveFreeEpcMemoryRequestType - -func init() { - t["RetrieveFreeEpcMemory"] = reflect.TypeOf((*RetrieveFreeEpcMemory)(nil)).Elem() -} - -type RetrieveFreeEpcMemoryRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["RetrieveFreeEpcMemoryRequestType"] = reflect.TypeOf((*RetrieveFreeEpcMemoryRequestType)(nil)).Elem() -} - -type RetrieveFreeEpcMemoryResponse struct { - Returnval int64 `xml:"returnval"` -} - -type RetrieveHardwareUptime RetrieveHardwareUptimeRequestType - -func init() { - t["RetrieveHardwareUptime"] = reflect.TypeOf((*RetrieveHardwareUptime)(nil)).Elem() -} - -type RetrieveHardwareUptimeRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["RetrieveHardwareUptimeRequestType"] = reflect.TypeOf((*RetrieveHardwareUptimeRequestType)(nil)).Elem() -} - -type RetrieveHardwareUptimeResponse struct { - Returnval int64 `xml:"returnval"` -} - -type RetrieveHostAccessControlEntries RetrieveHostAccessControlEntriesRequestType - -func init() { - t["RetrieveHostAccessControlEntries"] = reflect.TypeOf((*RetrieveHostAccessControlEntries)(nil)).Elem() -} - -type RetrieveHostAccessControlEntriesRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["RetrieveHostAccessControlEntriesRequestType"] = reflect.TypeOf((*RetrieveHostAccessControlEntriesRequestType)(nil)).Elem() -} - -type RetrieveHostAccessControlEntriesResponse struct { - Returnval []HostAccessControlEntry `xml:"returnval,omitempty"` -} - -type RetrieveHostCustomizations RetrieveHostCustomizationsRequestType - -func init() { - t["RetrieveHostCustomizations"] = reflect.TypeOf((*RetrieveHostCustomizations)(nil)).Elem() -} - -type RetrieveHostCustomizationsForProfile RetrieveHostCustomizationsForProfileRequestType - -func init() { - t["RetrieveHostCustomizationsForProfile"] = reflect.TypeOf((*RetrieveHostCustomizationsForProfile)(nil)).Elem() -} - -type RetrieveHostCustomizationsForProfileRequestType struct { - This ManagedObjectReference `xml:"_this"` - Hosts []ManagedObjectReference `xml:"hosts,omitempty"` - ApplyProfile HostApplyProfile `xml:"applyProfile"` -} - -func init() { - t["RetrieveHostCustomizationsForProfileRequestType"] = reflect.TypeOf((*RetrieveHostCustomizationsForProfileRequestType)(nil)).Elem() -} - -type RetrieveHostCustomizationsForProfileResponse struct { - Returnval []StructuredCustomizations `xml:"returnval,omitempty"` -} - -type RetrieveHostCustomizationsRequestType struct { - This ManagedObjectReference `xml:"_this"` - Hosts []ManagedObjectReference `xml:"hosts,omitempty"` -} - -func init() { - t["RetrieveHostCustomizationsRequestType"] = reflect.TypeOf((*RetrieveHostCustomizationsRequestType)(nil)).Elem() -} - -type RetrieveHostCustomizationsResponse struct { - Returnval []StructuredCustomizations `xml:"returnval,omitempty"` -} - -type RetrieveHostSpecification RetrieveHostSpecificationRequestType - -func init() { - t["RetrieveHostSpecification"] = reflect.TypeOf((*RetrieveHostSpecification)(nil)).Elem() -} - -type RetrieveHostSpecificationRequestType struct { - This ManagedObjectReference `xml:"_this"` - Host ManagedObjectReference `xml:"host"` - FromHost bool `xml:"fromHost"` -} - -func init() { - t["RetrieveHostSpecificationRequestType"] = reflect.TypeOf((*RetrieveHostSpecificationRequestType)(nil)).Elem() -} - -type RetrieveHostSpecificationResponse struct { - Returnval HostSpecification `xml:"returnval"` -} - -type RetrieveKmipServerCert RetrieveKmipServerCertRequestType - -func init() { - t["RetrieveKmipServerCert"] = reflect.TypeOf((*RetrieveKmipServerCert)(nil)).Elem() -} - -type RetrieveKmipServerCertRequestType struct { - This ManagedObjectReference `xml:"_this"` - KeyProvider KeyProviderId `xml:"keyProvider"` - Server KmipServerInfo `xml:"server"` -} - -func init() { - t["RetrieveKmipServerCertRequestType"] = reflect.TypeOf((*RetrieveKmipServerCertRequestType)(nil)).Elem() -} - -type RetrieveKmipServerCertResponse struct { - Returnval CryptoManagerKmipServerCertInfo `xml:"returnval"` -} - -type RetrieveKmipServersStatusRequestType struct { - This ManagedObjectReference `xml:"_this"` - Clusters []KmipClusterInfo `xml:"clusters,omitempty"` -} - -func init() { - t["RetrieveKmipServersStatusRequestType"] = reflect.TypeOf((*RetrieveKmipServersStatusRequestType)(nil)).Elem() -} - -type RetrieveKmipServersStatus_Task RetrieveKmipServersStatusRequestType - -func init() { - t["RetrieveKmipServersStatus_Task"] = reflect.TypeOf((*RetrieveKmipServersStatus_Task)(nil)).Elem() -} - -type RetrieveKmipServersStatus_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type RetrieveObjectScheduledTask RetrieveObjectScheduledTaskRequestType - -func init() { - t["RetrieveObjectScheduledTask"] = reflect.TypeOf((*RetrieveObjectScheduledTask)(nil)).Elem() -} - -type RetrieveObjectScheduledTaskRequestType struct { - This ManagedObjectReference `xml:"_this"` - Obj *ManagedObjectReference `xml:"obj,omitempty"` -} - -func init() { - t["RetrieveObjectScheduledTaskRequestType"] = reflect.TypeOf((*RetrieveObjectScheduledTaskRequestType)(nil)).Elem() -} - -type RetrieveObjectScheduledTaskResponse struct { - Returnval []ManagedObjectReference `xml:"returnval,omitempty"` -} - -type RetrieveOptions struct { - DynamicData - - MaxObjects int32 `xml:"maxObjects,omitempty"` -} - -func init() { - t["RetrieveOptions"] = reflect.TypeOf((*RetrieveOptions)(nil)).Elem() -} - -type RetrieveProductComponents RetrieveProductComponentsRequestType - -func init() { - t["RetrieveProductComponents"] = reflect.TypeOf((*RetrieveProductComponents)(nil)).Elem() -} - -type RetrieveProductComponentsRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["RetrieveProductComponentsRequestType"] = reflect.TypeOf((*RetrieveProductComponentsRequestType)(nil)).Elem() -} - -type RetrieveProductComponentsResponse struct { - Returnval []ProductComponentInfo `xml:"returnval,omitempty"` -} - -type RetrieveProperties RetrievePropertiesRequestType - -func init() { - t["RetrieveProperties"] = reflect.TypeOf((*RetrieveProperties)(nil)).Elem() -} - -type RetrievePropertiesEx RetrievePropertiesExRequestType - -func init() { - t["RetrievePropertiesEx"] = reflect.TypeOf((*RetrievePropertiesEx)(nil)).Elem() -} - -type RetrievePropertiesExRequestType struct { - This ManagedObjectReference `xml:"_this"` - SpecSet []PropertyFilterSpec `xml:"specSet"` - Options RetrieveOptions `xml:"options"` -} - -func init() { - t["RetrievePropertiesExRequestType"] = reflect.TypeOf((*RetrievePropertiesExRequestType)(nil)).Elem() -} - -type RetrievePropertiesExResponse struct { - Returnval *RetrieveResult `xml:"returnval,omitempty"` -} - -type RetrievePropertiesRequestType struct { - This ManagedObjectReference `xml:"_this"` - SpecSet []PropertyFilterSpec `xml:"specSet"` -} - -func init() { - t["RetrievePropertiesRequestType"] = reflect.TypeOf((*RetrievePropertiesRequestType)(nil)).Elem() -} - -type RetrievePropertiesResponse struct { - Returnval []ObjectContent `xml:"returnval,omitempty"` -} - -type RetrieveResult struct { - DynamicData - - Token string `xml:"token,omitempty"` - Objects []ObjectContent `xml:"objects"` -} - -func init() { - t["RetrieveResult"] = reflect.TypeOf((*RetrieveResult)(nil)).Elem() -} - -type RetrieveRolePermissions RetrieveRolePermissionsRequestType - -func init() { - t["RetrieveRolePermissions"] = reflect.TypeOf((*RetrieveRolePermissions)(nil)).Elem() -} - -type RetrieveRolePermissionsRequestType struct { - This ManagedObjectReference `xml:"_this"` - RoleId int32 `xml:"roleId"` -} - -func init() { - t["RetrieveRolePermissionsRequestType"] = reflect.TypeOf((*RetrieveRolePermissionsRequestType)(nil)).Elem() -} - -type RetrieveRolePermissionsResponse struct { - Returnval []Permission `xml:"returnval,omitempty"` -} - -type RetrieveSelfSignedClientCert RetrieveSelfSignedClientCertRequestType - -func init() { - t["RetrieveSelfSignedClientCert"] = reflect.TypeOf((*RetrieveSelfSignedClientCert)(nil)).Elem() -} - -type RetrieveSelfSignedClientCertRequestType struct { - This ManagedObjectReference `xml:"_this"` - Cluster KeyProviderId `xml:"cluster"` -} - -func init() { - t["RetrieveSelfSignedClientCertRequestType"] = reflect.TypeOf((*RetrieveSelfSignedClientCertRequestType)(nil)).Elem() -} - -type RetrieveSelfSignedClientCertResponse struct { - Returnval string `xml:"returnval"` -} - -type RetrieveServiceContent RetrieveServiceContentRequestType - -func init() { - t["RetrieveServiceContent"] = reflect.TypeOf((*RetrieveServiceContent)(nil)).Elem() -} - -type RetrieveServiceContentRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["RetrieveServiceContentRequestType"] = reflect.TypeOf((*RetrieveServiceContentRequestType)(nil)).Elem() -} - -type RetrieveServiceContentResponse struct { - Returnval ServiceContent `xml:"returnval"` -} - -type RetrieveServiceProviderEntities RetrieveServiceProviderEntitiesRequestType - -func init() { - t["RetrieveServiceProviderEntities"] = reflect.TypeOf((*RetrieveServiceProviderEntities)(nil)).Elem() -} - -type RetrieveServiceProviderEntitiesRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["RetrieveServiceProviderEntitiesRequestType"] = reflect.TypeOf((*RetrieveServiceProviderEntitiesRequestType)(nil)).Elem() -} - -type RetrieveServiceProviderEntitiesResponse struct { - Returnval []ManagedObjectReference `xml:"returnval,omitempty"` -} - -type RetrieveSnapshotDetails RetrieveSnapshotDetailsRequestType - -func init() { - t["RetrieveSnapshotDetails"] = reflect.TypeOf((*RetrieveSnapshotDetails)(nil)).Elem() -} - -type RetrieveSnapshotDetailsRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id ID `xml:"id"` - Datastore ManagedObjectReference `xml:"datastore"` - SnapshotId ID `xml:"snapshotId"` -} - -func init() { - t["RetrieveSnapshotDetailsRequestType"] = reflect.TypeOf((*RetrieveSnapshotDetailsRequestType)(nil)).Elem() -} - -type RetrieveSnapshotDetailsResponse struct { - Returnval VStorageObjectSnapshotDetails `xml:"returnval"` -} - -type RetrieveSnapshotInfo RetrieveSnapshotInfoRequestType - -func init() { - t["RetrieveSnapshotInfo"] = reflect.TypeOf((*RetrieveSnapshotInfo)(nil)).Elem() -} - -type RetrieveSnapshotInfoRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id ID `xml:"id"` - Datastore ManagedObjectReference `xml:"datastore"` -} - -func init() { - t["RetrieveSnapshotInfoRequestType"] = reflect.TypeOf((*RetrieveSnapshotInfoRequestType)(nil)).Elem() -} - -type RetrieveSnapshotInfoResponse struct { - Returnval VStorageObjectSnapshotInfo `xml:"returnval"` -} - -type RetrieveUserGroups RetrieveUserGroupsRequestType - -func init() { - t["RetrieveUserGroups"] = reflect.TypeOf((*RetrieveUserGroups)(nil)).Elem() -} - -type RetrieveUserGroupsRequestType struct { - This ManagedObjectReference `xml:"_this"` - Domain string `xml:"domain,omitempty"` - SearchStr string `xml:"searchStr"` - BelongsToGroup string `xml:"belongsToGroup,omitempty"` - BelongsToUser string `xml:"belongsToUser,omitempty"` - ExactMatch bool `xml:"exactMatch"` - FindUsers bool `xml:"findUsers"` - FindGroups bool `xml:"findGroups"` -} - -func init() { - t["RetrieveUserGroupsRequestType"] = reflect.TypeOf((*RetrieveUserGroupsRequestType)(nil)).Elem() -} - -type RetrieveUserGroupsResponse struct { - Returnval []BaseUserSearchResult `xml:"returnval,omitempty,typeattr"` -} - -type RetrieveVStorageInfrastructureObjectPolicy RetrieveVStorageInfrastructureObjectPolicyRequestType - -func init() { - t["RetrieveVStorageInfrastructureObjectPolicy"] = reflect.TypeOf((*RetrieveVStorageInfrastructureObjectPolicy)(nil)).Elem() -} - -type RetrieveVStorageInfrastructureObjectPolicyRequestType struct { - This ManagedObjectReference `xml:"_this"` - Datastore ManagedObjectReference `xml:"datastore"` -} - -func init() { - t["RetrieveVStorageInfrastructureObjectPolicyRequestType"] = reflect.TypeOf((*RetrieveVStorageInfrastructureObjectPolicyRequestType)(nil)).Elem() -} - -type RetrieveVStorageInfrastructureObjectPolicyResponse struct { - Returnval []VslmInfrastructureObjectPolicy `xml:"returnval,omitempty"` -} - -type RetrieveVStorageObjSpec struct { - DynamicData - - Id ID `xml:"id"` - Datastore ManagedObjectReference `xml:"datastore"` -} - -func init() { - t["RetrieveVStorageObjSpec"] = reflect.TypeOf((*RetrieveVStorageObjSpec)(nil)).Elem() -} - -type RetrieveVStorageObject RetrieveVStorageObjectRequestType - -func init() { - t["RetrieveVStorageObject"] = reflect.TypeOf((*RetrieveVStorageObject)(nil)).Elem() -} - -type RetrieveVStorageObjectAssociations RetrieveVStorageObjectAssociationsRequestType - -func init() { - t["RetrieveVStorageObjectAssociations"] = reflect.TypeOf((*RetrieveVStorageObjectAssociations)(nil)).Elem() -} - -type RetrieveVStorageObjectAssociationsRequestType struct { - This ManagedObjectReference `xml:"_this"` - Ids []RetrieveVStorageObjSpec `xml:"ids,omitempty"` -} - -func init() { - t["RetrieveVStorageObjectAssociationsRequestType"] = reflect.TypeOf((*RetrieveVStorageObjectAssociationsRequestType)(nil)).Elem() -} - -type RetrieveVStorageObjectAssociationsResponse struct { - Returnval []VStorageObjectAssociations `xml:"returnval,omitempty"` -} - -type RetrieveVStorageObjectRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id ID `xml:"id"` - Datastore ManagedObjectReference `xml:"datastore"` - DiskInfoFlags []string `xml:"diskInfoFlags,omitempty"` -} - -func init() { - t["RetrieveVStorageObjectRequestType"] = reflect.TypeOf((*RetrieveVStorageObjectRequestType)(nil)).Elem() -} - -type RetrieveVStorageObjectResponse struct { - Returnval VStorageObject `xml:"returnval"` -} - -type RetrieveVStorageObjectState RetrieveVStorageObjectStateRequestType - -func init() { - t["RetrieveVStorageObjectState"] = reflect.TypeOf((*RetrieveVStorageObjectState)(nil)).Elem() -} - -type RetrieveVStorageObjectStateRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id ID `xml:"id"` - Datastore ManagedObjectReference `xml:"datastore"` -} - -func init() { - t["RetrieveVStorageObjectStateRequestType"] = reflect.TypeOf((*RetrieveVStorageObjectStateRequestType)(nil)).Elem() -} - -type RetrieveVStorageObjectStateResponse struct { - Returnval VStorageObjectStateInfo `xml:"returnval"` -} - -type RetrieveVendorDeviceGroupInfo RetrieveVendorDeviceGroupInfoRequestType - -func init() { - t["RetrieveVendorDeviceGroupInfo"] = reflect.TypeOf((*RetrieveVendorDeviceGroupInfo)(nil)).Elem() -} - -type RetrieveVendorDeviceGroupInfoRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["RetrieveVendorDeviceGroupInfoRequestType"] = reflect.TypeOf((*RetrieveVendorDeviceGroupInfoRequestType)(nil)).Elem() -} - -type RetrieveVendorDeviceGroupInfoResponse struct { - Returnval []VirtualMachineVendorDeviceGroupInfo `xml:"returnval,omitempty"` -} - -type RetrieveVgpuDeviceInfo RetrieveVgpuDeviceInfoRequestType - -func init() { - t["RetrieveVgpuDeviceInfo"] = reflect.TypeOf((*RetrieveVgpuDeviceInfo)(nil)).Elem() -} - -type RetrieveVgpuDeviceInfoRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["RetrieveVgpuDeviceInfoRequestType"] = reflect.TypeOf((*RetrieveVgpuDeviceInfoRequestType)(nil)).Elem() -} - -type RetrieveVgpuDeviceInfoResponse struct { - Returnval []VirtualMachineVgpuDeviceInfo `xml:"returnval,omitempty"` -} - -type RetrieveVgpuProfileInfo RetrieveVgpuProfileInfoRequestType - -func init() { - t["RetrieveVgpuProfileInfo"] = reflect.TypeOf((*RetrieveVgpuProfileInfo)(nil)).Elem() -} - -type RetrieveVgpuProfileInfoRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["RetrieveVgpuProfileInfoRequestType"] = reflect.TypeOf((*RetrieveVgpuProfileInfoRequestType)(nil)).Elem() -} - -type RetrieveVgpuProfileInfoResponse struct { - Returnval []VirtualMachineVgpuProfileInfo `xml:"returnval,omitempty"` -} - -type RevertToCurrentSnapshotRequestType struct { - This ManagedObjectReference `xml:"_this"` - Host *ManagedObjectReference `xml:"host,omitempty"` - SuppressPowerOn *bool `xml:"suppressPowerOn"` -} - -func init() { - t["RevertToCurrentSnapshotRequestType"] = reflect.TypeOf((*RevertToCurrentSnapshotRequestType)(nil)).Elem() -} - -type RevertToCurrentSnapshot_Task RevertToCurrentSnapshotRequestType - -func init() { - t["RevertToCurrentSnapshot_Task"] = reflect.TypeOf((*RevertToCurrentSnapshot_Task)(nil)).Elem() -} - -type RevertToCurrentSnapshot_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type RevertToSnapshotRequestType struct { - This ManagedObjectReference `xml:"_this"` - Host *ManagedObjectReference `xml:"host,omitempty"` - SuppressPowerOn *bool `xml:"suppressPowerOn"` -} - -func init() { - t["RevertToSnapshotRequestType"] = reflect.TypeOf((*RevertToSnapshotRequestType)(nil)).Elem() -} - -type RevertToSnapshot_Task RevertToSnapshotRequestType - -func init() { - t["RevertToSnapshot_Task"] = reflect.TypeOf((*RevertToSnapshot_Task)(nil)).Elem() -} - -type RevertToSnapshot_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type RevertVStorageObjectRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id ID `xml:"id"` - Datastore ManagedObjectReference `xml:"datastore"` - SnapshotId ID `xml:"snapshotId"` -} - -func init() { - t["RevertVStorageObjectRequestType"] = reflect.TypeOf((*RevertVStorageObjectRequestType)(nil)).Elem() -} - -type RevertVStorageObject_Task RevertVStorageObjectRequestType - -func init() { - t["RevertVStorageObject_Task"] = reflect.TypeOf((*RevertVStorageObject_Task)(nil)).Elem() -} - -type RevertVStorageObject_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type RewindCollector RewindCollectorRequestType - -func init() { - t["RewindCollector"] = reflect.TypeOf((*RewindCollector)(nil)).Elem() -} - -type RewindCollectorRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["RewindCollectorRequestType"] = reflect.TypeOf((*RewindCollectorRequestType)(nil)).Elem() -} - -type RewindCollectorResponse struct { -} - -type RoleAddedEvent struct { - RoleEvent - - PrivilegeList []string `xml:"privilegeList,omitempty"` -} - -func init() { - t["RoleAddedEvent"] = reflect.TypeOf((*RoleAddedEvent)(nil)).Elem() -} - -type RoleEvent struct { - AuthorizationEvent - - Role RoleEventArgument `xml:"role"` -} - -func init() { - t["RoleEvent"] = reflect.TypeOf((*RoleEvent)(nil)).Elem() -} - -type RoleEventArgument struct { - EventArgument - - RoleId int32 `xml:"roleId"` - Name string `xml:"name"` -} - -func init() { - t["RoleEventArgument"] = reflect.TypeOf((*RoleEventArgument)(nil)).Elem() -} - -type RoleRemovedEvent struct { - RoleEvent -} - -func init() { - t["RoleRemovedEvent"] = reflect.TypeOf((*RoleRemovedEvent)(nil)).Elem() -} - -type RoleUpdatedEvent struct { - RoleEvent - - PrivilegeList []string `xml:"privilegeList,omitempty"` - PrevRoleName string `xml:"prevRoleName,omitempty"` - PrivilegesAdded []string `xml:"privilegesAdded,omitempty"` - PrivilegesRemoved []string `xml:"privilegesRemoved,omitempty"` -} - -func init() { - t["RoleUpdatedEvent"] = reflect.TypeOf((*RoleUpdatedEvent)(nil)).Elem() -} - -type RollbackEvent struct { - DvsEvent - - HostName string `xml:"hostName"` - MethodName string `xml:"methodName,omitempty"` -} - -func init() { - t["RollbackEvent"] = reflect.TypeOf((*RollbackEvent)(nil)).Elem() -} - -type RollbackFailure struct { - DvsFault - - EntityName string `xml:"entityName"` - EntityType string `xml:"entityType"` -} - -func init() { - t["RollbackFailure"] = reflect.TypeOf((*RollbackFailure)(nil)).Elem() -} - -type RollbackFailureFault RollbackFailure - -func init() { - t["RollbackFailureFault"] = reflect.TypeOf((*RollbackFailureFault)(nil)).Elem() -} - -type RuleViolation struct { - VmConfigFault - - Host *ManagedObjectReference `xml:"host,omitempty"` - Rule BaseClusterRuleInfo `xml:"rule,omitempty,typeattr"` -} - -func init() { - t["RuleViolation"] = reflect.TypeOf((*RuleViolation)(nil)).Elem() -} - -type RuleViolationFault RuleViolation - -func init() { - t["RuleViolationFault"] = reflect.TypeOf((*RuleViolationFault)(nil)).Elem() -} - -type RunScheduledTask RunScheduledTaskRequestType - -func init() { - t["RunScheduledTask"] = reflect.TypeOf((*RunScheduledTask)(nil)).Elem() -} - -type RunScheduledTaskRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["RunScheduledTaskRequestType"] = reflect.TypeOf((*RunScheduledTaskRequestType)(nil)).Elem() -} - -type RunScheduledTaskResponse struct { -} - -type RunScriptAction struct { - Action - - Script string `xml:"script"` -} - -func init() { - t["RunScriptAction"] = reflect.TypeOf((*RunScriptAction)(nil)).Elem() -} - -type RunVsanPhysicalDiskDiagnostics RunVsanPhysicalDiskDiagnosticsRequestType - -func init() { - t["RunVsanPhysicalDiskDiagnostics"] = reflect.TypeOf((*RunVsanPhysicalDiskDiagnostics)(nil)).Elem() -} - -type RunVsanPhysicalDiskDiagnosticsRequestType struct { - This ManagedObjectReference `xml:"_this"` - Disks []string `xml:"disks,omitempty"` -} - -func init() { - t["RunVsanPhysicalDiskDiagnosticsRequestType"] = reflect.TypeOf((*RunVsanPhysicalDiskDiagnosticsRequestType)(nil)).Elem() -} - -type RunVsanPhysicalDiskDiagnosticsResponse struct { - Returnval []HostVsanInternalSystemVsanPhysicalDiskDiagnosticsResult `xml:"returnval"` -} - -type RuntimeFault struct { - MethodFault -} - -func init() { - t["RuntimeFault"] = reflect.TypeOf((*RuntimeFault)(nil)).Elem() -} - -type RuntimeFaultFault BaseRuntimeFault - -func init() { - t["RuntimeFaultFault"] = reflect.TypeOf((*RuntimeFaultFault)(nil)).Elem() -} - -type SAMLTokenAuthentication struct { - GuestAuthentication - - Token string `xml:"token"` - Username string `xml:"username,omitempty"` -} - -func init() { - t["SAMLTokenAuthentication"] = reflect.TypeOf((*SAMLTokenAuthentication)(nil)).Elem() -} - -type SDDCBase struct { - DynamicData -} - -func init() { - t["SDDCBase"] = reflect.TypeOf((*SDDCBase)(nil)).Elem() -} - -type SSLDisabledFault struct { - HostConnectFault -} - -func init() { - t["SSLDisabledFault"] = reflect.TypeOf((*SSLDisabledFault)(nil)).Elem() -} - -type SSLDisabledFaultFault SSLDisabledFault - -func init() { - t["SSLDisabledFaultFault"] = reflect.TypeOf((*SSLDisabledFaultFault)(nil)).Elem() -} - -type SSLVerifyFault struct { - HostConnectFault - - SelfSigned bool `xml:"selfSigned"` - Thumbprint string `xml:"thumbprint"` -} - -func init() { - t["SSLVerifyFault"] = reflect.TypeOf((*SSLVerifyFault)(nil)).Elem() -} - -type SSLVerifyFaultFault SSLVerifyFault - -func init() { - t["SSLVerifyFaultFault"] = reflect.TypeOf((*SSLVerifyFaultFault)(nil)).Elem() -} - -type SSPIAuthentication struct { - GuestAuthentication - - SspiToken string `xml:"sspiToken"` -} - -func init() { - t["SSPIAuthentication"] = reflect.TypeOf((*SSPIAuthentication)(nil)).Elem() -} - -type SSPIChallenge struct { - VimFault - - Base64Token string `xml:"base64Token"` -} - -func init() { - t["SSPIChallenge"] = reflect.TypeOf((*SSPIChallenge)(nil)).Elem() -} - -type SSPIChallengeFault SSPIChallenge - -func init() { - t["SSPIChallengeFault"] = reflect.TypeOf((*SSPIChallengeFault)(nil)).Elem() -} - -type ScanHostPatchRequestType struct { - This ManagedObjectReference `xml:"_this"` - Repository HostPatchManagerLocator `xml:"repository"` - UpdateID []string `xml:"updateID,omitempty"` -} - -func init() { - t["ScanHostPatchRequestType"] = reflect.TypeOf((*ScanHostPatchRequestType)(nil)).Elem() -} - -type ScanHostPatchV2RequestType struct { - This ManagedObjectReference `xml:"_this"` - MetaUrls []string `xml:"metaUrls,omitempty"` - BundleUrls []string `xml:"bundleUrls,omitempty"` - Spec *HostPatchManagerPatchManagerOperationSpec `xml:"spec,omitempty"` -} - -func init() { - t["ScanHostPatchV2RequestType"] = reflect.TypeOf((*ScanHostPatchV2RequestType)(nil)).Elem() -} - -type ScanHostPatchV2_Task ScanHostPatchV2RequestType - -func init() { - t["ScanHostPatchV2_Task"] = reflect.TypeOf((*ScanHostPatchV2_Task)(nil)).Elem() -} - -type ScanHostPatchV2_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ScanHostPatch_Task ScanHostPatchRequestType - -func init() { - t["ScanHostPatch_Task"] = reflect.TypeOf((*ScanHostPatch_Task)(nil)).Elem() -} - -type ScanHostPatch_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ScheduleReconcileDatastoreInventory ScheduleReconcileDatastoreInventoryRequestType - -func init() { - t["ScheduleReconcileDatastoreInventory"] = reflect.TypeOf((*ScheduleReconcileDatastoreInventory)(nil)).Elem() -} - -type ScheduleReconcileDatastoreInventoryRequestType struct { - This ManagedObjectReference `xml:"_this"` - Datastore ManagedObjectReference `xml:"datastore"` -} - -func init() { - t["ScheduleReconcileDatastoreInventoryRequestType"] = reflect.TypeOf((*ScheduleReconcileDatastoreInventoryRequestType)(nil)).Elem() -} - -type ScheduleReconcileDatastoreInventoryResponse struct { -} - -type ScheduledHardwareUpgradeInfo struct { - DynamicData - - UpgradePolicy string `xml:"upgradePolicy,omitempty"` - VersionKey string `xml:"versionKey,omitempty"` - ScheduledHardwareUpgradeStatus string `xml:"scheduledHardwareUpgradeStatus,omitempty"` - Fault *LocalizedMethodFault `xml:"fault,omitempty"` -} - -func init() { - t["ScheduledHardwareUpgradeInfo"] = reflect.TypeOf((*ScheduledHardwareUpgradeInfo)(nil)).Elem() -} - -type ScheduledTaskCompletedEvent struct { - ScheduledTaskEvent -} - -func init() { - t["ScheduledTaskCompletedEvent"] = reflect.TypeOf((*ScheduledTaskCompletedEvent)(nil)).Elem() -} - -type ScheduledTaskCreatedEvent struct { - ScheduledTaskEvent -} - -func init() { - t["ScheduledTaskCreatedEvent"] = reflect.TypeOf((*ScheduledTaskCreatedEvent)(nil)).Elem() -} - -type ScheduledTaskDescription struct { - DynamicData - - Action []BaseTypeDescription `xml:"action,typeattr"` - SchedulerInfo []ScheduledTaskDetail `xml:"schedulerInfo"` - State []BaseElementDescription `xml:"state,typeattr"` - DayOfWeek []BaseElementDescription `xml:"dayOfWeek,typeattr"` - WeekOfMonth []BaseElementDescription `xml:"weekOfMonth,typeattr"` -} - -func init() { - t["ScheduledTaskDescription"] = reflect.TypeOf((*ScheduledTaskDescription)(nil)).Elem() -} - -type ScheduledTaskDetail struct { - TypeDescription - - Frequency string `xml:"frequency"` -} - -func init() { - t["ScheduledTaskDetail"] = reflect.TypeOf((*ScheduledTaskDetail)(nil)).Elem() -} - -type ScheduledTaskEmailCompletedEvent struct { - ScheduledTaskEvent - - To string `xml:"to"` -} - -func init() { - t["ScheduledTaskEmailCompletedEvent"] = reflect.TypeOf((*ScheduledTaskEmailCompletedEvent)(nil)).Elem() -} - -type ScheduledTaskEmailFailedEvent struct { - ScheduledTaskEvent - - To string `xml:"to"` - Reason LocalizedMethodFault `xml:"reason"` -} - -func init() { - t["ScheduledTaskEmailFailedEvent"] = reflect.TypeOf((*ScheduledTaskEmailFailedEvent)(nil)).Elem() -} - -type ScheduledTaskEvent struct { - Event - - ScheduledTask ScheduledTaskEventArgument `xml:"scheduledTask"` - Entity ManagedEntityEventArgument `xml:"entity"` -} - -func init() { - t["ScheduledTaskEvent"] = reflect.TypeOf((*ScheduledTaskEvent)(nil)).Elem() -} - -type ScheduledTaskEventArgument struct { - EntityEventArgument - - ScheduledTask ManagedObjectReference `xml:"scheduledTask"` -} - -func init() { - t["ScheduledTaskEventArgument"] = reflect.TypeOf((*ScheduledTaskEventArgument)(nil)).Elem() -} - -type ScheduledTaskFailedEvent struct { - ScheduledTaskEvent - - Reason LocalizedMethodFault `xml:"reason"` -} - -func init() { - t["ScheduledTaskFailedEvent"] = reflect.TypeOf((*ScheduledTaskFailedEvent)(nil)).Elem() -} - -type ScheduledTaskInfo struct { - ScheduledTaskSpec - - ScheduledTask ManagedObjectReference `xml:"scheduledTask"` - Entity ManagedObjectReference `xml:"entity"` - LastModifiedTime time.Time `xml:"lastModifiedTime"` - LastModifiedUser string `xml:"lastModifiedUser"` - NextRunTime *time.Time `xml:"nextRunTime"` - PrevRunTime *time.Time `xml:"prevRunTime"` - State TaskInfoState `xml:"state"` - Error *LocalizedMethodFault `xml:"error,omitempty"` - Result AnyType `xml:"result,omitempty,typeattr"` - Progress int32 `xml:"progress,omitempty"` - ActiveTask *ManagedObjectReference `xml:"activeTask,omitempty"` - TaskObject *ManagedObjectReference `xml:"taskObject,omitempty"` -} - -func init() { - t["ScheduledTaskInfo"] = reflect.TypeOf((*ScheduledTaskInfo)(nil)).Elem() -} - -type ScheduledTaskReconfiguredEvent struct { - ScheduledTaskEvent - - ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty"` -} - -func init() { - t["ScheduledTaskReconfiguredEvent"] = reflect.TypeOf((*ScheduledTaskReconfiguredEvent)(nil)).Elem() -} - -type ScheduledTaskRemovedEvent struct { - ScheduledTaskEvent -} - -func init() { - t["ScheduledTaskRemovedEvent"] = reflect.TypeOf((*ScheduledTaskRemovedEvent)(nil)).Elem() -} - -type ScheduledTaskSpec struct { - DynamicData - - Name string `xml:"name"` - Description string `xml:"description"` - Enabled bool `xml:"enabled"` - Scheduler BaseTaskScheduler `xml:"scheduler,typeattr"` - Action BaseAction `xml:"action,typeattr"` - Notification string `xml:"notification,omitempty"` -} - -func init() { - t["ScheduledTaskSpec"] = reflect.TypeOf((*ScheduledTaskSpec)(nil)).Elem() -} - -type ScheduledTaskStartedEvent struct { - ScheduledTaskEvent -} - -func init() { - t["ScheduledTaskStartedEvent"] = reflect.TypeOf((*ScheduledTaskStartedEvent)(nil)).Elem() -} - -type ScsiLun struct { - HostDevice - - Key string `xml:"key,omitempty"` - Uuid string `xml:"uuid"` - Descriptor []ScsiLunDescriptor `xml:"descriptor,omitempty"` - CanonicalName string `xml:"canonicalName,omitempty"` - DisplayName string `xml:"displayName,omitempty"` - LunType string `xml:"lunType"` - Vendor string `xml:"vendor,omitempty"` - Model string `xml:"model,omitempty"` - Revision string `xml:"revision,omitempty"` - ScsiLevel int32 `xml:"scsiLevel,omitempty"` - SerialNumber string `xml:"serialNumber,omitempty"` - DurableName *ScsiLunDurableName `xml:"durableName,omitempty"` - AlternateName []ScsiLunDurableName `xml:"alternateName,omitempty"` - StandardInquiry []byte `xml:"standardInquiry,omitempty"` - QueueDepth int32 `xml:"queueDepth,omitempty"` - OperationalState []string `xml:"operationalState"` - Capabilities *ScsiLunCapabilities `xml:"capabilities,omitempty"` - VStorageSupport string `xml:"vStorageSupport,omitempty"` - ProtocolEndpoint *bool `xml:"protocolEndpoint"` - PerenniallyReserved *bool `xml:"perenniallyReserved"` - ClusteredVmdkSupported *bool `xml:"clusteredVmdkSupported"` -} - -func init() { - t["ScsiLun"] = reflect.TypeOf((*ScsiLun)(nil)).Elem() -} - -type ScsiLunCapabilities struct { - DynamicData - - UpdateDisplayNameSupported bool `xml:"updateDisplayNameSupported"` -} - -func init() { - t["ScsiLunCapabilities"] = reflect.TypeOf((*ScsiLunCapabilities)(nil)).Elem() -} - -type ScsiLunDescriptor struct { - DynamicData - - Quality string `xml:"quality"` - Id string `xml:"id"` -} - -func init() { - t["ScsiLunDescriptor"] = reflect.TypeOf((*ScsiLunDescriptor)(nil)).Elem() -} - -type ScsiLunDurableName struct { - DynamicData - - Namespace string `xml:"namespace"` - NamespaceId byte `xml:"namespaceId"` - Data []byte `xml:"data,omitempty"` -} - -func init() { - t["ScsiLunDurableName"] = reflect.TypeOf((*ScsiLunDurableName)(nil)).Elem() -} - -type SeSparseVirtualDiskSpec struct { - FileBackedVirtualDiskSpec - - GrainSizeKb int32 `xml:"grainSizeKb,omitempty"` -} - -func init() { - t["SeSparseVirtualDiskSpec"] = reflect.TypeOf((*SeSparseVirtualDiskSpec)(nil)).Elem() -} - -type SearchDatastoreRequestType struct { - This ManagedObjectReference `xml:"_this"` - DatastorePath string `xml:"datastorePath"` - SearchSpec *HostDatastoreBrowserSearchSpec `xml:"searchSpec,omitempty"` -} - -func init() { - t["SearchDatastoreRequestType"] = reflect.TypeOf((*SearchDatastoreRequestType)(nil)).Elem() -} - -type SearchDatastoreSubFoldersRequestType struct { - This ManagedObjectReference `xml:"_this"` - DatastorePath string `xml:"datastorePath"` - SearchSpec *HostDatastoreBrowserSearchSpec `xml:"searchSpec,omitempty"` -} - -func init() { - t["SearchDatastoreSubFoldersRequestType"] = reflect.TypeOf((*SearchDatastoreSubFoldersRequestType)(nil)).Elem() -} - -type SearchDatastoreSubFolders_Task SearchDatastoreSubFoldersRequestType - -func init() { - t["SearchDatastoreSubFolders_Task"] = reflect.TypeOf((*SearchDatastoreSubFolders_Task)(nil)).Elem() -} - -type SearchDatastoreSubFolders_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type SearchDatastore_Task SearchDatastoreRequestType - -func init() { - t["SearchDatastore_Task"] = reflect.TypeOf((*SearchDatastore_Task)(nil)).Elem() -} - -type SearchDatastore_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type SecondaryVmAlreadyDisabled struct { - VmFaultToleranceIssue - - InstanceUuid string `xml:"instanceUuid"` -} - -func init() { - t["SecondaryVmAlreadyDisabled"] = reflect.TypeOf((*SecondaryVmAlreadyDisabled)(nil)).Elem() -} - -type SecondaryVmAlreadyDisabledFault SecondaryVmAlreadyDisabled - -func init() { - t["SecondaryVmAlreadyDisabledFault"] = reflect.TypeOf((*SecondaryVmAlreadyDisabledFault)(nil)).Elem() -} - -type SecondaryVmAlreadyEnabled struct { - VmFaultToleranceIssue - - InstanceUuid string `xml:"instanceUuid"` -} - -func init() { - t["SecondaryVmAlreadyEnabled"] = reflect.TypeOf((*SecondaryVmAlreadyEnabled)(nil)).Elem() -} - -type SecondaryVmAlreadyEnabledFault SecondaryVmAlreadyEnabled - -func init() { - t["SecondaryVmAlreadyEnabledFault"] = reflect.TypeOf((*SecondaryVmAlreadyEnabledFault)(nil)).Elem() -} - -type SecondaryVmAlreadyRegistered struct { - VmFaultToleranceIssue - - InstanceUuid string `xml:"instanceUuid"` -} - -func init() { - t["SecondaryVmAlreadyRegistered"] = reflect.TypeOf((*SecondaryVmAlreadyRegistered)(nil)).Elem() -} - -type SecondaryVmAlreadyRegisteredFault SecondaryVmAlreadyRegistered - -func init() { - t["SecondaryVmAlreadyRegisteredFault"] = reflect.TypeOf((*SecondaryVmAlreadyRegisteredFault)(nil)).Elem() -} - -type SecondaryVmNotRegistered struct { - VmFaultToleranceIssue - - InstanceUuid string `xml:"instanceUuid"` -} - -func init() { - t["SecondaryVmNotRegistered"] = reflect.TypeOf((*SecondaryVmNotRegistered)(nil)).Elem() -} - -type SecondaryVmNotRegisteredFault SecondaryVmNotRegistered - -func init() { - t["SecondaryVmNotRegisteredFault"] = reflect.TypeOf((*SecondaryVmNotRegisteredFault)(nil)).Elem() -} - -type SecurityError struct { - RuntimeFault -} - -func init() { - t["SecurityError"] = reflect.TypeOf((*SecurityError)(nil)).Elem() -} - -type SecurityErrorFault BaseSecurityError - -func init() { - t["SecurityErrorFault"] = reflect.TypeOf((*SecurityErrorFault)(nil)).Elem() -} - -type SecurityProfile struct { - ApplyProfile - - Permission []PermissionProfile `xml:"permission,omitempty"` -} - -func init() { - t["SecurityProfile"] = reflect.TypeOf((*SecurityProfile)(nil)).Elem() -} - -type SelectActivePartition SelectActivePartitionRequestType - -func init() { - t["SelectActivePartition"] = reflect.TypeOf((*SelectActivePartition)(nil)).Elem() -} - -type SelectActivePartitionRequestType struct { - This ManagedObjectReference `xml:"_this"` - Partition *HostScsiDiskPartition `xml:"partition,omitempty"` -} - -func init() { - t["SelectActivePartitionRequestType"] = reflect.TypeOf((*SelectActivePartitionRequestType)(nil)).Elem() -} - -type SelectActivePartitionResponse struct { -} - -type SelectVnic SelectVnicRequestType - -func init() { - t["SelectVnic"] = reflect.TypeOf((*SelectVnic)(nil)).Elem() -} - -type SelectVnicForNicType SelectVnicForNicTypeRequestType - -func init() { - t["SelectVnicForNicType"] = reflect.TypeOf((*SelectVnicForNicType)(nil)).Elem() -} - -type SelectVnicForNicTypeRequestType struct { - This ManagedObjectReference `xml:"_this"` - NicType string `xml:"nicType"` - Device string `xml:"device"` -} - -func init() { - t["SelectVnicForNicTypeRequestType"] = reflect.TypeOf((*SelectVnicForNicTypeRequestType)(nil)).Elem() -} - -type SelectVnicForNicTypeResponse struct { -} - -type SelectVnicRequestType struct { - This ManagedObjectReference `xml:"_this"` - Device string `xml:"device"` -} - -func init() { - t["SelectVnicRequestType"] = reflect.TypeOf((*SelectVnicRequestType)(nil)).Elem() -} - -type SelectVnicResponse struct { -} - -type SelectionSet struct { - DynamicData -} - -func init() { - t["SelectionSet"] = reflect.TypeOf((*SelectionSet)(nil)).Elem() -} - -type SelectionSpec struct { - DynamicData - - Name string `xml:"name,omitempty"` -} - -func init() { - t["SelectionSpec"] = reflect.TypeOf((*SelectionSpec)(nil)).Elem() -} - -type SendEmailAction struct { - Action - - ToList string `xml:"toList"` - CcList string `xml:"ccList"` - Subject string `xml:"subject"` - Body string `xml:"body"` -} - -func init() { - t["SendEmailAction"] = reflect.TypeOf((*SendEmailAction)(nil)).Elem() -} - -type SendNMI SendNMIRequestType - -func init() { - t["SendNMI"] = reflect.TypeOf((*SendNMI)(nil)).Elem() -} - -type SendNMIRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["SendNMIRequestType"] = reflect.TypeOf((*SendNMIRequestType)(nil)).Elem() -} - -type SendNMIResponse struct { -} - -type SendSNMPAction struct { - Action -} - -func init() { - t["SendSNMPAction"] = reflect.TypeOf((*SendSNMPAction)(nil)).Elem() -} - -type SendTestNotification SendTestNotificationRequestType - -func init() { - t["SendTestNotification"] = reflect.TypeOf((*SendTestNotification)(nil)).Elem() -} - -type SendTestNotificationRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["SendTestNotificationRequestType"] = reflect.TypeOf((*SendTestNotificationRequestType)(nil)).Elem() -} - -type SendTestNotificationResponse struct { -} - -type ServerLicenseExpiredEvent struct { - LicenseEvent - - Product string `xml:"product"` -} - -func init() { - t["ServerLicenseExpiredEvent"] = reflect.TypeOf((*ServerLicenseExpiredEvent)(nil)).Elem() -} - -type ServerStartedSessionEvent struct { - SessionEvent -} - -func init() { - t["ServerStartedSessionEvent"] = reflect.TypeOf((*ServerStartedSessionEvent)(nil)).Elem() -} - -type ServiceConsolePortGroupProfile struct { - PortGroupProfile - - IpConfig IpAddressProfile `xml:"ipConfig"` -} - -func init() { - t["ServiceConsolePortGroupProfile"] = reflect.TypeOf((*ServiceConsolePortGroupProfile)(nil)).Elem() -} - -type ServiceConsoleReservationInfo struct { - DynamicData - - ServiceConsoleReservedCfg int64 `xml:"serviceConsoleReservedCfg"` - ServiceConsoleReserved int64 `xml:"serviceConsoleReserved"` - Unreserved int64 `xml:"unreserved"` -} - -func init() { - t["ServiceConsoleReservationInfo"] = reflect.TypeOf((*ServiceConsoleReservationInfo)(nil)).Elem() -} - -type ServiceContent struct { - DynamicData - - RootFolder ManagedObjectReference `xml:"rootFolder"` - PropertyCollector ManagedObjectReference `xml:"propertyCollector"` - ViewManager *ManagedObjectReference `xml:"viewManager,omitempty"` - About AboutInfo `xml:"about"` - Setting *ManagedObjectReference `xml:"setting,omitempty"` - UserDirectory *ManagedObjectReference `xml:"userDirectory,omitempty"` - SessionManager *ManagedObjectReference `xml:"sessionManager,omitempty"` - AuthorizationManager *ManagedObjectReference `xml:"authorizationManager,omitempty"` - ServiceManager *ManagedObjectReference `xml:"serviceManager,omitempty"` - PerfManager *ManagedObjectReference `xml:"perfManager,omitempty"` - ScheduledTaskManager *ManagedObjectReference `xml:"scheduledTaskManager,omitempty"` - AlarmManager *ManagedObjectReference `xml:"alarmManager,omitempty"` - EventManager *ManagedObjectReference `xml:"eventManager,omitempty"` - TaskManager *ManagedObjectReference `xml:"taskManager,omitempty"` - ExtensionManager *ManagedObjectReference `xml:"extensionManager,omitempty"` - CustomizationSpecManager *ManagedObjectReference `xml:"customizationSpecManager,omitempty"` - GuestCustomizationManager *ManagedObjectReference `xml:"guestCustomizationManager,omitempty"` - CustomFieldsManager *ManagedObjectReference `xml:"customFieldsManager,omitempty"` - AccountManager *ManagedObjectReference `xml:"accountManager,omitempty"` - DiagnosticManager *ManagedObjectReference `xml:"diagnosticManager,omitempty"` - LicenseManager *ManagedObjectReference `xml:"licenseManager,omitempty"` - SearchIndex *ManagedObjectReference `xml:"searchIndex,omitempty"` - FileManager *ManagedObjectReference `xml:"fileManager,omitempty"` - DatastoreNamespaceManager *ManagedObjectReference `xml:"datastoreNamespaceManager,omitempty"` - VirtualDiskManager *ManagedObjectReference `xml:"virtualDiskManager,omitempty"` - VirtualizationManager *ManagedObjectReference `xml:"virtualizationManager,omitempty"` - SnmpSystem *ManagedObjectReference `xml:"snmpSystem,omitempty"` - VmProvisioningChecker *ManagedObjectReference `xml:"vmProvisioningChecker,omitempty"` - VmCompatibilityChecker *ManagedObjectReference `xml:"vmCompatibilityChecker,omitempty"` - OvfManager *ManagedObjectReference `xml:"ovfManager,omitempty"` - IpPoolManager *ManagedObjectReference `xml:"ipPoolManager,omitempty"` - DvSwitchManager *ManagedObjectReference `xml:"dvSwitchManager,omitempty"` - HostProfileManager *ManagedObjectReference `xml:"hostProfileManager,omitempty"` - ClusterProfileManager *ManagedObjectReference `xml:"clusterProfileManager,omitempty"` - ComplianceManager *ManagedObjectReference `xml:"complianceManager,omitempty"` - LocalizationManager *ManagedObjectReference `xml:"localizationManager,omitempty"` - StorageResourceManager *ManagedObjectReference `xml:"storageResourceManager,omitempty"` - GuestOperationsManager *ManagedObjectReference `xml:"guestOperationsManager,omitempty"` - OverheadMemoryManager *ManagedObjectReference `xml:"overheadMemoryManager,omitempty"` - CertificateManager *ManagedObjectReference `xml:"certificateManager,omitempty"` - IoFilterManager *ManagedObjectReference `xml:"ioFilterManager,omitempty"` - VStorageObjectManager *ManagedObjectReference `xml:"vStorageObjectManager,omitempty"` - HostSpecManager *ManagedObjectReference `xml:"hostSpecManager,omitempty"` - CryptoManager *ManagedObjectReference `xml:"cryptoManager,omitempty"` - HealthUpdateManager *ManagedObjectReference `xml:"healthUpdateManager,omitempty"` - FailoverClusterConfigurator *ManagedObjectReference `xml:"failoverClusterConfigurator,omitempty"` - FailoverClusterManager *ManagedObjectReference `xml:"failoverClusterManager,omitempty"` - TenantManager *ManagedObjectReference `xml:"tenantManager,omitempty"` - SiteInfoManager *ManagedObjectReference `xml:"siteInfoManager,omitempty"` - StorageQueryManager *ManagedObjectReference `xml:"storageQueryManager,omitempty"` -} - -func init() { - t["ServiceContent"] = reflect.TypeOf((*ServiceContent)(nil)).Elem() -} - -type ServiceLocator struct { - DynamicData - - InstanceUuid string `xml:"instanceUuid"` - Url string `xml:"url"` - Credential BaseServiceLocatorCredential `xml:"credential,typeattr"` - SslThumbprint string `xml:"sslThumbprint,omitempty"` -} - -func init() { - t["ServiceLocator"] = reflect.TypeOf((*ServiceLocator)(nil)).Elem() -} - -type ServiceLocatorCredential struct { - DynamicData -} - -func init() { - t["ServiceLocatorCredential"] = reflect.TypeOf((*ServiceLocatorCredential)(nil)).Elem() -} - -type ServiceLocatorNamePassword struct { - ServiceLocatorCredential - - Username string `xml:"username"` - Password string `xml:"password"` -} - -func init() { - t["ServiceLocatorNamePassword"] = reflect.TypeOf((*ServiceLocatorNamePassword)(nil)).Elem() -} - -type ServiceLocatorSAMLCredential struct { - ServiceLocatorCredential - - Token string `xml:"token,omitempty"` -} - -func init() { - t["ServiceLocatorSAMLCredential"] = reflect.TypeOf((*ServiceLocatorSAMLCredential)(nil)).Elem() -} - -type ServiceManagerServiceInfo struct { - DynamicData - - ServiceName string `xml:"serviceName"` - Location []string `xml:"location,omitempty"` - Service ManagedObjectReference `xml:"service"` - Description string `xml:"description"` -} - -func init() { - t["ServiceManagerServiceInfo"] = reflect.TypeOf((*ServiceManagerServiceInfo)(nil)).Elem() -} - -type ServiceProfile struct { - ApplyProfile - - Key string `xml:"key"` -} - -func init() { - t["ServiceProfile"] = reflect.TypeOf((*ServiceProfile)(nil)).Elem() -} - -type SessionEvent struct { - Event -} - -func init() { - t["SessionEvent"] = reflect.TypeOf((*SessionEvent)(nil)).Elem() -} - -type SessionIsActive SessionIsActiveRequestType - -func init() { - t["SessionIsActive"] = reflect.TypeOf((*SessionIsActive)(nil)).Elem() -} - -type SessionIsActiveRequestType struct { - This ManagedObjectReference `xml:"_this"` - SessionID string `xml:"sessionID"` - UserName string `xml:"userName"` -} - -func init() { - t["SessionIsActiveRequestType"] = reflect.TypeOf((*SessionIsActiveRequestType)(nil)).Elem() -} - -type SessionIsActiveResponse struct { - Returnval bool `xml:"returnval"` -} - -type SessionManagerGenericServiceTicket struct { - DynamicData - - Id string `xml:"id"` - HostName string `xml:"hostName,omitempty"` - SslThumbprint string `xml:"sslThumbprint,omitempty"` - CertThumbprintList []VirtualMachineCertThumbprint `xml:"certThumbprintList,omitempty"` - TicketType string `xml:"ticketType,omitempty"` -} - -func init() { - t["SessionManagerGenericServiceTicket"] = reflect.TypeOf((*SessionManagerGenericServiceTicket)(nil)).Elem() -} - -type SessionManagerHttpServiceRequestSpec struct { - SessionManagerServiceRequestSpec - - Method string `xml:"method,omitempty"` - Url string `xml:"url"` -} - -func init() { - t["SessionManagerHttpServiceRequestSpec"] = reflect.TypeOf((*SessionManagerHttpServiceRequestSpec)(nil)).Elem() -} - -type SessionManagerLocalTicket struct { - DynamicData - - UserName string `xml:"userName"` - PasswordFilePath string `xml:"passwordFilePath"` -} - -func init() { - t["SessionManagerLocalTicket"] = reflect.TypeOf((*SessionManagerLocalTicket)(nil)).Elem() -} - -type SessionManagerServiceRequestSpec struct { - DynamicData -} - -func init() { - t["SessionManagerServiceRequestSpec"] = reflect.TypeOf((*SessionManagerServiceRequestSpec)(nil)).Elem() -} - -type SessionManagerVmomiServiceRequestSpec struct { - SessionManagerServiceRequestSpec - - Method string `xml:"method"` -} - -func init() { - t["SessionManagerVmomiServiceRequestSpec"] = reflect.TypeOf((*SessionManagerVmomiServiceRequestSpec)(nil)).Elem() -} - -type SessionTerminatedEvent struct { - SessionEvent - - SessionId string `xml:"sessionId"` - TerminatedUsername string `xml:"terminatedUsername"` -} - -func init() { - t["SessionTerminatedEvent"] = reflect.TypeOf((*SessionTerminatedEvent)(nil)).Elem() -} - -type SetCollectorPageSize SetCollectorPageSizeRequestType - -func init() { - t["SetCollectorPageSize"] = reflect.TypeOf((*SetCollectorPageSize)(nil)).Elem() -} - -type SetCollectorPageSizeRequestType struct { - This ManagedObjectReference `xml:"_this"` - MaxCount int32 `xml:"maxCount"` -} - -func init() { - t["SetCollectorPageSizeRequestType"] = reflect.TypeOf((*SetCollectorPageSizeRequestType)(nil)).Elem() -} - -type SetCollectorPageSizeResponse struct { -} - -type SetCryptoMode SetCryptoModeRequestType - -func init() { - t["SetCryptoMode"] = reflect.TypeOf((*SetCryptoMode)(nil)).Elem() -} - -type SetCryptoModeRequestType struct { - This ManagedObjectReference `xml:"_this"` - CryptoMode string `xml:"cryptoMode"` -} - -func init() { - t["SetCryptoModeRequestType"] = reflect.TypeOf((*SetCryptoModeRequestType)(nil)).Elem() -} - -type SetCryptoModeResponse struct { -} - -type SetDefaultKmsCluster SetDefaultKmsClusterRequestType - -func init() { - t["SetDefaultKmsCluster"] = reflect.TypeOf((*SetDefaultKmsCluster)(nil)).Elem() -} - -type SetDefaultKmsClusterRequestType struct { - This ManagedObjectReference `xml:"_this"` - Entity *ManagedObjectReference `xml:"entity,omitempty"` - ClusterId *KeyProviderId `xml:"clusterId,omitempty"` -} - -func init() { - t["SetDefaultKmsClusterRequestType"] = reflect.TypeOf((*SetDefaultKmsClusterRequestType)(nil)).Elem() -} - -type SetDefaultKmsClusterResponse struct { -} - -type SetDisplayTopology SetDisplayTopologyRequestType - -func init() { - t["SetDisplayTopology"] = reflect.TypeOf((*SetDisplayTopology)(nil)).Elem() -} - -type SetDisplayTopologyRequestType struct { - This ManagedObjectReference `xml:"_this"` - Displays []VirtualMachineDisplayTopology `xml:"displays"` -} - -func init() { - t["SetDisplayTopologyRequestType"] = reflect.TypeOf((*SetDisplayTopologyRequestType)(nil)).Elem() -} - -type SetDisplayTopologyResponse struct { -} - -type SetEntityPermissions SetEntityPermissionsRequestType - -func init() { - t["SetEntityPermissions"] = reflect.TypeOf((*SetEntityPermissions)(nil)).Elem() -} - -type SetEntityPermissionsRequestType struct { - This ManagedObjectReference `xml:"_this"` - Entity ManagedObjectReference `xml:"entity"` - Permission []Permission `xml:"permission,omitempty"` -} - -func init() { - t["SetEntityPermissionsRequestType"] = reflect.TypeOf((*SetEntityPermissionsRequestType)(nil)).Elem() -} - -type SetEntityPermissionsResponse struct { -} - -type SetExtensionCertificate SetExtensionCertificateRequestType - -func init() { - t["SetExtensionCertificate"] = reflect.TypeOf((*SetExtensionCertificate)(nil)).Elem() -} - -type SetExtensionCertificateRequestType struct { - This ManagedObjectReference `xml:"_this"` - ExtensionKey string `xml:"extensionKey"` - CertificatePem string `xml:"certificatePem,omitempty"` -} - -func init() { - t["SetExtensionCertificateRequestType"] = reflect.TypeOf((*SetExtensionCertificateRequestType)(nil)).Elem() -} - -type SetExtensionCertificateResponse struct { -} - -type SetField SetFieldRequestType - -func init() { - t["SetField"] = reflect.TypeOf((*SetField)(nil)).Elem() -} - -type SetFieldRequestType struct { - This ManagedObjectReference `xml:"_this"` - Entity ManagedObjectReference `xml:"entity"` - Key int32 `xml:"key"` - Value string `xml:"value"` -} - -func init() { - t["SetFieldRequestType"] = reflect.TypeOf((*SetFieldRequestType)(nil)).Elem() -} - -type SetFieldResponse struct { -} - -type SetLicenseEdition SetLicenseEditionRequestType - -func init() { - t["SetLicenseEdition"] = reflect.TypeOf((*SetLicenseEdition)(nil)).Elem() -} - -type SetLicenseEditionRequestType struct { - This ManagedObjectReference `xml:"_this"` - Host *ManagedObjectReference `xml:"host,omitempty"` - FeatureKey string `xml:"featureKey,omitempty"` -} - -func init() { - t["SetLicenseEditionRequestType"] = reflect.TypeOf((*SetLicenseEditionRequestType)(nil)).Elem() -} - -type SetLicenseEditionResponse struct { -} - -type SetLocale SetLocaleRequestType - -func init() { - t["SetLocale"] = reflect.TypeOf((*SetLocale)(nil)).Elem() -} - -type SetLocaleRequestType struct { - This ManagedObjectReference `xml:"_this"` - Locale string `xml:"locale"` -} - -func init() { - t["SetLocaleRequestType"] = reflect.TypeOf((*SetLocaleRequestType)(nil)).Elem() -} - -type SetLocaleResponse struct { -} - -type SetMaxQueueDepth SetMaxQueueDepthRequestType - -func init() { - t["SetMaxQueueDepth"] = reflect.TypeOf((*SetMaxQueueDepth)(nil)).Elem() -} - -type SetMaxQueueDepthRequestType struct { - This ManagedObjectReference `xml:"_this"` - Datastore ManagedObjectReference `xml:"datastore"` - MaxQdepth int64 `xml:"maxQdepth"` -} - -func init() { - t["SetMaxQueueDepthRequestType"] = reflect.TypeOf((*SetMaxQueueDepthRequestType)(nil)).Elem() -} - -type SetMaxQueueDepthResponse struct { -} - -type SetMultipathLunPolicy SetMultipathLunPolicyRequestType - -func init() { - t["SetMultipathLunPolicy"] = reflect.TypeOf((*SetMultipathLunPolicy)(nil)).Elem() -} - -type SetMultipathLunPolicyRequestType struct { - This ManagedObjectReference `xml:"_this"` - LunId string `xml:"lunId"` - Policy BaseHostMultipathInfoLogicalUnitPolicy `xml:"policy,typeattr"` -} - -func init() { - t["SetMultipathLunPolicyRequestType"] = reflect.TypeOf((*SetMultipathLunPolicyRequestType)(nil)).Elem() -} - -type SetMultipathLunPolicyResponse struct { -} - -type SetNFSUser SetNFSUserRequestType - -func init() { - t["SetNFSUser"] = reflect.TypeOf((*SetNFSUser)(nil)).Elem() -} - -type SetNFSUserRequestType struct { - This ManagedObjectReference `xml:"_this"` - User string `xml:"user"` - Password string `xml:"password"` -} - -func init() { - t["SetNFSUserRequestType"] = reflect.TypeOf((*SetNFSUserRequestType)(nil)).Elem() -} - -type SetNFSUserResponse struct { -} - -type SetPublicKey SetPublicKeyRequestType - -func init() { - t["SetPublicKey"] = reflect.TypeOf((*SetPublicKey)(nil)).Elem() -} - -type SetPublicKeyRequestType struct { - This ManagedObjectReference `xml:"_this"` - ExtensionKey string `xml:"extensionKey"` - PublicKey string `xml:"publicKey"` -} - -func init() { - t["SetPublicKeyRequestType"] = reflect.TypeOf((*SetPublicKeyRequestType)(nil)).Elem() -} - -type SetPublicKeyResponse struct { -} - -type SetRegistryValueInGuest SetRegistryValueInGuestRequestType - -func init() { - t["SetRegistryValueInGuest"] = reflect.TypeOf((*SetRegistryValueInGuest)(nil)).Elem() -} - -type SetRegistryValueInGuestRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm ManagedObjectReference `xml:"vm"` - Auth BaseGuestAuthentication `xml:"auth,typeattr"` - Value GuestRegValueSpec `xml:"value"` -} - -func init() { - t["SetRegistryValueInGuestRequestType"] = reflect.TypeOf((*SetRegistryValueInGuestRequestType)(nil)).Elem() -} - -type SetRegistryValueInGuestResponse struct { -} - -type SetScreenResolution SetScreenResolutionRequestType - -func init() { - t["SetScreenResolution"] = reflect.TypeOf((*SetScreenResolution)(nil)).Elem() -} - -type SetScreenResolutionRequestType struct { - This ManagedObjectReference `xml:"_this"` - Width int32 `xml:"width"` - Height int32 `xml:"height"` -} - -func init() { - t["SetScreenResolutionRequestType"] = reflect.TypeOf((*SetScreenResolutionRequestType)(nil)).Elem() -} - -type SetScreenResolutionResponse struct { -} - -type SetTaskDescription SetTaskDescriptionRequestType - -func init() { - t["SetTaskDescription"] = reflect.TypeOf((*SetTaskDescription)(nil)).Elem() -} - -type SetTaskDescriptionRequestType struct { - This ManagedObjectReference `xml:"_this"` - Description LocalizableMessage `xml:"description"` -} - -func init() { - t["SetTaskDescriptionRequestType"] = reflect.TypeOf((*SetTaskDescriptionRequestType)(nil)).Elem() -} - -type SetTaskDescriptionResponse struct { -} - -type SetTaskState SetTaskStateRequestType - -func init() { - t["SetTaskState"] = reflect.TypeOf((*SetTaskState)(nil)).Elem() -} - -type SetTaskStateRequestType struct { - This ManagedObjectReference `xml:"_this"` - State TaskInfoState `xml:"state"` - Result AnyType `xml:"result,omitempty,typeattr"` - Fault *LocalizedMethodFault `xml:"fault,omitempty"` -} - -func init() { - t["SetTaskStateRequestType"] = reflect.TypeOf((*SetTaskStateRequestType)(nil)).Elem() -} - -type SetTaskStateResponse struct { -} - -type SetVStorageObjectControlFlags SetVStorageObjectControlFlagsRequestType - -func init() { - t["SetVStorageObjectControlFlags"] = reflect.TypeOf((*SetVStorageObjectControlFlags)(nil)).Elem() -} - -type SetVStorageObjectControlFlagsRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id ID `xml:"id"` - Datastore ManagedObjectReference `xml:"datastore"` - ControlFlags []string `xml:"controlFlags,omitempty"` -} - -func init() { - t["SetVStorageObjectControlFlagsRequestType"] = reflect.TypeOf((*SetVStorageObjectControlFlagsRequestType)(nil)).Elem() -} - -type SetVStorageObjectControlFlagsResponse struct { -} - -type SetVirtualDiskUuid SetVirtualDiskUuidRequestType - -func init() { - t["SetVirtualDiskUuid"] = reflect.TypeOf((*SetVirtualDiskUuid)(nil)).Elem() -} - -type SetVirtualDiskUuidRequestType struct { - This ManagedObjectReference `xml:"_this"` - Name string `xml:"name"` - Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"` - Uuid string `xml:"uuid"` -} - -func init() { - t["SetVirtualDiskUuidRequestType"] = reflect.TypeOf((*SetVirtualDiskUuidRequestType)(nil)).Elem() -} - -type SetVirtualDiskUuidResponse struct { -} - -type SharedBusControllerNotSupported struct { - DeviceNotSupported -} - -func init() { - t["SharedBusControllerNotSupported"] = reflect.TypeOf((*SharedBusControllerNotSupported)(nil)).Elem() -} - -type SharedBusControllerNotSupportedFault SharedBusControllerNotSupported - -func init() { - t["SharedBusControllerNotSupportedFault"] = reflect.TypeOf((*SharedBusControllerNotSupportedFault)(nil)).Elem() -} - -type SharesInfo struct { - DynamicData - - Shares int32 `xml:"shares"` - Level SharesLevel `xml:"level"` -} - -func init() { - t["SharesInfo"] = reflect.TypeOf((*SharesInfo)(nil)).Elem() -} - -type SharesOption struct { - DynamicData - - SharesOption IntOption `xml:"sharesOption"` - DefaultLevel SharesLevel `xml:"defaultLevel"` -} - -func init() { - t["SharesOption"] = reflect.TypeOf((*SharesOption)(nil)).Elem() -} - -type ShrinkDiskFault struct { - VimFault - - DiskId int32 `xml:"diskId,omitempty"` -} - -func init() { - t["ShrinkDiskFault"] = reflect.TypeOf((*ShrinkDiskFault)(nil)).Elem() -} - -type ShrinkDiskFaultFault ShrinkDiskFault - -func init() { - t["ShrinkDiskFaultFault"] = reflect.TypeOf((*ShrinkDiskFaultFault)(nil)).Elem() -} - -type ShrinkVirtualDiskRequestType struct { - This ManagedObjectReference `xml:"_this"` - Name string `xml:"name"` - Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"` - Copy *bool `xml:"copy"` -} - -func init() { - t["ShrinkVirtualDiskRequestType"] = reflect.TypeOf((*ShrinkVirtualDiskRequestType)(nil)).Elem() -} - -type ShrinkVirtualDisk_Task ShrinkVirtualDiskRequestType - -func init() { - t["ShrinkVirtualDisk_Task"] = reflect.TypeOf((*ShrinkVirtualDisk_Task)(nil)).Elem() -} - -type ShrinkVirtualDisk_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ShutdownGuest ShutdownGuestRequestType - -func init() { - t["ShutdownGuest"] = reflect.TypeOf((*ShutdownGuest)(nil)).Elem() -} - -type ShutdownGuestRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["ShutdownGuestRequestType"] = reflect.TypeOf((*ShutdownGuestRequestType)(nil)).Elem() -} - -type ShutdownGuestResponse struct { -} - -type ShutdownHostRequestType struct { - This ManagedObjectReference `xml:"_this"` - Force bool `xml:"force"` -} - -func init() { - t["ShutdownHostRequestType"] = reflect.TypeOf((*ShutdownHostRequestType)(nil)).Elem() -} - -type ShutdownHost_Task ShutdownHostRequestType - -func init() { - t["ShutdownHost_Task"] = reflect.TypeOf((*ShutdownHost_Task)(nil)).Elem() -} - -type ShutdownHost_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type SingleIp struct { - IpAddress - - Address string `xml:"address"` -} - -func init() { - t["SingleIp"] = reflect.TypeOf((*SingleIp)(nil)).Elem() -} - -type SingleMac struct { - MacAddress - - Address string `xml:"address"` -} - -func init() { - t["SingleMac"] = reflect.TypeOf((*SingleMac)(nil)).Elem() -} - -type SiteInfo struct { - DynamicData -} - -func init() { - t["SiteInfo"] = reflect.TypeOf((*SiteInfo)(nil)).Elem() -} - -type SnapshotCloneNotSupported struct { - SnapshotCopyNotSupported -} - -func init() { - t["SnapshotCloneNotSupported"] = reflect.TypeOf((*SnapshotCloneNotSupported)(nil)).Elem() -} - -type SnapshotCloneNotSupportedFault SnapshotCloneNotSupported - -func init() { - t["SnapshotCloneNotSupportedFault"] = reflect.TypeOf((*SnapshotCloneNotSupportedFault)(nil)).Elem() -} - -type SnapshotCopyNotSupported struct { - MigrationFault -} - -func init() { - t["SnapshotCopyNotSupported"] = reflect.TypeOf((*SnapshotCopyNotSupported)(nil)).Elem() -} - -type SnapshotCopyNotSupportedFault BaseSnapshotCopyNotSupported - -func init() { - t["SnapshotCopyNotSupportedFault"] = reflect.TypeOf((*SnapshotCopyNotSupportedFault)(nil)).Elem() -} - -type SnapshotDisabled struct { - SnapshotFault -} - -func init() { - t["SnapshotDisabled"] = reflect.TypeOf((*SnapshotDisabled)(nil)).Elem() -} - -type SnapshotDisabledFault SnapshotDisabled - -func init() { - t["SnapshotDisabledFault"] = reflect.TypeOf((*SnapshotDisabledFault)(nil)).Elem() -} - -type SnapshotFault struct { - VimFault -} - -func init() { - t["SnapshotFault"] = reflect.TypeOf((*SnapshotFault)(nil)).Elem() -} - -type SnapshotFaultFault BaseSnapshotFault - -func init() { - t["SnapshotFaultFault"] = reflect.TypeOf((*SnapshotFaultFault)(nil)).Elem() -} - -type SnapshotIncompatibleDeviceInVm struct { - SnapshotFault - - Fault LocalizedMethodFault `xml:"fault"` -} - -func init() { - t["SnapshotIncompatibleDeviceInVm"] = reflect.TypeOf((*SnapshotIncompatibleDeviceInVm)(nil)).Elem() -} - -type SnapshotIncompatibleDeviceInVmFault SnapshotIncompatibleDeviceInVm - -func init() { - t["SnapshotIncompatibleDeviceInVmFault"] = reflect.TypeOf((*SnapshotIncompatibleDeviceInVmFault)(nil)).Elem() -} - -type SnapshotLocked struct { - SnapshotFault -} - -func init() { - t["SnapshotLocked"] = reflect.TypeOf((*SnapshotLocked)(nil)).Elem() -} - -type SnapshotLockedFault SnapshotLocked - -func init() { - t["SnapshotLockedFault"] = reflect.TypeOf((*SnapshotLockedFault)(nil)).Elem() -} - -type SnapshotMoveFromNonHomeNotSupported struct { - SnapshotCopyNotSupported -} - -func init() { - t["SnapshotMoveFromNonHomeNotSupported"] = reflect.TypeOf((*SnapshotMoveFromNonHomeNotSupported)(nil)).Elem() -} - -type SnapshotMoveFromNonHomeNotSupportedFault SnapshotMoveFromNonHomeNotSupported - -func init() { - t["SnapshotMoveFromNonHomeNotSupportedFault"] = reflect.TypeOf((*SnapshotMoveFromNonHomeNotSupportedFault)(nil)).Elem() -} - -type SnapshotMoveNotSupported struct { - SnapshotCopyNotSupported -} - -func init() { - t["SnapshotMoveNotSupported"] = reflect.TypeOf((*SnapshotMoveNotSupported)(nil)).Elem() -} - -type SnapshotMoveNotSupportedFault SnapshotMoveNotSupported - -func init() { - t["SnapshotMoveNotSupportedFault"] = reflect.TypeOf((*SnapshotMoveNotSupportedFault)(nil)).Elem() -} - -type SnapshotMoveToNonHomeNotSupported struct { - SnapshotCopyNotSupported -} - -func init() { - t["SnapshotMoveToNonHomeNotSupported"] = reflect.TypeOf((*SnapshotMoveToNonHomeNotSupported)(nil)).Elem() -} - -type SnapshotMoveToNonHomeNotSupportedFault SnapshotMoveToNonHomeNotSupported - -func init() { - t["SnapshotMoveToNonHomeNotSupportedFault"] = reflect.TypeOf((*SnapshotMoveToNonHomeNotSupportedFault)(nil)).Elem() -} - -type SnapshotNoChange struct { - SnapshotFault -} - -func init() { - t["SnapshotNoChange"] = reflect.TypeOf((*SnapshotNoChange)(nil)).Elem() -} - -type SnapshotNoChangeFault SnapshotNoChange - -func init() { - t["SnapshotNoChangeFault"] = reflect.TypeOf((*SnapshotNoChangeFault)(nil)).Elem() -} - -type SnapshotRevertIssue struct { - MigrationFault - - SnapshotName string `xml:"snapshotName,omitempty"` - Event []BaseEvent `xml:"event,omitempty,typeattr"` - Errors bool `xml:"errors"` -} - -func init() { - t["SnapshotRevertIssue"] = reflect.TypeOf((*SnapshotRevertIssue)(nil)).Elem() -} - -type SnapshotRevertIssueFault SnapshotRevertIssue - -func init() { - t["SnapshotRevertIssueFault"] = reflect.TypeOf((*SnapshotRevertIssueFault)(nil)).Elem() -} - -type SoftRuleVioCorrectionDisallowed struct { - VmConfigFault - - VmName string `xml:"vmName"` -} - -func init() { - t["SoftRuleVioCorrectionDisallowed"] = reflect.TypeOf((*SoftRuleVioCorrectionDisallowed)(nil)).Elem() -} - -type SoftRuleVioCorrectionDisallowedFault SoftRuleVioCorrectionDisallowed - -func init() { - t["SoftRuleVioCorrectionDisallowedFault"] = reflect.TypeOf((*SoftRuleVioCorrectionDisallowedFault)(nil)).Elem() -} - -type SoftRuleVioCorrectionImpact struct { - VmConfigFault - - VmName string `xml:"vmName"` -} - -func init() { - t["SoftRuleVioCorrectionImpact"] = reflect.TypeOf((*SoftRuleVioCorrectionImpact)(nil)).Elem() -} - -type SoftRuleVioCorrectionImpactFault SoftRuleVioCorrectionImpact - -func init() { - t["SoftRuleVioCorrectionImpactFault"] = reflect.TypeOf((*SoftRuleVioCorrectionImpactFault)(nil)).Elem() -} - -type SoftwarePackage struct { - DynamicData - - Name string `xml:"name"` - Version string `xml:"version"` - Type string `xml:"type"` - Vendor string `xml:"vendor"` - AcceptanceLevel string `xml:"acceptanceLevel"` - Summary string `xml:"summary"` - Description string `xml:"description"` - ReferenceURL []string `xml:"referenceURL,omitempty"` - CreationDate *time.Time `xml:"creationDate"` - Depends []Relation `xml:"depends,omitempty"` - Conflicts []Relation `xml:"conflicts,omitempty"` - Replaces []Relation `xml:"replaces,omitempty"` - Provides []string `xml:"provides,omitempty"` - MaintenanceModeRequired *bool `xml:"maintenanceModeRequired"` - HardwarePlatformsRequired []string `xml:"hardwarePlatformsRequired,omitempty"` - Capability SoftwarePackageCapability `xml:"capability"` - Tag []string `xml:"tag,omitempty"` - Payload []string `xml:"payload,omitempty"` -} - -func init() { - t["SoftwarePackage"] = reflect.TypeOf((*SoftwarePackage)(nil)).Elem() -} - -type SoftwarePackageCapability struct { - DynamicData - - LiveInstallAllowed *bool `xml:"liveInstallAllowed"` - LiveRemoveAllowed *bool `xml:"liveRemoveAllowed"` - StatelessReady *bool `xml:"statelessReady"` - Overlay *bool `xml:"overlay"` -} - -func init() { - t["SoftwarePackageCapability"] = reflect.TypeOf((*SoftwarePackageCapability)(nil)).Elem() -} - -type SolutionUserRequired struct { - SecurityError -} - -func init() { - t["SolutionUserRequired"] = reflect.TypeOf((*SolutionUserRequired)(nil)).Elem() -} - -type SolutionUserRequiredFault SolutionUserRequired - -func init() { - t["SolutionUserRequiredFault"] = reflect.TypeOf((*SolutionUserRequiredFault)(nil)).Elem() -} - -type SourceNodeSpec struct { - DynamicData - - ManagementVc ServiceLocator `xml:"managementVc"` - ActiveVc ManagedObjectReference `xml:"activeVc"` -} - -func init() { - t["SourceNodeSpec"] = reflect.TypeOf((*SourceNodeSpec)(nil)).Elem() -} - -type SsdDiskNotAvailable struct { - VimFault - - DevicePath string `xml:"devicePath"` -} - -func init() { - t["SsdDiskNotAvailable"] = reflect.TypeOf((*SsdDiskNotAvailable)(nil)).Elem() -} - -type SsdDiskNotAvailableFault SsdDiskNotAvailable - -func init() { - t["SsdDiskNotAvailableFault"] = reflect.TypeOf((*SsdDiskNotAvailableFault)(nil)).Elem() -} - -type StageHostPatchRequestType struct { - This ManagedObjectReference `xml:"_this"` - MetaUrls []string `xml:"metaUrls,omitempty"` - BundleUrls []string `xml:"bundleUrls,omitempty"` - VibUrls []string `xml:"vibUrls,omitempty"` - Spec *HostPatchManagerPatchManagerOperationSpec `xml:"spec,omitempty"` -} - -func init() { - t["StageHostPatchRequestType"] = reflect.TypeOf((*StageHostPatchRequestType)(nil)).Elem() -} - -type StageHostPatch_Task StageHostPatchRequestType - -func init() { - t["StageHostPatch_Task"] = reflect.TypeOf((*StageHostPatch_Task)(nil)).Elem() -} - -type StageHostPatch_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type StampAllRulesWithUuidRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["StampAllRulesWithUuidRequestType"] = reflect.TypeOf((*StampAllRulesWithUuidRequestType)(nil)).Elem() -} - -type StampAllRulesWithUuid_Task StampAllRulesWithUuidRequestType - -func init() { - t["StampAllRulesWithUuid_Task"] = reflect.TypeOf((*StampAllRulesWithUuid_Task)(nil)).Elem() -} - -type StampAllRulesWithUuid_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type StandbyGuest StandbyGuestRequestType - -func init() { - t["StandbyGuest"] = reflect.TypeOf((*StandbyGuest)(nil)).Elem() -} - -type StandbyGuestRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["StandbyGuestRequestType"] = reflect.TypeOf((*StandbyGuestRequestType)(nil)).Elem() -} - -type StandbyGuestResponse struct { -} - -type StartGuestNetworkRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm ManagedObjectReference `xml:"vm"` - Auth BaseGuestAuthentication `xml:"auth,typeattr"` -} - -func init() { - t["StartGuestNetworkRequestType"] = reflect.TypeOf((*StartGuestNetworkRequestType)(nil)).Elem() -} - -type StartGuestNetwork_Task StartGuestNetworkRequestType - -func init() { - t["StartGuestNetwork_Task"] = reflect.TypeOf((*StartGuestNetwork_Task)(nil)).Elem() -} - -type StartGuestNetwork_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type StartProgramInGuest StartProgramInGuestRequestType - -func init() { - t["StartProgramInGuest"] = reflect.TypeOf((*StartProgramInGuest)(nil)).Elem() -} - -type StartProgramInGuestRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm ManagedObjectReference `xml:"vm"` - Auth BaseGuestAuthentication `xml:"auth,typeattr"` - Spec BaseGuestProgramSpec `xml:"spec,typeattr"` -} - -func init() { - t["StartProgramInGuestRequestType"] = reflect.TypeOf((*StartProgramInGuestRequestType)(nil)).Elem() -} - -type StartProgramInGuestResponse struct { - Returnval int64 `xml:"returnval"` -} - -type StartRecordingRequestType struct { - This ManagedObjectReference `xml:"_this"` - Name string `xml:"name"` - Description string `xml:"description,omitempty"` -} - -func init() { - t["StartRecordingRequestType"] = reflect.TypeOf((*StartRecordingRequestType)(nil)).Elem() -} - -type StartRecording_Task StartRecordingRequestType - -func init() { - t["StartRecording_Task"] = reflect.TypeOf((*StartRecording_Task)(nil)).Elem() -} - -type StartRecording_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type StartReplayingRequestType struct { - This ManagedObjectReference `xml:"_this"` - ReplaySnapshot ManagedObjectReference `xml:"replaySnapshot"` -} - -func init() { - t["StartReplayingRequestType"] = reflect.TypeOf((*StartReplayingRequestType)(nil)).Elem() -} - -type StartReplaying_Task StartReplayingRequestType - -func init() { - t["StartReplaying_Task"] = reflect.TypeOf((*StartReplaying_Task)(nil)).Elem() -} - -type StartReplaying_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type StartService StartServiceRequestType - -func init() { - t["StartService"] = reflect.TypeOf((*StartService)(nil)).Elem() -} - -type StartServiceRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id string `xml:"id"` -} - -func init() { - t["StartServiceRequestType"] = reflect.TypeOf((*StartServiceRequestType)(nil)).Elem() -} - -type StartServiceResponse struct { -} - -type StateAlarmExpression struct { - AlarmExpression - - Operator StateAlarmOperator `xml:"operator"` - Type string `xml:"type"` - StatePath string `xml:"statePath"` - Yellow string `xml:"yellow,omitempty"` - Red string `xml:"red,omitempty"` -} - -func init() { - t["StateAlarmExpression"] = reflect.TypeOf((*StateAlarmExpression)(nil)).Elem() -} - -type StaticRouteProfile struct { - ApplyProfile - - Key string `xml:"key,omitempty"` -} - -func init() { - t["StaticRouteProfile"] = reflect.TypeOf((*StaticRouteProfile)(nil)).Elem() -} - -type StopRecordingRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["StopRecordingRequestType"] = reflect.TypeOf((*StopRecordingRequestType)(nil)).Elem() -} - -type StopRecording_Task StopRecordingRequestType - -func init() { - t["StopRecording_Task"] = reflect.TypeOf((*StopRecording_Task)(nil)).Elem() -} - -type StopRecording_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type StopReplayingRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["StopReplayingRequestType"] = reflect.TypeOf((*StopReplayingRequestType)(nil)).Elem() -} - -type StopReplaying_Task StopReplayingRequestType - -func init() { - t["StopReplaying_Task"] = reflect.TypeOf((*StopReplaying_Task)(nil)).Elem() -} - -type StopReplaying_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type StopService StopServiceRequestType - -func init() { - t["StopService"] = reflect.TypeOf((*StopService)(nil)).Elem() -} - -type StopServiceRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id string `xml:"id"` -} - -func init() { - t["StopServiceRequestType"] = reflect.TypeOf((*StopServiceRequestType)(nil)).Elem() -} - -type StopServiceResponse struct { -} - -type StorageDrsAutomationConfig struct { - DynamicData - - SpaceLoadBalanceAutomationMode string `xml:"spaceLoadBalanceAutomationMode,omitempty"` - IoLoadBalanceAutomationMode string `xml:"ioLoadBalanceAutomationMode,omitempty"` - RuleEnforcementAutomationMode string `xml:"ruleEnforcementAutomationMode,omitempty"` - PolicyEnforcementAutomationMode string `xml:"policyEnforcementAutomationMode,omitempty"` - VmEvacuationAutomationMode string `xml:"vmEvacuationAutomationMode,omitempty"` -} - -func init() { - t["StorageDrsAutomationConfig"] = reflect.TypeOf((*StorageDrsAutomationConfig)(nil)).Elem() -} - -type StorageDrsCannotMoveDiskInMultiWriterMode struct { - VimFault -} - -func init() { - t["StorageDrsCannotMoveDiskInMultiWriterMode"] = reflect.TypeOf((*StorageDrsCannotMoveDiskInMultiWriterMode)(nil)).Elem() -} - -type StorageDrsCannotMoveDiskInMultiWriterModeFault StorageDrsCannotMoveDiskInMultiWriterMode - -func init() { - t["StorageDrsCannotMoveDiskInMultiWriterModeFault"] = reflect.TypeOf((*StorageDrsCannotMoveDiskInMultiWriterModeFault)(nil)).Elem() -} - -type StorageDrsCannotMoveFTVm struct { - VimFault -} - -func init() { - t["StorageDrsCannotMoveFTVm"] = reflect.TypeOf((*StorageDrsCannotMoveFTVm)(nil)).Elem() -} - -type StorageDrsCannotMoveFTVmFault StorageDrsCannotMoveFTVm - -func init() { - t["StorageDrsCannotMoveFTVmFault"] = reflect.TypeOf((*StorageDrsCannotMoveFTVmFault)(nil)).Elem() -} - -type StorageDrsCannotMoveIndependentDisk struct { - VimFault -} - -func init() { - t["StorageDrsCannotMoveIndependentDisk"] = reflect.TypeOf((*StorageDrsCannotMoveIndependentDisk)(nil)).Elem() -} - -type StorageDrsCannotMoveIndependentDiskFault StorageDrsCannotMoveIndependentDisk - -func init() { - t["StorageDrsCannotMoveIndependentDiskFault"] = reflect.TypeOf((*StorageDrsCannotMoveIndependentDiskFault)(nil)).Elem() -} - -type StorageDrsCannotMoveManuallyPlacedSwapFile struct { - VimFault -} - -func init() { - t["StorageDrsCannotMoveManuallyPlacedSwapFile"] = reflect.TypeOf((*StorageDrsCannotMoveManuallyPlacedSwapFile)(nil)).Elem() -} - -type StorageDrsCannotMoveManuallyPlacedSwapFileFault StorageDrsCannotMoveManuallyPlacedSwapFile - -func init() { - t["StorageDrsCannotMoveManuallyPlacedSwapFileFault"] = reflect.TypeOf((*StorageDrsCannotMoveManuallyPlacedSwapFileFault)(nil)).Elem() -} - -type StorageDrsCannotMoveManuallyPlacedVm struct { - VimFault -} - -func init() { - t["StorageDrsCannotMoveManuallyPlacedVm"] = reflect.TypeOf((*StorageDrsCannotMoveManuallyPlacedVm)(nil)).Elem() -} - -type StorageDrsCannotMoveManuallyPlacedVmFault StorageDrsCannotMoveManuallyPlacedVm - -func init() { - t["StorageDrsCannotMoveManuallyPlacedVmFault"] = reflect.TypeOf((*StorageDrsCannotMoveManuallyPlacedVmFault)(nil)).Elem() -} - -type StorageDrsCannotMoveSharedDisk struct { - VimFault -} - -func init() { - t["StorageDrsCannotMoveSharedDisk"] = reflect.TypeOf((*StorageDrsCannotMoveSharedDisk)(nil)).Elem() -} - -type StorageDrsCannotMoveSharedDiskFault StorageDrsCannotMoveSharedDisk - -func init() { - t["StorageDrsCannotMoveSharedDiskFault"] = reflect.TypeOf((*StorageDrsCannotMoveSharedDiskFault)(nil)).Elem() -} - -type StorageDrsCannotMoveTemplate struct { - VimFault -} - -func init() { - t["StorageDrsCannotMoveTemplate"] = reflect.TypeOf((*StorageDrsCannotMoveTemplate)(nil)).Elem() -} - -type StorageDrsCannotMoveTemplateFault StorageDrsCannotMoveTemplate - -func init() { - t["StorageDrsCannotMoveTemplateFault"] = reflect.TypeOf((*StorageDrsCannotMoveTemplateFault)(nil)).Elem() -} - -type StorageDrsCannotMoveVmInUserFolder struct { - VimFault -} - -func init() { - t["StorageDrsCannotMoveVmInUserFolder"] = reflect.TypeOf((*StorageDrsCannotMoveVmInUserFolder)(nil)).Elem() -} - -type StorageDrsCannotMoveVmInUserFolderFault StorageDrsCannotMoveVmInUserFolder - -func init() { - t["StorageDrsCannotMoveVmInUserFolderFault"] = reflect.TypeOf((*StorageDrsCannotMoveVmInUserFolderFault)(nil)).Elem() -} - -type StorageDrsCannotMoveVmWithMountedCDROM struct { - VimFault -} - -func init() { - t["StorageDrsCannotMoveVmWithMountedCDROM"] = reflect.TypeOf((*StorageDrsCannotMoveVmWithMountedCDROM)(nil)).Elem() -} - -type StorageDrsCannotMoveVmWithMountedCDROMFault StorageDrsCannotMoveVmWithMountedCDROM - -func init() { - t["StorageDrsCannotMoveVmWithMountedCDROMFault"] = reflect.TypeOf((*StorageDrsCannotMoveVmWithMountedCDROMFault)(nil)).Elem() -} - -type StorageDrsCannotMoveVmWithNoFilesInLayout struct { - VimFault -} - -func init() { - t["StorageDrsCannotMoveVmWithNoFilesInLayout"] = reflect.TypeOf((*StorageDrsCannotMoveVmWithNoFilesInLayout)(nil)).Elem() -} - -type StorageDrsCannotMoveVmWithNoFilesInLayoutFault StorageDrsCannotMoveVmWithNoFilesInLayout - -func init() { - t["StorageDrsCannotMoveVmWithNoFilesInLayoutFault"] = reflect.TypeOf((*StorageDrsCannotMoveVmWithNoFilesInLayoutFault)(nil)).Elem() -} - -type StorageDrsConfigInfo struct { - DynamicData - - PodConfig StorageDrsPodConfigInfo `xml:"podConfig"` - VmConfig []StorageDrsVmConfigInfo `xml:"vmConfig,omitempty"` -} - -func init() { - t["StorageDrsConfigInfo"] = reflect.TypeOf((*StorageDrsConfigInfo)(nil)).Elem() -} - -type StorageDrsConfigSpec struct { - DynamicData - - PodConfigSpec *StorageDrsPodConfigSpec `xml:"podConfigSpec,omitempty"` - VmConfigSpec []StorageDrsVmConfigSpec `xml:"vmConfigSpec,omitempty"` -} - -func init() { - t["StorageDrsConfigSpec"] = reflect.TypeOf((*StorageDrsConfigSpec)(nil)).Elem() -} - -type StorageDrsDatacentersCannotShareDatastore struct { - VimFault -} - -func init() { - t["StorageDrsDatacentersCannotShareDatastore"] = reflect.TypeOf((*StorageDrsDatacentersCannotShareDatastore)(nil)).Elem() -} - -type StorageDrsDatacentersCannotShareDatastoreFault StorageDrsDatacentersCannotShareDatastore - -func init() { - t["StorageDrsDatacentersCannotShareDatastoreFault"] = reflect.TypeOf((*StorageDrsDatacentersCannotShareDatastoreFault)(nil)).Elem() -} - -type StorageDrsDisabledOnVm struct { - VimFault -} - -func init() { - t["StorageDrsDisabledOnVm"] = reflect.TypeOf((*StorageDrsDisabledOnVm)(nil)).Elem() -} - -type StorageDrsDisabledOnVmFault StorageDrsDisabledOnVm - -func init() { - t["StorageDrsDisabledOnVmFault"] = reflect.TypeOf((*StorageDrsDisabledOnVmFault)(nil)).Elem() -} - -type StorageDrsHbrDiskNotMovable struct { - VimFault - - NonMovableDiskIds string `xml:"nonMovableDiskIds"` -} - -func init() { - t["StorageDrsHbrDiskNotMovable"] = reflect.TypeOf((*StorageDrsHbrDiskNotMovable)(nil)).Elem() -} - -type StorageDrsHbrDiskNotMovableFault StorageDrsHbrDiskNotMovable - -func init() { - t["StorageDrsHbrDiskNotMovableFault"] = reflect.TypeOf((*StorageDrsHbrDiskNotMovableFault)(nil)).Elem() -} - -type StorageDrsHmsMoveInProgress struct { - VimFault -} - -func init() { - t["StorageDrsHmsMoveInProgress"] = reflect.TypeOf((*StorageDrsHmsMoveInProgress)(nil)).Elem() -} - -type StorageDrsHmsMoveInProgressFault StorageDrsHmsMoveInProgress - -func init() { - t["StorageDrsHmsMoveInProgressFault"] = reflect.TypeOf((*StorageDrsHmsMoveInProgressFault)(nil)).Elem() -} - -type StorageDrsHmsUnreachable struct { - VimFault -} - -func init() { - t["StorageDrsHmsUnreachable"] = reflect.TypeOf((*StorageDrsHmsUnreachable)(nil)).Elem() -} - -type StorageDrsHmsUnreachableFault StorageDrsHmsUnreachable - -func init() { - t["StorageDrsHmsUnreachableFault"] = reflect.TypeOf((*StorageDrsHmsUnreachableFault)(nil)).Elem() -} - -type StorageDrsIoLoadBalanceConfig struct { - DynamicData - - ReservablePercentThreshold int32 `xml:"reservablePercentThreshold,omitempty"` - ReservableIopsThreshold int32 `xml:"reservableIopsThreshold,omitempty"` - ReservableThresholdMode string `xml:"reservableThresholdMode,omitempty"` - IoLatencyThreshold int32 `xml:"ioLatencyThreshold,omitempty"` - IoLoadImbalanceThreshold int32 `xml:"ioLoadImbalanceThreshold,omitempty"` -} - -func init() { - t["StorageDrsIoLoadBalanceConfig"] = reflect.TypeOf((*StorageDrsIoLoadBalanceConfig)(nil)).Elem() -} - -type StorageDrsIolbDisabledInternally struct { - VimFault -} - -func init() { - t["StorageDrsIolbDisabledInternally"] = reflect.TypeOf((*StorageDrsIolbDisabledInternally)(nil)).Elem() -} - -type StorageDrsIolbDisabledInternallyFault StorageDrsIolbDisabledInternally - -func init() { - t["StorageDrsIolbDisabledInternallyFault"] = reflect.TypeOf((*StorageDrsIolbDisabledInternallyFault)(nil)).Elem() -} - -type StorageDrsOptionSpec struct { - ArrayUpdateSpec - - Option BaseOptionValue `xml:"option,omitempty,typeattr"` -} - -func init() { - t["StorageDrsOptionSpec"] = reflect.TypeOf((*StorageDrsOptionSpec)(nil)).Elem() -} - -type StorageDrsPlacementRankVmSpec struct { - DynamicData - - VmPlacementSpec PlacementSpec `xml:"vmPlacementSpec"` - VmClusters []ManagedObjectReference `xml:"vmClusters"` -} - -func init() { - t["StorageDrsPlacementRankVmSpec"] = reflect.TypeOf((*StorageDrsPlacementRankVmSpec)(nil)).Elem() -} - -type StorageDrsPodConfigInfo struct { - DynamicData - - Enabled bool `xml:"enabled"` - IoLoadBalanceEnabled bool `xml:"ioLoadBalanceEnabled"` - DefaultVmBehavior string `xml:"defaultVmBehavior"` - LoadBalanceInterval int32 `xml:"loadBalanceInterval,omitempty"` - DefaultIntraVmAffinity *bool `xml:"defaultIntraVmAffinity"` - SpaceLoadBalanceConfig *StorageDrsSpaceLoadBalanceConfig `xml:"spaceLoadBalanceConfig,omitempty"` - IoLoadBalanceConfig *StorageDrsIoLoadBalanceConfig `xml:"ioLoadBalanceConfig,omitempty"` - AutomationOverrides *StorageDrsAutomationConfig `xml:"automationOverrides,omitempty"` - Rule []BaseClusterRuleInfo `xml:"rule,omitempty,typeattr"` - Option []BaseOptionValue `xml:"option,omitempty,typeattr"` -} - -func init() { - t["StorageDrsPodConfigInfo"] = reflect.TypeOf((*StorageDrsPodConfigInfo)(nil)).Elem() -} - -type StorageDrsPodConfigSpec struct { - DynamicData - - Enabled *bool `xml:"enabled"` - IoLoadBalanceEnabled *bool `xml:"ioLoadBalanceEnabled"` - DefaultVmBehavior string `xml:"defaultVmBehavior,omitempty"` - LoadBalanceInterval int32 `xml:"loadBalanceInterval,omitempty"` - DefaultIntraVmAffinity *bool `xml:"defaultIntraVmAffinity"` - SpaceLoadBalanceConfig *StorageDrsSpaceLoadBalanceConfig `xml:"spaceLoadBalanceConfig,omitempty"` - IoLoadBalanceConfig *StorageDrsIoLoadBalanceConfig `xml:"ioLoadBalanceConfig,omitempty"` - AutomationOverrides *StorageDrsAutomationConfig `xml:"automationOverrides,omitempty"` - Rule []ClusterRuleSpec `xml:"rule,omitempty"` - Option []StorageDrsOptionSpec `xml:"option,omitempty"` -} - -func init() { - t["StorageDrsPodConfigSpec"] = reflect.TypeOf((*StorageDrsPodConfigSpec)(nil)).Elem() -} - -type StorageDrsPodSelectionSpec struct { - DynamicData - - InitialVmConfig []VmPodConfigForPlacement `xml:"initialVmConfig,omitempty"` - StoragePod *ManagedObjectReference `xml:"storagePod,omitempty"` -} - -func init() { - t["StorageDrsPodSelectionSpec"] = reflect.TypeOf((*StorageDrsPodSelectionSpec)(nil)).Elem() -} - -type StorageDrsRelocateDisabled struct { - VimFault -} - -func init() { - t["StorageDrsRelocateDisabled"] = reflect.TypeOf((*StorageDrsRelocateDisabled)(nil)).Elem() -} - -type StorageDrsRelocateDisabledFault StorageDrsRelocateDisabled - -func init() { - t["StorageDrsRelocateDisabledFault"] = reflect.TypeOf((*StorageDrsRelocateDisabledFault)(nil)).Elem() -} - -type StorageDrsSpaceLoadBalanceConfig struct { - DynamicData - - SpaceThresholdMode string `xml:"spaceThresholdMode,omitempty"` - SpaceUtilizationThreshold int32 `xml:"spaceUtilizationThreshold,omitempty"` - FreeSpaceThresholdGB int32 `xml:"freeSpaceThresholdGB,omitempty"` - MinSpaceUtilizationDifference int32 `xml:"minSpaceUtilizationDifference,omitempty"` -} - -func init() { - t["StorageDrsSpaceLoadBalanceConfig"] = reflect.TypeOf((*StorageDrsSpaceLoadBalanceConfig)(nil)).Elem() -} - -type StorageDrsStaleHmsCollection struct { - VimFault -} - -func init() { - t["StorageDrsStaleHmsCollection"] = reflect.TypeOf((*StorageDrsStaleHmsCollection)(nil)).Elem() -} - -type StorageDrsStaleHmsCollectionFault StorageDrsStaleHmsCollection - -func init() { - t["StorageDrsStaleHmsCollectionFault"] = reflect.TypeOf((*StorageDrsStaleHmsCollectionFault)(nil)).Elem() -} - -type StorageDrsUnableToMoveFiles struct { - VimFault -} - -func init() { - t["StorageDrsUnableToMoveFiles"] = reflect.TypeOf((*StorageDrsUnableToMoveFiles)(nil)).Elem() -} - -type StorageDrsUnableToMoveFilesFault StorageDrsUnableToMoveFiles - -func init() { - t["StorageDrsUnableToMoveFilesFault"] = reflect.TypeOf((*StorageDrsUnableToMoveFilesFault)(nil)).Elem() -} - -type StorageDrsVmConfigInfo struct { - DynamicData - - Vm *ManagedObjectReference `xml:"vm,omitempty"` - Enabled *bool `xml:"enabled"` - Behavior string `xml:"behavior,omitempty"` - IntraVmAffinity *bool `xml:"intraVmAffinity"` - IntraVmAntiAffinity *VirtualDiskAntiAffinityRuleSpec `xml:"intraVmAntiAffinity,omitempty"` - VirtualDiskRules []VirtualDiskRuleSpec `xml:"virtualDiskRules,omitempty"` -} - -func init() { - t["StorageDrsVmConfigInfo"] = reflect.TypeOf((*StorageDrsVmConfigInfo)(nil)).Elem() -} - -type StorageDrsVmConfigSpec struct { - ArrayUpdateSpec - - Info *StorageDrsVmConfigInfo `xml:"info,omitempty"` -} - -func init() { - t["StorageDrsVmConfigSpec"] = reflect.TypeOf((*StorageDrsVmConfigSpec)(nil)).Elem() -} - -type StorageIOAllocationInfo struct { - DynamicData - - Limit *int64 `xml:"limit"` - Shares *SharesInfo `xml:"shares,omitempty"` - Reservation *int32 `xml:"reservation"` -} - -func init() { - t["StorageIOAllocationInfo"] = reflect.TypeOf((*StorageIOAllocationInfo)(nil)).Elem() -} - -type StorageIOAllocationOption struct { - DynamicData - - LimitOption LongOption `xml:"limitOption"` - SharesOption SharesOption `xml:"sharesOption"` -} - -func init() { - t["StorageIOAllocationOption"] = reflect.TypeOf((*StorageIOAllocationOption)(nil)).Elem() -} - -type StorageIORMConfigOption struct { - DynamicData - - EnabledOption BoolOption `xml:"enabledOption"` - CongestionThresholdOption IntOption `xml:"congestionThresholdOption"` - StatsCollectionEnabledOption *BoolOption `xml:"statsCollectionEnabledOption,omitempty"` - ReservationEnabledOption *BoolOption `xml:"reservationEnabledOption,omitempty"` -} - -func init() { - t["StorageIORMConfigOption"] = reflect.TypeOf((*StorageIORMConfigOption)(nil)).Elem() -} - -type StorageIORMConfigSpec struct { - DynamicData - - Enabled *bool `xml:"enabled"` - CongestionThresholdMode string `xml:"congestionThresholdMode,omitempty"` - CongestionThreshold int32 `xml:"congestionThreshold,omitempty"` - PercentOfPeakThroughput int32 `xml:"percentOfPeakThroughput,omitempty"` - StatsCollectionEnabled *bool `xml:"statsCollectionEnabled"` - ReservationEnabled *bool `xml:"reservationEnabled"` - StatsAggregationDisabled *bool `xml:"statsAggregationDisabled"` - ReservableIopsThreshold int32 `xml:"reservableIopsThreshold,omitempty"` -} - -func init() { - t["StorageIORMConfigSpec"] = reflect.TypeOf((*StorageIORMConfigSpec)(nil)).Elem() -} - -type StorageIORMInfo struct { - DynamicData - - Enabled bool `xml:"enabled"` - CongestionThresholdMode string `xml:"congestionThresholdMode,omitempty"` - CongestionThreshold int32 `xml:"congestionThreshold"` - PercentOfPeakThroughput int32 `xml:"percentOfPeakThroughput,omitempty"` - StatsCollectionEnabled *bool `xml:"statsCollectionEnabled"` - ReservationEnabled *bool `xml:"reservationEnabled"` - StatsAggregationDisabled *bool `xml:"statsAggregationDisabled"` - ReservableIopsThreshold int32 `xml:"reservableIopsThreshold,omitempty"` -} - -func init() { - t["StorageIORMInfo"] = reflect.TypeOf((*StorageIORMInfo)(nil)).Elem() -} - -type StorageMigrationAction struct { - ClusterAction - - Vm ManagedObjectReference `xml:"vm"` - RelocateSpec VirtualMachineRelocateSpec `xml:"relocateSpec"` - Source ManagedObjectReference `xml:"source"` - Destination ManagedObjectReference `xml:"destination"` - SizeTransferred int64 `xml:"sizeTransferred"` - SpaceUtilSrcBefore float32 `xml:"spaceUtilSrcBefore,omitempty"` - SpaceUtilDstBefore float32 `xml:"spaceUtilDstBefore,omitempty"` - SpaceUtilSrcAfter float32 `xml:"spaceUtilSrcAfter,omitempty"` - SpaceUtilDstAfter float32 `xml:"spaceUtilDstAfter,omitempty"` - IoLatencySrcBefore float32 `xml:"ioLatencySrcBefore,omitempty"` - IoLatencyDstBefore float32 `xml:"ioLatencyDstBefore,omitempty"` -} - -func init() { - t["StorageMigrationAction"] = reflect.TypeOf((*StorageMigrationAction)(nil)).Elem() -} - -type StoragePerformanceSummary struct { - DynamicData - - Interval int32 `xml:"interval"` - Percentile []int32 `xml:"percentile"` - DatastoreReadLatency []float64 `xml:"datastoreReadLatency"` - DatastoreWriteLatency []float64 `xml:"datastoreWriteLatency"` - DatastoreVmLatency []float64 `xml:"datastoreVmLatency"` - DatastoreReadIops []float64 `xml:"datastoreReadIops"` - DatastoreWriteIops []float64 `xml:"datastoreWriteIops"` - SiocActivityDuration int32 `xml:"siocActivityDuration"` -} - -func init() { - t["StoragePerformanceSummary"] = reflect.TypeOf((*StoragePerformanceSummary)(nil)).Elem() -} - -type StoragePlacementAction struct { - ClusterAction - - Vm *ManagedObjectReference `xml:"vm,omitempty"` - RelocateSpec VirtualMachineRelocateSpec `xml:"relocateSpec"` - Destination ManagedObjectReference `xml:"destination"` - SpaceUtilBefore float32 `xml:"spaceUtilBefore,omitempty"` - SpaceDemandBefore float32 `xml:"spaceDemandBefore,omitempty"` - SpaceUtilAfter float32 `xml:"spaceUtilAfter,omitempty"` - SpaceDemandAfter float32 `xml:"spaceDemandAfter,omitempty"` - IoLatencyBefore float32 `xml:"ioLatencyBefore,omitempty"` -} - -func init() { - t["StoragePlacementAction"] = reflect.TypeOf((*StoragePlacementAction)(nil)).Elem() -} - -type StoragePlacementResult struct { - DynamicData - - Recommendations []ClusterRecommendation `xml:"recommendations,omitempty"` - DrsFault *ClusterDrsFaults `xml:"drsFault,omitempty"` - Task *ManagedObjectReference `xml:"task,omitempty"` -} - -func init() { - t["StoragePlacementResult"] = reflect.TypeOf((*StoragePlacementResult)(nil)).Elem() -} - -type StoragePlacementSpec struct { - DynamicData - - Type string `xml:"type"` - Priority VirtualMachineMovePriority `xml:"priority,omitempty"` - Vm *ManagedObjectReference `xml:"vm,omitempty"` - PodSelectionSpec StorageDrsPodSelectionSpec `xml:"podSelectionSpec"` - CloneSpec *VirtualMachineCloneSpec `xml:"cloneSpec,omitempty"` - CloneName string `xml:"cloneName,omitempty"` - ConfigSpec *VirtualMachineConfigSpec `xml:"configSpec,omitempty"` - RelocateSpec *VirtualMachineRelocateSpec `xml:"relocateSpec,omitempty"` - ResourcePool *ManagedObjectReference `xml:"resourcePool,omitempty"` - Host *ManagedObjectReference `xml:"host,omitempty"` - Folder *ManagedObjectReference `xml:"folder,omitempty"` - DisallowPrerequisiteMoves *bool `xml:"disallowPrerequisiteMoves"` - ResourceLeaseDurationSec int32 `xml:"resourceLeaseDurationSec,omitempty"` -} - -func init() { - t["StoragePlacementSpec"] = reflect.TypeOf((*StoragePlacementSpec)(nil)).Elem() -} - -type StoragePodSummary struct { - DynamicData - - Name string `xml:"name"` - Capacity int64 `xml:"capacity"` - FreeSpace int64 `xml:"freeSpace"` -} - -func init() { - t["StoragePodSummary"] = reflect.TypeOf((*StoragePodSummary)(nil)).Elem() -} - -type StorageProfile struct { - ApplyProfile - - NasStorage []NasStorageProfile `xml:"nasStorage,omitempty"` -} - -func init() { - t["StorageProfile"] = reflect.TypeOf((*StorageProfile)(nil)).Elem() -} - -type StorageRequirement struct { - DynamicData - - Datastore ManagedObjectReference `xml:"datastore"` - FreeSpaceRequiredInKb int64 `xml:"freeSpaceRequiredInKb"` -} - -func init() { - t["StorageRequirement"] = reflect.TypeOf((*StorageRequirement)(nil)).Elem() -} - -type StorageResourceManagerStorageProfileStatistics struct { - DynamicData - - ProfileId string `xml:"profileId"` - TotalSpaceMB int64 `xml:"totalSpaceMB"` - UsedSpaceMB int64 `xml:"usedSpaceMB"` -} - -func init() { - t["StorageResourceManagerStorageProfileStatistics"] = reflect.TypeOf((*StorageResourceManagerStorageProfileStatistics)(nil)).Elem() -} - -type StorageVMotionNotSupported struct { - MigrationFeatureNotSupported -} - -func init() { - t["StorageVMotionNotSupported"] = reflect.TypeOf((*StorageVMotionNotSupported)(nil)).Elem() -} - -type StorageVMotionNotSupportedFault StorageVMotionNotSupported - -func init() { - t["StorageVMotionNotSupportedFault"] = reflect.TypeOf((*StorageVMotionNotSupportedFault)(nil)).Elem() -} - -type StorageVmotionIncompatible struct { - VirtualHardwareCompatibilityIssue - - Datastore *ManagedObjectReference `xml:"datastore,omitempty"` -} - -func init() { - t["StorageVmotionIncompatible"] = reflect.TypeOf((*StorageVmotionIncompatible)(nil)).Elem() -} - -type StorageVmotionIncompatibleFault StorageVmotionIncompatible - -func init() { - t["StorageVmotionIncompatibleFault"] = reflect.TypeOf((*StorageVmotionIncompatibleFault)(nil)).Elem() -} - -type StringExpression struct { - NegatableExpression - - Value string `xml:"value,omitempty"` -} - -func init() { - t["StringExpression"] = reflect.TypeOf((*StringExpression)(nil)).Elem() -} - -type StringOption struct { - OptionType - - DefaultValue string `xml:"defaultValue"` - ValidCharacters string `xml:"validCharacters,omitempty"` -} - -func init() { - t["StringOption"] = reflect.TypeOf((*StringOption)(nil)).Elem() -} - -type StringPolicy struct { - InheritablePolicy - - Value string `xml:"value,omitempty"` -} - -func init() { - t["StringPolicy"] = reflect.TypeOf((*StringPolicy)(nil)).Elem() -} - -type StructuredCustomizations struct { - HostProfilesEntityCustomizations - - Entity ManagedObjectReference `xml:"entity"` - Customizations *AnswerFile `xml:"customizations,omitempty"` -} - -func init() { - t["StructuredCustomizations"] = reflect.TypeOf((*StructuredCustomizations)(nil)).Elem() -} - -type SuspendVAppRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["SuspendVAppRequestType"] = reflect.TypeOf((*SuspendVAppRequestType)(nil)).Elem() -} - -type SuspendVApp_Task SuspendVAppRequestType - -func init() { - t["SuspendVApp_Task"] = reflect.TypeOf((*SuspendVApp_Task)(nil)).Elem() -} - -type SuspendVApp_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type SuspendVMRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["SuspendVMRequestType"] = reflect.TypeOf((*SuspendVMRequestType)(nil)).Elem() -} - -type SuspendVM_Task SuspendVMRequestType - -func init() { - t["SuspendVM_Task"] = reflect.TypeOf((*SuspendVM_Task)(nil)).Elem() -} - -type SuspendVM_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type SuspendedRelocateNotSupported struct { - MigrationFault -} - -func init() { - t["SuspendedRelocateNotSupported"] = reflect.TypeOf((*SuspendedRelocateNotSupported)(nil)).Elem() -} - -type SuspendedRelocateNotSupportedFault SuspendedRelocateNotSupported - -func init() { - t["SuspendedRelocateNotSupportedFault"] = reflect.TypeOf((*SuspendedRelocateNotSupportedFault)(nil)).Elem() -} - -type SwapDatastoreNotWritableOnHost struct { - DatastoreNotWritableOnHost -} - -func init() { - t["SwapDatastoreNotWritableOnHost"] = reflect.TypeOf((*SwapDatastoreNotWritableOnHost)(nil)).Elem() -} - -type SwapDatastoreNotWritableOnHostFault SwapDatastoreNotWritableOnHost - -func init() { - t["SwapDatastoreNotWritableOnHostFault"] = reflect.TypeOf((*SwapDatastoreNotWritableOnHostFault)(nil)).Elem() -} - -type SwapDatastoreUnset struct { - VimFault -} - -func init() { - t["SwapDatastoreUnset"] = reflect.TypeOf((*SwapDatastoreUnset)(nil)).Elem() -} - -type SwapDatastoreUnsetFault SwapDatastoreUnset - -func init() { - t["SwapDatastoreUnsetFault"] = reflect.TypeOf((*SwapDatastoreUnsetFault)(nil)).Elem() -} - -type SwapPlacementOverrideNotSupported struct { - InvalidVmConfig -} - -func init() { - t["SwapPlacementOverrideNotSupported"] = reflect.TypeOf((*SwapPlacementOverrideNotSupported)(nil)).Elem() -} - -type SwapPlacementOverrideNotSupportedFault SwapPlacementOverrideNotSupported - -func init() { - t["SwapPlacementOverrideNotSupportedFault"] = reflect.TypeOf((*SwapPlacementOverrideNotSupportedFault)(nil)).Elem() -} - -type SwitchIpUnset struct { - DvsFault -} - -func init() { - t["SwitchIpUnset"] = reflect.TypeOf((*SwitchIpUnset)(nil)).Elem() -} - -type SwitchIpUnsetFault SwitchIpUnset - -func init() { - t["SwitchIpUnsetFault"] = reflect.TypeOf((*SwitchIpUnsetFault)(nil)).Elem() -} - -type SwitchNotInUpgradeMode struct { - DvsFault -} - -func init() { - t["SwitchNotInUpgradeMode"] = reflect.TypeOf((*SwitchNotInUpgradeMode)(nil)).Elem() -} - -type SwitchNotInUpgradeModeFault SwitchNotInUpgradeMode - -func init() { - t["SwitchNotInUpgradeModeFault"] = reflect.TypeOf((*SwitchNotInUpgradeModeFault)(nil)).Elem() -} - -type SystemError struct { - RuntimeFault - - Reason string `xml:"reason"` -} - -func init() { - t["SystemError"] = reflect.TypeOf((*SystemError)(nil)).Elem() -} - -type SystemErrorFault SystemError - -func init() { - t["SystemErrorFault"] = reflect.TypeOf((*SystemErrorFault)(nil)).Elem() -} - -type SystemEventInfo struct { - DynamicData - - RecordId int64 `xml:"recordId"` - When string `xml:"when"` - SelType int64 `xml:"selType"` - Message string `xml:"message"` - SensorNumber int64 `xml:"sensorNumber"` -} - -func init() { - t["SystemEventInfo"] = reflect.TypeOf((*SystemEventInfo)(nil)).Elem() -} - -type Tag struct { - DynamicData - - Key string `xml:"key"` -} - -func init() { - t["Tag"] = reflect.TypeOf((*Tag)(nil)).Elem() -} - -type TaskDescription struct { - DynamicData - - MethodInfo []BaseElementDescription `xml:"methodInfo,typeattr"` - State []BaseElementDescription `xml:"state,typeattr"` - Reason []BaseTypeDescription `xml:"reason,typeattr"` -} - -func init() { - t["TaskDescription"] = reflect.TypeOf((*TaskDescription)(nil)).Elem() -} - -type TaskEvent struct { - Event - - Info TaskInfo `xml:"info"` -} - -func init() { - t["TaskEvent"] = reflect.TypeOf((*TaskEvent)(nil)).Elem() -} - -type TaskFilterSpec struct { - DynamicData - - Entity *TaskFilterSpecByEntity `xml:"entity,omitempty"` - Time *TaskFilterSpecByTime `xml:"time,omitempty"` - UserName *TaskFilterSpecByUsername `xml:"userName,omitempty"` - ActivationId []string `xml:"activationId,omitempty"` - State []TaskInfoState `xml:"state,omitempty"` - Alarm *ManagedObjectReference `xml:"alarm,omitempty"` - ScheduledTask *ManagedObjectReference `xml:"scheduledTask,omitempty"` - EventChainId []int32 `xml:"eventChainId,omitempty"` - Tag []string `xml:"tag,omitempty"` - ParentTaskKey []string `xml:"parentTaskKey,omitempty"` - RootTaskKey []string `xml:"rootTaskKey,omitempty"` -} - -func init() { - t["TaskFilterSpec"] = reflect.TypeOf((*TaskFilterSpec)(nil)).Elem() -} - -type TaskFilterSpecByEntity struct { - DynamicData - - Entity ManagedObjectReference `xml:"entity"` - Recursion TaskFilterSpecRecursionOption `xml:"recursion"` -} - -func init() { - t["TaskFilterSpecByEntity"] = reflect.TypeOf((*TaskFilterSpecByEntity)(nil)).Elem() -} - -type TaskFilterSpecByTime struct { - DynamicData - - TimeType TaskFilterSpecTimeOption `xml:"timeType"` - BeginTime *time.Time `xml:"beginTime"` - EndTime *time.Time `xml:"endTime"` -} - -func init() { - t["TaskFilterSpecByTime"] = reflect.TypeOf((*TaskFilterSpecByTime)(nil)).Elem() -} - -type TaskFilterSpecByUsername struct { - DynamicData - - SystemUser bool `xml:"systemUser"` - UserList []string `xml:"userList,omitempty"` -} - -func init() { - t["TaskFilterSpecByUsername"] = reflect.TypeOf((*TaskFilterSpecByUsername)(nil)).Elem() -} - -type TaskInProgress struct { - VimFault - - Task ManagedObjectReference `xml:"task"` -} - -func init() { - t["TaskInProgress"] = reflect.TypeOf((*TaskInProgress)(nil)).Elem() -} - -type TaskInProgressFault BaseTaskInProgress - -func init() { - t["TaskInProgressFault"] = reflect.TypeOf((*TaskInProgressFault)(nil)).Elem() -} - -type TaskInfo struct { - DynamicData - - Key string `xml:"key"` - Task ManagedObjectReference `xml:"task"` - Description *LocalizableMessage `xml:"description,omitempty"` - Name string `xml:"name,omitempty"` - DescriptionId string `xml:"descriptionId"` - Entity *ManagedObjectReference `xml:"entity,omitempty"` - EntityName string `xml:"entityName,omitempty"` - Locked []ManagedObjectReference `xml:"locked,omitempty"` - State TaskInfoState `xml:"state"` - Cancelled bool `xml:"cancelled"` - Cancelable bool `xml:"cancelable"` - Error *LocalizedMethodFault `xml:"error,omitempty"` - Result AnyType `xml:"result,omitempty,typeattr"` - Progress int32 `xml:"progress,omitempty"` - Reason BaseTaskReason `xml:"reason,typeattr"` - QueueTime time.Time `xml:"queueTime"` - StartTime *time.Time `xml:"startTime"` - CompleteTime *time.Time `xml:"completeTime"` - EventChainId int32 `xml:"eventChainId"` - ChangeTag string `xml:"changeTag,omitempty"` - ParentTaskKey string `xml:"parentTaskKey,omitempty"` - RootTaskKey string `xml:"rootTaskKey,omitempty"` - ActivationId string `xml:"activationId,omitempty"` -} - -func init() { - t["TaskInfo"] = reflect.TypeOf((*TaskInfo)(nil)).Elem() -} - -type TaskReason struct { - DynamicData -} - -func init() { - t["TaskReason"] = reflect.TypeOf((*TaskReason)(nil)).Elem() -} - -type TaskReasonAlarm struct { - TaskReason - - AlarmName string `xml:"alarmName"` - Alarm ManagedObjectReference `xml:"alarm"` - EntityName string `xml:"entityName"` - Entity ManagedObjectReference `xml:"entity"` -} - -func init() { - t["TaskReasonAlarm"] = reflect.TypeOf((*TaskReasonAlarm)(nil)).Elem() -} - -type TaskReasonSchedule struct { - TaskReason - - Name string `xml:"name"` - ScheduledTask ManagedObjectReference `xml:"scheduledTask"` -} - -func init() { - t["TaskReasonSchedule"] = reflect.TypeOf((*TaskReasonSchedule)(nil)).Elem() -} - -type TaskReasonSystem struct { - TaskReason -} - -func init() { - t["TaskReasonSystem"] = reflect.TypeOf((*TaskReasonSystem)(nil)).Elem() -} - -type TaskReasonUser struct { - TaskReason - - UserName string `xml:"userName"` -} - -func init() { - t["TaskReasonUser"] = reflect.TypeOf((*TaskReasonUser)(nil)).Elem() -} - -type TaskScheduler struct { - DynamicData - - ActiveTime *time.Time `xml:"activeTime"` - ExpireTime *time.Time `xml:"expireTime"` -} - -func init() { - t["TaskScheduler"] = reflect.TypeOf((*TaskScheduler)(nil)).Elem() -} - -type TaskTimeoutEvent struct { - TaskEvent -} - -func init() { - t["TaskTimeoutEvent"] = reflect.TypeOf((*TaskTimeoutEvent)(nil)).Elem() -} - -type TeamingMatchEvent struct { - DvsHealthStatusChangeEvent -} - -func init() { - t["TeamingMatchEvent"] = reflect.TypeOf((*TeamingMatchEvent)(nil)).Elem() -} - -type TeamingMisMatchEvent struct { - DvsHealthStatusChangeEvent -} - -func init() { - t["TeamingMisMatchEvent"] = reflect.TypeOf((*TeamingMisMatchEvent)(nil)).Elem() -} - -type TemplateBeingUpgradedEvent struct { - TemplateUpgradeEvent -} - -func init() { - t["TemplateBeingUpgradedEvent"] = reflect.TypeOf((*TemplateBeingUpgradedEvent)(nil)).Elem() -} - -type TemplateConfigFileInfo struct { - VmConfigFileInfo -} - -func init() { - t["TemplateConfigFileInfo"] = reflect.TypeOf((*TemplateConfigFileInfo)(nil)).Elem() -} - -type TemplateConfigFileQuery struct { - VmConfigFileQuery -} - -func init() { - t["TemplateConfigFileQuery"] = reflect.TypeOf((*TemplateConfigFileQuery)(nil)).Elem() -} - -type TemplateUpgradeEvent struct { - Event - - LegacyTemplate string `xml:"legacyTemplate"` -} - -func init() { - t["TemplateUpgradeEvent"] = reflect.TypeOf((*TemplateUpgradeEvent)(nil)).Elem() -} - -type TemplateUpgradeFailedEvent struct { - TemplateUpgradeEvent - - Reason LocalizedMethodFault `xml:"reason"` -} - -func init() { - t["TemplateUpgradeFailedEvent"] = reflect.TypeOf((*TemplateUpgradeFailedEvent)(nil)).Elem() -} - -type TemplateUpgradedEvent struct { - TemplateUpgradeEvent -} - -func init() { - t["TemplateUpgradedEvent"] = reflect.TypeOf((*TemplateUpgradedEvent)(nil)).Elem() -} - -type TerminateFaultTolerantVMRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm *ManagedObjectReference `xml:"vm,omitempty"` -} - -func init() { - t["TerminateFaultTolerantVMRequestType"] = reflect.TypeOf((*TerminateFaultTolerantVMRequestType)(nil)).Elem() -} - -type TerminateFaultTolerantVM_Task TerminateFaultTolerantVMRequestType - -func init() { - t["TerminateFaultTolerantVM_Task"] = reflect.TypeOf((*TerminateFaultTolerantVM_Task)(nil)).Elem() -} - -type TerminateFaultTolerantVM_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type TerminateProcessInGuest TerminateProcessInGuestRequestType - -func init() { - t["TerminateProcessInGuest"] = reflect.TypeOf((*TerminateProcessInGuest)(nil)).Elem() -} - -type TerminateProcessInGuestRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm ManagedObjectReference `xml:"vm"` - Auth BaseGuestAuthentication `xml:"auth,typeattr"` - Pid int64 `xml:"pid"` -} - -func init() { - t["TerminateProcessInGuestRequestType"] = reflect.TypeOf((*TerminateProcessInGuestRequestType)(nil)).Elem() -} - -type TerminateProcessInGuestResponse struct { -} - -type TerminateSession TerminateSessionRequestType - -func init() { - t["TerminateSession"] = reflect.TypeOf((*TerminateSession)(nil)).Elem() -} - -type TerminateSessionRequestType struct { - This ManagedObjectReference `xml:"_this"` - SessionId []string `xml:"sessionId"` -} - -func init() { - t["TerminateSessionRequestType"] = reflect.TypeOf((*TerminateSessionRequestType)(nil)).Elem() -} - -type TerminateSessionResponse struct { -} - -type TerminateVM TerminateVMRequestType - -func init() { - t["TerminateVM"] = reflect.TypeOf((*TerminateVM)(nil)).Elem() -} - -type TerminateVMRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["TerminateVMRequestType"] = reflect.TypeOf((*TerminateVMRequestType)(nil)).Elem() -} - -type TerminateVMResponse struct { -} - -type TestTimeService TestTimeServiceRequestType - -func init() { - t["TestTimeService"] = reflect.TypeOf((*TestTimeService)(nil)).Elem() -} - -type TestTimeServiceRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["TestTimeServiceRequestType"] = reflect.TypeOf((*TestTimeServiceRequestType)(nil)).Elem() -} - -type TestTimeServiceResponse struct { - Returnval *HostDateTimeSystemServiceTestResult `xml:"returnval,omitempty"` -} - -type ThirdPartyLicenseAssignmentFailed struct { - RuntimeFault - - Host ManagedObjectReference `xml:"host"` - Module string `xml:"module"` - Reason string `xml:"reason,omitempty"` -} - -func init() { - t["ThirdPartyLicenseAssignmentFailed"] = reflect.TypeOf((*ThirdPartyLicenseAssignmentFailed)(nil)).Elem() -} - -type ThirdPartyLicenseAssignmentFailedFault ThirdPartyLicenseAssignmentFailed - -func init() { - t["ThirdPartyLicenseAssignmentFailedFault"] = reflect.TypeOf((*ThirdPartyLicenseAssignmentFailedFault)(nil)).Elem() -} - -type TicketedSessionAuthentication struct { - GuestAuthentication - - Ticket string `xml:"ticket"` -} - -func init() { - t["TicketedSessionAuthentication"] = reflect.TypeOf((*TicketedSessionAuthentication)(nil)).Elem() -} - -type TimedOutHostOperationEvent struct { - HostEvent -} - -func init() { - t["TimedOutHostOperationEvent"] = reflect.TypeOf((*TimedOutHostOperationEvent)(nil)).Elem() -} - -type Timedout struct { - VimFault -} - -func init() { - t["Timedout"] = reflect.TypeOf((*Timedout)(nil)).Elem() -} - -type TimedoutFault BaseTimedout - -func init() { - t["TimedoutFault"] = reflect.TypeOf((*TimedoutFault)(nil)).Elem() -} - -type TooManyConcurrentNativeClones struct { - FileFault -} - -func init() { - t["TooManyConcurrentNativeClones"] = reflect.TypeOf((*TooManyConcurrentNativeClones)(nil)).Elem() -} - -type TooManyConcurrentNativeClonesFault TooManyConcurrentNativeClones - -func init() { - t["TooManyConcurrentNativeClonesFault"] = reflect.TypeOf((*TooManyConcurrentNativeClonesFault)(nil)).Elem() -} - -type TooManyConsecutiveOverrides struct { - VimFault -} - -func init() { - t["TooManyConsecutiveOverrides"] = reflect.TypeOf((*TooManyConsecutiveOverrides)(nil)).Elem() -} - -type TooManyConsecutiveOverridesFault TooManyConsecutiveOverrides - -func init() { - t["TooManyConsecutiveOverridesFault"] = reflect.TypeOf((*TooManyConsecutiveOverridesFault)(nil)).Elem() -} - -type TooManyDevices struct { - InvalidVmConfig -} - -func init() { - t["TooManyDevices"] = reflect.TypeOf((*TooManyDevices)(nil)).Elem() -} - -type TooManyDevicesFault TooManyDevices - -func init() { - t["TooManyDevicesFault"] = reflect.TypeOf((*TooManyDevicesFault)(nil)).Elem() -} - -type TooManyDisksOnLegacyHost struct { - MigrationFault - - DiskCount int32 `xml:"diskCount"` - TimeoutDanger bool `xml:"timeoutDanger"` -} - -func init() { - t["TooManyDisksOnLegacyHost"] = reflect.TypeOf((*TooManyDisksOnLegacyHost)(nil)).Elem() -} - -type TooManyDisksOnLegacyHostFault TooManyDisksOnLegacyHost - -func init() { - t["TooManyDisksOnLegacyHostFault"] = reflect.TypeOf((*TooManyDisksOnLegacyHostFault)(nil)).Elem() -} - -type TooManyGuestLogons struct { - GuestOperationsFault -} - -func init() { - t["TooManyGuestLogons"] = reflect.TypeOf((*TooManyGuestLogons)(nil)).Elem() -} - -type TooManyGuestLogonsFault TooManyGuestLogons - -func init() { - t["TooManyGuestLogonsFault"] = reflect.TypeOf((*TooManyGuestLogonsFault)(nil)).Elem() -} - -type TooManyHosts struct { - HostConnectFault -} - -func init() { - t["TooManyHosts"] = reflect.TypeOf((*TooManyHosts)(nil)).Elem() -} - -type TooManyHostsFault TooManyHosts - -func init() { - t["TooManyHostsFault"] = reflect.TypeOf((*TooManyHostsFault)(nil)).Elem() -} - -type TooManyNativeCloneLevels struct { - FileFault -} - -func init() { - t["TooManyNativeCloneLevels"] = reflect.TypeOf((*TooManyNativeCloneLevels)(nil)).Elem() -} - -type TooManyNativeCloneLevelsFault TooManyNativeCloneLevels - -func init() { - t["TooManyNativeCloneLevelsFault"] = reflect.TypeOf((*TooManyNativeCloneLevelsFault)(nil)).Elem() -} - -type TooManyNativeClonesOnFile struct { - FileFault -} - -func init() { - t["TooManyNativeClonesOnFile"] = reflect.TypeOf((*TooManyNativeClonesOnFile)(nil)).Elem() -} - -type TooManyNativeClonesOnFileFault TooManyNativeClonesOnFile - -func init() { - t["TooManyNativeClonesOnFileFault"] = reflect.TypeOf((*TooManyNativeClonesOnFileFault)(nil)).Elem() -} - -type TooManySnapshotLevels struct { - SnapshotFault -} - -func init() { - t["TooManySnapshotLevels"] = reflect.TypeOf((*TooManySnapshotLevels)(nil)).Elem() -} - -type TooManySnapshotLevelsFault TooManySnapshotLevels - -func init() { - t["TooManySnapshotLevelsFault"] = reflect.TypeOf((*TooManySnapshotLevelsFault)(nil)).Elem() -} - -type ToolsAlreadyUpgraded struct { - VmToolsUpgradeFault -} - -func init() { - t["ToolsAlreadyUpgraded"] = reflect.TypeOf((*ToolsAlreadyUpgraded)(nil)).Elem() -} - -type ToolsAlreadyUpgradedFault ToolsAlreadyUpgraded - -func init() { - t["ToolsAlreadyUpgradedFault"] = reflect.TypeOf((*ToolsAlreadyUpgradedFault)(nil)).Elem() -} - -type ToolsAutoUpgradeNotSupported struct { - VmToolsUpgradeFault -} - -func init() { - t["ToolsAutoUpgradeNotSupported"] = reflect.TypeOf((*ToolsAutoUpgradeNotSupported)(nil)).Elem() -} - -type ToolsAutoUpgradeNotSupportedFault ToolsAutoUpgradeNotSupported - -func init() { - t["ToolsAutoUpgradeNotSupportedFault"] = reflect.TypeOf((*ToolsAutoUpgradeNotSupportedFault)(nil)).Elem() -} - -type ToolsConfigInfo struct { - DynamicData - - ToolsVersion int32 `xml:"toolsVersion,omitempty"` - ToolsInstallType string `xml:"toolsInstallType,omitempty"` - AfterPowerOn *bool `xml:"afterPowerOn"` - AfterResume *bool `xml:"afterResume"` - BeforeGuestStandby *bool `xml:"beforeGuestStandby"` - BeforeGuestShutdown *bool `xml:"beforeGuestShutdown"` - BeforeGuestReboot *bool `xml:"beforeGuestReboot"` - ToolsUpgradePolicy string `xml:"toolsUpgradePolicy,omitempty"` - PendingCustomization string `xml:"pendingCustomization,omitempty"` - CustomizationKeyId *CryptoKeyId `xml:"customizationKeyId,omitempty"` - SyncTimeWithHostAllowed *bool `xml:"syncTimeWithHostAllowed"` - SyncTimeWithHost *bool `xml:"syncTimeWithHost"` - LastInstallInfo *ToolsConfigInfoToolsLastInstallInfo `xml:"lastInstallInfo,omitempty"` -} - -func init() { - t["ToolsConfigInfo"] = reflect.TypeOf((*ToolsConfigInfo)(nil)).Elem() -} - -type ToolsConfigInfoToolsLastInstallInfo struct { - DynamicData - - Counter int32 `xml:"counter"` - Fault *LocalizedMethodFault `xml:"fault,omitempty"` -} - -func init() { - t["ToolsConfigInfoToolsLastInstallInfo"] = reflect.TypeOf((*ToolsConfigInfoToolsLastInstallInfo)(nil)).Elem() -} - -type ToolsImageCopyFailed struct { - VmToolsUpgradeFault -} - -func init() { - t["ToolsImageCopyFailed"] = reflect.TypeOf((*ToolsImageCopyFailed)(nil)).Elem() -} - -type ToolsImageCopyFailedFault ToolsImageCopyFailed - -func init() { - t["ToolsImageCopyFailedFault"] = reflect.TypeOf((*ToolsImageCopyFailedFault)(nil)).Elem() -} - -type ToolsImageNotAvailable struct { - VmToolsUpgradeFault -} - -func init() { - t["ToolsImageNotAvailable"] = reflect.TypeOf((*ToolsImageNotAvailable)(nil)).Elem() -} - -type ToolsImageNotAvailableFault ToolsImageNotAvailable - -func init() { - t["ToolsImageNotAvailableFault"] = reflect.TypeOf((*ToolsImageNotAvailableFault)(nil)).Elem() -} - -type ToolsImageSignatureCheckFailed struct { - VmToolsUpgradeFault -} - -func init() { - t["ToolsImageSignatureCheckFailed"] = reflect.TypeOf((*ToolsImageSignatureCheckFailed)(nil)).Elem() -} - -type ToolsImageSignatureCheckFailedFault ToolsImageSignatureCheckFailed - -func init() { - t["ToolsImageSignatureCheckFailedFault"] = reflect.TypeOf((*ToolsImageSignatureCheckFailedFault)(nil)).Elem() -} - -type ToolsInstallationInProgress struct { - MigrationFault -} - -func init() { - t["ToolsInstallationInProgress"] = reflect.TypeOf((*ToolsInstallationInProgress)(nil)).Elem() -} - -type ToolsInstallationInProgressFault ToolsInstallationInProgress - -func init() { - t["ToolsInstallationInProgressFault"] = reflect.TypeOf((*ToolsInstallationInProgressFault)(nil)).Elem() -} - -type ToolsUnavailable struct { - VimFault -} - -func init() { - t["ToolsUnavailable"] = reflect.TypeOf((*ToolsUnavailable)(nil)).Elem() -} - -type ToolsUnavailableFault ToolsUnavailable - -func init() { - t["ToolsUnavailableFault"] = reflect.TypeOf((*ToolsUnavailableFault)(nil)).Elem() -} - -type ToolsUpgradeCancelled struct { - VmToolsUpgradeFault -} - -func init() { - t["ToolsUpgradeCancelled"] = reflect.TypeOf((*ToolsUpgradeCancelled)(nil)).Elem() -} - -type ToolsUpgradeCancelledFault ToolsUpgradeCancelled - -func init() { - t["ToolsUpgradeCancelledFault"] = reflect.TypeOf((*ToolsUpgradeCancelledFault)(nil)).Elem() -} - -type TraversalSpec struct { - SelectionSpec - - Type string `xml:"type"` - Path string `xml:"path"` - Skip *bool `xml:"skip"` - SelectSet []BaseSelectionSpec `xml:"selectSet,omitempty,typeattr"` -} - -func init() { - t["TraversalSpec"] = reflect.TypeOf((*TraversalSpec)(nil)).Elem() -} - -type TurnDiskLocatorLedOffRequestType struct { - This ManagedObjectReference `xml:"_this"` - ScsiDiskUuids []string `xml:"scsiDiskUuids"` -} - -func init() { - t["TurnDiskLocatorLedOffRequestType"] = reflect.TypeOf((*TurnDiskLocatorLedOffRequestType)(nil)).Elem() -} - -type TurnDiskLocatorLedOff_Task TurnDiskLocatorLedOffRequestType - -func init() { - t["TurnDiskLocatorLedOff_Task"] = reflect.TypeOf((*TurnDiskLocatorLedOff_Task)(nil)).Elem() -} - -type TurnDiskLocatorLedOff_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type TurnDiskLocatorLedOnRequestType struct { - This ManagedObjectReference `xml:"_this"` - ScsiDiskUuids []string `xml:"scsiDiskUuids"` -} - -func init() { - t["TurnDiskLocatorLedOnRequestType"] = reflect.TypeOf((*TurnDiskLocatorLedOnRequestType)(nil)).Elem() -} - -type TurnDiskLocatorLedOn_Task TurnDiskLocatorLedOnRequestType - -func init() { - t["TurnDiskLocatorLedOn_Task"] = reflect.TypeOf((*TurnDiskLocatorLedOn_Task)(nil)).Elem() -} - -type TurnDiskLocatorLedOn_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type TurnOffFaultToleranceForVMRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["TurnOffFaultToleranceForVMRequestType"] = reflect.TypeOf((*TurnOffFaultToleranceForVMRequestType)(nil)).Elem() -} - -type TurnOffFaultToleranceForVM_Task TurnOffFaultToleranceForVMRequestType - -func init() { - t["TurnOffFaultToleranceForVM_Task"] = reflect.TypeOf((*TurnOffFaultToleranceForVM_Task)(nil)).Elem() -} - -type TurnOffFaultToleranceForVM_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type TypeDescription struct { - Description - - Key string `xml:"key"` -} - -func init() { - t["TypeDescription"] = reflect.TypeOf((*TypeDescription)(nil)).Elem() -} - -type UnSupportedDatastoreForVFlash struct { - UnsupportedDatastore - - DatastoreName string `xml:"datastoreName"` - Type string `xml:"type"` -} - -func init() { - t["UnSupportedDatastoreForVFlash"] = reflect.TypeOf((*UnSupportedDatastoreForVFlash)(nil)).Elem() -} - -type UnSupportedDatastoreForVFlashFault UnSupportedDatastoreForVFlash - -func init() { - t["UnSupportedDatastoreForVFlashFault"] = reflect.TypeOf((*UnSupportedDatastoreForVFlashFault)(nil)).Elem() -} - -type UnassignUserFromGroup UnassignUserFromGroupRequestType - -func init() { - t["UnassignUserFromGroup"] = reflect.TypeOf((*UnassignUserFromGroup)(nil)).Elem() -} - -type UnassignUserFromGroupRequestType struct { - This ManagedObjectReference `xml:"_this"` - User string `xml:"user"` - Group string `xml:"group"` -} - -func init() { - t["UnassignUserFromGroupRequestType"] = reflect.TypeOf((*UnassignUserFromGroupRequestType)(nil)).Elem() -} - -type UnassignUserFromGroupResponse struct { -} - -type UnbindVnic UnbindVnicRequestType - -func init() { - t["UnbindVnic"] = reflect.TypeOf((*UnbindVnic)(nil)).Elem() -} - -type UnbindVnicRequestType struct { - This ManagedObjectReference `xml:"_this"` - IScsiHbaName string `xml:"iScsiHbaName"` - VnicDevice string `xml:"vnicDevice"` - Force bool `xml:"force"` -} - -func init() { - t["UnbindVnicRequestType"] = reflect.TypeOf((*UnbindVnicRequestType)(nil)).Elem() -} - -type UnbindVnicResponse struct { -} - -type UncommittedUndoableDisk struct { - MigrationFault -} - -func init() { - t["UncommittedUndoableDisk"] = reflect.TypeOf((*UncommittedUndoableDisk)(nil)).Elem() -} - -type UncommittedUndoableDiskFault UncommittedUndoableDisk - -func init() { - t["UncommittedUndoableDiskFault"] = reflect.TypeOf((*UncommittedUndoableDiskFault)(nil)).Elem() -} - -type UnconfiguredPropertyValue struct { - InvalidPropertyValue -} - -func init() { - t["UnconfiguredPropertyValue"] = reflect.TypeOf((*UnconfiguredPropertyValue)(nil)).Elem() -} - -type UnconfiguredPropertyValueFault UnconfiguredPropertyValue - -func init() { - t["UnconfiguredPropertyValueFault"] = reflect.TypeOf((*UnconfiguredPropertyValueFault)(nil)).Elem() -} - -type UncustomizableGuest struct { - CustomizationFault - - UncustomizableGuestOS string `xml:"uncustomizableGuestOS"` -} - -func init() { - t["UncustomizableGuest"] = reflect.TypeOf((*UncustomizableGuest)(nil)).Elem() -} - -type UncustomizableGuestFault UncustomizableGuest - -func init() { - t["UncustomizableGuestFault"] = reflect.TypeOf((*UncustomizableGuestFault)(nil)).Elem() -} - -type UnexpectedCustomizationFault struct { - CustomizationFault -} - -func init() { - t["UnexpectedCustomizationFault"] = reflect.TypeOf((*UnexpectedCustomizationFault)(nil)).Elem() -} - -type UnexpectedCustomizationFaultFault UnexpectedCustomizationFault - -func init() { - t["UnexpectedCustomizationFaultFault"] = reflect.TypeOf((*UnexpectedCustomizationFaultFault)(nil)).Elem() -} - -type UnexpectedFault struct { - RuntimeFault - - FaultName string `xml:"faultName"` - Fault *LocalizedMethodFault `xml:"fault,omitempty"` -} - -func init() { - t["UnexpectedFault"] = reflect.TypeOf((*UnexpectedFault)(nil)).Elem() -} - -type UnexpectedFaultFault UnexpectedFault - -func init() { - t["UnexpectedFaultFault"] = reflect.TypeOf((*UnexpectedFaultFault)(nil)).Elem() -} - -type UninstallHostPatchRequestType struct { - This ManagedObjectReference `xml:"_this"` - BulletinIds []string `xml:"bulletinIds,omitempty"` - Spec *HostPatchManagerPatchManagerOperationSpec `xml:"spec,omitempty"` -} - -func init() { - t["UninstallHostPatchRequestType"] = reflect.TypeOf((*UninstallHostPatchRequestType)(nil)).Elem() -} - -type UninstallHostPatch_Task UninstallHostPatchRequestType - -func init() { - t["UninstallHostPatch_Task"] = reflect.TypeOf((*UninstallHostPatch_Task)(nil)).Elem() -} - -type UninstallHostPatch_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type UninstallIoFilterRequestType struct { - This ManagedObjectReference `xml:"_this"` - FilterId string `xml:"filterId"` - CompRes ManagedObjectReference `xml:"compRes"` -} - -func init() { - t["UninstallIoFilterRequestType"] = reflect.TypeOf((*UninstallIoFilterRequestType)(nil)).Elem() -} - -type UninstallIoFilter_Task UninstallIoFilterRequestType - -func init() { - t["UninstallIoFilter_Task"] = reflect.TypeOf((*UninstallIoFilter_Task)(nil)).Elem() -} - -type UninstallIoFilter_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type UninstallService UninstallServiceRequestType - -func init() { - t["UninstallService"] = reflect.TypeOf((*UninstallService)(nil)).Elem() -} - -type UninstallServiceRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id string `xml:"id"` -} - -func init() { - t["UninstallServiceRequestType"] = reflect.TypeOf((*UninstallServiceRequestType)(nil)).Elem() -} - -type UninstallServiceResponse struct { -} - -type UnlicensedVirtualMachinesEvent struct { - LicenseEvent - - Unlicensed int32 `xml:"unlicensed"` - Available int32 `xml:"available"` -} - -func init() { - t["UnlicensedVirtualMachinesEvent"] = reflect.TypeOf((*UnlicensedVirtualMachinesEvent)(nil)).Elem() -} - -type UnlicensedVirtualMachinesFoundEvent struct { - LicenseEvent - - Available int32 `xml:"available"` -} - -func init() { - t["UnlicensedVirtualMachinesFoundEvent"] = reflect.TypeOf((*UnlicensedVirtualMachinesFoundEvent)(nil)).Elem() -} - -type UnmapVmfsVolumeExRequestType struct { - This ManagedObjectReference `xml:"_this"` - VmfsUuid []string `xml:"vmfsUuid"` -} - -func init() { - t["UnmapVmfsVolumeExRequestType"] = reflect.TypeOf((*UnmapVmfsVolumeExRequestType)(nil)).Elem() -} - -type UnmapVmfsVolumeEx_Task UnmapVmfsVolumeExRequestType - -func init() { - t["UnmapVmfsVolumeEx_Task"] = reflect.TypeOf((*UnmapVmfsVolumeEx_Task)(nil)).Elem() -} - -type UnmapVmfsVolumeEx_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type UnmarkServiceProviderEntities UnmarkServiceProviderEntitiesRequestType - -func init() { - t["UnmarkServiceProviderEntities"] = reflect.TypeOf((*UnmarkServiceProviderEntities)(nil)).Elem() -} - -type UnmarkServiceProviderEntitiesRequestType struct { - This ManagedObjectReference `xml:"_this"` - Entity []ManagedObjectReference `xml:"entity,omitempty"` -} - -func init() { - t["UnmarkServiceProviderEntitiesRequestType"] = reflect.TypeOf((*UnmarkServiceProviderEntitiesRequestType)(nil)).Elem() -} - -type UnmarkServiceProviderEntitiesResponse struct { -} - -type UnmountDiskMappingRequestType struct { - This ManagedObjectReference `xml:"_this"` - Mapping []VsanHostDiskMapping `xml:"mapping"` -} - -func init() { - t["UnmountDiskMappingRequestType"] = reflect.TypeOf((*UnmountDiskMappingRequestType)(nil)).Elem() -} - -type UnmountDiskMapping_Task UnmountDiskMappingRequestType - -func init() { - t["UnmountDiskMapping_Task"] = reflect.TypeOf((*UnmountDiskMapping_Task)(nil)).Elem() -} - -type UnmountDiskMapping_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type UnmountForceMountedVmfsVolume UnmountForceMountedVmfsVolumeRequestType - -func init() { - t["UnmountForceMountedVmfsVolume"] = reflect.TypeOf((*UnmountForceMountedVmfsVolume)(nil)).Elem() -} - -type UnmountForceMountedVmfsVolumeRequestType struct { - This ManagedObjectReference `xml:"_this"` - VmfsUuid string `xml:"vmfsUuid"` -} - -func init() { - t["UnmountForceMountedVmfsVolumeRequestType"] = reflect.TypeOf((*UnmountForceMountedVmfsVolumeRequestType)(nil)).Elem() -} - -type UnmountForceMountedVmfsVolumeResponse struct { -} - -type UnmountToolsInstaller UnmountToolsInstallerRequestType - -func init() { - t["UnmountToolsInstaller"] = reflect.TypeOf((*UnmountToolsInstaller)(nil)).Elem() -} - -type UnmountToolsInstallerRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["UnmountToolsInstallerRequestType"] = reflect.TypeOf((*UnmountToolsInstallerRequestType)(nil)).Elem() -} - -type UnmountToolsInstallerResponse struct { -} - -type UnmountVffsVolume UnmountVffsVolumeRequestType - -func init() { - t["UnmountVffsVolume"] = reflect.TypeOf((*UnmountVffsVolume)(nil)).Elem() -} - -type UnmountVffsVolumeRequestType struct { - This ManagedObjectReference `xml:"_this"` - VffsUuid string `xml:"vffsUuid"` -} - -func init() { - t["UnmountVffsVolumeRequestType"] = reflect.TypeOf((*UnmountVffsVolumeRequestType)(nil)).Elem() -} - -type UnmountVffsVolumeResponse struct { -} - -type UnmountVmfsVolume UnmountVmfsVolumeRequestType - -func init() { - t["UnmountVmfsVolume"] = reflect.TypeOf((*UnmountVmfsVolume)(nil)).Elem() -} - -type UnmountVmfsVolumeExRequestType struct { - This ManagedObjectReference `xml:"_this"` - VmfsUuid []string `xml:"vmfsUuid"` -} - -func init() { - t["UnmountVmfsVolumeExRequestType"] = reflect.TypeOf((*UnmountVmfsVolumeExRequestType)(nil)).Elem() -} - -type UnmountVmfsVolumeEx_Task UnmountVmfsVolumeExRequestType - -func init() { - t["UnmountVmfsVolumeEx_Task"] = reflect.TypeOf((*UnmountVmfsVolumeEx_Task)(nil)).Elem() -} - -type UnmountVmfsVolumeEx_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type UnmountVmfsVolumeRequestType struct { - This ManagedObjectReference `xml:"_this"` - VmfsUuid string `xml:"vmfsUuid"` -} - -func init() { - t["UnmountVmfsVolumeRequestType"] = reflect.TypeOf((*UnmountVmfsVolumeRequestType)(nil)).Elem() -} - -type UnmountVmfsVolumeResponse struct { -} - -type UnrecognizedHost struct { - VimFault - - HostName string `xml:"hostName"` -} - -func init() { - t["UnrecognizedHost"] = reflect.TypeOf((*UnrecognizedHost)(nil)).Elem() -} - -type UnrecognizedHostFault UnrecognizedHost - -func init() { - t["UnrecognizedHostFault"] = reflect.TypeOf((*UnrecognizedHostFault)(nil)).Elem() -} - -type UnregisterAndDestroyRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["UnregisterAndDestroyRequestType"] = reflect.TypeOf((*UnregisterAndDestroyRequestType)(nil)).Elem() -} - -type UnregisterAndDestroy_Task UnregisterAndDestroyRequestType - -func init() { - t["UnregisterAndDestroy_Task"] = reflect.TypeOf((*UnregisterAndDestroy_Task)(nil)).Elem() -} - -type UnregisterAndDestroy_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type UnregisterExtension UnregisterExtensionRequestType - -func init() { - t["UnregisterExtension"] = reflect.TypeOf((*UnregisterExtension)(nil)).Elem() -} - -type UnregisterExtensionRequestType struct { - This ManagedObjectReference `xml:"_this"` - ExtensionKey string `xml:"extensionKey"` -} - -func init() { - t["UnregisterExtensionRequestType"] = reflect.TypeOf((*UnregisterExtensionRequestType)(nil)).Elem() -} - -type UnregisterExtensionResponse struct { -} - -type UnregisterHealthUpdateProvider UnregisterHealthUpdateProviderRequestType - -func init() { - t["UnregisterHealthUpdateProvider"] = reflect.TypeOf((*UnregisterHealthUpdateProvider)(nil)).Elem() -} - -type UnregisterHealthUpdateProviderRequestType struct { - This ManagedObjectReference `xml:"_this"` - ProviderId string `xml:"providerId"` -} - -func init() { - t["UnregisterHealthUpdateProviderRequestType"] = reflect.TypeOf((*UnregisterHealthUpdateProviderRequestType)(nil)).Elem() -} - -type UnregisterHealthUpdateProviderResponse struct { -} - -type UnregisterKmsCluster UnregisterKmsClusterRequestType - -func init() { - t["UnregisterKmsCluster"] = reflect.TypeOf((*UnregisterKmsCluster)(nil)).Elem() -} - -type UnregisterKmsClusterRequestType struct { - This ManagedObjectReference `xml:"_this"` - ClusterId KeyProviderId `xml:"clusterId"` -} - -func init() { - t["UnregisterKmsClusterRequestType"] = reflect.TypeOf((*UnregisterKmsClusterRequestType)(nil)).Elem() -} - -type UnregisterKmsClusterResponse struct { -} - -type UnregisterVM UnregisterVMRequestType - -func init() { - t["UnregisterVM"] = reflect.TypeOf((*UnregisterVM)(nil)).Elem() -} - -type UnregisterVMRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["UnregisterVMRequestType"] = reflect.TypeOf((*UnregisterVMRequestType)(nil)).Elem() -} - -type UnregisterVMResponse struct { -} - -type UnsharedSwapVMotionNotSupported struct { - MigrationFeatureNotSupported -} - -func init() { - t["UnsharedSwapVMotionNotSupported"] = reflect.TypeOf((*UnsharedSwapVMotionNotSupported)(nil)).Elem() -} - -type UnsharedSwapVMotionNotSupportedFault UnsharedSwapVMotionNotSupported - -func init() { - t["UnsharedSwapVMotionNotSupportedFault"] = reflect.TypeOf((*UnsharedSwapVMotionNotSupportedFault)(nil)).Elem() -} - -type UnsupportedDatastore struct { - VmConfigFault - - Datastore *ManagedObjectReference `xml:"datastore,omitempty"` -} - -func init() { - t["UnsupportedDatastore"] = reflect.TypeOf((*UnsupportedDatastore)(nil)).Elem() -} - -type UnsupportedDatastoreFault BaseUnsupportedDatastore - -func init() { - t["UnsupportedDatastoreFault"] = reflect.TypeOf((*UnsupportedDatastoreFault)(nil)).Elem() -} - -type UnsupportedGuest struct { - InvalidVmConfig - - UnsupportedGuestOS string `xml:"unsupportedGuestOS"` -} - -func init() { - t["UnsupportedGuest"] = reflect.TypeOf((*UnsupportedGuest)(nil)).Elem() -} - -type UnsupportedGuestFault UnsupportedGuest - -func init() { - t["UnsupportedGuestFault"] = reflect.TypeOf((*UnsupportedGuestFault)(nil)).Elem() -} - -type UnsupportedVimApiVersion struct { - VimFault - - Version string `xml:"version,omitempty"` -} - -func init() { - t["UnsupportedVimApiVersion"] = reflect.TypeOf((*UnsupportedVimApiVersion)(nil)).Elem() -} - -type UnsupportedVimApiVersionFault UnsupportedVimApiVersion - -func init() { - t["UnsupportedVimApiVersionFault"] = reflect.TypeOf((*UnsupportedVimApiVersionFault)(nil)).Elem() -} - -type UnsupportedVmxLocation struct { - VmConfigFault -} - -func init() { - t["UnsupportedVmxLocation"] = reflect.TypeOf((*UnsupportedVmxLocation)(nil)).Elem() -} - -type UnsupportedVmxLocationFault UnsupportedVmxLocation - -func init() { - t["UnsupportedVmxLocationFault"] = reflect.TypeOf((*UnsupportedVmxLocationFault)(nil)).Elem() -} - -type UnusedVirtualDiskBlocksNotScrubbed struct { - DeviceBackingNotSupported -} - -func init() { - t["UnusedVirtualDiskBlocksNotScrubbed"] = reflect.TypeOf((*UnusedVirtualDiskBlocksNotScrubbed)(nil)).Elem() -} - -type UnusedVirtualDiskBlocksNotScrubbedFault UnusedVirtualDiskBlocksNotScrubbed - -func init() { - t["UnusedVirtualDiskBlocksNotScrubbedFault"] = reflect.TypeOf((*UnusedVirtualDiskBlocksNotScrubbedFault)(nil)).Elem() -} - -type UpdateAnswerFileRequestType struct { - This ManagedObjectReference `xml:"_this"` - Host ManagedObjectReference `xml:"host"` - ConfigSpec BaseAnswerFileCreateSpec `xml:"configSpec,typeattr"` -} - -func init() { - t["UpdateAnswerFileRequestType"] = reflect.TypeOf((*UpdateAnswerFileRequestType)(nil)).Elem() -} - -type UpdateAnswerFile_Task UpdateAnswerFileRequestType - -func init() { - t["UpdateAnswerFile_Task"] = reflect.TypeOf((*UpdateAnswerFile_Task)(nil)).Elem() -} - -type UpdateAnswerFile_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type UpdateAssignableHardwareConfig UpdateAssignableHardwareConfigRequestType - -func init() { - t["UpdateAssignableHardwareConfig"] = reflect.TypeOf((*UpdateAssignableHardwareConfig)(nil)).Elem() -} - -type UpdateAssignableHardwareConfigRequestType struct { - This ManagedObjectReference `xml:"_this"` - Config HostAssignableHardwareConfig `xml:"config"` -} - -func init() { - t["UpdateAssignableHardwareConfigRequestType"] = reflect.TypeOf((*UpdateAssignableHardwareConfigRequestType)(nil)).Elem() -} - -type UpdateAssignableHardwareConfigResponse struct { -} - -type UpdateAssignedLicense UpdateAssignedLicenseRequestType - -func init() { - t["UpdateAssignedLicense"] = reflect.TypeOf((*UpdateAssignedLicense)(nil)).Elem() -} - -type UpdateAssignedLicenseRequestType struct { - This ManagedObjectReference `xml:"_this"` - Entity string `xml:"entity"` - LicenseKey string `xml:"licenseKey"` - EntityDisplayName string `xml:"entityDisplayName,omitempty"` -} - -func init() { - t["UpdateAssignedLicenseRequestType"] = reflect.TypeOf((*UpdateAssignedLicenseRequestType)(nil)).Elem() -} - -type UpdateAssignedLicenseResponse struct { - Returnval LicenseManagerLicenseInfo `xml:"returnval"` -} - -type UpdateAuthorizationRole UpdateAuthorizationRoleRequestType - -func init() { - t["UpdateAuthorizationRole"] = reflect.TypeOf((*UpdateAuthorizationRole)(nil)).Elem() -} - -type UpdateAuthorizationRoleRequestType struct { - This ManagedObjectReference `xml:"_this"` - RoleId int32 `xml:"roleId"` - NewName string `xml:"newName"` - PrivIds []string `xml:"privIds,omitempty"` -} - -func init() { - t["UpdateAuthorizationRoleRequestType"] = reflect.TypeOf((*UpdateAuthorizationRoleRequestType)(nil)).Elem() -} - -type UpdateAuthorizationRoleResponse struct { -} - -type UpdateBootDevice UpdateBootDeviceRequestType - -func init() { - t["UpdateBootDevice"] = reflect.TypeOf((*UpdateBootDevice)(nil)).Elem() -} - -type UpdateBootDeviceRequestType struct { - This ManagedObjectReference `xml:"_this"` - Key string `xml:"key"` -} - -func init() { - t["UpdateBootDeviceRequestType"] = reflect.TypeOf((*UpdateBootDeviceRequestType)(nil)).Elem() -} - -type UpdateBootDeviceResponse struct { -} - -type UpdateChildResourceConfiguration UpdateChildResourceConfigurationRequestType - -func init() { - t["UpdateChildResourceConfiguration"] = reflect.TypeOf((*UpdateChildResourceConfiguration)(nil)).Elem() -} - -type UpdateChildResourceConfigurationRequestType struct { - This ManagedObjectReference `xml:"_this"` - Spec []ResourceConfigSpec `xml:"spec"` -} - -func init() { - t["UpdateChildResourceConfigurationRequestType"] = reflect.TypeOf((*UpdateChildResourceConfigurationRequestType)(nil)).Elem() -} - -type UpdateChildResourceConfigurationResponse struct { -} - -type UpdateClusterProfile UpdateClusterProfileRequestType - -func init() { - t["UpdateClusterProfile"] = reflect.TypeOf((*UpdateClusterProfile)(nil)).Elem() -} - -type UpdateClusterProfileRequestType struct { - This ManagedObjectReference `xml:"_this"` - Config BaseClusterProfileConfigSpec `xml:"config,typeattr"` -} - -func init() { - t["UpdateClusterProfileRequestType"] = reflect.TypeOf((*UpdateClusterProfileRequestType)(nil)).Elem() -} - -type UpdateClusterProfileResponse struct { -} - -type UpdateConfig UpdateConfigRequestType - -func init() { - t["UpdateConfig"] = reflect.TypeOf((*UpdateConfig)(nil)).Elem() -} - -type UpdateConfigRequestType struct { - This ManagedObjectReference `xml:"_this"` - Name string `xml:"name,omitempty"` - Config *ResourceConfigSpec `xml:"config,omitempty"` -} - -func init() { - t["UpdateConfigRequestType"] = reflect.TypeOf((*UpdateConfigRequestType)(nil)).Elem() -} - -type UpdateConfigResponse struct { -} - -type UpdateConsoleIpRouteConfig UpdateConsoleIpRouteConfigRequestType - -func init() { - t["UpdateConsoleIpRouteConfig"] = reflect.TypeOf((*UpdateConsoleIpRouteConfig)(nil)).Elem() -} - -type UpdateConsoleIpRouteConfigRequestType struct { - This ManagedObjectReference `xml:"_this"` - Config BaseHostIpRouteConfig `xml:"config,typeattr"` -} - -func init() { - t["UpdateConsoleIpRouteConfigRequestType"] = reflect.TypeOf((*UpdateConsoleIpRouteConfigRequestType)(nil)).Elem() -} - -type UpdateConsoleIpRouteConfigResponse struct { -} - -type UpdateCounterLevelMapping UpdateCounterLevelMappingRequestType - -func init() { - t["UpdateCounterLevelMapping"] = reflect.TypeOf((*UpdateCounterLevelMapping)(nil)).Elem() -} - -type UpdateCounterLevelMappingRequestType struct { - This ManagedObjectReference `xml:"_this"` - CounterLevelMap []PerformanceManagerCounterLevelMapping `xml:"counterLevelMap"` -} - -func init() { - t["UpdateCounterLevelMappingRequestType"] = reflect.TypeOf((*UpdateCounterLevelMappingRequestType)(nil)).Elem() -} - -type UpdateCounterLevelMappingResponse struct { -} - -type UpdateDVSHealthCheckConfigRequestType struct { - This ManagedObjectReference `xml:"_this"` - HealthCheckConfig []BaseDVSHealthCheckConfig `xml:"healthCheckConfig,typeattr"` -} - -func init() { - t["UpdateDVSHealthCheckConfigRequestType"] = reflect.TypeOf((*UpdateDVSHealthCheckConfigRequestType)(nil)).Elem() -} - -type UpdateDVSHealthCheckConfig_Task UpdateDVSHealthCheckConfigRequestType - -func init() { - t["UpdateDVSHealthCheckConfig_Task"] = reflect.TypeOf((*UpdateDVSHealthCheckConfig_Task)(nil)).Elem() -} - -type UpdateDVSHealthCheckConfig_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type UpdateDVSLacpGroupConfigRequestType struct { - This ManagedObjectReference `xml:"_this"` - LacpGroupSpec []VMwareDvsLacpGroupSpec `xml:"lacpGroupSpec"` -} - -func init() { - t["UpdateDVSLacpGroupConfigRequestType"] = reflect.TypeOf((*UpdateDVSLacpGroupConfigRequestType)(nil)).Elem() -} - -type UpdateDVSLacpGroupConfig_Task UpdateDVSLacpGroupConfigRequestType - -func init() { - t["UpdateDVSLacpGroupConfig_Task"] = reflect.TypeOf((*UpdateDVSLacpGroupConfig_Task)(nil)).Elem() -} - -type UpdateDVSLacpGroupConfig_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type UpdateDateTime UpdateDateTimeRequestType - -func init() { - t["UpdateDateTime"] = reflect.TypeOf((*UpdateDateTime)(nil)).Elem() -} - -type UpdateDateTimeConfig UpdateDateTimeConfigRequestType - -func init() { - t["UpdateDateTimeConfig"] = reflect.TypeOf((*UpdateDateTimeConfig)(nil)).Elem() -} - -type UpdateDateTimeConfigRequestType struct { - This ManagedObjectReference `xml:"_this"` - Config HostDateTimeConfig `xml:"config"` -} - -func init() { - t["UpdateDateTimeConfigRequestType"] = reflect.TypeOf((*UpdateDateTimeConfigRequestType)(nil)).Elem() -} - -type UpdateDateTimeConfigResponse struct { -} - -type UpdateDateTimeRequestType struct { - This ManagedObjectReference `xml:"_this"` - DateTime time.Time `xml:"dateTime"` -} - -func init() { - t["UpdateDateTimeRequestType"] = reflect.TypeOf((*UpdateDateTimeRequestType)(nil)).Elem() -} - -type UpdateDateTimeResponse struct { -} - -type UpdateDefaultPolicy UpdateDefaultPolicyRequestType - -func init() { - t["UpdateDefaultPolicy"] = reflect.TypeOf((*UpdateDefaultPolicy)(nil)).Elem() -} - -type UpdateDefaultPolicyRequestType struct { - This ManagedObjectReference `xml:"_this"` - DefaultPolicy HostFirewallDefaultPolicy `xml:"defaultPolicy"` -} - -func init() { - t["UpdateDefaultPolicyRequestType"] = reflect.TypeOf((*UpdateDefaultPolicyRequestType)(nil)).Elem() -} - -type UpdateDefaultPolicyResponse struct { -} - -type UpdateDiskPartitions UpdateDiskPartitionsRequestType - -func init() { - t["UpdateDiskPartitions"] = reflect.TypeOf((*UpdateDiskPartitions)(nil)).Elem() -} - -type UpdateDiskPartitionsRequestType struct { - This ManagedObjectReference `xml:"_this"` - DevicePath string `xml:"devicePath"` - Spec HostDiskPartitionSpec `xml:"spec"` -} - -func init() { - t["UpdateDiskPartitionsRequestType"] = reflect.TypeOf((*UpdateDiskPartitionsRequestType)(nil)).Elem() -} - -type UpdateDiskPartitionsResponse struct { -} - -type UpdateDnsConfig UpdateDnsConfigRequestType - -func init() { - t["UpdateDnsConfig"] = reflect.TypeOf((*UpdateDnsConfig)(nil)).Elem() -} - -type UpdateDnsConfigRequestType struct { - This ManagedObjectReference `xml:"_this"` - Config BaseHostDnsConfig `xml:"config,typeattr"` -} - -func init() { - t["UpdateDnsConfigRequestType"] = reflect.TypeOf((*UpdateDnsConfigRequestType)(nil)).Elem() -} - -type UpdateDnsConfigResponse struct { -} - -type UpdateDvsCapability UpdateDvsCapabilityRequestType - -func init() { - t["UpdateDvsCapability"] = reflect.TypeOf((*UpdateDvsCapability)(nil)).Elem() -} - -type UpdateDvsCapabilityRequestType struct { - This ManagedObjectReference `xml:"_this"` - Capability DVSCapability `xml:"capability"` -} - -func init() { - t["UpdateDvsCapabilityRequestType"] = reflect.TypeOf((*UpdateDvsCapabilityRequestType)(nil)).Elem() -} - -type UpdateDvsCapabilityResponse struct { -} - -type UpdateExtension UpdateExtensionRequestType - -func init() { - t["UpdateExtension"] = reflect.TypeOf((*UpdateExtension)(nil)).Elem() -} - -type UpdateExtensionRequestType struct { - This ManagedObjectReference `xml:"_this"` - Extension Extension `xml:"extension"` -} - -func init() { - t["UpdateExtensionRequestType"] = reflect.TypeOf((*UpdateExtensionRequestType)(nil)).Elem() -} - -type UpdateExtensionResponse struct { -} - -type UpdateFlags UpdateFlagsRequestType - -func init() { - t["UpdateFlags"] = reflect.TypeOf((*UpdateFlags)(nil)).Elem() -} - -type UpdateFlagsRequestType struct { - This ManagedObjectReference `xml:"_this"` - FlagInfo HostFlagInfo `xml:"flagInfo"` -} - -func init() { - t["UpdateFlagsRequestType"] = reflect.TypeOf((*UpdateFlagsRequestType)(nil)).Elem() -} - -type UpdateFlagsResponse struct { -} - -type UpdateGraphicsConfig UpdateGraphicsConfigRequestType - -func init() { - t["UpdateGraphicsConfig"] = reflect.TypeOf((*UpdateGraphicsConfig)(nil)).Elem() -} - -type UpdateGraphicsConfigRequestType struct { - This ManagedObjectReference `xml:"_this"` - Config HostGraphicsConfig `xml:"config"` -} - -func init() { - t["UpdateGraphicsConfigRequestType"] = reflect.TypeOf((*UpdateGraphicsConfigRequestType)(nil)).Elem() -} - -type UpdateGraphicsConfigResponse struct { -} - -type UpdateHostCustomizationsRequestType struct { - This ManagedObjectReference `xml:"_this"` - HostToConfigSpecMap []HostProfileManagerHostToConfigSpecMap `xml:"hostToConfigSpecMap,omitempty"` -} - -func init() { - t["UpdateHostCustomizationsRequestType"] = reflect.TypeOf((*UpdateHostCustomizationsRequestType)(nil)).Elem() -} - -type UpdateHostCustomizations_Task UpdateHostCustomizationsRequestType - -func init() { - t["UpdateHostCustomizations_Task"] = reflect.TypeOf((*UpdateHostCustomizations_Task)(nil)).Elem() -} - -type UpdateHostCustomizations_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type UpdateHostImageAcceptanceLevel UpdateHostImageAcceptanceLevelRequestType - -func init() { - t["UpdateHostImageAcceptanceLevel"] = reflect.TypeOf((*UpdateHostImageAcceptanceLevel)(nil)).Elem() -} - -type UpdateHostImageAcceptanceLevelRequestType struct { - This ManagedObjectReference `xml:"_this"` - NewAcceptanceLevel string `xml:"newAcceptanceLevel"` -} - -func init() { - t["UpdateHostImageAcceptanceLevelRequestType"] = reflect.TypeOf((*UpdateHostImageAcceptanceLevelRequestType)(nil)).Elem() -} - -type UpdateHostImageAcceptanceLevelResponse struct { -} - -type UpdateHostProfile UpdateHostProfileRequestType - -func init() { - t["UpdateHostProfile"] = reflect.TypeOf((*UpdateHostProfile)(nil)).Elem() -} - -type UpdateHostProfileRequestType struct { - This ManagedObjectReference `xml:"_this"` - Config BaseHostProfileConfigSpec `xml:"config,typeattr"` -} - -func init() { - t["UpdateHostProfileRequestType"] = reflect.TypeOf((*UpdateHostProfileRequestType)(nil)).Elem() -} - -type UpdateHostProfileResponse struct { -} - -type UpdateHostSpecification UpdateHostSpecificationRequestType - -func init() { - t["UpdateHostSpecification"] = reflect.TypeOf((*UpdateHostSpecification)(nil)).Elem() -} - -type UpdateHostSpecificationRequestType struct { - This ManagedObjectReference `xml:"_this"` - Host ManagedObjectReference `xml:"host"` - HostSpec HostSpecification `xml:"hostSpec"` -} - -func init() { - t["UpdateHostSpecificationRequestType"] = reflect.TypeOf((*UpdateHostSpecificationRequestType)(nil)).Elem() -} - -type UpdateHostSpecificationResponse struct { -} - -type UpdateHostSubSpecification UpdateHostSubSpecificationRequestType - -func init() { - t["UpdateHostSubSpecification"] = reflect.TypeOf((*UpdateHostSubSpecification)(nil)).Elem() -} - -type UpdateHostSubSpecificationRequestType struct { - This ManagedObjectReference `xml:"_this"` - Host ManagedObjectReference `xml:"host"` - HostSubSpec HostSubSpecification `xml:"hostSubSpec"` -} - -func init() { - t["UpdateHostSubSpecificationRequestType"] = reflect.TypeOf((*UpdateHostSubSpecificationRequestType)(nil)).Elem() -} - -type UpdateHostSubSpecificationResponse struct { -} - -type UpdateHppMultipathLunPolicy UpdateHppMultipathLunPolicyRequestType - -func init() { - t["UpdateHppMultipathLunPolicy"] = reflect.TypeOf((*UpdateHppMultipathLunPolicy)(nil)).Elem() -} - -type UpdateHppMultipathLunPolicyRequestType struct { - This ManagedObjectReference `xml:"_this"` - LunId string `xml:"lunId"` - Policy HostMultipathInfoHppLogicalUnitPolicy `xml:"policy"` -} - -func init() { - t["UpdateHppMultipathLunPolicyRequestType"] = reflect.TypeOf((*UpdateHppMultipathLunPolicyRequestType)(nil)).Elem() -} - -type UpdateHppMultipathLunPolicyResponse struct { -} - -type UpdateInternetScsiAdvancedOptions UpdateInternetScsiAdvancedOptionsRequestType - -func init() { - t["UpdateInternetScsiAdvancedOptions"] = reflect.TypeOf((*UpdateInternetScsiAdvancedOptions)(nil)).Elem() -} - -type UpdateInternetScsiAdvancedOptionsRequestType struct { - This ManagedObjectReference `xml:"_this"` - IScsiHbaDevice string `xml:"iScsiHbaDevice"` - TargetSet *HostInternetScsiHbaTargetSet `xml:"targetSet,omitempty"` - Options []HostInternetScsiHbaParamValue `xml:"options"` -} - -func init() { - t["UpdateInternetScsiAdvancedOptionsRequestType"] = reflect.TypeOf((*UpdateInternetScsiAdvancedOptionsRequestType)(nil)).Elem() -} - -type UpdateInternetScsiAdvancedOptionsResponse struct { -} - -type UpdateInternetScsiAlias UpdateInternetScsiAliasRequestType - -func init() { - t["UpdateInternetScsiAlias"] = reflect.TypeOf((*UpdateInternetScsiAlias)(nil)).Elem() -} - -type UpdateInternetScsiAliasRequestType struct { - This ManagedObjectReference `xml:"_this"` - IScsiHbaDevice string `xml:"iScsiHbaDevice"` - IScsiAlias string `xml:"iScsiAlias"` -} - -func init() { - t["UpdateInternetScsiAliasRequestType"] = reflect.TypeOf((*UpdateInternetScsiAliasRequestType)(nil)).Elem() -} - -type UpdateInternetScsiAliasResponse struct { -} - -type UpdateInternetScsiAuthenticationProperties UpdateInternetScsiAuthenticationPropertiesRequestType - -func init() { - t["UpdateInternetScsiAuthenticationProperties"] = reflect.TypeOf((*UpdateInternetScsiAuthenticationProperties)(nil)).Elem() -} - -type UpdateInternetScsiAuthenticationPropertiesRequestType struct { - This ManagedObjectReference `xml:"_this"` - IScsiHbaDevice string `xml:"iScsiHbaDevice"` - AuthenticationProperties HostInternetScsiHbaAuthenticationProperties `xml:"authenticationProperties"` - TargetSet *HostInternetScsiHbaTargetSet `xml:"targetSet,omitempty"` -} - -func init() { - t["UpdateInternetScsiAuthenticationPropertiesRequestType"] = reflect.TypeOf((*UpdateInternetScsiAuthenticationPropertiesRequestType)(nil)).Elem() -} - -type UpdateInternetScsiAuthenticationPropertiesResponse struct { -} - -type UpdateInternetScsiDigestProperties UpdateInternetScsiDigestPropertiesRequestType - -func init() { - t["UpdateInternetScsiDigestProperties"] = reflect.TypeOf((*UpdateInternetScsiDigestProperties)(nil)).Elem() -} - -type UpdateInternetScsiDigestPropertiesRequestType struct { - This ManagedObjectReference `xml:"_this"` - IScsiHbaDevice string `xml:"iScsiHbaDevice"` - TargetSet *HostInternetScsiHbaTargetSet `xml:"targetSet,omitempty"` - DigestProperties HostInternetScsiHbaDigestProperties `xml:"digestProperties"` -} - -func init() { - t["UpdateInternetScsiDigestPropertiesRequestType"] = reflect.TypeOf((*UpdateInternetScsiDigestPropertiesRequestType)(nil)).Elem() -} - -type UpdateInternetScsiDigestPropertiesResponse struct { -} - -type UpdateInternetScsiDiscoveryProperties UpdateInternetScsiDiscoveryPropertiesRequestType - -func init() { - t["UpdateInternetScsiDiscoveryProperties"] = reflect.TypeOf((*UpdateInternetScsiDiscoveryProperties)(nil)).Elem() -} - -type UpdateInternetScsiDiscoveryPropertiesRequestType struct { - This ManagedObjectReference `xml:"_this"` - IScsiHbaDevice string `xml:"iScsiHbaDevice"` - DiscoveryProperties HostInternetScsiHbaDiscoveryProperties `xml:"discoveryProperties"` -} - -func init() { - t["UpdateInternetScsiDiscoveryPropertiesRequestType"] = reflect.TypeOf((*UpdateInternetScsiDiscoveryPropertiesRequestType)(nil)).Elem() -} - -type UpdateInternetScsiDiscoveryPropertiesResponse struct { -} - -type UpdateInternetScsiIPProperties UpdateInternetScsiIPPropertiesRequestType - -func init() { - t["UpdateInternetScsiIPProperties"] = reflect.TypeOf((*UpdateInternetScsiIPProperties)(nil)).Elem() -} - -type UpdateInternetScsiIPPropertiesRequestType struct { - This ManagedObjectReference `xml:"_this"` - IScsiHbaDevice string `xml:"iScsiHbaDevice"` - IpProperties HostInternetScsiHbaIPProperties `xml:"ipProperties"` -} - -func init() { - t["UpdateInternetScsiIPPropertiesRequestType"] = reflect.TypeOf((*UpdateInternetScsiIPPropertiesRequestType)(nil)).Elem() -} - -type UpdateInternetScsiIPPropertiesResponse struct { -} - -type UpdateInternetScsiName UpdateInternetScsiNameRequestType - -func init() { - t["UpdateInternetScsiName"] = reflect.TypeOf((*UpdateInternetScsiName)(nil)).Elem() -} - -type UpdateInternetScsiNameRequestType struct { - This ManagedObjectReference `xml:"_this"` - IScsiHbaDevice string `xml:"iScsiHbaDevice"` - IScsiName string `xml:"iScsiName"` -} - -func init() { - t["UpdateInternetScsiNameRequestType"] = reflect.TypeOf((*UpdateInternetScsiNameRequestType)(nil)).Elem() -} - -type UpdateInternetScsiNameResponse struct { -} - -type UpdateIpConfig UpdateIpConfigRequestType - -func init() { - t["UpdateIpConfig"] = reflect.TypeOf((*UpdateIpConfig)(nil)).Elem() -} - -type UpdateIpConfigRequestType struct { - This ManagedObjectReference `xml:"_this"` - IpConfig HostIpConfig `xml:"ipConfig"` -} - -func init() { - t["UpdateIpConfigRequestType"] = reflect.TypeOf((*UpdateIpConfigRequestType)(nil)).Elem() -} - -type UpdateIpConfigResponse struct { -} - -type UpdateIpPool UpdateIpPoolRequestType - -func init() { - t["UpdateIpPool"] = reflect.TypeOf((*UpdateIpPool)(nil)).Elem() -} - -type UpdateIpPoolRequestType struct { - This ManagedObjectReference `xml:"_this"` - Dc ManagedObjectReference `xml:"dc"` - Pool IpPool `xml:"pool"` -} - -func init() { - t["UpdateIpPoolRequestType"] = reflect.TypeOf((*UpdateIpPoolRequestType)(nil)).Elem() -} - -type UpdateIpPoolResponse struct { -} - -type UpdateIpRouteConfig UpdateIpRouteConfigRequestType - -func init() { - t["UpdateIpRouteConfig"] = reflect.TypeOf((*UpdateIpRouteConfig)(nil)).Elem() -} - -type UpdateIpRouteConfigRequestType struct { - This ManagedObjectReference `xml:"_this"` - Config BaseHostIpRouteConfig `xml:"config,typeattr"` -} - -func init() { - t["UpdateIpRouteConfigRequestType"] = reflect.TypeOf((*UpdateIpRouteConfigRequestType)(nil)).Elem() -} - -type UpdateIpRouteConfigResponse struct { -} - -type UpdateIpRouteTableConfig UpdateIpRouteTableConfigRequestType - -func init() { - t["UpdateIpRouteTableConfig"] = reflect.TypeOf((*UpdateIpRouteTableConfig)(nil)).Elem() -} - -type UpdateIpRouteTableConfigRequestType struct { - This ManagedObjectReference `xml:"_this"` - Config HostIpRouteTableConfig `xml:"config"` -} - -func init() { - t["UpdateIpRouteTableConfigRequestType"] = reflect.TypeOf((*UpdateIpRouteTableConfigRequestType)(nil)).Elem() -} - -type UpdateIpRouteTableConfigResponse struct { -} - -type UpdateIpmi UpdateIpmiRequestType - -func init() { - t["UpdateIpmi"] = reflect.TypeOf((*UpdateIpmi)(nil)).Elem() -} - -type UpdateIpmiRequestType struct { - This ManagedObjectReference `xml:"_this"` - IpmiInfo HostIpmiInfo `xml:"ipmiInfo"` -} - -func init() { - t["UpdateIpmiRequestType"] = reflect.TypeOf((*UpdateIpmiRequestType)(nil)).Elem() -} - -type UpdateIpmiResponse struct { -} - -type UpdateKmipServer UpdateKmipServerRequestType - -func init() { - t["UpdateKmipServer"] = reflect.TypeOf((*UpdateKmipServer)(nil)).Elem() -} - -type UpdateKmipServerRequestType struct { - This ManagedObjectReference `xml:"_this"` - Server KmipServerSpec `xml:"server"` -} - -func init() { - t["UpdateKmipServerRequestType"] = reflect.TypeOf((*UpdateKmipServerRequestType)(nil)).Elem() -} - -type UpdateKmipServerResponse struct { -} - -type UpdateKmsSignedCsrClientCert UpdateKmsSignedCsrClientCertRequestType - -func init() { - t["UpdateKmsSignedCsrClientCert"] = reflect.TypeOf((*UpdateKmsSignedCsrClientCert)(nil)).Elem() -} - -type UpdateKmsSignedCsrClientCertRequestType struct { - This ManagedObjectReference `xml:"_this"` - Cluster KeyProviderId `xml:"cluster"` - Certificate string `xml:"certificate"` -} - -func init() { - t["UpdateKmsSignedCsrClientCertRequestType"] = reflect.TypeOf((*UpdateKmsSignedCsrClientCertRequestType)(nil)).Elem() -} - -type UpdateKmsSignedCsrClientCertResponse struct { -} - -type UpdateLicense UpdateLicenseRequestType - -func init() { - t["UpdateLicense"] = reflect.TypeOf((*UpdateLicense)(nil)).Elem() -} - -type UpdateLicenseLabel UpdateLicenseLabelRequestType - -func init() { - t["UpdateLicenseLabel"] = reflect.TypeOf((*UpdateLicenseLabel)(nil)).Elem() -} - -type UpdateLicenseLabelRequestType struct { - This ManagedObjectReference `xml:"_this"` - LicenseKey string `xml:"licenseKey"` - LabelKey string `xml:"labelKey"` - LabelValue string `xml:"labelValue"` -} - -func init() { - t["UpdateLicenseLabelRequestType"] = reflect.TypeOf((*UpdateLicenseLabelRequestType)(nil)).Elem() -} - -type UpdateLicenseLabelResponse struct { -} - -type UpdateLicenseRequestType struct { - This ManagedObjectReference `xml:"_this"` - LicenseKey string `xml:"licenseKey"` - Labels []KeyValue `xml:"labels,omitempty"` -} - -func init() { - t["UpdateLicenseRequestType"] = reflect.TypeOf((*UpdateLicenseRequestType)(nil)).Elem() -} - -type UpdateLicenseResponse struct { - Returnval LicenseManagerLicenseInfo `xml:"returnval"` -} - -type UpdateLinkedChildren UpdateLinkedChildrenRequestType - -func init() { - t["UpdateLinkedChildren"] = reflect.TypeOf((*UpdateLinkedChildren)(nil)).Elem() -} - -type UpdateLinkedChildrenRequestType struct { - This ManagedObjectReference `xml:"_this"` - AddChangeSet []VirtualAppLinkInfo `xml:"addChangeSet,omitempty"` - RemoveSet []ManagedObjectReference `xml:"removeSet,omitempty"` -} - -func init() { - t["UpdateLinkedChildrenRequestType"] = reflect.TypeOf((*UpdateLinkedChildrenRequestType)(nil)).Elem() -} - -type UpdateLinkedChildrenResponse struct { -} - -type UpdateLocalSwapDatastore UpdateLocalSwapDatastoreRequestType - -func init() { - t["UpdateLocalSwapDatastore"] = reflect.TypeOf((*UpdateLocalSwapDatastore)(nil)).Elem() -} - -type UpdateLocalSwapDatastoreRequestType struct { - This ManagedObjectReference `xml:"_this"` - Datastore *ManagedObjectReference `xml:"datastore,omitempty"` -} - -func init() { - t["UpdateLocalSwapDatastoreRequestType"] = reflect.TypeOf((*UpdateLocalSwapDatastoreRequestType)(nil)).Elem() -} - -type UpdateLocalSwapDatastoreResponse struct { -} - -type UpdateLockdownExceptions UpdateLockdownExceptionsRequestType - -func init() { - t["UpdateLockdownExceptions"] = reflect.TypeOf((*UpdateLockdownExceptions)(nil)).Elem() -} - -type UpdateLockdownExceptionsRequestType struct { - This ManagedObjectReference `xml:"_this"` - Users []string `xml:"users,omitempty"` -} - -func init() { - t["UpdateLockdownExceptionsRequestType"] = reflect.TypeOf((*UpdateLockdownExceptionsRequestType)(nil)).Elem() -} - -type UpdateLockdownExceptionsResponse struct { -} - -type UpdateModuleOptionString UpdateModuleOptionStringRequestType - -func init() { - t["UpdateModuleOptionString"] = reflect.TypeOf((*UpdateModuleOptionString)(nil)).Elem() -} - -type UpdateModuleOptionStringRequestType struct { - This ManagedObjectReference `xml:"_this"` - Name string `xml:"name"` - Options string `xml:"options"` -} - -func init() { - t["UpdateModuleOptionStringRequestType"] = reflect.TypeOf((*UpdateModuleOptionStringRequestType)(nil)).Elem() -} - -type UpdateModuleOptionStringResponse struct { -} - -type UpdateNetworkConfig UpdateNetworkConfigRequestType - -func init() { - t["UpdateNetworkConfig"] = reflect.TypeOf((*UpdateNetworkConfig)(nil)).Elem() -} - -type UpdateNetworkConfigRequestType struct { - This ManagedObjectReference `xml:"_this"` - Config HostNetworkConfig `xml:"config"` - ChangeMode string `xml:"changeMode"` -} - -func init() { - t["UpdateNetworkConfigRequestType"] = reflect.TypeOf((*UpdateNetworkConfigRequestType)(nil)).Elem() -} - -type UpdateNetworkConfigResponse struct { - Returnval HostNetworkConfigResult `xml:"returnval"` -} - -type UpdateNetworkResourcePool UpdateNetworkResourcePoolRequestType - -func init() { - t["UpdateNetworkResourcePool"] = reflect.TypeOf((*UpdateNetworkResourcePool)(nil)).Elem() -} - -type UpdateNetworkResourcePoolRequestType struct { - This ManagedObjectReference `xml:"_this"` - ConfigSpec []DVSNetworkResourcePoolConfigSpec `xml:"configSpec"` -} - -func init() { - t["UpdateNetworkResourcePoolRequestType"] = reflect.TypeOf((*UpdateNetworkResourcePoolRequestType)(nil)).Elem() -} - -type UpdateNetworkResourcePoolResponse struct { -} - -type UpdateOptions UpdateOptionsRequestType - -func init() { - t["UpdateOptions"] = reflect.TypeOf((*UpdateOptions)(nil)).Elem() -} - -type UpdateOptionsRequestType struct { - This ManagedObjectReference `xml:"_this"` - ChangedValue []BaseOptionValue `xml:"changedValue,typeattr"` -} - -func init() { - t["UpdateOptionsRequestType"] = reflect.TypeOf((*UpdateOptionsRequestType)(nil)).Elem() -} - -type UpdateOptionsResponse struct { -} - -type UpdatePassthruConfig UpdatePassthruConfigRequestType - -func init() { - t["UpdatePassthruConfig"] = reflect.TypeOf((*UpdatePassthruConfig)(nil)).Elem() -} - -type UpdatePassthruConfigRequestType struct { - This ManagedObjectReference `xml:"_this"` - Config []BaseHostPciPassthruConfig `xml:"config,typeattr"` -} - -func init() { - t["UpdatePassthruConfigRequestType"] = reflect.TypeOf((*UpdatePassthruConfigRequestType)(nil)).Elem() -} - -type UpdatePassthruConfigResponse struct { -} - -type UpdatePerfInterval UpdatePerfIntervalRequestType - -func init() { - t["UpdatePerfInterval"] = reflect.TypeOf((*UpdatePerfInterval)(nil)).Elem() -} - -type UpdatePerfIntervalRequestType struct { - This ManagedObjectReference `xml:"_this"` - Interval PerfInterval `xml:"interval"` -} - -func init() { - t["UpdatePerfIntervalRequestType"] = reflect.TypeOf((*UpdatePerfIntervalRequestType)(nil)).Elem() -} - -type UpdatePerfIntervalResponse struct { -} - -type UpdatePhysicalNicLinkSpeed UpdatePhysicalNicLinkSpeedRequestType - -func init() { - t["UpdatePhysicalNicLinkSpeed"] = reflect.TypeOf((*UpdatePhysicalNicLinkSpeed)(nil)).Elem() -} - -type UpdatePhysicalNicLinkSpeedRequestType struct { - This ManagedObjectReference `xml:"_this"` - Device string `xml:"device"` - LinkSpeed *PhysicalNicLinkInfo `xml:"linkSpeed,omitempty"` -} - -func init() { - t["UpdatePhysicalNicLinkSpeedRequestType"] = reflect.TypeOf((*UpdatePhysicalNicLinkSpeedRequestType)(nil)).Elem() -} - -type UpdatePhysicalNicLinkSpeedResponse struct { -} - -type UpdatePortGroup UpdatePortGroupRequestType - -func init() { - t["UpdatePortGroup"] = reflect.TypeOf((*UpdatePortGroup)(nil)).Elem() -} - -type UpdatePortGroupRequestType struct { - This ManagedObjectReference `xml:"_this"` - PgName string `xml:"pgName"` - Portgrp HostPortGroupSpec `xml:"portgrp"` -} - -func init() { - t["UpdatePortGroupRequestType"] = reflect.TypeOf((*UpdatePortGroupRequestType)(nil)).Elem() -} - -type UpdatePortGroupResponse struct { -} - -type UpdateProductLockerLocationRequestType struct { - This ManagedObjectReference `xml:"_this"` - Path string `xml:"path"` -} - -func init() { - t["UpdateProductLockerLocationRequestType"] = reflect.TypeOf((*UpdateProductLockerLocationRequestType)(nil)).Elem() -} - -type UpdateProductLockerLocation_Task UpdateProductLockerLocationRequestType - -func init() { - t["UpdateProductLockerLocation_Task"] = reflect.TypeOf((*UpdateProductLockerLocation_Task)(nil)).Elem() -} - -type UpdateProductLockerLocation_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type UpdateProgress UpdateProgressRequestType - -func init() { - t["UpdateProgress"] = reflect.TypeOf((*UpdateProgress)(nil)).Elem() -} - -type UpdateProgressRequestType struct { - This ManagedObjectReference `xml:"_this"` - PercentDone int32 `xml:"percentDone"` -} - -func init() { - t["UpdateProgressRequestType"] = reflect.TypeOf((*UpdateProgressRequestType)(nil)).Elem() -} - -type UpdateProgressResponse struct { -} - -type UpdateReferenceHost UpdateReferenceHostRequestType - -func init() { - t["UpdateReferenceHost"] = reflect.TypeOf((*UpdateReferenceHost)(nil)).Elem() -} - -type UpdateReferenceHostRequestType struct { - This ManagedObjectReference `xml:"_this"` - Host *ManagedObjectReference `xml:"host,omitempty"` -} - -func init() { - t["UpdateReferenceHostRequestType"] = reflect.TypeOf((*UpdateReferenceHostRequestType)(nil)).Elem() -} - -type UpdateReferenceHostResponse struct { -} - -type UpdateRuleset UpdateRulesetRequestType - -func init() { - t["UpdateRuleset"] = reflect.TypeOf((*UpdateRuleset)(nil)).Elem() -} - -type UpdateRulesetRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id string `xml:"id"` - Spec HostFirewallRulesetRulesetSpec `xml:"spec"` -} - -func init() { - t["UpdateRulesetRequestType"] = reflect.TypeOf((*UpdateRulesetRequestType)(nil)).Elem() -} - -type UpdateRulesetResponse struct { -} - -type UpdateScsiLunDisplayName UpdateScsiLunDisplayNameRequestType - -func init() { - t["UpdateScsiLunDisplayName"] = reflect.TypeOf((*UpdateScsiLunDisplayName)(nil)).Elem() -} - -type UpdateScsiLunDisplayNameRequestType struct { - This ManagedObjectReference `xml:"_this"` - LunUuid string `xml:"lunUuid"` - DisplayName string `xml:"displayName"` -} - -func init() { - t["UpdateScsiLunDisplayNameRequestType"] = reflect.TypeOf((*UpdateScsiLunDisplayNameRequestType)(nil)).Elem() -} - -type UpdateScsiLunDisplayNameResponse struct { -} - -type UpdateSelfSignedClientCert UpdateSelfSignedClientCertRequestType - -func init() { - t["UpdateSelfSignedClientCert"] = reflect.TypeOf((*UpdateSelfSignedClientCert)(nil)).Elem() -} - -type UpdateSelfSignedClientCertRequestType struct { - This ManagedObjectReference `xml:"_this"` - Cluster KeyProviderId `xml:"cluster"` - Certificate string `xml:"certificate"` -} - -func init() { - t["UpdateSelfSignedClientCertRequestType"] = reflect.TypeOf((*UpdateSelfSignedClientCertRequestType)(nil)).Elem() -} - -type UpdateSelfSignedClientCertResponse struct { -} - -type UpdateServiceConsoleVirtualNic UpdateServiceConsoleVirtualNicRequestType - -func init() { - t["UpdateServiceConsoleVirtualNic"] = reflect.TypeOf((*UpdateServiceConsoleVirtualNic)(nil)).Elem() -} - -type UpdateServiceConsoleVirtualNicRequestType struct { - This ManagedObjectReference `xml:"_this"` - Device string `xml:"device"` - Nic HostVirtualNicSpec `xml:"nic"` -} - -func init() { - t["UpdateServiceConsoleVirtualNicRequestType"] = reflect.TypeOf((*UpdateServiceConsoleVirtualNicRequestType)(nil)).Elem() -} - -type UpdateServiceConsoleVirtualNicResponse struct { -} - -type UpdateServiceMessage UpdateServiceMessageRequestType - -func init() { - t["UpdateServiceMessage"] = reflect.TypeOf((*UpdateServiceMessage)(nil)).Elem() -} - -type UpdateServiceMessageRequestType struct { - This ManagedObjectReference `xml:"_this"` - Message string `xml:"message"` -} - -func init() { - t["UpdateServiceMessageRequestType"] = reflect.TypeOf((*UpdateServiceMessageRequestType)(nil)).Elem() -} - -type UpdateServiceMessageResponse struct { -} - -type UpdateServicePolicy UpdateServicePolicyRequestType - -func init() { - t["UpdateServicePolicy"] = reflect.TypeOf((*UpdateServicePolicy)(nil)).Elem() -} - -type UpdateServicePolicyRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id string `xml:"id"` - Policy string `xml:"policy"` -} - -func init() { - t["UpdateServicePolicyRequestType"] = reflect.TypeOf((*UpdateServicePolicyRequestType)(nil)).Elem() -} - -type UpdateServicePolicyResponse struct { -} - -type UpdateSet struct { - DynamicData - - Version string `xml:"version"` - FilterSet []PropertyFilterUpdate `xml:"filterSet,omitempty"` - Truncated *bool `xml:"truncated"` -} - -func init() { - t["UpdateSet"] = reflect.TypeOf((*UpdateSet)(nil)).Elem() -} - -type UpdateSoftwareInternetScsiEnabled UpdateSoftwareInternetScsiEnabledRequestType - -func init() { - t["UpdateSoftwareInternetScsiEnabled"] = reflect.TypeOf((*UpdateSoftwareInternetScsiEnabled)(nil)).Elem() -} - -type UpdateSoftwareInternetScsiEnabledRequestType struct { - This ManagedObjectReference `xml:"_this"` - Enabled bool `xml:"enabled"` -} - -func init() { - t["UpdateSoftwareInternetScsiEnabledRequestType"] = reflect.TypeOf((*UpdateSoftwareInternetScsiEnabledRequestType)(nil)).Elem() -} - -type UpdateSoftwareInternetScsiEnabledResponse struct { -} - -type UpdateSystemResources UpdateSystemResourcesRequestType - -func init() { - t["UpdateSystemResources"] = reflect.TypeOf((*UpdateSystemResources)(nil)).Elem() -} - -type UpdateSystemResourcesRequestType struct { - This ManagedObjectReference `xml:"_this"` - ResourceInfo HostSystemResourceInfo `xml:"resourceInfo"` -} - -func init() { - t["UpdateSystemResourcesRequestType"] = reflect.TypeOf((*UpdateSystemResourcesRequestType)(nil)).Elem() -} - -type UpdateSystemResourcesResponse struct { -} - -type UpdateSystemSwapConfiguration UpdateSystemSwapConfigurationRequestType - -func init() { - t["UpdateSystemSwapConfiguration"] = reflect.TypeOf((*UpdateSystemSwapConfiguration)(nil)).Elem() -} - -type UpdateSystemSwapConfigurationRequestType struct { - This ManagedObjectReference `xml:"_this"` - SysSwapConfig HostSystemSwapConfiguration `xml:"sysSwapConfig"` -} - -func init() { - t["UpdateSystemSwapConfigurationRequestType"] = reflect.TypeOf((*UpdateSystemSwapConfigurationRequestType)(nil)).Elem() -} - -type UpdateSystemSwapConfigurationResponse struct { -} - -type UpdateSystemUsers UpdateSystemUsersRequestType - -func init() { - t["UpdateSystemUsers"] = reflect.TypeOf((*UpdateSystemUsers)(nil)).Elem() -} - -type UpdateSystemUsersRequestType struct { - This ManagedObjectReference `xml:"_this"` - Users []string `xml:"users,omitempty"` -} - -func init() { - t["UpdateSystemUsersRequestType"] = reflect.TypeOf((*UpdateSystemUsersRequestType)(nil)).Elem() -} - -type UpdateSystemUsersResponse struct { -} - -type UpdateUser UpdateUserRequestType - -func init() { - t["UpdateUser"] = reflect.TypeOf((*UpdateUser)(nil)).Elem() -} - -type UpdateUserRequestType struct { - This ManagedObjectReference `xml:"_this"` - User BaseHostAccountSpec `xml:"user,typeattr"` -} - -func init() { - t["UpdateUserRequestType"] = reflect.TypeOf((*UpdateUserRequestType)(nil)).Elem() -} - -type UpdateUserResponse struct { -} - -type UpdateVAppConfig UpdateVAppConfigRequestType - -func init() { - t["UpdateVAppConfig"] = reflect.TypeOf((*UpdateVAppConfig)(nil)).Elem() -} - -type UpdateVAppConfigRequestType struct { - This ManagedObjectReference `xml:"_this"` - Spec VAppConfigSpec `xml:"spec"` -} - -func init() { - t["UpdateVAppConfigRequestType"] = reflect.TypeOf((*UpdateVAppConfigRequestType)(nil)).Elem() -} - -type UpdateVAppConfigResponse struct { -} - -type UpdateVStorageInfrastructureObjectPolicyRequestType struct { - This ManagedObjectReference `xml:"_this"` - Spec VslmInfrastructureObjectPolicySpec `xml:"spec"` -} - -func init() { - t["UpdateVStorageInfrastructureObjectPolicyRequestType"] = reflect.TypeOf((*UpdateVStorageInfrastructureObjectPolicyRequestType)(nil)).Elem() -} - -type UpdateVStorageInfrastructureObjectPolicy_Task UpdateVStorageInfrastructureObjectPolicyRequestType - -func init() { - t["UpdateVStorageInfrastructureObjectPolicy_Task"] = reflect.TypeOf((*UpdateVStorageInfrastructureObjectPolicy_Task)(nil)).Elem() -} - -type UpdateVStorageInfrastructureObjectPolicy_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type UpdateVStorageObjectCryptoRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id ID `xml:"id"` - Datastore ManagedObjectReference `xml:"datastore"` - Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr"` - DisksCrypto *DiskCryptoSpec `xml:"disksCrypto,omitempty"` -} - -func init() { - t["UpdateVStorageObjectCryptoRequestType"] = reflect.TypeOf((*UpdateVStorageObjectCryptoRequestType)(nil)).Elem() -} - -type UpdateVStorageObjectCrypto_Task UpdateVStorageObjectCryptoRequestType - -func init() { - t["UpdateVStorageObjectCrypto_Task"] = reflect.TypeOf((*UpdateVStorageObjectCrypto_Task)(nil)).Elem() -} - -type UpdateVStorageObjectCrypto_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type UpdateVStorageObjectPolicyRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id ID `xml:"id"` - Datastore ManagedObjectReference `xml:"datastore"` - Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr"` -} - -func init() { - t["UpdateVStorageObjectPolicyRequestType"] = reflect.TypeOf((*UpdateVStorageObjectPolicyRequestType)(nil)).Elem() -} - -type UpdateVStorageObjectPolicy_Task UpdateVStorageObjectPolicyRequestType - -func init() { - t["UpdateVStorageObjectPolicy_Task"] = reflect.TypeOf((*UpdateVStorageObjectPolicy_Task)(nil)).Elem() -} - -type UpdateVStorageObjectPolicy_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type UpdateVVolVirtualMachineFilesRequestType struct { - This ManagedObjectReference `xml:"_this"` - FailoverPair []DatastoreVVolContainerFailoverPair `xml:"failoverPair,omitempty"` -} - -func init() { - t["UpdateVVolVirtualMachineFilesRequestType"] = reflect.TypeOf((*UpdateVVolVirtualMachineFilesRequestType)(nil)).Elem() -} - -type UpdateVVolVirtualMachineFiles_Task UpdateVVolVirtualMachineFilesRequestType - -func init() { - t["UpdateVVolVirtualMachineFiles_Task"] = reflect.TypeOf((*UpdateVVolVirtualMachineFiles_Task)(nil)).Elem() -} - -type UpdateVVolVirtualMachineFiles_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type UpdateVirtualMachineFilesRequestType struct { - This ManagedObjectReference `xml:"_this"` - MountPathDatastoreMapping []DatastoreMountPathDatastorePair `xml:"mountPathDatastoreMapping"` -} - -func init() { - t["UpdateVirtualMachineFilesRequestType"] = reflect.TypeOf((*UpdateVirtualMachineFilesRequestType)(nil)).Elem() -} - -type UpdateVirtualMachineFilesResult struct { - DynamicData - - FailedVmFile []UpdateVirtualMachineFilesResultFailedVmFileInfo `xml:"failedVmFile,omitempty"` -} - -func init() { - t["UpdateVirtualMachineFilesResult"] = reflect.TypeOf((*UpdateVirtualMachineFilesResult)(nil)).Elem() -} - -type UpdateVirtualMachineFilesResultFailedVmFileInfo struct { - DynamicData - - VmFile string `xml:"vmFile"` - Fault LocalizedMethodFault `xml:"fault"` -} - -func init() { - t["UpdateVirtualMachineFilesResultFailedVmFileInfo"] = reflect.TypeOf((*UpdateVirtualMachineFilesResultFailedVmFileInfo)(nil)).Elem() -} - -type UpdateVirtualMachineFiles_Task UpdateVirtualMachineFilesRequestType - -func init() { - t["UpdateVirtualMachineFiles_Task"] = reflect.TypeOf((*UpdateVirtualMachineFiles_Task)(nil)).Elem() -} - -type UpdateVirtualMachineFiles_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type UpdateVirtualNic UpdateVirtualNicRequestType - -func init() { - t["UpdateVirtualNic"] = reflect.TypeOf((*UpdateVirtualNic)(nil)).Elem() -} - -type UpdateVirtualNicRequestType struct { - This ManagedObjectReference `xml:"_this"` - Device string `xml:"device"` - Nic HostVirtualNicSpec `xml:"nic"` -} - -func init() { - t["UpdateVirtualNicRequestType"] = reflect.TypeOf((*UpdateVirtualNicRequestType)(nil)).Elem() -} - -type UpdateVirtualNicResponse struct { -} - -type UpdateVirtualSwitch UpdateVirtualSwitchRequestType - -func init() { - t["UpdateVirtualSwitch"] = reflect.TypeOf((*UpdateVirtualSwitch)(nil)).Elem() -} - -type UpdateVirtualSwitchRequestType struct { - This ManagedObjectReference `xml:"_this"` - VswitchName string `xml:"vswitchName"` - Spec HostVirtualSwitchSpec `xml:"spec"` -} - -func init() { - t["UpdateVirtualSwitchRequestType"] = reflect.TypeOf((*UpdateVirtualSwitchRequestType)(nil)).Elem() -} - -type UpdateVirtualSwitchResponse struct { -} - -type UpdateVmfsUnmapBandwidth UpdateVmfsUnmapBandwidthRequestType - -func init() { - t["UpdateVmfsUnmapBandwidth"] = reflect.TypeOf((*UpdateVmfsUnmapBandwidth)(nil)).Elem() -} - -type UpdateVmfsUnmapBandwidthRequestType struct { - This ManagedObjectReference `xml:"_this"` - VmfsUuid string `xml:"vmfsUuid"` - UnmapBandwidthSpec VmfsUnmapBandwidthSpec `xml:"unmapBandwidthSpec"` -} - -func init() { - t["UpdateVmfsUnmapBandwidthRequestType"] = reflect.TypeOf((*UpdateVmfsUnmapBandwidthRequestType)(nil)).Elem() -} - -type UpdateVmfsUnmapBandwidthResponse struct { -} - -type UpdateVmfsUnmapPriority UpdateVmfsUnmapPriorityRequestType - -func init() { - t["UpdateVmfsUnmapPriority"] = reflect.TypeOf((*UpdateVmfsUnmapPriority)(nil)).Elem() -} - -type UpdateVmfsUnmapPriorityRequestType struct { - This ManagedObjectReference `xml:"_this"` - VmfsUuid string `xml:"vmfsUuid"` - UnmapPriority string `xml:"unmapPriority"` -} - -func init() { - t["UpdateVmfsUnmapPriorityRequestType"] = reflect.TypeOf((*UpdateVmfsUnmapPriorityRequestType)(nil)).Elem() -} - -type UpdateVmfsUnmapPriorityResponse struct { -} - -type UpdateVsanRequestType struct { - This ManagedObjectReference `xml:"_this"` - Config VsanHostConfigInfo `xml:"config"` -} - -func init() { - t["UpdateVsanRequestType"] = reflect.TypeOf((*UpdateVsanRequestType)(nil)).Elem() -} - -type UpdateVsan_Task UpdateVsanRequestType - -func init() { - t["UpdateVsan_Task"] = reflect.TypeOf((*UpdateVsan_Task)(nil)).Elem() -} - -type UpdateVsan_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type UpdatedAgentBeingRestartedEvent struct { - HostEvent -} - -func init() { - t["UpdatedAgentBeingRestartedEvent"] = reflect.TypeOf((*UpdatedAgentBeingRestartedEvent)(nil)).Elem() -} - -type UpgradeEvent struct { - Event - - Message string `xml:"message"` -} - -func init() { - t["UpgradeEvent"] = reflect.TypeOf((*UpgradeEvent)(nil)).Elem() -} - -type UpgradeIoFilterRequestType struct { - This ManagedObjectReference `xml:"_this"` - FilterId string `xml:"filterId"` - CompRes ManagedObjectReference `xml:"compRes"` - VibUrl string `xml:"vibUrl"` -} - -func init() { - t["UpgradeIoFilterRequestType"] = reflect.TypeOf((*UpgradeIoFilterRequestType)(nil)).Elem() -} - -type UpgradeIoFilter_Task UpgradeIoFilterRequestType - -func init() { - t["UpgradeIoFilter_Task"] = reflect.TypeOf((*UpgradeIoFilter_Task)(nil)).Elem() -} - -type UpgradeIoFilter_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type UpgradeToolsRequestType struct { - This ManagedObjectReference `xml:"_this"` - InstallerOptions string `xml:"installerOptions,omitempty"` -} - -func init() { - t["UpgradeToolsRequestType"] = reflect.TypeOf((*UpgradeToolsRequestType)(nil)).Elem() -} - -type UpgradeTools_Task UpgradeToolsRequestType - -func init() { - t["UpgradeTools_Task"] = reflect.TypeOf((*UpgradeTools_Task)(nil)).Elem() -} - -type UpgradeTools_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type UpgradeVMRequestType struct { - This ManagedObjectReference `xml:"_this"` - Version string `xml:"version,omitempty"` -} - -func init() { - t["UpgradeVMRequestType"] = reflect.TypeOf((*UpgradeVMRequestType)(nil)).Elem() -} - -type UpgradeVM_Task UpgradeVMRequestType - -func init() { - t["UpgradeVM_Task"] = reflect.TypeOf((*UpgradeVM_Task)(nil)).Elem() -} - -type UpgradeVM_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type UpgradeVmLayout UpgradeVmLayoutRequestType - -func init() { - t["UpgradeVmLayout"] = reflect.TypeOf((*UpgradeVmLayout)(nil)).Elem() -} - -type UpgradeVmLayoutRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["UpgradeVmLayoutRequestType"] = reflect.TypeOf((*UpgradeVmLayoutRequestType)(nil)).Elem() -} - -type UpgradeVmLayoutResponse struct { -} - -type UpgradeVmfs UpgradeVmfsRequestType - -func init() { - t["UpgradeVmfs"] = reflect.TypeOf((*UpgradeVmfs)(nil)).Elem() -} - -type UpgradeVmfsRequestType struct { - This ManagedObjectReference `xml:"_this"` - VmfsPath string `xml:"vmfsPath"` -} - -func init() { - t["UpgradeVmfsRequestType"] = reflect.TypeOf((*UpgradeVmfsRequestType)(nil)).Elem() -} - -type UpgradeVmfsResponse struct { -} - -type UpgradeVsanObjects UpgradeVsanObjectsRequestType - -func init() { - t["UpgradeVsanObjects"] = reflect.TypeOf((*UpgradeVsanObjects)(nil)).Elem() -} - -type UpgradeVsanObjectsRequestType struct { - This ManagedObjectReference `xml:"_this"` - Uuids []string `xml:"uuids"` - NewVersion int32 `xml:"newVersion"` -} - -func init() { - t["UpgradeVsanObjectsRequestType"] = reflect.TypeOf((*UpgradeVsanObjectsRequestType)(nil)).Elem() -} - -type UpgradeVsanObjectsResponse struct { - Returnval []HostVsanInternalSystemVsanObjectOperationResult `xml:"returnval,omitempty"` -} - -type UplinkPortMtuNotSupportEvent struct { - DvsHealthStatusChangeEvent -} - -func init() { - t["UplinkPortMtuNotSupportEvent"] = reflect.TypeOf((*UplinkPortMtuNotSupportEvent)(nil)).Elem() -} - -type UplinkPortMtuSupportEvent struct { - DvsHealthStatusChangeEvent -} - -func init() { - t["UplinkPortMtuSupportEvent"] = reflect.TypeOf((*UplinkPortMtuSupportEvent)(nil)).Elem() -} - -type UplinkPortVlanTrunkedEvent struct { - DvsHealthStatusChangeEvent -} - -func init() { - t["UplinkPortVlanTrunkedEvent"] = reflect.TypeOf((*UplinkPortVlanTrunkedEvent)(nil)).Elem() -} - -type UplinkPortVlanUntrunkedEvent struct { - DvsHealthStatusChangeEvent -} - -func init() { - t["UplinkPortVlanUntrunkedEvent"] = reflect.TypeOf((*UplinkPortVlanUntrunkedEvent)(nil)).Elem() -} - -type UploadClientCert UploadClientCertRequestType - -func init() { - t["UploadClientCert"] = reflect.TypeOf((*UploadClientCert)(nil)).Elem() -} - -type UploadClientCertRequestType struct { - This ManagedObjectReference `xml:"_this"` - Cluster KeyProviderId `xml:"cluster"` - Certificate string `xml:"certificate"` - PrivateKey string `xml:"privateKey"` -} - -func init() { - t["UploadClientCertRequestType"] = reflect.TypeOf((*UploadClientCertRequestType)(nil)).Elem() -} - -type UploadClientCertResponse struct { -} - -type UploadKmipServerCert UploadKmipServerCertRequestType - -func init() { - t["UploadKmipServerCert"] = reflect.TypeOf((*UploadKmipServerCert)(nil)).Elem() -} - -type UploadKmipServerCertRequestType struct { - This ManagedObjectReference `xml:"_this"` - Cluster KeyProviderId `xml:"cluster"` - Certificate string `xml:"certificate"` -} - -func init() { - t["UploadKmipServerCertRequestType"] = reflect.TypeOf((*UploadKmipServerCertRequestType)(nil)).Elem() -} - -type UploadKmipServerCertResponse struct { -} - -type UsbScanCodeSpec struct { - DynamicData - - KeyEvents []UsbScanCodeSpecKeyEvent `xml:"keyEvents"` -} - -func init() { - t["UsbScanCodeSpec"] = reflect.TypeOf((*UsbScanCodeSpec)(nil)).Elem() -} - -type UsbScanCodeSpecKeyEvent struct { - DynamicData - - UsbHidCode int32 `xml:"usbHidCode"` - Modifiers *UsbScanCodeSpecModifierType `xml:"modifiers,omitempty"` -} - -func init() { - t["UsbScanCodeSpecKeyEvent"] = reflect.TypeOf((*UsbScanCodeSpecKeyEvent)(nil)).Elem() -} - -type UsbScanCodeSpecModifierType struct { - DynamicData - - LeftControl *bool `xml:"leftControl"` - LeftShift *bool `xml:"leftShift"` - LeftAlt *bool `xml:"leftAlt"` - LeftGui *bool `xml:"leftGui"` - RightControl *bool `xml:"rightControl"` - RightShift *bool `xml:"rightShift"` - RightAlt *bool `xml:"rightAlt"` - RightGui *bool `xml:"rightGui"` -} - -func init() { - t["UsbScanCodeSpecModifierType"] = reflect.TypeOf((*UsbScanCodeSpecModifierType)(nil)).Elem() -} - -type UserAssignedToGroup struct { - HostEvent - - UserLogin string `xml:"userLogin"` - Group string `xml:"group"` -} - -func init() { - t["UserAssignedToGroup"] = reflect.TypeOf((*UserAssignedToGroup)(nil)).Elem() -} - -type UserGroupProfile struct { - ApplyProfile - - Key string `xml:"key"` -} - -func init() { - t["UserGroupProfile"] = reflect.TypeOf((*UserGroupProfile)(nil)).Elem() -} - -type UserInputRequiredParameterMetadata struct { - ProfilePolicyOptionMetadata - - UserInputParameter []ProfileParameterMetadata `xml:"userInputParameter,omitempty"` -} - -func init() { - t["UserInputRequiredParameterMetadata"] = reflect.TypeOf((*UserInputRequiredParameterMetadata)(nil)).Elem() -} - -type UserLoginSessionEvent struct { - SessionEvent - - IpAddress string `xml:"ipAddress"` - UserAgent string `xml:"userAgent,omitempty"` - Locale string `xml:"locale"` - SessionId string `xml:"sessionId"` -} - -func init() { - t["UserLoginSessionEvent"] = reflect.TypeOf((*UserLoginSessionEvent)(nil)).Elem() -} - -type UserLogoutSessionEvent struct { - SessionEvent - - IpAddress string `xml:"ipAddress,omitempty"` - UserAgent string `xml:"userAgent,omitempty"` - CallCount int64 `xml:"callCount,omitempty"` - SessionId string `xml:"sessionId,omitempty"` - LoginTime *time.Time `xml:"loginTime"` -} - -func init() { - t["UserLogoutSessionEvent"] = reflect.TypeOf((*UserLogoutSessionEvent)(nil)).Elem() -} - -type UserNotFound struct { - VimFault - - Principal string `xml:"principal"` - Unresolved bool `xml:"unresolved"` -} - -func init() { - t["UserNotFound"] = reflect.TypeOf((*UserNotFound)(nil)).Elem() -} - -type UserNotFoundFault UserNotFound - -func init() { - t["UserNotFoundFault"] = reflect.TypeOf((*UserNotFoundFault)(nil)).Elem() -} - -type UserPasswordChanged struct { - HostEvent - - UserLogin string `xml:"userLogin"` -} - -func init() { - t["UserPasswordChanged"] = reflect.TypeOf((*UserPasswordChanged)(nil)).Elem() -} - -type UserPrivilegeResult struct { - DynamicData - - Entity ManagedObjectReference `xml:"entity"` - Privileges []string `xml:"privileges,omitempty"` -} - -func init() { - t["UserPrivilegeResult"] = reflect.TypeOf((*UserPrivilegeResult)(nil)).Elem() -} - -type UserProfile struct { - ApplyProfile - - Key string `xml:"key"` -} - -func init() { - t["UserProfile"] = reflect.TypeOf((*UserProfile)(nil)).Elem() -} - -type UserSearchResult struct { - DynamicData - - Principal string `xml:"principal"` - FullName string `xml:"fullName,omitempty"` - Group bool `xml:"group"` -} - -func init() { - t["UserSearchResult"] = reflect.TypeOf((*UserSearchResult)(nil)).Elem() -} - -type UserSession struct { - DynamicData - - Key string `xml:"key"` - UserName string `xml:"userName"` - FullName string `xml:"fullName"` - LoginTime time.Time `xml:"loginTime"` - LastActiveTime time.Time `xml:"lastActiveTime"` - Locale string `xml:"locale"` - MessageLocale string `xml:"messageLocale"` - ExtensionSession *bool `xml:"extensionSession"` - IpAddress string `xml:"ipAddress,omitempty"` - UserAgent string `xml:"userAgent,omitempty"` - CallCount int64 `xml:"callCount,omitempty"` -} - -func init() { - t["UserSession"] = reflect.TypeOf((*UserSession)(nil)).Elem() -} - -type UserUnassignedFromGroup struct { - HostEvent - - UserLogin string `xml:"userLogin"` - Group string `xml:"group"` -} - -func init() { - t["UserUnassignedFromGroup"] = reflect.TypeOf((*UserUnassignedFromGroup)(nil)).Elem() -} - -type UserUpgradeEvent struct { - UpgradeEvent -} - -func init() { - t["UserUpgradeEvent"] = reflect.TypeOf((*UserUpgradeEvent)(nil)).Elem() -} - -type VASAStorageArray struct { - DynamicData - - Name string `xml:"name"` - Uuid string `xml:"uuid"` - VendorId string `xml:"vendorId"` - ModelId string `xml:"modelId"` - DiscoverySvcInfo []VASAStorageArrayDiscoverySvcInfo `xml:"discoverySvcInfo,omitempty"` -} - -func init() { - t["VASAStorageArray"] = reflect.TypeOf((*VASAStorageArray)(nil)).Elem() -} - -type VASAStorageArrayDiscoveryFcTransport struct { - DynamicData - - NodeWwn string `xml:"nodeWwn"` - PortWwn string `xml:"portWwn"` -} - -func init() { - t["VASAStorageArrayDiscoveryFcTransport"] = reflect.TypeOf((*VASAStorageArrayDiscoveryFcTransport)(nil)).Elem() -} - -type VASAStorageArrayDiscoveryIpTransport struct { - DynamicData - - IpAddress string `xml:"ipAddress"` - PortNumber string `xml:"portNumber,omitempty"` -} - -func init() { - t["VASAStorageArrayDiscoveryIpTransport"] = reflect.TypeOf((*VASAStorageArrayDiscoveryIpTransport)(nil)).Elem() -} - -type VASAStorageArrayDiscoverySvcInfo struct { - DynamicData - - PortType string `xml:"portType"` - SvcNqn string `xml:"svcNqn"` - IpInfo *VASAStorageArrayDiscoveryIpTransport `xml:"ipInfo,omitempty"` - FcInfo *VASAStorageArrayDiscoveryFcTransport `xml:"fcInfo,omitempty"` -} - -func init() { - t["VASAStorageArrayDiscoverySvcInfo"] = reflect.TypeOf((*VASAStorageArrayDiscoverySvcInfo)(nil)).Elem() -} - -type VAppCloneSpec struct { - DynamicData - - Location ManagedObjectReference `xml:"location"` - Host *ManagedObjectReference `xml:"host,omitempty"` - ResourceSpec *ResourceConfigSpec `xml:"resourceSpec,omitempty"` - VmFolder *ManagedObjectReference `xml:"vmFolder,omitempty"` - NetworkMapping []VAppCloneSpecNetworkMappingPair `xml:"networkMapping,omitempty"` - Property []KeyValue `xml:"property,omitempty"` - ResourceMapping []VAppCloneSpecResourceMap `xml:"resourceMapping,omitempty"` - Provisioning string `xml:"provisioning,omitempty"` -} - -func init() { - t["VAppCloneSpec"] = reflect.TypeOf((*VAppCloneSpec)(nil)).Elem() -} - -type VAppCloneSpecNetworkMappingPair struct { - DynamicData - - Source ManagedObjectReference `xml:"source"` - Destination ManagedObjectReference `xml:"destination"` -} - -func init() { - t["VAppCloneSpecNetworkMappingPair"] = reflect.TypeOf((*VAppCloneSpecNetworkMappingPair)(nil)).Elem() -} - -type VAppCloneSpecResourceMap struct { - DynamicData - - Source ManagedObjectReference `xml:"source"` - Parent *ManagedObjectReference `xml:"parent,omitempty"` - ResourceSpec *ResourceConfigSpec `xml:"resourceSpec,omitempty"` - Location *ManagedObjectReference `xml:"location,omitempty"` -} - -func init() { - t["VAppCloneSpecResourceMap"] = reflect.TypeOf((*VAppCloneSpecResourceMap)(nil)).Elem() -} - -type VAppConfigFault struct { - VimFault -} - -func init() { - t["VAppConfigFault"] = reflect.TypeOf((*VAppConfigFault)(nil)).Elem() -} - -type VAppConfigFaultFault BaseVAppConfigFault - -func init() { - t["VAppConfigFaultFault"] = reflect.TypeOf((*VAppConfigFaultFault)(nil)).Elem() -} - -type VAppConfigInfo struct { - VmConfigInfo - - EntityConfig []VAppEntityConfigInfo `xml:"entityConfig,omitempty"` - Annotation string `xml:"annotation"` - InstanceUuid string `xml:"instanceUuid,omitempty"` - ManagedBy *ManagedByInfo `xml:"managedBy,omitempty"` -} - -func init() { - t["VAppConfigInfo"] = reflect.TypeOf((*VAppConfigInfo)(nil)).Elem() -} - -type VAppConfigSpec struct { - VmConfigSpec - - EntityConfig []VAppEntityConfigInfo `xml:"entityConfig,omitempty"` - Annotation string `xml:"annotation,omitempty"` - InstanceUuid string `xml:"instanceUuid,omitempty"` - ManagedBy *ManagedByInfo `xml:"managedBy,omitempty"` -} - -func init() { - t["VAppConfigSpec"] = reflect.TypeOf((*VAppConfigSpec)(nil)).Elem() -} - -type VAppEntityConfigInfo struct { - DynamicData - - Key *ManagedObjectReference `xml:"key,omitempty"` - Tag string `xml:"tag,omitempty"` - StartOrder int32 `xml:"startOrder,omitempty"` - StartDelay int32 `xml:"startDelay,omitempty"` - WaitingForGuest *bool `xml:"waitingForGuest"` - StartAction string `xml:"startAction,omitempty"` - StopDelay int32 `xml:"stopDelay,omitempty"` - StopAction string `xml:"stopAction,omitempty"` - DestroyWithParent *bool `xml:"destroyWithParent"` -} - -func init() { - t["VAppEntityConfigInfo"] = reflect.TypeOf((*VAppEntityConfigInfo)(nil)).Elem() -} - -type VAppIPAssignmentInfo struct { - DynamicData - - SupportedAllocationScheme []string `xml:"supportedAllocationScheme,omitempty"` - IpAllocationPolicy string `xml:"ipAllocationPolicy,omitempty"` - SupportedIpProtocol []string `xml:"supportedIpProtocol,omitempty"` - IpProtocol string `xml:"ipProtocol,omitempty"` -} - -func init() { - t["VAppIPAssignmentInfo"] = reflect.TypeOf((*VAppIPAssignmentInfo)(nil)).Elem() -} - -type VAppNotRunning struct { - VmConfigFault -} - -func init() { - t["VAppNotRunning"] = reflect.TypeOf((*VAppNotRunning)(nil)).Elem() -} - -type VAppNotRunningFault VAppNotRunning - -func init() { - t["VAppNotRunningFault"] = reflect.TypeOf((*VAppNotRunningFault)(nil)).Elem() -} - -type VAppOperationInProgress struct { - RuntimeFault -} - -func init() { - t["VAppOperationInProgress"] = reflect.TypeOf((*VAppOperationInProgress)(nil)).Elem() -} - -type VAppOperationInProgressFault VAppOperationInProgress - -func init() { - t["VAppOperationInProgressFault"] = reflect.TypeOf((*VAppOperationInProgressFault)(nil)).Elem() -} - -type VAppOvfSectionInfo struct { - DynamicData - - Key int32 `xml:"key,omitempty"` - Namespace string `xml:"namespace,omitempty"` - Type string `xml:"type,omitempty"` - AtEnvelopeLevel *bool `xml:"atEnvelopeLevel"` - Contents string `xml:"contents,omitempty"` -} - -func init() { - t["VAppOvfSectionInfo"] = reflect.TypeOf((*VAppOvfSectionInfo)(nil)).Elem() -} - -type VAppOvfSectionSpec struct { - ArrayUpdateSpec - - Info *VAppOvfSectionInfo `xml:"info,omitempty"` -} - -func init() { - t["VAppOvfSectionSpec"] = reflect.TypeOf((*VAppOvfSectionSpec)(nil)).Elem() -} - -type VAppProductInfo struct { - DynamicData - - Key int32 `xml:"key"` - ClassId string `xml:"classId,omitempty"` - InstanceId string `xml:"instanceId,omitempty"` - Name string `xml:"name,omitempty"` - Vendor string `xml:"vendor,omitempty"` - Version string `xml:"version,omitempty"` - FullVersion string `xml:"fullVersion,omitempty"` - VendorUrl string `xml:"vendorUrl,omitempty"` - ProductUrl string `xml:"productUrl,omitempty"` - AppUrl string `xml:"appUrl,omitempty"` -} - -func init() { - t["VAppProductInfo"] = reflect.TypeOf((*VAppProductInfo)(nil)).Elem() -} - -type VAppProductSpec struct { - ArrayUpdateSpec - - Info *VAppProductInfo `xml:"info,omitempty"` -} - -func init() { - t["VAppProductSpec"] = reflect.TypeOf((*VAppProductSpec)(nil)).Elem() -} - -type VAppPropertyFault struct { - VmConfigFault - - Id string `xml:"id"` - Category string `xml:"category"` - Label string `xml:"label"` - Type string `xml:"type"` - Value string `xml:"value"` -} - -func init() { - t["VAppPropertyFault"] = reflect.TypeOf((*VAppPropertyFault)(nil)).Elem() -} - -type VAppPropertyFaultFault BaseVAppPropertyFault - -func init() { - t["VAppPropertyFaultFault"] = reflect.TypeOf((*VAppPropertyFaultFault)(nil)).Elem() -} - -type VAppPropertyInfo struct { - DynamicData - - Key int32 `xml:"key"` - ClassId string `xml:"classId,omitempty"` - InstanceId string `xml:"instanceId,omitempty"` - Id string `xml:"id,omitempty"` - Category string `xml:"category,omitempty"` - Label string `xml:"label,omitempty"` - Type string `xml:"type,omitempty"` - TypeReference string `xml:"typeReference,omitempty"` - UserConfigurable *bool `xml:"userConfigurable"` - DefaultValue string `xml:"defaultValue,omitempty"` - Value string `xml:"value,omitempty"` - Description string `xml:"description,omitempty"` -} - -func init() { - t["VAppPropertyInfo"] = reflect.TypeOf((*VAppPropertyInfo)(nil)).Elem() -} - -type VAppPropertySpec struct { - ArrayUpdateSpec - - Info *VAppPropertyInfo `xml:"info,omitempty"` -} - -func init() { - t["VAppPropertySpec"] = reflect.TypeOf((*VAppPropertySpec)(nil)).Elem() -} - -type VAppTaskInProgress struct { - TaskInProgress -} - -func init() { - t["VAppTaskInProgress"] = reflect.TypeOf((*VAppTaskInProgress)(nil)).Elem() -} - -type VAppTaskInProgressFault VAppTaskInProgress - -func init() { - t["VAppTaskInProgressFault"] = reflect.TypeOf((*VAppTaskInProgressFault)(nil)).Elem() -} - -type VCenterUpdateVStorageObjectMetadataExRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id ID `xml:"id"` - Datastore ManagedObjectReference `xml:"datastore"` - Metadata []KeyValue `xml:"metadata,omitempty"` - DeleteKeys []string `xml:"deleteKeys,omitempty"` -} - -func init() { - t["VCenterUpdateVStorageObjectMetadataExRequestType"] = reflect.TypeOf((*VCenterUpdateVStorageObjectMetadataExRequestType)(nil)).Elem() -} - -type VCenterUpdateVStorageObjectMetadataEx_Task VCenterUpdateVStorageObjectMetadataExRequestType - -func init() { - t["VCenterUpdateVStorageObjectMetadataEx_Task"] = reflect.TypeOf((*VCenterUpdateVStorageObjectMetadataEx_Task)(nil)).Elem() -} - -type VCenterUpdateVStorageObjectMetadataEx_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type VFlashCacheHotConfigNotSupported struct { - VmConfigFault -} - -func init() { - t["VFlashCacheHotConfigNotSupported"] = reflect.TypeOf((*VFlashCacheHotConfigNotSupported)(nil)).Elem() -} - -type VFlashCacheHotConfigNotSupportedFault VFlashCacheHotConfigNotSupported - -func init() { - t["VFlashCacheHotConfigNotSupportedFault"] = reflect.TypeOf((*VFlashCacheHotConfigNotSupportedFault)(nil)).Elem() -} - -type VFlashModuleNotSupported struct { - VmConfigFault - - VmName string `xml:"vmName"` - ModuleName string `xml:"moduleName"` - Reason string `xml:"reason"` - HostName string `xml:"hostName"` -} - -func init() { - t["VFlashModuleNotSupported"] = reflect.TypeOf((*VFlashModuleNotSupported)(nil)).Elem() -} - -type VFlashModuleNotSupportedFault VFlashModuleNotSupported - -func init() { - t["VFlashModuleNotSupportedFault"] = reflect.TypeOf((*VFlashModuleNotSupportedFault)(nil)).Elem() -} - -type VFlashModuleVersionIncompatible struct { - VimFault - - ModuleName string `xml:"moduleName"` - VmRequestModuleVersion string `xml:"vmRequestModuleVersion"` - HostMinSupportedVerson string `xml:"hostMinSupportedVerson"` - HostModuleVersion string `xml:"hostModuleVersion"` -} - -func init() { - t["VFlashModuleVersionIncompatible"] = reflect.TypeOf((*VFlashModuleVersionIncompatible)(nil)).Elem() -} - -type VFlashModuleVersionIncompatibleFault VFlashModuleVersionIncompatible - -func init() { - t["VFlashModuleVersionIncompatibleFault"] = reflect.TypeOf((*VFlashModuleVersionIncompatibleFault)(nil)).Elem() -} - -type VMFSDatastoreCreatedEvent struct { - HostEvent - - Datastore DatastoreEventArgument `xml:"datastore"` - DatastoreUrl string `xml:"datastoreUrl,omitempty"` -} - -func init() { - t["VMFSDatastoreCreatedEvent"] = reflect.TypeOf((*VMFSDatastoreCreatedEvent)(nil)).Elem() -} - -type VMFSDatastoreExpandedEvent struct { - HostEvent - - Datastore DatastoreEventArgument `xml:"datastore"` -} - -func init() { - t["VMFSDatastoreExpandedEvent"] = reflect.TypeOf((*VMFSDatastoreExpandedEvent)(nil)).Elem() -} - -type VMFSDatastoreExtendedEvent struct { - HostEvent - - Datastore DatastoreEventArgument `xml:"datastore"` -} - -func init() { - t["VMFSDatastoreExtendedEvent"] = reflect.TypeOf((*VMFSDatastoreExtendedEvent)(nil)).Elem() -} - -type VMINotSupported struct { - DeviceNotSupported -} - -func init() { - t["VMINotSupported"] = reflect.TypeOf((*VMINotSupported)(nil)).Elem() -} - -type VMINotSupportedFault VMINotSupported - -func init() { - t["VMINotSupportedFault"] = reflect.TypeOf((*VMINotSupportedFault)(nil)).Elem() -} - -type VMOnConflictDVPort struct { - CannotAccessNetwork -} - -func init() { - t["VMOnConflictDVPort"] = reflect.TypeOf((*VMOnConflictDVPort)(nil)).Elem() -} - -type VMOnConflictDVPortFault VMOnConflictDVPort - -func init() { - t["VMOnConflictDVPortFault"] = reflect.TypeOf((*VMOnConflictDVPortFault)(nil)).Elem() -} - -type VMOnVirtualIntranet struct { - CannotAccessNetwork -} - -func init() { - t["VMOnVirtualIntranet"] = reflect.TypeOf((*VMOnVirtualIntranet)(nil)).Elem() -} - -type VMOnVirtualIntranetFault VMOnVirtualIntranet - -func init() { - t["VMOnVirtualIntranetFault"] = reflect.TypeOf((*VMOnVirtualIntranetFault)(nil)).Elem() -} - -type VMotionAcrossNetworkNotSupported struct { - MigrationFeatureNotSupported -} - -func init() { - t["VMotionAcrossNetworkNotSupported"] = reflect.TypeOf((*VMotionAcrossNetworkNotSupported)(nil)).Elem() -} - -type VMotionAcrossNetworkNotSupportedFault VMotionAcrossNetworkNotSupported - -func init() { - t["VMotionAcrossNetworkNotSupportedFault"] = reflect.TypeOf((*VMotionAcrossNetworkNotSupportedFault)(nil)).Elem() -} - -type VMotionInterfaceIssue struct { - MigrationFault - - AtSourceHost bool `xml:"atSourceHost"` - FailedHost string `xml:"failedHost"` - FailedHostEntity *ManagedObjectReference `xml:"failedHostEntity,omitempty"` -} - -func init() { - t["VMotionInterfaceIssue"] = reflect.TypeOf((*VMotionInterfaceIssue)(nil)).Elem() -} - -type VMotionInterfaceIssueFault BaseVMotionInterfaceIssue - -func init() { - t["VMotionInterfaceIssueFault"] = reflect.TypeOf((*VMotionInterfaceIssueFault)(nil)).Elem() -} - -type VMotionLicenseExpiredEvent struct { - LicenseEvent -} - -func init() { - t["VMotionLicenseExpiredEvent"] = reflect.TypeOf((*VMotionLicenseExpiredEvent)(nil)).Elem() -} - -type VMotionLinkCapacityLow struct { - VMotionInterfaceIssue - - Network string `xml:"network"` -} - -func init() { - t["VMotionLinkCapacityLow"] = reflect.TypeOf((*VMotionLinkCapacityLow)(nil)).Elem() -} - -type VMotionLinkCapacityLowFault VMotionLinkCapacityLow - -func init() { - t["VMotionLinkCapacityLowFault"] = reflect.TypeOf((*VMotionLinkCapacityLowFault)(nil)).Elem() -} - -type VMotionLinkDown struct { - VMotionInterfaceIssue - - Network string `xml:"network"` -} - -func init() { - t["VMotionLinkDown"] = reflect.TypeOf((*VMotionLinkDown)(nil)).Elem() -} - -type VMotionLinkDownFault VMotionLinkDown - -func init() { - t["VMotionLinkDownFault"] = reflect.TypeOf((*VMotionLinkDownFault)(nil)).Elem() -} - -type VMotionNotConfigured struct { - VMotionInterfaceIssue -} - -func init() { - t["VMotionNotConfigured"] = reflect.TypeOf((*VMotionNotConfigured)(nil)).Elem() -} - -type VMotionNotConfiguredFault VMotionNotConfigured - -func init() { - t["VMotionNotConfiguredFault"] = reflect.TypeOf((*VMotionNotConfiguredFault)(nil)).Elem() -} - -type VMotionNotLicensed struct { - VMotionInterfaceIssue -} - -func init() { - t["VMotionNotLicensed"] = reflect.TypeOf((*VMotionNotLicensed)(nil)).Elem() -} - -type VMotionNotLicensedFault VMotionNotLicensed - -func init() { - t["VMotionNotLicensedFault"] = reflect.TypeOf((*VMotionNotLicensedFault)(nil)).Elem() -} - -type VMotionNotSupported struct { - VMotionInterfaceIssue -} - -func init() { - t["VMotionNotSupported"] = reflect.TypeOf((*VMotionNotSupported)(nil)).Elem() -} - -type VMotionNotSupportedFault VMotionNotSupported - -func init() { - t["VMotionNotSupportedFault"] = reflect.TypeOf((*VMotionNotSupportedFault)(nil)).Elem() -} - -type VMotionProtocolIncompatible struct { - MigrationFault -} - -func init() { - t["VMotionProtocolIncompatible"] = reflect.TypeOf((*VMotionProtocolIncompatible)(nil)).Elem() -} - -type VMotionProtocolIncompatibleFault VMotionProtocolIncompatible - -func init() { - t["VMotionProtocolIncompatibleFault"] = reflect.TypeOf((*VMotionProtocolIncompatibleFault)(nil)).Elem() -} - -type VMwareDVSConfigInfo struct { - DVSConfigInfo - - VspanSession []VMwareVspanSession `xml:"vspanSession,omitempty"` - PvlanConfig []VMwareDVSPvlanMapEntry `xml:"pvlanConfig,omitempty"` - MaxMtu int32 `xml:"maxMtu"` - LinkDiscoveryProtocolConfig *LinkDiscoveryProtocolConfig `xml:"linkDiscoveryProtocolConfig,omitempty"` - IpfixConfig *VMwareIpfixConfig `xml:"ipfixConfig,omitempty"` - LacpGroupConfig []VMwareDvsLacpGroupConfig `xml:"lacpGroupConfig,omitempty"` - LacpApiVersion string `xml:"lacpApiVersion,omitempty"` - MulticastFilteringMode string `xml:"multicastFilteringMode,omitempty"` - NetworkOffloadSpecId string `xml:"networkOffloadSpecId,omitempty"` -} - -func init() { - t["VMwareDVSConfigInfo"] = reflect.TypeOf((*VMwareDVSConfigInfo)(nil)).Elem() -} - -type VMwareDVSConfigSpec struct { - DVSConfigSpec - - PvlanConfigSpec []VMwareDVSPvlanConfigSpec `xml:"pvlanConfigSpec,omitempty"` - VspanConfigSpec []VMwareDVSVspanConfigSpec `xml:"vspanConfigSpec,omitempty"` - MaxMtu int32 `xml:"maxMtu,omitempty"` - LinkDiscoveryProtocolConfig *LinkDiscoveryProtocolConfig `xml:"linkDiscoveryProtocolConfig,omitempty"` - IpfixConfig *VMwareIpfixConfig `xml:"ipfixConfig,omitempty"` - LacpApiVersion string `xml:"lacpApiVersion,omitempty"` - MulticastFilteringMode string `xml:"multicastFilteringMode,omitempty"` - NetworkOffloadSpecId string `xml:"networkOffloadSpecId,omitempty"` -} - -func init() { - t["VMwareDVSConfigSpec"] = reflect.TypeOf((*VMwareDVSConfigSpec)(nil)).Elem() -} - -type VMwareDVSFeatureCapability struct { - DVSFeatureCapability - - VspanSupported *bool `xml:"vspanSupported"` - LldpSupported *bool `xml:"lldpSupported"` - IpfixSupported *bool `xml:"ipfixSupported"` - IpfixCapability *VMwareDvsIpfixCapability `xml:"ipfixCapability,omitempty"` - MulticastSnoopingSupported *bool `xml:"multicastSnoopingSupported"` - VspanCapability *VMwareDVSVspanCapability `xml:"vspanCapability,omitempty"` - LacpCapability *VMwareDvsLacpCapability `xml:"lacpCapability,omitempty"` - DpuCapability *VMwareDvsDpuCapability `xml:"dpuCapability,omitempty"` - NsxSupported *bool `xml:"nsxSupported"` - MtuCapability *VMwareDvsMtuCapability `xml:"mtuCapability,omitempty"` -} - -func init() { - t["VMwareDVSFeatureCapability"] = reflect.TypeOf((*VMwareDVSFeatureCapability)(nil)).Elem() -} - -type VMwareDVSHealthCheckCapability struct { - DVSHealthCheckCapability - - VlanMtuSupported bool `xml:"vlanMtuSupported"` - TeamingSupported bool `xml:"teamingSupported"` -} - -func init() { - t["VMwareDVSHealthCheckCapability"] = reflect.TypeOf((*VMwareDVSHealthCheckCapability)(nil)).Elem() -} - -type VMwareDVSHealthCheckConfig struct { - DVSHealthCheckConfig -} - -func init() { - t["VMwareDVSHealthCheckConfig"] = reflect.TypeOf((*VMwareDVSHealthCheckConfig)(nil)).Elem() -} - -type VMwareDVSMtuHealthCheckResult struct { - HostMemberUplinkHealthCheckResult - - MtuMismatch bool `xml:"mtuMismatch"` - VlanSupportSwitchMtu []NumericRange `xml:"vlanSupportSwitchMtu,omitempty"` - VlanNotSupportSwitchMtu []NumericRange `xml:"vlanNotSupportSwitchMtu,omitempty"` -} - -func init() { - t["VMwareDVSMtuHealthCheckResult"] = reflect.TypeOf((*VMwareDVSMtuHealthCheckResult)(nil)).Elem() -} - -type VMwareDVSPortSetting struct { - DVPortSetting - - Vlan BaseVmwareDistributedVirtualSwitchVlanSpec `xml:"vlan,omitempty,typeattr"` - QosTag *IntPolicy `xml:"qosTag,omitempty"` - UplinkTeamingPolicy *VmwareUplinkPortTeamingPolicy `xml:"uplinkTeamingPolicy,omitempty"` - SecurityPolicy *DVSSecurityPolicy `xml:"securityPolicy,omitempty"` - IpfixEnabled *BoolPolicy `xml:"ipfixEnabled,omitempty"` - TxUplink *BoolPolicy `xml:"txUplink,omitempty"` - LacpPolicy *VMwareUplinkLacpPolicy `xml:"lacpPolicy,omitempty"` - MacManagementPolicy *DVSMacManagementPolicy `xml:"macManagementPolicy,omitempty"` - VNI *IntPolicy `xml:"VNI,omitempty"` -} - -func init() { - t["VMwareDVSPortSetting"] = reflect.TypeOf((*VMwareDVSPortSetting)(nil)).Elem() -} - -type VMwareDVSPortgroupPolicy struct { - DVPortgroupPolicy - - VlanOverrideAllowed bool `xml:"vlanOverrideAllowed"` - UplinkTeamingOverrideAllowed bool `xml:"uplinkTeamingOverrideAllowed"` - SecurityPolicyOverrideAllowed bool `xml:"securityPolicyOverrideAllowed"` - IpfixOverrideAllowed *bool `xml:"ipfixOverrideAllowed"` - MacManagementOverrideAllowed *bool `xml:"macManagementOverrideAllowed"` -} - -func init() { - t["VMwareDVSPortgroupPolicy"] = reflect.TypeOf((*VMwareDVSPortgroupPolicy)(nil)).Elem() -} - -type VMwareDVSPvlanConfigSpec struct { - DynamicData - - PvlanEntry VMwareDVSPvlanMapEntry `xml:"pvlanEntry"` - Operation string `xml:"operation"` -} - -func init() { - t["VMwareDVSPvlanConfigSpec"] = reflect.TypeOf((*VMwareDVSPvlanConfigSpec)(nil)).Elem() -} - -type VMwareDVSPvlanMapEntry struct { - DynamicData - - PrimaryVlanId int32 `xml:"primaryVlanId"` - SecondaryVlanId int32 `xml:"secondaryVlanId"` - PvlanType string `xml:"pvlanType"` -} - -func init() { - t["VMwareDVSPvlanMapEntry"] = reflect.TypeOf((*VMwareDVSPvlanMapEntry)(nil)).Elem() -} - -type VMwareDVSTeamingHealthCheckConfig struct { - VMwareDVSHealthCheckConfig -} - -func init() { - t["VMwareDVSTeamingHealthCheckConfig"] = reflect.TypeOf((*VMwareDVSTeamingHealthCheckConfig)(nil)).Elem() -} - -type VMwareDVSTeamingHealthCheckResult struct { - HostMemberHealthCheckResult - - TeamingStatus string `xml:"teamingStatus"` -} - -func init() { - t["VMwareDVSTeamingHealthCheckResult"] = reflect.TypeOf((*VMwareDVSTeamingHealthCheckResult)(nil)).Elem() -} - -type VMwareDVSVlanHealthCheckResult struct { - HostMemberUplinkHealthCheckResult - - TrunkedVlan []NumericRange `xml:"trunkedVlan,omitempty"` - UntrunkedVlan []NumericRange `xml:"untrunkedVlan,omitempty"` -} - -func init() { - t["VMwareDVSVlanHealthCheckResult"] = reflect.TypeOf((*VMwareDVSVlanHealthCheckResult)(nil)).Elem() -} - -type VMwareDVSVlanMtuHealthCheckConfig struct { - VMwareDVSHealthCheckConfig -} - -func init() { - t["VMwareDVSVlanMtuHealthCheckConfig"] = reflect.TypeOf((*VMwareDVSVlanMtuHealthCheckConfig)(nil)).Elem() -} - -type VMwareDVSVspanCapability struct { - DynamicData - - MixedDestSupported bool `xml:"mixedDestSupported"` - DvportSupported bool `xml:"dvportSupported"` - RemoteSourceSupported bool `xml:"remoteSourceSupported"` - RemoteDestSupported bool `xml:"remoteDestSupported"` - EncapRemoteSourceSupported bool `xml:"encapRemoteSourceSupported"` - ErspanProtocolSupported *bool `xml:"erspanProtocolSupported"` - MirrorNetstackSupported *bool `xml:"mirrorNetstackSupported"` -} - -func init() { - t["VMwareDVSVspanCapability"] = reflect.TypeOf((*VMwareDVSVspanCapability)(nil)).Elem() -} - -type VMwareDVSVspanConfigSpec struct { - DynamicData - - VspanSession VMwareVspanSession `xml:"vspanSession"` - Operation string `xml:"operation"` -} - -func init() { - t["VMwareDVSVspanConfigSpec"] = reflect.TypeOf((*VMwareDVSVspanConfigSpec)(nil)).Elem() -} - -type VMwareDvsDpuCapability struct { - DynamicData - - NetworkOffloadSupported *bool `xml:"networkOffloadSupported"` -} - -func init() { - t["VMwareDvsDpuCapability"] = reflect.TypeOf((*VMwareDvsDpuCapability)(nil)).Elem() -} - -type VMwareDvsIpfixCapability struct { - DynamicData - - IpfixSupported *bool `xml:"ipfixSupported"` - Ipv6ForIpfixSupported *bool `xml:"ipv6ForIpfixSupported"` - ObservationDomainIdSupported *bool `xml:"observationDomainIdSupported"` -} - -func init() { - t["VMwareDvsIpfixCapability"] = reflect.TypeOf((*VMwareDvsIpfixCapability)(nil)).Elem() -} - -type VMwareDvsLacpCapability struct { - DynamicData - - LacpSupported *bool `xml:"lacpSupported"` - MultiLacpGroupSupported *bool `xml:"multiLacpGroupSupported"` - LacpFastModeSupported *bool `xml:"lacpFastModeSupported"` -} - -func init() { - t["VMwareDvsLacpCapability"] = reflect.TypeOf((*VMwareDvsLacpCapability)(nil)).Elem() -} - -type VMwareDvsLacpGroupConfig struct { - DynamicData - - Key string `xml:"key,omitempty"` - Name string `xml:"name,omitempty"` - Mode string `xml:"mode,omitempty"` - UplinkNum int32 `xml:"uplinkNum,omitempty"` - LoadbalanceAlgorithm string `xml:"loadbalanceAlgorithm,omitempty"` - Vlan *VMwareDvsLagVlanConfig `xml:"vlan,omitempty"` - Ipfix *VMwareDvsLagIpfixConfig `xml:"ipfix,omitempty"` - UplinkName []string `xml:"uplinkName,omitempty"` - UplinkPortKey []string `xml:"uplinkPortKey,omitempty"` - TimeoutMode string `xml:"timeoutMode,omitempty"` -} - -func init() { - t["VMwareDvsLacpGroupConfig"] = reflect.TypeOf((*VMwareDvsLacpGroupConfig)(nil)).Elem() -} - -type VMwareDvsLacpGroupSpec struct { - DynamicData - - LacpGroupConfig VMwareDvsLacpGroupConfig `xml:"lacpGroupConfig"` - Operation string `xml:"operation"` -} - -func init() { - t["VMwareDvsLacpGroupSpec"] = reflect.TypeOf((*VMwareDvsLacpGroupSpec)(nil)).Elem() -} - -type VMwareDvsLagIpfixConfig struct { - DynamicData - - IpfixEnabled *bool `xml:"ipfixEnabled"` -} - -func init() { - t["VMwareDvsLagIpfixConfig"] = reflect.TypeOf((*VMwareDvsLagIpfixConfig)(nil)).Elem() -} - -type VMwareDvsLagVlanConfig struct { - DynamicData - - VlanId []NumericRange `xml:"vlanId,omitempty"` -} - -func init() { - t["VMwareDvsLagVlanConfig"] = reflect.TypeOf((*VMwareDvsLagVlanConfig)(nil)).Elem() -} - -type VMwareDvsMtuCapability struct { - DynamicData - - MinMtuSupported int32 `xml:"minMtuSupported"` - MaxMtuSupported int32 `xml:"maxMtuSupported"` -} - -func init() { - t["VMwareDvsMtuCapability"] = reflect.TypeOf((*VMwareDvsMtuCapability)(nil)).Elem() -} - -type VMwareIpfixConfig struct { - DynamicData - - CollectorIpAddress string `xml:"collectorIpAddress,omitempty"` - CollectorPort int32 `xml:"collectorPort,omitempty"` - ObservationDomainId int64 `xml:"observationDomainId,omitempty"` - ActiveFlowTimeout int32 `xml:"activeFlowTimeout"` - IdleFlowTimeout int32 `xml:"idleFlowTimeout"` - SamplingRate int32 `xml:"samplingRate"` - InternalFlowsOnly bool `xml:"internalFlowsOnly"` -} - -func init() { - t["VMwareIpfixConfig"] = reflect.TypeOf((*VMwareIpfixConfig)(nil)).Elem() -} - -type VMwareUplinkLacpPolicy struct { - InheritablePolicy - - Enable *BoolPolicy `xml:"enable,omitempty"` - Mode *StringPolicy `xml:"mode,omitempty"` -} - -func init() { - t["VMwareUplinkLacpPolicy"] = reflect.TypeOf((*VMwareUplinkLacpPolicy)(nil)).Elem() -} - -type VMwareUplinkPortOrderPolicy struct { - InheritablePolicy - - ActiveUplinkPort []string `xml:"activeUplinkPort,omitempty"` - StandbyUplinkPort []string `xml:"standbyUplinkPort,omitempty"` -} - -func init() { - t["VMwareUplinkPortOrderPolicy"] = reflect.TypeOf((*VMwareUplinkPortOrderPolicy)(nil)).Elem() -} - -type VMwareVspanPort struct { - DynamicData - - PortKey []string `xml:"portKey,omitempty"` - UplinkPortName []string `xml:"uplinkPortName,omitempty"` - WildcardPortConnecteeType []string `xml:"wildcardPortConnecteeType,omitempty"` - Vlans []int32 `xml:"vlans,omitempty"` - IpAddress []string `xml:"ipAddress,omitempty"` -} - -func init() { - t["VMwareVspanPort"] = reflect.TypeOf((*VMwareVspanPort)(nil)).Elem() -} - -type VMwareVspanSession struct { - DynamicData - - Key string `xml:"key,omitempty"` - Name string `xml:"name,omitempty"` - Description string `xml:"description,omitempty"` - Enabled bool `xml:"enabled"` - SourcePortTransmitted *VMwareVspanPort `xml:"sourcePortTransmitted,omitempty"` - SourcePortReceived *VMwareVspanPort `xml:"sourcePortReceived,omitempty"` - DestinationPort *VMwareVspanPort `xml:"destinationPort,omitempty"` - EncapsulationVlanId int32 `xml:"encapsulationVlanId,omitempty"` - StripOriginalVlan bool `xml:"stripOriginalVlan"` - MirroredPacketLength int32 `xml:"mirroredPacketLength,omitempty"` - NormalTrafficAllowed bool `xml:"normalTrafficAllowed"` - SessionType string `xml:"sessionType,omitempty"` - SamplingRate int32 `xml:"samplingRate,omitempty"` - EncapType string `xml:"encapType,omitempty"` - ErspanId int32 `xml:"erspanId,omitempty"` - ErspanCOS int32 `xml:"erspanCOS,omitempty"` - ErspanGraNanosec *bool `xml:"erspanGraNanosec"` - Netstack string `xml:"netstack,omitempty"` -} - -func init() { - t["VMwareVspanSession"] = reflect.TypeOf((*VMwareVspanSession)(nil)).Elem() -} - -type VStorageObject struct { - DynamicData - - Config VStorageObjectConfigInfo `xml:"config"` -} - -func init() { - t["VStorageObject"] = reflect.TypeOf((*VStorageObject)(nil)).Elem() -} - -type VStorageObjectAssociations struct { - DynamicData - - Id ID `xml:"id"` - VmDiskAssociations []VStorageObjectAssociationsVmDiskAssociations `xml:"vmDiskAssociations,omitempty"` - Fault *LocalizedMethodFault `xml:"fault,omitempty"` -} - -func init() { - t["VStorageObjectAssociations"] = reflect.TypeOf((*VStorageObjectAssociations)(nil)).Elem() -} - -type VStorageObjectAssociationsVmDiskAssociations struct { - DynamicData - - VmId string `xml:"vmId"` - DiskKey int32 `xml:"diskKey"` -} - -func init() { - t["VStorageObjectAssociationsVmDiskAssociations"] = reflect.TypeOf((*VStorageObjectAssociationsVmDiskAssociations)(nil)).Elem() -} - -type VStorageObjectConfigInfo struct { - BaseConfigInfo - - CapacityInMB int64 `xml:"capacityInMB"` - ConsumptionType []string `xml:"consumptionType,omitempty"` - ConsumerId []ID `xml:"consumerId,omitempty"` -} - -func init() { - t["VStorageObjectConfigInfo"] = reflect.TypeOf((*VStorageObjectConfigInfo)(nil)).Elem() -} - -type VStorageObjectCreateSnapshotRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id ID `xml:"id"` - Datastore ManagedObjectReference `xml:"datastore"` - Description string `xml:"description"` -} - -func init() { - t["VStorageObjectCreateSnapshotRequestType"] = reflect.TypeOf((*VStorageObjectCreateSnapshotRequestType)(nil)).Elem() -} - -type VStorageObjectCreateSnapshot_Task VStorageObjectCreateSnapshotRequestType - -func init() { - t["VStorageObjectCreateSnapshot_Task"] = reflect.TypeOf((*VStorageObjectCreateSnapshot_Task)(nil)).Elem() -} - -type VStorageObjectCreateSnapshot_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type VStorageObjectSnapshotDetails struct { - DynamicData - - Path string `xml:"path,omitempty"` - ChangedBlockTrackingId string `xml:"changedBlockTrackingId,omitempty"` -} - -func init() { - t["VStorageObjectSnapshotDetails"] = reflect.TypeOf((*VStorageObjectSnapshotDetails)(nil)).Elem() -} - -type VStorageObjectSnapshotInfo struct { - DynamicData - - Snapshots []VStorageObjectSnapshotInfoVStorageObjectSnapshot `xml:"snapshots,omitempty"` -} - -func init() { - t["VStorageObjectSnapshotInfo"] = reflect.TypeOf((*VStorageObjectSnapshotInfo)(nil)).Elem() -} - -type VStorageObjectSnapshotInfoVStorageObjectSnapshot struct { - DynamicData - - Id *ID `xml:"id,omitempty"` - BackingObjectId string `xml:"backingObjectId,omitempty"` - CreateTime time.Time `xml:"createTime"` - Description string `xml:"description"` -} - -func init() { - t["VStorageObjectSnapshotInfoVStorageObjectSnapshot"] = reflect.TypeOf((*VStorageObjectSnapshotInfoVStorageObjectSnapshot)(nil)).Elem() -} - -type VStorageObjectStateInfo struct { - DynamicData - - Tentative *bool `xml:"tentative"` -} - -func init() { - t["VStorageObjectStateInfo"] = reflect.TypeOf((*VStorageObjectStateInfo)(nil)).Elem() -} - -type VVolHostPE struct { - DynamicData - - Key ManagedObjectReference `xml:"key"` - ProtocolEndpoint []HostProtocolEndpoint `xml:"protocolEndpoint"` -} - -func init() { - t["VVolHostPE"] = reflect.TypeOf((*VVolHostPE)(nil)).Elem() -} - -type VVolVmConfigFileUpdateResult struct { - DynamicData - - SucceededVmConfigFile []KeyValue `xml:"succeededVmConfigFile,omitempty"` - FailedVmConfigFile []VVolVmConfigFileUpdateResultFailedVmConfigFileInfo `xml:"failedVmConfigFile,omitempty"` -} - -func init() { - t["VVolVmConfigFileUpdateResult"] = reflect.TypeOf((*VVolVmConfigFileUpdateResult)(nil)).Elem() -} - -type VVolVmConfigFileUpdateResultFailedVmConfigFileInfo struct { - DynamicData - - TargetConfigVVolId string `xml:"targetConfigVVolId"` - DsPath string `xml:"dsPath,omitempty"` - Fault LocalizedMethodFault `xml:"fault"` -} - -func init() { - t["VVolVmConfigFileUpdateResultFailedVmConfigFileInfo"] = reflect.TypeOf((*VVolVmConfigFileUpdateResultFailedVmConfigFileInfo)(nil)).Elem() -} - -type ValidateCredentialsInGuest ValidateCredentialsInGuestRequestType - -func init() { - t["ValidateCredentialsInGuest"] = reflect.TypeOf((*ValidateCredentialsInGuest)(nil)).Elem() -} - -type ValidateCredentialsInGuestRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm ManagedObjectReference `xml:"vm"` - Auth BaseGuestAuthentication `xml:"auth,typeattr"` -} - -func init() { - t["ValidateCredentialsInGuestRequestType"] = reflect.TypeOf((*ValidateCredentialsInGuestRequestType)(nil)).Elem() -} - -type ValidateCredentialsInGuestResponse struct { -} - -type ValidateHCIConfiguration ValidateHCIConfigurationRequestType - -func init() { - t["ValidateHCIConfiguration"] = reflect.TypeOf((*ValidateHCIConfiguration)(nil)).Elem() -} - -type ValidateHCIConfigurationRequestType struct { - This ManagedObjectReference `xml:"_this"` - HciConfigSpec *ClusterComputeResourceHCIConfigSpec `xml:"hciConfigSpec,omitempty"` - Hosts []ManagedObjectReference `xml:"hosts,omitempty"` -} - -func init() { - t["ValidateHCIConfigurationRequestType"] = reflect.TypeOf((*ValidateHCIConfigurationRequestType)(nil)).Elem() -} - -type ValidateHCIConfigurationResponse struct { - Returnval []BaseClusterComputeResourceValidationResultBase `xml:"returnval,omitempty,typeattr"` -} - -type ValidateHost ValidateHostRequestType - -func init() { - t["ValidateHost"] = reflect.TypeOf((*ValidateHost)(nil)).Elem() -} - -type ValidateHostProfileCompositionRequestType struct { - This ManagedObjectReference `xml:"_this"` - Source ManagedObjectReference `xml:"source"` - Targets []ManagedObjectReference `xml:"targets,omitempty"` - ToBeMerged *HostApplyProfile `xml:"toBeMerged,omitempty"` - ToReplaceWith *HostApplyProfile `xml:"toReplaceWith,omitempty"` - ToBeDeleted *HostApplyProfile `xml:"toBeDeleted,omitempty"` - EnableStatusToBeCopied *HostApplyProfile `xml:"enableStatusToBeCopied,omitempty"` - ErrorOnly *bool `xml:"errorOnly"` -} - -func init() { - t["ValidateHostProfileCompositionRequestType"] = reflect.TypeOf((*ValidateHostProfileCompositionRequestType)(nil)).Elem() -} - -type ValidateHostProfileComposition_Task ValidateHostProfileCompositionRequestType - -func init() { - t["ValidateHostProfileComposition_Task"] = reflect.TypeOf((*ValidateHostProfileComposition_Task)(nil)).Elem() -} - -type ValidateHostProfileComposition_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ValidateHostRequestType struct { - This ManagedObjectReference `xml:"_this"` - OvfDescriptor string `xml:"ovfDescriptor"` - Host ManagedObjectReference `xml:"host"` - Vhp OvfValidateHostParams `xml:"vhp"` -} - -func init() { - t["ValidateHostRequestType"] = reflect.TypeOf((*ValidateHostRequestType)(nil)).Elem() -} - -type ValidateHostResponse struct { - Returnval OvfValidateHostResult `xml:"returnval"` -} - -type ValidateMigration ValidateMigrationRequestType - -func init() { - t["ValidateMigration"] = reflect.TypeOf((*ValidateMigration)(nil)).Elem() -} - -type ValidateMigrationRequestType struct { - This ManagedObjectReference `xml:"_this"` - Vm []ManagedObjectReference `xml:"vm"` - State VirtualMachinePowerState `xml:"state,omitempty"` - TestType []string `xml:"testType,omitempty"` - Pool *ManagedObjectReference `xml:"pool,omitempty"` - Host *ManagedObjectReference `xml:"host,omitempty"` -} - -func init() { - t["ValidateMigrationRequestType"] = reflect.TypeOf((*ValidateMigrationRequestType)(nil)).Elem() -} - -type ValidateMigrationResponse struct { - Returnval []BaseEvent `xml:"returnval,omitempty,typeattr"` -} - -type ValidateStoragePodConfig ValidateStoragePodConfigRequestType - -func init() { - t["ValidateStoragePodConfig"] = reflect.TypeOf((*ValidateStoragePodConfig)(nil)).Elem() -} - -type ValidateStoragePodConfigRequestType struct { - This ManagedObjectReference `xml:"_this"` - Pod ManagedObjectReference `xml:"pod"` - Spec StorageDrsConfigSpec `xml:"spec"` -} - -func init() { - t["ValidateStoragePodConfigRequestType"] = reflect.TypeOf((*ValidateStoragePodConfigRequestType)(nil)).Elem() -} - -type ValidateStoragePodConfigResponse struct { - Returnval *LocalizedMethodFault `xml:"returnval,omitempty"` -} - -type VasaProviderContainerSpec struct { - DynamicData - - VasaProviderInfo []VimVasaProviderInfo `xml:"vasaProviderInfo,omitempty"` - ScId string `xml:"scId"` - Deleted bool `xml:"deleted"` -} - -func init() { - t["VasaProviderContainerSpec"] = reflect.TypeOf((*VasaProviderContainerSpec)(nil)).Elem() -} - -type VcAgentUninstallFailedEvent struct { - HostEvent - - Reason string `xml:"reason,omitempty"` -} - -func init() { - t["VcAgentUninstallFailedEvent"] = reflect.TypeOf((*VcAgentUninstallFailedEvent)(nil)).Elem() -} - -type VcAgentUninstalledEvent struct { - HostEvent -} - -func init() { - t["VcAgentUninstalledEvent"] = reflect.TypeOf((*VcAgentUninstalledEvent)(nil)).Elem() -} - -type VcAgentUpgradeFailedEvent struct { - HostEvent - - Reason string `xml:"reason,omitempty"` -} - -func init() { - t["VcAgentUpgradeFailedEvent"] = reflect.TypeOf((*VcAgentUpgradeFailedEvent)(nil)).Elem() -} - -type VcAgentUpgradedEvent struct { - HostEvent -} - -func init() { - t["VcAgentUpgradedEvent"] = reflect.TypeOf((*VcAgentUpgradedEvent)(nil)).Elem() -} - -type VchaClusterConfigInfo struct { - DynamicData - - FailoverNodeInfo1 *FailoverNodeInfo `xml:"failoverNodeInfo1,omitempty"` - FailoverNodeInfo2 *FailoverNodeInfo `xml:"failoverNodeInfo2,omitempty"` - WitnessNodeInfo *WitnessNodeInfo `xml:"witnessNodeInfo,omitempty"` - State string `xml:"state"` -} - -func init() { - t["VchaClusterConfigInfo"] = reflect.TypeOf((*VchaClusterConfigInfo)(nil)).Elem() -} - -type VchaClusterConfigSpec struct { - DynamicData - - PassiveIp string `xml:"passiveIp"` - WitnessIp string `xml:"witnessIp"` -} - -func init() { - t["VchaClusterConfigSpec"] = reflect.TypeOf((*VchaClusterConfigSpec)(nil)).Elem() -} - -type VchaClusterDeploymentSpec struct { - DynamicData - - PassiveDeploymentSpec PassiveNodeDeploymentSpec `xml:"passiveDeploymentSpec"` - WitnessDeploymentSpec BaseNodeDeploymentSpec `xml:"witnessDeploymentSpec,typeattr"` - ActiveVcSpec SourceNodeSpec `xml:"activeVcSpec"` - ActiveVcNetworkConfig *ClusterNetworkConfigSpec `xml:"activeVcNetworkConfig,omitempty"` -} - -func init() { - t["VchaClusterDeploymentSpec"] = reflect.TypeOf((*VchaClusterDeploymentSpec)(nil)).Elem() -} - -type VchaClusterHealth struct { - DynamicData - - RuntimeInfo VchaClusterRuntimeInfo `xml:"runtimeInfo"` - HealthMessages []LocalizableMessage `xml:"healthMessages,omitempty"` - AdditionalInformation []LocalizableMessage `xml:"additionalInformation,omitempty"` -} - -func init() { - t["VchaClusterHealth"] = reflect.TypeOf((*VchaClusterHealth)(nil)).Elem() -} - -type VchaClusterNetworkSpec struct { - DynamicData - - WitnessNetworkSpec BaseNodeNetworkSpec `xml:"witnessNetworkSpec,typeattr"` - PassiveNetworkSpec PassiveNodeNetworkSpec `xml:"passiveNetworkSpec"` -} - -func init() { - t["VchaClusterNetworkSpec"] = reflect.TypeOf((*VchaClusterNetworkSpec)(nil)).Elem() -} - -type VchaClusterRuntimeInfo struct { - DynamicData - - ClusterState string `xml:"clusterState"` - NodeInfo []VchaNodeRuntimeInfo `xml:"nodeInfo,omitempty"` - ClusterMode string `xml:"clusterMode"` -} - -func init() { - t["VchaClusterRuntimeInfo"] = reflect.TypeOf((*VchaClusterRuntimeInfo)(nil)).Elem() -} - -type VchaNodeRuntimeInfo struct { - DynamicData - - NodeState string `xml:"nodeState"` - NodeRole string `xml:"nodeRole"` - NodeIp string `xml:"nodeIp"` -} - -func init() { - t["VchaNodeRuntimeInfo"] = reflect.TypeOf((*VchaNodeRuntimeInfo)(nil)).Elem() -} - -type VimAccountPasswordChangedEvent struct { - HostEvent -} - -func init() { - t["VimAccountPasswordChangedEvent"] = reflect.TypeOf((*VimAccountPasswordChangedEvent)(nil)).Elem() -} - -type VimFault struct { - MethodFault -} - -func init() { - t["VimFault"] = reflect.TypeOf((*VimFault)(nil)).Elem() -} - -type VimFaultFault BaseVimFault - -func init() { - t["VimFaultFault"] = reflect.TypeOf((*VimFaultFault)(nil)).Elem() -} - -type VimVasaProvider struct { - DynamicData - - Uid string `xml:"uid,omitempty"` - Url string `xml:"url"` - Name string `xml:"name,omitempty"` - SelfSignedCertificate string `xml:"selfSignedCertificate,omitempty"` -} - -func init() { - t["VimVasaProvider"] = reflect.TypeOf((*VimVasaProvider)(nil)).Elem() -} - -type VimVasaProviderInfo struct { - DynamicData - - Provider VimVasaProvider `xml:"provider"` - ArrayState []VimVasaProviderStatePerArray `xml:"arrayState,omitempty"` -} - -func init() { - t["VimVasaProviderInfo"] = reflect.TypeOf((*VimVasaProviderInfo)(nil)).Elem() -} - -type VimVasaProviderStatePerArray struct { - DynamicData - - Priority int32 `xml:"priority"` - ArrayId string `xml:"arrayId"` - Active bool `xml:"active"` -} - -func init() { - t["VimVasaProviderStatePerArray"] = reflect.TypeOf((*VimVasaProviderStatePerArray)(nil)).Elem() -} - -type VirtualAHCIController struct { - VirtualSATAController -} - -func init() { - t["VirtualAHCIController"] = reflect.TypeOf((*VirtualAHCIController)(nil)).Elem() -} - -type VirtualAHCIControllerOption struct { - VirtualSATAControllerOption -} - -func init() { - t["VirtualAHCIControllerOption"] = reflect.TypeOf((*VirtualAHCIControllerOption)(nil)).Elem() -} - -type VirtualAppImportSpec struct { - ImportSpec - - Name string `xml:"name"` - VAppConfigSpec VAppConfigSpec `xml:"vAppConfigSpec"` - ResourcePoolSpec ResourceConfigSpec `xml:"resourcePoolSpec"` - Child []BaseImportSpec `xml:"child,omitempty,typeattr"` -} - -func init() { - t["VirtualAppImportSpec"] = reflect.TypeOf((*VirtualAppImportSpec)(nil)).Elem() -} - -type VirtualAppLinkInfo struct { - DynamicData - - Key ManagedObjectReference `xml:"key"` - DestroyWithParent *bool `xml:"destroyWithParent"` -} - -func init() { - t["VirtualAppLinkInfo"] = reflect.TypeOf((*VirtualAppLinkInfo)(nil)).Elem() -} - -type VirtualAppSummary struct { - ResourcePoolSummary - - Product *VAppProductInfo `xml:"product,omitempty"` - VAppState VirtualAppVAppState `xml:"vAppState,omitempty"` - Suspended *bool `xml:"suspended"` - InstallBootRequired *bool `xml:"installBootRequired"` - InstanceUuid string `xml:"instanceUuid,omitempty"` -} - -func init() { - t["VirtualAppSummary"] = reflect.TypeOf((*VirtualAppSummary)(nil)).Elem() -} - -type VirtualBusLogicController struct { - VirtualSCSIController -} - -func init() { - t["VirtualBusLogicController"] = reflect.TypeOf((*VirtualBusLogicController)(nil)).Elem() -} - -type VirtualBusLogicControllerOption struct { - VirtualSCSIControllerOption -} - -func init() { - t["VirtualBusLogicControllerOption"] = reflect.TypeOf((*VirtualBusLogicControllerOption)(nil)).Elem() -} - -type VirtualCdrom struct { - VirtualDevice -} - -func init() { - t["VirtualCdrom"] = reflect.TypeOf((*VirtualCdrom)(nil)).Elem() -} - -type VirtualCdromAtapiBackingInfo struct { - VirtualDeviceDeviceBackingInfo -} - -func init() { - t["VirtualCdromAtapiBackingInfo"] = reflect.TypeOf((*VirtualCdromAtapiBackingInfo)(nil)).Elem() -} - -type VirtualCdromAtapiBackingOption struct { - VirtualDeviceDeviceBackingOption -} - -func init() { - t["VirtualCdromAtapiBackingOption"] = reflect.TypeOf((*VirtualCdromAtapiBackingOption)(nil)).Elem() -} - -type VirtualCdromIsoBackingInfo struct { - VirtualDeviceFileBackingInfo -} - -func init() { - t["VirtualCdromIsoBackingInfo"] = reflect.TypeOf((*VirtualCdromIsoBackingInfo)(nil)).Elem() -} - -type VirtualCdromIsoBackingOption struct { - VirtualDeviceFileBackingOption -} - -func init() { - t["VirtualCdromIsoBackingOption"] = reflect.TypeOf((*VirtualCdromIsoBackingOption)(nil)).Elem() -} - -type VirtualCdromOption struct { - VirtualDeviceOption -} - -func init() { - t["VirtualCdromOption"] = reflect.TypeOf((*VirtualCdromOption)(nil)).Elem() -} - -type VirtualCdromPassthroughBackingInfo struct { - VirtualDeviceDeviceBackingInfo - - Exclusive bool `xml:"exclusive"` -} - -func init() { - t["VirtualCdromPassthroughBackingInfo"] = reflect.TypeOf((*VirtualCdromPassthroughBackingInfo)(nil)).Elem() -} - -type VirtualCdromPassthroughBackingOption struct { - VirtualDeviceDeviceBackingOption - - Exclusive BoolOption `xml:"exclusive"` -} - -func init() { - t["VirtualCdromPassthroughBackingOption"] = reflect.TypeOf((*VirtualCdromPassthroughBackingOption)(nil)).Elem() -} - -type VirtualCdromRemoteAtapiBackingInfo struct { - VirtualDeviceRemoteDeviceBackingInfo -} - -func init() { - t["VirtualCdromRemoteAtapiBackingInfo"] = reflect.TypeOf((*VirtualCdromRemoteAtapiBackingInfo)(nil)).Elem() -} - -type VirtualCdromRemoteAtapiBackingOption struct { - VirtualDeviceDeviceBackingOption -} - -func init() { - t["VirtualCdromRemoteAtapiBackingOption"] = reflect.TypeOf((*VirtualCdromRemoteAtapiBackingOption)(nil)).Elem() -} - -type VirtualCdromRemotePassthroughBackingInfo struct { - VirtualDeviceRemoteDeviceBackingInfo - - Exclusive bool `xml:"exclusive"` -} - -func init() { - t["VirtualCdromRemotePassthroughBackingInfo"] = reflect.TypeOf((*VirtualCdromRemotePassthroughBackingInfo)(nil)).Elem() -} - -type VirtualCdromRemotePassthroughBackingOption struct { - VirtualDeviceRemoteDeviceBackingOption - - Exclusive BoolOption `xml:"exclusive"` -} - -func init() { - t["VirtualCdromRemotePassthroughBackingOption"] = reflect.TypeOf((*VirtualCdromRemotePassthroughBackingOption)(nil)).Elem() -} - -type VirtualController struct { - VirtualDevice - - BusNumber int32 `xml:"busNumber"` - Device []int32 `xml:"device,omitempty"` -} - -func init() { - t["VirtualController"] = reflect.TypeOf((*VirtualController)(nil)).Elem() -} - -type VirtualControllerOption struct { - VirtualDeviceOption - - Devices IntOption `xml:"devices"` - SupportedDevice []string `xml:"supportedDevice,omitempty"` -} - -func init() { - t["VirtualControllerOption"] = reflect.TypeOf((*VirtualControllerOption)(nil)).Elem() -} - -type VirtualDevice struct { - DynamicData - - Key int32 `xml:"key"` - DeviceInfo BaseDescription `xml:"deviceInfo,omitempty,typeattr"` - Backing BaseVirtualDeviceBackingInfo `xml:"backing,omitempty,typeattr"` - Connectable *VirtualDeviceConnectInfo `xml:"connectable,omitempty"` - SlotInfo BaseVirtualDeviceBusSlotInfo `xml:"slotInfo,omitempty,typeattr"` - ControllerKey int32 `xml:"controllerKey,omitempty"` - UnitNumber *int32 `xml:"unitNumber"` - NumaNode int32 `xml:"numaNode,omitempty"` - DeviceGroupInfo *VirtualDeviceDeviceGroupInfo `xml:"deviceGroupInfo,omitempty"` -} - -func init() { - t["VirtualDevice"] = reflect.TypeOf((*VirtualDevice)(nil)).Elem() -} - -type VirtualDeviceBackingInfo struct { - DynamicData -} - -func init() { - t["VirtualDeviceBackingInfo"] = reflect.TypeOf((*VirtualDeviceBackingInfo)(nil)).Elem() -} - -type VirtualDeviceBackingOption struct { - DynamicData - - Type string `xml:"type"` -} - -func init() { - t["VirtualDeviceBackingOption"] = reflect.TypeOf((*VirtualDeviceBackingOption)(nil)).Elem() -} - -type VirtualDeviceBusSlotInfo struct { - DynamicData -} - -func init() { - t["VirtualDeviceBusSlotInfo"] = reflect.TypeOf((*VirtualDeviceBusSlotInfo)(nil)).Elem() -} - -type VirtualDeviceBusSlotOption struct { - DynamicData - - Type string `xml:"type"` -} - -func init() { - t["VirtualDeviceBusSlotOption"] = reflect.TypeOf((*VirtualDeviceBusSlotOption)(nil)).Elem() -} - -type VirtualDeviceConfigSpec struct { - DynamicData - - Operation VirtualDeviceConfigSpecOperation `xml:"operation,omitempty"` - FileOperation VirtualDeviceConfigSpecFileOperation `xml:"fileOperation,omitempty"` - Device BaseVirtualDevice `xml:"device,typeattr"` - Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr"` - Backing *VirtualDeviceConfigSpecBackingSpec `xml:"backing,omitempty"` - FilterSpec []BaseVirtualMachineBaseIndependentFilterSpec `xml:"filterSpec,omitempty,typeattr"` - ChangeMode string `xml:"changeMode,omitempty"` -} - -func init() { - t["VirtualDeviceConfigSpec"] = reflect.TypeOf((*VirtualDeviceConfigSpec)(nil)).Elem() -} - -type VirtualDeviceConfigSpecBackingSpec struct { - DynamicData - - Parent *VirtualDeviceConfigSpecBackingSpec `xml:"parent,omitempty"` - Crypto BaseCryptoSpec `xml:"crypto,omitempty,typeattr"` -} - -func init() { - t["VirtualDeviceConfigSpecBackingSpec"] = reflect.TypeOf((*VirtualDeviceConfigSpecBackingSpec)(nil)).Elem() -} - -type VirtualDeviceConnectInfo struct { - DynamicData - - MigrateConnect string `xml:"migrateConnect,omitempty"` - StartConnected bool `xml:"startConnected"` - AllowGuestControl bool `xml:"allowGuestControl"` - Connected bool `xml:"connected"` - Status string `xml:"status,omitempty"` -} - -func init() { - t["VirtualDeviceConnectInfo"] = reflect.TypeOf((*VirtualDeviceConnectInfo)(nil)).Elem() -} - -type VirtualDeviceConnectOption struct { - DynamicData - - StartConnected BoolOption `xml:"startConnected"` - AllowGuestControl BoolOption `xml:"allowGuestControl"` -} - -func init() { - t["VirtualDeviceConnectOption"] = reflect.TypeOf((*VirtualDeviceConnectOption)(nil)).Elem() -} - -type VirtualDeviceDeviceBackingInfo struct { - VirtualDeviceBackingInfo - - DeviceName string `xml:"deviceName"` - UseAutoDetect *bool `xml:"useAutoDetect"` -} - -func init() { - t["VirtualDeviceDeviceBackingInfo"] = reflect.TypeOf((*VirtualDeviceDeviceBackingInfo)(nil)).Elem() -} - -type VirtualDeviceDeviceBackingOption struct { - VirtualDeviceBackingOption - - AutoDetectAvailable BoolOption `xml:"autoDetectAvailable"` -} - -func init() { - t["VirtualDeviceDeviceBackingOption"] = reflect.TypeOf((*VirtualDeviceDeviceBackingOption)(nil)).Elem() -} - -type VirtualDeviceDeviceGroupInfo struct { - DynamicData - - GroupInstanceKey int32 `xml:"groupInstanceKey"` - SequenceId int32 `xml:"sequenceId"` -} - -func init() { - t["VirtualDeviceDeviceGroupInfo"] = reflect.TypeOf((*VirtualDeviceDeviceGroupInfo)(nil)).Elem() -} - -type VirtualDeviceFileBackingInfo struct { - VirtualDeviceBackingInfo - - FileName string `xml:"fileName"` - Datastore *ManagedObjectReference `xml:"datastore,omitempty"` - BackingObjectId string `xml:"backingObjectId,omitempty"` -} - -func init() { - t["VirtualDeviceFileBackingInfo"] = reflect.TypeOf((*VirtualDeviceFileBackingInfo)(nil)).Elem() -} - -type VirtualDeviceFileBackingOption struct { - VirtualDeviceBackingOption - - FileNameExtensions *ChoiceOption `xml:"fileNameExtensions,omitempty"` -} - -func init() { - t["VirtualDeviceFileBackingOption"] = reflect.TypeOf((*VirtualDeviceFileBackingOption)(nil)).Elem() -} - -type VirtualDeviceOption struct { - DynamicData - - Type string `xml:"type"` - ConnectOption *VirtualDeviceConnectOption `xml:"connectOption,omitempty"` - BusSlotOption *VirtualDeviceBusSlotOption `xml:"busSlotOption,omitempty"` - ControllerType string `xml:"controllerType,omitempty"` - AutoAssignController *BoolOption `xml:"autoAssignController,omitempty"` - BackingOption []BaseVirtualDeviceBackingOption `xml:"backingOption,omitempty,typeattr"` - DefaultBackingOptionIndex int32 `xml:"defaultBackingOptionIndex,omitempty"` - LicensingLimit []string `xml:"licensingLimit,omitempty"` - Deprecated bool `xml:"deprecated"` - PlugAndPlay bool `xml:"plugAndPlay"` - HotRemoveSupported *bool `xml:"hotRemoveSupported"` - NumaSupported *bool `xml:"numaSupported"` -} - -func init() { - t["VirtualDeviceOption"] = reflect.TypeOf((*VirtualDeviceOption)(nil)).Elem() -} - -type VirtualDevicePciBusSlotInfo struct { - VirtualDeviceBusSlotInfo - - PciSlotNumber int32 `xml:"pciSlotNumber"` -} - -func init() { - t["VirtualDevicePciBusSlotInfo"] = reflect.TypeOf((*VirtualDevicePciBusSlotInfo)(nil)).Elem() -} - -type VirtualDevicePipeBackingInfo struct { - VirtualDeviceBackingInfo - - PipeName string `xml:"pipeName"` -} - -func init() { - t["VirtualDevicePipeBackingInfo"] = reflect.TypeOf((*VirtualDevicePipeBackingInfo)(nil)).Elem() -} - -type VirtualDevicePipeBackingOption struct { - VirtualDeviceBackingOption -} - -func init() { - t["VirtualDevicePipeBackingOption"] = reflect.TypeOf((*VirtualDevicePipeBackingOption)(nil)).Elem() -} - -type VirtualDeviceRemoteDeviceBackingInfo struct { - VirtualDeviceBackingInfo - - DeviceName string `xml:"deviceName"` - UseAutoDetect *bool `xml:"useAutoDetect"` -} - -func init() { - t["VirtualDeviceRemoteDeviceBackingInfo"] = reflect.TypeOf((*VirtualDeviceRemoteDeviceBackingInfo)(nil)).Elem() -} - -type VirtualDeviceRemoteDeviceBackingOption struct { - VirtualDeviceBackingOption - - AutoDetectAvailable BoolOption `xml:"autoDetectAvailable"` -} - -func init() { - t["VirtualDeviceRemoteDeviceBackingOption"] = reflect.TypeOf((*VirtualDeviceRemoteDeviceBackingOption)(nil)).Elem() -} - -type VirtualDeviceURIBackingInfo struct { - VirtualDeviceBackingInfo - - ServiceURI string `xml:"serviceURI"` - Direction string `xml:"direction"` - ProxyURI string `xml:"proxyURI,omitempty"` -} - -func init() { - t["VirtualDeviceURIBackingInfo"] = reflect.TypeOf((*VirtualDeviceURIBackingInfo)(nil)).Elem() -} - -type VirtualDeviceURIBackingOption struct { - VirtualDeviceBackingOption - - Directions ChoiceOption `xml:"directions"` -} - -func init() { - t["VirtualDeviceURIBackingOption"] = reflect.TypeOf((*VirtualDeviceURIBackingOption)(nil)).Elem() -} - -type VirtualDisk struct { - VirtualDevice - - CapacityInKB int64 `xml:"capacityInKB"` - CapacityInBytes int64 `xml:"capacityInBytes,omitempty"` - Shares *SharesInfo `xml:"shares,omitempty"` - StorageIOAllocation *StorageIOAllocationInfo `xml:"storageIOAllocation,omitempty"` - DiskObjectId string `xml:"diskObjectId,omitempty"` - VFlashCacheConfigInfo *VirtualDiskVFlashCacheConfigInfo `xml:"vFlashCacheConfigInfo,omitempty"` - Iofilter []string `xml:"iofilter,omitempty"` - VDiskId *ID `xml:"vDiskId,omitempty"` - NativeUnmanagedLinkedClone *bool `xml:"nativeUnmanagedLinkedClone"` - IndependentFilters []BaseVirtualMachineBaseIndependentFilterSpec `xml:"independentFilters,omitempty,typeattr"` -} - -func init() { - t["VirtualDisk"] = reflect.TypeOf((*VirtualDisk)(nil)).Elem() -} - -type VirtualDiskAntiAffinityRuleSpec struct { - ClusterRuleInfo - - DiskId []int32 `xml:"diskId"` -} - -func init() { - t["VirtualDiskAntiAffinityRuleSpec"] = reflect.TypeOf((*VirtualDiskAntiAffinityRuleSpec)(nil)).Elem() -} - -type VirtualDiskBlocksNotFullyProvisioned struct { - DeviceBackingNotSupported -} - -func init() { - t["VirtualDiskBlocksNotFullyProvisioned"] = reflect.TypeOf((*VirtualDiskBlocksNotFullyProvisioned)(nil)).Elem() -} - -type VirtualDiskBlocksNotFullyProvisionedFault VirtualDiskBlocksNotFullyProvisioned - -func init() { - t["VirtualDiskBlocksNotFullyProvisionedFault"] = reflect.TypeOf((*VirtualDiskBlocksNotFullyProvisionedFault)(nil)).Elem() -} - -type VirtualDiskConfigSpec struct { - VirtualDeviceConfigSpec - - DiskMoveType string `xml:"diskMoveType,omitempty"` - MigrateCache *bool `xml:"migrateCache"` -} - -func init() { - t["VirtualDiskConfigSpec"] = reflect.TypeOf((*VirtualDiskConfigSpec)(nil)).Elem() -} - -type VirtualDiskDeltaDiskFormatsSupported struct { - DynamicData - - DatastoreType string `xml:"datastoreType"` - DeltaDiskFormat ChoiceOption `xml:"deltaDiskFormat"` -} - -func init() { - t["VirtualDiskDeltaDiskFormatsSupported"] = reflect.TypeOf((*VirtualDiskDeltaDiskFormatsSupported)(nil)).Elem() -} - -type VirtualDiskFlatVer1BackingInfo struct { - VirtualDeviceFileBackingInfo - - DiskMode string `xml:"diskMode"` - Split *bool `xml:"split"` - WriteThrough *bool `xml:"writeThrough"` - ContentId string `xml:"contentId,omitempty"` - Parent *VirtualDiskFlatVer1BackingInfo `xml:"parent,omitempty"` -} - -func init() { - t["VirtualDiskFlatVer1BackingInfo"] = reflect.TypeOf((*VirtualDiskFlatVer1BackingInfo)(nil)).Elem() -} - -type VirtualDiskFlatVer1BackingOption struct { - VirtualDeviceFileBackingOption - - DiskMode ChoiceOption `xml:"diskMode"` - Split BoolOption `xml:"split"` - WriteThrough BoolOption `xml:"writeThrough"` - Growable bool `xml:"growable"` -} - -func init() { - t["VirtualDiskFlatVer1BackingOption"] = reflect.TypeOf((*VirtualDiskFlatVer1BackingOption)(nil)).Elem() -} - -type VirtualDiskFlatVer2BackingInfo struct { - VirtualDeviceFileBackingInfo - - DiskMode string `xml:"diskMode"` - Split *bool `xml:"split"` - WriteThrough *bool `xml:"writeThrough"` - ThinProvisioned *bool `xml:"thinProvisioned"` - EagerlyScrub *bool `xml:"eagerlyScrub"` - Uuid string `xml:"uuid,omitempty"` - ContentId string `xml:"contentId,omitempty"` - ChangeId string `xml:"changeId,omitempty"` - Parent *VirtualDiskFlatVer2BackingInfo `xml:"parent,omitempty"` - DeltaDiskFormat string `xml:"deltaDiskFormat,omitempty"` - DigestEnabled *bool `xml:"digestEnabled"` - DeltaGrainSize int32 `xml:"deltaGrainSize,omitempty"` - DeltaDiskFormatVariant string `xml:"deltaDiskFormatVariant,omitempty"` - Sharing string `xml:"sharing,omitempty"` - KeyId *CryptoKeyId `xml:"keyId,omitempty"` -} - -func init() { - t["VirtualDiskFlatVer2BackingInfo"] = reflect.TypeOf((*VirtualDiskFlatVer2BackingInfo)(nil)).Elem() -} - -type VirtualDiskFlatVer2BackingOption struct { - VirtualDeviceFileBackingOption - - DiskMode ChoiceOption `xml:"diskMode"` - Split BoolOption `xml:"split"` - WriteThrough BoolOption `xml:"writeThrough"` - Growable bool `xml:"growable"` - HotGrowable bool `xml:"hotGrowable"` - Uuid bool `xml:"uuid"` - ThinProvisioned *BoolOption `xml:"thinProvisioned,omitempty"` - EagerlyScrub *BoolOption `xml:"eagerlyScrub,omitempty"` - DeltaDiskFormat *ChoiceOption `xml:"deltaDiskFormat,omitempty"` - DeltaDiskFormatsSupported []VirtualDiskDeltaDiskFormatsSupported `xml:"deltaDiskFormatsSupported,omitempty"` -} - -func init() { - t["VirtualDiskFlatVer2BackingOption"] = reflect.TypeOf((*VirtualDiskFlatVer2BackingOption)(nil)).Elem() -} - -type VirtualDiskId struct { - DynamicData - - Vm ManagedObjectReference `xml:"vm"` - DiskId int32 `xml:"diskId"` -} - -func init() { - t["VirtualDiskId"] = reflect.TypeOf((*VirtualDiskId)(nil)).Elem() -} - -type VirtualDiskLocalPMemBackingInfo struct { - VirtualDeviceFileBackingInfo - - DiskMode string `xml:"diskMode"` - Uuid string `xml:"uuid,omitempty"` - VolumeUUID string `xml:"volumeUUID,omitempty"` - ContentId string `xml:"contentId,omitempty"` -} - -func init() { - t["VirtualDiskLocalPMemBackingInfo"] = reflect.TypeOf((*VirtualDiskLocalPMemBackingInfo)(nil)).Elem() -} - -type VirtualDiskLocalPMemBackingOption struct { - VirtualDeviceFileBackingOption - - DiskMode ChoiceOption `xml:"diskMode"` - Growable bool `xml:"growable"` - HotGrowable bool `xml:"hotGrowable"` - Uuid bool `xml:"uuid"` -} - -func init() { - t["VirtualDiskLocalPMemBackingOption"] = reflect.TypeOf((*VirtualDiskLocalPMemBackingOption)(nil)).Elem() -} - -type VirtualDiskModeNotSupported struct { - DeviceNotSupported - - Mode string `xml:"mode"` -} - -func init() { - t["VirtualDiskModeNotSupported"] = reflect.TypeOf((*VirtualDiskModeNotSupported)(nil)).Elem() -} - -type VirtualDiskModeNotSupportedFault VirtualDiskModeNotSupported - -func init() { - t["VirtualDiskModeNotSupportedFault"] = reflect.TypeOf((*VirtualDiskModeNotSupportedFault)(nil)).Elem() -} - -type VirtualDiskOption struct { - VirtualDeviceOption - - CapacityInKB LongOption `xml:"capacityInKB"` - IoAllocationOption *StorageIOAllocationOption `xml:"ioAllocationOption,omitempty"` - VFlashCacheConfigOption *VirtualDiskOptionVFlashCacheConfigOption `xml:"vFlashCacheConfigOption,omitempty"` -} - -func init() { - t["VirtualDiskOption"] = reflect.TypeOf((*VirtualDiskOption)(nil)).Elem() -} - -type VirtualDiskOptionVFlashCacheConfigOption struct { - DynamicData - - CacheConsistencyType ChoiceOption `xml:"cacheConsistencyType"` - CacheMode ChoiceOption `xml:"cacheMode"` - ReservationInMB LongOption `xml:"reservationInMB"` - BlockSizeInKB LongOption `xml:"blockSizeInKB"` -} - -func init() { - t["VirtualDiskOptionVFlashCacheConfigOption"] = reflect.TypeOf((*VirtualDiskOptionVFlashCacheConfigOption)(nil)).Elem() -} - -type VirtualDiskPartitionedRawDiskVer2BackingInfo struct { - VirtualDiskRawDiskVer2BackingInfo - - Partition []int32 `xml:"partition"` -} - -func init() { - t["VirtualDiskPartitionedRawDiskVer2BackingInfo"] = reflect.TypeOf((*VirtualDiskPartitionedRawDiskVer2BackingInfo)(nil)).Elem() -} - -type VirtualDiskPartitionedRawDiskVer2BackingOption struct { - VirtualDiskRawDiskVer2BackingOption -} - -func init() { - t["VirtualDiskPartitionedRawDiskVer2BackingOption"] = reflect.TypeOf((*VirtualDiskPartitionedRawDiskVer2BackingOption)(nil)).Elem() -} - -type VirtualDiskRawDiskMappingVer1BackingInfo struct { - VirtualDeviceFileBackingInfo - - LunUuid string `xml:"lunUuid,omitempty"` - DeviceName string `xml:"deviceName,omitempty"` - CompatibilityMode string `xml:"compatibilityMode,omitempty"` - DiskMode string `xml:"diskMode,omitempty"` - Uuid string `xml:"uuid,omitempty"` - ContentId string `xml:"contentId,omitempty"` - ChangeId string `xml:"changeId,omitempty"` - Parent *VirtualDiskRawDiskMappingVer1BackingInfo `xml:"parent,omitempty"` - DeltaDiskFormat string `xml:"deltaDiskFormat,omitempty"` - DeltaGrainSize int32 `xml:"deltaGrainSize,omitempty"` - Sharing string `xml:"sharing,omitempty"` -} - -func init() { - t["VirtualDiskRawDiskMappingVer1BackingInfo"] = reflect.TypeOf((*VirtualDiskRawDiskMappingVer1BackingInfo)(nil)).Elem() -} - -type VirtualDiskRawDiskMappingVer1BackingOption struct { - VirtualDeviceDeviceBackingOption - - DescriptorFileNameExtensions *ChoiceOption `xml:"descriptorFileNameExtensions,omitempty"` - CompatibilityMode ChoiceOption `xml:"compatibilityMode"` - DiskMode ChoiceOption `xml:"diskMode"` - Uuid bool `xml:"uuid"` -} - -func init() { - t["VirtualDiskRawDiskMappingVer1BackingOption"] = reflect.TypeOf((*VirtualDiskRawDiskMappingVer1BackingOption)(nil)).Elem() -} - -type VirtualDiskRawDiskVer2BackingInfo struct { - VirtualDeviceDeviceBackingInfo - - DescriptorFileName string `xml:"descriptorFileName"` - Uuid string `xml:"uuid,omitempty"` - ChangeId string `xml:"changeId,omitempty"` - Sharing string `xml:"sharing,omitempty"` -} - -func init() { - t["VirtualDiskRawDiskVer2BackingInfo"] = reflect.TypeOf((*VirtualDiskRawDiskVer2BackingInfo)(nil)).Elem() -} - -type VirtualDiskRawDiskVer2BackingOption struct { - VirtualDeviceDeviceBackingOption - - DescriptorFileNameExtensions ChoiceOption `xml:"descriptorFileNameExtensions"` - Uuid bool `xml:"uuid"` -} - -func init() { - t["VirtualDiskRawDiskVer2BackingOption"] = reflect.TypeOf((*VirtualDiskRawDiskVer2BackingOption)(nil)).Elem() -} - -type VirtualDiskRuleSpec struct { - ClusterRuleInfo - - DiskRuleType string `xml:"diskRuleType"` - DiskId []int32 `xml:"diskId,omitempty"` -} - -func init() { - t["VirtualDiskRuleSpec"] = reflect.TypeOf((*VirtualDiskRuleSpec)(nil)).Elem() -} - -type VirtualDiskSeSparseBackingInfo struct { - VirtualDeviceFileBackingInfo - - DiskMode string `xml:"diskMode"` - WriteThrough *bool `xml:"writeThrough"` - Uuid string `xml:"uuid,omitempty"` - ContentId string `xml:"contentId,omitempty"` - ChangeId string `xml:"changeId,omitempty"` - Parent *VirtualDiskSeSparseBackingInfo `xml:"parent,omitempty"` - DeltaDiskFormat string `xml:"deltaDiskFormat,omitempty"` - DigestEnabled *bool `xml:"digestEnabled"` - GrainSize int32 `xml:"grainSize,omitempty"` - KeyId *CryptoKeyId `xml:"keyId,omitempty"` -} - -func init() { - t["VirtualDiskSeSparseBackingInfo"] = reflect.TypeOf((*VirtualDiskSeSparseBackingInfo)(nil)).Elem() -} - -type VirtualDiskSeSparseBackingOption struct { - VirtualDeviceFileBackingOption - - DiskMode ChoiceOption `xml:"diskMode"` - WriteThrough BoolOption `xml:"writeThrough"` - Growable bool `xml:"growable"` - HotGrowable bool `xml:"hotGrowable"` - Uuid bool `xml:"uuid"` - DeltaDiskFormatsSupported []VirtualDiskDeltaDiskFormatsSupported `xml:"deltaDiskFormatsSupported"` -} - -func init() { - t["VirtualDiskSeSparseBackingOption"] = reflect.TypeOf((*VirtualDiskSeSparseBackingOption)(nil)).Elem() -} - -type VirtualDiskSparseVer1BackingInfo struct { - VirtualDeviceFileBackingInfo - - DiskMode string `xml:"diskMode"` - Split *bool `xml:"split"` - WriteThrough *bool `xml:"writeThrough"` - SpaceUsedInKB int64 `xml:"spaceUsedInKB,omitempty"` - ContentId string `xml:"contentId,omitempty"` - Parent *VirtualDiskSparseVer1BackingInfo `xml:"parent,omitempty"` -} - -func init() { - t["VirtualDiskSparseVer1BackingInfo"] = reflect.TypeOf((*VirtualDiskSparseVer1BackingInfo)(nil)).Elem() -} - -type VirtualDiskSparseVer1BackingOption struct { - VirtualDeviceFileBackingOption - - DiskModes ChoiceOption `xml:"diskModes"` - Split BoolOption `xml:"split"` - WriteThrough BoolOption `xml:"writeThrough"` - Growable bool `xml:"growable"` -} - -func init() { - t["VirtualDiskSparseVer1BackingOption"] = reflect.TypeOf((*VirtualDiskSparseVer1BackingOption)(nil)).Elem() -} - -type VirtualDiskSparseVer2BackingInfo struct { - VirtualDeviceFileBackingInfo - - DiskMode string `xml:"diskMode"` - Split *bool `xml:"split"` - WriteThrough *bool `xml:"writeThrough"` - SpaceUsedInKB int64 `xml:"spaceUsedInKB,omitempty"` - Uuid string `xml:"uuid,omitempty"` - ContentId string `xml:"contentId,omitempty"` - ChangeId string `xml:"changeId,omitempty"` - Parent *VirtualDiskSparseVer2BackingInfo `xml:"parent,omitempty"` - KeyId *CryptoKeyId `xml:"keyId,omitempty"` -} - -func init() { - t["VirtualDiskSparseVer2BackingInfo"] = reflect.TypeOf((*VirtualDiskSparseVer2BackingInfo)(nil)).Elem() -} - -type VirtualDiskSparseVer2BackingOption struct { - VirtualDeviceFileBackingOption - - DiskMode ChoiceOption `xml:"diskMode"` - Split BoolOption `xml:"split"` - WriteThrough BoolOption `xml:"writeThrough"` - Growable bool `xml:"growable"` - HotGrowable bool `xml:"hotGrowable"` - Uuid bool `xml:"uuid"` -} - -func init() { - t["VirtualDiskSparseVer2BackingOption"] = reflect.TypeOf((*VirtualDiskSparseVer2BackingOption)(nil)).Elem() -} - -type VirtualDiskSpec struct { - DynamicData - - DiskType string `xml:"diskType"` - AdapterType string `xml:"adapterType"` -} - -func init() { - t["VirtualDiskSpec"] = reflect.TypeOf((*VirtualDiskSpec)(nil)).Elem() -} - -type VirtualDiskVFlashCacheConfigInfo struct { - DynamicData - - VFlashModule string `xml:"vFlashModule,omitempty"` - ReservationInMB int64 `xml:"reservationInMB,omitempty"` - CacheConsistencyType string `xml:"cacheConsistencyType,omitempty"` - CacheMode string `xml:"cacheMode,omitempty"` - BlockSizeInKB int64 `xml:"blockSizeInKB,omitempty"` -} - -func init() { - t["VirtualDiskVFlashCacheConfigInfo"] = reflect.TypeOf((*VirtualDiskVFlashCacheConfigInfo)(nil)).Elem() -} - -type VirtualE1000 struct { - VirtualEthernetCard -} - -func init() { - t["VirtualE1000"] = reflect.TypeOf((*VirtualE1000)(nil)).Elem() -} - -type VirtualE1000Option struct { - VirtualEthernetCardOption -} - -func init() { - t["VirtualE1000Option"] = reflect.TypeOf((*VirtualE1000Option)(nil)).Elem() -} - -type VirtualE1000e struct { - VirtualEthernetCard -} - -func init() { - t["VirtualE1000e"] = reflect.TypeOf((*VirtualE1000e)(nil)).Elem() -} - -type VirtualE1000eOption struct { - VirtualEthernetCardOption -} - -func init() { - t["VirtualE1000eOption"] = reflect.TypeOf((*VirtualE1000eOption)(nil)).Elem() -} - -type VirtualEnsoniq1371 struct { - VirtualSoundCard -} - -func init() { - t["VirtualEnsoniq1371"] = reflect.TypeOf((*VirtualEnsoniq1371)(nil)).Elem() -} - -type VirtualEnsoniq1371Option struct { - VirtualSoundCardOption -} - -func init() { - t["VirtualEnsoniq1371Option"] = reflect.TypeOf((*VirtualEnsoniq1371Option)(nil)).Elem() -} - -type VirtualEthernetCard struct { - VirtualDevice - - AddressType string `xml:"addressType,omitempty"` - MacAddress string `xml:"macAddress,omitempty"` - WakeOnLanEnabled *bool `xml:"wakeOnLanEnabled"` - ResourceAllocation *VirtualEthernetCardResourceAllocation `xml:"resourceAllocation,omitempty"` - ExternalId string `xml:"externalId,omitempty"` - UptCompatibilityEnabled *bool `xml:"uptCompatibilityEnabled"` -} - -func init() { - t["VirtualEthernetCard"] = reflect.TypeOf((*VirtualEthernetCard)(nil)).Elem() -} - -type VirtualEthernetCardDVPortBackingOption struct { - VirtualDeviceBackingOption -} - -func init() { - t["VirtualEthernetCardDVPortBackingOption"] = reflect.TypeOf((*VirtualEthernetCardDVPortBackingOption)(nil)).Elem() -} - -type VirtualEthernetCardDistributedVirtualPortBackingInfo struct { - VirtualDeviceBackingInfo - - Port DistributedVirtualSwitchPortConnection `xml:"port"` -} - -func init() { - t["VirtualEthernetCardDistributedVirtualPortBackingInfo"] = reflect.TypeOf((*VirtualEthernetCardDistributedVirtualPortBackingInfo)(nil)).Elem() -} - -type VirtualEthernetCardLegacyNetworkBackingInfo struct { - VirtualDeviceDeviceBackingInfo -} - -func init() { - t["VirtualEthernetCardLegacyNetworkBackingInfo"] = reflect.TypeOf((*VirtualEthernetCardLegacyNetworkBackingInfo)(nil)).Elem() -} - -type VirtualEthernetCardLegacyNetworkBackingOption struct { - VirtualDeviceDeviceBackingOption -} - -func init() { - t["VirtualEthernetCardLegacyNetworkBackingOption"] = reflect.TypeOf((*VirtualEthernetCardLegacyNetworkBackingOption)(nil)).Elem() -} - -type VirtualEthernetCardNetworkBackingInfo struct { - VirtualDeviceDeviceBackingInfo - - Network *ManagedObjectReference `xml:"network,omitempty"` - InPassthroughMode *bool `xml:"inPassthroughMode"` -} - -func init() { - t["VirtualEthernetCardNetworkBackingInfo"] = reflect.TypeOf((*VirtualEthernetCardNetworkBackingInfo)(nil)).Elem() -} - -type VirtualEthernetCardNetworkBackingOption struct { - VirtualDeviceDeviceBackingOption -} - -func init() { - t["VirtualEthernetCardNetworkBackingOption"] = reflect.TypeOf((*VirtualEthernetCardNetworkBackingOption)(nil)).Elem() -} - -type VirtualEthernetCardNotSupported struct { - DeviceNotSupported -} - -func init() { - t["VirtualEthernetCardNotSupported"] = reflect.TypeOf((*VirtualEthernetCardNotSupported)(nil)).Elem() -} - -type VirtualEthernetCardNotSupportedFault VirtualEthernetCardNotSupported - -func init() { - t["VirtualEthernetCardNotSupportedFault"] = reflect.TypeOf((*VirtualEthernetCardNotSupportedFault)(nil)).Elem() -} - -type VirtualEthernetCardOpaqueNetworkBackingInfo struct { - VirtualDeviceBackingInfo - - OpaqueNetworkId string `xml:"opaqueNetworkId"` - OpaqueNetworkType string `xml:"opaqueNetworkType"` -} - -func init() { - t["VirtualEthernetCardOpaqueNetworkBackingInfo"] = reflect.TypeOf((*VirtualEthernetCardOpaqueNetworkBackingInfo)(nil)).Elem() -} - -type VirtualEthernetCardOpaqueNetworkBackingOption struct { - VirtualDeviceBackingOption -} - -func init() { - t["VirtualEthernetCardOpaqueNetworkBackingOption"] = reflect.TypeOf((*VirtualEthernetCardOpaqueNetworkBackingOption)(nil)).Elem() -} - -type VirtualEthernetCardOption struct { - VirtualDeviceOption - - SupportedOUI ChoiceOption `xml:"supportedOUI"` - MacType ChoiceOption `xml:"macType"` - WakeOnLanEnabled BoolOption `xml:"wakeOnLanEnabled"` - VmDirectPathGen2Supported *bool `xml:"vmDirectPathGen2Supported"` - UptCompatibilityEnabled *BoolOption `xml:"uptCompatibilityEnabled,omitempty"` -} - -func init() { - t["VirtualEthernetCardOption"] = reflect.TypeOf((*VirtualEthernetCardOption)(nil)).Elem() -} - -type VirtualEthernetCardResourceAllocation struct { - DynamicData - - Reservation *int64 `xml:"reservation"` - Share SharesInfo `xml:"share"` - Limit *int64 `xml:"limit"` -} - -func init() { - t["VirtualEthernetCardResourceAllocation"] = reflect.TypeOf((*VirtualEthernetCardResourceAllocation)(nil)).Elem() -} - -type VirtualFloppy struct { - VirtualDevice -} - -func init() { - t["VirtualFloppy"] = reflect.TypeOf((*VirtualFloppy)(nil)).Elem() -} - -type VirtualFloppyDeviceBackingInfo struct { - VirtualDeviceDeviceBackingInfo -} - -func init() { - t["VirtualFloppyDeviceBackingInfo"] = reflect.TypeOf((*VirtualFloppyDeviceBackingInfo)(nil)).Elem() -} - -type VirtualFloppyDeviceBackingOption struct { - VirtualDeviceDeviceBackingOption -} - -func init() { - t["VirtualFloppyDeviceBackingOption"] = reflect.TypeOf((*VirtualFloppyDeviceBackingOption)(nil)).Elem() -} - -type VirtualFloppyImageBackingInfo struct { - VirtualDeviceFileBackingInfo -} - -func init() { - t["VirtualFloppyImageBackingInfo"] = reflect.TypeOf((*VirtualFloppyImageBackingInfo)(nil)).Elem() -} - -type VirtualFloppyImageBackingOption struct { - VirtualDeviceFileBackingOption -} - -func init() { - t["VirtualFloppyImageBackingOption"] = reflect.TypeOf((*VirtualFloppyImageBackingOption)(nil)).Elem() -} - -type VirtualFloppyOption struct { - VirtualDeviceOption -} - -func init() { - t["VirtualFloppyOption"] = reflect.TypeOf((*VirtualFloppyOption)(nil)).Elem() -} - -type VirtualFloppyRemoteDeviceBackingInfo struct { - VirtualDeviceRemoteDeviceBackingInfo -} - -func init() { - t["VirtualFloppyRemoteDeviceBackingInfo"] = reflect.TypeOf((*VirtualFloppyRemoteDeviceBackingInfo)(nil)).Elem() -} - -type VirtualFloppyRemoteDeviceBackingOption struct { - VirtualDeviceRemoteDeviceBackingOption -} - -func init() { - t["VirtualFloppyRemoteDeviceBackingOption"] = reflect.TypeOf((*VirtualFloppyRemoteDeviceBackingOption)(nil)).Elem() -} - -type VirtualHardware struct { - DynamicData - - NumCPU int32 `xml:"numCPU"` - NumCoresPerSocket int32 `xml:"numCoresPerSocket,omitempty"` - AutoCoresPerSocket *bool `xml:"autoCoresPerSocket"` - MemoryMB int32 `xml:"memoryMB"` - VirtualICH7MPresent *bool `xml:"virtualICH7MPresent"` - VirtualSMCPresent *bool `xml:"virtualSMCPresent"` - Device []BaseVirtualDevice `xml:"device,omitempty,typeattr"` - MotherboardLayout string `xml:"motherboardLayout,omitempty"` - SimultaneousThreads int32 `xml:"simultaneousThreads,omitempty"` -} - -func init() { - t["VirtualHardware"] = reflect.TypeOf((*VirtualHardware)(nil)).Elem() -} - -type VirtualHardwareCompatibilityIssue struct { - VmConfigFault -} - -func init() { - t["VirtualHardwareCompatibilityIssue"] = reflect.TypeOf((*VirtualHardwareCompatibilityIssue)(nil)).Elem() -} - -type VirtualHardwareCompatibilityIssueFault BaseVirtualHardwareCompatibilityIssue - -func init() { - t["VirtualHardwareCompatibilityIssueFault"] = reflect.TypeOf((*VirtualHardwareCompatibilityIssueFault)(nil)).Elem() -} - -type VirtualHardwareOption struct { - DynamicData - - HwVersion int32 `xml:"hwVersion"` - VirtualDeviceOption []BaseVirtualDeviceOption `xml:"virtualDeviceOption,typeattr"` - DeviceListReadonly bool `xml:"deviceListReadonly"` - NumCPU []int32 `xml:"numCPU"` - NumCoresPerSocket *IntOption `xml:"numCoresPerSocket,omitempty"` - AutoCoresPerSocket *BoolOption `xml:"autoCoresPerSocket,omitempty"` - NumCpuReadonly bool `xml:"numCpuReadonly"` - MemoryMB LongOption `xml:"memoryMB"` - NumPCIControllers IntOption `xml:"numPCIControllers"` - NumIDEControllers IntOption `xml:"numIDEControllers"` - NumUSBControllers IntOption `xml:"numUSBControllers"` - NumUSBXHCIControllers *IntOption `xml:"numUSBXHCIControllers,omitempty"` - NumSIOControllers IntOption `xml:"numSIOControllers"` - NumPS2Controllers IntOption `xml:"numPS2Controllers"` - LicensingLimit []string `xml:"licensingLimit,omitempty"` - NumSupportedWwnPorts *IntOption `xml:"numSupportedWwnPorts,omitempty"` - NumSupportedWwnNodes *IntOption `xml:"numSupportedWwnNodes,omitempty"` - ResourceConfigOption *ResourceConfigOption `xml:"resourceConfigOption,omitempty"` - NumNVDIMMControllers *IntOption `xml:"numNVDIMMControllers,omitempty"` - NumTPMDevices *IntOption `xml:"numTPMDevices,omitempty"` - NumWDTDevices *IntOption `xml:"numWDTDevices,omitempty"` - NumPrecisionClockDevices *IntOption `xml:"numPrecisionClockDevices,omitempty"` - EpcMemoryMB *LongOption `xml:"epcMemoryMB,omitempty"` - AcpiHostBridgesFirmware []string `xml:"acpiHostBridgesFirmware,omitempty"` - NumCpuSimultaneousThreads *IntOption `xml:"numCpuSimultaneousThreads,omitempty"` - NumNumaNodes *IntOption `xml:"numNumaNodes,omitempty"` - NumDeviceGroups *IntOption `xml:"numDeviceGroups,omitempty"` - DeviceGroupTypes []string `xml:"deviceGroupTypes,omitempty"` -} - -func init() { - t["VirtualHardwareOption"] = reflect.TypeOf((*VirtualHardwareOption)(nil)).Elem() -} - -type VirtualHardwareVersionNotSupported struct { - VirtualHardwareCompatibilityIssue - - HostName string `xml:"hostName"` - Host ManagedObjectReference `xml:"host"` -} - -func init() { - t["VirtualHardwareVersionNotSupported"] = reflect.TypeOf((*VirtualHardwareVersionNotSupported)(nil)).Elem() -} - -type VirtualHardwareVersionNotSupportedFault VirtualHardwareVersionNotSupported - -func init() { - t["VirtualHardwareVersionNotSupportedFault"] = reflect.TypeOf((*VirtualHardwareVersionNotSupportedFault)(nil)).Elem() -} - -type VirtualHdAudioCard struct { - VirtualSoundCard -} - -func init() { - t["VirtualHdAudioCard"] = reflect.TypeOf((*VirtualHdAudioCard)(nil)).Elem() -} - -type VirtualHdAudioCardOption struct { - VirtualSoundCardOption -} - -func init() { - t["VirtualHdAudioCardOption"] = reflect.TypeOf((*VirtualHdAudioCardOption)(nil)).Elem() -} - -type VirtualIDEController struct { - VirtualController -} - -func init() { - t["VirtualIDEController"] = reflect.TypeOf((*VirtualIDEController)(nil)).Elem() -} - -type VirtualIDEControllerOption struct { - VirtualControllerOption - - NumIDEDisks IntOption `xml:"numIDEDisks"` - NumIDECdroms IntOption `xml:"numIDECdroms"` -} - -func init() { - t["VirtualIDEControllerOption"] = reflect.TypeOf((*VirtualIDEControllerOption)(nil)).Elem() -} - -type VirtualKeyboard struct { - VirtualDevice -} - -func init() { - t["VirtualKeyboard"] = reflect.TypeOf((*VirtualKeyboard)(nil)).Elem() -} - -type VirtualKeyboardOption struct { - VirtualDeviceOption -} - -func init() { - t["VirtualKeyboardOption"] = reflect.TypeOf((*VirtualKeyboardOption)(nil)).Elem() -} - -type VirtualLsiLogicController struct { - VirtualSCSIController -} - -func init() { - t["VirtualLsiLogicController"] = reflect.TypeOf((*VirtualLsiLogicController)(nil)).Elem() -} - -type VirtualLsiLogicControllerOption struct { - VirtualSCSIControllerOption -} - -func init() { - t["VirtualLsiLogicControllerOption"] = reflect.TypeOf((*VirtualLsiLogicControllerOption)(nil)).Elem() -} - -type VirtualLsiLogicSASController struct { - VirtualSCSIController -} - -func init() { - t["VirtualLsiLogicSASController"] = reflect.TypeOf((*VirtualLsiLogicSASController)(nil)).Elem() -} - -type VirtualLsiLogicSASControllerOption struct { - VirtualSCSIControllerOption -} - -func init() { - t["VirtualLsiLogicSASControllerOption"] = reflect.TypeOf((*VirtualLsiLogicSASControllerOption)(nil)).Elem() -} - -type VirtualMachineAffinityInfo struct { - DynamicData - - AffinitySet []int32 `xml:"affinitySet"` -} - -func init() { - t["VirtualMachineAffinityInfo"] = reflect.TypeOf((*VirtualMachineAffinityInfo)(nil)).Elem() -} - -type VirtualMachineBaseIndependentFilterSpec struct { - DynamicData -} - -func init() { - t["VirtualMachineBaseIndependentFilterSpec"] = reflect.TypeOf((*VirtualMachineBaseIndependentFilterSpec)(nil)).Elem() -} - -type VirtualMachineBootOptions struct { - DynamicData - - BootDelay int64 `xml:"bootDelay,omitempty"` - EnterBIOSSetup *bool `xml:"enterBIOSSetup"` - EfiSecureBootEnabled *bool `xml:"efiSecureBootEnabled"` - BootRetryEnabled *bool `xml:"bootRetryEnabled"` - BootRetryDelay int64 `xml:"bootRetryDelay,omitempty"` - BootOrder []BaseVirtualMachineBootOptionsBootableDevice `xml:"bootOrder,omitempty,typeattr"` - NetworkBootProtocol string `xml:"networkBootProtocol,omitempty"` -} - -func init() { - t["VirtualMachineBootOptions"] = reflect.TypeOf((*VirtualMachineBootOptions)(nil)).Elem() -} - -type VirtualMachineBootOptionsBootableCdromDevice struct { - VirtualMachineBootOptionsBootableDevice -} - -func init() { - t["VirtualMachineBootOptionsBootableCdromDevice"] = reflect.TypeOf((*VirtualMachineBootOptionsBootableCdromDevice)(nil)).Elem() -} - -type VirtualMachineBootOptionsBootableDevice struct { - DynamicData -} - -func init() { - t["VirtualMachineBootOptionsBootableDevice"] = reflect.TypeOf((*VirtualMachineBootOptionsBootableDevice)(nil)).Elem() -} - -type VirtualMachineBootOptionsBootableDiskDevice struct { - VirtualMachineBootOptionsBootableDevice - - DeviceKey int32 `xml:"deviceKey"` -} - -func init() { - t["VirtualMachineBootOptionsBootableDiskDevice"] = reflect.TypeOf((*VirtualMachineBootOptionsBootableDiskDevice)(nil)).Elem() -} - -type VirtualMachineBootOptionsBootableEthernetDevice struct { - VirtualMachineBootOptionsBootableDevice - - DeviceKey int32 `xml:"deviceKey"` -} - -func init() { - t["VirtualMachineBootOptionsBootableEthernetDevice"] = reflect.TypeOf((*VirtualMachineBootOptionsBootableEthernetDevice)(nil)).Elem() -} - -type VirtualMachineBootOptionsBootableFloppyDevice struct { - VirtualMachineBootOptionsBootableDevice -} - -func init() { - t["VirtualMachineBootOptionsBootableFloppyDevice"] = reflect.TypeOf((*VirtualMachineBootOptionsBootableFloppyDevice)(nil)).Elem() -} - -type VirtualMachineCapability struct { - DynamicData - - SnapshotOperationsSupported bool `xml:"snapshotOperationsSupported"` - MultipleSnapshotsSupported bool `xml:"multipleSnapshotsSupported"` - SnapshotConfigSupported bool `xml:"snapshotConfigSupported"` - PoweredOffSnapshotsSupported bool `xml:"poweredOffSnapshotsSupported"` - MemorySnapshotsSupported bool `xml:"memorySnapshotsSupported"` - RevertToSnapshotSupported bool `xml:"revertToSnapshotSupported"` - QuiescedSnapshotsSupported bool `xml:"quiescedSnapshotsSupported"` - DisableSnapshotsSupported bool `xml:"disableSnapshotsSupported"` - LockSnapshotsSupported bool `xml:"lockSnapshotsSupported"` - ConsolePreferencesSupported bool `xml:"consolePreferencesSupported"` - CpuFeatureMaskSupported bool `xml:"cpuFeatureMaskSupported"` - S1AcpiManagementSupported bool `xml:"s1AcpiManagementSupported"` - SettingScreenResolutionSupported bool `xml:"settingScreenResolutionSupported"` - ToolsAutoUpdateSupported bool `xml:"toolsAutoUpdateSupported"` - VmNpivWwnSupported bool `xml:"vmNpivWwnSupported"` - NpivWwnOnNonRdmVmSupported bool `xml:"npivWwnOnNonRdmVmSupported"` - VmNpivWwnDisableSupported *bool `xml:"vmNpivWwnDisableSupported"` - VmNpivWwnUpdateSupported *bool `xml:"vmNpivWwnUpdateSupported"` - SwapPlacementSupported bool `xml:"swapPlacementSupported"` - ToolsSyncTimeSupported bool `xml:"toolsSyncTimeSupported"` - VirtualMmuUsageSupported bool `xml:"virtualMmuUsageSupported"` - DiskSharesSupported bool `xml:"diskSharesSupported"` - BootOptionsSupported bool `xml:"bootOptionsSupported"` - BootRetryOptionsSupported *bool `xml:"bootRetryOptionsSupported"` - SettingVideoRamSizeSupported bool `xml:"settingVideoRamSizeSupported"` - SettingDisplayTopologySupported *bool `xml:"settingDisplayTopologySupported"` - RecordReplaySupported *bool `xml:"recordReplaySupported"` - ChangeTrackingSupported *bool `xml:"changeTrackingSupported"` - MultipleCoresPerSocketSupported *bool `xml:"multipleCoresPerSocketSupported"` - HostBasedReplicationSupported *bool `xml:"hostBasedReplicationSupported"` - GuestAutoLockSupported *bool `xml:"guestAutoLockSupported"` - MemoryReservationLockSupported *bool `xml:"memoryReservationLockSupported"` - FeatureRequirementSupported *bool `xml:"featureRequirementSupported"` - PoweredOnMonitorTypeChangeSupported *bool `xml:"poweredOnMonitorTypeChangeSupported"` - SeSparseDiskSupported *bool `xml:"seSparseDiskSupported"` - NestedHVSupported *bool `xml:"nestedHVSupported"` - VPMCSupported *bool `xml:"vPMCSupported"` - SecureBootSupported *bool `xml:"secureBootSupported"` - PerVmEvcSupported *bool `xml:"perVmEvcSupported"` - VirtualMmuUsageIgnored *bool `xml:"virtualMmuUsageIgnored"` - VirtualExecUsageIgnored *bool `xml:"virtualExecUsageIgnored"` - DiskOnlySnapshotOnSuspendedVMSupported *bool `xml:"diskOnlySnapshotOnSuspendedVMSupported"` - SuspendToMemorySupported *bool `xml:"suspendToMemorySupported"` - ToolsSyncTimeAllowSupported *bool `xml:"toolsSyncTimeAllowSupported"` - SevSupported *bool `xml:"sevSupported"` - PmemFailoverSupported *bool `xml:"pmemFailoverSupported"` - RequireSgxAttestationSupported *bool `xml:"requireSgxAttestationSupported"` - ChangeModeDisksSupported *bool `xml:"changeModeDisksSupported"` -} - -func init() { - t["VirtualMachineCapability"] = reflect.TypeOf((*VirtualMachineCapability)(nil)).Elem() -} - -type VirtualMachineCdromInfo struct { - VirtualMachineTargetInfo - - Description string `xml:"description,omitempty"` -} - -func init() { - t["VirtualMachineCdromInfo"] = reflect.TypeOf((*VirtualMachineCdromInfo)(nil)).Elem() -} - -type VirtualMachineCertThumbprint struct { - DynamicData - - Thumbprint string `xml:"thumbprint"` - HashAlgorithm string `xml:"hashAlgorithm,omitempty"` -} - -func init() { - t["VirtualMachineCertThumbprint"] = reflect.TypeOf((*VirtualMachineCertThumbprint)(nil)).Elem() -} - -type VirtualMachineCloneSpec struct { - DynamicData - - Location VirtualMachineRelocateSpec `xml:"location"` - Template bool `xml:"template"` - Config *VirtualMachineConfigSpec `xml:"config,omitempty"` - Customization *CustomizationSpec `xml:"customization,omitempty"` - PowerOn bool `xml:"powerOn"` - Snapshot *ManagedObjectReference `xml:"snapshot,omitempty"` - Memory *bool `xml:"memory"` - TpmProvisionPolicy string `xml:"tpmProvisionPolicy,omitempty"` -} - -func init() { - t["VirtualMachineCloneSpec"] = reflect.TypeOf((*VirtualMachineCloneSpec)(nil)).Elem() -} - -type VirtualMachineConfigInfo struct { - DynamicData - - ChangeVersion string `xml:"changeVersion"` - Modified time.Time `xml:"modified"` - Name string `xml:"name"` - GuestFullName string `xml:"guestFullName"` - Version string `xml:"version"` - Uuid string `xml:"uuid"` - CreateDate *time.Time `xml:"createDate"` - InstanceUuid string `xml:"instanceUuid,omitempty"` - NpivNodeWorldWideName []int64 `xml:"npivNodeWorldWideName,omitempty"` - NpivPortWorldWideName []int64 `xml:"npivPortWorldWideName,omitempty"` - NpivWorldWideNameType string `xml:"npivWorldWideNameType,omitempty"` - NpivDesiredNodeWwns int16 `xml:"npivDesiredNodeWwns,omitempty"` - NpivDesiredPortWwns int16 `xml:"npivDesiredPortWwns,omitempty"` - NpivTemporaryDisabled *bool `xml:"npivTemporaryDisabled"` - NpivOnNonRdmDisks *bool `xml:"npivOnNonRdmDisks"` - LocationId string `xml:"locationId,omitempty"` - Template bool `xml:"template"` - GuestId string `xml:"guestId"` - AlternateGuestName string `xml:"alternateGuestName"` - Annotation string `xml:"annotation,omitempty"` - Files VirtualMachineFileInfo `xml:"files"` - Tools *ToolsConfigInfo `xml:"tools,omitempty"` - Flags VirtualMachineFlagInfo `xml:"flags"` - ConsolePreferences *VirtualMachineConsolePreferences `xml:"consolePreferences,omitempty"` - DefaultPowerOps VirtualMachineDefaultPowerOpInfo `xml:"defaultPowerOps"` - RebootPowerOff *bool `xml:"rebootPowerOff"` - Hardware VirtualHardware `xml:"hardware"` - VcpuConfig []VirtualMachineVcpuConfig `xml:"vcpuConfig,omitempty"` - CpuAllocation *ResourceAllocationInfo `xml:"cpuAllocation,omitempty"` - MemoryAllocation *ResourceAllocationInfo `xml:"memoryAllocation,omitempty"` - LatencySensitivity *LatencySensitivity `xml:"latencySensitivity,omitempty"` - MemoryHotAddEnabled *bool `xml:"memoryHotAddEnabled"` - CpuHotAddEnabled *bool `xml:"cpuHotAddEnabled"` - CpuHotRemoveEnabled *bool `xml:"cpuHotRemoveEnabled"` - HotPlugMemoryLimit int64 `xml:"hotPlugMemoryLimit,omitempty"` - HotPlugMemoryIncrementSize int64 `xml:"hotPlugMemoryIncrementSize,omitempty"` - CpuAffinity *VirtualMachineAffinityInfo `xml:"cpuAffinity,omitempty"` - MemoryAffinity *VirtualMachineAffinityInfo `xml:"memoryAffinity,omitempty"` - NetworkShaper *VirtualMachineNetworkShaperInfo `xml:"networkShaper,omitempty"` - ExtraConfig []BaseOptionValue `xml:"extraConfig,omitempty,typeattr"` - CpuFeatureMask []HostCpuIdInfo `xml:"cpuFeatureMask,omitempty"` - DatastoreUrl []VirtualMachineConfigInfoDatastoreUrlPair `xml:"datastoreUrl,omitempty"` - SwapPlacement string `xml:"swapPlacement,omitempty"` - BootOptions *VirtualMachineBootOptions `xml:"bootOptions,omitempty"` - FtInfo BaseFaultToleranceConfigInfo `xml:"ftInfo,omitempty,typeattr"` - RepConfig *ReplicationConfigSpec `xml:"repConfig,omitempty"` - VAppConfig BaseVmConfigInfo `xml:"vAppConfig,omitempty,typeattr"` - VAssertsEnabled *bool `xml:"vAssertsEnabled"` - ChangeTrackingEnabled *bool `xml:"changeTrackingEnabled"` - Firmware string `xml:"firmware,omitempty"` - MaxMksConnections int32 `xml:"maxMksConnections,omitempty"` - GuestAutoLockEnabled *bool `xml:"guestAutoLockEnabled"` - ManagedBy *ManagedByInfo `xml:"managedBy,omitempty"` - MemoryReservationLockedToMax *bool `xml:"memoryReservationLockedToMax"` - InitialOverhead *VirtualMachineConfigInfoOverheadInfo `xml:"initialOverhead,omitempty"` - NestedHVEnabled *bool `xml:"nestedHVEnabled"` - VPMCEnabled *bool `xml:"vPMCEnabled"` - ScheduledHardwareUpgradeInfo *ScheduledHardwareUpgradeInfo `xml:"scheduledHardwareUpgradeInfo,omitempty"` - ForkConfigInfo *VirtualMachineForkConfigInfo `xml:"forkConfigInfo,omitempty"` - VFlashCacheReservation int64 `xml:"vFlashCacheReservation,omitempty"` - VmxConfigChecksum []byte `xml:"vmxConfigChecksum,omitempty"` - MessageBusTunnelEnabled *bool `xml:"messageBusTunnelEnabled"` - VmStorageObjectId string `xml:"vmStorageObjectId,omitempty"` - SwapStorageObjectId string `xml:"swapStorageObjectId,omitempty"` - KeyId *CryptoKeyId `xml:"keyId,omitempty"` - GuestIntegrityInfo *VirtualMachineGuestIntegrityInfo `xml:"guestIntegrityInfo,omitempty"` - MigrateEncryption string `xml:"migrateEncryption,omitempty"` - SgxInfo *VirtualMachineSgxInfo `xml:"sgxInfo,omitempty"` - ContentLibItemInfo *VirtualMachineContentLibraryItemInfo `xml:"contentLibItemInfo,omitempty"` - FtEncryptionMode string `xml:"ftEncryptionMode,omitempty"` - GuestMonitoringModeInfo *VirtualMachineGuestMonitoringModeInfo `xml:"guestMonitoringModeInfo,omitempty"` - SevEnabled *bool `xml:"sevEnabled"` - NumaInfo *VirtualMachineVirtualNumaInfo `xml:"numaInfo,omitempty"` - PmemFailoverEnabled *bool `xml:"pmemFailoverEnabled"` - VmxStatsCollectionEnabled *bool `xml:"vmxStatsCollectionEnabled"` - VmOpNotificationToAppEnabled *bool `xml:"vmOpNotificationToAppEnabled"` - VmOpNotificationTimeout int64 `xml:"vmOpNotificationTimeout,omitempty"` - DeviceSwap *VirtualMachineVirtualDeviceSwap `xml:"deviceSwap,omitempty"` - Pmem *VirtualMachineVirtualPMem `xml:"pmem,omitempty"` - DeviceGroups *VirtualMachineVirtualDeviceGroups `xml:"deviceGroups,omitempty"` -} - -func init() { - t["VirtualMachineConfigInfo"] = reflect.TypeOf((*VirtualMachineConfigInfo)(nil)).Elem() -} - -type VirtualMachineConfigInfoDatastoreUrlPair struct { - DynamicData - - Name string `xml:"name"` - Url string `xml:"url"` -} - -func init() { - t["VirtualMachineConfigInfoDatastoreUrlPair"] = reflect.TypeOf((*VirtualMachineConfigInfoDatastoreUrlPair)(nil)).Elem() -} - -type VirtualMachineConfigInfoOverheadInfo struct { - DynamicData - - InitialMemoryReservation int64 `xml:"initialMemoryReservation,omitempty"` - InitialSwapReservation int64 `xml:"initialSwapReservation,omitempty"` -} - -func init() { - t["VirtualMachineConfigInfoOverheadInfo"] = reflect.TypeOf((*VirtualMachineConfigInfoOverheadInfo)(nil)).Elem() -} - -type VirtualMachineConfigOption struct { - DynamicData - - Version string `xml:"version"` - Description string `xml:"description"` - GuestOSDescriptor []GuestOsDescriptor `xml:"guestOSDescriptor"` - GuestOSDefaultIndex int32 `xml:"guestOSDefaultIndex"` - HardwareOptions VirtualHardwareOption `xml:"hardwareOptions"` - Capabilities VirtualMachineCapability `xml:"capabilities"` - Datastore DatastoreOption `xml:"datastore"` - DefaultDevice []BaseVirtualDevice `xml:"defaultDevice,omitempty,typeattr"` - SupportedMonitorType []string `xml:"supportedMonitorType"` - SupportedOvfEnvironmentTransport []string `xml:"supportedOvfEnvironmentTransport,omitempty"` - SupportedOvfInstallTransport []string `xml:"supportedOvfInstallTransport,omitempty"` - PropertyRelations []VirtualMachinePropertyRelation `xml:"propertyRelations,omitempty"` -} - -func init() { - t["VirtualMachineConfigOption"] = reflect.TypeOf((*VirtualMachineConfigOption)(nil)).Elem() -} - -type VirtualMachineConfigOptionDescriptor struct { - DynamicData - - Key string `xml:"key"` - Description string `xml:"description,omitempty"` - Host []ManagedObjectReference `xml:"host,omitempty"` - CreateSupported *bool `xml:"createSupported"` - DefaultConfigOption *bool `xml:"defaultConfigOption"` - RunSupported *bool `xml:"runSupported"` - UpgradeSupported *bool `xml:"upgradeSupported"` -} - -func init() { - t["VirtualMachineConfigOptionDescriptor"] = reflect.TypeOf((*VirtualMachineConfigOptionDescriptor)(nil)).Elem() -} - -type VirtualMachineConfigSpec struct { - DynamicData - - ChangeVersion string `xml:"changeVersion,omitempty"` - Name string `xml:"name,omitempty"` - Version string `xml:"version,omitempty"` - CreateDate *time.Time `xml:"createDate"` - Uuid string `xml:"uuid,omitempty"` - InstanceUuid string `xml:"instanceUuid,omitempty"` - NpivNodeWorldWideName []int64 `xml:"npivNodeWorldWideName,omitempty"` - NpivPortWorldWideName []int64 `xml:"npivPortWorldWideName,omitempty"` - NpivWorldWideNameType string `xml:"npivWorldWideNameType,omitempty"` - NpivDesiredNodeWwns int16 `xml:"npivDesiredNodeWwns,omitempty"` - NpivDesiredPortWwns int16 `xml:"npivDesiredPortWwns,omitempty"` - NpivTemporaryDisabled *bool `xml:"npivTemporaryDisabled"` - NpivOnNonRdmDisks *bool `xml:"npivOnNonRdmDisks"` - NpivWorldWideNameOp string `xml:"npivWorldWideNameOp,omitempty"` - LocationId string `xml:"locationId,omitempty"` - GuestId string `xml:"guestId,omitempty"` - AlternateGuestName string `xml:"alternateGuestName,omitempty"` - Annotation string `xml:"annotation,omitempty"` - Files *VirtualMachineFileInfo `xml:"files,omitempty"` - Tools *ToolsConfigInfo `xml:"tools,omitempty"` - Flags *VirtualMachineFlagInfo `xml:"flags,omitempty"` - ConsolePreferences *VirtualMachineConsolePreferences `xml:"consolePreferences,omitempty"` - PowerOpInfo *VirtualMachineDefaultPowerOpInfo `xml:"powerOpInfo,omitempty"` - RebootPowerOff *bool `xml:"rebootPowerOff"` - NumCPUs int32 `xml:"numCPUs,omitempty"` - VcpuConfig []VirtualMachineVcpuConfig `xml:"vcpuConfig,omitempty"` - NumCoresPerSocket int32 `xml:"numCoresPerSocket,omitempty"` - MemoryMB int64 `xml:"memoryMB,omitempty"` - MemoryHotAddEnabled *bool `xml:"memoryHotAddEnabled"` - CpuHotAddEnabled *bool `xml:"cpuHotAddEnabled"` - CpuHotRemoveEnabled *bool `xml:"cpuHotRemoveEnabled"` - VirtualICH7MPresent *bool `xml:"virtualICH7MPresent"` - VirtualSMCPresent *bool `xml:"virtualSMCPresent"` - DeviceChange []BaseVirtualDeviceConfigSpec `xml:"deviceChange,omitempty,typeattr"` - CpuAllocation *ResourceAllocationInfo `xml:"cpuAllocation,omitempty"` - MemoryAllocation *ResourceAllocationInfo `xml:"memoryAllocation,omitempty"` - LatencySensitivity *LatencySensitivity `xml:"latencySensitivity,omitempty"` - CpuAffinity *VirtualMachineAffinityInfo `xml:"cpuAffinity,omitempty"` - MemoryAffinity *VirtualMachineAffinityInfo `xml:"memoryAffinity,omitempty"` - NetworkShaper *VirtualMachineNetworkShaperInfo `xml:"networkShaper,omitempty"` - CpuFeatureMask []VirtualMachineCpuIdInfoSpec `xml:"cpuFeatureMask,omitempty"` - ExtraConfig []BaseOptionValue `xml:"extraConfig,omitempty,typeattr"` - SwapPlacement string `xml:"swapPlacement,omitempty"` - BootOptions *VirtualMachineBootOptions `xml:"bootOptions,omitempty"` - VAppConfig BaseVmConfigSpec `xml:"vAppConfig,omitempty,typeattr"` - FtInfo BaseFaultToleranceConfigInfo `xml:"ftInfo,omitempty,typeattr"` - RepConfig *ReplicationConfigSpec `xml:"repConfig,omitempty"` - VAppConfigRemoved *bool `xml:"vAppConfigRemoved"` - VAssertsEnabled *bool `xml:"vAssertsEnabled"` - ChangeTrackingEnabled *bool `xml:"changeTrackingEnabled"` - Firmware string `xml:"firmware,omitempty"` - MaxMksConnections int32 `xml:"maxMksConnections,omitempty"` - GuestAutoLockEnabled *bool `xml:"guestAutoLockEnabled"` - ManagedBy *ManagedByInfo `xml:"managedBy,omitempty"` - MemoryReservationLockedToMax *bool `xml:"memoryReservationLockedToMax"` - NestedHVEnabled *bool `xml:"nestedHVEnabled"` - VPMCEnabled *bool `xml:"vPMCEnabled"` - ScheduledHardwareUpgradeInfo *ScheduledHardwareUpgradeInfo `xml:"scheduledHardwareUpgradeInfo,omitempty"` - VmProfile []BaseVirtualMachineProfileSpec `xml:"vmProfile,omitempty,typeattr"` - MessageBusTunnelEnabled *bool `xml:"messageBusTunnelEnabled"` - Crypto BaseCryptoSpec `xml:"crypto,omitempty,typeattr"` - MigrateEncryption string `xml:"migrateEncryption,omitempty"` - SgxInfo *VirtualMachineSgxInfo `xml:"sgxInfo,omitempty"` - FtEncryptionMode string `xml:"ftEncryptionMode,omitempty"` - GuestMonitoringModeInfo *VirtualMachineGuestMonitoringModeInfo `xml:"guestMonitoringModeInfo,omitempty"` - SevEnabled *bool `xml:"sevEnabled"` - VirtualNuma *VirtualMachineVirtualNuma `xml:"virtualNuma,omitempty"` - MotherboardLayout string `xml:"motherboardLayout,omitempty"` - PmemFailoverEnabled *bool `xml:"pmemFailoverEnabled"` - VmxStatsCollectionEnabled *bool `xml:"vmxStatsCollectionEnabled"` - VmOpNotificationToAppEnabled *bool `xml:"vmOpNotificationToAppEnabled"` - VmOpNotificationTimeout int64 `xml:"vmOpNotificationTimeout,omitempty"` - DeviceSwap *VirtualMachineVirtualDeviceSwap `xml:"deviceSwap,omitempty"` - SimultaneousThreads int32 `xml:"simultaneousThreads,omitempty"` - Pmem *VirtualMachineVirtualPMem `xml:"pmem,omitempty"` - DeviceGroups *VirtualMachineVirtualDeviceGroups `xml:"deviceGroups,omitempty"` -} - -func init() { - t["VirtualMachineConfigSpec"] = reflect.TypeOf((*VirtualMachineConfigSpec)(nil)).Elem() -} - -type VirtualMachineConfigSummary struct { - DynamicData - - Name string `xml:"name"` - Template bool `xml:"template"` - VmPathName string `xml:"vmPathName"` - MemorySizeMB int32 `xml:"memorySizeMB,omitempty"` - CpuReservation int32 `xml:"cpuReservation,omitempty"` - MemoryReservation int32 `xml:"memoryReservation,omitempty"` - NumCpu int32 `xml:"numCpu,omitempty"` - NumEthernetCards int32 `xml:"numEthernetCards,omitempty"` - NumVirtualDisks int32 `xml:"numVirtualDisks,omitempty"` - Uuid string `xml:"uuid,omitempty"` - InstanceUuid string `xml:"instanceUuid,omitempty"` - GuestId string `xml:"guestId,omitempty"` - GuestFullName string `xml:"guestFullName,omitempty"` - Annotation string `xml:"annotation,omitempty"` - Product *VAppProductInfo `xml:"product,omitempty"` - InstallBootRequired *bool `xml:"installBootRequired"` - FtInfo BaseFaultToleranceConfigInfo `xml:"ftInfo,omitempty,typeattr"` - ManagedBy *ManagedByInfo `xml:"managedBy,omitempty"` - TpmPresent *bool `xml:"tpmPresent"` - NumVmiopBackings int32 `xml:"numVmiopBackings,omitempty"` - HwVersion string `xml:"hwVersion,omitempty"` -} - -func init() { - t["VirtualMachineConfigSummary"] = reflect.TypeOf((*VirtualMachineConfigSummary)(nil)).Elem() -} - -type VirtualMachineConnection struct { - DynamicData - - Label string `xml:"label"` - Client string `xml:"client"` - UserName string `xml:"userName"` -} - -func init() { - t["VirtualMachineConnection"] = reflect.TypeOf((*VirtualMachineConnection)(nil)).Elem() -} - -type VirtualMachineConsolePreferences struct { - DynamicData - - PowerOnWhenOpened *bool `xml:"powerOnWhenOpened"` - EnterFullScreenOnPowerOn *bool `xml:"enterFullScreenOnPowerOn"` - CloseOnPowerOffOrSuspend *bool `xml:"closeOnPowerOffOrSuspend"` -} - -func init() { - t["VirtualMachineConsolePreferences"] = reflect.TypeOf((*VirtualMachineConsolePreferences)(nil)).Elem() -} - -type VirtualMachineContentLibraryItemInfo struct { - DynamicData - - ContentLibraryItemUuid string `xml:"contentLibraryItemUuid"` - ContentLibraryItemVersion string `xml:"contentLibraryItemVersion,omitempty"` -} - -func init() { - t["VirtualMachineContentLibraryItemInfo"] = reflect.TypeOf((*VirtualMachineContentLibraryItemInfo)(nil)).Elem() -} - -type VirtualMachineCpuIdInfoSpec struct { - ArrayUpdateSpec - - Info *HostCpuIdInfo `xml:"info,omitempty"` -} - -func init() { - t["VirtualMachineCpuIdInfoSpec"] = reflect.TypeOf((*VirtualMachineCpuIdInfoSpec)(nil)).Elem() -} - -type VirtualMachineDatastoreInfo struct { - VirtualMachineTargetInfo - - Datastore DatastoreSummary `xml:"datastore"` - Capability DatastoreCapability `xml:"capability"` - MaxFileSize int64 `xml:"maxFileSize"` - MaxVirtualDiskCapacity int64 `xml:"maxVirtualDiskCapacity,omitempty"` - MaxPhysicalRDMFileSize int64 `xml:"maxPhysicalRDMFileSize,omitempty"` - MaxVirtualRDMFileSize int64 `xml:"maxVirtualRDMFileSize,omitempty"` - Mode string `xml:"mode"` - VStorageSupport string `xml:"vStorageSupport,omitempty"` -} - -func init() { - t["VirtualMachineDatastoreInfo"] = reflect.TypeOf((*VirtualMachineDatastoreInfo)(nil)).Elem() -} - -type VirtualMachineDatastoreVolumeOption struct { - DynamicData - - FileSystemType string `xml:"fileSystemType"` - MajorVersion int32 `xml:"majorVersion,omitempty"` -} - -func init() { - t["VirtualMachineDatastoreVolumeOption"] = reflect.TypeOf((*VirtualMachineDatastoreVolumeOption)(nil)).Elem() -} - -type VirtualMachineDefaultPowerOpInfo struct { - DynamicData - - PowerOffType string `xml:"powerOffType,omitempty"` - SuspendType string `xml:"suspendType,omitempty"` - ResetType string `xml:"resetType,omitempty"` - DefaultPowerOffType string `xml:"defaultPowerOffType,omitempty"` - DefaultSuspendType string `xml:"defaultSuspendType,omitempty"` - DefaultResetType string `xml:"defaultResetType,omitempty"` - StandbyAction string `xml:"standbyAction,omitempty"` -} - -func init() { - t["VirtualMachineDefaultPowerOpInfo"] = reflect.TypeOf((*VirtualMachineDefaultPowerOpInfo)(nil)).Elem() -} - -type VirtualMachineDefaultProfileSpec struct { - VirtualMachineProfileSpec -} - -func init() { - t["VirtualMachineDefaultProfileSpec"] = reflect.TypeOf((*VirtualMachineDefaultProfileSpec)(nil)).Elem() -} - -type VirtualMachineDefinedProfileSpec struct { - VirtualMachineProfileSpec - - ProfileId string `xml:"profileId"` - ReplicationSpec *ReplicationSpec `xml:"replicationSpec,omitempty"` - ProfileData *VirtualMachineProfileRawData `xml:"profileData,omitempty"` - ProfileParams []KeyValue `xml:"profileParams,omitempty"` -} - -func init() { - t["VirtualMachineDefinedProfileSpec"] = reflect.TypeOf((*VirtualMachineDefinedProfileSpec)(nil)).Elem() -} - -type VirtualMachineDeviceRuntimeInfo struct { - DynamicData - - RuntimeState BaseVirtualMachineDeviceRuntimeInfoDeviceRuntimeState `xml:"runtimeState,typeattr"` - Key int32 `xml:"key"` -} - -func init() { - t["VirtualMachineDeviceRuntimeInfo"] = reflect.TypeOf((*VirtualMachineDeviceRuntimeInfo)(nil)).Elem() -} - -type VirtualMachineDeviceRuntimeInfoDeviceRuntimeState struct { - DynamicData -} - -func init() { - t["VirtualMachineDeviceRuntimeInfoDeviceRuntimeState"] = reflect.TypeOf((*VirtualMachineDeviceRuntimeInfoDeviceRuntimeState)(nil)).Elem() -} - -type VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState struct { - VirtualMachineDeviceRuntimeInfoDeviceRuntimeState - - VmDirectPathGen2Active bool `xml:"vmDirectPathGen2Active"` - VmDirectPathGen2InactiveReasonVm []string `xml:"vmDirectPathGen2InactiveReasonVm,omitempty"` - VmDirectPathGen2InactiveReasonOther []string `xml:"vmDirectPathGen2InactiveReasonOther,omitempty"` - VmDirectPathGen2InactiveReasonExtended string `xml:"vmDirectPathGen2InactiveReasonExtended,omitempty"` - Uptv2Active *bool `xml:"uptv2Active"` - Uptv2InactiveReasonVm []string `xml:"uptv2InactiveReasonVm,omitempty"` - Uptv2InactiveReasonOther []string `xml:"uptv2InactiveReasonOther,omitempty"` - ReservationStatus string `xml:"reservationStatus,omitempty"` - AttachmentStatus string `xml:"attachmentStatus,omitempty"` - FeatureRequirement []VirtualMachineFeatureRequirement `xml:"featureRequirement,omitempty"` -} - -func init() { - t["VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState"] = reflect.TypeOf((*VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState)(nil)).Elem() -} - -type VirtualMachineDiskDeviceInfo struct { - VirtualMachineTargetInfo - - Capacity int64 `xml:"capacity,omitempty"` - Vm []ManagedObjectReference `xml:"vm,omitempty"` -} - -func init() { - t["VirtualMachineDiskDeviceInfo"] = reflect.TypeOf((*VirtualMachineDiskDeviceInfo)(nil)).Elem() -} - -type VirtualMachineDisplayTopology struct { - DynamicData - - X int32 `xml:"x"` - Y int32 `xml:"y"` - Width int32 `xml:"width"` - Height int32 `xml:"height"` -} - -func init() { - t["VirtualMachineDisplayTopology"] = reflect.TypeOf((*VirtualMachineDisplayTopology)(nil)).Elem() -} - -type VirtualMachineDvxClassInfo struct { - DynamicData - - DeviceClass BaseElementDescription `xml:"deviceClass,typeattr"` - VendorName string `xml:"vendorName"` - SriovNic bool `xml:"sriovNic"` - ConfigParams []OptionDef `xml:"configParams,omitempty"` -} - -func init() { - t["VirtualMachineDvxClassInfo"] = reflect.TypeOf((*VirtualMachineDvxClassInfo)(nil)).Elem() -} - -type VirtualMachineDynamicPassthroughInfo struct { - VirtualMachineTargetInfo - - VendorName string `xml:"vendorName"` - DeviceName string `xml:"deviceName"` - CustomLabel string `xml:"customLabel,omitempty"` - VendorId int32 `xml:"vendorId"` - DeviceId int32 `xml:"deviceId"` -} - -func init() { - t["VirtualMachineDynamicPassthroughInfo"] = reflect.TypeOf((*VirtualMachineDynamicPassthroughInfo)(nil)).Elem() -} - -type VirtualMachineEmptyIndependentFilterSpec struct { - VirtualMachineBaseIndependentFilterSpec -} - -func init() { - t["VirtualMachineEmptyIndependentFilterSpec"] = reflect.TypeOf((*VirtualMachineEmptyIndependentFilterSpec)(nil)).Elem() -} - -type VirtualMachineEmptyProfileSpec struct { - VirtualMachineProfileSpec -} - -func init() { - t["VirtualMachineEmptyProfileSpec"] = reflect.TypeOf((*VirtualMachineEmptyProfileSpec)(nil)).Elem() -} - -type VirtualMachineFeatureRequirement struct { - DynamicData - - Key string `xml:"key"` - FeatureName string `xml:"featureName"` - Value string `xml:"value"` -} - -func init() { - t["VirtualMachineFeatureRequirement"] = reflect.TypeOf((*VirtualMachineFeatureRequirement)(nil)).Elem() -} - -type VirtualMachineFileInfo struct { - DynamicData - - VmPathName string `xml:"vmPathName,omitempty"` - SnapshotDirectory string `xml:"snapshotDirectory,omitempty"` - SuspendDirectory string `xml:"suspendDirectory,omitempty"` - LogDirectory string `xml:"logDirectory,omitempty"` - FtMetadataDirectory string `xml:"ftMetadataDirectory,omitempty"` -} - -func init() { - t["VirtualMachineFileInfo"] = reflect.TypeOf((*VirtualMachineFileInfo)(nil)).Elem() -} - -type VirtualMachineFileLayout struct { - DynamicData - - ConfigFile []string `xml:"configFile,omitempty"` - LogFile []string `xml:"logFile,omitempty"` - Disk []VirtualMachineFileLayoutDiskLayout `xml:"disk,omitempty"` - Snapshot []VirtualMachineFileLayoutSnapshotLayout `xml:"snapshot,omitempty"` - SwapFile string `xml:"swapFile,omitempty"` -} - -func init() { - t["VirtualMachineFileLayout"] = reflect.TypeOf((*VirtualMachineFileLayout)(nil)).Elem() -} - -type VirtualMachineFileLayoutDiskLayout struct { - DynamicData - - Key int32 `xml:"key"` - DiskFile []string `xml:"diskFile"` -} - -func init() { - t["VirtualMachineFileLayoutDiskLayout"] = reflect.TypeOf((*VirtualMachineFileLayoutDiskLayout)(nil)).Elem() -} - -type VirtualMachineFileLayoutEx struct { - DynamicData - - File []VirtualMachineFileLayoutExFileInfo `xml:"file,omitempty"` - Disk []VirtualMachineFileLayoutExDiskLayout `xml:"disk,omitempty"` - Snapshot []VirtualMachineFileLayoutExSnapshotLayout `xml:"snapshot,omitempty"` - Timestamp time.Time `xml:"timestamp"` -} - -func init() { - t["VirtualMachineFileLayoutEx"] = reflect.TypeOf((*VirtualMachineFileLayoutEx)(nil)).Elem() -} - -type VirtualMachineFileLayoutExDiskLayout struct { - DynamicData - - Key int32 `xml:"key"` - Chain []VirtualMachineFileLayoutExDiskUnit `xml:"chain,omitempty"` -} - -func init() { - t["VirtualMachineFileLayoutExDiskLayout"] = reflect.TypeOf((*VirtualMachineFileLayoutExDiskLayout)(nil)).Elem() -} - -type VirtualMachineFileLayoutExDiskUnit struct { - DynamicData - - FileKey []int32 `xml:"fileKey"` -} - -func init() { - t["VirtualMachineFileLayoutExDiskUnit"] = reflect.TypeOf((*VirtualMachineFileLayoutExDiskUnit)(nil)).Elem() -} - -type VirtualMachineFileLayoutExFileInfo struct { - DynamicData - - Key int32 `xml:"key"` - Name string `xml:"name"` - Type string `xml:"type"` - Size int64 `xml:"size"` - UniqueSize int64 `xml:"uniqueSize,omitempty"` - BackingObjectId string `xml:"backingObjectId,omitempty"` - Accessible *bool `xml:"accessible"` -} - -func init() { - t["VirtualMachineFileLayoutExFileInfo"] = reflect.TypeOf((*VirtualMachineFileLayoutExFileInfo)(nil)).Elem() -} - -type VirtualMachineFileLayoutExSnapshotLayout struct { - DynamicData - - Key ManagedObjectReference `xml:"key"` - DataKey int32 `xml:"dataKey"` - MemoryKey int32 `xml:"memoryKey,omitempty"` - Disk []VirtualMachineFileLayoutExDiskLayout `xml:"disk,omitempty"` -} - -func init() { - t["VirtualMachineFileLayoutExSnapshotLayout"] = reflect.TypeOf((*VirtualMachineFileLayoutExSnapshotLayout)(nil)).Elem() -} - -type VirtualMachineFileLayoutSnapshotLayout struct { - DynamicData - - Key ManagedObjectReference `xml:"key"` - SnapshotFile []string `xml:"snapshotFile"` -} - -func init() { - t["VirtualMachineFileLayoutSnapshotLayout"] = reflect.TypeOf((*VirtualMachineFileLayoutSnapshotLayout)(nil)).Elem() -} - -type VirtualMachineFlagInfo struct { - DynamicData - - DisableAcceleration *bool `xml:"disableAcceleration"` - EnableLogging *bool `xml:"enableLogging"` - UseToe *bool `xml:"useToe"` - RunWithDebugInfo *bool `xml:"runWithDebugInfo"` - MonitorType string `xml:"monitorType,omitempty"` - HtSharing string `xml:"htSharing,omitempty"` - SnapshotDisabled *bool `xml:"snapshotDisabled"` - SnapshotLocked *bool `xml:"snapshotLocked"` - DiskUuidEnabled *bool `xml:"diskUuidEnabled"` - VirtualMmuUsage string `xml:"virtualMmuUsage,omitempty"` - VirtualExecUsage string `xml:"virtualExecUsage,omitempty"` - SnapshotPowerOffBehavior string `xml:"snapshotPowerOffBehavior,omitempty"` - RecordReplayEnabled *bool `xml:"recordReplayEnabled"` - FaultToleranceType string `xml:"faultToleranceType,omitempty"` - CbrcCacheEnabled *bool `xml:"cbrcCacheEnabled"` - VvtdEnabled *bool `xml:"vvtdEnabled"` - VbsEnabled *bool `xml:"vbsEnabled"` -} - -func init() { - t["VirtualMachineFlagInfo"] = reflect.TypeOf((*VirtualMachineFlagInfo)(nil)).Elem() -} - -type VirtualMachineFloppyInfo struct { - VirtualMachineTargetInfo -} - -func init() { - t["VirtualMachineFloppyInfo"] = reflect.TypeOf((*VirtualMachineFloppyInfo)(nil)).Elem() -} - -type VirtualMachineForkConfigInfo struct { - DynamicData - - ParentEnabled *bool `xml:"parentEnabled"` - ChildForkGroupId string `xml:"childForkGroupId,omitempty"` - ParentForkGroupId string `xml:"parentForkGroupId,omitempty"` - ChildType string `xml:"childType,omitempty"` -} - -func init() { - t["VirtualMachineForkConfigInfo"] = reflect.TypeOf((*VirtualMachineForkConfigInfo)(nil)).Elem() -} - -type VirtualMachineGuestIntegrityInfo struct { - DynamicData - - Enabled *bool `xml:"enabled"` -} - -func init() { - t["VirtualMachineGuestIntegrityInfo"] = reflect.TypeOf((*VirtualMachineGuestIntegrityInfo)(nil)).Elem() -} - -type VirtualMachineGuestMonitoringModeInfo struct { - DynamicData - - GmmFile string `xml:"gmmFile,omitempty"` - GmmAppliance string `xml:"gmmAppliance,omitempty"` -} - -func init() { - t["VirtualMachineGuestMonitoringModeInfo"] = reflect.TypeOf((*VirtualMachineGuestMonitoringModeInfo)(nil)).Elem() -} - -type VirtualMachineGuestQuiesceSpec struct { - DynamicData - - Timeout int32 `xml:"timeout,omitempty"` -} - -func init() { - t["VirtualMachineGuestQuiesceSpec"] = reflect.TypeOf((*VirtualMachineGuestQuiesceSpec)(nil)).Elem() -} - -type VirtualMachineGuestSummary struct { - DynamicData - - GuestId string `xml:"guestId,omitempty"` - GuestFullName string `xml:"guestFullName,omitempty"` - ToolsStatus VirtualMachineToolsStatus `xml:"toolsStatus,omitempty"` - ToolsVersionStatus string `xml:"toolsVersionStatus,omitempty"` - ToolsVersionStatus2 string `xml:"toolsVersionStatus2,omitempty"` - ToolsRunningStatus string `xml:"toolsRunningStatus,omitempty"` - HostName string `xml:"hostName,omitempty"` - IpAddress string `xml:"ipAddress,omitempty"` - HwVersion string `xml:"hwVersion,omitempty"` -} - -func init() { - t["VirtualMachineGuestSummary"] = reflect.TypeOf((*VirtualMachineGuestSummary)(nil)).Elem() -} - -type VirtualMachineIdeDiskDeviceInfo struct { - VirtualMachineDiskDeviceInfo - - PartitionTable []VirtualMachineIdeDiskDevicePartitionInfo `xml:"partitionTable,omitempty"` -} - -func init() { - t["VirtualMachineIdeDiskDeviceInfo"] = reflect.TypeOf((*VirtualMachineIdeDiskDeviceInfo)(nil)).Elem() -} - -type VirtualMachineIdeDiskDevicePartitionInfo struct { - DynamicData - - Id int32 `xml:"id"` - Capacity int32 `xml:"capacity"` -} - -func init() { - t["VirtualMachineIdeDiskDevicePartitionInfo"] = reflect.TypeOf((*VirtualMachineIdeDiskDevicePartitionInfo)(nil)).Elem() -} - -type VirtualMachineImportSpec struct { - ImportSpec - - ConfigSpec VirtualMachineConfigSpec `xml:"configSpec"` - ResPoolEntity *ManagedObjectReference `xml:"resPoolEntity,omitempty"` -} - -func init() { - t["VirtualMachineImportSpec"] = reflect.TypeOf((*VirtualMachineImportSpec)(nil)).Elem() -} - -type VirtualMachineIndependentFilterSpec struct { - VirtualMachineBaseIndependentFilterSpec - - FilterName string `xml:"filterName"` - FilterClass string `xml:"filterClass,omitempty"` - FilterCapabilities []KeyValue `xml:"filterCapabilities,omitempty"` -} - -func init() { - t["VirtualMachineIndependentFilterSpec"] = reflect.TypeOf((*VirtualMachineIndependentFilterSpec)(nil)).Elem() -} - -type VirtualMachineInstantCloneSpec struct { - DynamicData - - Name string `xml:"name"` - Location VirtualMachineRelocateSpec `xml:"location"` - Config []BaseOptionValue `xml:"config,omitempty,typeattr"` - BiosUuid string `xml:"biosUuid,omitempty"` -} - -func init() { - t["VirtualMachineInstantCloneSpec"] = reflect.TypeOf((*VirtualMachineInstantCloneSpec)(nil)).Elem() -} - -type VirtualMachineLegacyNetworkSwitchInfo struct { - DynamicData - - Name string `xml:"name"` -} - -func init() { - t["VirtualMachineLegacyNetworkSwitchInfo"] = reflect.TypeOf((*VirtualMachineLegacyNetworkSwitchInfo)(nil)).Elem() -} - -type VirtualMachineMemoryReservationInfo struct { - DynamicData - - VirtualMachineMin int64 `xml:"virtualMachineMin"` - VirtualMachineMax int64 `xml:"virtualMachineMax"` - VirtualMachineReserved int64 `xml:"virtualMachineReserved"` - AllocationPolicy string `xml:"allocationPolicy"` -} - -func init() { - t["VirtualMachineMemoryReservationInfo"] = reflect.TypeOf((*VirtualMachineMemoryReservationInfo)(nil)).Elem() -} - -type VirtualMachineMemoryReservationSpec struct { - DynamicData - - VirtualMachineReserved int64 `xml:"virtualMachineReserved,omitempty"` - AllocationPolicy string `xml:"allocationPolicy,omitempty"` -} - -func init() { - t["VirtualMachineMemoryReservationSpec"] = reflect.TypeOf((*VirtualMachineMemoryReservationSpec)(nil)).Elem() -} - -type VirtualMachineMessage struct { - DynamicData - - Id string `xml:"id"` - Argument []AnyType `xml:"argument,omitempty,typeattr"` - Text string `xml:"text,omitempty"` -} - -func init() { - t["VirtualMachineMessage"] = reflect.TypeOf((*VirtualMachineMessage)(nil)).Elem() -} - -type VirtualMachineMetadataManagerVmMetadata struct { - DynamicData - - VmId string `xml:"vmId"` - Metadata string `xml:"metadata,omitempty"` -} - -func init() { - t["VirtualMachineMetadataManagerVmMetadata"] = reflect.TypeOf((*VirtualMachineMetadataManagerVmMetadata)(nil)).Elem() -} - -type VirtualMachineMetadataManagerVmMetadataInput struct { - DynamicData - - Operation string `xml:"operation"` - VmMetadata VirtualMachineMetadataManagerVmMetadata `xml:"vmMetadata"` -} - -func init() { - t["VirtualMachineMetadataManagerVmMetadataInput"] = reflect.TypeOf((*VirtualMachineMetadataManagerVmMetadataInput)(nil)).Elem() -} - -type VirtualMachineMetadataManagerVmMetadataOwner struct { - DynamicData - - Name string `xml:"name"` -} - -func init() { - t["VirtualMachineMetadataManagerVmMetadataOwner"] = reflect.TypeOf((*VirtualMachineMetadataManagerVmMetadataOwner)(nil)).Elem() -} - -type VirtualMachineMetadataManagerVmMetadataResult struct { - DynamicData - - VmMetadata VirtualMachineMetadataManagerVmMetadata `xml:"vmMetadata"` - Error *LocalizedMethodFault `xml:"error,omitempty"` -} - -func init() { - t["VirtualMachineMetadataManagerVmMetadataResult"] = reflect.TypeOf((*VirtualMachineMetadataManagerVmMetadataResult)(nil)).Elem() -} - -type VirtualMachineMksConnection struct { - VirtualMachineConnection -} - -func init() { - t["VirtualMachineMksConnection"] = reflect.TypeOf((*VirtualMachineMksConnection)(nil)).Elem() -} - -type VirtualMachineMksTicket struct { - DynamicData - - Ticket string `xml:"ticket"` - CfgFile string `xml:"cfgFile"` - Host string `xml:"host,omitempty"` - Port int32 `xml:"port,omitempty"` - SslThumbprint string `xml:"sslThumbprint,omitempty"` -} - -func init() { - t["VirtualMachineMksTicket"] = reflect.TypeOf((*VirtualMachineMksTicket)(nil)).Elem() -} - -type VirtualMachineNetworkInfo struct { - VirtualMachineTargetInfo - - Network BaseNetworkSummary `xml:"network,typeattr"` - Vswitch string `xml:"vswitch,omitempty"` -} - -func init() { - t["VirtualMachineNetworkInfo"] = reflect.TypeOf((*VirtualMachineNetworkInfo)(nil)).Elem() -} - -type VirtualMachineNetworkShaperInfo struct { - DynamicData - - Enabled *bool `xml:"enabled"` - PeakBps int64 `xml:"peakBps,omitempty"` - AverageBps int64 `xml:"averageBps,omitempty"` - BurstSize int64 `xml:"burstSize,omitempty"` -} - -func init() { - t["VirtualMachineNetworkShaperInfo"] = reflect.TypeOf((*VirtualMachineNetworkShaperInfo)(nil)).Elem() -} - -type VirtualMachineParallelInfo struct { - VirtualMachineTargetInfo -} - -func init() { - t["VirtualMachineParallelInfo"] = reflect.TypeOf((*VirtualMachineParallelInfo)(nil)).Elem() -} - -type VirtualMachinePciPassthroughInfo struct { - VirtualMachineTargetInfo - - PciDevice HostPciDevice `xml:"pciDevice"` - SystemId string `xml:"systemId"` -} - -func init() { - t["VirtualMachinePciPassthroughInfo"] = reflect.TypeOf((*VirtualMachinePciPassthroughInfo)(nil)).Elem() -} - -type VirtualMachinePciSharedGpuPassthroughInfo struct { - VirtualMachineTargetInfo - - Vgpu string `xml:"vgpu"` -} - -func init() { - t["VirtualMachinePciSharedGpuPassthroughInfo"] = reflect.TypeOf((*VirtualMachinePciSharedGpuPassthroughInfo)(nil)).Elem() -} - -type VirtualMachinePrecisionClockInfo struct { - VirtualMachineTargetInfo - - SystemClockProtocol string `xml:"systemClockProtocol,omitempty"` -} - -func init() { - t["VirtualMachinePrecisionClockInfo"] = reflect.TypeOf((*VirtualMachinePrecisionClockInfo)(nil)).Elem() -} - -type VirtualMachineProfileDetails struct { - DynamicData - - Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr"` - DiskProfileDetails []VirtualMachineProfileDetailsDiskProfileDetails `xml:"diskProfileDetails,omitempty"` -} - -func init() { - t["VirtualMachineProfileDetails"] = reflect.TypeOf((*VirtualMachineProfileDetails)(nil)).Elem() -} - -type VirtualMachineProfileDetailsDiskProfileDetails struct { - DynamicData - - DiskId int32 `xml:"diskId"` - Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr"` -} - -func init() { - t["VirtualMachineProfileDetailsDiskProfileDetails"] = reflect.TypeOf((*VirtualMachineProfileDetailsDiskProfileDetails)(nil)).Elem() -} - -type VirtualMachineProfileRawData struct { - DynamicData - - ExtensionKey string `xml:"extensionKey"` - ObjectData string `xml:"objectData,omitempty"` -} - -func init() { - t["VirtualMachineProfileRawData"] = reflect.TypeOf((*VirtualMachineProfileRawData)(nil)).Elem() -} - -type VirtualMachineProfileSpec struct { - DynamicData -} - -func init() { - t["VirtualMachineProfileSpec"] = reflect.TypeOf((*VirtualMachineProfileSpec)(nil)).Elem() -} - -type VirtualMachinePropertyRelation struct { - DynamicData - - Key DynamicProperty `xml:"key"` - Relations []DynamicProperty `xml:"relations,omitempty"` -} - -func init() { - t["VirtualMachinePropertyRelation"] = reflect.TypeOf((*VirtualMachinePropertyRelation)(nil)).Elem() -} - -type VirtualMachineQuestionInfo struct { - DynamicData - - Id string `xml:"id"` - Text string `xml:"text"` - Choice ChoiceOption `xml:"choice"` - Message []VirtualMachineMessage `xml:"message,omitempty"` -} - -func init() { - t["VirtualMachineQuestionInfo"] = reflect.TypeOf((*VirtualMachineQuestionInfo)(nil)).Elem() -} - -type VirtualMachineQuickStats struct { - DynamicData - - OverallCpuUsage int32 `xml:"overallCpuUsage,omitempty"` - OverallCpuDemand int32 `xml:"overallCpuDemand,omitempty"` - OverallCpuReadiness int32 `xml:"overallCpuReadiness,omitempty"` - GuestMemoryUsage int32 `xml:"guestMemoryUsage,omitempty"` - HostMemoryUsage int32 `xml:"hostMemoryUsage,omitempty"` - GuestHeartbeatStatus ManagedEntityStatus `xml:"guestHeartbeatStatus"` - DistributedCpuEntitlement int32 `xml:"distributedCpuEntitlement,omitempty"` - DistributedMemoryEntitlement int32 `xml:"distributedMemoryEntitlement,omitempty"` - StaticCpuEntitlement int32 `xml:"staticCpuEntitlement,omitempty"` - StaticMemoryEntitlement int32 `xml:"staticMemoryEntitlement,omitempty"` - GrantedMemory int32 `xml:"grantedMemory,omitempty"` - PrivateMemory int32 `xml:"privateMemory,omitempty"` - SharedMemory int32 `xml:"sharedMemory,omitempty"` - SwappedMemory int32 `xml:"swappedMemory,omitempty"` - BalloonedMemory int32 `xml:"balloonedMemory,omitempty"` - ConsumedOverheadMemory int32 `xml:"consumedOverheadMemory,omitempty"` - FtLogBandwidth int32 `xml:"ftLogBandwidth,omitempty"` - FtSecondaryLatency int32 `xml:"ftSecondaryLatency,omitempty"` - FtLatencyStatus ManagedEntityStatus `xml:"ftLatencyStatus,omitempty"` - CompressedMemory int64 `xml:"compressedMemory,omitempty"` - UptimeSeconds int32 `xml:"uptimeSeconds,omitempty"` - SsdSwappedMemory int64 `xml:"ssdSwappedMemory,omitempty"` - ActiveMemory int32 `xml:"activeMemory,omitempty"` - MemoryTierStats []VirtualMachineQuickStatsMemoryTierStats `xml:"memoryTierStats,omitempty"` -} - -func init() { - t["VirtualMachineQuickStats"] = reflect.TypeOf((*VirtualMachineQuickStats)(nil)).Elem() -} - -type VirtualMachineQuickStatsMemoryTierStats struct { - DynamicData - - MemoryTierType string `xml:"memoryTierType"` - ReadBandwidth int64 `xml:"readBandwidth"` -} - -func init() { - t["VirtualMachineQuickStatsMemoryTierStats"] = reflect.TypeOf((*VirtualMachineQuickStatsMemoryTierStats)(nil)).Elem() -} - -type VirtualMachineRelocateSpec struct { - DynamicData - - Service *ServiceLocator `xml:"service,omitempty"` - Folder *ManagedObjectReference `xml:"folder,omitempty"` - Datastore *ManagedObjectReference `xml:"datastore,omitempty"` - DiskMoveType string `xml:"diskMoveType,omitempty"` - Pool *ManagedObjectReference `xml:"pool,omitempty"` - Host *ManagedObjectReference `xml:"host,omitempty"` - Disk []VirtualMachineRelocateSpecDiskLocator `xml:"disk,omitempty"` - Transform VirtualMachineRelocateTransformation `xml:"transform,omitempty"` - DeviceChange []BaseVirtualDeviceConfigSpec `xml:"deviceChange,omitempty,typeattr"` - Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr"` - CryptoSpec BaseCryptoSpec `xml:"cryptoSpec,omitempty,typeattr"` -} - -func init() { - t["VirtualMachineRelocateSpec"] = reflect.TypeOf((*VirtualMachineRelocateSpec)(nil)).Elem() -} - -type VirtualMachineRelocateSpecDiskLocator struct { - DynamicData - - DiskId int32 `xml:"diskId"` - Datastore ManagedObjectReference `xml:"datastore"` - DiskMoveType string `xml:"diskMoveType,omitempty"` - DiskBackingInfo BaseVirtualDeviceBackingInfo `xml:"diskBackingInfo,omitempty,typeattr"` - Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr"` - Backing *VirtualMachineRelocateSpecDiskLocatorBackingSpec `xml:"backing,omitempty"` - FilterSpec []BaseVirtualMachineBaseIndependentFilterSpec `xml:"filterSpec,omitempty,typeattr"` -} - -func init() { - t["VirtualMachineRelocateSpecDiskLocator"] = reflect.TypeOf((*VirtualMachineRelocateSpecDiskLocator)(nil)).Elem() -} - -type VirtualMachineRelocateSpecDiskLocatorBackingSpec struct { - DynamicData - - Parent *VirtualMachineRelocateSpecDiskLocatorBackingSpec `xml:"parent,omitempty"` - Crypto BaseCryptoSpec `xml:"crypto,omitempty,typeattr"` -} - -func init() { - t["VirtualMachineRelocateSpecDiskLocatorBackingSpec"] = reflect.TypeOf((*VirtualMachineRelocateSpecDiskLocatorBackingSpec)(nil)).Elem() -} - -type VirtualMachineRuntimeInfo struct { - DynamicData - - Device []VirtualMachineDeviceRuntimeInfo `xml:"device,omitempty"` - Host *ManagedObjectReference `xml:"host,omitempty"` - ConnectionState VirtualMachineConnectionState `xml:"connectionState"` - PowerState VirtualMachinePowerState `xml:"powerState"` - VmFailoverInProgress *bool `xml:"vmFailoverInProgress"` - FaultToleranceState VirtualMachineFaultToleranceState `xml:"faultToleranceState,omitempty"` - DasVmProtection *VirtualMachineRuntimeInfoDasProtectionState `xml:"dasVmProtection,omitempty"` - ToolsInstallerMounted bool `xml:"toolsInstallerMounted"` - SuspendTime *time.Time `xml:"suspendTime"` - BootTime *time.Time `xml:"bootTime"` - SuspendInterval int64 `xml:"suspendInterval,omitempty"` - Question *VirtualMachineQuestionInfo `xml:"question,omitempty"` - MemoryOverhead int64 `xml:"memoryOverhead,omitempty"` - MaxCpuUsage int32 `xml:"maxCpuUsage,omitempty"` - MaxMemoryUsage int32 `xml:"maxMemoryUsage,omitempty"` - NumMksConnections int32 `xml:"numMksConnections"` - RecordReplayState VirtualMachineRecordReplayState `xml:"recordReplayState,omitempty"` - CleanPowerOff *bool `xml:"cleanPowerOff"` - NeedSecondaryReason string `xml:"needSecondaryReason,omitempty"` - OnlineStandby *bool `xml:"onlineStandby"` - MinRequiredEVCModeKey string `xml:"minRequiredEVCModeKey,omitempty"` - ConsolidationNeeded *bool `xml:"consolidationNeeded"` - OfflineFeatureRequirement []VirtualMachineFeatureRequirement `xml:"offlineFeatureRequirement,omitempty"` - FeatureRequirement []VirtualMachineFeatureRequirement `xml:"featureRequirement,omitempty"` - FeatureMask []HostFeatureMask `xml:"featureMask,omitempty"` - VFlashCacheAllocation int64 `xml:"vFlashCacheAllocation,omitempty"` - Paused *bool `xml:"paused"` - SnapshotInBackground *bool `xml:"snapshotInBackground"` - QuiescedForkParent *bool `xml:"quiescedForkParent"` - InstantCloneFrozen *bool `xml:"instantCloneFrozen"` - CryptoState string `xml:"cryptoState,omitempty"` - SuspendedToMemory *bool `xml:"suspendedToMemory"` - OpNotificationTimeout int64 `xml:"opNotificationTimeout,omitempty"` -} - -func init() { - t["VirtualMachineRuntimeInfo"] = reflect.TypeOf((*VirtualMachineRuntimeInfo)(nil)).Elem() -} - -type VirtualMachineRuntimeInfoDasProtectionState struct { - DynamicData - - DasProtected bool `xml:"dasProtected"` -} - -func init() { - t["VirtualMachineRuntimeInfoDasProtectionState"] = reflect.TypeOf((*VirtualMachineRuntimeInfoDasProtectionState)(nil)).Elem() -} - -type VirtualMachineScsiDiskDeviceInfo struct { - VirtualMachineDiskDeviceInfo - - Disk *HostScsiDisk `xml:"disk,omitempty"` - TransportHint string `xml:"transportHint,omitempty"` - LunNumber int32 `xml:"lunNumber,omitempty"` -} - -func init() { - t["VirtualMachineScsiDiskDeviceInfo"] = reflect.TypeOf((*VirtualMachineScsiDiskDeviceInfo)(nil)).Elem() -} - -type VirtualMachineScsiPassthroughInfo struct { - VirtualMachineTargetInfo - - ScsiClass string `xml:"scsiClass"` - Vendor string `xml:"vendor"` - PhysicalUnitNumber int32 `xml:"physicalUnitNumber"` -} - -func init() { - t["VirtualMachineScsiPassthroughInfo"] = reflect.TypeOf((*VirtualMachineScsiPassthroughInfo)(nil)).Elem() -} - -type VirtualMachineSerialInfo struct { - VirtualMachineTargetInfo -} - -func init() { - t["VirtualMachineSerialInfo"] = reflect.TypeOf((*VirtualMachineSerialInfo)(nil)).Elem() -} - -type VirtualMachineSgxInfo struct { - DynamicData - - EpcSize int64 `xml:"epcSize"` - FlcMode string `xml:"flcMode,omitempty"` - LePubKeyHash string `xml:"lePubKeyHash,omitempty"` - RequireAttestation *bool `xml:"requireAttestation"` -} - -func init() { - t["VirtualMachineSgxInfo"] = reflect.TypeOf((*VirtualMachineSgxInfo)(nil)).Elem() -} - -type VirtualMachineSgxTargetInfo struct { - VirtualMachineTargetInfo - - MaxEpcSize int64 `xml:"maxEpcSize"` - FlcModes []string `xml:"flcModes,omitempty"` - LePubKeyHashes []string `xml:"lePubKeyHashes,omitempty"` - RequireAttestationSupported *bool `xml:"requireAttestationSupported"` -} - -func init() { - t["VirtualMachineSgxTargetInfo"] = reflect.TypeOf((*VirtualMachineSgxTargetInfo)(nil)).Elem() -} - -type VirtualMachineSnapshotInfo struct { - DynamicData - - CurrentSnapshot *ManagedObjectReference `xml:"currentSnapshot,omitempty"` - RootSnapshotList []VirtualMachineSnapshotTree `xml:"rootSnapshotList"` -} - -func init() { - t["VirtualMachineSnapshotInfo"] = reflect.TypeOf((*VirtualMachineSnapshotInfo)(nil)).Elem() -} - -type VirtualMachineSnapshotTree struct { - DynamicData - - Snapshot ManagedObjectReference `xml:"snapshot"` - Vm ManagedObjectReference `xml:"vm"` - Name string `xml:"name"` - Description string `xml:"description"` - Id int32 `xml:"id,omitempty"` - CreateTime time.Time `xml:"createTime"` - State VirtualMachinePowerState `xml:"state"` - Quiesced bool `xml:"quiesced"` - BackupManifest string `xml:"backupManifest,omitempty"` - ChildSnapshotList []VirtualMachineSnapshotTree `xml:"childSnapshotList,omitempty"` - ReplaySupported *bool `xml:"replaySupported"` -} - -func init() { - t["VirtualMachineSnapshotTree"] = reflect.TypeOf((*VirtualMachineSnapshotTree)(nil)).Elem() -} - -type VirtualMachineSoundInfo struct { - VirtualMachineTargetInfo -} - -func init() { - t["VirtualMachineSoundInfo"] = reflect.TypeOf((*VirtualMachineSoundInfo)(nil)).Elem() -} - -type VirtualMachineSriovDevicePoolInfo struct { - DynamicData - - Key string `xml:"key"` -} - -func init() { - t["VirtualMachineSriovDevicePoolInfo"] = reflect.TypeOf((*VirtualMachineSriovDevicePoolInfo)(nil)).Elem() -} - -type VirtualMachineSriovInfo struct { - VirtualMachinePciPassthroughInfo - - VirtualFunction bool `xml:"virtualFunction"` - Pnic string `xml:"pnic,omitempty"` - DevicePool BaseVirtualMachineSriovDevicePoolInfo `xml:"devicePool,omitempty,typeattr"` -} - -func init() { - t["VirtualMachineSriovInfo"] = reflect.TypeOf((*VirtualMachineSriovInfo)(nil)).Elem() -} - -type VirtualMachineSriovNetworkDevicePoolInfo struct { - VirtualMachineSriovDevicePoolInfo - - SwitchKey string `xml:"switchKey,omitempty"` - SwitchUuid string `xml:"switchUuid,omitempty"` -} - -func init() { - t["VirtualMachineSriovNetworkDevicePoolInfo"] = reflect.TypeOf((*VirtualMachineSriovNetworkDevicePoolInfo)(nil)).Elem() -} - -type VirtualMachineStorageInfo struct { - DynamicData - - PerDatastoreUsage []VirtualMachineUsageOnDatastore `xml:"perDatastoreUsage,omitempty"` - Timestamp time.Time `xml:"timestamp"` -} - -func init() { - t["VirtualMachineStorageInfo"] = reflect.TypeOf((*VirtualMachineStorageInfo)(nil)).Elem() -} - -type VirtualMachineStorageSummary struct { - DynamicData - - Committed int64 `xml:"committed"` - Uncommitted int64 `xml:"uncommitted"` - Unshared int64 `xml:"unshared"` - Timestamp time.Time `xml:"timestamp"` -} - -func init() { - t["VirtualMachineStorageSummary"] = reflect.TypeOf((*VirtualMachineStorageSummary)(nil)).Elem() -} - -type VirtualMachineSummary struct { - DynamicData - - Vm *ManagedObjectReference `xml:"vm,omitempty"` - Runtime VirtualMachineRuntimeInfo `xml:"runtime"` - Guest *VirtualMachineGuestSummary `xml:"guest,omitempty"` - Config VirtualMachineConfigSummary `xml:"config"` - Storage *VirtualMachineStorageSummary `xml:"storage,omitempty"` - QuickStats VirtualMachineQuickStats `xml:"quickStats"` - OverallStatus ManagedEntityStatus `xml:"overallStatus"` - CustomValue []BaseCustomFieldValue `xml:"customValue,omitempty,typeattr"` -} - -func init() { - t["VirtualMachineSummary"] = reflect.TypeOf((*VirtualMachineSummary)(nil)).Elem() -} - -type VirtualMachineTargetInfo struct { - DynamicData - - Name string `xml:"name"` - ConfigurationTag []string `xml:"configurationTag,omitempty"` -} - -func init() { - t["VirtualMachineTargetInfo"] = reflect.TypeOf((*VirtualMachineTargetInfo)(nil)).Elem() -} - -type VirtualMachineTicket struct { - DynamicData - - Ticket string `xml:"ticket"` - CfgFile string `xml:"cfgFile"` - Host string `xml:"host,omitempty"` - Port int32 `xml:"port,omitempty"` - SslThumbprint string `xml:"sslThumbprint,omitempty"` - CertThumbprintList []VirtualMachineCertThumbprint `xml:"certThumbprintList,omitempty"` - Url string `xml:"url,omitempty"` -} - -func init() { - t["VirtualMachineTicket"] = reflect.TypeOf((*VirtualMachineTicket)(nil)).Elem() -} - -type VirtualMachineUsageOnDatastore struct { - DynamicData - - Datastore ManagedObjectReference `xml:"datastore"` - Committed int64 `xml:"committed"` - Uncommitted int64 `xml:"uncommitted"` - Unshared int64 `xml:"unshared"` -} - -func init() { - t["VirtualMachineUsageOnDatastore"] = reflect.TypeOf((*VirtualMachineUsageOnDatastore)(nil)).Elem() -} - -type VirtualMachineUsbInfo struct { - VirtualMachineTargetInfo - - Description string `xml:"description"` - Vendor int32 `xml:"vendor"` - Product int32 `xml:"product"` - PhysicalPath string `xml:"physicalPath"` - Family []string `xml:"family,omitempty"` - Speed []string `xml:"speed,omitempty"` - Summary *VirtualMachineSummary `xml:"summary,omitempty"` -} - -func init() { - t["VirtualMachineUsbInfo"] = reflect.TypeOf((*VirtualMachineUsbInfo)(nil)).Elem() -} - -type VirtualMachineVFlashModuleInfo struct { - VirtualMachineTargetInfo - - VFlashModule HostVFlashManagerVFlashCacheConfigInfoVFlashModuleConfigOption `xml:"vFlashModule"` -} - -func init() { - t["VirtualMachineVFlashModuleInfo"] = reflect.TypeOf((*VirtualMachineVFlashModuleInfo)(nil)).Elem() -} - -type VirtualMachineVMCIDevice struct { - VirtualDevice - - Id int64 `xml:"id,omitempty"` - AllowUnrestrictedCommunication *bool `xml:"allowUnrestrictedCommunication"` - FilterEnable *bool `xml:"filterEnable"` - FilterInfo *VirtualMachineVMCIDeviceFilterInfo `xml:"filterInfo,omitempty"` -} - -func init() { - t["VirtualMachineVMCIDevice"] = reflect.TypeOf((*VirtualMachineVMCIDevice)(nil)).Elem() -} - -type VirtualMachineVMCIDeviceFilterInfo struct { - DynamicData - - Filters []VirtualMachineVMCIDeviceFilterSpec `xml:"filters,omitempty"` -} - -func init() { - t["VirtualMachineVMCIDeviceFilterInfo"] = reflect.TypeOf((*VirtualMachineVMCIDeviceFilterInfo)(nil)).Elem() -} - -type VirtualMachineVMCIDeviceFilterSpec struct { - DynamicData - - Rank int64 `xml:"rank"` - Action string `xml:"action"` - Protocol string `xml:"protocol"` - Direction string `xml:"direction"` - LowerDstPortBoundary int64 `xml:"lowerDstPortBoundary,omitempty"` - UpperDstPortBoundary int64 `xml:"upperDstPortBoundary,omitempty"` -} - -func init() { - t["VirtualMachineVMCIDeviceFilterSpec"] = reflect.TypeOf((*VirtualMachineVMCIDeviceFilterSpec)(nil)).Elem() -} - -type VirtualMachineVMCIDeviceOption struct { - VirtualDeviceOption - - AllowUnrestrictedCommunication BoolOption `xml:"allowUnrestrictedCommunication"` - FilterSpecOption *VirtualMachineVMCIDeviceOptionFilterSpecOption `xml:"filterSpecOption,omitempty"` - FilterSupported *BoolOption `xml:"filterSupported,omitempty"` -} - -func init() { - t["VirtualMachineVMCIDeviceOption"] = reflect.TypeOf((*VirtualMachineVMCIDeviceOption)(nil)).Elem() -} - -type VirtualMachineVMCIDeviceOptionFilterSpecOption struct { - DynamicData - - Action ChoiceOption `xml:"action"` - Protocol ChoiceOption `xml:"protocol"` - Direction ChoiceOption `xml:"direction"` - LowerDstPortBoundary LongOption `xml:"lowerDstPortBoundary"` - UpperDstPortBoundary LongOption `xml:"upperDstPortBoundary"` -} - -func init() { - t["VirtualMachineVMCIDeviceOptionFilterSpecOption"] = reflect.TypeOf((*VirtualMachineVMCIDeviceOptionFilterSpecOption)(nil)).Elem() -} - -type VirtualMachineVMIROM struct { - VirtualDevice -} - -func init() { - t["VirtualMachineVMIROM"] = reflect.TypeOf((*VirtualMachineVMIROM)(nil)).Elem() -} - -type VirtualMachineVcpuConfig struct { - DynamicData - - LatencySensitivity *LatencySensitivity `xml:"latencySensitivity,omitempty"` -} - -func init() { - t["VirtualMachineVcpuConfig"] = reflect.TypeOf((*VirtualMachineVcpuConfig)(nil)).Elem() -} - -type VirtualMachineVendorDeviceGroupInfo struct { - VirtualMachineTargetInfo - - DeviceGroupName string `xml:"deviceGroupName"` - DeviceGroupDescription string `xml:"deviceGroupDescription,omitempty"` - ComponentDeviceInfo []VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo `xml:"componentDeviceInfo,omitempty"` -} - -func init() { - t["VirtualMachineVendorDeviceGroupInfo"] = reflect.TypeOf((*VirtualMachineVendorDeviceGroupInfo)(nil)).Elem() -} - -type VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo struct { - DynamicData - - Type string `xml:"type"` - VendorName string `xml:"vendorName"` - DeviceName string `xml:"deviceName"` - IsConfigurable bool `xml:"isConfigurable"` - Device BaseVirtualDevice `xml:"device,typeattr"` -} - -func init() { - t["VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo"] = reflect.TypeOf((*VirtualMachineVendorDeviceGroupInfoComponentDeviceInfo)(nil)).Elem() -} - -type VirtualMachineVgpuDeviceInfo struct { - VirtualMachineTargetInfo - - DeviceName string `xml:"deviceName"` - DeviceVendorId int64 `xml:"deviceVendorId"` - MaxFbSizeInGib int64 `xml:"maxFbSizeInGib"` - TimeSlicedCapable bool `xml:"timeSlicedCapable"` - MigCapable bool `xml:"migCapable"` - ComputeProfileCapable bool `xml:"computeProfileCapable"` - QuadroProfileCapable bool `xml:"quadroProfileCapable"` -} - -func init() { - t["VirtualMachineVgpuDeviceInfo"] = reflect.TypeOf((*VirtualMachineVgpuDeviceInfo)(nil)).Elem() -} - -type VirtualMachineVgpuProfileInfo struct { - VirtualMachineTargetInfo - - ProfileName string `xml:"profileName"` - DeviceVendorId int64 `xml:"deviceVendorId"` - FbSizeInGib int64 `xml:"fbSizeInGib"` - ProfileSharing string `xml:"profileSharing"` - ProfileClass string `xml:"profileClass"` -} - -func init() { - t["VirtualMachineVgpuProfileInfo"] = reflect.TypeOf((*VirtualMachineVgpuProfileInfo)(nil)).Elem() -} - -type VirtualMachineVideoCard struct { - VirtualDevice - - VideoRamSizeInKB int64 `xml:"videoRamSizeInKB,omitempty"` - NumDisplays int32 `xml:"numDisplays,omitempty"` - UseAutoDetect *bool `xml:"useAutoDetect"` - Enable3DSupport *bool `xml:"enable3DSupport"` - Use3dRenderer string `xml:"use3dRenderer,omitempty"` - GraphicsMemorySizeInKB int64 `xml:"graphicsMemorySizeInKB,omitempty"` -} - -func init() { - t["VirtualMachineVideoCard"] = reflect.TypeOf((*VirtualMachineVideoCard)(nil)).Elem() -} - -type VirtualMachineVirtualDeviceGroups struct { - DynamicData - - DeviceGroup []BaseVirtualMachineVirtualDeviceGroupsDeviceGroup `xml:"deviceGroup,omitempty,typeattr"` -} - -func init() { - t["VirtualMachineVirtualDeviceGroups"] = reflect.TypeOf((*VirtualMachineVirtualDeviceGroups)(nil)).Elem() -} - -type VirtualMachineVirtualDeviceGroupsDeviceGroup struct { - DynamicData - - GroupInstanceKey int32 `xml:"groupInstanceKey"` - DeviceInfo BaseDescription `xml:"deviceInfo,omitempty,typeattr"` -} - -func init() { - t["VirtualMachineVirtualDeviceGroupsDeviceGroup"] = reflect.TypeOf((*VirtualMachineVirtualDeviceGroupsDeviceGroup)(nil)).Elem() -} - -type VirtualMachineVirtualDeviceGroupsVendorDeviceGroup struct { - VirtualMachineVirtualDeviceGroupsDeviceGroup - - DeviceGroupName string `xml:"deviceGroupName"` -} - -func init() { - t["VirtualMachineVirtualDeviceGroupsVendorDeviceGroup"] = reflect.TypeOf((*VirtualMachineVirtualDeviceGroupsVendorDeviceGroup)(nil)).Elem() -} - -type VirtualMachineVirtualDeviceSwap struct { - DynamicData - - LsiToPvscsi *VirtualMachineVirtualDeviceSwapDeviceSwapInfo `xml:"lsiToPvscsi,omitempty"` -} - -func init() { - t["VirtualMachineVirtualDeviceSwap"] = reflect.TypeOf((*VirtualMachineVirtualDeviceSwap)(nil)).Elem() -} - -type VirtualMachineVirtualDeviceSwapDeviceSwapInfo struct { - DynamicData - - Enabled *bool `xml:"enabled"` - Applicable *bool `xml:"applicable"` - Status string `xml:"status,omitempty"` -} - -func init() { - t["VirtualMachineVirtualDeviceSwapDeviceSwapInfo"] = reflect.TypeOf((*VirtualMachineVirtualDeviceSwapDeviceSwapInfo)(nil)).Elem() -} - -type VirtualMachineVirtualNuma struct { - DynamicData - - CoresPerNumaNode int32 `xml:"coresPerNumaNode,omitempty"` - ExposeVnumaOnCpuHotadd *bool `xml:"exposeVnumaOnCpuHotadd"` -} - -func init() { - t["VirtualMachineVirtualNuma"] = reflect.TypeOf((*VirtualMachineVirtualNuma)(nil)).Elem() -} - -type VirtualMachineVirtualNumaInfo struct { - DynamicData - - CoresPerNumaNode int32 `xml:"coresPerNumaNode,omitempty"` - AutoCoresPerNumaNode *bool `xml:"autoCoresPerNumaNode"` - VnumaOnCpuHotaddExposed *bool `xml:"vnumaOnCpuHotaddExposed"` -} - -func init() { - t["VirtualMachineVirtualNumaInfo"] = reflect.TypeOf((*VirtualMachineVirtualNumaInfo)(nil)).Elem() -} - -type VirtualMachineVirtualPMem struct { - DynamicData - - SnapshotMode string `xml:"snapshotMode,omitempty"` -} - -func init() { - t["VirtualMachineVirtualPMem"] = reflect.TypeOf((*VirtualMachineVirtualPMem)(nil)).Elem() -} - -type VirtualMachineWindowsQuiesceSpec struct { - VirtualMachineGuestQuiesceSpec - - VssBackupType int32 `xml:"vssBackupType,omitempty"` - VssBootableSystemState *bool `xml:"vssBootableSystemState"` - VssPartialFileSupport *bool `xml:"vssPartialFileSupport"` - VssBackupContext string `xml:"vssBackupContext,omitempty"` -} - -func init() { - t["VirtualMachineWindowsQuiesceSpec"] = reflect.TypeOf((*VirtualMachineWindowsQuiesceSpec)(nil)).Elem() -} - -type VirtualMachineWipeResult struct { - DynamicData - - DiskId int32 `xml:"diskId"` - ShrinkableDiskSpace int64 `xml:"shrinkableDiskSpace"` -} - -func init() { - t["VirtualMachineWipeResult"] = reflect.TypeOf((*VirtualMachineWipeResult)(nil)).Elem() -} - -type VirtualNVDIMM struct { - VirtualDevice - - CapacityInMB int64 `xml:"capacityInMB"` - ConfiguredCapacityInMB int64 `xml:"configuredCapacityInMB,omitempty"` -} - -func init() { - t["VirtualNVDIMM"] = reflect.TypeOf((*VirtualNVDIMM)(nil)).Elem() -} - -type VirtualNVDIMMBackingInfo struct { - VirtualDeviceFileBackingInfo - - Parent *VirtualNVDIMMBackingInfo `xml:"parent,omitempty"` - ChangeId string `xml:"changeId,omitempty"` -} - -func init() { - t["VirtualNVDIMMBackingInfo"] = reflect.TypeOf((*VirtualNVDIMMBackingInfo)(nil)).Elem() -} - -type VirtualNVDIMMController struct { - VirtualController -} - -func init() { - t["VirtualNVDIMMController"] = reflect.TypeOf((*VirtualNVDIMMController)(nil)).Elem() -} - -type VirtualNVDIMMControllerOption struct { - VirtualControllerOption - - NumNVDIMMControllers IntOption `xml:"numNVDIMMControllers"` -} - -func init() { - t["VirtualNVDIMMControllerOption"] = reflect.TypeOf((*VirtualNVDIMMControllerOption)(nil)).Elem() -} - -type VirtualNVDIMMOption struct { - VirtualDeviceOption - - CapacityInMB LongOption `xml:"capacityInMB"` - Growable bool `xml:"growable"` - HotGrowable bool `xml:"hotGrowable"` - GranularityInMB int64 `xml:"granularityInMB"` -} - -func init() { - t["VirtualNVDIMMOption"] = reflect.TypeOf((*VirtualNVDIMMOption)(nil)).Elem() -} - -type VirtualNVMEController struct { - VirtualController -} - -func init() { - t["VirtualNVMEController"] = reflect.TypeOf((*VirtualNVMEController)(nil)).Elem() -} - -type VirtualNVMEControllerOption struct { - VirtualControllerOption - - NumNVMEDisks IntOption `xml:"numNVMEDisks"` -} - -func init() { - t["VirtualNVMEControllerOption"] = reflect.TypeOf((*VirtualNVMEControllerOption)(nil)).Elem() -} - -type VirtualNicManagerNetConfig struct { - DynamicData - - NicType string `xml:"nicType"` - MultiSelectAllowed bool `xml:"multiSelectAllowed"` - CandidateVnic []HostVirtualNic `xml:"candidateVnic,omitempty"` - SelectedVnic []string `xml:"selectedVnic,omitempty"` -} - -func init() { - t["VirtualNicManagerNetConfig"] = reflect.TypeOf((*VirtualNicManagerNetConfig)(nil)).Elem() -} - -type VirtualPCIController struct { - VirtualController -} - -func init() { - t["VirtualPCIController"] = reflect.TypeOf((*VirtualPCIController)(nil)).Elem() -} - -type VirtualPCIControllerOption struct { - VirtualControllerOption - - NumSCSIControllers IntOption `xml:"numSCSIControllers"` - NumEthernetCards IntOption `xml:"numEthernetCards"` - NumVideoCards IntOption `xml:"numVideoCards"` - NumSoundCards IntOption `xml:"numSoundCards"` - NumVmiRoms IntOption `xml:"numVmiRoms"` - NumVmciDevices *IntOption `xml:"numVmciDevices,omitempty"` - NumPCIPassthroughDevices *IntOption `xml:"numPCIPassthroughDevices,omitempty"` - NumSasSCSIControllers *IntOption `xml:"numSasSCSIControllers,omitempty"` - NumVmxnet3EthernetCards *IntOption `xml:"numVmxnet3EthernetCards,omitempty"` - NumParaVirtualSCSIControllers *IntOption `xml:"numParaVirtualSCSIControllers,omitempty"` - NumSATAControllers *IntOption `xml:"numSATAControllers,omitempty"` - NumNVMEControllers *IntOption `xml:"numNVMEControllers,omitempty"` - NumVmxnet3VrdmaEthernetCards *IntOption `xml:"numVmxnet3VrdmaEthernetCards,omitempty"` -} - -func init() { - t["VirtualPCIControllerOption"] = reflect.TypeOf((*VirtualPCIControllerOption)(nil)).Elem() -} - -type VirtualPCIPassthrough struct { - VirtualDevice -} - -func init() { - t["VirtualPCIPassthrough"] = reflect.TypeOf((*VirtualPCIPassthrough)(nil)).Elem() -} - -type VirtualPCIPassthroughAllowedDevice struct { - DynamicData - - VendorId int32 `xml:"vendorId"` - DeviceId int32 `xml:"deviceId"` - SubVendorId int32 `xml:"subVendorId,omitempty"` - SubDeviceId int32 `xml:"subDeviceId,omitempty"` - RevisionId int16 `xml:"revisionId,omitempty"` -} - -func init() { - t["VirtualPCIPassthroughAllowedDevice"] = reflect.TypeOf((*VirtualPCIPassthroughAllowedDevice)(nil)).Elem() -} - -type VirtualPCIPassthroughDeviceBackingInfo struct { - VirtualDeviceDeviceBackingInfo - - Id string `xml:"id"` - DeviceId string `xml:"deviceId"` - SystemId string `xml:"systemId"` - VendorId int16 `xml:"vendorId"` -} - -func init() { - t["VirtualPCIPassthroughDeviceBackingInfo"] = reflect.TypeOf((*VirtualPCIPassthroughDeviceBackingInfo)(nil)).Elem() -} - -type VirtualPCIPassthroughDeviceBackingOption struct { - VirtualDeviceDeviceBackingOption -} - -func init() { - t["VirtualPCIPassthroughDeviceBackingOption"] = reflect.TypeOf((*VirtualPCIPassthroughDeviceBackingOption)(nil)).Elem() -} - -type VirtualPCIPassthroughDvxBackingInfo struct { - VirtualDeviceBackingInfo - - DeviceClass string `xml:"deviceClass,omitempty"` - ConfigParams []BaseOptionValue `xml:"configParams,omitempty,typeattr"` -} - -func init() { - t["VirtualPCIPassthroughDvxBackingInfo"] = reflect.TypeOf((*VirtualPCIPassthroughDvxBackingInfo)(nil)).Elem() -} - -type VirtualPCIPassthroughDvxBackingOption struct { - VirtualDeviceBackingOption -} - -func init() { - t["VirtualPCIPassthroughDvxBackingOption"] = reflect.TypeOf((*VirtualPCIPassthroughDvxBackingOption)(nil)).Elem() -} - -type VirtualPCIPassthroughDynamicBackingInfo struct { - VirtualDeviceDeviceBackingInfo - - AllowedDevice []VirtualPCIPassthroughAllowedDevice `xml:"allowedDevice,omitempty"` - CustomLabel string `xml:"customLabel,omitempty"` - AssignedId string `xml:"assignedId,omitempty"` -} - -func init() { - t["VirtualPCIPassthroughDynamicBackingInfo"] = reflect.TypeOf((*VirtualPCIPassthroughDynamicBackingInfo)(nil)).Elem() -} - -type VirtualPCIPassthroughDynamicBackingOption struct { - VirtualDeviceDeviceBackingOption -} - -func init() { - t["VirtualPCIPassthroughDynamicBackingOption"] = reflect.TypeOf((*VirtualPCIPassthroughDynamicBackingOption)(nil)).Elem() -} - -type VirtualPCIPassthroughOption struct { - VirtualDeviceOption -} - -func init() { - t["VirtualPCIPassthroughOption"] = reflect.TypeOf((*VirtualPCIPassthroughOption)(nil)).Elem() -} - -type VirtualPCIPassthroughPluginBackingInfo struct { - VirtualDeviceBackingInfo -} - -func init() { - t["VirtualPCIPassthroughPluginBackingInfo"] = reflect.TypeOf((*VirtualPCIPassthroughPluginBackingInfo)(nil)).Elem() -} - -type VirtualPCIPassthroughPluginBackingOption struct { - VirtualDeviceBackingOption -} - -func init() { - t["VirtualPCIPassthroughPluginBackingOption"] = reflect.TypeOf((*VirtualPCIPassthroughPluginBackingOption)(nil)).Elem() -} - -type VirtualPCIPassthroughVmiopBackingInfo struct { - VirtualPCIPassthroughPluginBackingInfo - - Vgpu string `xml:"vgpu,omitempty"` - VgpuMigrateDataSizeMB int32 `xml:"vgpuMigrateDataSizeMB,omitempty"` - MigrateSupported *bool `xml:"migrateSupported"` - EnhancedMigrateCapability *bool `xml:"enhancedMigrateCapability"` -} - -func init() { - t["VirtualPCIPassthroughVmiopBackingInfo"] = reflect.TypeOf((*VirtualPCIPassthroughVmiopBackingInfo)(nil)).Elem() -} - -type VirtualPCIPassthroughVmiopBackingOption struct { - VirtualPCIPassthroughPluginBackingOption - - Vgpu StringOption `xml:"vgpu"` - MaxInstances int32 `xml:"maxInstances"` -} - -func init() { - t["VirtualPCIPassthroughVmiopBackingOption"] = reflect.TypeOf((*VirtualPCIPassthroughVmiopBackingOption)(nil)).Elem() -} - -type VirtualPCNet32 struct { - VirtualEthernetCard -} - -func init() { - t["VirtualPCNet32"] = reflect.TypeOf((*VirtualPCNet32)(nil)).Elem() -} - -type VirtualPCNet32Option struct { - VirtualEthernetCardOption - - SupportsMorphing bool `xml:"supportsMorphing"` -} - -func init() { - t["VirtualPCNet32Option"] = reflect.TypeOf((*VirtualPCNet32Option)(nil)).Elem() -} - -type VirtualPS2Controller struct { - VirtualController -} - -func init() { - t["VirtualPS2Controller"] = reflect.TypeOf((*VirtualPS2Controller)(nil)).Elem() -} - -type VirtualPS2ControllerOption struct { - VirtualControllerOption - - NumKeyboards IntOption `xml:"numKeyboards"` - NumPointingDevices IntOption `xml:"numPointingDevices"` -} - -func init() { - t["VirtualPS2ControllerOption"] = reflect.TypeOf((*VirtualPS2ControllerOption)(nil)).Elem() -} - -type VirtualParallelPort struct { - VirtualDevice -} - -func init() { - t["VirtualParallelPort"] = reflect.TypeOf((*VirtualParallelPort)(nil)).Elem() -} - -type VirtualParallelPortDeviceBackingInfo struct { - VirtualDeviceDeviceBackingInfo -} - -func init() { - t["VirtualParallelPortDeviceBackingInfo"] = reflect.TypeOf((*VirtualParallelPortDeviceBackingInfo)(nil)).Elem() -} - -type VirtualParallelPortDeviceBackingOption struct { - VirtualDeviceDeviceBackingOption -} - -func init() { - t["VirtualParallelPortDeviceBackingOption"] = reflect.TypeOf((*VirtualParallelPortDeviceBackingOption)(nil)).Elem() -} - -type VirtualParallelPortFileBackingInfo struct { - VirtualDeviceFileBackingInfo -} - -func init() { - t["VirtualParallelPortFileBackingInfo"] = reflect.TypeOf((*VirtualParallelPortFileBackingInfo)(nil)).Elem() -} - -type VirtualParallelPortFileBackingOption struct { - VirtualDeviceFileBackingOption -} - -func init() { - t["VirtualParallelPortFileBackingOption"] = reflect.TypeOf((*VirtualParallelPortFileBackingOption)(nil)).Elem() -} - -type VirtualParallelPortOption struct { - VirtualDeviceOption -} - -func init() { - t["VirtualParallelPortOption"] = reflect.TypeOf((*VirtualParallelPortOption)(nil)).Elem() -} - -type VirtualPointingDevice struct { - VirtualDevice -} - -func init() { - t["VirtualPointingDevice"] = reflect.TypeOf((*VirtualPointingDevice)(nil)).Elem() -} - -type VirtualPointingDeviceBackingOption struct { - VirtualDeviceDeviceBackingOption - - HostPointingDevice ChoiceOption `xml:"hostPointingDevice"` -} - -func init() { - t["VirtualPointingDeviceBackingOption"] = reflect.TypeOf((*VirtualPointingDeviceBackingOption)(nil)).Elem() -} - -type VirtualPointingDeviceDeviceBackingInfo struct { - VirtualDeviceDeviceBackingInfo - - HostPointingDevice string `xml:"hostPointingDevice"` -} - -func init() { - t["VirtualPointingDeviceDeviceBackingInfo"] = reflect.TypeOf((*VirtualPointingDeviceDeviceBackingInfo)(nil)).Elem() -} - -type VirtualPointingDeviceOption struct { - VirtualDeviceOption -} - -func init() { - t["VirtualPointingDeviceOption"] = reflect.TypeOf((*VirtualPointingDeviceOption)(nil)).Elem() -} - -type VirtualPrecisionClock struct { - VirtualDevice -} - -func init() { - t["VirtualPrecisionClock"] = reflect.TypeOf((*VirtualPrecisionClock)(nil)).Elem() -} - -type VirtualPrecisionClockOption struct { - VirtualDeviceOption -} - -func init() { - t["VirtualPrecisionClockOption"] = reflect.TypeOf((*VirtualPrecisionClockOption)(nil)).Elem() -} - -type VirtualPrecisionClockSystemClockBackingInfo struct { - VirtualDeviceBackingInfo - - Protocol string `xml:"protocol,omitempty"` -} - -func init() { - t["VirtualPrecisionClockSystemClockBackingInfo"] = reflect.TypeOf((*VirtualPrecisionClockSystemClockBackingInfo)(nil)).Elem() -} - -type VirtualPrecisionClockSystemClockBackingOption struct { - VirtualDeviceBackingOption - - Protocol ChoiceOption `xml:"protocol"` -} - -func init() { - t["VirtualPrecisionClockSystemClockBackingOption"] = reflect.TypeOf((*VirtualPrecisionClockSystemClockBackingOption)(nil)).Elem() -} - -type VirtualSATAController struct { - VirtualController -} - -func init() { - t["VirtualSATAController"] = reflect.TypeOf((*VirtualSATAController)(nil)).Elem() -} - -type VirtualSATAControllerOption struct { - VirtualControllerOption - - NumSATADisks IntOption `xml:"numSATADisks"` - NumSATACdroms IntOption `xml:"numSATACdroms"` -} - -func init() { - t["VirtualSATAControllerOption"] = reflect.TypeOf((*VirtualSATAControllerOption)(nil)).Elem() -} - -type VirtualSCSIController struct { - VirtualController - - HotAddRemove *bool `xml:"hotAddRemove"` - SharedBus VirtualSCSISharing `xml:"sharedBus"` - ScsiCtlrUnitNumber int32 `xml:"scsiCtlrUnitNumber,omitempty"` -} - -func init() { - t["VirtualSCSIController"] = reflect.TypeOf((*VirtualSCSIController)(nil)).Elem() -} - -type VirtualSCSIControllerOption struct { - VirtualControllerOption - - NumSCSIDisks IntOption `xml:"numSCSIDisks"` - NumSCSICdroms IntOption `xml:"numSCSICdroms"` - NumSCSIPassthrough IntOption `xml:"numSCSIPassthrough"` - Sharing []VirtualSCSISharing `xml:"sharing"` - DefaultSharedIndex int32 `xml:"defaultSharedIndex"` - HotAddRemove BoolOption `xml:"hotAddRemove"` - ScsiCtlrUnitNumber int32 `xml:"scsiCtlrUnitNumber"` -} - -func init() { - t["VirtualSCSIControllerOption"] = reflect.TypeOf((*VirtualSCSIControllerOption)(nil)).Elem() -} - -type VirtualSCSIPassthrough struct { - VirtualDevice -} - -func init() { - t["VirtualSCSIPassthrough"] = reflect.TypeOf((*VirtualSCSIPassthrough)(nil)).Elem() -} - -type VirtualSCSIPassthroughDeviceBackingInfo struct { - VirtualDeviceDeviceBackingInfo -} - -func init() { - t["VirtualSCSIPassthroughDeviceBackingInfo"] = reflect.TypeOf((*VirtualSCSIPassthroughDeviceBackingInfo)(nil)).Elem() -} - -type VirtualSCSIPassthroughDeviceBackingOption struct { - VirtualDeviceDeviceBackingOption -} - -func init() { - t["VirtualSCSIPassthroughDeviceBackingOption"] = reflect.TypeOf((*VirtualSCSIPassthroughDeviceBackingOption)(nil)).Elem() -} - -type VirtualSCSIPassthroughOption struct { - VirtualDeviceOption -} - -func init() { - t["VirtualSCSIPassthroughOption"] = reflect.TypeOf((*VirtualSCSIPassthroughOption)(nil)).Elem() -} - -type VirtualSIOController struct { - VirtualController -} - -func init() { - t["VirtualSIOController"] = reflect.TypeOf((*VirtualSIOController)(nil)).Elem() -} - -type VirtualSIOControllerOption struct { - VirtualControllerOption - - NumFloppyDrives IntOption `xml:"numFloppyDrives"` - NumSerialPorts IntOption `xml:"numSerialPorts"` - NumParallelPorts IntOption `xml:"numParallelPorts"` -} - -func init() { - t["VirtualSIOControllerOption"] = reflect.TypeOf((*VirtualSIOControllerOption)(nil)).Elem() -} - -type VirtualSerialPort struct { - VirtualDevice - - YieldOnPoll bool `xml:"yieldOnPoll"` -} - -func init() { - t["VirtualSerialPort"] = reflect.TypeOf((*VirtualSerialPort)(nil)).Elem() -} - -type VirtualSerialPortDeviceBackingInfo struct { - VirtualDeviceDeviceBackingInfo -} - -func init() { - t["VirtualSerialPortDeviceBackingInfo"] = reflect.TypeOf((*VirtualSerialPortDeviceBackingInfo)(nil)).Elem() -} - -type VirtualSerialPortDeviceBackingOption struct { - VirtualDeviceDeviceBackingOption -} - -func init() { - t["VirtualSerialPortDeviceBackingOption"] = reflect.TypeOf((*VirtualSerialPortDeviceBackingOption)(nil)).Elem() -} - -type VirtualSerialPortFileBackingInfo struct { - VirtualDeviceFileBackingInfo -} - -func init() { - t["VirtualSerialPortFileBackingInfo"] = reflect.TypeOf((*VirtualSerialPortFileBackingInfo)(nil)).Elem() -} - -type VirtualSerialPortFileBackingOption struct { - VirtualDeviceFileBackingOption -} - -func init() { - t["VirtualSerialPortFileBackingOption"] = reflect.TypeOf((*VirtualSerialPortFileBackingOption)(nil)).Elem() -} - -type VirtualSerialPortOption struct { - VirtualDeviceOption - - YieldOnPoll BoolOption `xml:"yieldOnPoll"` -} - -func init() { - t["VirtualSerialPortOption"] = reflect.TypeOf((*VirtualSerialPortOption)(nil)).Elem() -} - -type VirtualSerialPortPipeBackingInfo struct { - VirtualDevicePipeBackingInfo - - Endpoint string `xml:"endpoint"` - NoRxLoss *bool `xml:"noRxLoss"` -} - -func init() { - t["VirtualSerialPortPipeBackingInfo"] = reflect.TypeOf((*VirtualSerialPortPipeBackingInfo)(nil)).Elem() -} - -type VirtualSerialPortPipeBackingOption struct { - VirtualDevicePipeBackingOption - - Endpoint ChoiceOption `xml:"endpoint"` - NoRxLoss BoolOption `xml:"noRxLoss"` -} - -func init() { - t["VirtualSerialPortPipeBackingOption"] = reflect.TypeOf((*VirtualSerialPortPipeBackingOption)(nil)).Elem() -} - -type VirtualSerialPortThinPrintBackingInfo struct { - VirtualDeviceBackingInfo -} - -func init() { - t["VirtualSerialPortThinPrintBackingInfo"] = reflect.TypeOf((*VirtualSerialPortThinPrintBackingInfo)(nil)).Elem() -} - -type VirtualSerialPortThinPrintBackingOption struct { - VirtualDeviceBackingOption -} - -func init() { - t["VirtualSerialPortThinPrintBackingOption"] = reflect.TypeOf((*VirtualSerialPortThinPrintBackingOption)(nil)).Elem() -} - -type VirtualSerialPortURIBackingInfo struct { - VirtualDeviceURIBackingInfo -} - -func init() { - t["VirtualSerialPortURIBackingInfo"] = reflect.TypeOf((*VirtualSerialPortURIBackingInfo)(nil)).Elem() -} - -type VirtualSerialPortURIBackingOption struct { - VirtualDeviceURIBackingOption -} - -func init() { - t["VirtualSerialPortURIBackingOption"] = reflect.TypeOf((*VirtualSerialPortURIBackingOption)(nil)).Elem() -} - -type VirtualSoundBlaster16 struct { - VirtualSoundCard -} - -func init() { - t["VirtualSoundBlaster16"] = reflect.TypeOf((*VirtualSoundBlaster16)(nil)).Elem() -} - -type VirtualSoundBlaster16Option struct { - VirtualSoundCardOption -} - -func init() { - t["VirtualSoundBlaster16Option"] = reflect.TypeOf((*VirtualSoundBlaster16Option)(nil)).Elem() -} - -type VirtualSoundCard struct { - VirtualDevice -} - -func init() { - t["VirtualSoundCard"] = reflect.TypeOf((*VirtualSoundCard)(nil)).Elem() -} - -type VirtualSoundCardDeviceBackingInfo struct { - VirtualDeviceDeviceBackingInfo -} - -func init() { - t["VirtualSoundCardDeviceBackingInfo"] = reflect.TypeOf((*VirtualSoundCardDeviceBackingInfo)(nil)).Elem() -} - -type VirtualSoundCardDeviceBackingOption struct { - VirtualDeviceDeviceBackingOption -} - -func init() { - t["VirtualSoundCardDeviceBackingOption"] = reflect.TypeOf((*VirtualSoundCardDeviceBackingOption)(nil)).Elem() -} - -type VirtualSoundCardOption struct { - VirtualDeviceOption -} - -func init() { - t["VirtualSoundCardOption"] = reflect.TypeOf((*VirtualSoundCardOption)(nil)).Elem() -} - -type VirtualSriovEthernetCard struct { - VirtualEthernetCard - - AllowGuestOSMtuChange *bool `xml:"allowGuestOSMtuChange"` - SriovBacking *VirtualSriovEthernetCardSriovBackingInfo `xml:"sriovBacking,omitempty"` - DvxBackingInfo *VirtualPCIPassthroughDvxBackingInfo `xml:"dvxBackingInfo,omitempty"` -} - -func init() { - t["VirtualSriovEthernetCard"] = reflect.TypeOf((*VirtualSriovEthernetCard)(nil)).Elem() -} - -type VirtualSriovEthernetCardOption struct { - VirtualEthernetCardOption -} - -func init() { - t["VirtualSriovEthernetCardOption"] = reflect.TypeOf((*VirtualSriovEthernetCardOption)(nil)).Elem() -} - -type VirtualSriovEthernetCardSriovBackingInfo struct { - VirtualDeviceBackingInfo - - PhysicalFunctionBacking *VirtualPCIPassthroughDeviceBackingInfo `xml:"physicalFunctionBacking,omitempty"` - VirtualFunctionBacking *VirtualPCIPassthroughDeviceBackingInfo `xml:"virtualFunctionBacking,omitempty"` - VirtualFunctionIndex int32 `xml:"virtualFunctionIndex,omitempty"` -} - -func init() { - t["VirtualSriovEthernetCardSriovBackingInfo"] = reflect.TypeOf((*VirtualSriovEthernetCardSriovBackingInfo)(nil)).Elem() -} - -type VirtualSriovEthernetCardSriovBackingOption struct { - VirtualDeviceBackingOption -} - -func init() { - t["VirtualSriovEthernetCardSriovBackingOption"] = reflect.TypeOf((*VirtualSriovEthernetCardSriovBackingOption)(nil)).Elem() -} - -type VirtualSwitchProfile struct { - ApplyProfile - - Key string `xml:"key"` - Name string `xml:"name"` - Link LinkProfile `xml:"link"` - NumPorts NumPortsProfile `xml:"numPorts"` - NetworkPolicy NetworkPolicyProfile `xml:"networkPolicy"` -} - -func init() { - t["VirtualSwitchProfile"] = reflect.TypeOf((*VirtualSwitchProfile)(nil)).Elem() -} - -type VirtualSwitchSelectionProfile struct { - ApplyProfile -} - -func init() { - t["VirtualSwitchSelectionProfile"] = reflect.TypeOf((*VirtualSwitchSelectionProfile)(nil)).Elem() -} - -type VirtualTPM struct { - VirtualDevice - - EndorsementKeyCertificateSigningRequest [][]byte `xml:"endorsementKeyCertificateSigningRequest,omitempty"` - EndorsementKeyCertificate [][]byte `xml:"endorsementKeyCertificate,omitempty"` -} - -func init() { - t["VirtualTPM"] = reflect.TypeOf((*VirtualTPM)(nil)).Elem() -} - -type VirtualTPMOption struct { - VirtualDeviceOption - - SupportedFirmware []string `xml:"supportedFirmware,omitempty"` -} - -func init() { - t["VirtualTPMOption"] = reflect.TypeOf((*VirtualTPMOption)(nil)).Elem() -} - -type VirtualUSB struct { - VirtualDevice - - Connected bool `xml:"connected"` - Vendor int32 `xml:"vendor,omitempty"` - Product int32 `xml:"product,omitempty"` - Family []string `xml:"family,omitempty"` - Speed []string `xml:"speed,omitempty"` -} - -func init() { - t["VirtualUSB"] = reflect.TypeOf((*VirtualUSB)(nil)).Elem() -} - -type VirtualUSBController struct { - VirtualController - - AutoConnectDevices *bool `xml:"autoConnectDevices"` - EhciEnabled *bool `xml:"ehciEnabled"` -} - -func init() { - t["VirtualUSBController"] = reflect.TypeOf((*VirtualUSBController)(nil)).Elem() -} - -type VirtualUSBControllerOption struct { - VirtualControllerOption - - AutoConnectDevices BoolOption `xml:"autoConnectDevices"` - EhciSupported BoolOption `xml:"ehciSupported"` - SupportedSpeeds []string `xml:"supportedSpeeds,omitempty"` -} - -func init() { - t["VirtualUSBControllerOption"] = reflect.TypeOf((*VirtualUSBControllerOption)(nil)).Elem() -} - -type VirtualUSBControllerPciBusSlotInfo struct { - VirtualDevicePciBusSlotInfo - - EhciPciSlotNumber int32 `xml:"ehciPciSlotNumber,omitempty"` -} - -func init() { - t["VirtualUSBControllerPciBusSlotInfo"] = reflect.TypeOf((*VirtualUSBControllerPciBusSlotInfo)(nil)).Elem() -} - -type VirtualUSBOption struct { - VirtualDeviceOption -} - -func init() { - t["VirtualUSBOption"] = reflect.TypeOf((*VirtualUSBOption)(nil)).Elem() -} - -type VirtualUSBRemoteClientBackingInfo struct { - VirtualDeviceRemoteDeviceBackingInfo - - Hostname string `xml:"hostname"` -} - -func init() { - t["VirtualUSBRemoteClientBackingInfo"] = reflect.TypeOf((*VirtualUSBRemoteClientBackingInfo)(nil)).Elem() -} - -type VirtualUSBRemoteClientBackingOption struct { - VirtualDeviceRemoteDeviceBackingOption -} - -func init() { - t["VirtualUSBRemoteClientBackingOption"] = reflect.TypeOf((*VirtualUSBRemoteClientBackingOption)(nil)).Elem() -} - -type VirtualUSBRemoteHostBackingInfo struct { - VirtualDeviceDeviceBackingInfo - - Hostname string `xml:"hostname"` -} - -func init() { - t["VirtualUSBRemoteHostBackingInfo"] = reflect.TypeOf((*VirtualUSBRemoteHostBackingInfo)(nil)).Elem() -} - -type VirtualUSBRemoteHostBackingOption struct { - VirtualDeviceDeviceBackingOption -} - -func init() { - t["VirtualUSBRemoteHostBackingOption"] = reflect.TypeOf((*VirtualUSBRemoteHostBackingOption)(nil)).Elem() -} - -type VirtualUSBUSBBackingInfo struct { - VirtualDeviceDeviceBackingInfo -} - -func init() { - t["VirtualUSBUSBBackingInfo"] = reflect.TypeOf((*VirtualUSBUSBBackingInfo)(nil)).Elem() -} - -type VirtualUSBUSBBackingOption struct { - VirtualDeviceDeviceBackingOption -} - -func init() { - t["VirtualUSBUSBBackingOption"] = reflect.TypeOf((*VirtualUSBUSBBackingOption)(nil)).Elem() -} - -type VirtualUSBXHCIController struct { - VirtualController - - AutoConnectDevices *bool `xml:"autoConnectDevices"` -} - -func init() { - t["VirtualUSBXHCIController"] = reflect.TypeOf((*VirtualUSBXHCIController)(nil)).Elem() -} - -type VirtualUSBXHCIControllerOption struct { - VirtualControllerOption - - AutoConnectDevices BoolOption `xml:"autoConnectDevices"` - SupportedSpeeds []string `xml:"supportedSpeeds"` -} - -func init() { - t["VirtualUSBXHCIControllerOption"] = reflect.TypeOf((*VirtualUSBXHCIControllerOption)(nil)).Elem() -} - -type VirtualVMIROMOption struct { - VirtualDeviceOption -} - -func init() { - t["VirtualVMIROMOption"] = reflect.TypeOf((*VirtualVMIROMOption)(nil)).Elem() -} - -type VirtualVideoCardOption struct { - VirtualDeviceOption - - VideoRamSizeInKB *LongOption `xml:"videoRamSizeInKB,omitempty"` - NumDisplays *IntOption `xml:"numDisplays,omitempty"` - UseAutoDetect *BoolOption `xml:"useAutoDetect,omitempty"` - Support3D *BoolOption `xml:"support3D,omitempty"` - Use3dRendererSupported *BoolOption `xml:"use3dRendererSupported,omitempty"` - GraphicsMemorySizeInKB *LongOption `xml:"graphicsMemorySizeInKB,omitempty"` - GraphicsMemorySizeSupported *BoolOption `xml:"graphicsMemorySizeSupported,omitempty"` -} - -func init() { - t["VirtualVideoCardOption"] = reflect.TypeOf((*VirtualVideoCardOption)(nil)).Elem() -} - -type VirtualVmxnet struct { - VirtualEthernetCard -} - -func init() { - t["VirtualVmxnet"] = reflect.TypeOf((*VirtualVmxnet)(nil)).Elem() -} - -type VirtualVmxnet2 struct { - VirtualVmxnet -} - -func init() { - t["VirtualVmxnet2"] = reflect.TypeOf((*VirtualVmxnet2)(nil)).Elem() -} - -type VirtualVmxnet2Option struct { - VirtualVmxnetOption -} - -func init() { - t["VirtualVmxnet2Option"] = reflect.TypeOf((*VirtualVmxnet2Option)(nil)).Elem() -} - -type VirtualVmxnet3 struct { - VirtualVmxnet - - Uptv2Enabled *bool `xml:"uptv2Enabled"` -} - -func init() { - t["VirtualVmxnet3"] = reflect.TypeOf((*VirtualVmxnet3)(nil)).Elem() -} - -type VirtualVmxnet3Option struct { - VirtualVmxnetOption - - Uptv2Enabled *BoolOption `xml:"uptv2Enabled,omitempty"` -} - -func init() { - t["VirtualVmxnet3Option"] = reflect.TypeOf((*VirtualVmxnet3Option)(nil)).Elem() -} - -type VirtualVmxnet3Vrdma struct { - VirtualVmxnet3 - - DeviceProtocol string `xml:"deviceProtocol,omitempty"` -} - -func init() { - t["VirtualVmxnet3Vrdma"] = reflect.TypeOf((*VirtualVmxnet3Vrdma)(nil)).Elem() -} - -type VirtualVmxnet3VrdmaOption struct { - VirtualVmxnet3Option - - DeviceProtocol *ChoiceOption `xml:"deviceProtocol,omitempty"` -} - -func init() { - t["VirtualVmxnet3VrdmaOption"] = reflect.TypeOf((*VirtualVmxnet3VrdmaOption)(nil)).Elem() -} - -type VirtualVmxnetOption struct { - VirtualEthernetCardOption -} - -func init() { - t["VirtualVmxnetOption"] = reflect.TypeOf((*VirtualVmxnetOption)(nil)).Elem() -} - -type VirtualWDT struct { - VirtualDevice - - RunOnBoot bool `xml:"runOnBoot"` - Running bool `xml:"running"` -} - -func init() { - t["VirtualWDT"] = reflect.TypeOf((*VirtualWDT)(nil)).Elem() -} - -type VirtualWDTOption struct { - VirtualDeviceOption - - RunOnBoot BoolOption `xml:"runOnBoot"` -} - -func init() { - t["VirtualWDTOption"] = reflect.TypeOf((*VirtualWDTOption)(nil)).Elem() -} - -type VlanProfile struct { - ApplyProfile -} - -func init() { - t["VlanProfile"] = reflect.TypeOf((*VlanProfile)(nil)).Elem() -} - -type VmAcquiredMksTicketEvent struct { - VmEvent -} - -func init() { - t["VmAcquiredMksTicketEvent"] = reflect.TypeOf((*VmAcquiredMksTicketEvent)(nil)).Elem() -} - -type VmAcquiredTicketEvent struct { - VmEvent - - TicketType string `xml:"ticketType"` -} - -func init() { - t["VmAcquiredTicketEvent"] = reflect.TypeOf((*VmAcquiredTicketEvent)(nil)).Elem() -} - -type VmAlreadyExistsInDatacenter struct { - InvalidFolder - - Host ManagedObjectReference `xml:"host"` - Hostname string `xml:"hostname"` - Vm []ManagedObjectReference `xml:"vm"` -} - -func init() { - t["VmAlreadyExistsInDatacenter"] = reflect.TypeOf((*VmAlreadyExistsInDatacenter)(nil)).Elem() -} - -type VmAlreadyExistsInDatacenterFault VmAlreadyExistsInDatacenter - -func init() { - t["VmAlreadyExistsInDatacenterFault"] = reflect.TypeOf((*VmAlreadyExistsInDatacenterFault)(nil)).Elem() -} - -type VmAutoRenameEvent struct { - VmEvent - - OldName string `xml:"oldName"` - NewName string `xml:"newName"` -} - -func init() { - t["VmAutoRenameEvent"] = reflect.TypeOf((*VmAutoRenameEvent)(nil)).Elem() -} - -type VmBeingClonedEvent struct { - VmCloneEvent - - DestFolder FolderEventArgument `xml:"destFolder"` - DestName string `xml:"destName"` - DestHost HostEventArgument `xml:"destHost"` -} - -func init() { - t["VmBeingClonedEvent"] = reflect.TypeOf((*VmBeingClonedEvent)(nil)).Elem() -} - -type VmBeingClonedNoFolderEvent struct { - VmCloneEvent - - DestName string `xml:"destName"` - DestHost HostEventArgument `xml:"destHost"` -} - -func init() { - t["VmBeingClonedNoFolderEvent"] = reflect.TypeOf((*VmBeingClonedNoFolderEvent)(nil)).Elem() -} - -type VmBeingCreatedEvent struct { - VmEvent - - ConfigSpec *VirtualMachineConfigSpec `xml:"configSpec,omitempty"` -} - -func init() { - t["VmBeingCreatedEvent"] = reflect.TypeOf((*VmBeingCreatedEvent)(nil)).Elem() -} - -type VmBeingDeployedEvent struct { - VmEvent - - SrcTemplate VmEventArgument `xml:"srcTemplate"` -} - -func init() { - t["VmBeingDeployedEvent"] = reflect.TypeOf((*VmBeingDeployedEvent)(nil)).Elem() -} - -type VmBeingHotMigratedEvent struct { - VmEvent - - DestHost HostEventArgument `xml:"destHost"` - DestDatacenter *DatacenterEventArgument `xml:"destDatacenter,omitempty"` - DestDatastore *DatastoreEventArgument `xml:"destDatastore,omitempty"` -} - -func init() { - t["VmBeingHotMigratedEvent"] = reflect.TypeOf((*VmBeingHotMigratedEvent)(nil)).Elem() -} - -type VmBeingMigratedEvent struct { - VmEvent - - DestHost HostEventArgument `xml:"destHost"` - DestDatacenter *DatacenterEventArgument `xml:"destDatacenter,omitempty"` - DestDatastore *DatastoreEventArgument `xml:"destDatastore,omitempty"` -} - -func init() { - t["VmBeingMigratedEvent"] = reflect.TypeOf((*VmBeingMigratedEvent)(nil)).Elem() -} - -type VmBeingRelocatedEvent struct { - VmRelocateSpecEvent - - DestHost HostEventArgument `xml:"destHost"` - DestDatacenter *DatacenterEventArgument `xml:"destDatacenter,omitempty"` - DestDatastore *DatastoreEventArgument `xml:"destDatastore,omitempty"` -} - -func init() { - t["VmBeingRelocatedEvent"] = reflect.TypeOf((*VmBeingRelocatedEvent)(nil)).Elem() -} - -type VmCloneEvent struct { - VmEvent -} - -func init() { - t["VmCloneEvent"] = reflect.TypeOf((*VmCloneEvent)(nil)).Elem() -} - -type VmCloneFailedEvent struct { - VmCloneEvent - - DestFolder FolderEventArgument `xml:"destFolder"` - DestName string `xml:"destName"` - DestHost HostEventArgument `xml:"destHost"` - Reason LocalizedMethodFault `xml:"reason"` -} - -func init() { - t["VmCloneFailedEvent"] = reflect.TypeOf((*VmCloneFailedEvent)(nil)).Elem() -} - -type VmClonedEvent struct { - VmCloneEvent - - SourceVm VmEventArgument `xml:"sourceVm"` -} - -func init() { - t["VmClonedEvent"] = reflect.TypeOf((*VmClonedEvent)(nil)).Elem() -} - -type VmConfigFault struct { - VimFault -} - -func init() { - t["VmConfigFault"] = reflect.TypeOf((*VmConfigFault)(nil)).Elem() -} - -type VmConfigFaultFault BaseVmConfigFault - -func init() { - t["VmConfigFaultFault"] = reflect.TypeOf((*VmConfigFaultFault)(nil)).Elem() -} - -type VmConfigFileEncryptionInfo struct { - DynamicData - - KeyId *CryptoKeyId `xml:"keyId,omitempty"` -} - -func init() { - t["VmConfigFileEncryptionInfo"] = reflect.TypeOf((*VmConfigFileEncryptionInfo)(nil)).Elem() -} - -type VmConfigFileInfo struct { - FileInfo - - ConfigVersion int32 `xml:"configVersion,omitempty"` - Encryption *VmConfigFileEncryptionInfo `xml:"encryption,omitempty"` -} - -func init() { - t["VmConfigFileInfo"] = reflect.TypeOf((*VmConfigFileInfo)(nil)).Elem() -} - -type VmConfigFileQuery struct { - FileQuery - - Filter *VmConfigFileQueryFilter `xml:"filter,omitempty"` - Details *VmConfigFileQueryFlags `xml:"details,omitempty"` -} - -func init() { - t["VmConfigFileQuery"] = reflect.TypeOf((*VmConfigFileQuery)(nil)).Elem() -} - -type VmConfigFileQueryFilter struct { - DynamicData - - MatchConfigVersion []int32 `xml:"matchConfigVersion,omitempty"` - Encrypted *bool `xml:"encrypted"` -} - -func init() { - t["VmConfigFileQueryFilter"] = reflect.TypeOf((*VmConfigFileQueryFilter)(nil)).Elem() -} - -type VmConfigFileQueryFlags struct { - DynamicData - - ConfigVersion bool `xml:"configVersion"` - Encryption *bool `xml:"encryption"` -} - -func init() { - t["VmConfigFileQueryFlags"] = reflect.TypeOf((*VmConfigFileQueryFlags)(nil)).Elem() -} - -type VmConfigIncompatibleForFaultTolerance struct { - VmConfigFault - - Fault *LocalizedMethodFault `xml:"fault,omitempty"` -} - -func init() { - t["VmConfigIncompatibleForFaultTolerance"] = reflect.TypeOf((*VmConfigIncompatibleForFaultTolerance)(nil)).Elem() -} - -type VmConfigIncompatibleForFaultToleranceFault VmConfigIncompatibleForFaultTolerance - -func init() { - t["VmConfigIncompatibleForFaultToleranceFault"] = reflect.TypeOf((*VmConfigIncompatibleForFaultToleranceFault)(nil)).Elem() -} - -type VmConfigIncompatibleForRecordReplay struct { - VmConfigFault - - Fault *LocalizedMethodFault `xml:"fault,omitempty"` -} - -func init() { - t["VmConfigIncompatibleForRecordReplay"] = reflect.TypeOf((*VmConfigIncompatibleForRecordReplay)(nil)).Elem() -} - -type VmConfigIncompatibleForRecordReplayFault VmConfigIncompatibleForRecordReplay - -func init() { - t["VmConfigIncompatibleForRecordReplayFault"] = reflect.TypeOf((*VmConfigIncompatibleForRecordReplayFault)(nil)).Elem() -} - -type VmConfigInfo struct { - DynamicData - - Product []VAppProductInfo `xml:"product,omitempty"` - Property []VAppPropertyInfo `xml:"property,omitempty"` - IpAssignment VAppIPAssignmentInfo `xml:"ipAssignment"` - Eula []string `xml:"eula,omitempty"` - OvfSection []VAppOvfSectionInfo `xml:"ovfSection,omitempty"` - OvfEnvironmentTransport []string `xml:"ovfEnvironmentTransport,omitempty"` - InstallBootRequired bool `xml:"installBootRequired"` - InstallBootStopDelay int32 `xml:"installBootStopDelay"` -} - -func init() { - t["VmConfigInfo"] = reflect.TypeOf((*VmConfigInfo)(nil)).Elem() -} - -type VmConfigMissingEvent struct { - VmEvent -} - -func init() { - t["VmConfigMissingEvent"] = reflect.TypeOf((*VmConfigMissingEvent)(nil)).Elem() -} - -type VmConfigSpec struct { - DynamicData - - Product []VAppProductSpec `xml:"product,omitempty"` - Property []VAppPropertySpec `xml:"property,omitempty"` - IpAssignment *VAppIPAssignmentInfo `xml:"ipAssignment,omitempty"` - Eula []string `xml:"eula,omitempty"` - OvfSection []VAppOvfSectionSpec `xml:"ovfSection,omitempty"` - OvfEnvironmentTransport []string `xml:"ovfEnvironmentTransport,omitempty"` - InstallBootRequired *bool `xml:"installBootRequired"` - InstallBootStopDelay int32 `xml:"installBootStopDelay,omitempty"` -} - -func init() { - t["VmConfigSpec"] = reflect.TypeOf((*VmConfigSpec)(nil)).Elem() -} - -type VmConnectedEvent struct { - VmEvent -} - -func init() { - t["VmConnectedEvent"] = reflect.TypeOf((*VmConnectedEvent)(nil)).Elem() -} - -type VmCreatedEvent struct { - VmEvent -} - -func init() { - t["VmCreatedEvent"] = reflect.TypeOf((*VmCreatedEvent)(nil)).Elem() -} - -type VmDasBeingResetEvent struct { - VmEvent - - Reason string `xml:"reason,omitempty"` -} - -func init() { - t["VmDasBeingResetEvent"] = reflect.TypeOf((*VmDasBeingResetEvent)(nil)).Elem() -} - -type VmDasBeingResetWithScreenshotEvent struct { - VmDasBeingResetEvent - - ScreenshotFilePath string `xml:"screenshotFilePath"` -} - -func init() { - t["VmDasBeingResetWithScreenshotEvent"] = reflect.TypeOf((*VmDasBeingResetWithScreenshotEvent)(nil)).Elem() -} - -type VmDasResetFailedEvent struct { - VmEvent -} - -func init() { - t["VmDasResetFailedEvent"] = reflect.TypeOf((*VmDasResetFailedEvent)(nil)).Elem() -} - -type VmDasUpdateErrorEvent struct { - VmEvent -} - -func init() { - t["VmDasUpdateErrorEvent"] = reflect.TypeOf((*VmDasUpdateErrorEvent)(nil)).Elem() -} - -type VmDasUpdateOkEvent struct { - VmEvent -} - -func init() { - t["VmDasUpdateOkEvent"] = reflect.TypeOf((*VmDasUpdateOkEvent)(nil)).Elem() -} - -type VmDateRolledBackEvent struct { - VmEvent -} - -func init() { - t["VmDateRolledBackEvent"] = reflect.TypeOf((*VmDateRolledBackEvent)(nil)).Elem() -} - -type VmDeployFailedEvent struct { - VmEvent - - DestDatastore BaseEntityEventArgument `xml:"destDatastore,typeattr"` - Reason LocalizedMethodFault `xml:"reason"` -} - -func init() { - t["VmDeployFailedEvent"] = reflect.TypeOf((*VmDeployFailedEvent)(nil)).Elem() -} - -type VmDeployedEvent struct { - VmEvent - - SrcTemplate VmEventArgument `xml:"srcTemplate"` -} - -func init() { - t["VmDeployedEvent"] = reflect.TypeOf((*VmDeployedEvent)(nil)).Elem() -} - -type VmDisconnectedEvent struct { - VmEvent -} - -func init() { - t["VmDisconnectedEvent"] = reflect.TypeOf((*VmDisconnectedEvent)(nil)).Elem() -} - -type VmDiscoveredEvent struct { - VmEvent -} - -func init() { - t["VmDiscoveredEvent"] = reflect.TypeOf((*VmDiscoveredEvent)(nil)).Elem() -} - -type VmDiskFailedEvent struct { - VmEvent - - Disk string `xml:"disk"` - Reason LocalizedMethodFault `xml:"reason"` -} - -func init() { - t["VmDiskFailedEvent"] = reflect.TypeOf((*VmDiskFailedEvent)(nil)).Elem() -} - -type VmDiskFileEncryptionInfo struct { - DynamicData - - KeyId *CryptoKeyId `xml:"keyId,omitempty"` -} - -func init() { - t["VmDiskFileEncryptionInfo"] = reflect.TypeOf((*VmDiskFileEncryptionInfo)(nil)).Elem() -} - -type VmDiskFileInfo struct { - FileInfo - - DiskType string `xml:"diskType,omitempty"` - CapacityKb int64 `xml:"capacityKb,omitempty"` - HardwareVersion int32 `xml:"hardwareVersion,omitempty"` - ControllerType string `xml:"controllerType,omitempty"` - DiskExtents []string `xml:"diskExtents,omitempty"` - Thin *bool `xml:"thin"` - Encryption *VmDiskFileEncryptionInfo `xml:"encryption,omitempty"` -} - -func init() { - t["VmDiskFileInfo"] = reflect.TypeOf((*VmDiskFileInfo)(nil)).Elem() -} - -type VmDiskFileQuery struct { - FileQuery - - Filter *VmDiskFileQueryFilter `xml:"filter,omitempty"` - Details *VmDiskFileQueryFlags `xml:"details,omitempty"` -} - -func init() { - t["VmDiskFileQuery"] = reflect.TypeOf((*VmDiskFileQuery)(nil)).Elem() -} - -type VmDiskFileQueryFilter struct { - DynamicData - - DiskType []string `xml:"diskType,omitempty"` - MatchHardwareVersion []int32 `xml:"matchHardwareVersion,omitempty"` - ControllerType []string `xml:"controllerType,omitempty"` - Thin *bool `xml:"thin"` - Encrypted *bool `xml:"encrypted"` -} - -func init() { - t["VmDiskFileQueryFilter"] = reflect.TypeOf((*VmDiskFileQueryFilter)(nil)).Elem() -} - -type VmDiskFileQueryFlags struct { - DynamicData - - DiskType bool `xml:"diskType"` - CapacityKb bool `xml:"capacityKb"` - HardwareVersion bool `xml:"hardwareVersion"` - ControllerType *bool `xml:"controllerType"` - DiskExtents *bool `xml:"diskExtents"` - Thin *bool `xml:"thin"` - Encryption *bool `xml:"encryption"` -} - -func init() { - t["VmDiskFileQueryFlags"] = reflect.TypeOf((*VmDiskFileQueryFlags)(nil)).Elem() -} - -type VmEmigratingEvent struct { - VmEvent -} - -func init() { - t["VmEmigratingEvent"] = reflect.TypeOf((*VmEmigratingEvent)(nil)).Elem() -} - -type VmEndRecordingEvent struct { - VmEvent -} - -func init() { - t["VmEndRecordingEvent"] = reflect.TypeOf((*VmEndRecordingEvent)(nil)).Elem() -} - -type VmEndReplayingEvent struct { - VmEvent -} - -func init() { - t["VmEndReplayingEvent"] = reflect.TypeOf((*VmEndReplayingEvent)(nil)).Elem() -} - -type VmEvent struct { - Event - - Template bool `xml:"template"` -} - -func init() { - t["VmEvent"] = reflect.TypeOf((*VmEvent)(nil)).Elem() -} - -type VmEventArgument struct { - EntityEventArgument - - Vm ManagedObjectReference `xml:"vm"` -} - -func init() { - t["VmEventArgument"] = reflect.TypeOf((*VmEventArgument)(nil)).Elem() -} - -type VmFailedMigrateEvent struct { - VmEvent - - DestHost HostEventArgument `xml:"destHost"` - Reason LocalizedMethodFault `xml:"reason"` - DestDatacenter *DatacenterEventArgument `xml:"destDatacenter,omitempty"` - DestDatastore *DatastoreEventArgument `xml:"destDatastore,omitempty"` -} - -func init() { - t["VmFailedMigrateEvent"] = reflect.TypeOf((*VmFailedMigrateEvent)(nil)).Elem() -} - -type VmFailedRelayoutEvent struct { - VmEvent - - Reason LocalizedMethodFault `xml:"reason"` -} - -func init() { - t["VmFailedRelayoutEvent"] = reflect.TypeOf((*VmFailedRelayoutEvent)(nil)).Elem() -} - -type VmFailedRelayoutOnVmfs2DatastoreEvent struct { - VmEvent -} - -func init() { - t["VmFailedRelayoutOnVmfs2DatastoreEvent"] = reflect.TypeOf((*VmFailedRelayoutOnVmfs2DatastoreEvent)(nil)).Elem() -} - -type VmFailedStartingSecondaryEvent struct { - VmEvent - - Reason string `xml:"reason,omitempty"` -} - -func init() { - t["VmFailedStartingSecondaryEvent"] = reflect.TypeOf((*VmFailedStartingSecondaryEvent)(nil)).Elem() -} - -type VmFailedToPowerOffEvent struct { - VmEvent - - Reason LocalizedMethodFault `xml:"reason"` -} - -func init() { - t["VmFailedToPowerOffEvent"] = reflect.TypeOf((*VmFailedToPowerOffEvent)(nil)).Elem() -} - -type VmFailedToPowerOnEvent struct { - VmEvent - - Reason LocalizedMethodFault `xml:"reason"` -} - -func init() { - t["VmFailedToPowerOnEvent"] = reflect.TypeOf((*VmFailedToPowerOnEvent)(nil)).Elem() -} - -type VmFailedToRebootGuestEvent struct { - VmEvent - - Reason LocalizedMethodFault `xml:"reason"` -} - -func init() { - t["VmFailedToRebootGuestEvent"] = reflect.TypeOf((*VmFailedToRebootGuestEvent)(nil)).Elem() -} - -type VmFailedToResetEvent struct { - VmEvent - - Reason LocalizedMethodFault `xml:"reason"` -} - -func init() { - t["VmFailedToResetEvent"] = reflect.TypeOf((*VmFailedToResetEvent)(nil)).Elem() -} - -type VmFailedToShutdownGuestEvent struct { - VmEvent - - Reason LocalizedMethodFault `xml:"reason"` -} - -func init() { - t["VmFailedToShutdownGuestEvent"] = reflect.TypeOf((*VmFailedToShutdownGuestEvent)(nil)).Elem() -} - -type VmFailedToStandbyGuestEvent struct { - VmEvent - - Reason LocalizedMethodFault `xml:"reason"` -} - -func init() { - t["VmFailedToStandbyGuestEvent"] = reflect.TypeOf((*VmFailedToStandbyGuestEvent)(nil)).Elem() -} - -type VmFailedToSuspendEvent struct { - VmEvent - - Reason LocalizedMethodFault `xml:"reason"` -} - -func init() { - t["VmFailedToSuspendEvent"] = reflect.TypeOf((*VmFailedToSuspendEvent)(nil)).Elem() -} - -type VmFailedUpdatingSecondaryConfig struct { - VmEvent -} - -func init() { - t["VmFailedUpdatingSecondaryConfig"] = reflect.TypeOf((*VmFailedUpdatingSecondaryConfig)(nil)).Elem() -} - -type VmFailoverFailed struct { - VmEvent - - Reason *LocalizedMethodFault `xml:"reason,omitempty"` -} - -func init() { - t["VmFailoverFailed"] = reflect.TypeOf((*VmFailoverFailed)(nil)).Elem() -} - -type VmFaultToleranceConfigIssue struct { - VmFaultToleranceIssue - - Reason string `xml:"reason,omitempty"` - EntityName string `xml:"entityName,omitempty"` - Entity *ManagedObjectReference `xml:"entity,omitempty"` -} - -func init() { - t["VmFaultToleranceConfigIssue"] = reflect.TypeOf((*VmFaultToleranceConfigIssue)(nil)).Elem() -} - -type VmFaultToleranceConfigIssueFault VmFaultToleranceConfigIssue - -func init() { - t["VmFaultToleranceConfigIssueFault"] = reflect.TypeOf((*VmFaultToleranceConfigIssueFault)(nil)).Elem() -} - -type VmFaultToleranceConfigIssueWrapper struct { - VmFaultToleranceIssue - - EntityName string `xml:"entityName,omitempty"` - Entity *ManagedObjectReference `xml:"entity,omitempty"` - Error *LocalizedMethodFault `xml:"error,omitempty"` -} - -func init() { - t["VmFaultToleranceConfigIssueWrapper"] = reflect.TypeOf((*VmFaultToleranceConfigIssueWrapper)(nil)).Elem() -} - -type VmFaultToleranceConfigIssueWrapperFault VmFaultToleranceConfigIssueWrapper - -func init() { - t["VmFaultToleranceConfigIssueWrapperFault"] = reflect.TypeOf((*VmFaultToleranceConfigIssueWrapperFault)(nil)).Elem() -} - -type VmFaultToleranceInvalidFileBacking struct { - VmFaultToleranceIssue - - BackingType string `xml:"backingType,omitempty"` - BackingFilename string `xml:"backingFilename,omitempty"` -} - -func init() { - t["VmFaultToleranceInvalidFileBacking"] = reflect.TypeOf((*VmFaultToleranceInvalidFileBacking)(nil)).Elem() -} - -type VmFaultToleranceInvalidFileBackingFault VmFaultToleranceInvalidFileBacking - -func init() { - t["VmFaultToleranceInvalidFileBackingFault"] = reflect.TypeOf((*VmFaultToleranceInvalidFileBackingFault)(nil)).Elem() -} - -type VmFaultToleranceIssue struct { - VimFault -} - -func init() { - t["VmFaultToleranceIssue"] = reflect.TypeOf((*VmFaultToleranceIssue)(nil)).Elem() -} - -type VmFaultToleranceIssueFault BaseVmFaultToleranceIssue - -func init() { - t["VmFaultToleranceIssueFault"] = reflect.TypeOf((*VmFaultToleranceIssueFault)(nil)).Elem() -} - -type VmFaultToleranceOpIssuesList struct { - VmFaultToleranceIssue - - Errors []LocalizedMethodFault `xml:"errors,omitempty"` - Warnings []LocalizedMethodFault `xml:"warnings,omitempty"` -} - -func init() { - t["VmFaultToleranceOpIssuesList"] = reflect.TypeOf((*VmFaultToleranceOpIssuesList)(nil)).Elem() -} - -type VmFaultToleranceOpIssuesListFault VmFaultToleranceOpIssuesList - -func init() { - t["VmFaultToleranceOpIssuesListFault"] = reflect.TypeOf((*VmFaultToleranceOpIssuesListFault)(nil)).Elem() -} - -type VmFaultToleranceStateChangedEvent struct { - VmEvent - - OldState VirtualMachineFaultToleranceState `xml:"oldState"` - NewState VirtualMachineFaultToleranceState `xml:"newState"` -} - -func init() { - t["VmFaultToleranceStateChangedEvent"] = reflect.TypeOf((*VmFaultToleranceStateChangedEvent)(nil)).Elem() -} - -type VmFaultToleranceTooManyFtVcpusOnHost struct { - InsufficientResourcesFault - - HostName string `xml:"hostName,omitempty"` - MaxNumFtVcpus int32 `xml:"maxNumFtVcpus"` -} - -func init() { - t["VmFaultToleranceTooManyFtVcpusOnHost"] = reflect.TypeOf((*VmFaultToleranceTooManyFtVcpusOnHost)(nil)).Elem() -} - -type VmFaultToleranceTooManyFtVcpusOnHostFault VmFaultToleranceTooManyFtVcpusOnHost - -func init() { - t["VmFaultToleranceTooManyFtVcpusOnHostFault"] = reflect.TypeOf((*VmFaultToleranceTooManyFtVcpusOnHostFault)(nil)).Elem() -} - -type VmFaultToleranceTooManyVMsOnHost struct { - InsufficientResourcesFault - - HostName string `xml:"hostName,omitempty"` - MaxNumFtVms int32 `xml:"maxNumFtVms"` -} - -func init() { - t["VmFaultToleranceTooManyVMsOnHost"] = reflect.TypeOf((*VmFaultToleranceTooManyVMsOnHost)(nil)).Elem() -} - -type VmFaultToleranceTooManyVMsOnHostFault VmFaultToleranceTooManyVMsOnHost - -func init() { - t["VmFaultToleranceTooManyVMsOnHostFault"] = reflect.TypeOf((*VmFaultToleranceTooManyVMsOnHostFault)(nil)).Elem() -} - -type VmFaultToleranceTurnedOffEvent struct { - VmEvent -} - -func init() { - t["VmFaultToleranceTurnedOffEvent"] = reflect.TypeOf((*VmFaultToleranceTurnedOffEvent)(nil)).Elem() -} - -type VmFaultToleranceVmTerminatedEvent struct { - VmEvent - - Reason string `xml:"reason,omitempty"` -} - -func init() { - t["VmFaultToleranceVmTerminatedEvent"] = reflect.TypeOf((*VmFaultToleranceVmTerminatedEvent)(nil)).Elem() -} - -type VmGuestOSCrashedEvent struct { - VmEvent -} - -func init() { - t["VmGuestOSCrashedEvent"] = reflect.TypeOf((*VmGuestOSCrashedEvent)(nil)).Elem() -} - -type VmGuestRebootEvent struct { - VmEvent -} - -func init() { - t["VmGuestRebootEvent"] = reflect.TypeOf((*VmGuestRebootEvent)(nil)).Elem() -} - -type VmGuestShutdownEvent struct { - VmEvent -} - -func init() { - t["VmGuestShutdownEvent"] = reflect.TypeOf((*VmGuestShutdownEvent)(nil)).Elem() -} - -type VmGuestStandbyEvent struct { - VmEvent -} - -func init() { - t["VmGuestStandbyEvent"] = reflect.TypeOf((*VmGuestStandbyEvent)(nil)).Elem() -} - -type VmHealthMonitoringStateChangedEvent struct { - ClusterEvent - - State string `xml:"state"` - PrevState string `xml:"prevState,omitempty"` -} - -func init() { - t["VmHealthMonitoringStateChangedEvent"] = reflect.TypeOf((*VmHealthMonitoringStateChangedEvent)(nil)).Elem() -} - -type VmHostAffinityRuleViolation struct { - VmConfigFault - - VmName string `xml:"vmName"` - HostName string `xml:"hostName"` -} - -func init() { - t["VmHostAffinityRuleViolation"] = reflect.TypeOf((*VmHostAffinityRuleViolation)(nil)).Elem() -} - -type VmHostAffinityRuleViolationFault VmHostAffinityRuleViolation - -func init() { - t["VmHostAffinityRuleViolationFault"] = reflect.TypeOf((*VmHostAffinityRuleViolationFault)(nil)).Elem() -} - -type VmInstanceUuidAssignedEvent struct { - VmEvent - - InstanceUuid string `xml:"instanceUuid"` -} - -func init() { - t["VmInstanceUuidAssignedEvent"] = reflect.TypeOf((*VmInstanceUuidAssignedEvent)(nil)).Elem() -} - -type VmInstanceUuidChangedEvent struct { - VmEvent - - OldInstanceUuid string `xml:"oldInstanceUuid"` - NewInstanceUuid string `xml:"newInstanceUuid"` -} - -func init() { - t["VmInstanceUuidChangedEvent"] = reflect.TypeOf((*VmInstanceUuidChangedEvent)(nil)).Elem() -} - -type VmInstanceUuidConflictEvent struct { - VmEvent - - ConflictedVm VmEventArgument `xml:"conflictedVm"` - InstanceUuid string `xml:"instanceUuid"` -} - -func init() { - t["VmInstanceUuidConflictEvent"] = reflect.TypeOf((*VmInstanceUuidConflictEvent)(nil)).Elem() -} - -type VmLimitLicense struct { - NotEnoughLicenses - - Limit int32 `xml:"limit"` -} - -func init() { - t["VmLimitLicense"] = reflect.TypeOf((*VmLimitLicense)(nil)).Elem() -} - -type VmLimitLicenseFault VmLimitLicense - -func init() { - t["VmLimitLicenseFault"] = reflect.TypeOf((*VmLimitLicenseFault)(nil)).Elem() -} - -type VmLogFileInfo struct { - FileInfo -} - -func init() { - t["VmLogFileInfo"] = reflect.TypeOf((*VmLogFileInfo)(nil)).Elem() -} - -type VmLogFileQuery struct { - FileQuery -} - -func init() { - t["VmLogFileQuery"] = reflect.TypeOf((*VmLogFileQuery)(nil)).Elem() -} - -type VmMacAssignedEvent struct { - VmEvent - - Adapter string `xml:"adapter"` - Mac string `xml:"mac"` -} - -func init() { - t["VmMacAssignedEvent"] = reflect.TypeOf((*VmMacAssignedEvent)(nil)).Elem() -} - -type VmMacChangedEvent struct { - VmEvent - - Adapter string `xml:"adapter"` - OldMac string `xml:"oldMac"` - NewMac string `xml:"newMac"` -} - -func init() { - t["VmMacChangedEvent"] = reflect.TypeOf((*VmMacChangedEvent)(nil)).Elem() -} - -type VmMacConflictEvent struct { - VmEvent - - ConflictedVm VmEventArgument `xml:"conflictedVm"` - Mac string `xml:"mac"` -} - -func init() { - t["VmMacConflictEvent"] = reflect.TypeOf((*VmMacConflictEvent)(nil)).Elem() -} - -type VmMaxFTRestartCountReached struct { - VmEvent -} - -func init() { - t["VmMaxFTRestartCountReached"] = reflect.TypeOf((*VmMaxFTRestartCountReached)(nil)).Elem() -} - -type VmMaxRestartCountReached struct { - VmEvent -} - -func init() { - t["VmMaxRestartCountReached"] = reflect.TypeOf((*VmMaxRestartCountReached)(nil)).Elem() -} - -type VmMessageErrorEvent struct { - VmEvent - - Message string `xml:"message"` - MessageInfo []VirtualMachineMessage `xml:"messageInfo,omitempty"` -} - -func init() { - t["VmMessageErrorEvent"] = reflect.TypeOf((*VmMessageErrorEvent)(nil)).Elem() -} - -type VmMessageEvent struct { - VmEvent - - Message string `xml:"message"` - MessageInfo []VirtualMachineMessage `xml:"messageInfo,omitempty"` -} - -func init() { - t["VmMessageEvent"] = reflect.TypeOf((*VmMessageEvent)(nil)).Elem() -} - -type VmMessageWarningEvent struct { - VmEvent - - Message string `xml:"message"` - MessageInfo []VirtualMachineMessage `xml:"messageInfo,omitempty"` -} - -func init() { - t["VmMessageWarningEvent"] = reflect.TypeOf((*VmMessageWarningEvent)(nil)).Elem() -} - -type VmMetadataManagerFault struct { - VimFault -} - -func init() { - t["VmMetadataManagerFault"] = reflect.TypeOf((*VmMetadataManagerFault)(nil)).Elem() -} - -type VmMetadataManagerFaultFault VmMetadataManagerFault - -func init() { - t["VmMetadataManagerFaultFault"] = reflect.TypeOf((*VmMetadataManagerFaultFault)(nil)).Elem() -} - -type VmMigratedEvent struct { - VmEvent - - SourceHost HostEventArgument `xml:"sourceHost"` - SourceDatacenter *DatacenterEventArgument `xml:"sourceDatacenter,omitempty"` - SourceDatastore *DatastoreEventArgument `xml:"sourceDatastore,omitempty"` -} - -func init() { - t["VmMigratedEvent"] = reflect.TypeOf((*VmMigratedEvent)(nil)).Elem() -} - -type VmMonitorIncompatibleForFaultTolerance struct { - VimFault -} - -func init() { - t["VmMonitorIncompatibleForFaultTolerance"] = reflect.TypeOf((*VmMonitorIncompatibleForFaultTolerance)(nil)).Elem() -} - -type VmMonitorIncompatibleForFaultToleranceFault VmMonitorIncompatibleForFaultTolerance - -func init() { - t["VmMonitorIncompatibleForFaultToleranceFault"] = reflect.TypeOf((*VmMonitorIncompatibleForFaultToleranceFault)(nil)).Elem() -} - -type VmNoCompatibleHostForSecondaryEvent struct { - VmEvent -} - -func init() { - t["VmNoCompatibleHostForSecondaryEvent"] = reflect.TypeOf((*VmNoCompatibleHostForSecondaryEvent)(nil)).Elem() -} - -type VmNoNetworkAccessEvent struct { - VmEvent - - DestHost HostEventArgument `xml:"destHost"` -} - -func init() { - t["VmNoNetworkAccessEvent"] = reflect.TypeOf((*VmNoNetworkAccessEvent)(nil)).Elem() -} - -type VmNvramFileInfo struct { - FileInfo -} - -func init() { - t["VmNvramFileInfo"] = reflect.TypeOf((*VmNvramFileInfo)(nil)).Elem() -} - -type VmNvramFileQuery struct { - FileQuery -} - -func init() { - t["VmNvramFileQuery"] = reflect.TypeOf((*VmNvramFileQuery)(nil)).Elem() -} - -type VmOrphanedEvent struct { - VmEvent -} - -func init() { - t["VmOrphanedEvent"] = reflect.TypeOf((*VmOrphanedEvent)(nil)).Elem() -} - -type VmPodConfigForPlacement struct { - DynamicData - - StoragePod ManagedObjectReference `xml:"storagePod"` - Disk []PodDiskLocator `xml:"disk,omitempty"` - VmConfig *StorageDrsVmConfigInfo `xml:"vmConfig,omitempty"` - InterVmRule []BaseClusterRuleInfo `xml:"interVmRule,omitempty,typeattr"` -} - -func init() { - t["VmPodConfigForPlacement"] = reflect.TypeOf((*VmPodConfigForPlacement)(nil)).Elem() -} - -type VmPortGroupProfile struct { - PortGroupProfile -} - -func init() { - t["VmPortGroupProfile"] = reflect.TypeOf((*VmPortGroupProfile)(nil)).Elem() -} - -type VmPowerOffOnIsolationEvent struct { - VmPoweredOffEvent - - IsolatedHost HostEventArgument `xml:"isolatedHost"` -} - -func init() { - t["VmPowerOffOnIsolationEvent"] = reflect.TypeOf((*VmPowerOffOnIsolationEvent)(nil)).Elem() -} - -type VmPowerOnDisabled struct { - InvalidState -} - -func init() { - t["VmPowerOnDisabled"] = reflect.TypeOf((*VmPowerOnDisabled)(nil)).Elem() -} - -type VmPowerOnDisabledFault VmPowerOnDisabled - -func init() { - t["VmPowerOnDisabledFault"] = reflect.TypeOf((*VmPowerOnDisabledFault)(nil)).Elem() -} - -type VmPoweredOffEvent struct { - VmEvent -} - -func init() { - t["VmPoweredOffEvent"] = reflect.TypeOf((*VmPoweredOffEvent)(nil)).Elem() -} - -type VmPoweredOnEvent struct { - VmEvent -} - -func init() { - t["VmPoweredOnEvent"] = reflect.TypeOf((*VmPoweredOnEvent)(nil)).Elem() -} - -type VmPoweringOnWithCustomizedDVPortEvent struct { - VmEvent - - Vnic []VnicPortArgument `xml:"vnic"` -} - -func init() { - t["VmPoweringOnWithCustomizedDVPortEvent"] = reflect.TypeOf((*VmPoweringOnWithCustomizedDVPortEvent)(nil)).Elem() -} - -type VmPrimaryFailoverEvent struct { - VmEvent - - Reason string `xml:"reason,omitempty"` -} - -func init() { - t["VmPrimaryFailoverEvent"] = reflect.TypeOf((*VmPrimaryFailoverEvent)(nil)).Elem() -} - -type VmReconfiguredEvent struct { - VmEvent - - ConfigSpec VirtualMachineConfigSpec `xml:"configSpec"` - ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty"` -} - -func init() { - t["VmReconfiguredEvent"] = reflect.TypeOf((*VmReconfiguredEvent)(nil)).Elem() -} - -type VmRegisteredEvent struct { - VmEvent -} - -func init() { - t["VmRegisteredEvent"] = reflect.TypeOf((*VmRegisteredEvent)(nil)).Elem() -} - -type VmRelayoutSuccessfulEvent struct { - VmEvent -} - -func init() { - t["VmRelayoutSuccessfulEvent"] = reflect.TypeOf((*VmRelayoutSuccessfulEvent)(nil)).Elem() -} - -type VmRelayoutUpToDateEvent struct { - VmEvent -} - -func init() { - t["VmRelayoutUpToDateEvent"] = reflect.TypeOf((*VmRelayoutUpToDateEvent)(nil)).Elem() -} - -type VmReloadFromPathEvent struct { - VmEvent - - ConfigPath string `xml:"configPath"` -} - -func init() { - t["VmReloadFromPathEvent"] = reflect.TypeOf((*VmReloadFromPathEvent)(nil)).Elem() -} - -type VmReloadFromPathFailedEvent struct { - VmEvent - - ConfigPath string `xml:"configPath"` -} - -func init() { - t["VmReloadFromPathFailedEvent"] = reflect.TypeOf((*VmReloadFromPathFailedEvent)(nil)).Elem() -} - -type VmRelocateFailedEvent struct { - VmRelocateSpecEvent - - DestHost HostEventArgument `xml:"destHost"` - Reason LocalizedMethodFault `xml:"reason"` - DestDatacenter *DatacenterEventArgument `xml:"destDatacenter,omitempty"` - DestDatastore *DatastoreEventArgument `xml:"destDatastore,omitempty"` -} - -func init() { - t["VmRelocateFailedEvent"] = reflect.TypeOf((*VmRelocateFailedEvent)(nil)).Elem() -} - -type VmRelocateSpecEvent struct { - VmEvent -} - -func init() { - t["VmRelocateSpecEvent"] = reflect.TypeOf((*VmRelocateSpecEvent)(nil)).Elem() -} - -type VmRelocatedEvent struct { - VmRelocateSpecEvent - - SourceHost HostEventArgument `xml:"sourceHost"` - SourceDatacenter *DatacenterEventArgument `xml:"sourceDatacenter,omitempty"` - SourceDatastore *DatastoreEventArgument `xml:"sourceDatastore,omitempty"` -} - -func init() { - t["VmRelocatedEvent"] = reflect.TypeOf((*VmRelocatedEvent)(nil)).Elem() -} - -type VmRemoteConsoleConnectedEvent struct { - VmEvent -} - -func init() { - t["VmRemoteConsoleConnectedEvent"] = reflect.TypeOf((*VmRemoteConsoleConnectedEvent)(nil)).Elem() -} - -type VmRemoteConsoleDisconnectedEvent struct { - VmEvent -} - -func init() { - t["VmRemoteConsoleDisconnectedEvent"] = reflect.TypeOf((*VmRemoteConsoleDisconnectedEvent)(nil)).Elem() -} - -type VmRemovedEvent struct { - VmEvent -} - -func init() { - t["VmRemovedEvent"] = reflect.TypeOf((*VmRemovedEvent)(nil)).Elem() -} - -type VmRenamedEvent struct { - VmEvent - - OldName string `xml:"oldName"` - NewName string `xml:"newName"` -} - -func init() { - t["VmRenamedEvent"] = reflect.TypeOf((*VmRenamedEvent)(nil)).Elem() -} - -type VmRequirementsExceedCurrentEVCModeEvent struct { - VmEvent -} - -func init() { - t["VmRequirementsExceedCurrentEVCModeEvent"] = reflect.TypeOf((*VmRequirementsExceedCurrentEVCModeEvent)(nil)).Elem() -} - -type VmResettingEvent struct { - VmEvent -} - -func init() { - t["VmResettingEvent"] = reflect.TypeOf((*VmResettingEvent)(nil)).Elem() -} - -type VmResourcePoolMovedEvent struct { - VmEvent - - OldParent ResourcePoolEventArgument `xml:"oldParent"` - NewParent ResourcePoolEventArgument `xml:"newParent"` -} - -func init() { - t["VmResourcePoolMovedEvent"] = reflect.TypeOf((*VmResourcePoolMovedEvent)(nil)).Elem() -} - -type VmResourceReallocatedEvent struct { - VmEvent - - ConfigChanges *ChangesInfoEventArgument `xml:"configChanges,omitempty"` -} - -func init() { - t["VmResourceReallocatedEvent"] = reflect.TypeOf((*VmResourceReallocatedEvent)(nil)).Elem() -} - -type VmRestartedOnAlternateHostEvent struct { - VmPoweredOnEvent - - SourceHost HostEventArgument `xml:"sourceHost"` -} - -func init() { - t["VmRestartedOnAlternateHostEvent"] = reflect.TypeOf((*VmRestartedOnAlternateHostEvent)(nil)).Elem() -} - -type VmResumingEvent struct { - VmEvent -} - -func init() { - t["VmResumingEvent"] = reflect.TypeOf((*VmResumingEvent)(nil)).Elem() -} - -type VmSecondaryAddedEvent struct { - VmEvent -} - -func init() { - t["VmSecondaryAddedEvent"] = reflect.TypeOf((*VmSecondaryAddedEvent)(nil)).Elem() -} - -type VmSecondaryDisabledBySystemEvent struct { - VmEvent - - Reason *LocalizedMethodFault `xml:"reason,omitempty"` -} - -func init() { - t["VmSecondaryDisabledBySystemEvent"] = reflect.TypeOf((*VmSecondaryDisabledBySystemEvent)(nil)).Elem() -} - -type VmSecondaryDisabledEvent struct { - VmEvent -} - -func init() { - t["VmSecondaryDisabledEvent"] = reflect.TypeOf((*VmSecondaryDisabledEvent)(nil)).Elem() -} - -type VmSecondaryEnabledEvent struct { - VmEvent -} - -func init() { - t["VmSecondaryEnabledEvent"] = reflect.TypeOf((*VmSecondaryEnabledEvent)(nil)).Elem() -} - -type VmSecondaryStartedEvent struct { - VmEvent -} - -func init() { - t["VmSecondaryStartedEvent"] = reflect.TypeOf((*VmSecondaryStartedEvent)(nil)).Elem() -} - -type VmShutdownOnIsolationEvent struct { - VmPoweredOffEvent - - IsolatedHost HostEventArgument `xml:"isolatedHost"` - ShutdownResult string `xml:"shutdownResult,omitempty"` -} - -func init() { - t["VmShutdownOnIsolationEvent"] = reflect.TypeOf((*VmShutdownOnIsolationEvent)(nil)).Elem() -} - -type VmSmpFaultToleranceTooManyVMsOnHost struct { - InsufficientResourcesFault - - HostName string `xml:"hostName,omitempty"` - MaxNumSmpFtVms int32 `xml:"maxNumSmpFtVms"` -} - -func init() { - t["VmSmpFaultToleranceTooManyVMsOnHost"] = reflect.TypeOf((*VmSmpFaultToleranceTooManyVMsOnHost)(nil)).Elem() -} - -type VmSmpFaultToleranceTooManyVMsOnHostFault VmSmpFaultToleranceTooManyVMsOnHost - -func init() { - t["VmSmpFaultToleranceTooManyVMsOnHostFault"] = reflect.TypeOf((*VmSmpFaultToleranceTooManyVMsOnHostFault)(nil)).Elem() -} - -type VmSnapshotFileInfo struct { - FileInfo -} - -func init() { - t["VmSnapshotFileInfo"] = reflect.TypeOf((*VmSnapshotFileInfo)(nil)).Elem() -} - -type VmSnapshotFileQuery struct { - FileQuery -} - -func init() { - t["VmSnapshotFileQuery"] = reflect.TypeOf((*VmSnapshotFileQuery)(nil)).Elem() -} - -type VmStartRecordingEvent struct { - VmEvent -} - -func init() { - t["VmStartRecordingEvent"] = reflect.TypeOf((*VmStartRecordingEvent)(nil)).Elem() -} - -type VmStartReplayingEvent struct { - VmEvent -} - -func init() { - t["VmStartReplayingEvent"] = reflect.TypeOf((*VmStartReplayingEvent)(nil)).Elem() -} - -type VmStartingEvent struct { - VmEvent -} - -func init() { - t["VmStartingEvent"] = reflect.TypeOf((*VmStartingEvent)(nil)).Elem() -} - -type VmStartingSecondaryEvent struct { - VmEvent -} - -func init() { - t["VmStartingSecondaryEvent"] = reflect.TypeOf((*VmStartingSecondaryEvent)(nil)).Elem() -} - -type VmStaticMacConflictEvent struct { - VmEvent - - ConflictedVm VmEventArgument `xml:"conflictedVm"` - Mac string `xml:"mac"` -} - -func init() { - t["VmStaticMacConflictEvent"] = reflect.TypeOf((*VmStaticMacConflictEvent)(nil)).Elem() -} - -type VmStoppingEvent struct { - VmEvent -} - -func init() { - t["VmStoppingEvent"] = reflect.TypeOf((*VmStoppingEvent)(nil)).Elem() -} - -type VmSuspendedEvent struct { - VmEvent -} - -func init() { - t["VmSuspendedEvent"] = reflect.TypeOf((*VmSuspendedEvent)(nil)).Elem() -} - -type VmSuspendingEvent struct { - VmEvent -} - -func init() { - t["VmSuspendingEvent"] = reflect.TypeOf((*VmSuspendingEvent)(nil)).Elem() -} - -type VmTimedoutStartingSecondaryEvent struct { - VmEvent - - Timeout int64 `xml:"timeout,omitempty"` -} - -func init() { - t["VmTimedoutStartingSecondaryEvent"] = reflect.TypeOf((*VmTimedoutStartingSecondaryEvent)(nil)).Elem() -} - -type VmToolsUpgradeFault struct { - VimFault -} - -func init() { - t["VmToolsUpgradeFault"] = reflect.TypeOf((*VmToolsUpgradeFault)(nil)).Elem() -} - -type VmToolsUpgradeFaultFault BaseVmToolsUpgradeFault - -func init() { - t["VmToolsUpgradeFaultFault"] = reflect.TypeOf((*VmToolsUpgradeFaultFault)(nil)).Elem() -} - -type VmUnsupportedStartingEvent struct { - VmStartingEvent - - GuestId string `xml:"guestId"` -} - -func init() { - t["VmUnsupportedStartingEvent"] = reflect.TypeOf((*VmUnsupportedStartingEvent)(nil)).Elem() -} - -type VmUpgradeCompleteEvent struct { - VmEvent - - Version string `xml:"version"` -} - -func init() { - t["VmUpgradeCompleteEvent"] = reflect.TypeOf((*VmUpgradeCompleteEvent)(nil)).Elem() -} - -type VmUpgradeFailedEvent struct { - VmEvent -} - -func init() { - t["VmUpgradeFailedEvent"] = reflect.TypeOf((*VmUpgradeFailedEvent)(nil)).Elem() -} - -type VmUpgradingEvent struct { - VmEvent - - Version string `xml:"version"` -} - -func init() { - t["VmUpgradingEvent"] = reflect.TypeOf((*VmUpgradingEvent)(nil)).Elem() -} - -type VmUuidAssignedEvent struct { - VmEvent - - Uuid string `xml:"uuid"` -} - -func init() { - t["VmUuidAssignedEvent"] = reflect.TypeOf((*VmUuidAssignedEvent)(nil)).Elem() -} - -type VmUuidChangedEvent struct { - VmEvent - - OldUuid string `xml:"oldUuid"` - NewUuid string `xml:"newUuid"` -} - -func init() { - t["VmUuidChangedEvent"] = reflect.TypeOf((*VmUuidChangedEvent)(nil)).Elem() -} - -type VmUuidConflictEvent struct { - VmEvent - - ConflictedVm VmEventArgument `xml:"conflictedVm"` - Uuid string `xml:"uuid"` -} - -func init() { - t["VmUuidConflictEvent"] = reflect.TypeOf((*VmUuidConflictEvent)(nil)).Elem() -} - -type VmValidateMaxDevice struct { - VimFault - - Device string `xml:"device"` - Max int32 `xml:"max"` - Count int32 `xml:"count"` -} - -func init() { - t["VmValidateMaxDevice"] = reflect.TypeOf((*VmValidateMaxDevice)(nil)).Elem() -} - -type VmValidateMaxDeviceFault VmValidateMaxDevice - -func init() { - t["VmValidateMaxDeviceFault"] = reflect.TypeOf((*VmValidateMaxDeviceFault)(nil)).Elem() -} - -type VmVnicPoolReservationViolationClearEvent struct { - DvsEvent - - VmVnicResourcePoolKey string `xml:"vmVnicResourcePoolKey"` - VmVnicResourcePoolName string `xml:"vmVnicResourcePoolName,omitempty"` -} - -func init() { - t["VmVnicPoolReservationViolationClearEvent"] = reflect.TypeOf((*VmVnicPoolReservationViolationClearEvent)(nil)).Elem() -} - -type VmVnicPoolReservationViolationRaiseEvent struct { - DvsEvent - - VmVnicResourcePoolKey string `xml:"vmVnicResourcePoolKey"` - VmVnicResourcePoolName string `xml:"vmVnicResourcePoolName,omitempty"` -} - -func init() { - t["VmVnicPoolReservationViolationRaiseEvent"] = reflect.TypeOf((*VmVnicPoolReservationViolationRaiseEvent)(nil)).Elem() -} - -type VmWwnAssignedEvent struct { - VmEvent - - NodeWwns []int64 `xml:"nodeWwns"` - PortWwns []int64 `xml:"portWwns"` -} - -func init() { - t["VmWwnAssignedEvent"] = reflect.TypeOf((*VmWwnAssignedEvent)(nil)).Elem() -} - -type VmWwnChangedEvent struct { - VmEvent - - OldNodeWwns []int64 `xml:"oldNodeWwns,omitempty"` - OldPortWwns []int64 `xml:"oldPortWwns,omitempty"` - NewNodeWwns []int64 `xml:"newNodeWwns,omitempty"` - NewPortWwns []int64 `xml:"newPortWwns,omitempty"` -} - -func init() { - t["VmWwnChangedEvent"] = reflect.TypeOf((*VmWwnChangedEvent)(nil)).Elem() -} - -type VmWwnConflict struct { - InvalidVmConfig - - Vm *ManagedObjectReference `xml:"vm,omitempty"` - Host *ManagedObjectReference `xml:"host,omitempty"` - Name string `xml:"name,omitempty"` - Wwn int64 `xml:"wwn,omitempty"` -} - -func init() { - t["VmWwnConflict"] = reflect.TypeOf((*VmWwnConflict)(nil)).Elem() -} - -type VmWwnConflictEvent struct { - VmEvent - - ConflictedVms []VmEventArgument `xml:"conflictedVms,omitempty"` - ConflictedHosts []HostEventArgument `xml:"conflictedHosts,omitempty"` - Wwn int64 `xml:"wwn"` -} - -func init() { - t["VmWwnConflictEvent"] = reflect.TypeOf((*VmWwnConflictEvent)(nil)).Elem() -} - -type VmWwnConflictFault VmWwnConflict - -func init() { - t["VmWwnConflictFault"] = reflect.TypeOf((*VmWwnConflictFault)(nil)).Elem() -} - -type VmfsAlreadyMounted struct { - VmfsMountFault -} - -func init() { - t["VmfsAlreadyMounted"] = reflect.TypeOf((*VmfsAlreadyMounted)(nil)).Elem() -} - -type VmfsAlreadyMountedFault VmfsAlreadyMounted - -func init() { - t["VmfsAlreadyMountedFault"] = reflect.TypeOf((*VmfsAlreadyMountedFault)(nil)).Elem() -} - -type VmfsAmbiguousMount struct { - VmfsMountFault -} - -func init() { - t["VmfsAmbiguousMount"] = reflect.TypeOf((*VmfsAmbiguousMount)(nil)).Elem() -} - -type VmfsAmbiguousMountFault VmfsAmbiguousMount - -func init() { - t["VmfsAmbiguousMountFault"] = reflect.TypeOf((*VmfsAmbiguousMountFault)(nil)).Elem() -} - -type VmfsConfigOption struct { - DynamicData - - BlockSizeOption int32 `xml:"blockSizeOption"` - UnmapGranularityOption []int32 `xml:"unmapGranularityOption,omitempty"` - UnmapBandwidthFixedValue *LongOption `xml:"unmapBandwidthFixedValue,omitempty"` - UnmapBandwidthDynamicMin *LongOption `xml:"unmapBandwidthDynamicMin,omitempty"` - UnmapBandwidthDynamicMax *LongOption `xml:"unmapBandwidthDynamicMax,omitempty"` - UnmapBandwidthIncrement int64 `xml:"unmapBandwidthIncrement,omitempty"` - UnmapBandwidthUltraLow int64 `xml:"unmapBandwidthUltraLow,omitempty"` -} - -func init() { - t["VmfsConfigOption"] = reflect.TypeOf((*VmfsConfigOption)(nil)).Elem() -} - -type VmfsDatastoreAllExtentOption struct { - VmfsDatastoreSingleExtentOption -} - -func init() { - t["VmfsDatastoreAllExtentOption"] = reflect.TypeOf((*VmfsDatastoreAllExtentOption)(nil)).Elem() -} - -type VmfsDatastoreBaseOption struct { - DynamicData - - Layout HostDiskPartitionLayout `xml:"layout"` - PartitionFormatChange *bool `xml:"partitionFormatChange"` -} - -func init() { - t["VmfsDatastoreBaseOption"] = reflect.TypeOf((*VmfsDatastoreBaseOption)(nil)).Elem() -} - -type VmfsDatastoreCreateSpec struct { - VmfsDatastoreSpec - - Partition HostDiskPartitionSpec `xml:"partition"` - Vmfs HostVmfsSpec `xml:"vmfs"` - Extent []HostScsiDiskPartition `xml:"extent,omitempty"` -} - -func init() { - t["VmfsDatastoreCreateSpec"] = reflect.TypeOf((*VmfsDatastoreCreateSpec)(nil)).Elem() -} - -type VmfsDatastoreExpandSpec struct { - VmfsDatastoreSpec - - Partition HostDiskPartitionSpec `xml:"partition"` - Extent HostScsiDiskPartition `xml:"extent"` -} - -func init() { - t["VmfsDatastoreExpandSpec"] = reflect.TypeOf((*VmfsDatastoreExpandSpec)(nil)).Elem() -} - -type VmfsDatastoreExtendSpec struct { - VmfsDatastoreSpec - - Partition HostDiskPartitionSpec `xml:"partition"` - Extent []HostScsiDiskPartition `xml:"extent"` -} - -func init() { - t["VmfsDatastoreExtendSpec"] = reflect.TypeOf((*VmfsDatastoreExtendSpec)(nil)).Elem() -} - -type VmfsDatastoreInfo struct { - DatastoreInfo - - MaxPhysicalRDMFileSize int64 `xml:"maxPhysicalRDMFileSize,omitempty"` - MaxVirtualRDMFileSize int64 `xml:"maxVirtualRDMFileSize,omitempty"` - Vmfs *HostVmfsVolume `xml:"vmfs,omitempty"` -} - -func init() { - t["VmfsDatastoreInfo"] = reflect.TypeOf((*VmfsDatastoreInfo)(nil)).Elem() -} - -type VmfsDatastoreMultipleExtentOption struct { - VmfsDatastoreBaseOption - - VmfsExtent []HostDiskPartitionBlockRange `xml:"vmfsExtent"` -} - -func init() { - t["VmfsDatastoreMultipleExtentOption"] = reflect.TypeOf((*VmfsDatastoreMultipleExtentOption)(nil)).Elem() -} - -type VmfsDatastoreOption struct { - DynamicData - - Info BaseVmfsDatastoreBaseOption `xml:"info,typeattr"` - Spec BaseVmfsDatastoreSpec `xml:"spec,typeattr"` -} - -func init() { - t["VmfsDatastoreOption"] = reflect.TypeOf((*VmfsDatastoreOption)(nil)).Elem() -} - -type VmfsDatastoreSingleExtentOption struct { - VmfsDatastoreBaseOption - - VmfsExtent HostDiskPartitionBlockRange `xml:"vmfsExtent"` -} - -func init() { - t["VmfsDatastoreSingleExtentOption"] = reflect.TypeOf((*VmfsDatastoreSingleExtentOption)(nil)).Elem() -} - -type VmfsDatastoreSpec struct { - DynamicData - - DiskUuid string `xml:"diskUuid"` -} - -func init() { - t["VmfsDatastoreSpec"] = reflect.TypeOf((*VmfsDatastoreSpec)(nil)).Elem() -} - -type VmfsMountFault struct { - HostConfigFault - - Uuid string `xml:"uuid"` -} - -func init() { - t["VmfsMountFault"] = reflect.TypeOf((*VmfsMountFault)(nil)).Elem() -} - -type VmfsMountFaultFault BaseVmfsMountFault - -func init() { - t["VmfsMountFaultFault"] = reflect.TypeOf((*VmfsMountFaultFault)(nil)).Elem() -} - -type VmfsUnmapBandwidthSpec struct { - DynamicData - - Policy string `xml:"policy"` - FixedValue int64 `xml:"fixedValue"` - DynamicMin int64 `xml:"dynamicMin"` - DynamicMax int64 `xml:"dynamicMax"` -} - -func init() { - t["VmfsUnmapBandwidthSpec"] = reflect.TypeOf((*VmfsUnmapBandwidthSpec)(nil)).Elem() -} - -type VmotionInterfaceNotEnabled struct { - HostPowerOpFailed -} - -func init() { - t["VmotionInterfaceNotEnabled"] = reflect.TypeOf((*VmotionInterfaceNotEnabled)(nil)).Elem() -} - -type VmotionInterfaceNotEnabledFault VmotionInterfaceNotEnabled - -func init() { - t["VmotionInterfaceNotEnabledFault"] = reflect.TypeOf((*VmotionInterfaceNotEnabledFault)(nil)).Elem() -} - -type VmwareDistributedVirtualSwitchPvlanSpec struct { - VmwareDistributedVirtualSwitchVlanSpec - - PvlanId int32 `xml:"pvlanId"` -} - -func init() { - t["VmwareDistributedVirtualSwitchPvlanSpec"] = reflect.TypeOf((*VmwareDistributedVirtualSwitchPvlanSpec)(nil)).Elem() -} - -type VmwareDistributedVirtualSwitchTrunkVlanSpec struct { - VmwareDistributedVirtualSwitchVlanSpec - - VlanId []NumericRange `xml:"vlanId,omitempty"` -} - -func init() { - t["VmwareDistributedVirtualSwitchTrunkVlanSpec"] = reflect.TypeOf((*VmwareDistributedVirtualSwitchTrunkVlanSpec)(nil)).Elem() -} - -type VmwareDistributedVirtualSwitchVlanIdSpec struct { - VmwareDistributedVirtualSwitchVlanSpec - - VlanId int32 `xml:"vlanId"` -} - -func init() { - t["VmwareDistributedVirtualSwitchVlanIdSpec"] = reflect.TypeOf((*VmwareDistributedVirtualSwitchVlanIdSpec)(nil)).Elem() -} - -type VmwareDistributedVirtualSwitchVlanSpec struct { - InheritablePolicy -} - -func init() { - t["VmwareDistributedVirtualSwitchVlanSpec"] = reflect.TypeOf((*VmwareDistributedVirtualSwitchVlanSpec)(nil)).Elem() -} - -type VmwareUplinkPortTeamingPolicy struct { - InheritablePolicy - - Policy *StringPolicy `xml:"policy,omitempty"` - ReversePolicy *BoolPolicy `xml:"reversePolicy,omitempty"` - NotifySwitches *BoolPolicy `xml:"notifySwitches,omitempty"` - RollingOrder *BoolPolicy `xml:"rollingOrder,omitempty"` - FailureCriteria *DVSFailureCriteria `xml:"failureCriteria,omitempty"` - UplinkPortOrder *VMwareUplinkPortOrderPolicy `xml:"uplinkPortOrder,omitempty"` -} - -func init() { - t["VmwareUplinkPortTeamingPolicy"] = reflect.TypeOf((*VmwareUplinkPortTeamingPolicy)(nil)).Elem() -} - -type VnicPortArgument struct { - DynamicData - - Vnic string `xml:"vnic"` - Port DistributedVirtualSwitchPortConnection `xml:"port"` -} - -func init() { - t["VnicPortArgument"] = reflect.TypeOf((*VnicPortArgument)(nil)).Elem() -} - -type VolumeEditorError struct { - CustomizationFault -} - -func init() { - t["VolumeEditorError"] = reflect.TypeOf((*VolumeEditorError)(nil)).Elem() -} - -type VolumeEditorErrorFault VolumeEditorError - -func init() { - t["VolumeEditorErrorFault"] = reflect.TypeOf((*VolumeEditorErrorFault)(nil)).Elem() -} - -type VramLimitLicense struct { - NotEnoughLicenses - - Limit int32 `xml:"limit"` -} - -func init() { - t["VramLimitLicense"] = reflect.TypeOf((*VramLimitLicense)(nil)).Elem() -} - -type VramLimitLicenseFault VramLimitLicense - -func init() { - t["VramLimitLicenseFault"] = reflect.TypeOf((*VramLimitLicenseFault)(nil)).Elem() -} - -type VsanClusterConfigInfo struct { - DynamicData - - Enabled *bool `xml:"enabled"` - DefaultConfig *VsanClusterConfigInfoHostDefaultInfo `xml:"defaultConfig,omitempty"` - VsanEsaEnabled *bool `xml:"vsanEsaEnabled"` -} - -func init() { - t["VsanClusterConfigInfo"] = reflect.TypeOf((*VsanClusterConfigInfo)(nil)).Elem() -} - -type VsanClusterConfigInfoHostDefaultInfo struct { - DynamicData - - Uuid string `xml:"uuid,omitempty"` - AutoClaimStorage *bool `xml:"autoClaimStorage"` - ChecksumEnabled *bool `xml:"checksumEnabled"` -} - -func init() { - t["VsanClusterConfigInfoHostDefaultInfo"] = reflect.TypeOf((*VsanClusterConfigInfoHostDefaultInfo)(nil)).Elem() -} - -type VsanClusterUuidMismatch struct { - CannotMoveVsanEnabledHost - - HostClusterUuid string `xml:"hostClusterUuid"` - DestinationClusterUuid string `xml:"destinationClusterUuid"` -} - -func init() { - t["VsanClusterUuidMismatch"] = reflect.TypeOf((*VsanClusterUuidMismatch)(nil)).Elem() -} - -type VsanClusterUuidMismatchFault VsanClusterUuidMismatch - -func init() { - t["VsanClusterUuidMismatchFault"] = reflect.TypeOf((*VsanClusterUuidMismatchFault)(nil)).Elem() -} - -type VsanDatastoreInfo struct { - DatastoreInfo - - MembershipUuid string `xml:"membershipUuid,omitempty"` - AccessGenNo int32 `xml:"accessGenNo,omitempty"` -} - -func init() { - t["VsanDatastoreInfo"] = reflect.TypeOf((*VsanDatastoreInfo)(nil)).Elem() -} - -type VsanDiskFault struct { - VsanFault - - Device string `xml:"device,omitempty"` -} - -func init() { - t["VsanDiskFault"] = reflect.TypeOf((*VsanDiskFault)(nil)).Elem() -} - -type VsanDiskFaultFault BaseVsanDiskFault - -func init() { - t["VsanDiskFaultFault"] = reflect.TypeOf((*VsanDiskFaultFault)(nil)).Elem() -} - -type VsanFault struct { - VimFault -} - -func init() { - t["VsanFault"] = reflect.TypeOf((*VsanFault)(nil)).Elem() -} - -type VsanFaultFault BaseVsanFault - -func init() { - t["VsanFaultFault"] = reflect.TypeOf((*VsanFaultFault)(nil)).Elem() -} - -type VsanHostClusterStatus struct { - DynamicData - - Uuid string `xml:"uuid,omitempty"` - NodeUuid string `xml:"nodeUuid,omitempty"` - Health string `xml:"health"` - NodeState VsanHostClusterStatusState `xml:"nodeState"` - MemberUuid []string `xml:"memberUuid,omitempty"` -} - -func init() { - t["VsanHostClusterStatus"] = reflect.TypeOf((*VsanHostClusterStatus)(nil)).Elem() -} - -type VsanHostClusterStatusState struct { - DynamicData - - State string `xml:"state"` - Completion *VsanHostClusterStatusStateCompletionEstimate `xml:"completion,omitempty"` -} - -func init() { - t["VsanHostClusterStatusState"] = reflect.TypeOf((*VsanHostClusterStatusState)(nil)).Elem() -} - -type VsanHostClusterStatusStateCompletionEstimate struct { - DynamicData - - CompleteTime *time.Time `xml:"completeTime"` - PercentComplete int32 `xml:"percentComplete,omitempty"` -} - -func init() { - t["VsanHostClusterStatusStateCompletionEstimate"] = reflect.TypeOf((*VsanHostClusterStatusStateCompletionEstimate)(nil)).Elem() -} - -type VsanHostConfigInfo struct { - DynamicData - - Enabled *bool `xml:"enabled"` - HostSystem *ManagedObjectReference `xml:"hostSystem,omitempty"` - ClusterInfo *VsanHostConfigInfoClusterInfo `xml:"clusterInfo,omitempty"` - StorageInfo *VsanHostConfigInfoStorageInfo `xml:"storageInfo,omitempty"` - NetworkInfo *VsanHostConfigInfoNetworkInfo `xml:"networkInfo,omitempty"` - FaultDomainInfo *VsanHostFaultDomainInfo `xml:"faultDomainInfo,omitempty"` - VsanEsaEnabled *bool `xml:"vsanEsaEnabled"` -} - -func init() { - t["VsanHostConfigInfo"] = reflect.TypeOf((*VsanHostConfigInfo)(nil)).Elem() -} - -type VsanHostConfigInfoClusterInfo struct { - DynamicData - - Uuid string `xml:"uuid,omitempty"` - NodeUuid string `xml:"nodeUuid,omitempty"` -} - -func init() { - t["VsanHostConfigInfoClusterInfo"] = reflect.TypeOf((*VsanHostConfigInfoClusterInfo)(nil)).Elem() -} - -type VsanHostConfigInfoNetworkInfo struct { - DynamicData - - Port []VsanHostConfigInfoNetworkInfoPortConfig `xml:"port,omitempty"` -} - -func init() { - t["VsanHostConfigInfoNetworkInfo"] = reflect.TypeOf((*VsanHostConfigInfoNetworkInfo)(nil)).Elem() -} - -type VsanHostConfigInfoNetworkInfoPortConfig struct { - DynamicData - - IpConfig *VsanHostIpConfig `xml:"ipConfig,omitempty"` - Device string `xml:"device"` -} - -func init() { - t["VsanHostConfigInfoNetworkInfoPortConfig"] = reflect.TypeOf((*VsanHostConfigInfoNetworkInfoPortConfig)(nil)).Elem() -} - -type VsanHostConfigInfoStorageInfo struct { - DynamicData - - AutoClaimStorage *bool `xml:"autoClaimStorage"` - DiskMapping []VsanHostDiskMapping `xml:"diskMapping,omitempty"` - DiskMapInfo []VsanHostDiskMapInfo `xml:"diskMapInfo,omitempty"` - ChecksumEnabled *bool `xml:"checksumEnabled"` -} - -func init() { - t["VsanHostConfigInfoStorageInfo"] = reflect.TypeOf((*VsanHostConfigInfoStorageInfo)(nil)).Elem() -} - -type VsanHostDecommissionMode struct { - DynamicData - - ObjectAction string `xml:"objectAction"` -} - -func init() { - t["VsanHostDecommissionMode"] = reflect.TypeOf((*VsanHostDecommissionMode)(nil)).Elem() -} - -type VsanHostDiskMapInfo struct { - DynamicData - - Mapping VsanHostDiskMapping `xml:"mapping"` - Mounted bool `xml:"mounted"` -} - -func init() { - t["VsanHostDiskMapInfo"] = reflect.TypeOf((*VsanHostDiskMapInfo)(nil)).Elem() -} - -type VsanHostDiskMapResult struct { - DynamicData - - Mapping VsanHostDiskMapping `xml:"mapping"` - DiskResult []VsanHostDiskResult `xml:"diskResult,omitempty"` - Error *LocalizedMethodFault `xml:"error,omitempty"` -} - -func init() { - t["VsanHostDiskMapResult"] = reflect.TypeOf((*VsanHostDiskMapResult)(nil)).Elem() -} - -type VsanHostDiskMapping struct { - DynamicData - - Ssd HostScsiDisk `xml:"ssd"` - NonSsd []HostScsiDisk `xml:"nonSsd"` -} - -func init() { - t["VsanHostDiskMapping"] = reflect.TypeOf((*VsanHostDiskMapping)(nil)).Elem() -} - -type VsanHostDiskResult struct { - DynamicData - - Disk HostScsiDisk `xml:"disk"` - State string `xml:"state"` - VsanUuid string `xml:"vsanUuid,omitempty"` - Error *LocalizedMethodFault `xml:"error,omitempty"` - Degraded *bool `xml:"degraded"` -} - -func init() { - t["VsanHostDiskResult"] = reflect.TypeOf((*VsanHostDiskResult)(nil)).Elem() -} - -type VsanHostFaultDomainInfo struct { - DynamicData - - Name string `xml:"name"` -} - -func init() { - t["VsanHostFaultDomainInfo"] = reflect.TypeOf((*VsanHostFaultDomainInfo)(nil)).Elem() -} - -type VsanHostIpConfig struct { - DynamicData - - UpstreamIpAddress string `xml:"upstreamIpAddress"` - DownstreamIpAddress string `xml:"downstreamIpAddress"` -} - -func init() { - t["VsanHostIpConfig"] = reflect.TypeOf((*VsanHostIpConfig)(nil)).Elem() -} - -type VsanHostMembershipInfo struct { - DynamicData - - NodeUuid string `xml:"nodeUuid"` - Hostname string `xml:"hostname"` -} - -func init() { - t["VsanHostMembershipInfo"] = reflect.TypeOf((*VsanHostMembershipInfo)(nil)).Elem() -} - -type VsanHostRuntimeInfo struct { - DynamicData - - MembershipList []VsanHostMembershipInfo `xml:"membershipList,omitempty"` - DiskIssues []VsanHostRuntimeInfoDiskIssue `xml:"diskIssues,omitempty"` - AccessGenNo int32 `xml:"accessGenNo,omitempty"` -} - -func init() { - t["VsanHostRuntimeInfo"] = reflect.TypeOf((*VsanHostRuntimeInfo)(nil)).Elem() -} - -type VsanHostRuntimeInfoDiskIssue struct { - DynamicData - - DiskId string `xml:"diskId"` - Issue string `xml:"issue"` -} - -func init() { - t["VsanHostRuntimeInfoDiskIssue"] = reflect.TypeOf((*VsanHostRuntimeInfoDiskIssue)(nil)).Elem() -} - -type VsanHostVsanDiskInfo struct { - DynamicData - - VsanUuid string `xml:"vsanUuid"` - FormatVersion int32 `xml:"formatVersion"` -} - -func init() { - t["VsanHostVsanDiskInfo"] = reflect.TypeOf((*VsanHostVsanDiskInfo)(nil)).Elem() -} - -type VsanIncompatibleDiskMapping struct { - VsanDiskFault -} - -func init() { - t["VsanIncompatibleDiskMapping"] = reflect.TypeOf((*VsanIncompatibleDiskMapping)(nil)).Elem() -} - -type VsanIncompatibleDiskMappingFault VsanIncompatibleDiskMapping - -func init() { - t["VsanIncompatibleDiskMappingFault"] = reflect.TypeOf((*VsanIncompatibleDiskMappingFault)(nil)).Elem() -} - -type VsanNewPolicyBatch struct { - DynamicData - - Size []int64 `xml:"size,omitempty"` - Policy string `xml:"policy,omitempty"` -} - -func init() { - t["VsanNewPolicyBatch"] = reflect.TypeOf((*VsanNewPolicyBatch)(nil)).Elem() -} - -type VsanPolicyChangeBatch struct { - DynamicData - - Uuid []string `xml:"uuid,omitempty"` - Policy string `xml:"policy,omitempty"` -} - -func init() { - t["VsanPolicyChangeBatch"] = reflect.TypeOf((*VsanPolicyChangeBatch)(nil)).Elem() -} - -type VsanPolicyCost struct { - DynamicData - - ChangeDataSize int64 `xml:"changeDataSize,omitempty"` - CurrentDataSize int64 `xml:"currentDataSize,omitempty"` - TempDataSize int64 `xml:"tempDataSize,omitempty"` - CopyDataSize int64 `xml:"copyDataSize,omitempty"` - ChangeFlashReadCacheSize int64 `xml:"changeFlashReadCacheSize,omitempty"` - CurrentFlashReadCacheSize int64 `xml:"currentFlashReadCacheSize,omitempty"` - CurrentDiskSpaceToAddressSpaceRatio float32 `xml:"currentDiskSpaceToAddressSpaceRatio,omitempty"` - DiskSpaceToAddressSpaceRatio float32 `xml:"diskSpaceToAddressSpaceRatio,omitempty"` -} - -func init() { - t["VsanPolicyCost"] = reflect.TypeOf((*VsanPolicyCost)(nil)).Elem() -} - -type VsanPolicySatisfiability struct { - DynamicData - - Uuid string `xml:"uuid,omitempty"` - IsSatisfiable bool `xml:"isSatisfiable"` - Reason *LocalizableMessage `xml:"reason,omitempty"` - Cost *VsanPolicyCost `xml:"cost,omitempty"` -} - -func init() { - t["VsanPolicySatisfiability"] = reflect.TypeOf((*VsanPolicySatisfiability)(nil)).Elem() -} - -type VsanUpgradeSystemAPIBrokenIssue struct { - VsanUpgradeSystemPreflightCheckIssue - - Hosts []ManagedObjectReference `xml:"hosts"` -} - -func init() { - t["VsanUpgradeSystemAPIBrokenIssue"] = reflect.TypeOf((*VsanUpgradeSystemAPIBrokenIssue)(nil)).Elem() -} - -type VsanUpgradeSystemAutoClaimEnabledOnHostsIssue struct { - VsanUpgradeSystemPreflightCheckIssue - - Hosts []ManagedObjectReference `xml:"hosts"` -} - -func init() { - t["VsanUpgradeSystemAutoClaimEnabledOnHostsIssue"] = reflect.TypeOf((*VsanUpgradeSystemAutoClaimEnabledOnHostsIssue)(nil)).Elem() -} - -type VsanUpgradeSystemHostsDisconnectedIssue struct { - VsanUpgradeSystemPreflightCheckIssue - - Hosts []ManagedObjectReference `xml:"hosts"` -} - -func init() { - t["VsanUpgradeSystemHostsDisconnectedIssue"] = reflect.TypeOf((*VsanUpgradeSystemHostsDisconnectedIssue)(nil)).Elem() -} - -type VsanUpgradeSystemMissingHostsInClusterIssue struct { - VsanUpgradeSystemPreflightCheckIssue - - Hosts []ManagedObjectReference `xml:"hosts"` -} - -func init() { - t["VsanUpgradeSystemMissingHostsInClusterIssue"] = reflect.TypeOf((*VsanUpgradeSystemMissingHostsInClusterIssue)(nil)).Elem() -} - -type VsanUpgradeSystemNetworkPartitionInfo struct { - DynamicData - - Hosts []ManagedObjectReference `xml:"hosts"` -} - -func init() { - t["VsanUpgradeSystemNetworkPartitionInfo"] = reflect.TypeOf((*VsanUpgradeSystemNetworkPartitionInfo)(nil)).Elem() -} - -type VsanUpgradeSystemNetworkPartitionIssue struct { - VsanUpgradeSystemPreflightCheckIssue - - Partitions []VsanUpgradeSystemNetworkPartitionInfo `xml:"partitions"` -} - -func init() { - t["VsanUpgradeSystemNetworkPartitionIssue"] = reflect.TypeOf((*VsanUpgradeSystemNetworkPartitionIssue)(nil)).Elem() -} - -type VsanUpgradeSystemNotEnoughFreeCapacityIssue struct { - VsanUpgradeSystemPreflightCheckIssue - - ReducedRedundancyUpgradePossible bool `xml:"reducedRedundancyUpgradePossible"` -} - -func init() { - t["VsanUpgradeSystemNotEnoughFreeCapacityIssue"] = reflect.TypeOf((*VsanUpgradeSystemNotEnoughFreeCapacityIssue)(nil)).Elem() -} - -type VsanUpgradeSystemPreflightCheckIssue struct { - DynamicData - - Msg string `xml:"msg"` -} - -func init() { - t["VsanUpgradeSystemPreflightCheckIssue"] = reflect.TypeOf((*VsanUpgradeSystemPreflightCheckIssue)(nil)).Elem() -} - -type VsanUpgradeSystemPreflightCheckResult struct { - DynamicData - - Issues []BaseVsanUpgradeSystemPreflightCheckIssue `xml:"issues,omitempty,typeattr"` - DiskMappingToRestore *VsanHostDiskMapping `xml:"diskMappingToRestore,omitempty"` -} - -func init() { - t["VsanUpgradeSystemPreflightCheckResult"] = reflect.TypeOf((*VsanUpgradeSystemPreflightCheckResult)(nil)).Elem() -} - -type VsanUpgradeSystemRogueHostsInClusterIssue struct { - VsanUpgradeSystemPreflightCheckIssue - - Uuids []string `xml:"uuids"` -} - -func init() { - t["VsanUpgradeSystemRogueHostsInClusterIssue"] = reflect.TypeOf((*VsanUpgradeSystemRogueHostsInClusterIssue)(nil)).Elem() -} - -type VsanUpgradeSystemUpgradeHistoryDiskGroupOp struct { - VsanUpgradeSystemUpgradeHistoryItem - - Operation string `xml:"operation"` - DiskMapping VsanHostDiskMapping `xml:"diskMapping"` -} - -func init() { - t["VsanUpgradeSystemUpgradeHistoryDiskGroupOp"] = reflect.TypeOf((*VsanUpgradeSystemUpgradeHistoryDiskGroupOp)(nil)).Elem() -} - -type VsanUpgradeSystemUpgradeHistoryItem struct { - DynamicData - - Timestamp time.Time `xml:"timestamp"` - Host *ManagedObjectReference `xml:"host,omitempty"` - Message string `xml:"message"` - Task *ManagedObjectReference `xml:"task,omitempty"` -} - -func init() { - t["VsanUpgradeSystemUpgradeHistoryItem"] = reflect.TypeOf((*VsanUpgradeSystemUpgradeHistoryItem)(nil)).Elem() -} - -type VsanUpgradeSystemUpgradeHistoryPreflightFail struct { - VsanUpgradeSystemUpgradeHistoryItem - - PreflightResult VsanUpgradeSystemPreflightCheckResult `xml:"preflightResult"` -} - -func init() { - t["VsanUpgradeSystemUpgradeHistoryPreflightFail"] = reflect.TypeOf((*VsanUpgradeSystemUpgradeHistoryPreflightFail)(nil)).Elem() -} - -type VsanUpgradeSystemUpgradeStatus struct { - DynamicData - - InProgress bool `xml:"inProgress"` - History []BaseVsanUpgradeSystemUpgradeHistoryItem `xml:"history,omitempty,typeattr"` - Aborted *bool `xml:"aborted"` - Completed *bool `xml:"completed"` - Progress int32 `xml:"progress,omitempty"` -} - -func init() { - t["VsanUpgradeSystemUpgradeStatus"] = reflect.TypeOf((*VsanUpgradeSystemUpgradeStatus)(nil)).Elem() -} - -type VsanUpgradeSystemV2ObjectsPresentDuringDowngradeIssue struct { - VsanUpgradeSystemPreflightCheckIssue - - Uuids []string `xml:"uuids"` -} - -func init() { - t["VsanUpgradeSystemV2ObjectsPresentDuringDowngradeIssue"] = reflect.TypeOf((*VsanUpgradeSystemV2ObjectsPresentDuringDowngradeIssue)(nil)).Elem() -} - -type VsanUpgradeSystemWrongEsxVersionIssue struct { - VsanUpgradeSystemPreflightCheckIssue - - Hosts []ManagedObjectReference `xml:"hosts"` -} - -func init() { - t["VsanUpgradeSystemWrongEsxVersionIssue"] = reflect.TypeOf((*VsanUpgradeSystemWrongEsxVersionIssue)(nil)).Elem() -} - -type VslmCloneSpec struct { - VslmMigrateSpec - - Name string `xml:"name"` - KeepAfterDeleteVm *bool `xml:"keepAfterDeleteVm"` - Metadata []KeyValue `xml:"metadata,omitempty"` -} - -func init() { - t["VslmCloneSpec"] = reflect.TypeOf((*VslmCloneSpec)(nil)).Elem() -} - -type VslmCreateSpec struct { - DynamicData - - Name string `xml:"name"` - KeepAfterDeleteVm *bool `xml:"keepAfterDeleteVm"` - BackingSpec BaseVslmCreateSpecBackingSpec `xml:"backingSpec,typeattr"` - CapacityInMB int64 `xml:"capacityInMB"` - Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr"` - Crypto BaseCryptoSpec `xml:"crypto,omitempty,typeattr"` - Metadata []KeyValue `xml:"metadata,omitempty"` -} - -func init() { - t["VslmCreateSpec"] = reflect.TypeOf((*VslmCreateSpec)(nil)).Elem() -} - -type VslmCreateSpecBackingSpec struct { - DynamicData - - Datastore ManagedObjectReference `xml:"datastore"` - Path string `xml:"path,omitempty"` -} - -func init() { - t["VslmCreateSpecBackingSpec"] = reflect.TypeOf((*VslmCreateSpecBackingSpec)(nil)).Elem() -} - -type VslmCreateSpecDiskFileBackingSpec struct { - VslmCreateSpecBackingSpec - - ProvisioningType string `xml:"provisioningType,omitempty"` -} - -func init() { - t["VslmCreateSpecDiskFileBackingSpec"] = reflect.TypeOf((*VslmCreateSpecDiskFileBackingSpec)(nil)).Elem() -} - -type VslmCreateSpecRawDiskMappingBackingSpec struct { - VslmCreateSpecBackingSpec - - LunUuid string `xml:"lunUuid"` - CompatibilityMode string `xml:"compatibilityMode"` -} - -func init() { - t["VslmCreateSpecRawDiskMappingBackingSpec"] = reflect.TypeOf((*VslmCreateSpecRawDiskMappingBackingSpec)(nil)).Elem() -} - -type VslmMigrateSpec struct { - DynamicData - - BackingSpec BaseVslmCreateSpecBackingSpec `xml:"backingSpec,typeattr"` - Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr"` - Consolidate *bool `xml:"consolidate"` - DisksCrypto *DiskCryptoSpec `xml:"disksCrypto,omitempty"` -} - -func init() { - t["VslmMigrateSpec"] = reflect.TypeOf((*VslmMigrateSpec)(nil)).Elem() -} - -type VslmRelocateSpec struct { - VslmMigrateSpec -} - -func init() { - t["VslmRelocateSpec"] = reflect.TypeOf((*VslmRelocateSpec)(nil)).Elem() -} - -type VslmTagEntry struct { - DynamicData - - TagName string `xml:"tagName"` - ParentCategoryName string `xml:"parentCategoryName"` -} - -func init() { - t["VslmTagEntry"] = reflect.TypeOf((*VslmTagEntry)(nil)).Elem() -} - -type VspanDestPortConflict struct { - DvsFault - - VspanSessionKey1 string `xml:"vspanSessionKey1"` - VspanSessionKey2 string `xml:"vspanSessionKey2"` - PortKey string `xml:"portKey"` -} - -func init() { - t["VspanDestPortConflict"] = reflect.TypeOf((*VspanDestPortConflict)(nil)).Elem() -} - -type VspanDestPortConflictFault VspanDestPortConflict - -func init() { - t["VspanDestPortConflictFault"] = reflect.TypeOf((*VspanDestPortConflictFault)(nil)).Elem() -} - -type VspanPortConflict struct { - DvsFault - - VspanSessionKey1 string `xml:"vspanSessionKey1"` - VspanSessionKey2 string `xml:"vspanSessionKey2"` - PortKey string `xml:"portKey"` -} - -func init() { - t["VspanPortConflict"] = reflect.TypeOf((*VspanPortConflict)(nil)).Elem() -} - -type VspanPortConflictFault VspanPortConflict - -func init() { - t["VspanPortConflictFault"] = reflect.TypeOf((*VspanPortConflictFault)(nil)).Elem() -} - -type VspanPortMoveFault struct { - DvsFault - - SrcPortgroupName string `xml:"srcPortgroupName"` - DestPortgroupName string `xml:"destPortgroupName"` - PortKey string `xml:"portKey"` -} - -func init() { - t["VspanPortMoveFault"] = reflect.TypeOf((*VspanPortMoveFault)(nil)).Elem() -} - -type VspanPortMoveFaultFault VspanPortMoveFault - -func init() { - t["VspanPortMoveFaultFault"] = reflect.TypeOf((*VspanPortMoveFaultFault)(nil)).Elem() -} - -type VspanPortPromiscChangeFault struct { - DvsFault - - PortKey string `xml:"portKey"` -} - -func init() { - t["VspanPortPromiscChangeFault"] = reflect.TypeOf((*VspanPortPromiscChangeFault)(nil)).Elem() -} - -type VspanPortPromiscChangeFaultFault VspanPortPromiscChangeFault - -func init() { - t["VspanPortPromiscChangeFaultFault"] = reflect.TypeOf((*VspanPortPromiscChangeFaultFault)(nil)).Elem() -} - -type VspanPortgroupPromiscChangeFault struct { - DvsFault - - PortgroupName string `xml:"portgroupName"` -} - -func init() { - t["VspanPortgroupPromiscChangeFault"] = reflect.TypeOf((*VspanPortgroupPromiscChangeFault)(nil)).Elem() -} - -type VspanPortgroupPromiscChangeFaultFault VspanPortgroupPromiscChangeFault - -func init() { - t["VspanPortgroupPromiscChangeFaultFault"] = reflect.TypeOf((*VspanPortgroupPromiscChangeFaultFault)(nil)).Elem() -} - -type VspanPortgroupTypeChangeFault struct { - DvsFault - - PortgroupName string `xml:"portgroupName"` -} - -func init() { - t["VspanPortgroupTypeChangeFault"] = reflect.TypeOf((*VspanPortgroupTypeChangeFault)(nil)).Elem() -} - -type VspanPortgroupTypeChangeFaultFault VspanPortgroupTypeChangeFault - -func init() { - t["VspanPortgroupTypeChangeFaultFault"] = reflect.TypeOf((*VspanPortgroupTypeChangeFaultFault)(nil)).Elem() -} - -type VspanPromiscuousPortNotSupported struct { - DvsFault - - VspanSessionKey string `xml:"vspanSessionKey"` - PortKey string `xml:"portKey"` -} - -func init() { - t["VspanPromiscuousPortNotSupported"] = reflect.TypeOf((*VspanPromiscuousPortNotSupported)(nil)).Elem() -} - -type VspanPromiscuousPortNotSupportedFault VspanPromiscuousPortNotSupported - -func init() { - t["VspanPromiscuousPortNotSupportedFault"] = reflect.TypeOf((*VspanPromiscuousPortNotSupportedFault)(nil)).Elem() -} - -type VspanSameSessionPortConflict struct { - DvsFault - - VspanSessionKey string `xml:"vspanSessionKey"` - PortKey string `xml:"portKey"` -} - -func init() { - t["VspanSameSessionPortConflict"] = reflect.TypeOf((*VspanSameSessionPortConflict)(nil)).Elem() -} - -type VspanSameSessionPortConflictFault VspanSameSessionPortConflict - -func init() { - t["VspanSameSessionPortConflictFault"] = reflect.TypeOf((*VspanSameSessionPortConflictFault)(nil)).Elem() -} - -type VstorageObjectVCenterQueryChangedDiskAreas VstorageObjectVCenterQueryChangedDiskAreasRequestType - -func init() { - t["VstorageObjectVCenterQueryChangedDiskAreas"] = reflect.TypeOf((*VstorageObjectVCenterQueryChangedDiskAreas)(nil)).Elem() -} - -type VstorageObjectVCenterQueryChangedDiskAreasRequestType struct { - This ManagedObjectReference `xml:"_this"` - Id ID `xml:"id"` - Datastore ManagedObjectReference `xml:"datastore"` - SnapshotId ID `xml:"snapshotId"` - StartOffset int64 `xml:"startOffset"` - ChangeId string `xml:"changeId"` -} - -func init() { - t["VstorageObjectVCenterQueryChangedDiskAreasRequestType"] = reflect.TypeOf((*VstorageObjectVCenterQueryChangedDiskAreasRequestType)(nil)).Elem() -} - -type VstorageObjectVCenterQueryChangedDiskAreasResponse struct { - Returnval DiskChangeInfo `xml:"returnval"` -} - -type VvolDatastoreInfo struct { - DatastoreInfo - - VvolDS *HostVvolVolume `xml:"vvolDS,omitempty"` -} - -func init() { - t["VvolDatastoreInfo"] = reflect.TypeOf((*VvolDatastoreInfo)(nil)).Elem() -} - -type WaitForUpdates WaitForUpdatesRequestType - -func init() { - t["WaitForUpdates"] = reflect.TypeOf((*WaitForUpdates)(nil)).Elem() -} - -type WaitForUpdatesEx WaitForUpdatesExRequestType - -func init() { - t["WaitForUpdatesEx"] = reflect.TypeOf((*WaitForUpdatesEx)(nil)).Elem() -} - -type WaitForUpdatesExRequestType struct { - This ManagedObjectReference `xml:"_this"` - Version string `xml:"version,omitempty"` - Options *WaitOptions `xml:"options,omitempty"` -} - -func init() { - t["WaitForUpdatesExRequestType"] = reflect.TypeOf((*WaitForUpdatesExRequestType)(nil)).Elem() -} - -type WaitForUpdatesExResponse struct { - Returnval *UpdateSet `xml:"returnval,omitempty"` -} - -type WaitForUpdatesRequestType struct { - This ManagedObjectReference `xml:"_this"` - Version string `xml:"version,omitempty"` -} - -func init() { - t["WaitForUpdatesRequestType"] = reflect.TypeOf((*WaitForUpdatesRequestType)(nil)).Elem() -} - -type WaitForUpdatesResponse struct { - Returnval UpdateSet `xml:"returnval"` -} - -type WaitOptions struct { - DynamicData - - MaxWaitSeconds *int32 `xml:"maxWaitSeconds"` - MaxObjectUpdates int32 `xml:"maxObjectUpdates,omitempty"` -} - -func init() { - t["WaitOptions"] = reflect.TypeOf((*WaitOptions)(nil)).Elem() -} - -type WakeOnLanNotSupported struct { - VirtualHardwareCompatibilityIssue -} - -func init() { - t["WakeOnLanNotSupported"] = reflect.TypeOf((*WakeOnLanNotSupported)(nil)).Elem() -} - -type WakeOnLanNotSupportedByVmotionNIC struct { - HostPowerOpFailed -} - -func init() { - t["WakeOnLanNotSupportedByVmotionNIC"] = reflect.TypeOf((*WakeOnLanNotSupportedByVmotionNIC)(nil)).Elem() -} - -type WakeOnLanNotSupportedByVmotionNICFault WakeOnLanNotSupportedByVmotionNIC - -func init() { - t["WakeOnLanNotSupportedByVmotionNICFault"] = reflect.TypeOf((*WakeOnLanNotSupportedByVmotionNICFault)(nil)).Elem() -} - -type WakeOnLanNotSupportedFault WakeOnLanNotSupported - -func init() { - t["WakeOnLanNotSupportedFault"] = reflect.TypeOf((*WakeOnLanNotSupportedFault)(nil)).Elem() -} - -type WarningUpgradeEvent struct { - UpgradeEvent -} - -func init() { - t["WarningUpgradeEvent"] = reflect.TypeOf((*WarningUpgradeEvent)(nil)).Elem() -} - -type WeeklyTaskScheduler struct { - DailyTaskScheduler - - Sunday bool `xml:"sunday"` - Monday bool `xml:"monday"` - Tuesday bool `xml:"tuesday"` - Wednesday bool `xml:"wednesday"` - Thursday bool `xml:"thursday"` - Friday bool `xml:"friday"` - Saturday bool `xml:"saturday"` -} - -func init() { - t["WeeklyTaskScheduler"] = reflect.TypeOf((*WeeklyTaskScheduler)(nil)).Elem() -} - -type WillLoseHAProtection struct { - MigrationFault - - Resolution string `xml:"resolution"` -} - -func init() { - t["WillLoseHAProtection"] = reflect.TypeOf((*WillLoseHAProtection)(nil)).Elem() -} - -type WillLoseHAProtectionFault WillLoseHAProtection - -func init() { - t["WillLoseHAProtectionFault"] = reflect.TypeOf((*WillLoseHAProtectionFault)(nil)).Elem() -} - -type WillModifyConfigCpuRequirements struct { - MigrationFault -} - -func init() { - t["WillModifyConfigCpuRequirements"] = reflect.TypeOf((*WillModifyConfigCpuRequirements)(nil)).Elem() -} - -type WillModifyConfigCpuRequirementsFault WillModifyConfigCpuRequirements - -func init() { - t["WillModifyConfigCpuRequirementsFault"] = reflect.TypeOf((*WillModifyConfigCpuRequirementsFault)(nil)).Elem() -} - -type WillResetSnapshotDirectory struct { - MigrationFault -} - -func init() { - t["WillResetSnapshotDirectory"] = reflect.TypeOf((*WillResetSnapshotDirectory)(nil)).Elem() -} - -type WillResetSnapshotDirectoryFault WillResetSnapshotDirectory - -func init() { - t["WillResetSnapshotDirectoryFault"] = reflect.TypeOf((*WillResetSnapshotDirectoryFault)(nil)).Elem() -} - -type WinNetBIOSConfigInfo struct { - NetBIOSConfigInfo - - PrimaryWINS string `xml:"primaryWINS"` - SecondaryWINS string `xml:"secondaryWINS,omitempty"` -} - -func init() { - t["WinNetBIOSConfigInfo"] = reflect.TypeOf((*WinNetBIOSConfigInfo)(nil)).Elem() -} - -type WipeDiskFault struct { - VimFault -} - -func init() { - t["WipeDiskFault"] = reflect.TypeOf((*WipeDiskFault)(nil)).Elem() -} - -type WipeDiskFaultFault WipeDiskFault - -func init() { - t["WipeDiskFaultFault"] = reflect.TypeOf((*WipeDiskFaultFault)(nil)).Elem() -} - -type WitnessNodeInfo struct { - DynamicData - - IpSettings CustomizationIPSettings `xml:"ipSettings"` - BiosUuid string `xml:"biosUuid,omitempty"` -} - -func init() { - t["WitnessNodeInfo"] = reflect.TypeOf((*WitnessNodeInfo)(nil)).Elem() -} - -type XmlToCustomizationSpecItem XmlToCustomizationSpecItemRequestType - -func init() { - t["XmlToCustomizationSpecItem"] = reflect.TypeOf((*XmlToCustomizationSpecItem)(nil)).Elem() -} - -type XmlToCustomizationSpecItemRequestType struct { - This ManagedObjectReference `xml:"_this"` - SpecItemXml string `xml:"specItemXml"` -} - -func init() { - t["XmlToCustomizationSpecItemRequestType"] = reflect.TypeOf((*XmlToCustomizationSpecItemRequestType)(nil)).Elem() -} - -type XmlToCustomizationSpecItemResponse struct { - Returnval CustomizationSpecItem `xml:"returnval"` -} - -type ZeroFillVirtualDiskRequestType struct { - This ManagedObjectReference `xml:"_this"` - Name string `xml:"name"` - Datacenter *ManagedObjectReference `xml:"datacenter,omitempty"` -} - -func init() { - t["ZeroFillVirtualDiskRequestType"] = reflect.TypeOf((*ZeroFillVirtualDiskRequestType)(nil)).Elem() -} - -type ZeroFillVirtualDisk_Task ZeroFillVirtualDiskRequestType - -func init() { - t["ZeroFillVirtualDisk_Task"] = reflect.TypeOf((*ZeroFillVirtualDisk_Task)(nil)).Elem() -} - -type ZeroFillVirtualDisk_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type ConfigureVchaRequestType struct { - This ManagedObjectReference `xml:"_this"` - ConfigSpec VchaClusterConfigSpec `xml:"configSpec"` -} - -func init() { - t["configureVchaRequestType"] = reflect.TypeOf((*ConfigureVchaRequestType)(nil)).Elem() -} - -type ConfigureVcha_Task ConfigureVchaRequestType - -func init() { - t["configureVcha_Task"] = reflect.TypeOf((*ConfigureVcha_Task)(nil)).Elem() -} - -type ConfigureVcha_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CreatePassiveNodeRequestType struct { - This ManagedObjectReference `xml:"_this"` - PassiveDeploymentSpec PassiveNodeDeploymentSpec `xml:"passiveDeploymentSpec"` - SourceVcSpec SourceNodeSpec `xml:"sourceVcSpec"` -} - -func init() { - t["createPassiveNodeRequestType"] = reflect.TypeOf((*CreatePassiveNodeRequestType)(nil)).Elem() -} - -type CreatePassiveNode_Task CreatePassiveNodeRequestType - -func init() { - t["createPassiveNode_Task"] = reflect.TypeOf((*CreatePassiveNode_Task)(nil)).Elem() -} - -type CreatePassiveNode_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type CreateWitnessNodeRequestType struct { - This ManagedObjectReference `xml:"_this"` - WitnessDeploymentSpec BaseNodeDeploymentSpec `xml:"witnessDeploymentSpec,typeattr"` - SourceVcSpec SourceNodeSpec `xml:"sourceVcSpec"` -} - -func init() { - t["createWitnessNodeRequestType"] = reflect.TypeOf((*CreateWitnessNodeRequestType)(nil)).Elem() -} - -type CreateWitnessNode_Task CreateWitnessNodeRequestType - -func init() { - t["createWitnessNode_Task"] = reflect.TypeOf((*CreateWitnessNode_Task)(nil)).Elem() -} - -type CreateWitnessNode_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type DeployVchaRequestType struct { - This ManagedObjectReference `xml:"_this"` - DeploymentSpec VchaClusterDeploymentSpec `xml:"deploymentSpec"` -} - -func init() { - t["deployVchaRequestType"] = reflect.TypeOf((*DeployVchaRequestType)(nil)).Elem() -} - -type DeployVcha_Task DeployVchaRequestType - -func init() { - t["deployVcha_Task"] = reflect.TypeOf((*DeployVcha_Task)(nil)).Elem() -} - -type DeployVcha_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type DestroyVchaRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["destroyVchaRequestType"] = reflect.TypeOf((*DestroyVchaRequestType)(nil)).Elem() -} - -type DestroyVcha_Task DestroyVchaRequestType - -func init() { - t["destroyVcha_Task"] = reflect.TypeOf((*DestroyVcha_Task)(nil)).Elem() -} - -type DestroyVcha_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type FetchSoftwarePackages FetchSoftwarePackagesRequestType - -func init() { - t["fetchSoftwarePackages"] = reflect.TypeOf((*FetchSoftwarePackages)(nil)).Elem() -} - -type FetchSoftwarePackagesRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["fetchSoftwarePackagesRequestType"] = reflect.TypeOf((*FetchSoftwarePackagesRequestType)(nil)).Elem() -} - -type FetchSoftwarePackagesResponse struct { - Returnval []SoftwarePackage `xml:"returnval,omitempty"` -} - -type GetClusterMode GetClusterModeRequestType - -func init() { - t["getClusterMode"] = reflect.TypeOf((*GetClusterMode)(nil)).Elem() -} - -type GetClusterModeRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["getClusterModeRequestType"] = reflect.TypeOf((*GetClusterModeRequestType)(nil)).Elem() -} - -type GetClusterModeResponse struct { - Returnval string `xml:"returnval"` -} - -type GetVchaConfig GetVchaConfigRequestType - -func init() { - t["getVchaConfig"] = reflect.TypeOf((*GetVchaConfig)(nil)).Elem() -} - -type GetVchaConfigRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["getVchaConfigRequestType"] = reflect.TypeOf((*GetVchaConfigRequestType)(nil)).Elem() -} - -type GetVchaConfigResponse struct { - Returnval VchaClusterConfigInfo `xml:"returnval"` -} - -type InitiateFailoverRequestType struct { - This ManagedObjectReference `xml:"_this"` - Planned bool `xml:"planned"` -} - -func init() { - t["initiateFailoverRequestType"] = reflect.TypeOf((*InitiateFailoverRequestType)(nil)).Elem() -} - -type InitiateFailover_Task InitiateFailoverRequestType - -func init() { - t["initiateFailover_Task"] = reflect.TypeOf((*InitiateFailover_Task)(nil)).Elem() -} - -type InitiateFailover_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type InstallDate InstallDateRequestType - -func init() { - t["installDate"] = reflect.TypeOf((*InstallDate)(nil)).Elem() -} - -type InstallDateRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["installDateRequestType"] = reflect.TypeOf((*InstallDateRequestType)(nil)).Elem() -} - -type InstallDateResponse struct { - Returnval time.Time `xml:"returnval"` -} - -type PrepareVchaRequestType struct { - This ManagedObjectReference `xml:"_this"` - NetworkSpec VchaClusterNetworkSpec `xml:"networkSpec"` -} - -func init() { - t["prepareVchaRequestType"] = reflect.TypeOf((*PrepareVchaRequestType)(nil)).Elem() -} - -type PrepareVcha_Task PrepareVchaRequestType - -func init() { - t["prepareVcha_Task"] = reflect.TypeOf((*PrepareVcha_Task)(nil)).Elem() -} - -type PrepareVcha_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type QueryDatacenterConfigOptionDescriptor QueryDatacenterConfigOptionDescriptorRequestType - -func init() { - t["queryDatacenterConfigOptionDescriptor"] = reflect.TypeOf((*QueryDatacenterConfigOptionDescriptor)(nil)).Elem() -} - -type QueryDatacenterConfigOptionDescriptorRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["queryDatacenterConfigOptionDescriptorRequestType"] = reflect.TypeOf((*QueryDatacenterConfigOptionDescriptorRequestType)(nil)).Elem() -} - -type QueryDatacenterConfigOptionDescriptorResponse struct { - Returnval []VirtualMachineConfigOptionDescriptor `xml:"returnval,omitempty"` -} - -type ReloadVirtualMachineFromPathRequestType struct { - This ManagedObjectReference `xml:"_this"` - ConfigurationPath string `xml:"configurationPath"` -} - -func init() { - t["reloadVirtualMachineFromPathRequestType"] = reflect.TypeOf((*ReloadVirtualMachineFromPathRequestType)(nil)).Elem() -} - -type ReloadVirtualMachineFromPath_Task ReloadVirtualMachineFromPathRequestType - -func init() { - t["reloadVirtualMachineFromPath_Task"] = reflect.TypeOf((*ReloadVirtualMachineFromPath_Task)(nil)).Elem() -} - -type ReloadVirtualMachineFromPath_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type SetClusterModeRequestType struct { - This ManagedObjectReference `xml:"_this"` - Mode string `xml:"mode"` -} - -func init() { - t["setClusterModeRequestType"] = reflect.TypeOf((*SetClusterModeRequestType)(nil)).Elem() -} - -type SetClusterMode_Task SetClusterModeRequestType - -func init() { - t["setClusterMode_Task"] = reflect.TypeOf((*SetClusterMode_Task)(nil)).Elem() -} - -type SetClusterMode_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type SetCustomValue SetCustomValueRequestType - -func init() { - t["setCustomValue"] = reflect.TypeOf((*SetCustomValue)(nil)).Elem() -} - -type SetCustomValueRequestType struct { - This ManagedObjectReference `xml:"_this"` - Key string `xml:"key"` - Value string `xml:"value"` -} - -func init() { - t["setCustomValueRequestType"] = reflect.TypeOf((*SetCustomValueRequestType)(nil)).Elem() -} - -type SetCustomValueResponse struct { -} - -type UnregisterVAppRequestType struct { - This ManagedObjectReference `xml:"_this"` -} - -func init() { - t["unregisterVAppRequestType"] = reflect.TypeOf((*UnregisterVAppRequestType)(nil)).Elem() -} - -type UnregisterVApp_Task UnregisterVAppRequestType - -func init() { - t["unregisterVApp_Task"] = reflect.TypeOf((*UnregisterVApp_Task)(nil)).Elem() -} - -type UnregisterVApp_TaskResponse struct { - Returnval ManagedObjectReference `xml:"returnval"` -} - -type VersionURI string - -func init() { - t["versionURI"] = reflect.TypeOf((*VersionURI)(nil)).Elem() -} - -type VslmInfrastructureObjectPolicy struct { - DynamicData - - Name string `xml:"name"` - BackingObjectId string `xml:"backingObjectId"` - ProfileId string `xml:"profileId"` - Error *LocalizedMethodFault `xml:"error,omitempty"` -} - -func init() { - t["vslmInfrastructureObjectPolicy"] = reflect.TypeOf((*VslmInfrastructureObjectPolicy)(nil)).Elem() -} - -type VslmInfrastructureObjectPolicySpec struct { - DynamicData - - Datastore ManagedObjectReference `xml:"datastore"` - Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr"` -} - -func init() { - t["vslmInfrastructureObjectPolicySpec"] = reflect.TypeOf((*VslmInfrastructureObjectPolicySpec)(nil)).Elem() -} - -type VslmVClockInfo struct { - DynamicData - - VClockTime int64 `xml:"vClockTime"` -} - -func init() { - t["vslmVClockInfo"] = reflect.TypeOf((*VslmVClockInfo)(nil)).Elem() -} diff --git a/vendor/github.com/vmware/govmomi/vim25/types/unreleased.go b/vendor/github.com/vmware/govmomi/vim25/types/unreleased.go deleted file mode 100644 index 72bc1082b87..00000000000 --- a/vendor/github.com/vmware/govmomi/vim25/types/unreleased.go +++ /dev/null @@ -1,121 +0,0 @@ -/* - Copyright (c) 2022 VMware, Inc. All Rights Reserved. - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - -http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -*/ - -package types - -import "reflect" - -type ArrayOfPlaceVmsXClusterResultPlacementFaults struct { - PlaceVmsXClusterResultPlacementFaults []PlaceVmsXClusterResultPlacementFaults `xml:"PlaceVmsXClusterResultPlacementFaults,omitempty"` -} - -func init() { - t["ArrayOfPlaceVmsXClusterResultPlacementFaults"] = reflect.TypeOf((*ArrayOfPlaceVmsXClusterResultPlacementFaults)(nil)).Elem() -} - -type ArrayOfPlaceVmsXClusterResultPlacementInfo struct { - PlaceVmsXClusterResultPlacementInfo []PlaceVmsXClusterResultPlacementInfo `xml:"PlaceVmsXClusterResultPlacementInfo,omitempty"` -} - -func init() { - t["ArrayOfPlaceVmsXClusterResultPlacementInfo"] = reflect.TypeOf((*ArrayOfPlaceVmsXClusterResultPlacementInfo)(nil)).Elem() -} - -type ArrayOfPlaceVmsXClusterSpecVmPlacementSpec struct { - PlaceVmsXClusterSpecVmPlacementSpec []PlaceVmsXClusterSpecVmPlacementSpec `xml:"PlaceVmsXClusterSpecVmPlacementSpec,omitempty"` -} - -func init() { - t["ArrayOfPlaceVmsXClusterSpecVmPlacementSpec"] = reflect.TypeOf((*ArrayOfPlaceVmsXClusterSpecVmPlacementSpec)(nil)).Elem() -} - -type PlaceVmsXCluster PlaceVmsXClusterRequestType - -func init() { - t["PlaceVmsXCluster"] = reflect.TypeOf((*PlaceVmsXCluster)(nil)).Elem() -} - -type PlaceVmsXClusterRequestType struct { - This ManagedObjectReference `xml:"_this"` - PlacementSpec PlaceVmsXClusterSpec `xml:"placementSpec"` -} - -func init() { - t["PlaceVmsXClusterRequestType"] = reflect.TypeOf((*PlaceVmsXClusterRequestType)(nil)).Elem() -} - -type PlaceVmsXClusterResponse struct { - Returnval PlaceVmsXClusterResult `xml:"returnval"` -} - -type PlaceVmsXClusterResult struct { - DynamicData - - PlacementInfos []PlaceVmsXClusterResultPlacementInfo `xml:"placementInfos,omitempty"` - Faults []PlaceVmsXClusterResultPlacementFaults `xml:"faults,omitempty"` -} - -func init() { - t["PlaceVmsXClusterResult"] = reflect.TypeOf((*PlaceVmsXClusterResult)(nil)).Elem() -} - -type PlaceVmsXClusterResultPlacementFaults struct { - DynamicData - - ResourcePool ManagedObjectReference `xml:"resourcePool"` - VmName string `xml:"vmName"` - Faults []LocalizedMethodFault `xml:"faults,omitempty"` -} - -func init() { - t["PlaceVmsXClusterResultPlacementFaults"] = reflect.TypeOf((*PlaceVmsXClusterResultPlacementFaults)(nil)).Elem() -} - -type PlaceVmsXClusterResultPlacementInfo struct { - DynamicData - - VmName string `xml:"vmName"` - Recommendation ClusterRecommendation `xml:"recommendation"` -} - -func init() { - t["PlaceVmsXClusterResultPlacementInfo"] = reflect.TypeOf((*PlaceVmsXClusterResultPlacementInfo)(nil)).Elem() -} - -type PlaceVmsXClusterSpec struct { - DynamicData - - ResourcePools []ManagedObjectReference `xml:"resourcePools,omitempty"` - VmPlacementSpecs []PlaceVmsXClusterSpecVmPlacementSpec `xml:"vmPlacementSpecs,omitempty"` - HostRecommRequired *bool `xml:"hostRecommRequired"` - DatastoreRecommRequired *bool `xml:"datastoreRecommRequired"` -} - -func init() { - t["PlaceVmsXClusterSpec"] = reflect.TypeOf((*PlaceVmsXClusterSpec)(nil)).Elem() -} - -type PlaceVmsXClusterSpecVmPlacementSpec struct { - DynamicData - - ConfigSpec VirtualMachineConfigSpec `xml:"configSpec"` -} - -func init() { - t["PlaceVmsXClusterSpecVmPlacementSpec"] = reflect.TypeOf((*PlaceVmsXClusterSpecVmPlacementSpec)(nil)).Elem() -} - -const RecommendationReasonCodeXClusterPlacement = RecommendationReasonCode("xClusterPlacement") diff --git a/vendor/github.com/vmware/govmomi/vim25/xml/LICENSE b/vendor/github.com/vmware/govmomi/vim25/xml/LICENSE deleted file mode 100644 index 6a66aea5eaf..00000000000 --- a/vendor/github.com/vmware/govmomi/vim25/xml/LICENSE +++ /dev/null @@ -1,27 +0,0 @@ -Copyright (c) 2009 The Go Authors. All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are -met: - - * Redistributions of source code must retain the above copyright -notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above -copyright notice, this list of conditions and the following disclaimer -in the documentation and/or other materials provided with the -distribution. - * Neither the name of Google Inc. nor the names of its -contributors may be used to endorse or promote products derived from -this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/github.com/vmware/govmomi/vim25/xml/extras.go b/vendor/github.com/vmware/govmomi/vim25/xml/extras.go deleted file mode 100644 index 9a15b7c8eb6..00000000000 --- a/vendor/github.com/vmware/govmomi/vim25/xml/extras.go +++ /dev/null @@ -1,99 +0,0 @@ -/* -Copyright (c) 2014 VMware, Inc. All Rights Reserved. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -package xml - -import ( - "reflect" - "time" -) - -var xmlSchemaInstance = Name{Space: "http://www.w3.org/2001/XMLSchema-instance", Local: "type"} - -var xsiType = Name{Space: "xsi", Local: "type"} - -var stringToTypeMap = map[string]reflect.Type{ - "xsd:boolean": reflect.TypeOf((*bool)(nil)).Elem(), - "xsd:byte": reflect.TypeOf((*int8)(nil)).Elem(), - "xsd:short": reflect.TypeOf((*int16)(nil)).Elem(), - "xsd:int": reflect.TypeOf((*int32)(nil)).Elem(), - "xsd:long": reflect.TypeOf((*int64)(nil)).Elem(), - "xsd:unsignedByte": reflect.TypeOf((*uint8)(nil)).Elem(), - "xsd:unsignedShort": reflect.TypeOf((*uint16)(nil)).Elem(), - "xsd:unsignedInt": reflect.TypeOf((*uint32)(nil)).Elem(), - "xsd:unsignedLong": reflect.TypeOf((*uint64)(nil)).Elem(), - "xsd:float": reflect.TypeOf((*float32)(nil)).Elem(), - "xsd:double": reflect.TypeOf((*float64)(nil)).Elem(), - "xsd:string": reflect.TypeOf((*string)(nil)).Elem(), - "xsd:dateTime": reflect.TypeOf((*time.Time)(nil)).Elem(), - "xsd:base64Binary": reflect.TypeOf((*[]byte)(nil)).Elem(), -} - -// Return a reflect.Type for the specified type. Nil if unknown. -func stringToType(s string) reflect.Type { - return stringToTypeMap[s] -} - -// Return a string for the specified reflect.Type. Panic if unknown. -func typeToString(typ reflect.Type) string { - switch typ.Kind() { - case reflect.Bool: - return "xsd:boolean" - case reflect.Int8: - return "xsd:byte" - case reflect.Int16: - return "xsd:short" - case reflect.Int32: - return "xsd:int" - case reflect.Int, reflect.Int64: - return "xsd:long" - case reflect.Uint8: - return "xsd:unsignedByte" - case reflect.Uint16: - return "xsd:unsignedShort" - case reflect.Uint32: - return "xsd:unsignedInt" - case reflect.Uint, reflect.Uint64: - return "xsd:unsignedLong" - case reflect.Float32: - return "xsd:float" - case reflect.Float64: - return "xsd:double" - case reflect.String: - name := typ.Name() - if name == "string" { - return "xsd:string" - } - return name - case reflect.Struct: - if typ == stringToTypeMap["xsd:dateTime"] { - return "xsd:dateTime" - } - - // Expect any other struct to be handled... - return typ.Name() - case reflect.Slice: - if typ.Elem().Kind() == reflect.Uint8 { - return "xsd:base64Binary" - } - case reflect.Array: - if typ.Elem().Kind() == reflect.Uint8 { - return "xsd:base64Binary" - } - } - - panic("don't know what to do for type: " + typ.String()) -} diff --git a/vendor/github.com/vmware/govmomi/vim25/xml/marshal.go b/vendor/github.com/vmware/govmomi/vim25/xml/marshal.go deleted file mode 100644 index c0c0a588bf5..00000000000 --- a/vendor/github.com/vmware/govmomi/vim25/xml/marshal.go +++ /dev/null @@ -1,1066 +0,0 @@ -// Copyright 2011 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package xml - -import ( - "bufio" - "bytes" - "encoding" - "fmt" - "io" - "reflect" - "strconv" - "strings" -) - -const ( - // Header is a generic XML header suitable for use with the output of Marshal. - // This is not automatically added to any output of this package, - // it is provided as a convenience. - Header = `` + "\n" -) - -// Marshal returns the XML encoding of v. -// -// Marshal handles an array or slice by marshaling each of the elements. -// Marshal handles a pointer by marshaling the value it points at or, if the -// pointer is nil, by writing nothing. Marshal handles an interface value by -// marshaling the value it contains or, if the interface value is nil, by -// writing nothing. Marshal handles all other data by writing one or more XML -// elements containing the data. -// -// The name for the XML elements is taken from, in order of preference: -// - the tag on the XMLName field, if the data is a struct -// - the value of the XMLName field of type Name -// - the tag of the struct field used to obtain the data -// - the name of the struct field used to obtain the data -// - the name of the marshaled type -// -// The XML element for a struct contains marshaled elements for each of the -// exported fields of the struct, with these exceptions: -// - the XMLName field, described above, is omitted. -// - a field with tag "-" is omitted. -// - a field with tag "name,attr" becomes an attribute with -// the given name in the XML element. -// - a field with tag ",attr" becomes an attribute with the -// field name in the XML element. -// - a field with tag ",chardata" is written as character data, -// not as an XML element. -// - a field with tag ",cdata" is written as character data -// wrapped in one or more tags, not as an XML element. -// - a field with tag ",innerxml" is written verbatim, not subject -// to the usual marshaling procedure. -// - a field with tag ",comment" is written as an XML comment, not -// subject to the usual marshaling procedure. It must not contain -// the "--" string within it. -// - a field with a tag including the "omitempty" option is omitted -// if the field value is empty. The empty values are false, 0, any -// nil pointer or interface value, and any array, slice, map, or -// string of length zero. -// - an anonymous struct field is handled as if the fields of its -// value were part of the outer struct. -// - a field implementing Marshaler is written by calling its MarshalXML -// method. -// - a field implementing encoding.TextMarshaler is written by encoding the -// result of its MarshalText method as text. -// -// If a field uses a tag "a>b>c", then the element c will be nested inside -// parent elements a and b. Fields that appear next to each other that name -// the same parent will be enclosed in one XML element. -// -// If the XML name for a struct field is defined by both the field tag and the -// struct's XMLName field, the names must match. -// -// See MarshalIndent for an example. -// -// Marshal will return an error if asked to marshal a channel, function, or map. -func Marshal(v interface{}) ([]byte, error) { - var b bytes.Buffer - if err := NewEncoder(&b).Encode(v); err != nil { - return nil, err - } - return b.Bytes(), nil -} - -// Marshaler is the interface implemented by objects that can marshal -// themselves into valid XML elements. -// -// MarshalXML encodes the receiver as zero or more XML elements. -// By convention, arrays or slices are typically encoded as a sequence -// of elements, one per entry. -// Using start as the element tag is not required, but doing so -// will enable Unmarshal to match the XML elements to the correct -// struct field. -// One common implementation strategy is to construct a separate -// value with a layout corresponding to the desired XML and then -// to encode it using e.EncodeElement. -// Another common strategy is to use repeated calls to e.EncodeToken -// to generate the XML output one token at a time. -// The sequence of encoded tokens must make up zero or more valid -// XML elements. -type Marshaler interface { - MarshalXML(e *Encoder, start StartElement) error -} - -// MarshalerAttr is the interface implemented by objects that can marshal -// themselves into valid XML attributes. -// -// MarshalXMLAttr returns an XML attribute with the encoded value of the receiver. -// Using name as the attribute name is not required, but doing so -// will enable Unmarshal to match the attribute to the correct -// struct field. -// If MarshalXMLAttr returns the zero attribute Attr{}, no attribute -// will be generated in the output. -// MarshalXMLAttr is used only for struct fields with the -// "attr" option in the field tag. -type MarshalerAttr interface { - MarshalXMLAttr(name Name) (Attr, error) -} - -// MarshalIndent works like Marshal, but each XML element begins on a new -// indented line that starts with prefix and is followed by one or more -// copies of indent according to the nesting depth. -func MarshalIndent(v interface{}, prefix, indent string) ([]byte, error) { - var b bytes.Buffer - enc := NewEncoder(&b) - enc.Indent(prefix, indent) - if err := enc.Encode(v); err != nil { - return nil, err - } - return b.Bytes(), nil -} - -// An Encoder writes XML data to an output stream. -type Encoder struct { - p printer -} - -// NewEncoder returns a new encoder that writes to w. -func NewEncoder(w io.Writer) *Encoder { - e := &Encoder{printer{Writer: bufio.NewWriter(w)}} - e.p.encoder = e - return e -} - -// Indent sets the encoder to generate XML in which each element -// begins on a new indented line that starts with prefix and is followed by -// one or more copies of indent according to the nesting depth. -func (enc *Encoder) Indent(prefix, indent string) { - enc.p.prefix = prefix - enc.p.indent = indent -} - -// Encode writes the XML encoding of v to the stream. -// -// See the documentation for Marshal for details about the conversion -// of Go values to XML. -// -// Encode calls Flush before returning. -func (enc *Encoder) Encode(v interface{}) error { - err := enc.p.marshalValue(reflect.ValueOf(v), nil, nil) - if err != nil { - return err - } - return enc.p.Flush() -} - -// EncodeElement writes the XML encoding of v to the stream, -// using start as the outermost tag in the encoding. -// -// See the documentation for Marshal for details about the conversion -// of Go values to XML. -// -// EncodeElement calls Flush before returning. -func (enc *Encoder) EncodeElement(v interface{}, start StartElement) error { - err := enc.p.marshalValue(reflect.ValueOf(v), nil, &start) - if err != nil { - return err - } - return enc.p.Flush() -} - -var ( - begComment = []byte("") - endProcInst = []byte("?>") -) - -// EncodeToken writes the given XML token to the stream. -// It returns an error if StartElement and EndElement tokens are not properly matched. -// -// EncodeToken does not call Flush, because usually it is part of a larger operation -// such as Encode or EncodeElement (or a custom Marshaler's MarshalXML invoked -// during those), and those will call Flush when finished. -// Callers that create an Encoder and then invoke EncodeToken directly, without -// using Encode or EncodeElement, need to call Flush when finished to ensure -// that the XML is written to the underlying writer. -// -// EncodeToken allows writing a ProcInst with Target set to "xml" only as the first token -// in the stream. -func (enc *Encoder) EncodeToken(t Token) error { - - p := &enc.p - switch t := t.(type) { - case StartElement: - if err := p.writeStart(&t); err != nil { - return err - } - case EndElement: - if err := p.writeEnd(t.Name); err != nil { - return err - } - case CharData: - escapeText(p, t, false) - case Comment: - if bytes.Contains(t, endComment) { - return fmt.Errorf("xml: EncodeToken of Comment containing --> marker") - } - p.WriteString("") - return p.cachedWriteError() - case ProcInst: - // First token to be encoded which is also a ProcInst with target of xml - // is the xml declaration. The only ProcInst where target of xml is allowed. - if t.Target == "xml" && p.Buffered() != 0 { - return fmt.Errorf("xml: EncodeToken of ProcInst xml target only valid for xml declaration, first token encoded") - } - if !isNameString(t.Target) { - return fmt.Errorf("xml: EncodeToken of ProcInst with invalid Target") - } - if bytes.Contains(t.Inst, endProcInst) { - return fmt.Errorf("xml: EncodeToken of ProcInst containing ?> marker") - } - p.WriteString(" 0 { - p.WriteByte(' ') - p.Write(t.Inst) - } - p.WriteString("?>") - case Directive: - if !isValidDirective(t) { - return fmt.Errorf("xml: EncodeToken of Directive containing wrong < or > markers") - } - p.WriteString("") - default: - return fmt.Errorf("xml: EncodeToken of invalid token type") - - } - return p.cachedWriteError() -} - -// isValidDirective reports whether dir is a valid directive text, -// meaning angle brackets are matched, ignoring comments and strings. -func isValidDirective(dir Directive) bool { - var ( - depth int - inquote uint8 - incomment bool - ) - for i, c := range dir { - switch { - case incomment: - if c == '>' { - if n := 1 + i - len(endComment); n >= 0 && bytes.Equal(dir[n:i+1], endComment) { - incomment = false - } - } - // Just ignore anything in comment - case inquote != 0: - if c == inquote { - inquote = 0 - } - // Just ignore anything within quotes - case c == '\'' || c == '"': - inquote = c - case c == '<': - if i+len(begComment) < len(dir) && bytes.Equal(dir[i:i+len(begComment)], begComment) { - incomment = true - } else { - depth++ - } - case c == '>': - if depth == 0 { - return false - } - depth-- - } - } - return depth == 0 && inquote == 0 && !incomment -} - -// Flush flushes any buffered XML to the underlying writer. -// See the EncodeToken documentation for details about when it is necessary. -func (enc *Encoder) Flush() error { - return enc.p.Flush() -} - -type printer struct { - *bufio.Writer - encoder *Encoder - seq int - indent string - prefix string - depth int - indentedIn bool - putNewline bool - attrNS map[string]string // map prefix -> name space - attrPrefix map[string]string // map name space -> prefix - prefixes []string - tags []Name -} - -// createAttrPrefix finds the name space prefix attribute to use for the given name space, -// defining a new prefix if necessary. It returns the prefix. -func (p *printer) createAttrPrefix(url string) string { - if prefix := p.attrPrefix[url]; prefix != "" { - return prefix - } - - // The "http://www.w3.org/XML/1998/namespace" name space is predefined as "xml" - // and must be referred to that way. - // (The "http://www.w3.org/2000/xmlns/" name space is also predefined as "xmlns", - // but users should not be trying to use that one directly - that's our job.) - if url == xmlURL { - return xmlPrefix - } - - // Need to define a new name space. - if p.attrPrefix == nil { - p.attrPrefix = make(map[string]string) - p.attrNS = make(map[string]string) - } - - // Pick a name. We try to use the final element of the path - // but fall back to _. - prefix := strings.TrimRight(url, "/") - if i := strings.LastIndex(prefix, "/"); i >= 0 { - prefix = prefix[i+1:] - } - if prefix == "" || !isName([]byte(prefix)) || strings.Contains(prefix, ":") { - prefix = "_" - } - if strings.HasPrefix(prefix, "xml") { - // xmlanything is reserved. - prefix = "_" + prefix - } - if p.attrNS[prefix] != "" { - // Name is taken. Find a better one. - for p.seq++; ; p.seq++ { - if id := prefix + "_" + strconv.Itoa(p.seq); p.attrNS[id] == "" { - prefix = id - break - } - } - } - - p.attrPrefix[url] = prefix - p.attrNS[prefix] = url - - p.WriteString(`xmlns:`) - p.WriteString(prefix) - p.WriteString(`="`) - EscapeText(p, []byte(url)) - p.WriteString(`" `) - - p.prefixes = append(p.prefixes, prefix) - - return prefix -} - -// deleteAttrPrefix removes an attribute name space prefix. -func (p *printer) deleteAttrPrefix(prefix string) { - delete(p.attrPrefix, p.attrNS[prefix]) - delete(p.attrNS, prefix) -} - -func (p *printer) markPrefix() { - p.prefixes = append(p.prefixes, "") -} - -func (p *printer) popPrefix() { - for len(p.prefixes) > 0 { - prefix := p.prefixes[len(p.prefixes)-1] - p.prefixes = p.prefixes[:len(p.prefixes)-1] - if prefix == "" { - break - } - p.deleteAttrPrefix(prefix) - } -} - -var ( - marshalerType = reflect.TypeOf((*Marshaler)(nil)).Elem() - marshalerAttrType = reflect.TypeOf((*MarshalerAttr)(nil)).Elem() - textMarshalerType = reflect.TypeOf((*encoding.TextMarshaler)(nil)).Elem() -) - -// marshalValue writes one or more XML elements representing val. -// If val was obtained from a struct field, finfo must have its details. -func (p *printer) marshalValue(val reflect.Value, finfo *fieldInfo, startTemplate *StartElement) error { - if startTemplate != nil && startTemplate.Name.Local == "" { - return fmt.Errorf("xml: EncodeElement of StartElement with missing name") - } - - if !val.IsValid() { - return nil - } - if finfo != nil && finfo.flags&fOmitEmpty != 0 && isEmptyValue(val) { - return nil - } - - // Drill into interfaces and pointers. - // This can turn into an infinite loop given a cyclic chain, - // but it matches the Go 1 behavior. - for val.Kind() == reflect.Interface || val.Kind() == reflect.Ptr { - if val.IsNil() { - return nil - } - val = val.Elem() - } - - kind := val.Kind() - typ := val.Type() - - // Check for marshaler. - if val.CanInterface() && typ.Implements(marshalerType) { - return p.marshalInterface(val.Interface().(Marshaler), defaultStart(typ, finfo, startTemplate)) - } - if val.CanAddr() { - pv := val.Addr() - if pv.CanInterface() && pv.Type().Implements(marshalerType) { - return p.marshalInterface(pv.Interface().(Marshaler), defaultStart(pv.Type(), finfo, startTemplate)) - } - } - - // Check for text marshaler. - if val.CanInterface() && typ.Implements(textMarshalerType) { - return p.marshalTextInterface(val.Interface().(encoding.TextMarshaler), defaultStart(typ, finfo, startTemplate)) - } - if val.CanAddr() { - pv := val.Addr() - if pv.CanInterface() && pv.Type().Implements(textMarshalerType) { - return p.marshalTextInterface(pv.Interface().(encoding.TextMarshaler), defaultStart(pv.Type(), finfo, startTemplate)) - } - } - - // Slices and arrays iterate over the elements. They do not have an enclosing tag. - if (kind == reflect.Slice || kind == reflect.Array) && typ.Elem().Kind() != reflect.Uint8 { - for i, n := 0, val.Len(); i < n; i++ { - if err := p.marshalValue(val.Index(i), finfo, startTemplate); err != nil { - return err - } - } - return nil - } - - tinfo, err := getTypeInfo(typ) - if err != nil { - return err - } - - // Create start element. - // Precedence for the XML element name is: - // 0. startTemplate - // 1. XMLName field in underlying struct; - // 2. field name/tag in the struct field; and - // 3. type name - var start StartElement - - if startTemplate != nil { - start.Name = startTemplate.Name - start.Attr = append(start.Attr, startTemplate.Attr...) - } else if tinfo.xmlname != nil { - xmlname := tinfo.xmlname - if xmlname.name != "" { - start.Name.Space, start.Name.Local = xmlname.xmlns, xmlname.name - } else { - fv := xmlname.value(val, dontInitNilPointers) - if v, ok := fv.Interface().(Name); ok && v.Local != "" { - start.Name = v - } - } - } - if start.Name.Local == "" && finfo != nil { - start.Name.Space, start.Name.Local = finfo.xmlns, finfo.name - } - if start.Name.Local == "" { - name := typ.Name() - if name == "" { - return &UnsupportedTypeError{typ} - } - start.Name.Local = name - } - - // Add type attribute if necessary - if finfo != nil && finfo.flags&fTypeAttr != 0 { - start.Attr = append(start.Attr, Attr{xmlSchemaInstance, typeToString(typ)}) - } - - // Attributes - for i := range tinfo.fields { - finfo := &tinfo.fields[i] - if finfo.flags&fAttr == 0 { - continue - } - fv := finfo.value(val, dontInitNilPointers) - - if finfo.flags&fOmitEmpty != 0 && isEmptyValue(fv) { - continue - } - - if fv.Kind() == reflect.Interface && fv.IsNil() { - continue - } - - name := Name{Space: finfo.xmlns, Local: finfo.name} - if err := p.marshalAttr(&start, name, fv); err != nil { - return err - } - } - - if err := p.writeStart(&start); err != nil { - return err - } - - if val.Kind() == reflect.Struct { - err = p.marshalStruct(tinfo, val) - } else { - s, b, err1 := p.marshalSimple(typ, val) - if err1 != nil { - err = err1 - } else if b != nil { - EscapeText(p, b) - } else { - p.EscapeString(s) - } - } - if err != nil { - return err - } - - if err := p.writeEnd(start.Name); err != nil { - return err - } - - return p.cachedWriteError() -} - -// marshalAttr marshals an attribute with the given name and value, adding to start.Attr. -func (p *printer) marshalAttr(start *StartElement, name Name, val reflect.Value) error { - if val.CanInterface() && val.Type().Implements(marshalerAttrType) { - attr, err := val.Interface().(MarshalerAttr).MarshalXMLAttr(name) - if err != nil { - return err - } - if attr.Name.Local != "" { - start.Attr = append(start.Attr, attr) - } - return nil - } - - if val.CanAddr() { - pv := val.Addr() - if pv.CanInterface() && pv.Type().Implements(marshalerAttrType) { - attr, err := pv.Interface().(MarshalerAttr).MarshalXMLAttr(name) - if err != nil { - return err - } - if attr.Name.Local != "" { - start.Attr = append(start.Attr, attr) - } - return nil - } - } - - if val.CanInterface() && val.Type().Implements(textMarshalerType) { - text, err := val.Interface().(encoding.TextMarshaler).MarshalText() - if err != nil { - return err - } - start.Attr = append(start.Attr, Attr{name, string(text)}) - return nil - } - - if val.CanAddr() { - pv := val.Addr() - if pv.CanInterface() && pv.Type().Implements(textMarshalerType) { - text, err := pv.Interface().(encoding.TextMarshaler).MarshalText() - if err != nil { - return err - } - start.Attr = append(start.Attr, Attr{name, string(text)}) - return nil - } - } - - // Dereference or skip nil pointer, interface values. - switch val.Kind() { - case reflect.Ptr, reflect.Interface: - if val.IsNil() { - return nil - } - val = val.Elem() - } - - // Walk slices. - if val.Kind() == reflect.Slice && val.Type().Elem().Kind() != reflect.Uint8 { - n := val.Len() - for i := 0; i < n; i++ { - if err := p.marshalAttr(start, name, val.Index(i)); err != nil { - return err - } - } - return nil - } - - if val.Type() == attrType { - start.Attr = append(start.Attr, val.Interface().(Attr)) - return nil - } - - s, b, err := p.marshalSimple(val.Type(), val) - if err != nil { - return err - } - if b != nil { - s = string(b) - } - start.Attr = append(start.Attr, Attr{name, s}) - return nil -} - -// defaultStart returns the default start element to use, -// given the reflect type, field info, and start template. -func defaultStart(typ reflect.Type, finfo *fieldInfo, startTemplate *StartElement) StartElement { - var start StartElement - // Precedence for the XML element name is as above, - // except that we do not look inside structs for the first field. - if startTemplate != nil { - start.Name = startTemplate.Name - start.Attr = append(start.Attr, startTemplate.Attr...) - } else if finfo != nil && finfo.name != "" { - start.Name.Local = finfo.name - start.Name.Space = finfo.xmlns - } else if typ.Name() != "" { - start.Name.Local = typ.Name() - } else { - // Must be a pointer to a named type, - // since it has the Marshaler methods. - start.Name.Local = typ.Elem().Name() - } - - // Add type attribute if necessary - if finfo != nil && finfo.flags&fTypeAttr != 0 { - start.Attr = append(start.Attr, Attr{xmlSchemaInstance, typeToString(typ)}) - } - - return start -} - -// marshalInterface marshals a Marshaler interface value. -func (p *printer) marshalInterface(val Marshaler, start StartElement) error { - // Push a marker onto the tag stack so that MarshalXML - // cannot close the XML tags that it did not open. - p.tags = append(p.tags, Name{}) - n := len(p.tags) - - err := val.MarshalXML(p.encoder, start) - if err != nil { - return err - } - - // Make sure MarshalXML closed all its tags. p.tags[n-1] is the mark. - if len(p.tags) > n { - return fmt.Errorf("xml: %s.MarshalXML wrote invalid XML: <%s> not closed", receiverType(val), p.tags[len(p.tags)-1].Local) - } - p.tags = p.tags[:n-1] - return nil -} - -// marshalTextInterface marshals a TextMarshaler interface value. -func (p *printer) marshalTextInterface(val encoding.TextMarshaler, start StartElement) error { - if err := p.writeStart(&start); err != nil { - return err - } - text, err := val.MarshalText() - if err != nil { - return err - } - EscapeText(p, text) - return p.writeEnd(start.Name) -} - -// writeStart writes the given start element. -func (p *printer) writeStart(start *StartElement) error { - if start.Name.Local == "" { - return fmt.Errorf("xml: start tag with no name") - } - - p.tags = append(p.tags, start.Name) - p.markPrefix() - - p.writeIndent(1) - p.WriteByte('<') - p.WriteString(start.Name.Local) - - if start.Name.Space != "" { - p.WriteString(` xmlns="`) - p.EscapeString(start.Name.Space) - p.WriteByte('"') - } - - // Attributes - for _, attr := range start.Attr { - name := attr.Name - if name.Local == "" { - continue - } - p.WriteByte(' ') - if name.Space != "" { - p.WriteString(p.createAttrPrefix(name.Space)) - p.WriteByte(':') - } - p.WriteString(name.Local) - p.WriteString(`="`) - p.EscapeString(attr.Value) - p.WriteByte('"') - } - p.WriteByte('>') - return nil -} - -func (p *printer) writeEnd(name Name) error { - if name.Local == "" { - return fmt.Errorf("xml: end tag with no name") - } - if len(p.tags) == 0 || p.tags[len(p.tags)-1].Local == "" { - return fmt.Errorf("xml: end tag without start tag", name.Local) - } - if top := p.tags[len(p.tags)-1]; top != name { - if top.Local != name.Local { - return fmt.Errorf("xml: end tag does not match start tag <%s>", name.Local, top.Local) - } - return fmt.Errorf("xml: end tag in namespace %s does not match start tag <%s> in namespace %s", name.Local, name.Space, top.Local, top.Space) - } - p.tags = p.tags[:len(p.tags)-1] - - p.writeIndent(-1) - p.WriteByte('<') - p.WriteByte('/') - p.WriteString(name.Local) - p.WriteByte('>') - p.popPrefix() - return nil -} - -func (p *printer) marshalSimple(typ reflect.Type, val reflect.Value) (string, []byte, error) { - switch val.Kind() { - case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: - return strconv.FormatInt(val.Int(), 10), nil, nil - case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: - return strconv.FormatUint(val.Uint(), 10), nil, nil - case reflect.Float32, reflect.Float64: - return strconv.FormatFloat(val.Float(), 'g', -1, val.Type().Bits()), nil, nil - case reflect.String: - return val.String(), nil, nil - case reflect.Bool: - return strconv.FormatBool(val.Bool()), nil, nil - case reflect.Array: - if typ.Elem().Kind() != reflect.Uint8 { - break - } - // [...]byte - var bytes []byte - if val.CanAddr() { - bytes = val.Slice(0, val.Len()).Bytes() - } else { - bytes = make([]byte, val.Len()) - reflect.Copy(reflect.ValueOf(bytes), val) - } - return "", bytes, nil - case reflect.Slice: - if typ.Elem().Kind() != reflect.Uint8 { - break - } - // []byte - return "", val.Bytes(), nil - } - return "", nil, &UnsupportedTypeError{typ} -} - -var ddBytes = []byte("--") - -// indirect drills into interfaces and pointers, returning the pointed-at value. -// If it encounters a nil interface or pointer, indirect returns that nil value. -// This can turn into an infinite loop given a cyclic chain, -// but it matches the Go 1 behavior. -func indirect(vf reflect.Value) reflect.Value { - for vf.Kind() == reflect.Interface || vf.Kind() == reflect.Ptr { - if vf.IsNil() { - return vf - } - vf = vf.Elem() - } - return vf -} - -func (p *printer) marshalStruct(tinfo *typeInfo, val reflect.Value) error { - s := parentStack{p: p} - for i := range tinfo.fields { - finfo := &tinfo.fields[i] - if finfo.flags&fAttr != 0 { - continue - } - vf := finfo.value(val, dontInitNilPointers) - if !vf.IsValid() { - // The field is behind an anonymous struct field that's - // nil. Skip it. - continue - } - - switch finfo.flags & fMode { - case fCDATA, fCharData: - emit := EscapeText - if finfo.flags&fMode == fCDATA { - emit = emitCDATA - } - if err := s.trim(finfo.parents); err != nil { - return err - } - if vf.CanInterface() && vf.Type().Implements(textMarshalerType) { - data, err := vf.Interface().(encoding.TextMarshaler).MarshalText() - if err != nil { - return err - } - if err := emit(p, data); err != nil { - return err - } - continue - } - if vf.CanAddr() { - pv := vf.Addr() - if pv.CanInterface() && pv.Type().Implements(textMarshalerType) { - data, err := pv.Interface().(encoding.TextMarshaler).MarshalText() - if err != nil { - return err - } - if err := emit(p, data); err != nil { - return err - } - continue - } - } - - var scratch [64]byte - vf = indirect(vf) - switch vf.Kind() { - case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: - if err := emit(p, strconv.AppendInt(scratch[:0], vf.Int(), 10)); err != nil { - return err - } - case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: - if err := emit(p, strconv.AppendUint(scratch[:0], vf.Uint(), 10)); err != nil { - return err - } - case reflect.Float32, reflect.Float64: - if err := emit(p, strconv.AppendFloat(scratch[:0], vf.Float(), 'g', -1, vf.Type().Bits())); err != nil { - return err - } - case reflect.Bool: - if err := emit(p, strconv.AppendBool(scratch[:0], vf.Bool())); err != nil { - return err - } - case reflect.String: - if err := emit(p, []byte(vf.String())); err != nil { - return err - } - case reflect.Slice: - if elem, ok := vf.Interface().([]byte); ok { - if err := emit(p, elem); err != nil { - return err - } - } - } - continue - - case fComment: - if err := s.trim(finfo.parents); err != nil { - return err - } - vf = indirect(vf) - k := vf.Kind() - if !(k == reflect.String || k == reflect.Slice && vf.Type().Elem().Kind() == reflect.Uint8) { - return fmt.Errorf("xml: bad type for comment field of %s", val.Type()) - } - if vf.Len() == 0 { - continue - } - p.writeIndent(0) - p.WriteString("" is invalid grammar. Make it "- -->" - p.WriteByte(' ') - } - p.WriteString("-->") - continue - - case fInnerXML: - vf = indirect(vf) - iface := vf.Interface() - switch raw := iface.(type) { - case []byte: - p.Write(raw) - continue - case string: - p.WriteString(raw) - continue - } - - case fElement, fElement | fAny: - if err := s.trim(finfo.parents); err != nil { - return err - } - if len(finfo.parents) > len(s.stack) { - if vf.Kind() != reflect.Ptr && vf.Kind() != reflect.Interface || !vf.IsNil() { - if err := s.push(finfo.parents[len(s.stack):]); err != nil { - return err - } - } - } - } - if err := p.marshalValue(vf, finfo, nil); err != nil { - return err - } - } - s.trim(nil) - return p.cachedWriteError() -} - -// return the bufio Writer's cached write error -func (p *printer) cachedWriteError() error { - _, err := p.Write(nil) - return err -} - -func (p *printer) writeIndent(depthDelta int) { - if len(p.prefix) == 0 && len(p.indent) == 0 { - return - } - if depthDelta < 0 { - p.depth-- - if p.indentedIn { - p.indentedIn = false - return - } - p.indentedIn = false - } - if p.putNewline { - p.WriteByte('\n') - } else { - p.putNewline = true - } - if len(p.prefix) > 0 { - p.WriteString(p.prefix) - } - if len(p.indent) > 0 { - for i := 0; i < p.depth; i++ { - p.WriteString(p.indent) - } - } - if depthDelta > 0 { - p.depth++ - p.indentedIn = true - } -} - -type parentStack struct { - p *printer - stack []string -} - -// trim updates the XML context to match the longest common prefix of the stack -// and the given parents. A closing tag will be written for every parent -// popped. Passing a zero slice or nil will close all the elements. -func (s *parentStack) trim(parents []string) error { - split := 0 - for ; split < len(parents) && split < len(s.stack); split++ { - if parents[split] != s.stack[split] { - break - } - } - for i := len(s.stack) - 1; i >= split; i-- { - if err := s.p.writeEnd(Name{Local: s.stack[i]}); err != nil { - return err - } - } - s.stack = s.stack[:split] - return nil -} - -// push adds parent elements to the stack and writes open tags. -func (s *parentStack) push(parents []string) error { - for i := 0; i < len(parents); i++ { - if err := s.p.writeStart(&StartElement{Name: Name{Local: parents[i]}}); err != nil { - return err - } - } - s.stack = append(s.stack, parents...) - return nil -} - -// UnsupportedTypeError is returned when Marshal encounters a type -// that cannot be converted into XML. -type UnsupportedTypeError struct { - Type reflect.Type -} - -func (e *UnsupportedTypeError) Error() string { - return "xml: unsupported type: " + e.Type.String() -} - -func isEmptyValue(v reflect.Value) bool { - switch v.Kind() { - case reflect.Array, reflect.Map, reflect.Slice, reflect.String: - return v.Len() == 0 - case reflect.Bool: - return !v.Bool() - case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: - return v.Int() == 0 - case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: - return v.Uint() == 0 - case reflect.Float32, reflect.Float64: - return v.Float() == 0 - case reflect.Interface, reflect.Ptr: - return v.IsNil() - } - return false -} diff --git a/vendor/github.com/vmware/govmomi/vim25/xml/read.go b/vendor/github.com/vmware/govmomi/vim25/xml/read.go deleted file mode 100644 index ea61352f6db..00000000000 --- a/vendor/github.com/vmware/govmomi/vim25/xml/read.go +++ /dev/null @@ -1,837 +0,0 @@ -// Copyright 2009 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package xml - -import ( - "bytes" - "encoding" - "errors" - "fmt" - "reflect" - "strconv" - "strings" -) - -// BUG(rsc): Mapping between XML elements and data structures is inherently flawed: -// an XML element is an order-dependent collection of anonymous -// values, while a data structure is an order-independent collection -// of named values. -// See package json for a textual representation more suitable -// to data structures. - -// Unmarshal parses the XML-encoded data and stores the result in -// the value pointed to by v, which must be an arbitrary struct, -// slice, or string. Well-formed data that does not fit into v is -// discarded. -// -// Because Unmarshal uses the reflect package, it can only assign -// to exported (upper case) fields. Unmarshal uses a case-sensitive -// comparison to match XML element names to tag values and struct -// field names. -// -// Unmarshal maps an XML element to a struct using the following rules. -// In the rules, the tag of a field refers to the value associated with the -// key 'xml' in the struct field's tag (see the example above). -// -// * If the struct has a field of type []byte or string with tag -// ",innerxml", Unmarshal accumulates the raw XML nested inside the -// element in that field. The rest of the rules still apply. -// -// * If the struct has a field named XMLName of type Name, -// Unmarshal records the element name in that field. -// -// * If the XMLName field has an associated tag of the form -// "name" or "namespace-URL name", the XML element must have -// the given name (and, optionally, name space) or else Unmarshal -// returns an error. -// -// * If the XML element has an attribute whose name matches a -// struct field name with an associated tag containing ",attr" or -// the explicit name in a struct field tag of the form "name,attr", -// Unmarshal records the attribute value in that field. -// -// * If the XML element has an attribute not handled by the previous -// rule and the struct has a field with an associated tag containing -// ",any,attr", Unmarshal records the attribute value in the first -// such field. -// -// * If the XML element contains character data, that data is -// accumulated in the first struct field that has tag ",chardata". -// The struct field may have type []byte or string. -// If there is no such field, the character data is discarded. -// -// * If the XML element contains comments, they are accumulated in -// the first struct field that has tag ",comment". The struct -// field may have type []byte or string. If there is no such -// field, the comments are discarded. -// -// * If the XML element contains a sub-element whose name matches -// the prefix of a tag formatted as "a" or "a>b>c", unmarshal -// will descend into the XML structure looking for elements with the -// given names, and will map the innermost elements to that struct -// field. A tag starting with ">" is equivalent to one starting -// with the field name followed by ">". -// -// * If the XML element contains a sub-element whose name matches -// a struct field's XMLName tag and the struct field has no -// explicit name tag as per the previous rule, unmarshal maps -// the sub-element to that struct field. -// -// * If the XML element contains a sub-element whose name matches a -// field without any mode flags (",attr", ",chardata", etc), Unmarshal -// maps the sub-element to that struct field. -// -// * If the XML element contains a sub-element that hasn't matched any -// of the above rules and the struct has a field with tag ",any", -// unmarshal maps the sub-element to that struct field. -// -// * An anonymous struct field is handled as if the fields of its -// value were part of the outer struct. -// -// * A struct field with tag "-" is never unmarshaled into. -// -// If Unmarshal encounters a field type that implements the Unmarshaler -// interface, Unmarshal calls its UnmarshalXML method to produce the value from -// the XML element. Otherwise, if the value implements -// encoding.TextUnmarshaler, Unmarshal calls that value's UnmarshalText method. -// -// Unmarshal maps an XML element to a string or []byte by saving the -// concatenation of that element's character data in the string or -// []byte. The saved []byte is never nil. -// -// Unmarshal maps an attribute value to a string or []byte by saving -// the value in the string or slice. -// -// Unmarshal maps an attribute value to an Attr by saving the attribute, -// including its name, in the Attr. -// -// Unmarshal maps an XML element or attribute value to a slice by -// extending the length of the slice and mapping the element or attribute -// to the newly created value. -// -// Unmarshal maps an XML element or attribute value to a bool by -// setting it to the boolean value represented by the string. Whitespace -// is trimmed and ignored. -// -// Unmarshal maps an XML element or attribute value to an integer or -// floating-point field by setting the field to the result of -// interpreting the string value in decimal. There is no check for -// overflow. Whitespace is trimmed and ignored. -// -// Unmarshal maps an XML element to a Name by recording the element -// name. -// -// Unmarshal maps an XML element to a pointer by setting the pointer -// to a freshly allocated value and then mapping the element to that value. -// -// A missing element or empty attribute value will be unmarshaled as a zero value. -// If the field is a slice, a zero value will be appended to the field. Otherwise, the -// field will be set to its zero value. -func Unmarshal(data []byte, v interface{}) error { - return NewDecoder(bytes.NewReader(data)).Decode(v) -} - -// Decode works like Unmarshal, except it reads the decoder -// stream to find the start element. -func (d *Decoder) Decode(v interface{}) error { - return d.DecodeElement(v, nil) -} - -// DecodeElement works like Unmarshal except that it takes -// a pointer to the start XML element to decode into v. -// It is useful when a client reads some raw XML tokens itself -// but also wants to defer to Unmarshal for some elements. -func (d *Decoder) DecodeElement(v interface{}, start *StartElement) error { - val := reflect.ValueOf(v) - if val.Kind() != reflect.Ptr { - return errors.New("non-pointer passed to Unmarshal") - } - return d.unmarshal(val.Elem(), start) -} - -// An UnmarshalError represents an error in the unmarshaling process. -type UnmarshalError string - -func (e UnmarshalError) Error() string { return string(e) } - -// Unmarshaler is the interface implemented by objects that can unmarshal -// an XML element description of themselves. -// -// UnmarshalXML decodes a single XML element -// beginning with the given start element. -// If it returns an error, the outer call to Unmarshal stops and -// returns that error. -// UnmarshalXML must consume exactly one XML element. -// One common implementation strategy is to unmarshal into -// a separate value with a layout matching the expected XML -// using d.DecodeElement, and then to copy the data from -// that value into the receiver. -// Another common strategy is to use d.Token to process the -// XML object one token at a time. -// UnmarshalXML may not use d.RawToken. -type Unmarshaler interface { - UnmarshalXML(d *Decoder, start StartElement) error -} - -// UnmarshalerAttr is the interface implemented by objects that can unmarshal -// an XML attribute description of themselves. -// -// UnmarshalXMLAttr decodes a single XML attribute. -// If it returns an error, the outer call to Unmarshal stops and -// returns that error. -// UnmarshalXMLAttr is used only for struct fields with the -// "attr" option in the field tag. -type UnmarshalerAttr interface { - UnmarshalXMLAttr(attr Attr) error -} - -// receiverType returns the receiver type to use in an expression like "%s.MethodName". -func receiverType(val interface{}) string { - t := reflect.TypeOf(val) - if t.Name() != "" { - return t.String() - } - return "(" + t.String() + ")" -} - -// unmarshalInterface unmarshals a single XML element into val. -// start is the opening tag of the element. -func (d *Decoder) unmarshalInterface(val Unmarshaler, start *StartElement) error { - // Record that decoder must stop at end tag corresponding to start. - d.pushEOF() - - d.unmarshalDepth++ - err := val.UnmarshalXML(d, *start) - d.unmarshalDepth-- - if err != nil { - d.popEOF() - return err - } - - if !d.popEOF() { - return fmt.Errorf("xml: %s.UnmarshalXML did not consume entire <%s> element", receiverType(val), start.Name.Local) - } - - return nil -} - -// unmarshalTextInterface unmarshals a single XML element into val. -// The chardata contained in the element (but not its children) -// is passed to the text unmarshaler. -func (d *Decoder) unmarshalTextInterface(val encoding.TextUnmarshaler) error { - var buf []byte - depth := 1 - for depth > 0 { - t, err := d.Token() - if err != nil { - return err - } - switch t := t.(type) { - case CharData: - if depth == 1 { - buf = append(buf, t...) - } - case StartElement: - depth++ - case EndElement: - depth-- - } - } - return val.UnmarshalText(buf) -} - -// unmarshalAttr unmarshals a single XML attribute into val. -func (d *Decoder) unmarshalAttr(val reflect.Value, attr Attr) error { - if val.Kind() == reflect.Ptr { - if val.IsNil() { - val.Set(reflect.New(val.Type().Elem())) - } - val = val.Elem() - } - if val.CanInterface() && val.Type().Implements(unmarshalerAttrType) { - // This is an unmarshaler with a non-pointer receiver, - // so it's likely to be incorrect, but we do what we're told. - return val.Interface().(UnmarshalerAttr).UnmarshalXMLAttr(attr) - } - if val.CanAddr() { - pv := val.Addr() - if pv.CanInterface() && pv.Type().Implements(unmarshalerAttrType) { - return pv.Interface().(UnmarshalerAttr).UnmarshalXMLAttr(attr) - } - } - - // Not an UnmarshalerAttr; try encoding.TextUnmarshaler. - if val.CanInterface() && val.Type().Implements(textUnmarshalerType) { - // This is an unmarshaler with a non-pointer receiver, - // so it's likely to be incorrect, but we do what we're told. - return val.Interface().(encoding.TextUnmarshaler).UnmarshalText([]byte(attr.Value)) - } - if val.CanAddr() { - pv := val.Addr() - if pv.CanInterface() && pv.Type().Implements(textUnmarshalerType) { - return pv.Interface().(encoding.TextUnmarshaler).UnmarshalText([]byte(attr.Value)) - } - } - - if val.Type().Kind() == reflect.Slice && val.Type().Elem().Kind() != reflect.Uint8 { - // Slice of element values. - // Grow slice. - n := val.Len() - val.Set(reflect.Append(val, reflect.Zero(val.Type().Elem()))) - - // Recur to read element into slice. - if err := d.unmarshalAttr(val.Index(n), attr); err != nil { - val.SetLen(n) - return err - } - return nil - } - - if val.Type() == attrType { - val.Set(reflect.ValueOf(attr)) - return nil - } - - return copyValue(val, []byte(attr.Value)) -} - -var ( - attrType = reflect.TypeOf(Attr{}) - unmarshalerType = reflect.TypeOf((*Unmarshaler)(nil)).Elem() - unmarshalerAttrType = reflect.TypeOf((*UnmarshalerAttr)(nil)).Elem() - textUnmarshalerType = reflect.TypeOf((*encoding.TextUnmarshaler)(nil)).Elem() -) - -// Find reflect.Type for an element's type attribute. -func (p *Decoder) typeForElement(val reflect.Value, start *StartElement) reflect.Type { - t := "" - for _, a := range start.Attr { - if a.Name == xmlSchemaInstance || a.Name == xsiType { - t = a.Value - break - } - } - - if t == "" { - // No type attribute; fall back to looking up type by interface name. - t = val.Type().Name() - } - - // Maybe the type is a basic xsd:* type. - typ := stringToType(t) - if typ != nil { - return typ - } - - // Maybe the type is a custom type. - if p.TypeFunc != nil { - if typ, ok := p.TypeFunc(t); ok { - return typ - } - } - - return nil -} - -// Unmarshal a single XML element into val. -func (d *Decoder) unmarshal(val reflect.Value, start *StartElement) error { - // Find start element if we need it. - if start == nil { - for { - tok, err := d.Token() - if err != nil { - return err - } - if t, ok := tok.(StartElement); ok { - start = &t - break - } - } - } - - // Try to figure out type for empty interface values. - if val.Kind() == reflect.Interface && val.IsNil() { - typ := d.typeForElement(val, start) - if typ != nil { - pval := reflect.New(typ).Elem() - err := d.unmarshal(pval, start) - if err != nil { - return err - } - - for i := 0; i < 2; i++ { - if typ.Implements(val.Type()) { - val.Set(pval) - return nil - } - - typ = reflect.PtrTo(typ) - pval = pval.Addr() - } - - val.Set(pval) - return nil - } - } - - // Load value from interface, but only if the result will be - // usefully addressable. - if val.Kind() == reflect.Interface && !val.IsNil() { - e := val.Elem() - if e.Kind() == reflect.Ptr && !e.IsNil() { - val = e - } - } - - if val.Kind() == reflect.Ptr { - if val.IsNil() { - val.Set(reflect.New(val.Type().Elem())) - } - val = val.Elem() - } - - if val.CanInterface() && val.Type().Implements(unmarshalerType) { - // This is an unmarshaler with a non-pointer receiver, - // so it's likely to be incorrect, but we do what we're told. - return d.unmarshalInterface(val.Interface().(Unmarshaler), start) - } - - if val.CanAddr() { - pv := val.Addr() - if pv.CanInterface() && pv.Type().Implements(unmarshalerType) { - return d.unmarshalInterface(pv.Interface().(Unmarshaler), start) - } - } - - if val.CanInterface() && val.Type().Implements(textUnmarshalerType) { - return d.unmarshalTextInterface(val.Interface().(encoding.TextUnmarshaler)) - } - - if val.CanAddr() { - pv := val.Addr() - if pv.CanInterface() && pv.Type().Implements(textUnmarshalerType) { - return d.unmarshalTextInterface(pv.Interface().(encoding.TextUnmarshaler)) - } - } - - var ( - data []byte - saveData reflect.Value - comment []byte - saveComment reflect.Value - saveXML reflect.Value - saveXMLIndex int - saveXMLData []byte - saveAny reflect.Value - sv reflect.Value - tinfo *typeInfo - err error - ) - - switch v := val; v.Kind() { - default: - return errors.New("unknown type " + v.Type().String()) - - case reflect.Interface: - // TODO: For now, simply ignore the field. In the near - // future we may choose to unmarshal the start - // element on it, if not nil. - return d.Skip() - - case reflect.Slice: - typ := v.Type() - if typ.Elem().Kind() == reflect.Uint8 { - // []byte - saveData = v - break - } - - // Slice of element values. - // Grow slice. - n := v.Len() - v.Set(reflect.Append(val, reflect.Zero(v.Type().Elem()))) - - // Recur to read element into slice. - if err := d.unmarshal(v.Index(n), start); err != nil { - v.SetLen(n) - return err - } - return nil - - case reflect.Bool, reflect.Float32, reflect.Float64, reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr, reflect.String: - saveData = v - - case reflect.Struct: - typ := v.Type() - if typ == nameType { - v.Set(reflect.ValueOf(start.Name)) - break - } - - sv = v - tinfo, err = getTypeInfo(typ) - if err != nil { - return err - } - - // Validate and assign element name. - if tinfo.xmlname != nil { - finfo := tinfo.xmlname - if finfo.name != "" && finfo.name != start.Name.Local { - return UnmarshalError("expected element type <" + finfo.name + "> but have <" + start.Name.Local + ">") - } - if finfo.xmlns != "" && finfo.xmlns != start.Name.Space { - e := "expected element <" + finfo.name + "> in name space " + finfo.xmlns + " but have " - if start.Name.Space == "" { - e += "no name space" - } else { - e += start.Name.Space - } - return UnmarshalError(e) - } - fv := finfo.value(sv, initNilPointers) - if _, ok := fv.Interface().(Name); ok { - fv.Set(reflect.ValueOf(start.Name)) - } - } - - // Assign attributes. - for _, a := range start.Attr { - handled := false - any := -1 - for i := range tinfo.fields { - finfo := &tinfo.fields[i] - switch finfo.flags & fMode { - case fAttr: - strv := finfo.value(sv, initNilPointers) - if a.Name.Local == finfo.name && (finfo.xmlns == "" || finfo.xmlns == a.Name.Space) { - needTypeAttr := (finfo.flags & fTypeAttr) != 0 - // HACK: avoid using xsi:type value for a "type" attribute, such as ManagedObjectReference.Type for example. - if needTypeAttr || (a.Name != xmlSchemaInstance && a.Name != xsiType) { - if err := d.unmarshalAttr(strv, a); err != nil { - return err - } - } - handled = true - } - - case fAny | fAttr: - if any == -1 { - any = i - } - } - } - if !handled && any >= 0 { - finfo := &tinfo.fields[any] - strv := finfo.value(sv, initNilPointers) - if err := d.unmarshalAttr(strv, a); err != nil { - return err - } - } - } - - // Determine whether we need to save character data or comments. - for i := range tinfo.fields { - finfo := &tinfo.fields[i] - switch finfo.flags & fMode { - case fCDATA, fCharData: - if !saveData.IsValid() { - saveData = finfo.value(sv, initNilPointers) - } - - case fComment: - if !saveComment.IsValid() { - saveComment = finfo.value(sv, initNilPointers) - } - - case fAny, fAny | fElement: - if !saveAny.IsValid() { - saveAny = finfo.value(sv, initNilPointers) - } - - case fInnerXML: - if !saveXML.IsValid() { - saveXML = finfo.value(sv, initNilPointers) - if d.saved == nil { - saveXMLIndex = 0 - d.saved = new(bytes.Buffer) - } else { - saveXMLIndex = d.savedOffset() - } - } - } - } - } - - // Find end element. - // Process sub-elements along the way. -Loop: - for { - var savedOffset int - if saveXML.IsValid() { - savedOffset = d.savedOffset() - } - tok, err := d.Token() - if err != nil { - return err - } - switch t := tok.(type) { - case StartElement: - consumed := false - if sv.IsValid() { - consumed, err = d.unmarshalPath(tinfo, sv, nil, &t) - if err != nil { - return err - } - if !consumed && saveAny.IsValid() { - consumed = true - if err := d.unmarshal(saveAny, &t); err != nil { - return err - } - } - } - if !consumed { - if err := d.Skip(); err != nil { - return err - } - } - - case EndElement: - if saveXML.IsValid() { - saveXMLData = d.saved.Bytes()[saveXMLIndex:savedOffset] - if saveXMLIndex == 0 { - d.saved = nil - } - } - break Loop - - case CharData: - if saveData.IsValid() { - data = append(data, t...) - } - - case Comment: - if saveComment.IsValid() { - comment = append(comment, t...) - } - } - } - - if saveData.IsValid() && saveData.CanInterface() && saveData.Type().Implements(textUnmarshalerType) { - if err := saveData.Interface().(encoding.TextUnmarshaler).UnmarshalText(data); err != nil { - return err - } - saveData = reflect.Value{} - } - - if saveData.IsValid() && saveData.CanAddr() { - pv := saveData.Addr() - if pv.CanInterface() && pv.Type().Implements(textUnmarshalerType) { - if err := pv.Interface().(encoding.TextUnmarshaler).UnmarshalText(data); err != nil { - return err - } - saveData = reflect.Value{} - } - } - - if err := copyValue(saveData, data); err != nil { - return err - } - - switch t := saveComment; t.Kind() { - case reflect.String: - t.SetString(string(comment)) - case reflect.Slice: - t.Set(reflect.ValueOf(comment)) - } - - switch t := saveXML; t.Kind() { - case reflect.String: - t.SetString(string(saveXMLData)) - case reflect.Slice: - if t.Type().Elem().Kind() == reflect.Uint8 { - t.Set(reflect.ValueOf(saveXMLData)) - } - } - - return nil -} - -func copyValue(dst reflect.Value, src []byte) (err error) { - dst0 := dst - - if dst.Kind() == reflect.Ptr { - if dst.IsNil() { - dst.Set(reflect.New(dst.Type().Elem())) - } - dst = dst.Elem() - } - - // Save accumulated data. - switch dst.Kind() { - case reflect.Invalid: - // Probably a comment. - default: - return errors.New("cannot unmarshal into " + dst0.Type().String()) - case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: - if len(src) == 0 { - dst.SetInt(0) - return nil - } - itmp, err := strconv.ParseInt(strings.TrimSpace(string(src)), 10, dst.Type().Bits()) - if err != nil { - return err - } - dst.SetInt(itmp) - case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: - var utmp uint64 - if len(src) > 0 && src[0] == '-' { - // Negative value for unsigned field. - // Assume it was serialized following two's complement. - itmp, err := strconv.ParseInt(string(src), 10, dst.Type().Bits()) - if err != nil { - return err - } - // Reinterpret value based on type width. - switch dst.Type().Bits() { - case 8: - utmp = uint64(uint8(itmp)) - case 16: - utmp = uint64(uint16(itmp)) - case 32: - utmp = uint64(uint32(itmp)) - case 64: - utmp = uint64(uint64(itmp)) - } - } else { - if len(src) == 0 { - dst.SetUint(0) - return nil - } - - utmp, err = strconv.ParseUint(strings.TrimSpace(string(src)), 10, dst.Type().Bits()) - if err != nil { - return err - } - } - dst.SetUint(utmp) - case reflect.Float32, reflect.Float64: - if len(src) == 0 { - dst.SetFloat(0) - return nil - } - ftmp, err := strconv.ParseFloat(strings.TrimSpace(string(src)), dst.Type().Bits()) - if err != nil { - return err - } - dst.SetFloat(ftmp) - case reflect.Bool: - if len(src) == 0 { - dst.SetBool(false) - return nil - } - value, err := strconv.ParseBool(strings.TrimSpace(string(src))) - if err != nil { - return err - } - dst.SetBool(value) - case reflect.String: - dst.SetString(string(src)) - case reflect.Slice: - if len(src) == 0 { - // non-nil to flag presence - src = []byte{} - } - dst.SetBytes(src) - } - return nil -} - -// unmarshalPath walks down an XML structure looking for wanted -// paths, and calls unmarshal on them. -// The consumed result tells whether XML elements have been consumed -// from the Decoder until start's matching end element, or if it's -// still untouched because start is uninteresting for sv's fields. -func (d *Decoder) unmarshalPath(tinfo *typeInfo, sv reflect.Value, parents []string, start *StartElement) (consumed bool, err error) { - recurse := false -Loop: - for i := range tinfo.fields { - finfo := &tinfo.fields[i] - if finfo.flags&fElement == 0 || len(finfo.parents) < len(parents) || finfo.xmlns != "" && finfo.xmlns != start.Name.Space { - continue - } - for j := range parents { - if parents[j] != finfo.parents[j] { - continue Loop - } - } - if len(finfo.parents) == len(parents) && finfo.name == start.Name.Local { - // It's a perfect match, unmarshal the field. - return true, d.unmarshal(finfo.value(sv, initNilPointers), start) - } - if len(finfo.parents) > len(parents) && finfo.parents[len(parents)] == start.Name.Local { - // It's a prefix for the field. Break and recurse - // since it's not ok for one field path to be itself - // the prefix for another field path. - recurse = true - - // We can reuse the same slice as long as we - // don't try to append to it. - parents = finfo.parents[:len(parents)+1] - break - } - } - if !recurse { - // We have no business with this element. - return false, nil - } - // The element is not a perfect match for any field, but one - // or more fields have the path to this element as a parent - // prefix. Recurse and attempt to match these. - for { - var tok Token - tok, err = d.Token() - if err != nil { - return true, err - } - switch t := tok.(type) { - case StartElement: - consumed2, err := d.unmarshalPath(tinfo, sv, parents, &t) - if err != nil { - return true, err - } - if !consumed2 { - if err := d.Skip(); err != nil { - return true, err - } - } - case EndElement: - return true, nil - } - } -} - -// Skip reads tokens until it has consumed the end element -// matching the most recent start element already consumed. -// It recurs if it encounters a start element, so it can be used to -// skip nested structures. -// It returns nil if it finds an end element matching the start -// element; otherwise it returns an error describing the problem. -func (d *Decoder) Skip() error { - for { - tok, err := d.Token() - if err != nil { - return err - } - switch tok.(type) { - case StartElement: - if err := d.Skip(); err != nil { - return err - } - case EndElement: - return nil - } - } -} diff --git a/vendor/github.com/vmware/govmomi/vim25/xml/typeinfo.go b/vendor/github.com/vmware/govmomi/vim25/xml/typeinfo.go deleted file mode 100644 index 5eb0b4e5fdf..00000000000 --- a/vendor/github.com/vmware/govmomi/vim25/xml/typeinfo.go +++ /dev/null @@ -1,377 +0,0 @@ -// Copyright 2011 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package xml - -import ( - "fmt" - "reflect" - "strings" - "sync" -) - -// typeInfo holds details for the xml representation of a type. -type typeInfo struct { - xmlname *fieldInfo - fields []fieldInfo -} - -// fieldInfo holds details for the xml representation of a single field. -type fieldInfo struct { - idx []int - name string - xmlns string - flags fieldFlags - parents []string -} - -type fieldFlags int - -const ( - fElement fieldFlags = 1 << iota - fAttr - fCDATA - fCharData - fInnerXML - fComment - fAny - - fOmitEmpty - fTypeAttr - - fMode = fElement | fAttr | fCDATA | fCharData | fInnerXML | fComment | fAny - - xmlName = "XMLName" -) - -var tinfoMap sync.Map // map[reflect.Type]*typeInfo - -var nameType = reflect.TypeOf(Name{}) - -// getTypeInfo returns the typeInfo structure with details necessary -// for marshaling and unmarshaling typ. -func getTypeInfo(typ reflect.Type) (*typeInfo, error) { - if ti, ok := tinfoMap.Load(typ); ok { - return ti.(*typeInfo), nil - } - - tinfo := &typeInfo{} - if typ.Kind() == reflect.Struct && typ != nameType { - n := typ.NumField() - for i := 0; i < n; i++ { - f := typ.Field(i) - if (f.PkgPath != "" && !f.Anonymous) || f.Tag.Get("xml") == "-" { - continue // Private field - } - - // For embedded structs, embed its fields. - if f.Anonymous { - t := f.Type - if t.Kind() == reflect.Ptr { - t = t.Elem() - } - if t.Kind() == reflect.Struct { - inner, err := getTypeInfo(t) - if err != nil { - return nil, err - } - if tinfo.xmlname == nil { - tinfo.xmlname = inner.xmlname - } - for _, finfo := range inner.fields { - finfo.idx = append([]int{i}, finfo.idx...) - if err := addFieldInfo(typ, tinfo, &finfo); err != nil { - return nil, err - } - } - continue - } - } - - finfo, err := structFieldInfo(typ, &f) - if err != nil { - return nil, err - } - - if f.Name == xmlName { - tinfo.xmlname = finfo - continue - } - - // Add the field if it doesn't conflict with other fields. - if err := addFieldInfo(typ, tinfo, finfo); err != nil { - return nil, err - } - } - } - - ti, _ := tinfoMap.LoadOrStore(typ, tinfo) - return ti.(*typeInfo), nil -} - -// structFieldInfo builds and returns a fieldInfo for f. -func structFieldInfo(typ reflect.Type, f *reflect.StructField) (*fieldInfo, error) { - finfo := &fieldInfo{idx: f.Index} - - // Split the tag from the xml namespace if necessary. - tag := f.Tag.Get("xml") - if i := strings.Index(tag, " "); i >= 0 { - finfo.xmlns, tag = tag[:i], tag[i+1:] - } - - // Parse flags. - tokens := strings.Split(tag, ",") - if len(tokens) == 1 { - finfo.flags = fElement - } else { - tag = tokens[0] - for _, flag := range tokens[1:] { - switch flag { - case "attr": - finfo.flags |= fAttr - case "cdata": - finfo.flags |= fCDATA - case "chardata": - finfo.flags |= fCharData - case "innerxml": - finfo.flags |= fInnerXML - case "comment": - finfo.flags |= fComment - case "any": - finfo.flags |= fAny - case "omitempty": - finfo.flags |= fOmitEmpty - case "typeattr": - finfo.flags |= fTypeAttr - } - } - - // Validate the flags used. - valid := true - switch mode := finfo.flags & fMode; mode { - case 0: - finfo.flags |= fElement - case fAttr, fCDATA, fCharData, fInnerXML, fComment, fAny, fAny | fAttr: - if f.Name == xmlName || tag != "" && mode != fAttr { - valid = false - } - default: - // This will also catch multiple modes in a single field. - valid = false - } - if finfo.flags&fMode == fAny { - finfo.flags |= fElement - } - if finfo.flags&fOmitEmpty != 0 && finfo.flags&(fElement|fAttr) == 0 { - valid = false - } - if !valid { - return nil, fmt.Errorf("xml: invalid tag in field %s of type %s: %q", - f.Name, typ, f.Tag.Get("xml")) - } - } - - // Use of xmlns without a name is not allowed. - if finfo.xmlns != "" && tag == "" { - return nil, fmt.Errorf("xml: namespace without name in field %s of type %s: %q", - f.Name, typ, f.Tag.Get("xml")) - } - - if f.Name == xmlName { - // The XMLName field records the XML element name. Don't - // process it as usual because its name should default to - // empty rather than to the field name. - finfo.name = tag - return finfo, nil - } - - if tag == "" { - // If the name part of the tag is completely empty, get - // default from XMLName of underlying struct if feasible, - // or field name otherwise. - if xmlname := lookupXMLName(f.Type); xmlname != nil { - finfo.xmlns, finfo.name = xmlname.xmlns, xmlname.name - } else { - finfo.name = f.Name - } - return finfo, nil - } - - // Prepare field name and parents. - parents := strings.Split(tag, ">") - if parents[0] == "" { - parents[0] = f.Name - } - if parents[len(parents)-1] == "" { - return nil, fmt.Errorf("xml: trailing '>' in field %s of type %s", f.Name, typ) - } - finfo.name = parents[len(parents)-1] - if len(parents) > 1 { - if (finfo.flags & fElement) == 0 { - return nil, fmt.Errorf("xml: %s chain not valid with %s flag", tag, strings.Join(tokens[1:], ",")) - } - finfo.parents = parents[:len(parents)-1] - } - - // If the field type has an XMLName field, the names must match - // so that the behavior of both marshaling and unmarshaling - // is straightforward and unambiguous. - if finfo.flags&fElement != 0 { - ftyp := f.Type - xmlname := lookupXMLName(ftyp) - if xmlname != nil && xmlname.name != finfo.name { - return nil, fmt.Errorf("xml: name %q in tag of %s.%s conflicts with name %q in %s.XMLName", - finfo.name, typ, f.Name, xmlname.name, ftyp) - } - } - return finfo, nil -} - -// lookupXMLName returns the fieldInfo for typ's XMLName field -// in case it exists and has a valid xml field tag, otherwise -// it returns nil. -func lookupXMLName(typ reflect.Type) (xmlname *fieldInfo) { - for typ.Kind() == reflect.Ptr { - typ = typ.Elem() - } - if typ.Kind() != reflect.Struct { - return nil - } - for i, n := 0, typ.NumField(); i < n; i++ { - f := typ.Field(i) - if f.Name != xmlName { - continue - } - finfo, err := structFieldInfo(typ, &f) - if err == nil && finfo.name != "" { - return finfo - } - // Also consider errors as a non-existent field tag - // and let getTypeInfo itself report the error. - break - } - return nil -} - -func min(a, b int) int { - if a <= b { - return a - } - return b -} - -// addFieldInfo adds finfo to tinfo.fields if there are no -// conflicts, or if conflicts arise from previous fields that were -// obtained from deeper embedded structures than finfo. In the latter -// case, the conflicting entries are dropped. -// A conflict occurs when the path (parent + name) to a field is -// itself a prefix of another path, or when two paths match exactly. -// It is okay for field paths to share a common, shorter prefix. -func addFieldInfo(typ reflect.Type, tinfo *typeInfo, newf *fieldInfo) error { - var conflicts []int -Loop: - // First, figure all conflicts. Most working code will have none. - for i := range tinfo.fields { - oldf := &tinfo.fields[i] - if oldf.flags&fMode != newf.flags&fMode { - continue - } - if oldf.xmlns != "" && newf.xmlns != "" && oldf.xmlns != newf.xmlns { - continue - } - minl := min(len(newf.parents), len(oldf.parents)) - for p := 0; p < minl; p++ { - if oldf.parents[p] != newf.parents[p] { - continue Loop - } - } - if len(oldf.parents) > len(newf.parents) { - if oldf.parents[len(newf.parents)] == newf.name { - conflicts = append(conflicts, i) - } - } else if len(oldf.parents) < len(newf.parents) { - if newf.parents[len(oldf.parents)] == oldf.name { - conflicts = append(conflicts, i) - } - } else { - if newf.name == oldf.name { - conflicts = append(conflicts, i) - } - } - } - // Without conflicts, add the new field and return. - if conflicts == nil { - tinfo.fields = append(tinfo.fields, *newf) - return nil - } - - // If any conflict is shallower, ignore the new field. - // This matches the Go field resolution on embedding. - for _, i := range conflicts { - if len(tinfo.fields[i].idx) < len(newf.idx) { - return nil - } - } - - // Otherwise, if any of them is at the same depth level, it's an error. - for _, i := range conflicts { - oldf := &tinfo.fields[i] - if len(oldf.idx) == len(newf.idx) { - f1 := typ.FieldByIndex(oldf.idx) - f2 := typ.FieldByIndex(newf.idx) - return &TagPathError{typ, f1.Name, f1.Tag.Get("xml"), f2.Name, f2.Tag.Get("xml")} - } - } - - // Otherwise, the new field is shallower, and thus takes precedence, - // so drop the conflicting fields from tinfo and append the new one. - for c := len(conflicts) - 1; c >= 0; c-- { - i := conflicts[c] - copy(tinfo.fields[i:], tinfo.fields[i+1:]) - tinfo.fields = tinfo.fields[:len(tinfo.fields)-1] - } - tinfo.fields = append(tinfo.fields, *newf) - return nil -} - -// A TagPathError represents an error in the unmarshaling process -// caused by the use of field tags with conflicting paths. -type TagPathError struct { - Struct reflect.Type - Field1, Tag1 string - Field2, Tag2 string -} - -func (e *TagPathError) Error() string { - return fmt.Sprintf("%s field %q with tag %q conflicts with field %q with tag %q", e.Struct, e.Field1, e.Tag1, e.Field2, e.Tag2) -} - -const ( - initNilPointers = true - dontInitNilPointers = false -) - -// value returns v's field value corresponding to finfo. -// It's equivalent to v.FieldByIndex(finfo.idx), but when passed -// initNilPointers, it initializes and dereferences pointers as necessary. -// When passed dontInitNilPointers and a nil pointer is reached, the function -// returns a zero reflect.Value. -func (finfo *fieldInfo) value(v reflect.Value, shouldInitNilPointers bool) reflect.Value { - for i, x := range finfo.idx { - if i > 0 { - t := v.Type() - if t.Kind() == reflect.Ptr && t.Elem().Kind() == reflect.Struct { - if v.IsNil() { - if !shouldInitNilPointers { - return reflect.Value{} - } - v.Set(reflect.New(v.Type().Elem())) - } - v = v.Elem() - } - } - v = v.Field(x) - } - return v -} diff --git a/vendor/github.com/vmware/govmomi/vim25/xml/xml.go b/vendor/github.com/vmware/govmomi/vim25/xml/xml.go deleted file mode 100644 index 28631bdfe4a..00000000000 --- a/vendor/github.com/vmware/govmomi/vim25/xml/xml.go +++ /dev/null @@ -1,2056 +0,0 @@ -// Copyright 2009 The Go Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -// Package xml implements a simple XML 1.0 parser that -// understands XML name spaces. -package xml - -// References: -// Annotated XML spec: https://www.xml.com/axml/testaxml.htm -// XML name spaces: https://www.w3.org/TR/REC-xml-names/ - -// TODO(rsc): -// Test error handling. - -import ( - "bufio" - "bytes" - "errors" - "fmt" - "io" - "reflect" - "strconv" - "strings" - "unicode" - "unicode/utf8" -) - -// A SyntaxError represents a syntax error in the XML input stream. -type SyntaxError struct { - Msg string - Line int -} - -func (e *SyntaxError) Error() string { - return "XML syntax error on line " + strconv.Itoa(e.Line) + ": " + e.Msg -} - -// A Name represents an XML name (Local) annotated -// with a name space identifier (Space). -// In tokens returned by Decoder.Token, the Space identifier -// is given as a canonical URL, not the short prefix used -// in the document being parsed. -type Name struct { - Space, Local string -} - -// An Attr represents an attribute in an XML element (Name=Value). -type Attr struct { - Name Name - Value string -} - -// A Token is an interface holding one of the token types: -// StartElement, EndElement, CharData, Comment, ProcInst, or Directive. -type Token interface{} - -// A StartElement represents an XML start element. -type StartElement struct { - Name Name - Attr []Attr -} - -// Copy creates a new copy of StartElement. -func (e StartElement) Copy() StartElement { - attrs := make([]Attr, len(e.Attr)) - copy(attrs, e.Attr) - e.Attr = attrs - return e -} - -// End returns the corresponding XML end element. -func (e StartElement) End() EndElement { - return EndElement{e.Name} -} - -// An EndElement represents an XML end element. -type EndElement struct { - Name Name -} - -// A CharData represents XML character data (raw text), -// in which XML escape sequences have been replaced by -// the characters they represent. -type CharData []byte - -func makeCopy(b []byte) []byte { - b1 := make([]byte, len(b)) - copy(b1, b) - return b1 -} - -// Copy creates a new copy of CharData. -func (c CharData) Copy() CharData { return CharData(makeCopy(c)) } - -// A Comment represents an XML comment of the form . -// The bytes do not include the comment markers. -type Comment []byte - -// Copy creates a new copy of Comment. -func (c Comment) Copy() Comment { return Comment(makeCopy(c)) } - -// A ProcInst represents an XML processing instruction of the form -type ProcInst struct { - Target string - Inst []byte -} - -// Copy creates a new copy of ProcInst. -func (p ProcInst) Copy() ProcInst { - p.Inst = makeCopy(p.Inst) - return p -} - -// A Directive represents an XML directive of the form . -// The bytes do not include the markers. -type Directive []byte - -// Copy creates a new copy of Directive. -func (d Directive) Copy() Directive { return Directive(makeCopy(d)) } - -// CopyToken returns a copy of a Token. -func CopyToken(t Token) Token { - switch v := t.(type) { - case CharData: - return v.Copy() - case Comment: - return v.Copy() - case Directive: - return v.Copy() - case ProcInst: - return v.Copy() - case StartElement: - return v.Copy() - } - return t -} - -// A TokenReader is anything that can decode a stream of XML tokens, including a -// Decoder. -// -// When Token encounters an error or end-of-file condition after successfully -// reading a token, it returns the token. It may return the (non-nil) error from -// the same call or return the error (and a nil token) from a subsequent call. -// An instance of this general case is that a TokenReader returning a non-nil -// token at the end of the token stream may return either io.EOF or a nil error. -// The next Read should return nil, io.EOF. -// -// Implementations of Token are discouraged from returning a nil token with a -// nil error. Callers should treat a return of nil, nil as indicating that -// nothing happened; in particular it does not indicate EOF. -type TokenReader interface { - Token() (Token, error) -} - -// A Decoder represents an XML parser reading a particular input stream. -// The parser assumes that its input is encoded in UTF-8. -type Decoder struct { - // Strict defaults to true, enforcing the requirements - // of the XML specification. - // If set to false, the parser allows input containing common - // mistakes: - // * If an element is missing an end tag, the parser invents - // end tags as necessary to keep the return values from Token - // properly balanced. - // * In attribute values and character data, unknown or malformed - // character entities (sequences beginning with &) are left alone. - // - // Setting: - // - // d.Strict = false - // d.AutoClose = xml.HTMLAutoClose - // d.Entity = xml.HTMLEntity - // - // creates a parser that can handle typical HTML. - // - // Strict mode does not enforce the requirements of the XML name spaces TR. - // In particular it does not reject name space tags using undefined prefixes. - // Such tags are recorded with the unknown prefix as the name space URL. - Strict bool - - // When Strict == false, AutoClose indicates a set of elements to - // consider closed immediately after they are opened, regardless - // of whether an end element is present. - AutoClose []string - - // Entity can be used to map non-standard entity names to string replacements. - // The parser behaves as if these standard mappings are present in the map, - // regardless of the actual map content: - // - // "lt": "<", - // "gt": ">", - // "amp": "&", - // "apos": "'", - // "quot": `"`, - Entity map[string]string - - // CharsetReader, if non-nil, defines a function to generate - // charset-conversion readers, converting from the provided - // non-UTF-8 charset into UTF-8. If CharsetReader is nil or - // returns an error, parsing stops with an error. One of the - // CharsetReader's result values must be non-nil. - CharsetReader func(charset string, input io.Reader) (io.Reader, error) - - // DefaultSpace sets the default name space used for unadorned tags, - // as if the entire XML stream were wrapped in an element containing - // the attribute xmlns="DefaultSpace". - DefaultSpace string - - // TypeFunc is used to map type names to actual types. - TypeFunc func(string) (reflect.Type, bool) - - r io.ByteReader - t TokenReader - buf bytes.Buffer - saved *bytes.Buffer - stk *stack - free *stack - needClose bool - toClose Name - nextToken Token - nextByte int - ns map[string]string - err error - line int - offset int64 - unmarshalDepth int -} - -// NewDecoder creates a new XML parser reading from r. -// If r does not implement io.ByteReader, NewDecoder will -// do its own buffering. -func NewDecoder(r io.Reader) *Decoder { - d := &Decoder{ - ns: make(map[string]string), - nextByte: -1, - line: 1, - Strict: true, - } - d.switchToReader(r) - return d -} - -// NewTokenDecoder creates a new XML parser using an underlying token stream. -func NewTokenDecoder(t TokenReader) *Decoder { - // Is it already a Decoder? - if d, ok := t.(*Decoder); ok { - return d - } - d := &Decoder{ - ns: make(map[string]string), - t: t, - nextByte: -1, - line: 1, - Strict: true, - } - return d -} - -// Token returns the next XML token in the input stream. -// At the end of the input stream, Token returns nil, io.EOF. -// -// Slices of bytes in the returned token data refer to the -// parser's internal buffer and remain valid only until the next -// call to Token. To acquire a copy of the bytes, call CopyToken -// or the token's Copy method. -// -// Token expands self-closing elements such as
-// into separate start and end elements returned by successive calls. -// -// Token guarantees that the StartElement and EndElement -// tokens it returns are properly nested and matched: -// if Token encounters an unexpected end element -// or EOF before all expected end elements, -// it will return an error. -// -// Token implements XML name spaces as described by -// https://www.w3.org/TR/REC-xml-names/. Each of the -// Name structures contained in the Token has the Space -// set to the URL identifying its name space when known. -// If Token encounters an unrecognized name space prefix, -// it uses the prefix as the Space rather than report an error. -func (d *Decoder) Token() (Token, error) { - var t Token - var err error - if d.stk != nil && d.stk.kind == stkEOF { - return nil, io.EOF - } - if d.nextToken != nil { - t = d.nextToken - d.nextToken = nil - } else if t, err = d.rawToken(); err != nil { - switch { - case err == io.EOF && d.t != nil: - err = nil - case err == io.EOF && d.stk != nil && d.stk.kind != stkEOF: - err = d.syntaxError("unexpected EOF") - } - return t, err - } - - if !d.Strict { - if t1, ok := d.autoClose(t); ok { - d.nextToken = t - t = t1 - } - } - switch t1 := t.(type) { - case StartElement: - // In XML name spaces, the translations listed in the - // attributes apply to the element name and - // to the other attribute names, so process - // the translations first. - for _, a := range t1.Attr { - if a.Name.Space == xmlnsPrefix { - v, ok := d.ns[a.Name.Local] - d.pushNs(a.Name.Local, v, ok) - d.ns[a.Name.Local] = a.Value - } - if a.Name.Space == "" && a.Name.Local == xmlnsPrefix { - // Default space for untagged names - v, ok := d.ns[""] - d.pushNs("", v, ok) - d.ns[""] = a.Value - } - } - - d.translate(&t1.Name, true) - for i := range t1.Attr { - d.translate(&t1.Attr[i].Name, false) - } - d.pushElement(t1.Name) - t = t1 - - case EndElement: - d.translate(&t1.Name, true) - if !d.popElement(&t1) { - return nil, d.err - } - t = t1 - } - return t, err -} - -const ( - xmlURL = "http://www.w3.org/XML/1998/namespace" - xmlnsPrefix = "xmlns" - xmlPrefix = "xml" -) - -// Apply name space translation to name n. -// The default name space (for Space=="") -// applies only to element names, not to attribute names. -func (d *Decoder) translate(n *Name, isElementName bool) { - switch { - case n.Space == xmlnsPrefix: - return - case n.Space == "" && !isElementName: - return - case n.Space == xmlPrefix: - n.Space = xmlURL - case n.Space == "" && n.Local == xmlnsPrefix: - return - } - if v, ok := d.ns[n.Space]; ok { - n.Space = v - } else if n.Space == "" { - n.Space = d.DefaultSpace - } -} - -func (d *Decoder) switchToReader(r io.Reader) { - // Get efficient byte at a time reader. - // Assume that if reader has its own - // ReadByte, it's efficient enough. - // Otherwise, use bufio. - if rb, ok := r.(io.ByteReader); ok { - d.r = rb - } else { - d.r = bufio.NewReader(r) - } -} - -// Parsing state - stack holds old name space translations -// and the current set of open elements. The translations to pop when -// ending a given tag are *below* it on the stack, which is -// more work but forced on us by XML. -type stack struct { - next *stack - kind int - name Name - ok bool -} - -const ( - stkStart = iota - stkNs - stkEOF -) - -func (d *Decoder) push(kind int) *stack { - s := d.free - if s != nil { - d.free = s.next - } else { - s = new(stack) - } - s.next = d.stk - s.kind = kind - d.stk = s - return s -} - -func (d *Decoder) pop() *stack { - s := d.stk - if s != nil { - d.stk = s.next - s.next = d.free - d.free = s - } - return s -} - -// Record that after the current element is finished -// (that element is already pushed on the stack) -// Token should return EOF until popEOF is called. -func (d *Decoder) pushEOF() { - // Walk down stack to find Start. - // It might not be the top, because there might be stkNs - // entries above it. - start := d.stk - for start.kind != stkStart { - start = start.next - } - // The stkNs entries below a start are associated with that - // element too; skip over them. - for start.next != nil && start.next.kind == stkNs { - start = start.next - } - s := d.free - if s != nil { - d.free = s.next - } else { - s = new(stack) - } - s.kind = stkEOF - s.next = start.next - start.next = s -} - -// Undo a pushEOF. -// The element must have been finished, so the EOF should be at the top of the stack. -func (d *Decoder) popEOF() bool { - if d.stk == nil || d.stk.kind != stkEOF { - return false - } - d.pop() - return true -} - -// Record that we are starting an element with the given name. -func (d *Decoder) pushElement(name Name) { - s := d.push(stkStart) - s.name = name -} - -// Record that we are changing the value of ns[local]. -// The old value is url, ok. -func (d *Decoder) pushNs(local string, url string, ok bool) { - s := d.push(stkNs) - s.name.Local = local - s.name.Space = url - s.ok = ok -} - -// Creates a SyntaxError with the current line number. -func (d *Decoder) syntaxError(msg string) error { - return &SyntaxError{Msg: msg, Line: d.line} -} - -// Record that we are ending an element with the given name. -// The name must match the record at the top of the stack, -// which must be a pushElement record. -// After popping the element, apply any undo records from -// the stack to restore the name translations that existed -// before we saw this element. -func (d *Decoder) popElement(t *EndElement) bool { - s := d.pop() - name := t.Name - switch { - case s == nil || s.kind != stkStart: - d.err = d.syntaxError("unexpected end element ") - return false - case s.name.Local != name.Local: - if !d.Strict { - d.needClose = true - d.toClose = t.Name - t.Name = s.name - return true - } - d.err = d.syntaxError("element <" + s.name.Local + "> closed by ") - return false - case s.name.Space != name.Space: - d.err = d.syntaxError("element <" + s.name.Local + "> in space " + s.name.Space + - "closed by in space " + name.Space) - return false - } - - // Pop stack until a Start or EOF is on the top, undoing the - // translations that were associated with the element we just closed. - for d.stk != nil && d.stk.kind != stkStart && d.stk.kind != stkEOF { - s := d.pop() - if s.ok { - d.ns[s.name.Local] = s.name.Space - } else { - delete(d.ns, s.name.Local) - } - } - - return true -} - -// If the top element on the stack is autoclosing and -// t is not the end tag, invent the end tag. -func (d *Decoder) autoClose(t Token) (Token, bool) { - if d.stk == nil || d.stk.kind != stkStart { - return nil, false - } - name := strings.ToLower(d.stk.name.Local) - for _, s := range d.AutoClose { - if strings.ToLower(s) == name { - // This one should be auto closed if t doesn't close it. - et, ok := t.(EndElement) - if !ok || et.Name.Local != name { - return EndElement{d.stk.name}, true - } - break - } - } - return nil, false -} - -var errRawToken = errors.New("xml: cannot use RawToken from UnmarshalXML method") - -// RawToken is like Token but does not verify that -// start and end elements match and does not translate -// name space prefixes to their corresponding URLs. -func (d *Decoder) RawToken() (Token, error) { - if d.unmarshalDepth > 0 { - return nil, errRawToken - } - return d.rawToken() -} - -func (d *Decoder) rawToken() (Token, error) { - if d.t != nil { - return d.t.Token() - } - if d.err != nil { - return nil, d.err - } - if d.needClose { - // The last element we read was self-closing and - // we returned just the StartElement half. - // Return the EndElement half now. - d.needClose = false - return EndElement{d.toClose}, nil - } - - b, ok := d.getc() - if !ok { - return nil, d.err - } - - if b != '<' { - // Text section. - d.ungetc(b) - data := d.text(-1, false) - if data == nil { - return nil, d.err - } - return CharData(data), nil - } - - if b, ok = d.mustgetc(); !ok { - return nil, d.err - } - switch b { - case '/': - // ' { - d.err = d.syntaxError("invalid characters between ") - return nil, d.err - } - return EndElement{name}, nil - - case '?': - // ' { - break - } - b0 = b - } - data := d.buf.Bytes() - data = data[0 : len(data)-2] // chop ?> - - if target == "xml" { - content := string(data) - ver := procInst("version", content) - if ver != "" && ver != "1.0" { - d.err = fmt.Errorf("xml: unsupported version %q; only version 1.0 is supported", ver) - return nil, d.err - } - enc := procInst("encoding", content) - if enc != "" && enc != "utf-8" && enc != "UTF-8" && !strings.EqualFold(enc, "utf-8") { - if d.CharsetReader == nil { - d.err = fmt.Errorf("xml: encoding %q declared but Decoder.CharsetReader is nil", enc) - return nil, d.err - } - newr, err := d.CharsetReader(enc, d.r.(io.Reader)) - if err != nil { - d.err = fmt.Errorf("xml: opening charset %q: %v", enc, err) - return nil, d.err - } - if newr == nil { - panic("CharsetReader returned a nil Reader for charset " + enc) - } - d.switchToReader(newr) - } - } - return ProcInst{target, data}, nil - - case '!': - // ' { - d.err = d.syntaxError( - `invalid sequence "--" not allowed in comments`) - return nil, d.err - } - break - } - b0, b1 = b1, b - } - data := d.buf.Bytes() - data = data[0 : len(data)-3] // chop --> - return Comment(data), nil - - case '[': // . - data := d.text(-1, true) - if data == nil { - return nil, d.err - } - return CharData(data), nil - } - - // Probably a directive: , , etc. - // We don't care, but accumulate for caller. Quoted angle - // brackets do not count for nesting. - d.buf.Reset() - d.buf.WriteByte(b) - inquote := uint8(0) - depth := 0 - for { - if b, ok = d.mustgetc(); !ok { - return nil, d.err - } - if inquote == 0 && b == '>' && depth == 0 { - break - } - HandleB: - d.buf.WriteByte(b) - switch { - case b == inquote: - inquote = 0 - - case inquote != 0: - // in quotes, no special action - - case b == '\'' || b == '"': - inquote = b - - case b == '>' && inquote == 0: - depth-- - - case b == '<' && inquote == 0: - // Look for