`vSphere Web Services
`SDK Programming Guide
`SDK Programming Guide
`
`17 APR 2018
`17 APR 2018
`VMware vSphere 6.7
`VMware vSphere 6.7
`vCenter Server 6.7
`vCenter Server 6.7
`VMware ESXi 6.7
`VMware ESXi 6.7
`
`r
`
`vmwa re®
`
`WIZ, Inc. EXHIBIT - 1015
`WIZ, Inc. v. Orca Security LTD.
`
`WIZ, Inc. EXHIBIT - 1015
`WIZ, Inc. v. Orca Security LTD.
`
`
`
`vSphere Web Services SDK Programming Guide
`vSphere Web Services SDK Programming Guide
`
`You can find the most up-to-date technical documentation on the VMware website at:
`You can find the most up-to-date technical documentation on the VMware website at:
`https://docs.vmware.com/
`https://docs.vmware.com/
`If you have comments about this documentation, submit your feedback to
`If you have comments about this documentation, submit your feedback to
`docfeedback@vmware.com
`docfeedback@vmware.com
`
`VMware, Inc.
`VMware, Inc.
`3401 Hillview Ave.
`3401 Hillview Ave.
`Palo Alto, CA 94304
`Palo Alto, CA 94304
`www.vmware.com
`www.vmware.com
`
`Copyright © 2011–2018 VMware, Inc. All rights reserved. Copyright and trademark information.
`Copyright © 2011-2018 VMware, Inc. All rights reserved. Copyright and trademark information.
`
`VMware, Inc.
`VMware, Inc.
`
` 2
`2
`
`
`
`Contents
`Contents
`
`About This Book 12
`About This Book 12
`
`
`
`
`
`
`
`1 VMware vSphere and the vSphere Web Services SDK 14
`1 VMware vSphere and the vSphere Web Services SDK 14
`vSphere Web Services SDK 14
`vSphere Web Services SDK 14
`SDK Developer Setup for the Web Services SDK 15
`SDK Developer Setup for the Web Services SDK 15
`SDK Samples for the Web Services SDK 15
`SDK Samples for the Web Services SDK 15
`UML Diagrams Used in the Web Services SDK Programming Guide 15
`UML Diagrams Used in the Web Services SDK Programming Guide 15
`
`2 vSphere Web Services API Programming Model 16
`2 vSphere Web Services API Programming Model 16
`vSphere Client-Server Architecture 16
`vSphere Client-Server Architecture 16
`Web Services API as a Web Service 17
`Web Services API as a Web Service 17
`WSDL Files and the Client-Side Proxy Interface 17
`WSDL Files and the Client-Side Proxy Interface 17
`Network Access to the vSphere Web Service 18
`Network Access to the vSphere Web Service 18
`Language-Specific Classes and Methods 19
`Language-Specific Classes and Methods 19
`Mapping XML Data Types to Java and C# Data Types 20
`Mapping XML Data Types to Java and C# Data Types 20
`Access to Managed Objects 20
`Access to Managed Objects 20
`Access to vSphere Server Data 21
`Access to vSphere Server Data 21
`Obtaining Information from a Server 21
`Obtaining Information from a Server 21
`Working with Data Structures 22
`Working with Data Structures 22
`Accessing Property Values 22
`Accessing Property Values 22
`Nested Properties and Property Paths in Composite Data Structures 23
`Nested Properties and Property Paths in Composite Data Structures 23
`xsd:anyType Arrays 23
`xsd:anyType Arrays 23
`Indexed Array and Key-Based Array Properties 26
`Indexed Array and Key-Based Array Properties 26
`Unset Optional Properties 26
`Unset Optional Properties 26
`Escape Character in Name and Path Properties 27
`Escape Character in Name and Path Properties 27
`
`3 Client Applications for the Web Services API 28
`3 Client Applications for the Web Services API 28
`vCenter Server Connections 28
`vCenter Server Connections 28
`Establishing a Single Sign-On Session with a vCenter Server 29
`Establishing a Single Sign-On Session with a vCenter Server 29
`LoginByToken to vCenter Server By Using C# 29
`LoginByToken to vCenter Server By Using C# 29
`vCenter Server Single Sign On Session Using C# 29
`vCenter Server Single Sign On Session Using C# 29
`Persistent vCenter Server Sessions 30
`Persistent vCenter Server Sessions 30
`Sample Code 30
`Sample Code 30
`Using LoginByToken in C# 30
`Using LoginByToken in C# 30
`LoginByToken to vCenter Server By Using Java 36
`LoginByToken to vCenter Server By Using Java 36
`vCenter Server Single Sign-On Session Using Java 36
`vCenter Server Single Sign-On Session Using Java 36
`HTTP and SOAP Header Handlers in Java 36
`HTTP and SOAP Header Handlers in Java 36
`Creating the HTTP Connection in Java 38
`Creating the HTTP Connection in Java 38
`
`VMware, Inc.
`VMware, Inc.
`
` 3
`3
`
`
`
`vSphere Web Services SDK Programming Guide
`vSphere Web Services SDK Programming Guide
`
`Using LoginByToken in Java 39
`Using LoginByToken in Java 39
`Establishing a Session with Username and Password Credentials 42
`Establishing a Session with Username and Password Credentials 42
`Overview of a Java Sample Application for the Web Services SDK 42
`Overview of a Java Sample Application for the Web Services SDK 42
`Build a Simple vSphere Client Application for the Web Services SDK 43
`Build a Simple vSphere Client Application for the Web Services SDK 43
`Java Client Example for the Web Services SDK 44
`Java Client Example for the Web Services SDK 44
`Web Server Session Token 46
`Web Server Session Token 46
`Accessing the vSphere Web Services HTTP Endpoint with JAX-WS 47
`Accessing the vSphere Web Services HTTP Endpoint with JAX-WS 47
`Accessing the vSphere Server from a Web Services Client 49
`Accessing the vSphere Server from a Web Services Client 49
`Closing the Connection from a Web Services Client 50
`Closing the Connection from a Web Services Client 50
`Using the Java Samples as Reference 50
`Using the Java Samples as Reference 50
`Multiple Versions of the vSphere API 52
`Multiple Versions of the vSphere API 52
`Java and C# Sample Applications in the Web Services SDK 53
`Java and C# Sample Applications in the Web Services SDK 53
`Java Samples in the Web Services SDK 53
`Java Samples in the Web Services SDK 53
`C# Samples in the Web Services SDK 53
`C# Samples in the Web Services SDK 53
`
`
`
`
`
`4 Datacenter Inventory 55
`4 Datacenter Inventory 55
`Inventory Overview for the Web Services SDK 55
`Inventory Overview for the Web Services SDK 55
`Inventory Hierarchies and ServiceInstance 55
`Inventory Hierarchies and Servicelnstance 55
`Folders in the Hierarchy 56
`Folders in the Hierarchy 56
`ESXi Inventory Hierarchy 57
`ESXi Inventory Hierarchy 57
`Accessing Inventory Objects 57
`Accessing Inventory Objects 57
`Creating Inventory Objects 58
`Creating Inventory Objects 58
`Privileges Required for Inventory Management 59
`Privileges Required for Inventory Management 59
`Privileges 59
`Privileges 59
`Permissions 59
`Permissions 59
`Managed and Standalone ESXi Hosts 60
`Managed and Standalone ESXi Hosts 60
`
`5 Property Collector 62
`5 Property Collector 62
`Introduction to the PropertyCollector 62
`Introduction to the PropertyCollector 62
`Data Retrieval 63
`Data Retrieval 63
`Inventory Traversal and Object Selection 63
`Inventory Traversal and Object Selection 63
`vSphere Data Objects for Property Collection 63
`vSphere Data Objects for Property Collection 63
`vSphere Methods for Property Collection 64
`vSphere Methods for Property Collection 64
`Retrieve Properties with the PropertyCollector 64
`Retrieve Properties with the PropertyCollector 64
`Simple Property Collector Program in Java for Web Services SDK 67
`Simple Property Collector Program in Java for Web Services SDK 67
`Inventory Traversal 72
`Inventory Traversal 72
`TraversalSpec Traversal 72
`TraversalSpec Traversal 72
`Traverse the Inventory By Using the Property Collector 74
`Traverse the Inventory By Using the Property Collector 74
`Inventory Traversal Example in Java 75
`Inventory Traversal Example in Java 75
`SelectionSpec Traversal 80
`SelectionSpec Traversal 80
`Client Data Synchronization (WaitForUpdatesEx) 86
`Client Data Synchronization (WaitForUpdatesEx) 86
`Property Filters 87
`Property Filters 87
`
`VMware, Inc.
`VMware, Inc.
`
` 4
`4
`
`
`
`vSphere Web Services SDK Programming Guide
`vSphere Web Services SDK Programming Guide
`
`WaitForUpdatesEx 87
`WaitForUpdatesEx 87
`Server Data Transmission 89
`Server Data Transmission 89
`PropertyCollector Performance 89
`PropertyCollector Performance 89
`SearchIndex 90
`Searchlndex 90
`
`6 Authentication and Authorization 91
`6 Authentication and Authorization 91
`Objects for Authentication and Authorization Management 91
`Objects for Authentication and Authorization Management 91
`Authentication and Authorization for ESXi and vCenter Server 92
`Authentication and Authorization for ESXi and vCenter Server 92
`ESXi User Model 93
`ESXi User Model 93
`vCenter Server User Model 94
`vCenter Server User Model 94
`vSphere Security Model 94
`vSphere Security Model 94
`Setting Up Users, Groups, and Permissions 96
`Setting Up Users, Groups, and Permissions 96
`Obtaining User and Group Information from UserDirectory 96
`Obtaining User and Group Information from UserDirectory 96
`RetrieveUserGroups Method 97
`RetrieveUserGroups Method 97
`Managing ESXi Users with HostLocalAccountManager 97
`Managing ESXi Users with HostLocalAccountManager 97
`Methods Available for Local Account Management 98
`Methods Available for Local Account Management 98
`Create a Local User Account on an ESXi System 98
`Create a Local User Account on an ESXi System 98
`Managing Roles and Permissions with AuthorizationManager 99
`Managing Roles and Permissions with AuthorizationManager 99
`Using Roles to Consolidate Sets of Privileges 100
`Using Roles to Consolidate Sets of Privileges 100
`Modifying Sample Roles to Create New Roles 101
`Modifying Sample Roles to Create New Roles 101
`Granting Privileges Through Permissions 102
`Granting Privileges Through Permissions 102
`Authenticating Users Through SessionManager 104
`Authenticating Users Through SessionManager 104
`Using VMware Single Sign On for vCenter Server Sessions 105
`Using VMware Single Sign On for vCenter Server Sessions 105
`Using the Credential Store for Automated Login 105
`Using the Credential Store for Automated Login 105
`Credential Store Libraries 106
`Credential Store Libraries 106
`Credential Store Methods 106
`Credential Store Methods 106
`Credential Store Backing File 107
`Credential Store Backing File 107
`Credential Store Samples 107
`Credential Store Samples 107
`Specifying Roles and Users with the Credential Store 108
`Specifying Roles and Users with the Credential Store 108
`Managing Licenses with LicenseManager 109
`Managing Licenses with LicenseManager 109
`
`7 Hosts 110
`7 Hosts 110
`Host Management Objects 110
`Host Management Objects 110
`Retrieving Host Information 111
`Retrieving Host Information 111
`Configuring and Reconfiguring Hosts 112
`Configuring and Reconfiguring Hosts 112
`Managing the Host Lifecycle 112
`Managing the Host Lifecycle 112
`Reboot and Shutdown 112
`Reboot and Shutdown 112
`Using Standby Mode 112
`Using Standby Mode 112
`Disconnecting and Reconnecting Hosts 113
`Disconnecting and Reconnecting Hosts 113
`Querying and Changing the Host Time 113
`Querying and Changing the Host Time 113
`Querying Virtual Machine Memory Overhead 114
`Querying Virtual Machine Memory Overhead 114
`
`
`
`
`
`
`
`VMware, Inc.
`VMware, Inc.
`
` 5
`5
`
`
`
`vSphere Web Services SDK Programming Guide
`vSphere Web Services SDK Programming Guide
`
`8 Storage 115
`8 Storage 115
`Storage Management Objects 115
`Storage Management Objects 115
`Introduction to Storage 116
`Introduction to Storage 116
`How Virtual Machines Access Storage 117
`How Virtual Machines Access Storage 117
`Datastores 118
`Datastores 118
`Choosing the Storage API to Use 119
`Choosing the Storage API to Use 119
`Managed Objects for Working with Storage 120
`Managed Objects for Working with Storage 120
`Configuring Disk Partitions 120
`Configuring Disk Partitions 120
`Multipath Management 121
`Multipath Management 121
`Configuring iSCSI Storage 121
`Configuring iSCSI Storage 121
`Configure the VMkernel To Support Software iSCSI 122
`Configure the VMkernel To Support Software iSCSI 122
`Configure iSCSI Initiators 123
`Configure iSCSI Initiators 123
`Creating and Managing Datastores 124
`Creating and Managing Datastores 124
`Accessing Datastores 125
`Accessing Datastores 125
`Creating and Modifying a VMFS Datastore 125
`Creating and Modifying a VMFS Datastore 125
`Removing and Updating Datastores 127
`Removing and Updating Datastores 127
`Managing VMFS Datastores with HostStorageSystem 127
`Managing VMFS Datastores with HostStorageSystem 127
`Managing VMFS Volume Copies (Resignaturing) 128
`Managing VMFS Volume Copies (Resignaturing) 128
`Resignaturing Volumes with ResignatureUnresolvedVmfsVolume_Task 129
`Resignaturing Volumes with ResignatureUnresolvedVmfsVolume_Task 129
`Managing Diagnostic Partitions 129
`Managing Diagnostic Partitions 129
`Retrieving Diagnostic Partition Information 130
`Retrieving Diagnostic Partition Information 130
`Create a Diagnostic Partition 130
`Create a Diagnostic Partition 130
`Sample Code Reference 131
`Sample Code Reference 131
`
`
`
`9 vSphere Networks 132
`9 vSphere Networks 132
`Virtual Switches 132
`Virtual Switches 132
`Port Groups 132
`Port Groups 132
`Virtual Machine Network Interfaces 133
`Virtual Machine Network Interfaces 133
`VMkernel Network Interfaces 133
`VMkernel Network Interfaces 133
`Physical Network Adapter (pnic) 134
`Physical Network Adapter (pnic) 134
`Using a Distributed Virtual Switch 134
`Using a Distributed Virtual Switch 134
`Distributed Virtual Switch Configuration 135
`Distributed Virtual Switch Configuration 135
`Backup, Rollback, and Query Operations 136
`Backup, Rollback, and Query Operations 136
`VMware Standard Virtual Switch 137
`VMware Standard Virtual Switch 137
`Configuring a Standard Virtual Switch 137
`Configuring a Standard Virtual Switch 137
`vNetwork Standard Switch Environment 138
`vNetwork Standard Switch Environment 138
`Setting Up Networking with vSS 139
`Setting Up Networking with vSS 139
`Defining the Host Network Policies 141
`Defining the Host Network Policies 141
`NIC Teaming 141
`NIC Teaming 141
`Setting Up IPv6 Networking 142
`Setting Up IPv6 Networking 142
`Adding Networking Services 143
`Adding Networking Services 143
`Sample Code Reference 144
`Sample Code Reference 144
`
`VMware, Inc.
`VMware, Inc.
`
` 6
`6
`
`
`
`vSphere Web Services SDK Programming Guide
`vSphere Web Services SDK Programming Guide
`
`
`
`
`
`10 Virtual Machine Configuration 146
`10 Virtual Machine Configuration 146
`VirtualMachine Management Objects and Methods 146
`VirtualMachine Management Objects and Methods 146
`Creating Virtual Machines and Virtual Machine Templates 147
`Creating Virtual Machines and Virtual Machine Templates 147
`Creating a Virtual Machine Using VirtualMachineConfigSpec 147
`Creating a Virtual Machine Using VirtualMachineConfigSpec 147
`Creating Virtual Machine Templates 149
`Creating Virtual Machine Templates 149
`Cloning a Virtual Machine 149
`Cloning a Virtual Machine 149
`Converting a Template to a Virtual Machine 150
`Converting a Template to a Virtual Machine 150
`Accessing Information About a Virtual Machine 150
`Accessing Information About a Virtual Machine 150
`Configuring a Virtual Machine 151
`Configuring a Virtual Machine 151
`Name and Location 152
`Name and Location 152
`Hardware Version 153
`Hardware Version 153
`Boot Options 153
`Boot Options 153
`Operating System 154
`Operating System 154
`CPU and Memory Information 154
`CPU and Memory Information 154
`Networks 155
`Networks 155
`Fibre Channel NPIV Settings 156
`Fibre Channel NPIV Settings 156
`File Locations 156
`File Locations 156
`Adding Devices to Virtual Machines 157
`Adding Devices to Virtual Machines 157
`Performing Virtual Machine Power Operations 158
`Performing Virtual Machine Power Operations 158
`Registering and Unregistering Virtual Machines 160
`Registering and Unregistering Virtual Machines 160
`Customizing the Guest Operating System 160
`Customizing the Guest Operating System 160
`Installing VMware Tools 161
`Installing VMware Tools 161
`Upgrading a Virtual Machine 162
`Upgrading a Virtual Machine 162
`
`11 Virtual Machine Management 163
`11 Virtual Machine Management 163
`Virtual Machine Migration 163
`Virtual Machine Migration 163
`Cold Migration 164
`Cold Migration 164
`Migration with VMotion 164
`Migration with VMotion 164
`Using Storage VMotion 164
`Using Storage VMotion 164
`Snapshots 164
`Snapshots 164
`Creating a Snapshot 165
`Creating a Snapshot 165
`Reverting to a Snapshot 166
`Reverting to a Snapshot 166
`Deleting a Snapshot 166
`Deleting a Snapshot 166
`Linked Virtual Machines 166
`Linked Virtual Machines 166
`Linked Virtual Machines and Disk Backings 166
`Linked Virtual Machines and Disk Backings 166
`Creating a Linked Virtual Machine 167
`Creating a Linked Virtual Machine 167
`Instant Clone Virtual Machines 169
`Instant Clone Virtual Machines 169
`Removing Snapshots and Deleting Linked Virtual Machines 175
`Removing Snapshots and Deleting Linked Virtual Machines 175
`Relocating a Virtual Machine in a Linked Virtual Machine Group 175
`Relocating a Virtual Machine in a Linked Virtual Machine Group 175
`Promoting a Virtual Machine's Disk 176
`Promoting a Virtual Machine's Disk 176
`Performing Advanced Manipulation of Delta Disks 177
`Performing Advanced Manipulation of Delta Disks 177
`
`VMware, Inc.
`VMware, Inc.
`
` 7
`7
`
`
`
`vSphere Web Services SDK Programming Guide
`vSphere Web Services SDK Programming Guide
`
`
`
`
`
`12 Virtual Machine Encryption APIs 178
`12 Virtual Machine Encryption APIs 178
`How Virtual Machine Encryption Protects a Datacenter 178
`How Virtual Machine Encryption Protects a Datacenter 178
`What Keys are Used 178
`What Keys are Used 178
`What Is Encrypted 179
`What Is Encrypted 179
`What Is Not Encrypted 179
`What Is Not Encrypted 179
`Who Can Perform Cryptographic Operations 180
`Who Can Perform Cryptographic Operations 180
`How Can I Perform Cryptographic Operations 180
`How Can I Perform Cryptographic Operations 180
`vSphere Virtual Machine Encryption Components 180
`vSphere Virtual Machine Encryption Components 180
`Key Management Server 181
`Key Management Server 181
`vCenter Server 181
`vCenter Server 181
`ESXi Hosts 182
`ESXi Hosts 182
`Encryption Process Flow 182
`Encryption Process Flow 182
`Prerequisites and Required Privileges for Encryption Tasks 183
`Prerequisites and Required Privileges for Encryption Tasks 183
`Cryptography Privileges and Roles 183
`Cryptography Privileges and Roles 183
`Host Encryption Mode 183
`Host Encryption Mode 183
`Encrypted vSphere vMotion 184
`Encrypted vSphere vMotion 184
`API Methods for vSphere Virtual Machine Encryption 184
`API Methods for vSphere Virtual Machine Encryption 184
`vSphere API Methods for KMS Management 184
`vSphere API Methods for KMS Management 184
`API Methods to Prepare an ESXi Host 185
`API Methods to Prepare an ESXi Host 185
`vSphere API Methods for Cryptographic Operations 186
`vSphere API Methods for Cryptographic Operations 186
`SPBM API Methods for Encryption 187
`SPBM API Methods for Encryption 187
`Workflows for vSphere Virtual Machine Encryption 187
`Workflows for vSphere Virtual Machine Encryption 187
`Set Up the Key Management Server Cluster 187
`Set Up the Key Management Server Cluster 187
`Create an Encryption Storage Policy 190
`Create an Encryption Storage Policy 190
`Create an Encrypted Virtual Machine 193
`Create an Encrypted Virtual Machine 193
`Clone an Encrypted Virtual Machine 194
`Clone an Encrypted Virtual Machine 194
`Encrypt an Existing Virtual Machine or Disk 195
`Encrypt an Existing Virtual Machine or Disk 195
`Decrypt an Encrypted Virtual Machine or Disk 195
`Decrypt an Encrypted Virtual Machine or Disk 195
`Encrypt Using Different Keys 196
`Encrypt Using Different Keys 196
`Recrypting Encrypted Virtual Machines 197
`Recrypting Encrypted Virtual Machines 197
`Encrypted vSphere vMotion 198
`Encrypted vSphere vMotion 198
`Virtual Disk Manager 198
`Virtual Disk Manager 198
`Best Practices 199
`Best Practices 199
`
`13 Virtual Applications 201
`13 Virtual Applications 201
`About Virtual Applications 201
`About Virtual Applications 201
`Management Overview 201
`Management Overview 201
`Direct and Linked Children 202
`Direct and Linked Children 202
`OVF Packages 203
`OVF Packages 203
`Creating a VirtualApp 203
`Creating a VirtualApp 203
`Managing VirtualApp Children 204
`Managing VirtualApp Children 204
`
`VMware, Inc.
`VMware, Inc.
`
` 8
`8
`
`
`
`vSphere Web Services SDK Programming Guide
`vSphere Web Services SDK Programming Guide
`
`Exporting a Virtual Application 204
`Exporting a Virtual Application 204
`VirtualApp and OvfManager Methods 205
`VirtualApp and OvfManager Methods 205
`VirtualApp Data Structures 206
`VirtualApp Data Structures 206
`OvfManager Data Structures 207
`OvfManager Data Structures 207
`Example of Generating an OVF Package 208
`Example of Generating an OVF Package 208
`Importing an OVF Package 209
`Importing an OVF Package 209
`Virtual Application Life Cycle 210
`Virtual Application Life Cycle 210
`Powering a Virtual Application On or Off 210
`Powering a Virtual Application On or Off 210
`Unregistering a Virtual Application 211
`Unregistering a Virtual Application 211
`Suspending a Virtual Application 211
`Suspending a Virtual Application 211
`Destroying a Virtual Application 211
`Destroying a Virtual Application 211
`
`
`
`
`
`14 Resource Management 212
`14 Resource Management 212
`Resource Management Objects 212
`Resource Management Objects 212
`Introduction to Resource Management 213
`Introduction to Resource Management 213
`Resource Allocation 213
`Resource Allocation 213
`Resource Pool Hierarchies 214
`Resource Pool Hierarchies 214
`Resource Pool Management Guidelines 214
`Resource Pool Management Guidelines 214
`Cluster Overview 215
`Cluster Overview 215
`Creating and Configuring Resource Pools 215
`Creating and Configuring Resource Pools 215
`Understanding Expandable Reservation 216
`Understanding Expandable Reservation 216
`Deleting Child Resource Pools 217
`Deleting Child Resource Pools 217
`Moving Resource Pools or Virtual Machines Into a Resource Pool 217
`Moving Resource Pools or Virtual Machines Into a Resource Pool 217
`Introduction to VMware DRS and VMware HA Clusters 218
`Introduction to VMware DRS and VMware HA Clusters 218
`VMware DRS 218
`VMware DRS 218
`VMware HA 219
`VMware HA 219
`Creating and Configuring Clusters 219
`Creating and Configuring Clusters 219
`Creating a Cluster 219
`Creating a Cluster 219
`Adding a Host to a Cluster 220
`Adding a Host to a Cluster 220
`Reconfiguring a Cluster 220
`Reconfiguring a Cluster 220
`Managing DRS Clusters 221
`Managing DRS Clusters 221
`Managing HA Clusters 221
`Managing HA Clusters 221
`Primary and Secondary Hosts 221
`Primary and Secondary Hosts 221
`Failure Detection and Host Network Isolation 222
`Failure Detection and Host Network Isolation 222
`Using VMware HA and DRS Together 222
`Using VMware HA and DRS Together 222
`
`15 Tasks and Scheduled Tasks 224
`15 Tasks and Scheduled Tasks 224
`Creating Tasks 224
`Creating Tasks 224
`Session Persistence 225
`Session Persistence 225
`Cancelling a Task 225
`Cancelling a Task 225
`Using TaskInfo to Determine Task Status 225
`Using Tasklnfo to Determine Task Status 225
`Monitoring TaskInfo Properties 226
`Monitoring Tasklnfo Properties 226
`
`VMware, Inc.
`VMware, Inc.
`
` 9
`9
`
`
`
`vSphere Web Services SDK Programming Guide
`vSphere Web Services SDK Programming Guide
`
`Accessing and Manipulating Multiple Tasks 227
`Accessing and Manipulating Multiple Tasks 227
`Gathering Data with a ViewManager Object 228
`Gathering Data with a ViewManager Object 228
`Gathering Data with a TaskManager Interface 238
`Gathering Data with a TaskManager Interface 238
`Understanding the ScheduledTaskManager Interface 240
`Understanding the ScheduledTaskManager Interface 240
`Scheduling Tasks 241
`Scheduling Tasks 241
`Cancelling a Scheduled Task 244
`Cancelling a Scheduled Task 244
`Using a TaskHistoryCollector 245
`Using a TaskHistoryCollector 245
`Managing the HistoryCollector 245
`Managing the HistoryCollector 245
`Sample Code Reference 246
`Sample Code Reference 246
`
`
`
`
`
`16 Events and Alarms 248
`16 Events and Alarms 248
`Event and Alarm Management Objects 248
`Event and Alarm Management Objects 248
`Understanding Events 249
`Understanding Events 249
`Managing Events with EventManager 249
`Managing Events with EventManager 249
`Event Data Objects 250
`Event Data Objects 250
`Formatting Event Message Content 251
`Formatting Event Message Content 251
`Creating Custom Events 251
`Creating Custom Events 251
`Using an EventHistoryCollector 253
`Using an EventHistoryCollector 253
`Creating an EventHistoryCollector Filter 254
`Creating an EventHistoryCollector Filter 254
`Managing the HistoryCollector 254
`Managing the HistoryCollector 254
`Using Alarms 254
`Using Alarms 254
`Obtaining a List of Alarms 255
`Obtaining a List of Alarms 255
`Creating an Alarm 255
`Creating an Alarm 255
`Defining Alarms Using the AlarmSpec Data Object 256
`Defining Alarms Using the AlarmSpec Data Object 256
`Specifying Alarm Trigger Conditions with AlarmExpression 257
`Specifying Alarm Trigger Conditions with AlarmExpression 257
`Specifying Alarm Actions 258
`Specifying Alarm Actions 258
`Deleting or Disabling an Alarm 259
`Deleting or Disabling an Alarm 259
`Sample Code Reference 259
`Sample Code Reference 259
`
`17 vSphere Performance 261
`17 vSphere Performance 261
`vSphere Performance Data Collection 261
`vSphere Performance Data Collection 261
`PerformanceManager Objects and Methods 263
`PerformanceManager Objects and Methods 263
`Retrieving vSphere Performance Data 265
`Retrieving vSphere Performance Data 265
`Performance Counter Example (QueryPerf) 266
`Performance Counter Example (QueryPerf) 266
`Large-Scale Performance Data Retrieval 274
`Large-Scale Performance Data Retrieval 274
`Using the QueryPerf Method as a Raw Data Feed 275
`Using the QueryPerf Method as a Raw Data Feed 275
`Comparison of Query Methods 275
`Comparison of Query Methods 275
`Retrieving Summary Performance Data 276
`Retrieving Summary Performance Data 276
`Performance Counter Metadata 276
`Performance Counter Metadata 276
`PerfCounterInfo 276
`PerfCounterinfo 276
`Performance Intervals 277
`Performance Intervals 277
`ESXi Server Performance Intervals 278
`ESXi Server Performance Intervals 278
`
`VMware, Inc.
`VMware, Inc.
`
` 10
`10
`
`
`
`vSphere Web Services SDK Programming Guide
`vSphere Web Services SDK Programming Guide
`
`vCenter Server Performance Intervals 278
`vCenter Server Performance Intervals 278
`vSphere Performance and Data Storage 279
`vSphere Performance and Data Storage 279
`Modifying Historical Intervals 279
`Modifying Historical Intervals 279
`Modifying Performance Counter Collection Levels 280
`Modifying Performance Counter Collection Levels 280
`Sample Code Reference 281
`Sample Code Reference 281
`
`18 Diagnostics and Troubleshooting 283
`18 Diagnostics and Troubleshooting 283
`Troubleshooting Best Practices 283
`Troubleshooting Best Practices 283
`Overview of Configuration Files and Log Files 284
`Overview of Configuration Files and Log Files 284
`ESXi Log File 285
`ESXi Log File 285
`Virtual Machine Log Files 285
`Virtual Machine Log Files 285
`vCenter Server Log Files 286
`vCenter Server Log Files 286
`Modifying the Log Level to Obtain Detailed Information 286
`Modifying the Log Level to Obtain Detailed Information 286
`Setting the Log Level on ESXi Systems 287
`Setting the Log Level on ESXi Systems 287
`Generating Logs 287
`Generating Logs 287
`Setting the Log Level on vCenter Server Systems 288
`Setting the Log Level on vCenter Server Systems 288
`Using DiagnosticManager 288
`Using DiagnosticManager 288
`Using the MOB to Explore the DiagnosticManager 290
`Using the MOB to Explore the DiagnosticManager 290
`Generating Diagnostic Bundles 291
`Generating Diagnostic Bundles 291
`Export Diagnostic Data By Using the vSphere Client 291
`Export Diagnostic Data By Using the vSphere Client 291
`
`19 Managed Object Browser 292
`19 Managed Object Browser 292
`Using the MOB to Explore the Object Model 292
`Using the MOB to Explore the Object Model 292
`Accessing the MOB 292
`Accessing the MOB 292
`Using the MOB to Navigate the VMware Infrastructure Object Model 293
`Using the MOB to Navigate the VMware Infrastructure Object Model 293
`Using the MOB to Invoke Methods 294
`Using the MOB to Invoke Methods 294
`Passing Primitive Datatypes to Method 294
`Passing Primitive Datatypes to Method 294
`Passing Arrays of Primitives to Methods 294
`Passing Arrays of Primitives to Methods 294
`Passing Complex Structures to Methods 295
`Passing Complex Structures to Methods 295
`Using the MOB Along With the API Reference 298
`Using the MOB Along With the API Reference 298
`
`20 HTTP Access to vSphere Server Files 300
`20 HTTP Access to vSphere Server Files 300
`Introduction to HTTP Access 300
`Introduction to HTTP Access 300
`URL Syntax for HTTP Access 301
`URL Syntax for HTTP Access 301
`Datastore Access (/folder) 301
`Datastore Access (/folder) 301
`Host File Access (/host) 302
`Host File Access (/host) 302
`Update Package Access (/tmp) 303
`Update Package Access (/tmp) 303
`Privilege Requirements for HTTP Access 303
`Privilege Requirements for HTTP Access 303
`
`21 Sample Program Overview 304
`21 Sample Program Overview 304
`Java Sample Programs (JAXWS Bindings) 304
`Java Sample Programs (JAXWS Bindings) 304
`C# Sample Programs 308
`C# Sample Programs 308
`
`
`
`
`
`
`
`
`
`VMware, Inc.
`VMware, Inc.
`
` 11
`11
`
`
`
`About This Book
`About This Book
`
`The vSphere Web Services SDK Programming Guide provides information about developing applications
`The vSphere Web Services SDK Programming Guide provides information about developing applications
`using the VMware® vSphere Web Services SDK 6.7.
`using the VMware® vSphere Web Services SDK 6.7.
`VMware provides different APIs and SDKs for various applications and goals. The vSphere Web Services
`VMware provides different APIs and SDKs for various applications and goals. The vSphere Web Services
`SDK targets developers who create client applications for managing VMware® vSphere components
`SDK targets developers who create client applications for managing VMware® vSphere components
`available on VMware ESXi and VMware vCenter Server systems.
`available on VMware ESXi and VMware vCenter Server systems.
`
`To view the current version of this book as well as all VMware API and SDK documentation, go to
`To view the current version of this book as well as all VMware API and SDK documentation, go to
`http://www.vmware.com/support/pubs/sdk_pubs.html.
`http://www.vmware.com/support/pubs/sdk_pubs.html.
`
`Revision History
`Revision History
`This book is revised with each release of the product or when necessary. A revised version can contain
`This book is revised with each release of the product or when necessary. A revised version can contain
`minor or major changes. The following table summarizes the significant changes in each version of this
`minor or major changes. The following table summarizes the significant changes in each version of this
`book.
`book.
`
`Table 1. Revision History
`Table 1. Revision History
`Revision Date
`Description
`Revision Date
`Description
`
`17APR2018
`1 7APR201 8
`
`vSphere 6.7 - GA
`vSphere 6.7 - GA
`Added Instant Clone material to VM Management chapter.
`Added Instant Clone material to VM Management chapter.
`Minor updates elsewhere.
`Minor updates elsewhere.
`
`12APR2017
`1 2APR201 7
`
`Removed appendix with list of permissions. Was not maintained.
`Removed appendix with list of permissions. Was not maintained.
`
`15NOV2016
`15NOV2016
`
`vSphere 6.5 - GA
`vSphere 6.5 - GA
`Added chapter about vSphere virtual machine encryption.
`Added chapter about vSphere virtual machine encryption.
`Removed description of deprecated CIM Storage Management API.
`Removed description of deprecated CIM Storage Management API.
`Updated information about session cookie management.
`Updated information about session cookie management.
`
`04SEP2015
`04SEP2015
`
`Updated information about migrating VMs with VMotion across data centers.
`Updated information about migrating VMs with VMotion across data centers.
`
`12MAR2015
`12MAR2015
`
`vSphere 6.0 - Rewrote “Exporting a Virtual Application” section in Virtual Applications chapter.
`vSphere 6.0 - Rewrote "Exporting a Virtual Application" section in Virtual Applications chapter.
`
`19SEP2013
`19SEP2013
`
`vSphere 5.5 – Added a C# example of using LoginByToken; clarified limitation for HA clusters.
`vSphere 5.5 — Added a C# example of using LoginByToken; clarified limitation for HA clusters.
`
`10SEP2012
`10SEP2012
`
`vSphere 5.1 – Added information about using the SessionManager.LoginByToken method; added information
`vSphere 5.1 —Added information about using the SessionManager.LoginByToken method; added information
`about distributed virtual switches.
`about distributed virtual switches.
`
`VMware, Inc.
`VMware, Inc.
`
` 12
`12
`
`
`
`vSphere Web Services SDK Programming Guide
`vSphere Web Services SDK Programming Guide
`
`Table 1. Revision History (Continued)
`Table 1. Revision History (Continued)
`Revision Date
`Description
`Revision Date
`Description
`
`24AUG2011
`24AUG2011
`
`vSphere 5.0 - Revised performance manager chapter. Added information about: unset properties, using
`vSphere 5.0 - Revised performance manager chapter. Added information about: unset properties

Accessing this document will incur an additional charge of $.
After purchase, you can access this document again without charge.
Accept $ ChargeStill Working On It
This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.
Give it another minute or two to complete, and then try the refresh button.
A few More Minutes ... Still Working
It can take up to 5 minutes for us to download a document if the court servers are running slowly.
Thank you for your continued patience.

This document could not be displayed.
We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.
You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.
Set your membership
status to view this document.
With a Docket Alarm membership, you'll
get a whole lot more, including:
- Up-to-date information for this case.
- Email alerts whenever there is an update.
- Full text search for other cases.
- Get email alerts whenever a new case matches your search.

One Moment Please
The filing “” is large (MB) and is being downloaded.
Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!
If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document
We are unable to display this document, it may be under a court ordered seal.
If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.
Access Government Site