<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 1.0 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="stylesheet" href="../includes/main.css" type="text/css">
<link rel="shortcut icon" href="../favicon.ico" type="image/x-icon">
<title>Apache CloudStack | The Power Behind Your Cloud</title>
</head>
<body>
<div id="insidetopbg">
<div id="inside_wrapper">
<div class="uppermenu_panel">
<div class="uppermenu_box"></div>
</div>
<div id="main_master">
<div id="inside_header">
<div class="header_top">
<a class="cloud_logo" href="http://cloudstack.org"></a>
<div class="mainemenu_panel"></div>
</div>
</div>
<div id="main_content">
<div class="inside_apileftpanel">
<div class="inside_contentpanel" style="width:930px;">
<div class="api_titlebox">
<div class="api_titlebox_left">
<span>
									Apache CloudStack v4.1.0 Root Admin API Reference
								</span>
<p></p>
<h1>updateServiceOffering</h1>
<p>Updates a service offering.</p>
</div>
<div class="api_titlebox_right">
<a class="api_backbutton" href="../TOC_Root_Admin.html"></a>
</div>
</div>
<div class="api_tablepanel">
<h2>Request parameters</h2>
<table class="apitable">
<tr class="hed">
<td style="width:200px;"><strong>Parameter Name</strong></td><td style="width:500px;">Description</td><td style="width:180px;">Required</td>
</tr>
<tr>
<td style="width:200px;"><strong>id</strong></td><td style="width:500px;"><strong>the ID of the service offering to be updated</strong></td><td style="width:180px;"><strong>true</strong></td>
</tr>
<tr>
<td style="width:200px;"><i>displaytext</i></td><td style="width:500px;"><i>the display text of the service offering to be updated</i></td><td style="width:180px;"><i>false</i></td>
</tr>
<tr>
<td style="width:200px;"><i>name</i></td><td style="width:500px;"><i>the name of the service offering to be updated</i></td><td style="width:180px;"><i>false</i></td>
</tr>
<tr>
<td style="width:200px;"><i>sortkey</i></td><td style="width:500px;"><i>sort key of the service offering, integer</i></td><td style="width:180px;"><i>false</i></td>
</tr>
</table>
</div>
<div class="api_tablepanel">
<h2>Response Tags</h2>
<table class="apitable">
<tr class="hed">
<td style="width:200px;"><strong>Response Name</strong></td><td style="width:500px;">Description</td>
</tr>
<tr>
<td style="width:200px;"><strong>id</strong></td><td style="width:500px;">the id of the service offering</td>
</tr>
<tr>
<td style="width:200px;"><strong>cpunumber</strong></td><td style="width:500px;">the number of CPU</td>
</tr>
<tr>
<td style="width:200px;"><strong>cpuspeed</strong></td><td style="width:500px;">the clock rate CPU speed in Mhz</td>
</tr>
<tr>
<td style="width:200px;"><strong>created</strong></td><td style="width:500px;">the date this service offering was created</td>
</tr>
<tr>
<td style="width:200px;"><strong>defaultuse</strong></td><td style="width:500px;">is this a  default system vm offering</td>
</tr>
<tr>
<td style="width:200px;"><strong>displaytext</strong></td><td style="width:500px;">an alternate display text of the service offering.</td>
</tr>
<tr>
<td style="width:200px;"><strong>domain</strong></td><td style="width:500px;">Domain name for the offering</td>
</tr>
<tr>
<td style="width:200px;"><strong>domainid</strong></td><td style="width:500px;">the domain id of the service offering</td>
</tr>
<tr>
<td style="width:200px;"><strong>hosttags</strong></td><td style="width:500px;">the host tag for the service offering</td>
</tr>
<tr>
<td style="width:200px;"><strong>issystem</strong></td><td style="width:500px;">is this a system vm offering</td>
</tr>
<tr>
<td style="width:200px;"><strong>limitcpuuse</strong></td><td style="width:500px;">restrict the CPU usage to committed service offering</td>
</tr>
<tr>
<td style="width:200px;"><strong>memory</strong></td><td style="width:500px;">the memory in MB</td>
</tr>
<tr>
<td style="width:200px;"><strong>name</strong></td><td style="width:500px;">the name of the service offering</td>
</tr>
<tr>
<td style="width:200px;"><strong>networkrate</strong></td><td style="width:500px;">data transfer rate in megabits per second allowed.</td>
</tr>
<tr>
<td style="width:200px;"><strong>offerha</strong></td><td style="width:500px;">the ha support in the service offering</td>
</tr>
<tr>
<td style="width:200px;"><strong>storagetype</strong></td><td style="width:500px;">the storage type for this service offering</td>
</tr>
<tr>
<td style="width:200px;"><strong>systemvmtype</strong></td><td style="width:500px;">is this a the systemvm type for system vm offering</td>
</tr>
<tr>
<td style="width:200px;"><strong>tags</strong></td><td style="width:500px;">the tags for the service offering</td>
</tr>
</table>
</div>
</div>
</div>
</div>
</div>
<div id="footer">
<div id="footer_mainmaster">
<p>Copyright &copy; 2012 The Apache Software Foundation, Licensed under the
                   <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0.</a>
<br>
                Apache and the Apache feather logo are trademarks of The Apache Software Foundation.</p>
</div>
</div>
</div>
</div>
</body>
</html>
