diff --git a/propertycollector.go b/propertycollector.go index fffd29b..b5dbda0 100644 --- a/propertycollector.go +++ b/propertycollector.go @@ -50,10 +50,11 @@ type SelectionSpec struct { // http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.wssdk.apiref.doc/vmodl.query.PropertyCollector.TraversalSpec.html type TraversalSpec struct { SelectionSpec - XsiType string `xml:"http://www.w3.org/2001/XMLSchema-instance type,attr"` - Type string `xml:"type"` - Path string `xml:"path"` - Skip bool `xml:"skip"` + XsiType string `xml:"http://www.w3.org/2001/XMLSchema-instance type,attr"` + Type string `xml:"type"` + Path string `xml:"path"` + Skip bool `xml:"skip"` + SelectSet []*SelectionSpec `xml:"selectSet"` } // http://pubs.vmware.com/vsphere-55/index.jsp#com.vmware.wssdk.apiref.doc/vmodl.query.PropertyCollector.PropertySpec.html @@ -93,3 +94,24 @@ type MissingProperty struct { // Fault LocalizedMethodFault `xml:"fault"` // TODO(igm) Path string `xml:"path"` } + +// http://pubs.vmware.com/vsphere-55/index.jsp?topic=%2Fcom.vmware.wssdk.apiref.doc%2Fvmodl.query.PropertyCollector.html +type CreatePropertyCollector struct { + XMLName xml.Name `xml:"urn:vim25 CreatePropertyCollector"` + This *PropertyCollector `xml:"_this"` +} + +type CreatePropertyCollectorResponse struct { + XMLName xml.Name `xml:"urn:vim25 CreatePropertyCollectorResponse"` + PropertyCollector *PropertyCollector `xml:"returnval"` +} + +// http://pubs.vmware.com/vsphere-55/index.jsp?topic=%2Fcom.vmware.wssdk.apiref.doc%2Fvmodl.query.PropertyCollector.html +type DestroyPropertyCollector struct { + XMLName xml.Name `xml:"urn:vim25 DestroyPropertyCollector"` + This *PropertyCollector `xml:"_this"` +} + +type DestroyPropertyCollectorResponse struct { + XMLName xml.Name `xml:"urn:vim25 DestroyPropertyCollectorResponse"` +} diff --git a/sessionmanager.go b/sessionmanager.go index 842cb5b..0911033 100644 --- a/sessionmanager.go +++ b/sessionmanager.go @@ -16,6 +16,14 @@ type LoginResponse struct { UserSession UserSession `xml:"urn:vim25 returnval"` } +type Logout struct { + XMLName xml.Name `xml:"urn:vim25 Logout"` + This *SessionManager `xml:"_this"` +} + +type LogoutResponse struct { +} + type UserSession struct { Key string `xml:"key"` UserName string `xml:"userName"` diff --git a/soap.go b/soap.go index 99dc9cf..766058b 100644 --- a/soap.go +++ b/soap.go @@ -47,8 +47,10 @@ type Body struct { CurrentTimeResponse *CurrentTimeResponse // SessionManager - LoginRequest *Login - LoginResponse *LoginResponse + LoginRequest *Login + LoginResponse *LoginResponse + LogoutRequest *Logout + LogoutResponse *LogoutResponse // ViewManager CreateContainerViewRequest *CreateContainerView @@ -60,6 +62,10 @@ type Body struct { ContinueRetrievePropertiesExRequest *ContinueRetrievePropertiesEx ContinueRetrievePropertiesExResponse *ContinueRetrievePropertiesExResponse CancelRetrievePropertiesExRequest *CancelRetrievePropertiesEx + CreatePropertyCollectorRequest *CreatePropertyCollector + CreatePropertyCollectorResponse *CreatePropertyCollectorResponse + DestroyPropertyCollectorRequest *DestroyPropertyCollector + DestroyPropertyCollectorResponse *DestroyPropertyCollectorResponse // VirtualMachine PowerOnVM_Task *PowerOnVM_Task