mirror of
				https://github.com/apache/cloudstack.git
				synced 2025-10-26 08:42:29 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			107 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
			
		
		
	
	
			107 lines
		
	
	
		
			5.6 KiB
		
	
	
	
		
			XML
		
	
	
	
	
	
| <!-- Licensed to the Apache Software Foundation (ASF) under one
 | |
|  or more contributor license agreements.  See the NOTICE file
 | |
|  distributed with this work for additional information
 | |
|  regarding copyright ownership.  The ASF licenses this file
 | |
|  to you under the Apache License, Version 2.0 (the
 | |
|  "License"); you may not use this file except in compliance
 | |
|  with the License.  You may obtain a copy of the License at
 | |
|  
 | |
|    http://www.apache.org/licenses/LICENSE-2.0
 | |
|  
 | |
|  Unless required by applicable law or agreed to in writing,
 | |
|  software distributed under the License is distributed on an
 | |
|  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 | |
|  KIND, either express or implied.  See the License for the
 | |
|  specific language governing permissions and limitations
 | |
|  under the License.
 | |
| -->
 | |
| 
 | |
| <section id="asynchronous-commands-example">
 | |
|     <title>Example</title>
 | |
|         <para>
 | |
|             The following shows an example of using an asynchronous command. Assume the API command:</para>
 | |
|         <programlisting>command=deployVirtualMachine&zoneId=1&serviceOfferingId=1&diskOfferingId=1&templateId=1
 | |
|         </programlisting>
 | |
|         <para>CloudStack will immediately return a job ID and any other additional data.</para>
 | |
|         <programlisting>
 | |
|          <deployvirtualmachineresponse> 
 | |
|               <jobid>1</jobid>
 | |
|              <id>100</id>
 | |
|          </deployvirtualmachineresponse>
 | |
|         </programlisting>
 | |
|         <para>Using the job ID, you can periodically poll for the results by using the queryAsyncJobResult command.</para>
 | |
|         <programlisting>command=queryAsyncJobResult&jobId=1</programlisting>
 | |
|         <para>Three possible results could come from this query.</para>
 | |
|         <para>Job is still pending:</para>
 | |
|         <programlisting>
 | |
|          <queryasyncjobresult> 
 | |
|               <jobid>1</jobid>
 | |
|               <jobstatus>0</jobstatus>
 | |
|               <jobprocstatus>1</jobprocstatus>
 | |
|          </queryasyncjobresult>
 | |
|         </programlisting>
 | |
|         <para>Job has succeeded:</para>
 | |
|         <programlisting>
 | |
|             <queryasyncjobresultresponse cloud-stack-version="3.0.1.6">
 | |
|                   <jobid>1</jobid>
 | |
|                   <jobstatus>1</jobstatus>
 | |
|                   <jobprocstatus>0</jobprocstatus>
 | |
|                  <jobresultcode>0</jobresultcode>
 | |
|                   <jobresulttype>object</jobresulttype>
 | |
|                   <jobresult>
 | |
|                     <virtualmachine>
 | |
|                     <id>450</id>
 | |
|                     <name>i-2-450-VM</name>
 | |
|                     <displayname>i-2-450-VM</displayname>
 | |
|                     <account>admin</account>
 | |
|                     <domainid>1</domainid>
 | |
|                     <domain>ROOT</domain>
 | |
|                     <created>2011-03-10T18:20:25-0800</created>
 | |
|                     <state>Running</state>
 | |
|                     <haenable>false</haenable>
 | |
|                     <zoneid>1</zoneid>
 | |
|                     <zonename>San Jose 1</zonename>
 | |
|                     <hostid>2</hostid>
 | |
|                     <hostname>905-13.sjc.lab.vmops.com</hostname>
 | |
|                     <templateid>1</templateid>
 | |
|                     <templatename>CentOS 5.3 64bit LAMP</templatename>
 | |
|                     <templatedisplaytext>CentOS 5.3 64bit LAMP</templatedisplaytext>
 | |
|                     <passwordenabled>false</passwordenabled>
 | |
|                     <serviceofferingid>1</serviceofferingid>
 | |
|                     <serviceofferingname>Small Instance</serviceofferingname>
 | |
|                     <cpunumber>1</cpunumber>
 | |
|                     <cpuspeed>500</cpuspeed>
 | |
|                     <memory>512</memory>
 | |
|                     <guestosid>12</guestosid>
 | |
|                     <rootdeviceid>0</rootdeviceid>
 | |
|                     <rootdevicetype>NetworkFilesystem</rootdevicetype>
 | |
|                     <nic>
 | |
|                       <id>561</id>
 | |
|                       <networkid>205</networkid>
 | |
|                       <netmask>255.255.255.0</netmask>
 | |
|                       <gateway>10.1.1.1</gateway>
 | |
|                       <ipaddress>10.1.1.225</ipaddress>
 | |
|                       <isolationuri>vlan://295</isolationuri>
 | |
|                       <broadcasturi>vlan://295</broadcasturi>
 | |
|                       <traffictype>Guest</traffictype>
 | |
|                       <type>Virtual</type>
 | |
|                       <isdefault>true</isdefault>
 | |
|                     </nic>
 | |
|                     <hypervisor>XenServer</hypervisor>
 | |
|                    </virtualmachine>
 | |
|                  </jobresult>
 | |
|             </queryasyncjobresultresponse>
 | |
|         </programlisting>
 | |
|         <para>Job has failed:</para>
 | |
|         <programlisting>
 | |
|             <queryasyncjobresult>
 | |
|                   <jobid>1</jobid> 
 | |
|                   <jobstatus>2</jobstatus> 
 | |
|                   <jobprocstatus>0</jobprocstatus>
 | |
|                   <jobresultcode>551</jobresultcode>
 | |
|                   <jobresulttype>text</jobresulttype>
 | |
|                   <jobresult>Unable to deploy virtual machine id = 100 due to not enough capacity</jobresult> 
 | |
|             </queryasyncjobresult>
 | |
|         </programlisting>    
 | |
|     </section>
 |