diff --git a/vendor/github.com/vmware/govmomi/CHANGELOG.md b/vendor/github.com/vmware/govmomi/CHANGELOG.md index 42c7cc113..1e0c1618b 100644 --- a/vendor/github.com/vmware/govmomi/CHANGELOG.md +++ b/vendor/github.com/vmware/govmomi/CHANGELOG.md @@ -1,5 +1,43 @@ # changelog +### 0.18.0 (2018-05-24) + +* Add VirtualDiskManager wrapper to set UUID + +* Add vmxnet2, pcnet32 and sriov to VirtualDeviceList.EthernetCardTypes + +* Add new vSphere 6.7 APIs + +* Decrease LoginExtensionByCertificate tunnel usage + +* SAML token authentication support via SessionManager.LoginByToken + +* New SSO admin client for managing users + +* New STS client for issuing and renewing SAML tokens + +* New Lookup Service client for discovering endpoints such as STS and ssoadmin + +* Switch from gvt to go dep for managing dependencies + +### 0.17.1 (2018-03-19) + +* vcsim: add Destroy method for Folder and Datacenter types + +* In progress.Reader emit final report on EOF. + +* vcsim: add EventManager.QueryEvents + +### 0.17.0 (2018-02-28) + +* Add HostStorageSystem.AttachScsiLun method + +* Avoid possible panic in Datastore.Stat (#969) + +* Destroy event history collectors (#962) + +* Add VirtualDiskManager.CreateChildDisk method + ### 0.16.0 (2017-11-08) * Add support for SOAP request operation ID header diff --git a/vendor/github.com/vmware/govmomi/CONTRIBUTORS b/vendor/github.com/vmware/govmomi/CONTRIBUTORS index c37dc9398..1fd37b609 100644 --- a/vendor/github.com/vmware/govmomi/CONTRIBUTORS +++ b/vendor/github.com/vmware/govmomi/CONTRIBUTORS @@ -6,8 +6,12 @@ Abhijeet Kasurde abrarshivani Adam Shannon +akutz +Alessandro Cortiana +Alex Bozhenko Alvaro Miranda amandahla +Amanda H. L. de Andrade Amit Bathla amit bezalel Andrew Chin @@ -22,16 +26,19 @@ Bob Killen Brad Fitzpatrick Bruce Downs Cédric Blomart +Chris Marchesi Christian Höltje Clint Greenwood Danny Lockard Dave Tucker Davide Agnello David Stark +Deric Crago Doug MacEachern Eloy Coto Eric Gray Eric Yutao +Erik Hollensbe Fabio Rapposelli Faiyaz Ahmed forkbomber @@ -46,11 +53,17 @@ Isaac Rodman Ivan Porto Carrero Jason Kincl Jeremy Canady +jeremy-clerc João Pereira +Jorge Sevilla +leslie-qiwa Louie Jiang Marc Carmier +Matthew Cosgrove Mevan Samaratunga Nicolas Lamirault +Omar Kohl +Parham Alvani Pieter Noordhuis runner.mei S.Çağlar Onur @@ -60,7 +73,10 @@ Takaaki Furukawa tanishi Ted Zlatanov Thibaut Ackermann +Trevor Dawe Vadim Egorov +Volodymyr Bobyr +Witold Krecicki Yang Yang Yuya Kusakabe Zach Tucker diff --git a/vendor/github.com/vmware/govmomi/Dockerfile b/vendor/github.com/vmware/govmomi/Dockerfile new file mode 100644 index 000000000..4f84fadaa --- /dev/null +++ b/vendor/github.com/vmware/govmomi/Dockerfile @@ -0,0 +1,4 @@ +FROM scratch +LABEL maintainer="fabio@vmware.com" +COPY govc / +ENTRYPOINT [ "/govc" ] \ No newline at end of file diff --git a/vendor/github.com/vmware/govmomi/Gopkg.lock b/vendor/github.com/vmware/govmomi/Gopkg.lock new file mode 100644 index 000000000..0f9a8f8c2 --- /dev/null +++ b/vendor/github.com/vmware/govmomi/Gopkg.lock @@ -0,0 +1,44 @@ +# This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'. + + +[[projects]] + branch = "improvements" + name = "github.com/davecgh/go-xdr" + packages = ["xdr2"] + revision = "4930550ba2e22f87187498acfd78348b15f4e7a8" + source = "https://github.com/rasky/go-xdr" + +[[projects]] + name = "github.com/google/uuid" + packages = ["."] + revision = "6a5e28554805e78ea6141142aba763936c4761c0" + +[[projects]] + branch = "govmomi" + name = "github.com/kr/pretty" + packages = ["."] + revision = "2ee9d7453c02ef7fa518a83ae23644eb8872186a" + source = "https://github.com/dougm/pretty" + +[[projects]] + branch = "master" + name = "github.com/kr/text" + packages = ["."] + revision = "7cafcd837844e784b526369c9bce262804aebc60" + +[[projects]] + branch = "master" + name = "github.com/vmware/vmw-guestinfo" + packages = [ + "bdoor", + "message", + "vmcheck" + ] + revision = "25eff159a728be87e103a0b8045e08273f4dbec4" + +[solve-meta] + analyzer-name = "dep" + analyzer-version = 1 + inputs-digest = "376638fa6c0621cbd980caf8fc53494d880886f100663da8de47ecb6e596e439" + solver-name = "gps-cdcl" + solver-version = 1 diff --git a/vendor/github.com/vmware/govmomi/Gopkg.toml b/vendor/github.com/vmware/govmomi/Gopkg.toml new file mode 100644 index 000000000..4c4d6765e --- /dev/null +++ b/vendor/github.com/vmware/govmomi/Gopkg.toml @@ -0,0 +1,19 @@ +# Refer to https://github.com/golang/dep/blob/master/docs/Gopkg.toml.md +# for detailed Gopkg.toml documentation. +# +# Refer to https://github.com/toml-lang/toml for detailed TOML docs. + +[prune] + non-go = true + go-tests = true + unused-packages = true + +[[constraint]] + branch = "improvements" + name = "github.com/davecgh/go-xdr" + source = "https://github.com/rasky/go-xdr" + +[[constraint]] + branch = "govmomi" + name = "github.com/kr/pretty" + source = "https://github.com/dougm/pretty" diff --git a/vendor/github.com/vmware/govmomi/README.md b/vendor/github.com/vmware/govmomi/README.md index 02901ea4f..08bc8df80 100644 --- a/vendor/github.com/vmware/govmomi/README.md +++ b/vendor/github.com/vmware/govmomi/README.md @@ -15,9 +15,9 @@ In addition to the vSphere API client, this repository includes: ## Compatibility -This library is built for and tested against ESXi and vCenter 6.0 and 6.5. +This library is built for and tested against ESXi and vCenter 6.0, 6.5 and 6.7. -It should work with versions 5.5 and 5.1, but neither are officially supported. +It may work with versions 5.5 and 5.1, but neither are officially supported. ## Documentation diff --git a/vendor/github.com/vmware/govmomi/client.go b/vendor/github.com/vmware/govmomi/client.go index e3dc7976a..ad49fe6bf 100644 --- a/vendor/github.com/vmware/govmomi/client.go +++ b/vendor/github.com/vmware/govmomi/client.go @@ -58,7 +58,6 @@ package govmomi import ( "context" - "crypto/tls" "net/url" "github.com/vmware/govmomi/property" @@ -99,41 +98,11 @@ func NewClient(ctx context.Context, u *url.URL, insecure bool) (*Client, error) return c, nil } -// NewClientWithCertificate creates a new client from a URL. The client authenticates with the -// server with the certificate before returning if the URL contains user information. -func NewClientWithCertificate(ctx context.Context, u *url.URL, insecure bool, cert tls.Certificate) (*Client, error) { - soapClient := soap.NewClient(u, insecure) - soapClient.SetCertificate(cert) - vimClient, err := vim25.NewClient(ctx, soapClient) - if err != nil { - return nil, err - } - - c := &Client{ - Client: vimClient, - SessionManager: session.NewManager(vimClient), - } - - if u.User != nil { - err = c.LoginExtensionByCertificate(ctx, u.User.Username(), "") - 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) } -// Login dispatches to the SessionManager. -func (c *Client) LoginExtensionByCertificate(ctx context.Context, key string, locale string) error { - return c.SessionManager.LoginExtensionByCertificate(ctx, key, locale) -} - // Logout dispatches to the SessionManager. func (c *Client) Logout(ctx context.Context) error { // Close any idle connections after logging out. diff --git a/vendor/github.com/vmware/govmomi/find/finder.go b/vendor/github.com/vmware/govmomi/find/finder.go index 2e9727e48..70a2b5359 100644 --- a/vendor/github.com/vmware/govmomi/find/finder.go +++ b/vendor/github.com/vmware/govmomi/find/finder.go @@ -716,7 +716,7 @@ func (f *Finder) HostSystem(ctx context.Context, path string) (*object.HostSyste } func (f *Finder) DefaultHostSystem(ctx context.Context) (*object.HostSystem, error) { - hs, err := f.HostSystem(ctx, "*/*") + hs, err := f.HostSystem(ctx, "*") if err != nil { return nil, toDefaultError(err) } diff --git a/vendor/github.com/vmware/govmomi/list/path_test.go b/vendor/github.com/vmware/govmomi/list/path_test.go new file mode 100644 index 000000000..8cb73c384 --- /dev/null +++ b/vendor/github.com/vmware/govmomi/list/path_test.go @@ -0,0 +1,93 @@ +/* +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 ( + "reflect" + "testing" +) + +func TestToParts(t *testing.T) { + tests := []struct { + In string + Out []string + }{ + { + In: "/", + Out: []string{}, + }, + { + In: "/foo", + Out: []string{"foo"}, + }, + { + In: "/foo/..", + Out: []string{}, + }, + { + In: "/./foo", + Out: []string{"foo"}, + }, + { + In: "/../foo", + Out: []string{"foo"}, + }, + { + In: "/foo/bar", + Out: []string{"foo", "bar"}, + }, + { + In: "/foo/bar/..", + Out: []string{"foo"}, + }, + { + In: "", + Out: []string{"."}, + }, + { + In: ".", + Out: []string{"."}, + }, + { + In: "foo", + Out: []string{".", "foo"}, + }, + { + In: "foo/..", + Out: []string{"."}, + }, + { + In: "./foo", + Out: []string{".", "foo"}, + }, + { + In: "../foo", // Special case... + Out: []string{"..", "foo"}, + }, + { + In: "foo/bar/..", + Out: []string{".", "foo"}, + }, + } + + for _, test := range tests { + out := ToParts(test.In) + if !reflect.DeepEqual(test.Out, out) { + t.Errorf("Expected %s to return: %#v, actual: %#v", test.In, test.Out, out) + } + } +} diff --git a/vendor/github.com/vmware/govmomi/object/cluster_compute_resource_test.go b/vendor/github.com/vmware/govmomi/object/cluster_compute_resource_test.go new file mode 100644 index 000000000..684f4a671 --- /dev/null +++ b/vendor/github.com/vmware/govmomi/object/cluster_compute_resource_test.go @@ -0,0 +1,20 @@ +/* +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 + +// ComputeResource should implement the Reference interface. +var _ Reference = ClusterComputeResource{} diff --git a/vendor/github.com/vmware/govmomi/object/common_test.go b/vendor/github.com/vmware/govmomi/object/common_test.go new file mode 100644 index 000000000..6b7d0749d --- /dev/null +++ b/vendor/github.com/vmware/govmomi/object/common_test.go @@ -0,0 +1,34 @@ +/* +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 "testing" + +func TestCommonName(t *testing.T) { + c := &Common{} + + name := c.Name() + if name != "" { + t.Errorf("Name=%s", name) + } + + c.InventoryPath = "/foo/bar" + name = c.Name() + if name != "bar" { + t.Errorf("Name=%s", name) + } +} diff --git a/vendor/github.com/vmware/govmomi/object/compute_resource_test.go b/vendor/github.com/vmware/govmomi/object/compute_resource_test.go new file mode 100644 index 000000000..0f29d58e9 --- /dev/null +++ b/vendor/github.com/vmware/govmomi/object/compute_resource_test.go @@ -0,0 +1,20 @@ +/* +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 + +// ComputeResource should implement the Reference interface. +var _ Reference = ComputeResource{} diff --git a/vendor/github.com/vmware/govmomi/object/datacenter_test.go b/vendor/github.com/vmware/govmomi/object/datacenter_test.go new file mode 100644 index 000000000..1eb410576 --- /dev/null +++ b/vendor/github.com/vmware/govmomi/object/datacenter_test.go @@ -0,0 +1,20 @@ +/* +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 + +// Datacenter should implement the Reference interface. +var _ Reference = Datacenter{} diff --git a/vendor/github.com/vmware/govmomi/object/datastore_file_manager.go b/vendor/github.com/vmware/govmomi/object/datastore_file_manager.go index e48436806..a6e29c2c5 100644 --- a/vendor/github.com/vmware/govmomi/object/datastore_file_manager.go +++ b/vendor/github.com/vmware/govmomi/object/datastore_file_manager.go @@ -1,5 +1,5 @@ /* -Copyright (c) 2017 VMware, Inc. All Rights Reserved. +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. @@ -26,6 +26,7 @@ import ( "path" "strings" + "github.com/vmware/govmomi/vim25/progress" "github.com/vmware/govmomi/vim25/soap" ) @@ -36,7 +37,8 @@ type DatastoreFileManager struct { FileManager *FileManager VirtualDiskManager *VirtualDiskManager - Force bool + Force bool + DatacenterTarget *Datacenter } // NewFileManager creates a new instance of DatastoreFileManager @@ -49,11 +51,25 @@ func (d Datastore) NewFileManager(dc *Datacenter, force bool) *DatastoreFileMana 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) { @@ -73,7 +89,7 @@ func (m *DatastoreFileManager) DeleteFile(ctx context.Context, name string) erro return err } - return task.Wait(ctx) + return m.wait(ctx, task) } // DeleteVirtualDisk calls VirtualDiskManager.DeleteVirtualDisk @@ -94,10 +110,58 @@ func (m *DatastoreFileManager) DeleteVirtualDisk(ctx context.Context, name strin return err } - return task.Wait(ctx) + 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 Move method based on file name extension +// 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) @@ -108,12 +172,12 @@ func (m *DatastoreFileManager) Move(ctx context.Context, src string, dst string) f = m.VirtualDiskManager.MoveVirtualDisk } - task, err := f(ctx, srcp.String(), m.Datacenter, dstp.String(), m.Datacenter, m.Force) + task, err := f(ctx, srcp.String(), m.Datacenter, dstp.String(), m.DatacenterTarget, m.Force) if err != nil { return err } - return task.Wait(ctx) + return m.wait(ctx, task) } // Path converts path name to a DatastorePath diff --git a/vendor/github.com/vmware/govmomi/object/datastore_path_test.go b/vendor/github.com/vmware/govmomi/object/datastore_path_test.go new file mode 100644 index 000000000..ba85f74b2 --- /dev/null +++ b/vendor/github.com/vmware/govmomi/object/datastore_path_test.go @@ -0,0 +1,76 @@ +/* +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 "testing" + +func TestParseDatastorePath(t *testing.T) { + tests := []struct { + dsPath string + dsFile string + fail bool + }{ + {"", "", true}, + {"x", "", true}, + {"[", "", true}, + {"[nope", "", true}, + {"[te st]", "", false}, + {"[te st] foo", "foo", false}, + {"[te st] foo/foo.vmx", "foo/foo.vmx", false}, + {"[te st]foo bar/foo bar.vmx", "foo bar/foo bar.vmx", false}, + {" [te st] bar/bar.vmx ", "bar/bar.vmx", false}, + } + + for _, test := range tests { + p := new(DatastorePath) + ok := p.FromString(test.dsPath) + + if test.fail { + if ok { + t.Errorf("expected error for: %s", test.dsPath) + } + } else { + if !ok { + t.Errorf("failed to parse: %q", test.dsPath) + } else { + if test.dsFile != p.Path { + t.Errorf("dsFile=%s", p.Path) + } + if p.Datastore != "te st" { + t.Errorf("ds=%s", p.Datastore) + } + } + } + } + + s := "[datastore1] foo/bar.vmdk" + p := new(DatastorePath) + ok := p.FromString(s) + if !ok { + t.Fatal(s) + } + + if p.String() != s { + t.Fatal(p.String()) + } + + p.Path = "" + + if p.String() != "[datastore1]" { + t.Fatal(p.String()) + } +} diff --git a/vendor/github.com/vmware/govmomi/object/datastore_test.go b/vendor/github.com/vmware/govmomi/object/datastore_test.go new file mode 100644 index 000000000..5b4f790ff --- /dev/null +++ b/vendor/github.com/vmware/govmomi/object/datastore_test.go @@ -0,0 +1,20 @@ +/* +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 + +// Datastore should implement the Reference interface. +var _ Reference = Datastore{} diff --git a/vendor/github.com/vmware/govmomi/object/distributed_virtual_portgroup.go b/vendor/github.com/vmware/govmomi/object/distributed_virtual_portgroup.go index 86c9fc1c7..f8ac5512c 100644 --- a/vendor/github.com/vmware/govmomi/object/distributed_virtual_portgroup.go +++ b/vendor/github.com/vmware/govmomi/object/distributed_virtual_portgroup.go @@ -18,6 +18,7 @@ package object import ( "context" + "fmt" "github.com/vmware/govmomi/vim25" "github.com/vmware/govmomi/vim25/methods" @@ -39,11 +40,17 @@ func NewDistributedVirtualPortgroup(c *vim25.Client, ref types.ManagedObjectRefe 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", "config.distributedVirtualSwitch"}, &dvp); err != nil { + if err := p.Properties(ctx, p.Reference(), []string{"key", prop}, &dvp); err != nil { return nil, err } + // "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." + if dvp.Config.DistributedVirtualSwitch == nil { + return nil, fmt.Errorf("no System.Read privilege on: %s.%s", p.Reference(), prop) + } + if err := p.Properties(ctx, *dvp.Config.DistributedVirtualSwitch, []string{"uuid"}, &dvs); err != nil { return nil, err } diff --git a/vendor/github.com/vmware/govmomi/object/distributed_virtual_portgroup_test.go b/vendor/github.com/vmware/govmomi/object/distributed_virtual_portgroup_test.go new file mode 100644 index 000000000..fcbbab26e --- /dev/null +++ b/vendor/github.com/vmware/govmomi/object/distributed_virtual_portgroup_test.go @@ -0,0 +1,23 @@ +/* +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 + +// DistributedVirtualPortgroup should implement the Reference interface. +var _ Reference = DistributedVirtualPortgroup{} + +// DistributedVirtualPortgroup should implement the NetworkReference interface. +var _ NetworkReference = DistributedVirtualPortgroup{} diff --git a/vendor/github.com/vmware/govmomi/object/distributed_virtual_switch.go b/vendor/github.com/vmware/govmomi/object/distributed_virtual_switch.go index 7a4125879..526ce4bf7 100644 --- a/vendor/github.com/vmware/govmomi/object/distributed_virtual_switch.go +++ b/vendor/github.com/vmware/govmomi/object/distributed_virtual_switch.go @@ -66,9 +66,10 @@ func (s DistributedVirtualSwitch) AddPortgroup(ctx context.Context, spec []types return NewTask(s.Client(), res.Returnval), nil } -func (s DistributedVirtualSwitch) FetchDVPorts(ctx context.Context) ([]types.DistributedVirtualPort, error) { +func (s DistributedVirtualSwitch) FetchDVPorts(ctx context.Context, criteria *types.DistributedVirtualSwitchPortCriteria) ([]types.DistributedVirtualPort, error) { req := &types.FetchDVPorts{ - This: s.Reference(), + This: s.Reference(), + Criteria: criteria, } res, err := methods.FetchDVPorts(ctx, s.Client(), req) diff --git a/vendor/github.com/vmware/govmomi/object/folder_test.go b/vendor/github.com/vmware/govmomi/object/folder_test.go new file mode 100644 index 000000000..4423961f7 --- /dev/null +++ b/vendor/github.com/vmware/govmomi/object/folder_test.go @@ -0,0 +1,20 @@ +/* +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 + +// Folder should implement the Reference interface. +var _ Reference = Folder{} diff --git a/vendor/github.com/vmware/govmomi/object/host_certificate_info_test.go b/vendor/github.com/vmware/govmomi/object/host_certificate_info_test.go new file mode 100644 index 000000000..23a1feb44 --- /dev/null +++ b/vendor/github.com/vmware/govmomi/object/host_certificate_info_test.go @@ -0,0 +1,30 @@ +/* +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 "testing" + +func TestHostCertificateManagerCertificateInfo(t *testing.T) { + subject := "emailAddress=vmca@vmware.com,CN=w2-xlr8-autoroot-esx004.eng.vmware.com,OU=VMware Engineering,O=VMware,L=Palo Alto,ST=California,C=US" + + var info HostCertificateInfo + name := info.toName(subject) + s := info.fromName(name) + if subject != s { + t.Errorf("%s != %s", s, subject) + } +} diff --git a/vendor/github.com/vmware/govmomi/object/network_test.go b/vendor/github.com/vmware/govmomi/object/network_test.go new file mode 100644 index 000000000..e95761545 --- /dev/null +++ b/vendor/github.com/vmware/govmomi/object/network_test.go @@ -0,0 +1,23 @@ +/* +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 + +// Network should implement the Reference interface. +var _ Reference = Network{} + +// Network should implement the NetworkReference interface. +var _ NetworkReference = Network{} diff --git a/vendor/github.com/vmware/govmomi/object/resource_pool.go b/vendor/github.com/vmware/govmomi/object/resource_pool.go index 55c2e2b2f..5b66df8ad 100644 --- a/vendor/github.com/vmware/govmomi/object/resource_pool.go +++ b/vendor/github.com/vmware/govmomi/object/resource_pool.go @@ -35,6 +35,17 @@ func NewResourcePool(c *vim25.Client, ref types.ManagedObjectReference) *Resourc } } +func (p ResourcePool) MoveIntoResourcePool(ctx context.Context, list []types.ManagedObjectReference) error { + req := types.MoveIntoResourcePool{ + This: p.Reference(), + List: list, + } + + _, err := methods.MoveIntoResourcePool(ctx, p.c, &req) + + return err +} + func (p ResourcePool) ImportVApp(ctx context.Context, spec types.BaseImportSpec, folder *Folder, host *HostSystem) (*nfc.Lease, error) { req := types.ImportVApp{ This: p.Reference(), diff --git a/vendor/github.com/vmware/govmomi/object/search_index_test.go b/vendor/github.com/vmware/govmomi/object/search_index_test.go new file mode 100644 index 000000000..9860f9f4d --- /dev/null +++ b/vendor/github.com/vmware/govmomi/object/search_index_test.go @@ -0,0 +1,155 @@ +/* +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" + "reflect" + "testing" + + "github.com/vmware/govmomi/test" + "github.com/vmware/govmomi/vim25/mo" +) + +func TestSearch(t *testing.T) { + c := test.NewAuthenticatedClient(t) + s := NewSearchIndex(c) + + ref, err := s.FindChild(context.Background(), NewRootFolder(c), "ha-datacenter") + if err != nil { + t.Fatal(err) + } + + dc, ok := ref.(*Datacenter) + if !ok { + t.Errorf("Expected Datacenter: %#v", ref) + } + + folders, err := dc.Folders(context.Background()) + if err != nil { + t.Fatal(err) + } + + ref, err = s.FindChild(context.Background(), folders.DatastoreFolder, "datastore1") + if err != nil { + t.Fatal(err) + } + + _, ok = ref.(*Datastore) + if !ok { + t.Errorf("Expected Datastore: %#v", ref) + } + + ref, err = s.FindByInventoryPath(context.Background(), "/ha-datacenter/network/VM Network") + if err != nil { + t.Fatal(err) + } + + _, ok = ref.(*Network) + if !ok { + t.Errorf("Expected Network: %#v", ref) + } + + crs, err := folders.HostFolder.Children(context.Background()) + if err != nil { + if err != nil { + t.Fatal(err) + } + } + if len(crs) != 0 { + var cr mo.ComputeResource + ref = crs[0] + err = s.Properties(context.Background(), ref.Reference(), []string{"host"}, &cr) + if err != nil { + t.Fatal(err) + } + + var host mo.HostSystem + ref = NewHostSystem(c, cr.Host[0]) + err = s.Properties(context.Background(), ref.Reference(), []string{"name", "hardware", "config"}, &host) + if err != nil { + t.Fatal(err) + } + + dnsConfig := host.Config.Network.DnsConfig.GetHostDnsConfig() + dnsName := fmt.Sprintf("%s.%s", dnsConfig.HostName, dnsConfig.DomainName) + shost, err := s.FindByDnsName(context.Background(), dc, dnsName, false) + if err != nil { + t.Fatal(err) + } + if !reflect.DeepEqual(ref, shost) { + t.Errorf("%#v != %#v\n", ref, shost) + } + + shost, err = s.FindByUuid(context.Background(), dc, host.Hardware.SystemInfo.Uuid, false, nil) + if err != nil { + t.Fatal(err) + } + if !reflect.DeepEqual(ref, shost) { + t.Errorf("%#v != %#v\n", ref, shost) + } + } + + vms, err := folders.VmFolder.Children(context.Background()) + if err != nil { + t.Fatal(err) + } + if len(vms) != 0 { + var vm mo.VirtualMachine + ref = vms[0] + err = s.Properties(context.Background(), ref.Reference(), []string{"config", "guest"}, &vm) + if err != nil { + t.Fatal(err) + } + svm, err := s.FindByDatastorePath(context.Background(), dc, vm.Config.Files.VmPathName) + if err != nil { + t.Fatal(err) + } + if !reflect.DeepEqual(ref, svm) { + t.Errorf("%#v != %#v\n", ref, svm) + } + + svm, err = s.FindByUuid(context.Background(), dc, vm.Config.Uuid, true, nil) + if err != nil { + t.Fatal(err) + } + if !reflect.DeepEqual(ref, svm) { + t.Errorf("%#v != %#v\n", ref, svm) + } + + if vm.Guest.HostName != "" { + svm, err := s.FindByDnsName(context.Background(), dc, vm.Guest.HostName, true) + if err != nil { + t.Fatal(err) + } + if !reflect.DeepEqual(ref, svm) { + t.Errorf("%#v != %#v\n", ref, svm) + } + } + + if vm.Guest.IpAddress != "" { + svm, err := s.FindByIp(context.Background(), dc, vm.Guest.IpAddress, true) + if err != nil { + t.Fatal(err) + } + if !reflect.DeepEqual(ref, svm) { + t.Errorf("%#v != %#v\n", ref, svm) + } + } + } +} diff --git a/vendor/github.com/vmware/govmomi/object/virtual_device_list.go b/vendor/github.com/vmware/govmomi/object/virtual_device_list.go index 6fe083561..e1c35eff8 100644 --- a/vendor/github.com/vmware/govmomi/object/virtual_device_list.go +++ b/vendor/github.com/vmware/govmomi/object/virtual_device_list.go @@ -61,7 +61,10 @@ func EthernetCardTypes() VirtualDeviceList { return VirtualDeviceList([]types.BaseVirtualDevice{ &types.VirtualE1000{}, &types.VirtualE1000e{}, + &types.VirtualVmxnet2{}, &types.VirtualVmxnet3{}, + &types.VirtualPCNet32{}, + &types.VirtualSriovEthernetCard{}, }).Select(func(device types.BaseVirtualDevice) bool { c := device.(types.BaseVirtualEthernetCard).GetVirtualEthernetCard() c.GetVirtualDevice().Key = -1 @@ -834,7 +837,7 @@ func (l VirtualDeviceList) TypeName(device types.BaseVirtualDevice) string { return dtype.Elem().Name() } -var deviceNameRegexp = regexp.MustCompile(`(?:Virtual)?(?:Machine)?(\w+?)(?:Card|Device|Controller)?$`) +var deviceNameRegexp = regexp.MustCompile(`(?:Virtual)?(?:Machine)?(\w+?)(?:Card|EthernetCard|Device|Controller)?$`) func (l VirtualDeviceList) deviceName(device types.BaseVirtualDevice) string { name := "device" diff --git a/vendor/github.com/vmware/govmomi/object/virtual_device_list_test.go b/vendor/github.com/vmware/govmomi/object/virtual_device_list_test.go new file mode 100644 index 000000000..31e8b3759 --- /dev/null +++ b/vendor/github.com/vmware/govmomi/object/virtual_device_list_test.go @@ -0,0 +1,877 @@ +/* +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 ( + "math/rand" + "reflect" + "testing" + + "github.com/vmware/govmomi/vim25/types" +) + +func intPtrValue(val int32) *int32 { + return &val +} + +var devices = VirtualDeviceList([]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: intPtrValue(0), + }, + BusNumber: 0, + Device: []int32{3001, 3000}, + }, + }, + &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: intPtrValue(0), + }, + BusNumber: 1, + Device: []int32{3002}, + }, + }, + &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: intPtrValue(0), + }, + 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: intPtrValue(0), + }, + BusNumber: 0, + Device: []int32{500, 12000, 1000, 4000}, + }, + }, + &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: intPtrValue(0), + }, + BusNumber: 0, + Device: []int32{9000}, + }, + }, + &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: intPtrValue(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{}, + HostPointingDevice: "autodetect", + }, + Connectable: (*types.VirtualDeviceConnectInfo)(nil), + SlotInfo: nil, + ControllerKey: 300, + UnitNumber: intPtrValue(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: intPtrValue(0), + }, + VideoRamSizeInKB: 4096, + NumDisplays: 1, + UseAutoDetect: types.NewBool(false), + Enable3DSupport: types.NewBool(false), + Use3dRenderer: "automatic", + }, + &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: &types.VirtualDevicePciBusSlotInfo{ + VirtualDeviceBusSlotInfo: types.VirtualDeviceBusSlotInfo{}, + PciSlotNumber: 33, + }, + ControllerKey: 100, + UnitNumber: intPtrValue(17), + }, + Id: 1754519335, + AllowUnrestrictedCommunication: types.NewBool(false), + }, + &types.VirtualLsiLogicController{ + VirtualSCSIController: types.VirtualSCSIController{ + VirtualController: types.VirtualController{ + VirtualDevice: types.VirtualDevice{ + DynamicData: types.DynamicData{}, + Key: 1000, + DeviceInfo: &types.Description{ + DynamicData: types.DynamicData{}, + Label: "SCSI controller 0", + Summary: "LSI Logic", + }, + Backing: nil, + Connectable: (*types.VirtualDeviceConnectInfo)(nil), + SlotInfo: nil, + ControllerKey: 100, + UnitNumber: intPtrValue(3), + }, + BusNumber: 0, + Device: nil, + }, + HotAddRemove: types.NewBool(true), + SharedBus: "noSharing", + ScsiCtlrUnitNumber: 7, + }, + }, + &types.VirtualCdrom{ + VirtualDevice: types.VirtualDevice{ + DynamicData: types.DynamicData{}, + Key: 3001, + DeviceInfo: &types.Description{ + DynamicData: types.DynamicData{}, + Label: "CD/DVD drive 1", + Summary: "ISO [datastore1] ttylinux-pc_i486-16.1.iso", + }, + Backing: &types.VirtualCdromIsoBackingInfo{ + VirtualDeviceFileBackingInfo: types.VirtualDeviceFileBackingInfo{ + VirtualDeviceBackingInfo: types.VirtualDeviceBackingInfo{}, + FileName: "[datastore1] foo.iso", + Datastore: &types.ManagedObjectReference{Type: "Datastore", Value: "53fe43cc-75dc5110-3643-000c2918dc41"}, + BackingObjectId: "", + }, + }, + Connectable: &types.VirtualDeviceConnectInfo{ + DynamicData: types.DynamicData{}, + StartConnected: true, + AllowGuestControl: true, + Connected: false, + Status: "untried", + }, + SlotInfo: nil, + ControllerKey: 200, + UnitNumber: intPtrValue(1), + }, + }, + &types.VirtualDisk{ + VirtualDevice: types.VirtualDevice{ + DynamicData: types.DynamicData{}, + Key: 3000, + DeviceInfo: &types.Description{ + DynamicData: types.DynamicData{}, + Label: "Hard disk 1", + Summary: "30,720 KB", + }, + Backing: &types.VirtualDiskFlatVer2BackingInfo{ + VirtualDeviceFileBackingInfo: types.VirtualDeviceFileBackingInfo{ + VirtualDeviceBackingInfo: types.VirtualDeviceBackingInfo{}, + FileName: "[datastore1] bar/bar.vmdk", + Datastore: &types.ManagedObjectReference{Type: "Datastore", Value: "53fe43cc-75dc5110-3643-000c2918dc41"}, + BackingObjectId: "3-3000-0", + }, + DiskMode: "persistent", + Split: types.NewBool(false), + WriteThrough: types.NewBool(false), + ThinProvisioned: types.NewBool(false), + EagerlyScrub: types.NewBool(true), + Uuid: "6000C296-d0af-1209-1975-10c98eae10e4", + ContentId: "d46395062e2d1b1790985bdec573b211", + ChangeId: "", + Parent: &types.VirtualDiskFlatVer2BackingInfo{ + VirtualDeviceFileBackingInfo: types.VirtualDeviceFileBackingInfo{ + VirtualDeviceBackingInfo: types.VirtualDeviceBackingInfo{}, + FileName: "[datastore1] ttylinux.vmdk", + Datastore: &types.ManagedObjectReference{Type: "Datastore", Value: "53fe43cc-75dc5110-3643-000c2918dc41"}, + BackingObjectId: "3-3000-1", + }, + DiskMode: "persistent", + Split: types.NewBool(false), + WriteThrough: types.NewBool(false), + ThinProvisioned: types.NewBool(false), + EagerlyScrub: types.NewBool(true), + Uuid: "6000C296-d0af-1209-1975-10c98eae10e4", + ContentId: "1c2dad9e1662219e962a620c6d238a7c", + ChangeId: "", + Parent: (*types.VirtualDiskFlatVer2BackingInfo)(nil), + DeltaDiskFormat: "", + DigestEnabled: types.NewBool(false), + DeltaGrainSize: 0, + }, + DeltaDiskFormat: "redoLogFormat", + DigestEnabled: types.NewBool(false), + DeltaGrainSize: 0, + }, + Connectable: (*types.VirtualDeviceConnectInfo)(nil), + SlotInfo: nil, + ControllerKey: 200, + UnitNumber: intPtrValue(0), + }, + CapacityInKB: 30720, + CapacityInBytes: 31457280, + Shares: &types.SharesInfo{ + DynamicData: types.DynamicData{}, + Shares: 1000, + Level: "normal", + }, + StorageIOAllocation: &types.StorageIOAllocationInfo{ + DynamicData: types.DynamicData{}, + Limit: types.NewInt64(-1), + Shares: &types.SharesInfo{ + DynamicData: types.DynamicData{}, + Shares: 1000, + Level: "normal", + }, + Reservation: types.NewInt32(0), + }, + DiskObjectId: "3-3000", + VFlashCacheConfigInfo: (*types.VirtualDiskVFlashCacheConfigInfo)(nil), + }, + &types.VirtualDisk{ + VirtualDevice: types.VirtualDevice{ + DynamicData: types.DynamicData{}, + Key: 3002, + DeviceInfo: &types.Description{ + DynamicData: types.DynamicData{}, + Label: "Hard disk 2", + Summary: "10,000,000 KB", + }, + Backing: &types.VirtualDiskFlatVer2BackingInfo{ + VirtualDeviceFileBackingInfo: types.VirtualDeviceFileBackingInfo{ + VirtualDeviceBackingInfo: types.VirtualDeviceBackingInfo{}, + FileName: "[datastore1] bar/disk-201-0.vmdk", + Datastore: &types.ManagedObjectReference{Type: "Datastore", Value: "53fe43cc-75dc5110-3643-000c2918dc41"}, + BackingObjectId: "3-3002-0", + }, + DiskMode: "persistent", + Split: types.NewBool(false), + WriteThrough: types.NewBool(false), + ThinProvisioned: types.NewBool(true), + EagerlyScrub: types.NewBool(false), + Uuid: "6000C293-fde5-4457-5118-dd267ea992a7", + ContentId: "90399989b9d520eed6793ab0fffffffe", + ChangeId: "", + Parent: (*types.VirtualDiskFlatVer2BackingInfo)(nil), + DeltaDiskFormat: "", + DigestEnabled: types.NewBool(false), + DeltaGrainSize: 0, + }, + Connectable: (*types.VirtualDeviceConnectInfo)(nil), + SlotInfo: nil, + ControllerKey: 201, + UnitNumber: intPtrValue(0), + }, + CapacityInKB: 10000000, + CapacityInBytes: 10240000000, + Shares: &types.SharesInfo{ + DynamicData: types.DynamicData{}, + Shares: 1000, + Level: "normal", + }, + StorageIOAllocation: &types.StorageIOAllocationInfo{ + DynamicData: types.DynamicData{}, + Limit: types.NewInt64(-1), + Shares: &types.SharesInfo{ + DynamicData: types.DynamicData{}, + Shares: 1000, + Level: "normal", + }, + Reservation: types.NewInt32(0), + }, + DiskObjectId: "3-3002", + VFlashCacheConfigInfo: (*types.VirtualDiskVFlashCacheConfigInfo)(nil), + }, + &types.VirtualE1000{ + VirtualEthernetCard: types.VirtualEthernetCard{ + VirtualDevice: types.VirtualDevice{ + DynamicData: types.DynamicData{}, + Key: 4000, + DeviceInfo: &types.Description{ + DynamicData: types.DynamicData{}, + Label: "Network adapter 1", + Summary: "VM Network", + }, + Backing: &types.VirtualEthernetCardNetworkBackingInfo{ + VirtualDeviceDeviceBackingInfo: types.VirtualDeviceDeviceBackingInfo{ + VirtualDeviceBackingInfo: types.VirtualDeviceBackingInfo{}, + DeviceName: "VM Network", + UseAutoDetect: types.NewBool(false), + }, + Network: &types.ManagedObjectReference{Type: "Network", Value: "HaNetwork-VM Network"}, + 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: intPtrValue(7), + }, + AddressType: "generated", + MacAddress: "00:0c:29:93:d7:27", + WakeOnLanEnabled: types.NewBool(true), + }, + }, + &types.VirtualSerialPort{ + VirtualDevice: types.VirtualDevice{ + DynamicData: types.DynamicData{}, + Key: 9000, + DeviceInfo: &types.Description{ + DynamicData: types.DynamicData{}, + Label: "Serial port 1", + Summary: "Remote localhost:0", + }, + Backing: &types.VirtualSerialPortURIBackingInfo{ + VirtualDeviceURIBackingInfo: types.VirtualDeviceURIBackingInfo{ + VirtualDeviceBackingInfo: types.VirtualDeviceBackingInfo{}, + ServiceURI: "localhost:0", + Direction: "client", + ProxyURI: "", + }, + }, + Connectable: &types.VirtualDeviceConnectInfo{ + DynamicData: types.DynamicData{}, + StartConnected: true, + AllowGuestControl: true, + Connected: false, + Status: "untried", + }, + SlotInfo: nil, + ControllerKey: 400, + UnitNumber: intPtrValue(0), + }, + YieldOnPoll: true, + }, +}) + +func TestSelectByType(t *testing.T) { + tests := []struct { + dtype types.BaseVirtualDevice + expect int + }{ + { + (*types.VirtualCdrom)(nil), + 1, + }, + { + (*types.VirtualEthernetCard)(nil), + 1, + }, + { + (*types.VirtualDisk)(nil), + 2, + }, + { + (*types.VirtualController)(nil), + 6, + }, + { + (*types.VirtualIDEController)(nil), + 2, + }, + { + (*types.VirtualSCSIController)(nil), + 1, + }, + { + (*types.VirtualLsiLogicController)(nil), + 1, + }, + { + (*types.ParaVirtualSCSIController)(nil), + 0, + }, + } + + for _, test := range tests { + d := devices.SelectByType(test.dtype) + + if len(d) != test.expect { + t.Errorf("%#v has %d", test.dtype, len(devices)) + } + } +} + +func TestSelectByBackingInfo(t *testing.T) { + tests := []types.BaseVirtualDeviceBackingInfo{ + &types.VirtualEthernetCardNetworkBackingInfo{ + VirtualDeviceDeviceBackingInfo: types.VirtualDeviceDeviceBackingInfo{ + DeviceName: "VM Network", + }, + }, + &types.VirtualDiskFlatVer2BackingInfo{ + VirtualDeviceFileBackingInfo: types.VirtualDeviceFileBackingInfo{ + FileName: "[datastore1] bar/bar.vmdk", + }, + }, + &types.VirtualDiskFlatVer2BackingInfo{ + Parent: &types.VirtualDiskFlatVer2BackingInfo{ + VirtualDeviceFileBackingInfo: types.VirtualDeviceFileBackingInfo{ + FileName: "[datastore1] ttylinux.vmdk", + }, + }, + }, + &types.VirtualCdromIsoBackingInfo{ + VirtualDeviceFileBackingInfo: types.VirtualDeviceFileBackingInfo{ + VirtualDeviceBackingInfo: types.VirtualDeviceBackingInfo{}, + FileName: "[datastore1] foo.iso", + }, + }, + (*types.VirtualCdromIsoBackingInfo)(nil), + &types.VirtualSerialPortURIBackingInfo{ + VirtualDeviceURIBackingInfo: types.VirtualDeviceURIBackingInfo{ + VirtualDeviceBackingInfo: types.VirtualDeviceBackingInfo{}, + ServiceURI: "localhost:0", + Direction: "client", + ProxyURI: "", + }, + }, + (*types.VirtualSerialPortURIBackingInfo)(nil), + } + + for _, test := range tests { + l := devices.SelectByBackingInfo(test) + + if len(l) != 1 { + t.Errorf("Expected 1, got %d: %#v", len(l), test) + } + } + + // test selecting by backing type + tests = []types.BaseVirtualDeviceBackingInfo{ + (*types.VirtualDiskFlatVer2BackingInfo)(nil), + } + + for _, test := range tests { + l := devices.SelectByBackingInfo(test) + + if len(l) != 2 { + t.Errorf("Expected 2, got %d: %#v", len(l), test) + } + } +} + +func TestFind(t *testing.T) { + for _, device := range devices { + name := devices.Name(device) + d := devices.Find(name) + if name != devices.Name(d) { + t.Errorf("expected name: %s, got: %s", name, devices.Name(d)) + } + } + + d := devices.Find("enoent") + if d != nil { + t.Errorf("unexpected: %#v", d) + } +} + +func TestFindController(t *testing.T) { + for _, name := range []string{"", "ide-200"} { + _, err := devices.FindIDEController(name) + if err != nil { + t.Error(err) + } + } + + for _, name := range []string{"", "lsilogic-1000"} { + _, err := devices.FindSCSIController(name) + if err != nil { + t.Error(err) + } + } + + fns := []func() error{ + func() error { + _, err := devices.FindIDEController("lsilogic-1000") + return err + }, + func() error { + _, err := devices.FindSCSIController("ide-200") + return err + }, + } + + for _, f := range fns { + err := f() + if err == nil { + t.Error("should fail") + } + } +} + +func TestPickController(t *testing.T) { + list := devices + + tests := []struct { + ctype types.BaseVirtualController + key int32 + unit int32 + }{ + { + (*types.VirtualIDEController)(nil), 201, 1, + }, + { + (*types.VirtualSCSIController)(nil), 1000, 0, + }, + { + (*types.VirtualSCSIController)(nil), 1000, 1, + }, + } + + for _, test := range tests { + c := list.PickController(test.ctype).GetVirtualController() + + key := c.Key + if key != test.key { + t.Errorf("expected controller key: %d, got: %d\n", test.key, key) + } + + unit := list.newUnitNumber(c) + if unit != test.unit { + t.Errorf("expected unit number: %d, got: %d\n", test.unit, unit) + } + + dev := &types.VirtualDevice{ + Key: int32(rand.Int()), + UnitNumber: new(int32), + ControllerKey: key, + } + *dev.UnitNumber = unit + + list = append(list, dev) + c.Device = append(c.Device, dev.Key) + } + + if list.PickController((*types.VirtualIDEController)(nil)) != nil { + t.Error("should be nil") + } + + if list.PickController((*types.VirtualSCSIController)(nil)) == nil { + t.Errorf("should not be nil") + } +} + +func TestCreateSCSIController(t *testing.T) { + for _, l := range []VirtualDeviceList{SCSIControllerTypes(), devices} { + _, err := l.CreateSCSIController("enoent") + if err == nil { + t.Error("should fail") + } + + for _, name := range []string{"", "scsi", "pvscsi", "buslogic", "lsilogic", "lsilogic-sas"} { + _, err = l.CreateSCSIController(name) + if err != nil { + t.Error(err) + } + } + } +} + +func TestCreateEthernetCard(t *testing.T) { + _, err := EthernetCardTypes().CreateEthernetCard("enoent", nil) + if err == nil { + t.Error("should fail") + } + + for _, name := range []string{"", "e1000", "e1000e", "vmxnet2", "vmxnet3", "pcnet32", "sriov"} { + _, err := EthernetCardTypes().CreateEthernetCard(name, nil) + if err != nil { + t.Error(err) + } + } +} + +func TestCdrom(t *testing.T) { + c, err := devices.FindCdrom("") + if err != nil { + t.Error(err) + } + + d := devices.Find(devices.Name(c)) + + if c.Key != d.GetVirtualDevice().Key { + t.Error("device key mismatch") + } + + for _, name := range []string{"enoent", "ide-200"} { + c, err = devices.FindCdrom(name) + if err == nil { + t.Errorf("FindCdrom(%s) should fail", name) + } + } + + c, err = devices.Select(func(device types.BaseVirtualDevice) bool { + if _, ok := device.(*types.VirtualCdrom); ok { + return false + } + return true + }).FindCdrom("") + + if err == nil { + t.Error("FindCdrom('') should fail") + } +} + +func TestSerialPort(t *testing.T) { + device, err := devices.CreateSerialPort() + if err != nil { + t.Error(err) + } + devices.ConnectSerialPort(device, "telnet://:33233", false, "") +} + +func TestPrimaryMacAddress(t *testing.T) { + expect := "00:0c:29:93:d7:27" + mac := devices.PrimaryMacAddress() + if expect != mac { + t.Errorf("expected: %s, got: %s", expect, mac) + } +} + +func TestBootOrder(t *testing.T) { + o := []string{DeviceTypeEthernet, DeviceTypeCdrom, DeviceTypeFloppy, DeviceTypeDisk} + list := devices + + n := 4 // 1 ethernet, 1 cdrom, 2 disk + order := list.BootOrder(o) + if len(order) != n { + t.Errorf("expected %d boot devices, got: %d", n, len(order)) + } + + list = list.SelectBootOrder(order) + if len(list) != n { + t.Errorf("expected %d boot devices, got: %d", n, len(list)) + } + + // test lookup by name + var names []string + for _, x := range list { + names = append(names, list.Name(x)) + } + + order = list.BootOrder(names) + if len(order) != n { + t.Errorf("expected %d boot devices, got: %d", n, len(order)) + } + + if !reflect.DeepEqual(list, list.SelectBootOrder(order)) { + t.Error("boot order mismatch") + } + + // remove disks + list = list.Select(func(device types.BaseVirtualDevice) bool { + if _, ok := device.(*types.VirtualDisk); ok { + return false + } + return true + }) + + n = 2 // 1 ethernet, 1 cdrom + order = list.BootOrder(o) + if len(order) != n { + t.Errorf("expected %d boot devices, got: %d", n, len(order)) + } + + if !reflect.DeepEqual(list, list.SelectBootOrder(order)) { + t.Error("boot order mismatch") + } + + if len(list.BootOrder([]string{DeviceTypeDisk})) != 0 { + t.Error("expected 0 disks") + } + + if len(list.BootOrder([]string{DeviceTypeNone})) != 1 { + t.Error("expected 1") + } +} + +func TestName(t *testing.T) { + tests := []struct { + device types.BaseVirtualDevice + expect string + }{ + { + &types.VirtualCdrom{}, + "cdrom-0", + }, + { + &types.VirtualDisk{}, + "disk-0-0", + }, + { + &types.VirtualFloppy{}, + "floppy-0", + }, + { + &types.VirtualIDEController{}, + "ide-0", + }, + { + &types.VirtualMachineVideoCard{}, + "video-0", + }, + { + &types.VirtualPointingDevice{}, + "pointing-0", + }, + { + &types.ParaVirtualSCSIController{}, + "pvscsi-0", + }, + { + &types.VirtualSerialPort{}, + "serialport-0", + }, + { + &types.VirtualE1000{ + VirtualEthernetCard: types.VirtualEthernetCard{ + VirtualDevice: types.VirtualDevice{ + UnitNumber: intPtrValue(7), + }, + }, + }, + "ethernet-0", + }, + } + + for _, test := range tests { + name := devices.Name(test.device) + if name != test.expect { + t.Errorf("expected: %s, got: %s", test.expect, name) + } + } +} + +func TestChildDisk(t *testing.T) { + disks := devices.SelectByType((*types.VirtualDisk)(nil)) + + for _, disk := range disks { + child := disks.ChildDisk(disk.(*types.VirtualDisk)) + name := child.Backing.(*types.VirtualDiskFlatVer2BackingInfo).VirtualDeviceFileBackingInfo.FileName + + p := new(DatastorePath) + p.FromString(name) + + if p.Datastore != "datastore1" { + t.Fatal(p.Datastore) + } + + if p.Path != "" { + t.Fatal(p.Path) + } + } +} diff --git a/vendor/github.com/vmware/govmomi/object/virtual_disk_manager.go b/vendor/github.com/vmware/govmomi/object/virtual_disk_manager.go index 7bea49d51..72439caf9 100644 --- a/vendor/github.com/vmware/govmomi/object/virtual_disk_manager.go +++ b/vendor/github.com/vmware/govmomi/object/virtual_disk_manager.go @@ -209,3 +209,19 @@ func (m VirtualDiskManager) QueryVirtualDiskUuid(ctx context.Context, name strin 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 index dc747c121..faa9ecad5 100644 --- a/vendor/github.com/vmware/govmomi/object/virtual_disk_manager_internal.go +++ b/vendor/github.com/vmware/govmomi/object/virtual_disk_manager_internal.go @@ -46,9 +46,10 @@ type queryVirtualDiskInfoTaskResponse struct { } type queryVirtualDiskInfoTaskBody struct { - Req *queryVirtualDiskInfoTaskRequest `xml:"urn:internalvim25 QueryVirtualDiskInfo_Task,omitempty"` - Res *queryVirtualDiskInfoTaskResponse `xml:"urn:vim25 QueryVirtualDiskInfo_TaskResponse,omitempty"` - Err *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` + 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 } @@ -62,7 +63,11 @@ func queryVirtualDiskInfoTask(ctx context.Context, r soap.RoundTripper, req *que return nil, err } - return resBody.Res, nil + if resBody.Res != nil { + return resBody.Res, nil + } + + return resBody.InternalRes, nil } type VirtualDiskInfo struct { diff --git a/vendor/github.com/vmware/govmomi/object/virtual_machine_test.go b/vendor/github.com/vmware/govmomi/object/virtual_machine_test.go new file mode 100644 index 000000000..e3a860d17 --- /dev/null +++ b/vendor/github.com/vmware/govmomi/object/virtual_machine_test.go @@ -0,0 +1,206 @@ +/* +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 ( + "testing" + "time" + + "github.com/vmware/govmomi/vim25/types" +) + +// VirtualMachine should implement the Reference interface. +var _ Reference = VirtualMachine{} + +// pretty.Printf generated +var snapshot = &types.VirtualMachineSnapshotInfo{ + DynamicData: types.DynamicData{}, + CurrentSnapshot: &types.ManagedObjectReference{Type: "VirtualMachineSnapshot", Value: "2-snapshot-11"}, + RootSnapshotList: []types.VirtualMachineSnapshotTree{ + { + DynamicData: types.DynamicData{}, + Snapshot: types.ManagedObjectReference{Type: "VirtualMachineSnapshot", Value: "2-snapshot-1"}, + Vm: types.ManagedObjectReference{Type: "VirtualMachine", Value: "2"}, + Name: "root", + Description: "", + Id: 1, + CreateTime: time.Now(), + State: "poweredOn", + Quiesced: false, + BackupManifest: "", + ChildSnapshotList: []types.VirtualMachineSnapshotTree{ + { + DynamicData: types.DynamicData{}, + Snapshot: types.ManagedObjectReference{Type: "VirtualMachineSnapshot", Value: "2-snapshot-2"}, + Vm: types.ManagedObjectReference{Type: "VirtualMachine", Value: "2"}, + Name: "child", + Description: "", + Id: 2, + CreateTime: time.Now(), + State: "poweredOn", + Quiesced: false, + BackupManifest: "", + ChildSnapshotList: nil, + ReplaySupported: types.NewBool(false), + }, + { + DynamicData: types.DynamicData{}, + Snapshot: types.ManagedObjectReference{Type: "VirtualMachineSnapshot", Value: "2-snapshot-3"}, + Vm: types.ManagedObjectReference{Type: "VirtualMachine", Value: "2"}, + Name: "child", + Description: "", + Id: 3, + CreateTime: time.Now(), + State: "poweredOn", + Quiesced: false, + BackupManifest: "", + ChildSnapshotList: []types.VirtualMachineSnapshotTree{ + { + DynamicData: types.DynamicData{}, + Snapshot: types.ManagedObjectReference{Type: "VirtualMachineSnapshot", Value: "2-snapshot-9"}, + Vm: types.ManagedObjectReference{Type: "VirtualMachine", Value: "2"}, + Name: "grandkid", + Description: "", + Id: 9, + CreateTime: time.Now(), + State: "poweredOn", + Quiesced: false, + BackupManifest: "", + ChildSnapshotList: []types.VirtualMachineSnapshotTree{ + { + DynamicData: types.DynamicData{}, + Snapshot: types.ManagedObjectReference{Type: "VirtualMachineSnapshot", Value: "2-snapshot-10"}, + Vm: types.ManagedObjectReference{Type: "VirtualMachine", Value: "2"}, + Name: "great", + Description: "", + Id: 10, + CreateTime: time.Now(), + State: "poweredOn", + Quiesced: false, + BackupManifest: "", + ChildSnapshotList: nil, + ReplaySupported: types.NewBool(false), + }, + }, + ReplaySupported: types.NewBool(false), + }, + }, + ReplaySupported: types.NewBool(false), + }, + { + DynamicData: types.DynamicData{}, + Snapshot: types.ManagedObjectReference{Type: "VirtualMachineSnapshot", Value: "2-snapshot-5"}, + Vm: types.ManagedObjectReference{Type: "VirtualMachine", Value: "2"}, + Name: "voodoo", + Description: "", + Id: 5, + CreateTime: time.Now(), + State: "poweredOn", + Quiesced: false, + BackupManifest: "", + ChildSnapshotList: []types.VirtualMachineSnapshotTree{ + { + DynamicData: types.DynamicData{}, + Snapshot: types.ManagedObjectReference{Type: "VirtualMachineSnapshot", Value: "2-snapshot-11"}, + Vm: types.ManagedObjectReference{Type: "VirtualMachine", Value: "2"}, + Name: "child", + Description: "", + Id: 11, + CreateTime: time.Now(), + State: "poweredOn", + Quiesced: false, + BackupManifest: "", + ChildSnapshotList: nil, + ReplaySupported: types.NewBool(false), + }, + }, + ReplaySupported: types.NewBool(false), + }, + { + DynamicData: types.DynamicData{}, + Snapshot: types.ManagedObjectReference{Type: "VirtualMachineSnapshot", Value: "2-snapshot-6"}, + Vm: types.ManagedObjectReference{Type: "VirtualMachine", Value: "2"}, + Name: "better", + Description: "", + Id: 6, + CreateTime: time.Now(), + State: "poweredOn", + Quiesced: false, + BackupManifest: "", + ChildSnapshotList: []types.VirtualMachineSnapshotTree{ + { + DynamicData: types.DynamicData{}, + Snapshot: types.ManagedObjectReference{Type: "VirtualMachineSnapshot", Value: "2-snapshot-7"}, + Vm: types.ManagedObjectReference{Type: "VirtualMachine", Value: "2"}, + Name: "best", + Description: "", + Id: 7, + CreateTime: time.Now(), + State: "poweredOn", + Quiesced: false, + BackupManifest: "", + ChildSnapshotList: []types.VirtualMachineSnapshotTree{ + { + DynamicData: types.DynamicData{}, + Snapshot: types.ManagedObjectReference{Type: "VirtualMachineSnapshot", Value: "2-snapshot-8"}, + Vm: types.ManagedObjectReference{Type: "VirtualMachine", Value: "2"}, + Name: "betterer", + Description: "", + Id: 8, + CreateTime: time.Now(), + State: "poweredOn", + Quiesced: false, + BackupManifest: "", + ChildSnapshotList: nil, + ReplaySupported: types.NewBool(false), + }, + }, + ReplaySupported: types.NewBool(false), + }, + }, + ReplaySupported: types.NewBool(false), + }, + }, + ReplaySupported: types.NewBool(false), + }, + }, +} + +func TestVirtualMachineSnapshotMap(t *testing.T) { + m := make(snapshotMap) + m.add("", snapshot.RootSnapshotList) + + tests := []struct { + name string + expect int + }{ + {"enoent", 0}, + {"root", 1}, + {"child", 3}, + {"root/child", 2}, + {"root/voodoo/child", 1}, + {"2-snapshot-6", 1}, + } + + for _, test := range tests { + s := m[test.name] + + if len(s) != test.expect { + t.Errorf("%s: %d != %d", test.name, len(s), test.expect) + } + } +} diff --git a/vendor/github.com/vmware/govmomi/property/filter.go b/vendor/github.com/vmware/govmomi/property/filter.go index 8284b0c7d..a4bf16d05 100644 --- a/vendor/github.com/vmware/govmomi/property/filter.go +++ b/vendor/github.com/vmware/govmomi/property/filter.go @@ -122,7 +122,7 @@ func (f Filter) MatchPropertyList(props []types.DynamicProperty) bool { } } - return true + 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 the Filter. diff --git a/vendor/github.com/vmware/govmomi/property/filter_test.go b/vendor/github.com/vmware/govmomi/property/filter_test.go new file mode 100644 index 000000000..c545e0d82 --- /dev/null +++ b/vendor/github.com/vmware/govmomi/property/filter_test.go @@ -0,0 +1,60 @@ +/* +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 ( + "testing" + + "github.com/vmware/govmomi/vim25/types" +) + +func TestMatchProperty(t *testing.T) { + tests := []struct { + key string + val types.AnyType + pass types.AnyType + fail types.AnyType + }{ + {"string", "bar", "bar", "foo"}, + {"match", "foo.bar", "foo.*", "foobarbaz"}, + {"moref", types.ManagedObjectReference{Type: "HostSystem", Value: "foo"}, "HostSystem:foo", "bar"}, // implements fmt.Stringer + {"morefm", types.ManagedObjectReference{Type: "HostSystem", Value: "foo"}, "*foo", "bar"}, + {"morefs", types.ArrayOfManagedObjectReference{ManagedObjectReference: []types.ManagedObjectReference{{Type: "HostSystem", Value: "foo"}}}, "*foo", "bar"}, + {"enum", types.VirtualMachinePowerStatePoweredOn, "poweredOn", "poweredOff"}, + {"int16", int32(16), int32(16), int32(42)}, + {"int32", int32(32), int32(32), int32(42)}, + {"int32s", int32(32), "32", "42"}, + {"int64", int64(64), int64(64), int64(42)}, + {"int64s", int64(64), "64", "42"}, + {"float32", float32(32.32), float32(32.32), float32(42.0)}, + {"float32s", float32(32.32), "32.32", "42.0"}, + {"float64", float64(64.64), float64(64.64), float64(42.0)}, + {"float64s", float64(64.64), "64.64", "42.0"}, + } + + for _, test := range tests { + p := types.DynamicProperty{Name: test.key, Val: test.val} + + for match, value := range map[bool]types.AnyType{true: test.pass, false: test.fail} { + result := Filter{test.key: value}.MatchProperty(p) + + if result != match { + t.Errorf("%s: %t", test.key, result) + } + } + } +} diff --git a/vendor/github.com/vmware/govmomi/session/manager.go b/vendor/github.com/vmware/govmomi/session/manager.go index 3cbfa9384..ad3219716 100644 --- a/vendor/github.com/vmware/govmomi/session/manager.go +++ b/vendor/github.com/vmware/govmomi/session/manager.go @@ -18,6 +18,7 @@ package session import ( "context" + "net/http" "net/url" "os" @@ -89,14 +90,51 @@ func (sm *Manager) Login(ctx context.Context, u *url.Userinfo) error { return nil } -func (sm *Manager) LoginExtensionByCertificate(ctx context.Context, key string, locale string) error { +// 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.Transport.(*http.Transport).TLSClientConfig.InsecureSkipVerify = true + } + req := types.LoginExtensionByCertificate{ This: sm.Reference(), ExtensionKey: key, - Locale: locale, + 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.LoginExtensionByCertificate(ctx, sm.client, &req) + login, err := methods.LoginByToken(ctx, sm.client, &req) if err != nil { return err } diff --git a/vendor/github.com/vmware/govmomi/vim25/client.go b/vendor/github.com/vmware/govmomi/vim25/client.go index 1289f33ef..1d26fb8b6 100644 --- a/vendor/github.com/vmware/govmomi/vim25/client.go +++ b/vendor/github.com/vmware/govmomi/vim25/client.go @@ -19,12 +19,26 @@ package vim25 import ( "context" "encoding/json" + "strings" "github.com/vmware/govmomi/vim25/methods" "github.com/vmware/govmomi/vim25/soap" "github.com/vmware/govmomi/vim25/types" ) +const ( + Namespace = "vim25" + Version = "6.7" + 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 @@ -43,19 +57,28 @@ type Client struct { // NewClient creates and returns a new client wirh the ServiceContent field // filled in. func NewClient(ctx context.Context, rt soap.RoundTripper) (*Client, error) { - serviceContent, err := methods.GetServiceContent(ctx, rt) - if err != nil { - return nil, err - } - c := Client{ - ServiceContent: serviceContent, - RoundTripper: rt, + 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.Index(c.Namespace, ":") < 0 { + 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 diff --git a/vendor/github.com/vmware/govmomi/vim25/client_test.go b/vendor/github.com/vmware/govmomi/vim25/client_test.go new file mode 100644 index 000000000..46a83abc0 --- /dev/null +++ b/vendor/github.com/vmware/govmomi/vim25/client_test.go @@ -0,0 +1,97 @@ +/* +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" + "encoding/json" + "net/url" + "os" + "testing" + + "github.com/vmware/govmomi/vim25/methods" + "github.com/vmware/govmomi/vim25/mo" + "github.com/vmware/govmomi/vim25/soap" + "github.com/vmware/govmomi/vim25/types" +) + +// Duplicated to prevent cyclic dependency... +func testURL(t *testing.T) *url.URL { + s := os.Getenv("GOVMOMI_TEST_URL") + if s == "" { + t.SkipNow() + } + u, err := soap.ParseURL(s) + if err != nil { + panic(err) + } + return u +} + +func sessionLogin(t *testing.T, c *Client) { + req := types.Login{ + This: *c.ServiceContent.SessionManager, + } + + u := testURL(t).User + req.UserName = u.Username() + if pw, ok := u.Password(); ok { + req.Password = pw + } + + _, err := methods.Login(context.Background(), c, &req) + if err != nil { + t.Fatal(err) + } +} + +func sessionCheck(t *testing.T, c *Client) { + var mgr mo.SessionManager + + err := mo.RetrieveProperties(context.Background(), c, c.ServiceContent.PropertyCollector, *c.ServiceContent.SessionManager, &mgr) + if err != nil { + t.Fatal(err) + } +} + +func TestClientSerialization(t *testing.T) { + var c1, c2 *Client + + soapClient := soap.NewClient(testURL(t), true) + c1, err := NewClient(context.Background(), soapClient) + if err != nil { + t.Fatal(err) + } + + // Login + sessionLogin(t, c1) + sessionCheck(t, c1) + + // Serialize/deserialize + b, err := json.Marshal(c1) + if err != nil { + t.Fatal(err) + } + c2 = &Client{} + err = json.Unmarshal(b, c2) + if err != nil { + t.Fatal(err) + } + + // Check the session is still valid + sessionCheck(t, c2) +} diff --git a/vendor/github.com/vmware/govmomi/vim25/methods/methods.go b/vendor/github.com/vmware/govmomi/vim25/methods/methods.go index 0895a81c6..c3ad23eef 100644 --- a/vendor/github.com/vmware/govmomi/vim25/methods/methods.go +++ b/vendor/github.com/vmware/govmomi/vim25/methods/methods.go @@ -1,5 +1,5 @@ /* -Copyright (c) 2014-2017 VMware, Inc. All Rights Reserved. +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. @@ -683,6 +683,26 @@ func ApplyEntitiesConfig_Task(ctx context.Context, r soap.RoundTripper, req *typ return resBody.Res, nil } +type ApplyEvcModeVM_TaskBody struct { + Req *types.ApplyEvcModeVM_Task `xml:"urn:vim25 ApplyEvcModeVM_Task,omitempty"` + Res *types.ApplyEvcModeVM_TaskResponse `xml:"urn:vim25 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:"urn:vim25 ApplyHostConfig_TaskResponse,omitempty"` @@ -1243,6 +1263,26 @@ func ChangeFileAttributesInGuest(ctx context.Context, r soap.RoundTripper, req * return resBody.Res, nil } +type ChangeKey_TaskBody struct { + Req *types.ChangeKey_Task `xml:"urn:vim25 ChangeKey_Task,omitempty"` + Res *types.ChangeKey_TaskResponse `xml:"urn:vim25 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:"urn:vim25 ChangeLockdownModeResponse,omitempty"` @@ -1343,6 +1383,26 @@ func CheckAnswerFileStatus_Task(ctx context.Context, r soap.RoundTripper, req *t return resBody.Res, nil } +type CheckClone_TaskBody struct { + Req *types.CheckClone_Task `xml:"urn:vim25 CheckClone_Task,omitempty"` + Res *types.CheckClone_TaskResponse `xml:"urn:vim25 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:"urn:vim25 CheckCompatibility_TaskResponse,omitempty"` @@ -1483,6 +1543,26 @@ func CheckHostPatch_Task(ctx context.Context, r soap.RoundTripper, req *types.Ch return resBody.Res, nil } +type CheckInstantClone_TaskBody struct { + Req *types.CheckInstantClone_Task `xml:"urn:vim25 CheckInstantClone_Task,omitempty"` + Res *types.CheckInstantClone_TaskResponse `xml:"urn:vim25 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:"urn:vim25 CheckLicenseFeatureResponse,omitempty"` @@ -1523,6 +1603,26 @@ func CheckMigrate_Task(ctx context.Context, r soap.RoundTripper, req *types.Chec return resBody.Res, nil } +type CheckPowerOn_TaskBody struct { + Req *types.CheckPowerOn_Task `xml:"urn:vim25 CheckPowerOn_Task,omitempty"` + Res *types.CheckPowerOn_TaskResponse `xml:"urn:vim25 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:"urn:vim25 CheckProfileCompliance_TaskResponse,omitempty"` @@ -1563,6 +1663,26 @@ func CheckRelocate_Task(ctx context.Context, r soap.RoundTripper, req *types.Che return resBody.Res, nil } +type CheckVmConfig_TaskBody struct { + Req *types.CheckVmConfig_Task `xml:"urn:vim25 CheckVmConfig_Task,omitempty"` + Res *types.CheckVmConfig_TaskResponse `xml:"urn:vim25 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:"urn:vim25 ClearComplianceStatusResponse,omitempty"` @@ -1623,6 +1743,46 @@ func ClearSystemEventLog(ctx context.Context, r soap.RoundTripper, req *types.Cl return resBody.Res, nil } +type ClearTriggeredAlarmsBody struct { + Req *types.ClearTriggeredAlarms `xml:"urn:vim25 ClearTriggeredAlarms,omitempty"` + Res *types.ClearTriggeredAlarmsResponse `xml:"urn:vim25 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:"urn:vim25 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:"urn:vim25 CloneSessionResponse,omitempty"` @@ -1743,6 +1903,26 @@ func ClusterEnterMaintenanceMode(ctx context.Context, r soap.RoundTripper, req * return resBody.Res, nil } +type CompositeHostProfile_TaskBody struct { + Req *types.CompositeHostProfile_Task `xml:"urn:vim25 CompositeHostProfile_Task,omitempty"` + Res *types.CompositeHostProfile_TaskResponse `xml:"urn:vim25 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:"urn:vim25 ComputeDiskPartitionInfoResponse,omitempty"` @@ -2363,6 +2543,26 @@ func CreateDirectory(ctx context.Context, r soap.RoundTripper, req *types.Create return resBody.Res, nil } +type CreateDiskFromSnapshot_TaskBody struct { + Req *types.CreateDiskFromSnapshot_Task `xml:"urn:vim25 CreateDiskFromSnapshot_Task,omitempty"` + Res *types.CreateDiskFromSnapshot_TaskResponse `xml:"urn:vim25 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:"urn:vim25 CreateDisk_TaskResponse,omitempty"` @@ -2583,6 +2783,26 @@ func CreateNasDatastore(ctx context.Context, r soap.RoundTripper, req *types.Cre return resBody.Res, nil } +type CreateNvdimmNamespace_TaskBody struct { + Req *types.CreateNvdimmNamespace_Task `xml:"urn:vim25 CreateNvdimmNamespace_Task,omitempty"` + Res *types.CreateNvdimmNamespace_TaskResponse `xml:"urn:vim25 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 CreateObjectScheduledTaskBody struct { Req *types.CreateObjectScheduledTask `xml:"urn:vim25 CreateObjectScheduledTask,omitempty"` Res *types.CreateObjectScheduledTaskResponse `xml:"urn:vim25 CreateObjectScheduledTaskResponse,omitempty"` @@ -3023,6 +3243,66 @@ func CreateVvolDatastore(ctx context.Context, r soap.RoundTripper, req *types.Cr return resBody.Res, nil } +type CryptoManagerHostEnableBody struct { + Req *types.CryptoManagerHostEnable `xml:"urn:vim25 CryptoManagerHostEnable,omitempty"` + Res *types.CryptoManagerHostEnableResponse `xml:"urn:vim25 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:"urn:vim25 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:"urn:vim25 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:"urn:vim25 CurrentTimeResponse,omitempty"` @@ -3443,6 +3723,46 @@ func DeleteHostSubSpecification(ctx context.Context, r soap.RoundTripper, req *t return resBody.Res, nil } +type DeleteNvdimmBlockNamespaces_TaskBody struct { + Req *types.DeleteNvdimmBlockNamespaces_Task `xml:"urn:vim25 DeleteNvdimmBlockNamespaces_Task,omitempty"` + Res *types.DeleteNvdimmBlockNamespaces_TaskResponse `xml:"urn:vim25 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:"urn:vim25 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:"urn:vim25 DeleteRegistryKeyInGuestResponse,omitempty"` @@ -3503,6 +3823,26 @@ func DeleteScsiLunState(ctx context.Context, r soap.RoundTripper, req *types.Del return resBody.Res, nil } +type DeleteSnapshot_TaskBody struct { + Req *types.DeleteSnapshot_Task `xml:"urn:vim25 DeleteSnapshot_Task,omitempty"` + Res *types.DeleteSnapshot_TaskResponse `xml:"urn:vim25 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 DeleteVStorageObject_TaskBody struct { Req *types.DeleteVStorageObject_Task `xml:"urn:vim25 DeleteVStorageObject_Task,omitempty"` Res *types.DeleteVStorageObject_TaskResponse `xml:"urn:vim25 DeleteVStorageObject_TaskResponse,omitempty"` @@ -5643,6 +5983,26 @@ func HasUserPrivilegeOnEntities(ctx context.Context, r soap.RoundTripper, req *t return resBody.Res, nil } +type HostClearVStorageObjectControlFlagsBody struct { + Req *types.HostClearVStorageObjectControlFlags `xml:"urn:vim25 HostClearVStorageObjectControlFlags,omitempty"` + Res *types.HostClearVStorageObjectControlFlagsResponse `xml:"urn:vim25 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:"urn:vim25 HostCloneVStorageObject_TaskResponse,omitempty"` @@ -5863,10 +6223,30 @@ func HostListVStorageObject(ctx context.Context, r soap.RoundTripper, req *types return resBody.Res, nil } -type HostReconcileDatastoreInventory_TaskBody struct { - Req *types.HostReconcileDatastoreInventory_Task `xml:"urn:vim25 HostReconcileDatastoreInventory_Task,omitempty"` - Res *types.HostReconcileDatastoreInventory_TaskResponse `xml:"urn:vim25 HostReconcileDatastoreInventory_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` +type HostProfileResetValidationStateBody struct { + Req *types.HostProfileResetValidationState `xml:"urn:vim25 HostProfileResetValidationState,omitempty"` + Res *types.HostProfileResetValidationStateResponse `xml:"urn:vim25 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:"urn:vim25 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_ } @@ -5963,6 +6343,26 @@ func HostRenameVStorageObject(ctx context.Context, r soap.RoundTripper, req *typ return resBody.Res, nil } +type HostRetrieveVStorageInfrastructureObjectPolicyBody struct { + Req *types.HostRetrieveVStorageInfrastructureObjectPolicy `xml:"urn:vim25 HostRetrieveVStorageInfrastructureObjectPolicy,omitempty"` + Res *types.HostRetrieveVStorageInfrastructureObjectPolicyResponse `xml:"urn:vim25 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:"urn:vim25 HostRetrieveVStorageObjectResponse,omitempty"` @@ -6023,6 +6423,26 @@ func HostScheduleReconcileDatastoreInventory(ctx context.Context, r soap.RoundTr return resBody.Res, nil } +type HostSetVStorageObjectControlFlagsBody struct { + Req *types.HostSetVStorageObjectControlFlags `xml:"urn:vim25 HostSetVStorageObjectControlFlags,omitempty"` + Res *types.HostSetVStorageObjectControlFlagsResponse `xml:"urn:vim25 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:"urn:vim25 HostSpecGetUpdatedHostsResponse,omitempty"` @@ -6043,6 +6463,106 @@ func HostSpecGetUpdatedHosts(ctx context.Context, r soap.RoundTripper, req *type return resBody.Res, nil } +type HostVStorageObjectCreateDiskFromSnapshot_TaskBody struct { + Req *types.HostVStorageObjectCreateDiskFromSnapshot_Task `xml:"urn:vim25 HostVStorageObjectCreateDiskFromSnapshot_Task,omitempty"` + Res *types.HostVStorageObjectCreateDiskFromSnapshot_TaskResponse `xml:"urn:vim25 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:"urn:vim25 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:"urn:vim25 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:"urn:vim25 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:"urn:vim25 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:"urn:vim25 HttpNfcLeaseAbortResponse,omitempty"` @@ -6123,6 +6643,46 @@ func HttpNfcLeaseProgress(ctx context.Context, r soap.RoundTripper, req *types.H return resBody.Res, nil } +type HttpNfcLeasePullFromUrls_TaskBody struct { + Req *types.HttpNfcLeasePullFromUrls_Task `xml:"urn:vim25 HttpNfcLeasePullFromUrls_Task,omitempty"` + Res *types.HttpNfcLeasePullFromUrls_TaskResponse `xml:"urn:vim25 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:"urn:vim25 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:"urn:vim25 ImpersonateUserResponse,omitempty"` @@ -6403,6 +6963,26 @@ func InstallSmartCardTrustAnchor(ctx context.Context, r soap.RoundTripper, req * return resBody.Res, nil } +type InstantClone_TaskBody struct { + Req *types.InstantClone_Task `xml:"urn:vim25 InstantClone_Task,omitempty"` + Res *types.InstantClone_TaskResponse `xml:"urn:vim25 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 IsSharedGraphicsActiveBody struct { Req *types.IsSharedGraphicsActive `xml:"urn:vim25 IsSharedGraphicsActive,omitempty"` Res *types.IsSharedGraphicsActiveResponse `xml:"urn:vim25 IsSharedGraphicsActiveResponse,omitempty"` @@ -10923,6 +11503,26 @@ func RefreshStorageDrsRecommendation(ctx context.Context, r soap.RoundTripper, r return resBody.Res, nil } +type RefreshStorageDrsRecommendationsForPod_TaskBody struct { + Req *types.RefreshStorageDrsRecommendationsForPod_Task `xml:"urn:vim25 RefreshStorageDrsRecommendationsForPod_Task,omitempty"` + Res *types.RefreshStorageDrsRecommendationsForPod_TaskResponse `xml:"urn:vim25 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:"urn:vim25 RefreshStorageInfoResponse,omitempty"` @@ -12963,6 +13563,26 @@ func RetrieveServiceContent(ctx context.Context, r soap.RoundTripper, req *types return resBody.Res, nil } +type RetrieveSnapshotInfoBody struct { + Req *types.RetrieveSnapshotInfo `xml:"urn:vim25 RetrieveSnapshotInfo,omitempty"` + Res *types.RetrieveSnapshotInfoResponse `xml:"urn:vim25 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:"urn:vim25 RetrieveUserGroupsResponse,omitempty"` @@ -12983,6 +13603,26 @@ func RetrieveUserGroups(ctx context.Context, r soap.RoundTripper, req *types.Ret return resBody.Res, nil } +type RetrieveVStorageInfrastructureObjectPolicyBody struct { + Req *types.RetrieveVStorageInfrastructureObjectPolicy `xml:"urn:vim25 RetrieveVStorageInfrastructureObjectPolicy,omitempty"` + Res *types.RetrieveVStorageInfrastructureObjectPolicyResponse `xml:"urn:vim25 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:"urn:vim25 RetrieveVStorageObjectResponse,omitempty"` @@ -13003,6 +13643,26 @@ func RetrieveVStorageObject(ctx context.Context, r soap.RoundTripper, req *types return resBody.Res, nil } +type RetrieveVStorageObjectAssociationsBody struct { + Req *types.RetrieveVStorageObjectAssociations `xml:"urn:vim25 RetrieveVStorageObjectAssociations,omitempty"` + Res *types.RetrieveVStorageObjectAssociationsResponse `xml:"urn:vim25 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:"urn:vim25 RetrieveVStorageObjectStateResponse,omitempty"` @@ -13063,6 +13723,26 @@ func RevertToSnapshot_Task(ctx context.Context, r soap.RoundTripper, req *types. return resBody.Res, nil } +type RevertVStorageObject_TaskBody struct { + Req *types.RevertVStorageObject_Task `xml:"urn:vim25 RevertVStorageObject_Task,omitempty"` + Res *types.RevertVStorageObject_TaskResponse `xml:"urn:vim25 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:"urn:vim25 RewindCollectorResponse,omitempty"` @@ -13623,6 +14303,26 @@ func SetTaskState(ctx context.Context, r soap.RoundTripper, req *types.SetTaskSt return resBody.Res, nil } +type SetVStorageObjectControlFlagsBody struct { + Req *types.SetVStorageObjectControlFlags `xml:"urn:vim25 SetVStorageObjectControlFlags,omitempty"` + Res *types.SetVStorageObjectControlFlagsResponse `xml:"urn:vim25 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:"urn:vim25 SetVirtualDiskUuidResponse,omitempty"` @@ -15723,16 +16423,16 @@ func UpdateVAppConfig(ctx context.Context, r soap.RoundTripper, req *types.Updat return resBody.Res, nil } -type UpdateVVolVirtualMachineFiles_TaskBody struct { - Req *types.UpdateVVolVirtualMachineFiles_Task `xml:"urn:vim25 UpdateVVolVirtualMachineFiles_Task,omitempty"` - Res *types.UpdateVVolVirtualMachineFiles_TaskResponse `xml:"urn:vim25 UpdateVVolVirtualMachineFiles_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` +type UpdateVStorageInfrastructureObjectPolicy_TaskBody struct { + Req *types.UpdateVStorageInfrastructureObjectPolicy_Task `xml:"urn:vim25 UpdateVStorageInfrastructureObjectPolicy_Task,omitempty"` + Res *types.UpdateVStorageInfrastructureObjectPolicy_TaskResponse `xml:"urn:vim25 UpdateVStorageInfrastructureObjectPolicy_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 (b *UpdateVStorageInfrastructureObjectPolicy_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 +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 @@ -15743,16 +16443,16 @@ func UpdateVVolVirtualMachineFiles_Task(ctx context.Context, r soap.RoundTripper return resBody.Res, nil } -type UpdateVirtualMachineFiles_TaskBody struct { - Req *types.UpdateVirtualMachineFiles_Task `xml:"urn:vim25 UpdateVirtualMachineFiles_Task,omitempty"` - Res *types.UpdateVirtualMachineFiles_TaskResponse `xml:"urn:vim25 UpdateVirtualMachineFiles_TaskResponse,omitempty"` - Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` +type UpdateVStorageObjectPolicy_TaskBody struct { + Req *types.UpdateVStorageObjectPolicy_Task `xml:"urn:vim25 UpdateVStorageObjectPolicy_Task,omitempty"` + Res *types.UpdateVStorageObjectPolicy_TaskResponse `xml:"urn:vim25 UpdateVStorageObjectPolicy_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 (b *UpdateVStorageObjectPolicy_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 +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 @@ -15763,8 +16463,48 @@ func UpdateVirtualMachineFiles_Task(ctx context.Context, r soap.RoundTripper, re return resBody.Res, nil } -type UpdateVirtualNicBody struct { - Req *types.UpdateVirtualNic `xml:"urn:vim25 UpdateVirtualNic,omitempty"` +type UpdateVVolVirtualMachineFiles_TaskBody struct { + Req *types.UpdateVVolVirtualMachineFiles_Task `xml:"urn:vim25 UpdateVVolVirtualMachineFiles_Task,omitempty"` + Res *types.UpdateVVolVirtualMachineFiles_TaskResponse `xml:"urn:vim25 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:"urn:vim25 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:"urn:vim25 UpdateVirtualNicResponse,omitempty"` Fault_ *soap.Fault `xml:"http://schemas.xmlsoap.org/soap/envelope/ Fault,omitempty"` } @@ -15803,6 +16543,26 @@ func UpdateVirtualSwitch(ctx context.Context, r soap.RoundTripper, req *types.Up return resBody.Res, nil } +type UpdateVmfsUnmapBandwidthBody struct { + Req *types.UpdateVmfsUnmapBandwidth `xml:"urn:vim25 UpdateVmfsUnmapBandwidth,omitempty"` + Res *types.UpdateVmfsUnmapBandwidthResponse `xml:"urn:vim25 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:"urn:vim25 UpdateVmfsUnmapPriorityResponse,omitempty"` @@ -16003,6 +16763,26 @@ func UploadKmipServerCert(ctx context.Context, r soap.RoundTripper, req *types.U return resBody.Res, nil } +type VStorageObjectCreateSnapshot_TaskBody struct { + Req *types.VStorageObjectCreateSnapshot_Task `xml:"urn:vim25 VStorageObjectCreateSnapshot_Task,omitempty"` + Res *types.VStorageObjectCreateSnapshot_TaskResponse `xml:"urn:vim25 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:"urn:vim25 ValidateCredentialsInGuestResponse,omitempty"` @@ -16043,6 +16823,26 @@ func ValidateHost(ctx context.Context, r soap.RoundTripper, req *types.ValidateH return resBody.Res, nil } +type ValidateHostProfileComposition_TaskBody struct { + Req *types.ValidateHostProfileComposition_Task `xml:"urn:vim25 ValidateHostProfileComposition_Task,omitempty"` + Res *types.ValidateHostProfileComposition_TaskResponse `xml:"urn:vim25 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:"urn:vim25 ValidateMigrationResponse,omitempty"` @@ -16063,6 +16863,26 @@ func ValidateMigration(ctx context.Context, r soap.RoundTripper, req *types.Vali return resBody.Res, nil } +type ValidateStoragePodConfigBody struct { + Req *types.ValidateStoragePodConfig `xml:"urn:vim25 ValidateStoragePodConfig,omitempty"` + Res *types.ValidateStoragePodConfigResponse `xml:"urn:vim25 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 WaitForUpdatesBody struct { Req *types.WaitForUpdates `xml:"urn:vim25 WaitForUpdates,omitempty"` Res *types.WaitForUpdatesResponse `xml:"urn:vim25 WaitForUpdatesResponse,omitempty"` @@ -16142,3 +16962,323 @@ func ZeroFillVirtualDisk_Task(ctx context.Context, r soap.RoundTripper, req *typ return resBody.Res, nil } + +type ConfigureVcha_TaskBody struct { + Req *types.ConfigureVcha_Task `xml:"urn:vim25 configureVcha_Task,omitempty"` + Res *types.ConfigureVcha_TaskResponse `xml:"urn:vim25 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:"urn:vim25 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:"urn:vim25 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:"urn:vim25 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:"urn:vim25 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:"urn:vim25 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:"urn:vim25 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:"urn:vim25 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:"urn:vim25 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:"urn:vim25 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:"urn:vim25 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:"urn:vim25 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:"urn:vim25 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:"urn:vim25 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:"urn:vim25 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:"urn:vim25 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 index 634fbfbd9..401646598 100644 --- a/vendor/github.com/vmware/govmomi/vim25/methods/service_content.go +++ b/vendor/github.com/vmware/govmomi/vim25/methods/service_content.go @@ -24,14 +24,15 @@ import ( "github.com/vmware/govmomi/vim25/types" ) -var ServiceInstance = types.ManagedObjectReference{ +// 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, + This: serviceInstance, } res, err := RetrieveServiceContent(ctx, r, &req) @@ -44,7 +45,7 @@ func GetServiceContent(ctx context.Context, r soap.RoundTripper) (types.ServiceC func GetCurrentTime(ctx context.Context, r soap.RoundTripper) (*time.Time, error) { req := types.CurrentTime{ - This: ServiceInstance, + This: serviceInstance, } res, err := CurrentTime(ctx, r, &req) diff --git a/vendor/github.com/vmware/govmomi/vim25/mo/mo.go b/vendor/github.com/vmware/govmomi/vim25/mo/mo.go index ede6e44d7..4f19988e3 100644 --- a/vendor/github.com/vmware/govmomi/vim25/mo/mo.go +++ b/vendor/github.com/vmware/govmomi/vim25/mo/mo.go @@ -1,5 +1,5 @@ /* -Copyright (c) 2014-2017 VMware, Inc. All Rights Reserved. +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. @@ -164,6 +164,22 @@ 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 @@ -759,9 +775,10 @@ func init() { type HostGraphicsManager struct { ExtensibleManagedObject - GraphicsInfo []types.HostGraphicsInfo `mo:"graphicsInfo"` - GraphicsConfig *types.HostGraphicsConfig `mo:"graphicsConfig"` - SharedPassthruGpuTypes []string `mo:"sharedPassthruGpuTypes"` + GraphicsInfo []types.HostGraphicsInfo `mo:"graphicsInfo"` + GraphicsConfig *types.HostGraphicsConfig `mo:"graphicsConfig"` + SharedPassthruGpuTypes []string `mo:"sharedPassthruGpuTypes"` + SharedGpuCapabilities []types.HostSharedGpuCapabilities `mo:"sharedGpuCapabilities"` } func init() { @@ -853,6 +870,20 @@ 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 } @@ -894,7 +925,10 @@ func init() { type HostProfile struct { Profile - ReferenceHost *types.ManagedObjectReference `mo:"referenceHost"` + ValidationState *string `mo:"validationState"` + ValidationStateUpdateTime *time.Time `mo:"validationStateUpdateTime"` + ValidationFailureInfo *types.HostProfileValidationFailureInfo `mo:"validationFailureInfo"` + ReferenceHost *types.ManagedObjectReference `mo:"referenceHost"` } func init() { @@ -962,18 +996,25 @@ func init() { 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"` - 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"` + 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 { @@ -1056,10 +1097,13 @@ func init() { type HttpNfcLease struct { Self types.ManagedObjectReference - InitializeProgress int32 `mo:"initializeProgress"` - Info *types.HttpNfcLeaseInfo `mo:"info"` - State types.HttpNfcLeaseState `mo:"state"` - Error *types.LocalizedMethodFault `mo:"error"` + 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 { diff --git a/vendor/github.com/vmware/govmomi/vim25/mo/retrieve_test.go b/vendor/github.com/vmware/govmomi/vim25/mo/retrieve_test.go new file mode 100644 index 000000000..5d6e011df --- /dev/null +++ b/vendor/github.com/vmware/govmomi/vim25/mo/retrieve_test.go @@ -0,0 +1,144 @@ +/* +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 ( + "os" + "testing" + + "github.com/vmware/govmomi/vim25/soap" + "github.com/vmware/govmomi/vim25/types" + "github.com/vmware/govmomi/vim25/xml" +) + +func load(name string) *types.RetrievePropertiesResponse { + f, err := os.Open(name) + if err != nil { + panic(err) + } + + defer f.Close() + + var b types.RetrievePropertiesResponse + + dec := xml.NewDecoder(f) + dec.TypeFunc = types.TypeFunc() + if err := dec.Decode(&b); err != nil { + panic(err) + } + + return &b +} + +func TestNotAuthenticatedFault(t *testing.T) { + var s SessionManager + + err := LoadRetrievePropertiesResponse(load("fixtures/not_authenticated_fault.xml"), &s) + if !soap.IsVimFault(err) { + t.Errorf("Expected IsVimFault") + } + + fault := soap.ToVimFault(err).(*types.NotAuthenticated) + if fault.PrivilegeId != "System.View" { + t.Errorf("Expected first fault to be returned") + } +} + +func TestNestedProperty(t *testing.T) { + var vm VirtualMachine + + err := LoadRetrievePropertiesResponse(load("fixtures/nested_property.xml"), &vm) + if err != nil { + t.Fatalf("Expected no error, got: %s", err) + } + + self := types.ManagedObjectReference{ + Type: "VirtualMachine", + Value: "vm-411", + } + + if vm.Self != self { + t.Fatalf("Expected vm.Self to be set") + } + + if vm.Config == nil { + t.Fatalf("Expected vm.Config to be set") + } + + if vm.Config.Name != "kubernetes-master" { + t.Errorf("Got: %s", vm.Config.Name) + } + + if vm.Config.Uuid != "422ec880-ab06-06b4-23f3-beb7a052a4c9" { + t.Errorf("Got: %s", vm.Config.Uuid) + } +} + +func TestPointerProperty(t *testing.T) { + var vm VirtualMachine + + err := LoadRetrievePropertiesResponse(load("fixtures/pointer_property.xml"), &vm) + if err != nil { + t.Fatalf("Expected no error, got: %s", err) + } + + if vm.Config == nil { + t.Fatalf("Expected vm.Config to be set") + } + + if vm.Config.BootOptions == nil { + t.Fatalf("Expected vm.Config.BootOptions to be set") + } +} + +func TestEmbeddedTypeProperty(t *testing.T) { + // Test that we avoid in this case: + // panic: reflect.Set: value of type mo.ClusterComputeResource is not assignable to type mo.ComputeResource + var cr ComputeResource + + err := LoadRetrievePropertiesResponse(load("fixtures/cluster_host_property.xml"), &cr) + if err != nil { + t.Fatalf("Expected no error, got: %s", err) + } + + if len(cr.Host) != 4 { + t.Fatalf("Expected cr.Host to be set") + } +} + +func TestEmbeddedTypePropertySlice(t *testing.T) { + var me []ManagedEntity + + err := LoadRetrievePropertiesResponse(load("fixtures/hostsystem_list_name_property.xml"), &me) + if err != nil { + t.Fatalf("Expected no error, got: %s", err) + } + + if len(me) != 2 { + t.Fatalf("Expected 2 elements") + } + + for _, m := range me { + if m.Name == "" { + t.Fatal("Expected Name field to be set") + } + } + + if me[0].Name == me[1].Name { + t.Fatal("Name fields should not be the same") + } +} diff --git a/vendor/github.com/vmware/govmomi/vim25/mo/type_info_test.go b/vendor/github.com/vmware/govmomi/vim25/mo/type_info_test.go new file mode 100644 index 000000000..849d9eea4 --- /dev/null +++ b/vendor/github.com/vmware/govmomi/vim25/mo/type_info_test.go @@ -0,0 +1,37 @@ +/* +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" + "testing" +) + +func TestLoadAll(*testing.T) { + for _, typ := range t { + newTypeInfo(typ) + } +} + +// The virtual machine managed object has about 500 nested properties. +// It's likely to be indicative of the function's performance in general. +func BenchmarkLoadVirtualMachine(b *testing.B) { + vmtyp := reflect.TypeOf((*VirtualMachine)(nil)).Elem() + for i := 0; i < b.N; i++ { + newTypeInfo(vmtyp) + } +} diff --git a/vendor/github.com/vmware/govmomi/vim25/progress/reader.go b/vendor/github.com/vmware/govmomi/vim25/progress/reader.go index ba8867508..9d67bc652 100644 --- a/vendor/github.com/vmware/govmomi/vim25/progress/reader.go +++ b/vendor/github.com/vmware/govmomi/vim25/progress/reader.go @@ -100,11 +100,12 @@ func NewReader(ctx context.Context, s Sinker, r io.Reader, size int64) *reader { // underlying channel. func (r *reader) Read(b []byte) (int, error) { n, err := r.r.Read(b) - if err != nil { + r.pos += int64(n) + + if err != nil && err != io.EOF { return n, err } - r.pos += int64(n) q := readerReport{ t: time.Now(), pos: r.pos, diff --git a/vendor/github.com/vmware/govmomi/vim25/retry_test.go b/vendor/github.com/vmware/govmomi/vim25/retry_test.go new file mode 100644 index 000000000..e6e1c498d --- /dev/null +++ b/vendor/github.com/vmware/govmomi/vim25/retry_test.go @@ -0,0 +1,86 @@ +/* +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" + "testing" + + "github.com/vmware/govmomi/vim25/soap" +) + +type tempError struct{} + +func (tempError) Error() string { return "tempError" } +func (tempError) Timeout() bool { return true } +func (tempError) Temporary() bool { return true } + +type nonTempError struct{} + +func (nonTempError) Error() string { return "nonTempError" } +func (nonTempError) Timeout() bool { return false } +func (nonTempError) Temporary() bool { return false } + +type fakeRoundTripper struct { + errs []error +} + +func (f *fakeRoundTripper) RoundTrip(ctx context.Context, req, res soap.HasFault) error { + err := f.errs[0] + f.errs = f.errs[1:] + return err +} + +func TestRetry(t *testing.T) { + var tcs = []struct { + errs []error + expected error + }{ + { + errs: []error{nil}, + expected: nil, + }, + { + errs: []error{tempError{}, nil}, + expected: nil, + }, + { + errs: []error{tempError{}, tempError{}}, + expected: tempError{}, + }, + { + errs: []error{nonTempError{}}, + expected: nonTempError{}, + }, + { + errs: []error{tempError{}, nonTempError{}}, + expected: nonTempError{}, + }, + } + + for _, tc := range tcs { + var rt soap.RoundTripper + + rt = &fakeRoundTripper{errs: tc.errs} + rt = Retry(rt, TemporaryNetworkError(2)) + + err := rt.RoundTrip(nil, nil, nil) + if err != tc.expected { + t.Errorf("Expected: %s, got: %s", tc.expected, err) + } + } +} diff --git a/vendor/github.com/vmware/govmomi/vim25/soap/client.go b/vendor/github.com/vmware/govmomi/vim25/soap/client.go index 76592493c..d94b6a056 100644 --- a/vendor/github.com/vmware/govmomi/vim25/soap/client.go +++ b/vendor/github.com/vmware/govmomi/vim25/soap/client.go @@ -28,6 +28,7 @@ import ( "fmt" "io" "io/ioutil" + "log" "net" "net/http" "net/http/cookiejar" @@ -53,17 +54,9 @@ type RoundTripper interface { } const ( - DefaultVimNamespace = "urn:vim25" - DefaultVimVersion = "6.5" - DefaultMinVimVersion = "5.5" - SessionCookieName = "vmware_soap_session" + SessionCookieName = "vmware_soap_session" ) -type header struct { - Cookie string `xml:"vcSessionCookie,omitempty"` - ID string `xml:"operationID,omitempty"` -} - type Client struct { http.Client @@ -71,7 +64,6 @@ type Client struct { k bool // Named after curl's -k flag d *debugContainer t *http.Transport - p *url.URL hostsMu sync.Mutex hosts map[string]string @@ -149,20 +141,33 @@ func NewClient(u *url.URL, insecure bool) *Client { c.u = c.URL() c.u.User = nil - c.Namespace = DefaultVimNamespace - c.Version = DefaultVimVersion - return &c } // NewServiceClient creates a NewClient with the given URL.Path and namespace. func (c *Client) NewServiceClient(path string, namespace string) *Client { - u := c.URL() - u.Path = path + 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 + if cert := c.Certificate(); cert != nil { + client.SetCertificate(*cert) + } - client.Namespace = namespace + // 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)) @@ -175,6 +180,9 @@ func (c *Client) NewServiceClient(path string, namespace string) *Client { } } + // Copy any query params (e.g. GOVMOMI_TUNNEL_PROXY_PORT used in testing) + client.u.RawQuery = vc.RawQuery + return client } @@ -346,19 +354,33 @@ func splitHostPort(host string) (string, string) { 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 certificate + // 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, _ := splitHostPort(c.u.Host) - + host := tunnel.u.Hostname() // Should be no reason to change the default port other than testing key := "GOVMOMI_TUNNEL_PROXY_PORT" - port := c.URL().Query().Get(key) + port := tunnel.URL().Query().Get(key) if port == "" { port = os.Getenv(key) } @@ -367,20 +389,14 @@ func (c *Client) SetCertificate(cert tls.Certificate) { host += ":" + port } - c.p = &url.URL{ + t.Proxy = http.ProxyURL(&url.URL{ Scheme: "http", Host: host, - } - t.Proxy = func(r *http.Request) (*url.URL, error) { - // Only sdk requests should be proxied - if r.URL.Path == "/sdk" { - return c.p, nil - } - return http.ProxyFromEnvironment(r) - } + }) // Rewrite url Host to use the sdk tunnel, required for a certificate request. - c.u.Host = sdkTunnel + tunnel.u.Host = sdkTunnel + return tunnel } func (c *Client) URL() *url.URL { @@ -426,21 +442,41 @@ func (c *Client) do(ctx context.Context, req *http.Request) (*http.Response, err return c.Client.Do(req.WithContext(ctx)) } +// 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) +} + 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 := &header{ - Cookie: c.cookie, + 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 } - reqEnv.Header = h + h.Cookie = c.cookie + if h.Cookie != "" || h.ID != "" || h.Security != nil { + reqEnv.Header = &h // XML marshal header only if a field is set + } // Create debugging context for this round trip d := c.d.newRoundTrip() @@ -448,9 +484,16 @@ func (c *Client) RoundTrip(ctx context.Context, reqBody, resBody HasFault) error defer d.done() } - b, err := xml.Marshal(reqEnv) - if err != nil { - panic(err) + 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)) @@ -462,8 +505,13 @@ func (c *Client) RoundTrip(ctx context.Context, reqBody, resBody HasFault) error req = req.WithContext(ctx) req.Header.Set(`Content-Type`, `text/xml; charset="utf-8"`) - soapAction := fmt.Sprintf("%s/%s", c.Namespace, c.Version) - req.Header.Set(`SOAPAction`, soapAction) + + action := h.Action + if action == "" { + action = fmt.Sprintf("%s/%s", c.Namespace, c.Version) + } + req.Header.Set(`SOAPAction`, action) + if c.UserAgent != "" { req.Header.Set(`User-Agent`, c.UserAgent) } diff --git a/vendor/github.com/vmware/govmomi/vim25/soap/soap.go b/vendor/github.com/vmware/govmomi/vim25/soap/soap.go index a8baa0122..a8dc121ba 100644 --- a/vendor/github.com/vmware/govmomi/vim25/soap/soap.go +++ b/vendor/github.com/vmware/govmomi/vim25/soap/soap.go @@ -1,5 +1,5 @@ /* -Copyright (c) 2014 VMware, Inc. All Rights Reserved. +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. @@ -21,9 +21,17 @@ import ( "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 interface{} `xml:",omitempty"` + XMLName xml.Name `xml:"http://schemas.xmlsoap.org/soap/envelope/ Envelope"` + Header *Header `xml:"http://schemas.xmlsoap.org/soap/envelope/ Header,omitempty"` Body interface{} } diff --git a/vendor/github.com/vmware/govmomi/vim25/types/base_test.go b/vendor/github.com/vmware/govmomi/vim25/types/base_test.go new file mode 100644 index 000000000..ab8b1de73 --- /dev/null +++ b/vendor/github.com/vmware/govmomi/vim25/types/base_test.go @@ -0,0 +1,65 @@ +/* +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 ( + "bytes" + "reflect" + "testing" + + "github.com/vmware/govmomi/vim25/xml" +) + +func TestAnyType(t *testing.T) { + x := func(s string) []byte { + s = `` + s + s += `` + return []byte(s) + } + + tests := []struct { + Input []byte + Value interface{} + }{ + { + Input: x(`test`), + Value: "test", + }, + { + Input: x(`AABB`), + Value: ArrayOfString{String: []string{"AA", "BB"}}, + }, + } + + for _, test := range tests { + var r struct { + A interface{} `xml:"name,typeattr"` + } + + dec := xml.NewDecoder(bytes.NewReader(test.Input)) + dec.TypeFunc = TypeFunc() + + err := dec.Decode(&r) + if err != nil { + t.Fatalf("Decode: %s", err) + } + + if !reflect.DeepEqual(r.A, test.Value) { + t.Errorf("Expected: %#v, actual: %#v", r.A, test.Value) + } + } +} diff --git a/vendor/github.com/vmware/govmomi/vim25/types/enum.go b/vendor/github.com/vmware/govmomi/vim25/types/enum.go index 02f7f3cb5..c8c597752 100644 --- a/vendor/github.com/vmware/govmomi/vim25/types/enum.go +++ b/vendor/github.com/vmware/govmomi/vim25/types/enum.go @@ -1,5 +1,5 @@ /* -Copyright (c) 2014-2017 VMware, Inc. All Rights Reserved. +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. @@ -82,6 +82,59 @@ 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 ( @@ -410,6 +463,7 @@ const ( ComplianceResultStatusCompliant = ComplianceResultStatus("compliant") ComplianceResultStatusNonCompliant = ComplianceResultStatus("nonCompliant") ComplianceResultStatusUnknown = ComplianceResultStatus("unknown") + ComplianceResultStatusRunning = ComplianceResultStatus("running") ) func init() { @@ -499,6 +553,17 @@ 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 ( @@ -1079,6 +1144,18 @@ 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 ( @@ -1186,8 +1263,12 @@ func init() { type HostDigestInfoDigestMethodType string const ( - HostDigestInfoDigestMethodTypeSHA1 = HostDigestInfoDigestMethodType("SHA1") - HostDigestInfoDigestMethodTypeMD5 = HostDigestInfoDigestMethodType("MD5") + HostDigestInfoDigestMethodTypeSHA1 = HostDigestInfoDigestMethodType("SHA1") + HostDigestInfoDigestMethodTypeMD5 = HostDigestInfoDigestMethodType("MD5") + HostDigestInfoDigestMethodTypeSHA256 = HostDigestInfoDigestMethodType("SHA256") + HostDigestInfoDigestMethodTypeSHA384 = HostDigestInfoDigestMethodType("SHA384") + HostDigestInfoDigestMethodTypeSHA512 = HostDigestInfoDigestMethodType("SHA512") + HostDigestInfoDigestMethodTypeSM3_256 = HostDigestInfoDigestMethodType("SM3_256") ) func init() { @@ -1261,6 +1342,7 @@ const ( HostFileSystemVolumeFileSystemTypeVsan = HostFileSystemVolumeFileSystemType("vsan") HostFileSystemVolumeFileSystemTypeVFFS = HostFileSystemVolumeFileSystemType("VFFS") HostFileSystemVolumeFileSystemTypeVVOL = HostFileSystemVolumeFileSystemType("VVOL") + HostFileSystemVolumeFileSystemTypePMEM = HostFileSystemVolumeFileSystemType("PMEM") HostFileSystemVolumeFileSystemTypeOTHER = HostFileSystemVolumeFileSystemType("OTHER") ) @@ -1720,6 +1802,28 @@ 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 ( @@ -1731,6 +1835,31 @@ 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 ( @@ -1856,6 +1985,32 @@ 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 HostUnresolvedVmfsExtentUnresolvedReason string const ( @@ -1907,6 +2062,17 @@ 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 ( @@ -1918,6 +2084,28 @@ 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 ( @@ -2288,6 +2476,84 @@ 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 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 ( @@ -2491,6 +2757,20 @@ 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 ( @@ -2611,6 +2891,8 @@ const ( ReplicationVmConfigFaultReasonForFaultReplicationNotEnabled = ReplicationVmConfigFaultReasonForFault("replicationNotEnabled") ReplicationVmConfigFaultReasonForFaultReplicationConfigurationFailed = ReplicationVmConfigFaultReasonForFault("replicationConfigurationFailed") ReplicationVmConfigFaultReasonForFaultEncryptedVm = ReplicationVmConfigFaultReasonForFault("encryptedVm") + ReplicationVmConfigFaultReasonForFaultInvalidThumbprint = ReplicationVmConfigFaultReasonForFault("invalidThumbprint") + ReplicationVmConfigFaultReasonForFaultIncompatibleDevice = ReplicationVmConfigFaultReasonForFault("incompatibleDevice") ) func init() { @@ -2628,6 +2910,7 @@ const ( ReplicationVmFaultReasonForFaultInvalidState = ReplicationVmFaultReasonForFault("invalidState") ReplicationVmFaultReasonForFaultInvalidInstanceId = ReplicationVmFaultReasonForFault("invalidInstanceId") ReplicationVmFaultReasonForFaultCloseDiskError = ReplicationVmFaultReasonForFault("closeDiskError") + ReplicationVmFaultReasonForFaultGroupExist = ReplicationVmFaultReasonForFault("groupExist") ) func init() { @@ -2688,10 +2971,11 @@ func init() { type ScsiDiskType string const ( - ScsiDiskTypeNative512 = ScsiDiskType("native512") - ScsiDiskTypeEmulated512 = ScsiDiskType("emulated512") - ScsiDiskTypeNative4k = ScsiDiskType("native4k") - ScsiDiskTypeUnknown = ScsiDiskType("unknown") + ScsiDiskTypeNative512 = ScsiDiskType("native512") + ScsiDiskTypeEmulated512 = ScsiDiskType("emulated512") + ScsiDiskTypeNative4k = ScsiDiskType("native4k") + ScsiDiskTypeSoftwareEmulated4k = ScsiDiskType("SoftwareEmulated4k") + ScsiDiskTypeUnknown = ScsiDiskType("unknown") ) func init() { @@ -3266,6 +3550,18 @@ 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 ( @@ -3365,6 +3661,18 @@ 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 ( @@ -3530,6 +3838,17 @@ 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 ( @@ -3725,6 +4044,10 @@ const ( VirtualMachineGuestOsIdentifierWindowsHyperVGuest = VirtualMachineGuestOsIdentifier("windowsHyperVGuest") VirtualMachineGuestOsIdentifierFreebsdGuest = VirtualMachineGuestOsIdentifier("freebsdGuest") VirtualMachineGuestOsIdentifierFreebsd64Guest = VirtualMachineGuestOsIdentifier("freebsd64Guest") + VirtualMachineGuestOsIdentifierFreebsd11Guest = VirtualMachineGuestOsIdentifier("freebsd11Guest") + VirtualMachineGuestOsIdentifierFreebsd11_64Guest = VirtualMachineGuestOsIdentifier("freebsd11_64Guest") + VirtualMachineGuestOsIdentifierFreebsd12Guest = VirtualMachineGuestOsIdentifier("freebsd12Guest") + VirtualMachineGuestOsIdentifierFreebsd12_64Guest = VirtualMachineGuestOsIdentifier("freebsd12_64Guest") VirtualMachineGuestOsIdentifierRedhatGuest = VirtualMachineGuestOsIdentifier("redhatGuest") VirtualMachineGuestOsIdentifierRhel2Guest = VirtualMachineGuestOsIdentifier("rhel2Guest") VirtualMachineGuestOsIdentifierRhel3Guest = VirtualMachineGuestOsIdentifier("rhel3Guest") @@ -3737,18 +4060,21 @@ const ( VirtualMachineGuestOsIdentifierRhel6_64Guest = VirtualMachineGuestOsIdentifier("rhel6_64Guest") VirtualMachineGuestOsIdentifierRhel7Guest = VirtualMachineGuestOsIdentifier("rhel7Guest") VirtualMachineGuestOsIdentifierRhel7_64Guest = VirtualMachineGuestOsIdentifier("rhel7_64Guest") + VirtualMachineGuestOsIdentifierRhel8_64Guest = VirtualMachineGuestOsIdentifier("rhel8_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") 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") VirtualMachineGuestOsIdentifierSuseGuest = VirtualMachineGuestOsIdentifier("suseGuest") VirtualMachineGuestOsIdentifierSuse64Guest = VirtualMachineGuestOsIdentifier("suse64Guest") VirtualMachineGuestOsIdentifierSlesGuest = VirtualMachineGuestOsIdentifier("slesGuest") @@ -3759,6 +4085,7 @@ const ( VirtualMachineGuestOsIdentifierSles11_64Guest = VirtualMachineGuestOsIdentifier("sles11_64Guest") VirtualMachineGuestOsIdentifierSles12Guest = VirtualMachineGuestOsIdentifier("sles12Guest") VirtualMachineGuestOsIdentifierSles12_64Guest = VirtualMachineGuestOsIdentifier("sles12_64Guest") + VirtualMachineGuestOsIdentifierSles15_64Guest = VirtualMachineGuestOsIdentifier("sles15_64Guest") VirtualMachineGuestOsIdentifierNld9Guest = VirtualMachineGuestOsIdentifier("nld9Guest") VirtualMachineGuestOsIdentifierOesGuest = VirtualMachineGuestOsIdentifier("oesGuest") VirtualMachineGuestOsIdentifierSjdsGuest = VirtualMachineGuestOsIdentifier("sjdsGuest") @@ -3789,6 +4116,7 @@ const ( VirtualMachineGuestOsIdentifierAsianux4_64Guest = VirtualMachineGuestOsIdentifier("asianux4_64Guest") VirtualMachineGuestOsIdentifierAsianux5_64Guest = VirtualMachineGuestOsIdentifier("asianux5_64Guest") VirtualMachineGuestOsIdentifierAsianux7_64Guest = VirtualMachineGuestOsIdentifier("asianux7_64Guest") + VirtualMachineGuestOsIdentifierAsianux8_64Guest = VirtualMachineGuestOsIdentifier("asianux8_64Guest") VirtualMachineGuestOsIdentifierOpensuseGuest = VirtualMachineGuestOsIdentifier("opensuseGuest") VirtualMachineGuestOsIdentifierOpensuse64Guest = VirtualMachineGuestOsIdentifier("opensuse64Guest") VirtualMachineGuestOsIdentifierFedoraGuest = VirtualMachineGuestOsIdentifier("fedoraGuest") @@ -3799,10 +4127,12 @@ const ( VirtualMachineGuestOsIdentifierOther26xLinuxGuest = VirtualMachineGuestOsIdentifier("other26xLinuxGuest") VirtualMachineGuestOsIdentifierOtherLinuxGuest = VirtualMachineGuestOsIdentifier("otherLinuxGuest") VirtualMachineGuestOsIdentifierOther3xLinuxGuest = VirtualMachineGuestOsIdentifier("other3xLinuxGuest") + VirtualMachineGuestOsIdentifierOther4xLinuxGuest = VirtualMachineGuestOsIdentifier("other4xLinuxGuest") VirtualMachineGuestOsIdentifierGenericLinuxGuest = VirtualMachineGuestOsIdentifier("genericLinuxGuest") VirtualMachineGuestOsIdentifierOther24xLinux64Guest = VirtualMachineGuestOsIdentifier("other24xLinux64Guest") VirtualMachineGuestOsIdentifierOther26xLinux64Guest = VirtualMachineGuestOsIdentifier("other26xLinux64Guest") VirtualMachineGuestOsIdentifierOther3xLinux64Guest = VirtualMachineGuestOsIdentifier("other3xLinux64Guest") + VirtualMachineGuestOsIdentifierOther4xLinux64Guest = VirtualMachineGuestOsIdentifier("other4xLinux64Guest") VirtualMachineGuestOsIdentifierOtherLinux64Guest = VirtualMachineGuestOsIdentifier("otherLinux64Guest") VirtualMachineGuestOsIdentifierSolaris6Guest = VirtualMachineGuestOsIdentifier("solaris6Guest") VirtualMachineGuestOsIdentifierSolaris7Guest = VirtualMachineGuestOsIdentifier("solaris7Guest") @@ -3831,6 +4161,8 @@ const ( 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") VirtualMachineGuestOsIdentifierVmkernelGuest = VirtualMachineGuestOsIdentifier("vmkernelGuest") VirtualMachineGuestOsIdentifierVmkernel5Guest = VirtualMachineGuestOsIdentifier("vmkernel5Guest") VirtualMachineGuestOsIdentifierVmkernel6Guest = VirtualMachineGuestOsIdentifier("vmkernel6Guest") @@ -4051,10 +4383,11 @@ func init() { type VirtualMachineTicketType string const ( - VirtualMachineTicketTypeMks = VirtualMachineTicketType("mks") - VirtualMachineTicketTypeDevice = VirtualMachineTicketType("device") - VirtualMachineTicketTypeGuestControl = VirtualMachineTicketType("guestControl") - VirtualMachineTicketTypeWebmks = VirtualMachineTicketType("webmks") + VirtualMachineTicketTypeMks = VirtualMachineTicketType("mks") + VirtualMachineTicketTypeDevice = VirtualMachineTicketType("device") + VirtualMachineTicketTypeGuestControl = VirtualMachineTicketType("guestControl") + VirtualMachineTicketTypeWebmks = VirtualMachineTicketType("webmks") + VirtualMachineTicketTypeGuestIntegrity = VirtualMachineTicketType("guestIntegrity") ) func init() { @@ -4262,6 +4595,17 @@ 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 ( @@ -4319,6 +4663,8 @@ const ( VmFaultToleranceConfigIssueReasonForIssueCpuHwmmuUnsupported = VmFaultToleranceConfigIssueReasonForIssue("cpuHwmmuUnsupported") VmFaultToleranceConfigIssueReasonForIssueCpuHvDisabled = VmFaultToleranceConfigIssueReasonForIssue("cpuHvDisabled") VmFaultToleranceConfigIssueReasonForIssueHasEFIFirmware = VmFaultToleranceConfigIssueReasonForIssue("hasEFIFirmware") + VmFaultToleranceConfigIssueReasonForIssueTooManyVCPUs = VmFaultToleranceConfigIssueReasonForIssue("tooManyVCPUs") + VmFaultToleranceConfigIssueReasonForIssueTooMuchMemory = VmFaultToleranceConfigIssueReasonForIssue("tooMuchMemory") ) func init() { @@ -4464,3 +4810,15 @@ const ( func init() { t["WillLoseHAProtectionResolution"] = reflect.TypeOf((*WillLoseHAProtectionResolution)(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/if.go b/vendor/github.com/vmware/govmomi/vim25/types/if.go index 5b93cb433..89d02f234 100644 --- a/vendor/github.com/vmware/govmomi/vim25/types/if.go +++ b/vendor/github.com/vmware/govmomi/vim25/types/if.go @@ -1,5 +1,5 @@ /* -Copyright (c) 2014-2017 VMware, Inc. All Rights Reserved. +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. diff --git a/vendor/github.com/vmware/govmomi/vim25/types/registry_test.go b/vendor/github.com/vmware/govmomi/vim25/types/registry_test.go new file mode 100644 index 000000000..1ea675c5c --- /dev/null +++ b/vendor/github.com/vmware/govmomi/vim25/types/registry_test.go @@ -0,0 +1,43 @@ +/* +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" + "testing" +) + +func TestTypeFunc(t *testing.T) { + var ok bool + + fn := TypeFunc() + + _, ok = fn("unknown") + if ok { + t.Errorf("Expected ok==false") + } + + actual, ok := fn("UserProfile") + if !ok { + t.Errorf("Expected ok==true") + } + + expected := reflect.TypeOf(UserProfile{}) + if !reflect.DeepEqual(expected, actual) { + t.Errorf("Expected: %#v, actual: %#v", expected, actual) + } +} diff --git a/vendor/github.com/vmware/govmomi/vim25/types/types.go b/vendor/github.com/vmware/govmomi/vim25/types/types.go index 564fd18ea..e990e273e 100644 --- a/vendor/github.com/vmware/govmomi/vim25/types/types.go +++ b/vendor/github.com/vmware/govmomi/vim25/types/types.go @@ -1,5 +1,5 @@ /* -Copyright (c) 2014-2017 VMware, Inc. All Rights Reserved. +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. @@ -17,7 +17,6 @@ limitations under the License. package types import ( - "net/url" "reflect" "time" ) @@ -897,6 +896,18 @@ 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 @@ -1338,6 +1349,26 @@ 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"` @@ -1359,6 +1390,20 @@ 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 @@ -1387,6 +1432,7 @@ type ApplyProfile struct { ToReplaceWith *bool `xml:"toReplaceWith"` ToBeDeleted *bool `xml:"toBeDeleted"` CopyEnableStatus *bool `xml:"copyEnableStatus"` + Hidden *bool `xml:"hidden"` } func init() { @@ -1544,13 +1590,21 @@ func init() { } type ArrayOfAnyURI struct { - AnyURI []url.URL `xml:"anyURI,omitempty"` + 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"` } @@ -1591,6 +1645,14 @@ 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"` } @@ -2471,6 +2533,22 @@ 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"` } @@ -3295,6 +3373,14 @@ 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"` } @@ -3415,6 +3501,14 @@ 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"` } @@ -3703,6 +3797,14 @@ func init() { t["ArrayOfHttpNfcLeaseManifestEntry"] = reflect.TypeOf((*ArrayOfHttpNfcLeaseManifestEntry)(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"` } @@ -3887,6 +3989,14 @@ 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"` } @@ -3999,6 +4109,14 @@ func init() { t["ArrayOfNetStackInstanceProfile"] = reflect.TypeOf((*ArrayOfNetStackInstanceProfile)(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"` } @@ -4007,6 +4125,46 @@ 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 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"` } @@ -4391,6 +4549,14 @@ 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"` } @@ -4407,6 +4573,14 @@ 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"` } @@ -4511,6 +4685,14 @@ 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"` } @@ -4903,6 +5085,30 @@ 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"` } @@ -5007,6 +5213,14 @@ 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 ArrayOfVirtualMachineBootOptionsBootableDevice struct { VirtualMachineBootOptionsBootableDevice []BaseVirtualMachineBootOptionsBootableDevice `xml:"VirtualMachineBootOptionsBootableDevice,omitempty,typeattr"` } @@ -5223,6 +5437,14 @@ func init() { t["ArrayOfVirtualMachinePciSharedGpuPassthroughInfo"] = reflect.TypeOf((*ArrayOfVirtualMachinePciSharedGpuPassthroughInfo)(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"` } @@ -5231,6 +5453,14 @@ 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 ArrayOfVirtualMachineRelocateSpecDiskLocator struct { VirtualMachineRelocateSpecDiskLocator []VirtualMachineRelocateSpecDiskLocator `xml:"VirtualMachineRelocateSpecDiskLocator,omitempty"` } @@ -5519,6 +5749,14 @@ 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 @@ -5866,10 +6104,15 @@ func init() { type BaseConfigInfo struct { DynamicData - Id ID `xml:"id"` - Name string `xml:"name"` - CreateTime time.Time `xml:"createTime"` - Backing BaseBaseConfigInfoBackingInfo `xml:"backing,typeattr"` + 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"` + Iofilter []string `xml:"iofilter,omitempty"` } func init() { @@ -6635,6 +6878,7 @@ type Capability struct { UserShellAccessSupported bool `xml:"userShellAccessSupported"` SupportedEVCMode []EVCMode `xml:"supportedEVCMode,omitempty"` NetworkBackupAndRestoreSupported *bool `xml:"networkBackupAndRestoreSupported"` + FtDrsWithoutEvcSupported *bool `xml:"ftDrsWithoutEvcSupported"` } func init() { @@ -6739,6 +6983,25 @@ func init() { 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() { @@ -6845,6 +7108,29 @@ 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"` @@ -6982,6 +7268,27 @@ 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() { @@ -7025,6 +7332,28 @@ 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"` @@ -7078,6 +7407,29 @@ 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 @@ -7142,6 +7494,44 @@ func init() { 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 } @@ -8226,6 +8616,8 @@ type ClusterResourceUsageSummary struct { 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"` } @@ -8462,6 +8854,30 @@ 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 @@ -8594,32 +9010,33 @@ func init() { type ConfigTarget struct { DynamicData - NumCpus int32 `xml:"numCpus"` - NumCpuCores int32 `xml:"numCpuCores"` - NumNumaNodes int32 `xml:"numNumaNodes"` - 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"` - 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"` + NumCpus int32 `xml:"numCpus"` + NumCpuCores int32 `xml:"numCpuCores"` + NumNumaNodes int32 `xml:"numNumaNodes"` + 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"` + 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"` } func init() { @@ -9349,6 +9766,31 @@ 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"` @@ -9562,6 +10004,25 @@ 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 CreateObjectScheduledTask CreateObjectScheduledTaskRequestType func init() { @@ -10055,6 +10516,41 @@ func init() { t["CryptoKeyResult"] = reflect.TypeOf((*CryptoKeyResult)(nil)).Elem() } +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 @@ -10176,6 +10672,24 @@ 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() { @@ -11073,32 +11587,33 @@ func init() { 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"` - NetworkResourceControlVersion string `xml:"networkResourceControlVersion,omitempty"` - VmVnicNetworkResourcePool []DVSVmVnicNetworkResourcePool `xml:"vmVnicNetworkResourcePool,omitempty"` - PnicCapacityRatioForReservation int32 `xml:"pnicCapacityRatioForReservation,omitempty"` + 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() { @@ -11108,23 +11623,24 @@ func init() { 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"` - NetworkResourceControlVersion string `xml:"networkResourceControlVersion,omitempty"` + 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() { @@ -11182,6 +11698,7 @@ type DVSFeatureCapability struct { RollbackCapability *DVSRollbackCapability `xml:"rollbackCapability,omitempty"` BackupRestoreCapability *DVSBackupRestoreCapability `xml:"backupRestoreCapability,omitempty"` NetworkFilterSupported *bool `xml:"networkFilterSupported"` + MacLearningSupported *bool `xml:"macLearningSupported"` } func init() { @@ -11220,6 +11737,32 @@ 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 @@ -11308,6 +11851,7 @@ type DVSNetworkResourceManagementCapability struct { QosSupported bool `xml:"qosSupported"` UserDefinedNetworkResourcePoolsSupported bool `xml:"userDefinedNetworkResourcePoolsSupported"` NetworkResourceControlVersion3Supported *bool `xml:"networkResourceControlVersion3Supported"` + UserDefinedInfraTrafficPoolSupported *bool `xml:"userDefinedInfraTrafficPoolSupported"` } func init() { @@ -11743,6 +12287,7 @@ type DatastoreCapability struct { VmfsSparseSupported *bool `xml:"vmfsSparseSupported"` VsanSparseSupported *bool `xml:"vsanSparseSupported"` UpitSupported *bool `xml:"upitSupported"` + VmdkExpandSupported *bool `xml:"vmdkExpandSupported"` } func init() { @@ -12247,6 +12792,43 @@ func init() { 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() { @@ -12306,6 +12888,27 @@ func init() { 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 DeleteVStorageObjectRequestType struct { This ManagedObjectReference `xml:"_this"` Id ID `xml:"id"` @@ -15336,6 +15939,22 @@ func init() { 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() { @@ -16679,6 +17298,28 @@ 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 @@ -18273,51 +18914,66 @@ func init() { 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"` + 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"` + SupportsTPM20 *bool `xml:"supportsTPM20"` } func init() { @@ -19205,6 +19861,8 @@ type HostCapability struct { 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"` @@ -19242,6 +19900,8 @@ type HostCapability struct { 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"` @@ -19257,6 +19917,14 @@ type HostCapability struct { 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"` } func init() { @@ -19277,6 +19945,26 @@ 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"` @@ -19536,6 +20224,7 @@ type HostConfigInfo struct { 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"` } @@ -19584,6 +20273,7 @@ type HostConfigManager struct { VsanInternalSystem *ManagedObjectReference `xml:"vsanInternalSystem,omitempty"` CertificateManager *ManagedObjectReference `xml:"certificateManager,omitempty"` CryptoManager *ManagedObjectReference `xml:"cryptoManager,omitempty"` + NvdimmSystem *ManagedObjectReference `xml:"nvdimmSystem,omitempty"` } func init() { @@ -20331,12 +21021,13 @@ func init() { type HostDnsConfig struct { DynamicData - Dhcp bool `xml:"dhcp"` - VirtualNicDevice string `xml:"virtualNicDevice,omitempty"` - HostName string `xml:"hostName"` - DomainName string `xml:"domainName"` - Address []string `xml:"address,omitempty"` - SearchDomain []string `xml:"searchDomain,omitempty"` + 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() { @@ -20346,7 +21037,8 @@ func init() { type HostDnsConfigSpec struct { HostDnsConfig - VirtualNicConnection *HostVirtualNicConnection `xml:"virtualNicConnection,omitempty"` + VirtualNicConnection *HostVirtualNicConnection `xml:"virtualNicConnection,omitempty"` + VirtualNicConnectionV6 *HostVirtualNicConnection `xml:"virtualNicConnectionV6,omitempty"` } func init() { @@ -20363,6 +21055,17 @@ 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 @@ -20808,6 +21511,7 @@ type HostHardwareInfo struct { CpuFeature []HostCpuIdInfo `xml:"cpuFeature,omitempty"` BiosInfo *HostBIOSInfo `xml:"biosInfo,omitempty"` ReliableMemoryInfo *HostReliableMemoryInfo `xml:"reliableMemoryInfo,omitempty"` + PersistentMemoryInfo *HostPersistentMemoryInfo `xml:"persistentMemoryInfo,omitempty"` } func init() { @@ -21547,6 +22251,7 @@ type HostListSummary struct { MaxEVCModeKey string `xml:"maxEVCModeKey,omitempty"` CurrentEVCModeKey string `xml:"currentEVCModeKey,omitempty"` Gateway *HostListSummaryGatewaySummary `xml:"gateway,omitempty"` + TpmAttestation *HostTpmAttestationInfo `xml:"tpmAttestation,omitempty"` } func init() { @@ -21571,6 +22276,7 @@ type HostListSummaryQuickStats struct { 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"` } @@ -22366,10 +23072,11 @@ func init() { type HostNumaNode struct { DynamicData - TypeId byte `xml:"typeId"` - CpuID []int16 `xml:"cpuID"` - MemoryRangeBegin int64 `xml:"memoryRangeBegin"` - MemoryRangeLength int64 `xml:"memoryRangeLength"` + TypeId byte `xml:"typeId"` + CpuID []int16 `xml:"cpuID"` + MemoryRangeBegin int64 `xml:"memoryRangeBegin"` + MemoryRangeLength int64 `xml:"memoryRangeLength"` + PciId []string `xml:"pciId,omitempty"` } func init() { @@ -22412,13 +23119,14 @@ func init() { 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"` + 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() { @@ -22444,6 +23152,17 @@ 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 } @@ -22584,6 +23303,17 @@ func init() { t["HostPciPassthruInfo"] = reflect.TypeOf((*HostPciPassthruInfo)(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 @@ -22856,6 +23586,40 @@ 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 @@ -22898,6 +23662,23 @@ 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 @@ -22909,6 +23690,22 @@ 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 } @@ -23127,6 +23924,25 @@ 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() { @@ -23403,6 +24219,40 @@ 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 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 @@ -23677,6 +24527,7 @@ type HostSubSpecification struct { Name string `xml:"name"` CreatedTime time.Time `xml:"createdTime"` Data []byte `xml:"data,omitempty"` + BinaryData []byte `xml:"binaryData,omitempty"` } func init() { @@ -23693,6 +24544,17 @@ 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 @@ -23721,6 +24583,7 @@ type HostSystemInfo struct { Model string `xml:"model"` Uuid string `xml:"uuid"` OtherIdentifyingInfo []HostSystemIdentificationInfo `xml:"otherIdentifyingInfo,omitempty"` + SerialNumber string `xml:"serialNumber,omitempty"` } func init() { @@ -23737,6 +24600,17 @@ 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 @@ -23811,6 +24685,18 @@ func init() { t["HostTargetTransport"] = reflect.TypeOf((*HostTargetTransport)(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 @@ -23856,7 +24742,8 @@ func init() { type HostTpmEventDetails struct { DynamicData - DataHash []byte `xml:"dataHash"` + DataHash []byte `xml:"dataHash"` + DataHashMethod string `xml:"dataHashMethod,omitempty"` } func init() { @@ -24132,6 +25019,114 @@ 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"` +} + +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 } @@ -24198,6 +25193,7 @@ type HostVirtualNicConnection struct { Portgroup string `xml:"portgroup,omitempty"` DvPort *DistributedVirtualSwitchPortConnection `xml:"dvPort,omitempty"` + OpNetwork *HostVirtualNicOpaqueNetworkSpec `xml:"opNetwork,omitempty"` } func init() { @@ -24384,13 +25380,14 @@ func init() { 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"` + 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() { @@ -24400,20 +25397,21 @@ func init() { type HostVmfsVolume struct { HostFileSystemVolume - BlockSizeMb int32 `xml:"blockSizeMb"` - BlockSize int32 `xml:"blockSize,omitempty"` - UnmapGranularity int32 `xml:"unmapGranularity,omitempty"` - UnmapPriority string `xml:"unmapPriority,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"` + 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() { @@ -24554,6 +25552,23 @@ 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() { @@ -24572,6 +25587,17 @@ func init() { 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() { @@ -24666,6 +25692,8 @@ type HttpNfcLeaseManifestEntry struct { 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"` @@ -24694,6 +25722,59 @@ func init() { 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 @@ -25278,6 +26359,25 @@ func init() { 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 @@ -29904,6 +31004,7 @@ type NetworkProfile struct { 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"` } @@ -30814,6 +31915,17 @@ 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 } @@ -30900,6 +32012,160 @@ 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 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 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"` +} + +func init() { + t["NvdimmSystemInfo"] = reflect.TypeOf((*NvdimmSystemInfo)(nil)).Elem() +} + type ObjectContent struct { DynamicData @@ -32640,6 +33906,16 @@ 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 } @@ -33214,6 +34490,7 @@ type PhysicalNic struct { ResourcePoolSchedulerAllowed *bool `xml:"resourcePoolSchedulerAllowed"` ResourcePoolSchedulerDisallowedReason []string `xml:"resourcePoolSchedulerDisallowedReason,omitempty"` AutoNegotiateSupported *bool `xml:"autoNegotiateSupported"` + EnhancedNetworkingStackSupported *bool `xml:"enhancedNetworkingStackSupported"` } func init() { @@ -33343,8 +34620,9 @@ func init() { type PhysicalNicSpec struct { DynamicData - Ip *HostIpConfig `xml:"ip,omitempty"` - LinkSpeed *PhysicalNicLinkInfo `xml:"linkSpeed,omitempty"` + Ip *HostIpConfig `xml:"ip,omitempty"` + LinkSpeed *PhysicalNicLinkInfo `xml:"linkSpeed,omitempty"` + EnableEnhancedNetworkingStack *bool `xml:"enableEnhancedNetworkingStack"` } func init() { @@ -34031,18 +35309,30 @@ func init() { 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"` + 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 @@ -34057,19 +35347,34 @@ func init() { 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"` + 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 @@ -34129,9 +35434,10 @@ func init() { type ProfilePropertyPath struct { DynamicData - ProfilePath string `xml:"profilePath"` - PolicyId string `xml:"policyId,omitempty"` - ParameterId string `xml:"parameterId,omitempty"` + ProfilePath string `xml:"profilePath"` + PolicyId string `xml:"policyId,omitempty"` + ParameterId string `xml:"parameterId,omitempty"` + PolicyOptionId string `xml:"policyOptionId,omitempty"` } func init() { @@ -34182,7 +35488,8 @@ func init() { type ProfileUpdateFailed struct { VimFault - Failure []ProfileUpdateFailedUpdateFailure `xml:"failure"` + Failure []ProfileUpdateFailedUpdateFailure `xml:"failure"` + Warnings []ProfileUpdateFailedUpdateFailure `xml:"warnings,omitempty"` } func init() { @@ -34345,7 +35652,7 @@ func init() { } type QueryAssignedLicensesResponse struct { - Returnval []LicenseAssignmentManagerLicenseAssignment `xml:"returnval"` + Returnval []LicenseAssignmentManagerLicenseAssignment `xml:"returnval,omitempty"` } type QueryAvailableDisksForVmfs QueryAvailableDisksForVmfsRequestType @@ -37403,6 +38710,25 @@ func init() { 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() { @@ -38530,16 +39856,20 @@ func init() { 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"` - Disk []ReplicationInfoDiskSettings `xml:"disk,omitempty"` + 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"` + Disk []ReplicationInfoDiskSettings `xml:"disk,omitempty"` } func init() { @@ -39857,6 +41187,26 @@ type RetrieveServiceContentResponse struct { Returnval ServiceContent `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() { @@ -39882,12 +41232,61 @@ 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"` @@ -39962,6 +41361,27 @@ 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() { @@ -40147,6 +41567,14 @@ 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 } @@ -41273,6 +42701,26 @@ func init() { 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() { @@ -42303,6 +43751,7 @@ type StorageDrsVmConfigInfo struct { Behavior string `xml:"behavior,omitempty"` IntraVmAffinity *bool `xml:"intraVmAffinity"` IntraVmAntiAffinity *VirtualDiskAntiAffinityRuleSpec `xml:"intraVmAntiAffinity,omitempty"` + VirtualDiskRules []VirtualDiskRuleSpec `xml:"virtualDiskRules,omitempty"` } func init() { @@ -45247,6 +46696,46 @@ func init() { 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 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"` @@ -45344,6 +46833,25 @@ func init() { 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() { @@ -46394,6 +47902,7 @@ type VMwareDVSPortSetting struct { IpfixEnabled *BoolPolicy `xml:"ipfixEnabled,omitempty"` TxUplink *BoolPolicy `xml:"txUplink,omitempty"` LacpPolicy *VMwareUplinkLacpPolicy `xml:"lacpPolicy,omitempty"` + MacManagementPolicy *DVSMacManagementPolicy `xml:"macManagementPolicy,omitempty"` } func init() { @@ -46482,6 +47991,7 @@ type VMwareDVSVspanCapability struct { RemoteDestSupported bool `xml:"remoteDestSupported"` EncapRemoteSourceSupported bool `xml:"encapRemoteSourceSupported"` ErspanProtocolSupported *bool `xml:"erspanProtocolSupported"` + MirrorNetstackSupported *bool `xml:"mirrorNetstackSupported"` } func init() { @@ -46643,36 +48153,44 @@ type VMwareVspanSession struct { 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 VRPEditSpec struct { +type VStorageObject struct { DynamicData - VrpId string `xml:"vrpId"` - Description string `xml:"description,omitempty"` - CpuAllocation *VrpResourceAllocationInfo `xml:"cpuAllocation,omitempty"` - MemoryAllocation *VrpResourceAllocationInfo `xml:"memoryAllocation,omitempty"` - AddedHubs []ManagedObjectReference `xml:"addedHubs,omitempty"` - RemovedHubs []ManagedObjectReference `xml:"removedHubs,omitempty"` - ChangeVersion int64 `xml:"changeVersion,omitempty"` + Config VStorageObjectConfigInfo `xml:"config"` } func init() { - t["VRPEditSpec"] = reflect.TypeOf((*VRPEditSpec)(nil)).Elem() + t["VStorageObject"] = reflect.TypeOf((*VStorageObject)(nil)).Elem() } -type VStorageObject struct { +type VStorageObjectAssociations struct { DynamicData - Config VStorageObjectConfigInfo `xml:"config"` + Id ID `xml:"id"` + VmDiskAssociations []VStorageObjectAssociationsVmDiskAssociations `xml:"vmDiskAssociations,omitempty"` + Fault *LocalizedMethodFault `xml:"fault,omitempty"` } func init() { - t["VStorageObject"] = reflect.TypeOf((*VStorageObject)(nil)).Elem() + 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 { @@ -46687,6 +48205,50 @@ 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 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 @@ -46755,6 +48317,31 @@ 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"` @@ -46793,6 +48380,26 @@ 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 @@ -46950,6 +48557,7 @@ func init() { type VimVasaProvider struct { DynamicData + Uid string `xml:"uid,omitempty"` Url string `xml:"url"` Name string `xml:"name,omitempty"` SelfSignedCertificate string `xml:"selfSignedCertificate,omitempty"` @@ -47258,6 +48866,7 @@ func init() { type VirtualDeviceConnectInfo struct { DynamicData + MigrateConnect string `xml:"migrateConnect,omitempty"` StartConnected bool `xml:"startConnected"` AllowGuestControl bool `xml:"allowGuestControl"` Connected bool `xml:"connected"` @@ -47416,14 +49025,15 @@ func init() { 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"` + 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"` } func init() { @@ -47557,6 +49167,32 @@ 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 @@ -47627,6 +49263,8 @@ type VirtualDiskRawDiskMappingVer1BackingInfo struct { 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"` } @@ -47671,6 +49309,17 @@ 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 @@ -48079,6 +49728,8 @@ type VirtualHardwareOption struct { 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"` } func init() { @@ -48258,44 +49909,48 @@ func init() { 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"` + 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"` } func init() { @@ -48337,6 +49992,7 @@ type VirtualMachineConfigInfo struct { 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"` @@ -48426,17 +50082,18 @@ func init() { 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"` + 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() { @@ -48465,6 +50122,7 @@ type VirtualMachineConfigSpec struct { 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"` @@ -48548,6 +50206,8 @@ type VirtualMachineConfigSummary struct { InstallBootRequired *bool `xml:"installBootRequired"` FtInfo BaseFaultToleranceConfigInfo `xml:"ftInfo,omitempty,typeattr"` ManagedBy *ManagedByInfo `xml:"managedBy,omitempty"` + TpmPresent *bool `xml:"tpmPresent"` + NumVmiopBackings int32 `xml:"numVmiopBackings,omitempty"` } func init() { @@ -48634,6 +50294,7 @@ type VirtualMachineDefinedProfileSpec struct { ProfileId string `xml:"profileId"` ReplicationSpec *ReplicationSpec `xml:"replicationSpec,omitempty"` ProfileData *VirtualMachineProfileRawData `xml:"profileData,omitempty"` + ProfileParams []KeyValue `xml:"profileParams,omitempty"` } func init() { @@ -48662,11 +50323,13 @@ func init() { type VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeState struct { VirtualMachineDeviceRuntimeInfoDeviceRuntimeState - VmDirectPathGen2Active bool `xml:"vmDirectPathGen2Active"` - VmDirectPathGen2InactiveReasonVm []string `xml:"vmDirectPathGen2InactiveReasonVm,omitempty"` - VmDirectPathGen2InactiveReasonOther []string `xml:"vmDirectPathGen2InactiveReasonOther,omitempty"` - VmDirectPathGen2InactiveReasonExtended string `xml:"vmDirectPathGen2InactiveReasonExtended,omitempty"` - ReservationStatus string `xml:"reservationStatus,omitempty"` + VmDirectPathGen2Active bool `xml:"vmDirectPathGen2Active"` + VmDirectPathGen2InactiveReasonVm []string `xml:"vmDirectPathGen2InactiveReasonVm,omitempty"` + VmDirectPathGen2InactiveReasonOther []string `xml:"vmDirectPathGen2InactiveReasonOther,omitempty"` + VmDirectPathGen2InactiveReasonExtended string `xml:"vmDirectPathGen2InactiveReasonExtended,omitempty"` + ReservationStatus string `xml:"reservationStatus,omitempty"` + AttachmentStatus string `xml:"attachmentStatus,omitempty"` + FeatureRequirement []VirtualMachineFeatureRequirement `xml:"featureRequirement,omitempty"` } func init() { @@ -48848,6 +50511,8 @@ type VirtualMachineFlagInfo struct { RecordReplayEnabled *bool `xml:"recordReplayEnabled"` FaultToleranceType string `xml:"faultToleranceType,omitempty"` CbrcCacheEnabled *bool `xml:"cbrcCacheEnabled"` + VvtdEnabled *bool `xml:"vvtdEnabled"` + VbsEnabled *bool `xml:"vbsEnabled"` } func init() { @@ -48944,6 +50609,19 @@ func init() { t["VirtualMachineImportSpec"] = reflect.TypeOf((*VirtualMachineImportSpec)(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 @@ -49100,6 +50778,28 @@ func init() { t["VirtualMachinePciSharedGpuPassthroughInfo"] = reflect.TypeOf((*VirtualMachinePciSharedGpuPassthroughInfo)(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 @@ -49119,6 +50819,17 @@ 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 @@ -49225,6 +50936,8 @@ type VirtualMachineRuntimeInfo struct { Paused *bool `xml:"paused"` SnapshotInBackground *bool `xml:"snapshotInBackground"` QuiescedForkParent *bool `xml:"quiescedForkParent"` + InstantCloneFrozen *bool `xml:"instantCloneFrozen"` + CryptoState string `xml:"cryptoState,omitempty"` } func init() { @@ -49561,6 +51274,58 @@ func init() { t["VirtualMachineWipeResult"] = reflect.TypeOf((*VirtualMachineWipeResult)(nil)).Elem() } +type VirtualNVDIMM struct { + VirtualDevice + + CapacityInMB int64 `xml:"capacityInMB"` +} + +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 } @@ -49615,6 +51380,7 @@ type VirtualPCIControllerOption struct { NumParaVirtualSCSIControllers *IntOption `xml:"numParaVirtualSCSIControllers,omitempty"` NumSATAControllers *IntOption `xml:"numSATAControllers,omitempty"` NumNVMEControllers *IntOption `xml:"numNVMEControllers,omitempty"` + NumVmxnet3VrdmaEthernetCards *IntOption `xml:"numVmxnet3VrdmaEthernetCards,omitempty"` } func init() { @@ -49816,39 +51582,6 @@ func init() { t["VirtualPointingDeviceOption"] = reflect.TypeOf((*VirtualPointingDeviceOption)(nil)).Elem() } -type VirtualResourcePoolSpec struct { - DynamicData - - VrpId string `xml:"vrpId,omitempty"` - VrpName string `xml:"vrpName,omitempty"` - Description string `xml:"description,omitempty"` - CpuAllocation VrpResourceAllocationInfo `xml:"cpuAllocation"` - MemoryAllocation VrpResourceAllocationInfo `xml:"memoryAllocation"` - RpList []ManagedObjectReference `xml:"rpList,omitempty"` - HubList []ManagedObjectReference `xml:"hubList,omitempty"` - RootVRP *bool `xml:"rootVRP"` - StaticVRP *bool `xml:"staticVRP"` - ChangeVersion int64 `xml:"changeVersion,omitempty"` -} - -func init() { - t["VirtualResourcePoolSpec"] = reflect.TypeOf((*VirtualResourcePoolSpec)(nil)).Elem() -} - -type VirtualResourcePoolUsage struct { - DynamicData - - VrpId string `xml:"vrpId"` - CpuReservationMhz int64 `xml:"cpuReservationMhz"` - MemReservationMB int64 `xml:"memReservationMB"` - CpuReservationUsedMhz int64 `xml:"cpuReservationUsedMhz"` - MemReservationUsedMB int64 `xml:"memReservationUsedMB"` -} - -func init() { - t["VirtualResourcePoolUsage"] = reflect.TypeOf((*VirtualResourcePoolUsage)(nil)).Elem() -} - type VirtualSATAController struct { VirtualController } @@ -50163,6 +51896,27 @@ 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 @@ -50357,6 +52111,8 @@ func init() { type VirtualVmxnet3Vrdma struct { VirtualVmxnet3 + + DeviceProtocol string `xml:"deviceProtocol,omitempty"` } func init() { @@ -50365,6 +52121,8 @@ func init() { type VirtualVmxnet3VrdmaOption struct { VirtualVmxnet3Option + + DeviceProtocol *ChoiceOption `xml:"deviceProtocol,omitempty"` } func init() { @@ -52110,8 +53868,12 @@ func init() { type VmfsConfigOption struct { DynamicData - BlockSizeOption int32 `xml:"blockSizeOption"` - UnmapGranularityOption []int32 `xml:"unmapGranularityOption,omitempty"` + 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"` } func init() { @@ -52240,6 +54002,19 @@ 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 } @@ -52267,7 +54042,7 @@ func init() { type VmwareDistributedVirtualSwitchTrunkVlanSpec struct { VmwareDistributedVirtualSwitchVlanSpec - VlanId []NumericRange `xml:"vlanId"` + VlanId []NumericRange `xml:"vlanId,omitempty"` } func init() { @@ -52348,16 +54123,6 @@ func init() { t["VramLimitLicenseFault"] = reflect.TypeOf((*VramLimitLicenseFault)(nil)).Elem() } -type VrpResourceAllocationInfo struct { - ResourceAllocationInfo - - ReservationLimit int64 `xml:"reservationLimit,omitempty"` -} - -func init() { - t["VrpResourceAllocationInfo"] = reflect.TypeOf((*VrpResourceAllocationInfo)(nil)).Elem() -} - type VsanClusterConfigInfo struct { DynamicData @@ -52886,7 +54651,8 @@ func init() { type VslmCloneSpec struct { VslmMigrateSpec - Name string `xml:"name"` + Name string `xml:"name"` + KeepAfterDeleteVm *bool `xml:"keepAfterDeleteVm"` } func init() { @@ -52896,9 +54662,11 @@ func init() { type VslmCreateSpec struct { DynamicData - Name string `xml:"name"` - BackingSpec BaseVslmCreateSpecBackingSpec `xml:"backingSpec,typeattr"` - CapacityInMB int64 `xml:"capacityInMB"` + Name string `xml:"name"` + KeepAfterDeleteVm *bool `xml:"keepAfterDeleteVm"` + BackingSpec BaseVslmCreateSpecBackingSpec `xml:"backingSpec,typeattr"` + CapacityInMB int64 `xml:"capacityInMB"` + Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr"` } func init() { @@ -52909,6 +54677,7 @@ type VslmCreateSpecBackingSpec struct { DynamicData Datastore ManagedObjectReference `xml:"datastore"` + Path string `xml:"path,omitempty"` } func init() { @@ -52939,8 +54708,9 @@ func init() { type VslmMigrateSpec struct { DynamicData - BackingSpec BaseVslmCreateSpecBackingSpec `xml:"backingSpec,typeattr"` - Consolidate *bool `xml:"consolidate"` + BackingSpec BaseVslmCreateSpecBackingSpec `xml:"backingSpec,typeattr"` + Profile []BaseVirtualMachineProfileSpec `xml:"profile,omitempty,typeattr"` + Consolidate *bool `xml:"consolidate"` } func init() { @@ -53332,3 +55102,332 @@ func init() { 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() +} diff --git a/vendor/github.com/vmware/govmomi/vim25/types/types_test.go b/vendor/github.com/vmware/govmomi/vim25/types/types_test.go new file mode 100644 index 000000000..9b6f640cf --- /dev/null +++ b/vendor/github.com/vmware/govmomi/vim25/types/types_test.go @@ -0,0 +1,116 @@ +/* +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 types + +import ( + "reflect" + "testing" + + "github.com/vmware/govmomi/vim25/xml" +) + +func TestVirtualMachineConfigSpec(t *testing.T) { + spec := VirtualMachineConfigSpec{ + Name: "vm-001", + GuestId: "otherGuest", + Files: &VirtualMachineFileInfo{VmPathName: "[datastore1]"}, + NumCPUs: 1, + MemoryMB: 128, + DeviceChange: []BaseVirtualDeviceConfigSpec{ + &VirtualDeviceConfigSpec{ + Operation: VirtualDeviceConfigSpecOperationAdd, + Device: &VirtualLsiLogicController{VirtualSCSIController{ + SharedBus: VirtualSCSISharingNoSharing, + VirtualController: VirtualController{ + BusNumber: 0, + VirtualDevice: VirtualDevice{ + Key: 1000, + }, + }, + }}, + }, + &VirtualDeviceConfigSpec{ + Operation: VirtualDeviceConfigSpecOperationAdd, + FileOperation: VirtualDeviceConfigSpecFileOperationCreate, + Device: &VirtualDisk{ + VirtualDevice: VirtualDevice{ + Key: 0, + ControllerKey: 1000, + UnitNumber: new(int32), // zero default value + Backing: &VirtualDiskFlatVer2BackingInfo{ + DiskMode: string(VirtualDiskModePersistent), + ThinProvisioned: NewBool(true), + VirtualDeviceFileBackingInfo: VirtualDeviceFileBackingInfo{ + FileName: "[datastore1]", + }, + }, + }, + CapacityInKB: 4000000, + }, + }, + &VirtualDeviceConfigSpec{ + Operation: VirtualDeviceConfigSpecOperationAdd, + Device: &VirtualE1000{VirtualEthernetCard{ + VirtualDevice: VirtualDevice{ + Key: 0, + DeviceInfo: &Description{ + Label: "Network Adapter 1", + Summary: "VM Network", + }, + Backing: &VirtualEthernetCardNetworkBackingInfo{ + VirtualDeviceDeviceBackingInfo: VirtualDeviceDeviceBackingInfo{ + DeviceName: "VM Network", + }, + }, + }, + AddressType: string(VirtualEthernetCardMacTypeGenerated), + }}, + }, + }, + ExtraConfig: []BaseOptionValue{ + &OptionValue{Key: "bios.bootOrder", Value: "ethernet0"}, + }, + } + + _, err := xml.MarshalIndent(spec, "", " ") + if err != nil { + t.Fatal(err) + } +} + +func TestVirtualMachineAffinityInfo(t *testing.T) { + // See https://github.com/vmware/govmomi/issues/1008 + in := VirtualMachineAffinityInfo{ + AffinitySet: []int32{0, 1, 2, 3}, + } + + b, err := xml.Marshal(in) + if err != nil { + t.Fatal(err) + } + + var out VirtualMachineAffinityInfo + + err = xml.Unmarshal(b, &out) + if err != nil { + t.Fatal(err) + } + + if !reflect.DeepEqual(in, out) { + t.Errorf("%#v vs %#v", in, out) + } +} diff --git a/vendor/vendor.json b/vendor/vendor.json index eee3922cc..c5b831e69 100644 --- a/vendor/vendor.json +++ b/vendor/vendor.json @@ -892,134 +892,134 @@ "revisionTime": "2017-06-05T21:53:11Z" }, { - "checksumSHA1": "9HVQCrdK7g+uAOTjC5cwgXjLRSI=", - "comment": "v0.15.0", + "checksumSHA1": "d9wuJiM8kohvnjoHIRJcaYH8Bhw=", + "comment": "v0.18.0", "path": "github.com/vmware/govmomi", - "revision": "bb8ff8d53171157123ae812088fd06223d8d90a3", - "revisionTime": "2018-02-13T04:10:52Z" + "revision": "e3a01f9611c32b2362366434bcd671516e78955d", + "revisionTime": "2018-05-24T20:23:23Z" }, { "checksumSHA1": "mgU2Bt/F2KP3m70BE3PDqWxfJfQ=", "path": "github.com/vmware/govmomi/event", - "revision": "bb8ff8d53171157123ae812088fd06223d8d90a3", - "revisionTime": "2018-02-13T04:10:52Z" + "revision": "e3a01f9611c32b2362366434bcd671516e78955d", + "revisionTime": "2018-05-24T20:23:23Z" }, { - "checksumSHA1": "BkRLJCpjdui5MW9crMf+h47CD58=", + "checksumSHA1": "xFi1dbYQR8VwSRojdJMdvRGOmIw=", "comment": "v0.15.0", "path": "github.com/vmware/govmomi/find", - "revision": "bb8ff8d53171157123ae812088fd06223d8d90a3", - "revisionTime": "2018-02-13T04:10:52Z", + "revision": "e3a01f9611c32b2362366434bcd671516e78955d", + "revisionTime": "2018-05-24T20:23:23Z", "tree": true }, { "checksumSHA1": "dDLuXgczvfoF+xMurGMKvFy4Mb8=", "path": "github.com/vmware/govmomi/license", - "revision": "bb8ff8d53171157123ae812088fd06223d8d90a3", - "revisionTime": "2018-02-13T04:10:52Z" + "revision": "e3a01f9611c32b2362366434bcd671516e78955d", + "revisionTime": "2018-05-24T20:23:23Z" }, { - "checksumSHA1": "J3JrwZagGYMX6oNMkdsUFf8hHo8=", + "checksumSHA1": "bo+RPcRzruqjobmg0ywPaOZAPdA=", "comment": "v0.15.0", "path": "github.com/vmware/govmomi/list", - "revision": "bb8ff8d53171157123ae812088fd06223d8d90a3", - "revisionTime": "2018-02-13T04:10:52Z" + "revision": "e3a01f9611c32b2362366434bcd671516e78955d", + "revisionTime": "2018-05-24T20:23:23Z" }, { "checksumSHA1": "kYO3J9/MIfRkiKxPMTUwOvIOSso=", "path": "github.com/vmware/govmomi/nfc", - "revision": "bb8ff8d53171157123ae812088fd06223d8d90a3", - "revisionTime": "2018-02-13T04:10:52Z" + "revision": "e3a01f9611c32b2362366434bcd671516e78955d", + "revisionTime": "2018-05-24T20:23:23Z" }, { - "checksumSHA1": "oud0H9GjZpIT04TOABWdgTVfk3Q=", + "checksumSHA1": "Q8zHktZCr3vUPqFBHNWLtScEg4I=", "comment": "v0.15.0", "path": "github.com/vmware/govmomi/object", - "revision": "bb8ff8d53171157123ae812088fd06223d8d90a3", - "revisionTime": "2018-02-13T04:10:52Z" + "revision": "e3a01f9611c32b2362366434bcd671516e78955d", + "revisionTime": "2018-05-24T20:23:23Z" }, { - "checksumSHA1": "viXROfTFdDMpqFTln9JFC60E8jY=", + "checksumSHA1": "wAM32O8PeD62BIP1R2oQtmvFyxo=", "comment": "v0.15.0", "path": "github.com/vmware/govmomi/property", - "revision": "bb8ff8d53171157123ae812088fd06223d8d90a3", - "revisionTime": "2018-02-13T04:10:52Z" + "revision": "e3a01f9611c32b2362366434bcd671516e78955d", + "revisionTime": "2018-05-24T20:23:23Z" }, { - "checksumSHA1": "AYpOxHuxocQpC0t3VJ8AFyEe3vM=", + "checksumSHA1": "X0FWJTv6W/92YB21IBuEp3Mf3z4=", "comment": "v0.15.0", "path": "github.com/vmware/govmomi/session", - "revision": "bb8ff8d53171157123ae812088fd06223d8d90a3", - "revisionTime": "2018-02-13T04:10:52Z" + "revision": "e3a01f9611c32b2362366434bcd671516e78955d", + "revisionTime": "2018-05-24T20:23:23Z" }, { "checksumSHA1": "FQR3yNgiShaqUiJREkeqQCKYJ84=", "comment": "v0.15.0", "path": "github.com/vmware/govmomi/task", - "revision": "bb8ff8d53171157123ae812088fd06223d8d90a3", - "revisionTime": "2018-02-13T04:10:52Z" + "revision": "e3a01f9611c32b2362366434bcd671516e78955d", + "revisionTime": "2018-05-24T20:23:23Z" }, { "checksumSHA1": "Z6i/BdS9A2NZnvOAz9gvzu5oLAI=", "path": "github.com/vmware/govmomi/view", - "revision": "bb8ff8d53171157123ae812088fd06223d8d90a3", - "revisionTime": "2018-02-13T04:10:52Z" + "revision": "e3a01f9611c32b2362366434bcd671516e78955d", + "revisionTime": "2018-05-24T20:23:23Z" }, { - "checksumSHA1": "zLg5y/6xx/yr8swoqdyxISyQfoU=", + "checksumSHA1": "GcRcPdlbi9Tcqbj/udrxJQsAngM=", "comment": "v0.15.0", "path": "github.com/vmware/govmomi/vim25", - "revision": "bb8ff8d53171157123ae812088fd06223d8d90a3", - "revisionTime": "2018-02-13T04:10:52Z" + "revision": "e3a01f9611c32b2362366434bcd671516e78955d", + "revisionTime": "2018-05-24T20:23:23Z" }, { "checksumSHA1": "xLvppq0NUD6Hv2GIx1gh75xUzyM=", "comment": "v0.15.0", "path": "github.com/vmware/govmomi/vim25/debug", - "revision": "bb8ff8d53171157123ae812088fd06223d8d90a3", - "revisionTime": "2018-02-13T04:10:52Z" + "revision": "e3a01f9611c32b2362366434bcd671516e78955d", + "revisionTime": "2018-05-24T20:23:23Z" }, { - "checksumSHA1": "0bHwl55AeUPZ4Jom+K3BHlxVlZA=", + "checksumSHA1": "YfxE/jP0aAGIAhBQTVEAjZG1CKc=", "comment": "v0.15.0", "path": "github.com/vmware/govmomi/vim25/methods", - "revision": "bb8ff8d53171157123ae812088fd06223d8d90a3", - "revisionTime": "2018-02-13T04:10:52Z" + "revision": "e3a01f9611c32b2362366434bcd671516e78955d", + "revisionTime": "2018-05-24T20:23:23Z" }, { - "checksumSHA1": "kiVMrAiW8EBFQvhDMHdE9SFe3N4=", + "checksumSHA1": "ozQLTDRtgsmxj0gYhNRs4Po/trc=", "comment": "v0.15.0", "path": "github.com/vmware/govmomi/vim25/mo", - "revision": "bb8ff8d53171157123ae812088fd06223d8d90a3", - "revisionTime": "2018-02-13T04:10:52Z" + "revision": "e3a01f9611c32b2362366434bcd671516e78955d", + "revisionTime": "2018-05-24T20:23:23Z" }, { - "checksumSHA1": "f63BQDwTTtAxMbmVJGmk5K0gWe8=", + "checksumSHA1": "OLrtV4J/PfHWhl0OZLb1zmqlt6E=", "comment": "v0.15.0", "path": "github.com/vmware/govmomi/vim25/progress", - "revision": "bb8ff8d53171157123ae812088fd06223d8d90a3", - "revisionTime": "2018-02-13T04:10:52Z" + "revision": "e3a01f9611c32b2362366434bcd671516e78955d", + "revisionTime": "2018-05-24T20:23:23Z" }, { - "checksumSHA1": "dGMLdOsa5PuH4IkB81NphxRiFgA=", + "checksumSHA1": "QxjgzpmtHAg2pNHffZMnEPkYDLM=", "comment": "v0.15.0", "path": "github.com/vmware/govmomi/vim25/soap", - "revision": "bb8ff8d53171157123ae812088fd06223d8d90a3", - "revisionTime": "2018-02-13T04:10:52Z" + "revision": "e3a01f9611c32b2362366434bcd671516e78955d", + "revisionTime": "2018-05-24T20:23:23Z" }, { - "checksumSHA1": "YcDMYKmKKztKDr197u+bMT8o5tU=", + "checksumSHA1": "BoqSz/doigR822kGSDCJtqdUsLU=", "comment": "v0.15.0", "path": "github.com/vmware/govmomi/vim25/types", - "revision": "bb8ff8d53171157123ae812088fd06223d8d90a3", - "revisionTime": "2018-02-13T04:10:52Z" + "revision": "e3a01f9611c32b2362366434bcd671516e78955d", + "revisionTime": "2018-05-24T20:23:23Z" }, { "checksumSHA1": "6XLRzLEvncx5ORtvBjp41KfRTjc=", "comment": "v0.15.0", "path": "github.com/vmware/govmomi/vim25/xml", - "revision": "bb8ff8d53171157123ae812088fd06223d8d90a3", - "revisionTime": "2018-02-13T04:10:52Z" + "revision": "e3a01f9611c32b2362366434bcd671516e78955d", + "revisionTime": "2018-05-24T20:23:23Z" }, { "checksumSHA1": "EdytLlMtmBbHkhji3ucgJ98ckPg=",