rbvmomi
rbvmomi copied to clipboard
Update vmodl.db for vSphere 7.0U2
Use the public vSphere 7.0U2 vsphere-ws wsdl from (https://code.vmware.com/web/sdk/7.0/vsphere-management) to build the new Data types added in 7.0 U1 and U2
I used a modified version of my https://github.com/vmware/rbvmomi/blob/master/devel/verify-vim-wsdl.rb script to build the new data types from the vimService.xml wsdl file.
~~It isn't "production ready" yet as I had to make small modifications by had but I hope to enhance it to fully build the data types defined in it automatically in the future.~~ I was able to get the auto-generated vmodl.db to be equal to my manual edits and so I've pushed those changes to the verify-vim-wsdl script.
Dump the master vmodl.db marshal to yaml:
adam@desktop:~/src/vmware/rbvmomi$ git checkout master
Switched to branch 'master'
Your branch is up to date with 'upstream/master'.
adam@desktop:~/src/vmware/rbvmomi$ irb
>> require 'yaml'
>> File.write('vmodl-master.yml', Marshal.load(File.read('vmodl.db')).to_yaml)
=> 1766672
Dump the vmodl.db marshal from this branch to yaml:
adam@desktop:~/src/vmware/rbvmomi$ git checkout update_vmodl_db_7_0_U2
Switched to branch 'update_vmodl_db_7_0_U2'
Your branch is up to date with 'agrare/update_vmodl_db_7_0_U2'.
adam@desktop:~/src/vmware/rbvmomi$ irb
>> require 'yaml'
>> File.write('vmodl-70U2.yml', Marshal.load(File.read('vmodl.db')).to_yaml)
=> 1771020
Diff the two:
$ diff vmodl-master.yml vmodl-70U2.yml
74748a74749,74948
> - ClusterComputeResourceVcsSlots
> - DesiredSoftwareSpecComponentSpec
> - FeatureEVCMode
> - HttpNfcLeaseProbeResult
> - VirtualMachineConnection
> - VirtualMachineMksConnection
> - VMwareDvsMtuCapability
> - VsanDatastoreInfo
> - HostSevInfo
> - HostTpmNvTagEventDetails
> - HostTrustAuthorityAttestationInfo
> - GuestInfoCustomizationInfo
> - vslmVClockInfo
> ClusterComputeResourceVcsSlots:
> kind: data
> props:
> - name: host
> is-optional: false
> is-array: false
> version-id-ref:
> wsdl_type: ManagedObject
> - name: totalSlots
> is-optional: false
> is-array: false
> version-id-ref:
> wsdl_type: xsd:int
> wsdl_base: DynamicData
> DesiredSoftwareSpecComponentSpec:
> kind: data
> props:
> - name: name
> is-optional: false
> is-array: false
> version-id-ref:
> wsdl_type: xsd:string
> - name: version
> is-optional: false
> is-array: false
> version-id-ref:
> wsdl_type: xsd:string
> wsdl_base: DynamicData
> FeatureEVCMode:
> kind: data
> props:
> - name: mask
> is-optional: true
> is-array: true
> version-id-ref:
> wsdl_type: HostFeatureMask
> - name: capability
> is-optional: true
> is-array: true
> version-id-ref:
> wsdl_type: HostFeatureCapability
> - name: requirement
> is-optional: true
> is-array: true
> version-id-ref:
> wsdl_type: VirtualMachineFeatureRequirement
> wsdl_base: ElementDescription
> HttpNfcLeaseProbeResult:
> kind: data
> props:
> - name: serverAccessible
> is-optional: false
> is-array: false
> version-id-ref:
> wsdl_type: xsd:boolean
> wsdl_base: DynamicData
> VirtualMachineConnection:
> kind: data
> props:
> - name: label
> is-optional: false
> is-array: false
> version-id-ref:
> wsdl_type: xsd:string
> - name: client
> is-optional: false
> is-array: false
> version-id-ref:
> wsdl_type: xsd:string
> - name: userName
> is-optional: false
> is-array: false
> version-id-ref:
> wsdl_type: xsd:string
> wsdl_base: DynamicData
> VirtualMachineMksConnection:
> kind: data
> props: []
> wsdl_base: VirtualMachineConnection
> VMwareDvsMtuCapability:
> kind: data
> props:
> - name: minMtuSupported
> is-optional: false
> is-array: false
> version-id-ref:
> wsdl_type: xsd:int
> - name: maxMtuSupported
> is-optional: false
> is-array: false
> version-id-ref:
> wsdl_type: xsd:int
> wsdl_base: DynamicData
> VsanDatastoreInfo:
> kind: data
> props:
> - name: membershipUuid
> is-optional: true
> is-array: false
> version-id-ref:
> wsdl_type: xsd:string
> - name: accessGenNo
> is-optional: true
> is-array: false
> version-id-ref:
> wsdl_type: xsd:int
> wsdl_base: DatastoreInfo
> HostSevInfo:
> kind: data
> props:
> - name: sevState
> is-optional: false
> is-array: false
> version-id-ref:
> wsdl_type: xsd:string
> - name: maxSevEsGuests
> is-optional: false
> is-array: false
> version-id-ref:
> wsdl_type: xsd:long
> wsdl_base: DynamicData
> HostTpmNvTagEventDetails:
> kind: data
> props: []
> wsdl_base: HostTpmBootSecurityOptionEventDetails
> HostTrustAuthorityAttestationInfo:
> kind: data
> props:
> - name: attestationStatus
> is-optional: false
> is-array: false
> version-id-ref:
> wsdl_type: xsd:string
> - name: serviceId
> is-optional: true
> is-array: false
> version-id-ref:
> wsdl_type: xsd:string
> - name: attestedAt
> is-optional: true
> is-array: false
> version-id-ref:
> wsdl_type: xsd:dateTime
> - name: attestedUntil
> is-optional: true
> is-array: false
> version-id-ref:
> wsdl_type: xsd:dateTime
> - name: messages
> is-optional: true
> is-array: true
> version-id-ref:
> wsdl_type: LocalizableMessage
> wsdl_base: DynamicData
> GuestInfoCustomizationInfo:
> kind: data
> props:
> - name: customizationStatus
> is-optional: false
> is-array: false
> version-id-ref:
> wsdl_type: xsd:string
> - name: startTime
> is-optional: true
> is-array: false
> version-id-ref:
> wsdl_type: xsd:dateTime
> - name: endTime
> is-optional: true
> is-array: false
> version-id-ref:
> wsdl_type: xsd:dateTime
> - name: errorMsg
> is-optional: true
> is-array: false
> version-id-ref:
> wsdl_type: xsd:string
> wsdl_base: DynamicData
> vslmVClockInfo:
> kind: data
> props:
> - name: vClockTime
> is-optional: false
> is-array: false
> version-id-ref:
> wsdl_type: xsd:long
> wsdl_base: DynamicData
Fixes https://github.com/vmware/rbvmomi/issues/208