<!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.3.0 Root Admin API Reference
								</span>
<p></p>
<h1>createDiskOffering</h1>
<p>Creates a disk 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>displaytext</strong></td><td style="width:500px;"><strong>alternate display text of the disk offering</strong></td><td style="width:180px;"><strong>true</strong></td>
</tr>
<tr>
<td style="width:200px;"><strong>name</strong></td><td style="width:500px;"><strong>name of the disk offering</strong></td><td style="width:180px;"><strong>true</strong></td>
</tr>
<tr>
<td style="width:200px;"><i>bytesreadrate</i></td><td style="width:500px;"><i>bytes read rate of the disk offering</i></td><td style="width:180px;"><i>false</i></td>
</tr>
<tr>
<td style="width:200px;"><i>byteswriterate</i></td><td style="width:500px;"><i>bytes write rate of the disk offering</i></td><td style="width:180px;"><i>false</i></td>
</tr>
<tr>
<td style="width:200px;"><i>customized</i></td><td style="width:500px;"><i>whether disk offering size is custom or not</i></td><td style="width:180px;"><i>false</i></td>
</tr>
<tr>
<td style="width:200px;"><i>customizediops</i></td><td style="width:500px;"><i>whether disk offering iops is custom or not</i></td><td style="width:180px;"><i>false</i></td>
</tr>
<tr>
<td style="width:200px;"><i>disksize</i></td><td style="width:500px;"><i>size of the disk offering in GB</i></td><td style="width:180px;"><i>false</i></td>
</tr>
<tr>
<td style="width:200px;"><i>displayoffering</i></td><td style="width:500px;"><i>an optional field, whether to display the offering to the end user or not.</i></td><td style="width:180px;"><i>false</i></td>
</tr>
<tr>
<td style="width:200px;"><i>domainid</i></td><td style="width:500px;"><i>the ID of the containing domain, null for public offerings</i></td><td style="width:180px;"><i>false</i></td>
</tr>
<tr>
<td style="width:200px;"><i>hypervisorsnapshotreserve</i></td><td style="width:500px;"><i>Hypervisor snapshot reserve space as a percent of a volume (for managed storage using Xen or VMware)</i></td><td style="width:180px;"><i>false</i></td>
</tr>
<tr>
<td style="width:200px;"><i>iopsreadrate</i></td><td style="width:500px;"><i>io requests read rate of the disk offering</i></td><td style="width:180px;"><i>false</i></td>
</tr>
<tr>
<td style="width:200px;"><i>iopswriterate</i></td><td style="width:500px;"><i>io requests write rate of the disk offering</i></td><td style="width:180px;"><i>false</i></td>
</tr>
<tr>
<td style="width:200px;"><i>maxiops</i></td><td style="width:500px;"><i>max iops of the disk offering</i></td><td style="width:180px;"><i>false</i></td>
</tr>
<tr>
<td style="width:200px;"><i>miniops</i></td><td style="width:500px;"><i>min iops of the disk offering</i></td><td style="width:180px;"><i>false</i></td>
</tr>
<tr>
<td style="width:200px;"><i>storagetype</i></td><td style="width:500px;"><i>the storage type of the disk offering. Values are local and shared.</i></td><td style="width:180px;"><i>false</i></td>
</tr>
<tr>
<td style="width:200px;"><i>tags</i></td><td style="width:500px;"><i>tags for the disk offering</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;">unique ID of the disk offering</td>
</tr>
<tr>
<td style="width:200px;"><strong>created</strong></td><td style="width:500px;">the date this disk offering was created</td>
</tr>
<tr>
<td style="width:200px;"><strong>diskBytesReadRate</strong></td><td style="width:500px;">bytes read rate of the disk offering</td>
</tr>
<tr>
<td style="width:200px;"><strong>diskBytesWriteRate</strong></td><td style="width:500px;">bytes write rate of the disk offering</td>
</tr>
<tr>
<td style="width:200px;"><strong>diskIopsReadRate</strong></td><td style="width:500px;">io requests read rate of the disk offering</td>
</tr>
<tr>
<td style="width:200px;"><strong>diskIopsWriteRate</strong></td><td style="width:500px;">io requests write rate of the disk offering</td>
</tr>
<tr>
<td style="width:200px;"><strong>disksize</strong></td><td style="width:500px;">the size of the disk offering in GB</td>
</tr>
<tr>
<td style="width:200px;"><strong>displayoffering</strong></td><td style="width:500px;">whether to display the offering to the end user or not.</td>
</tr>
<tr>
<td style="width:200px;"><strong>displaytext</strong></td><td style="width:500px;">an alternate display text of the disk offering.</td>
</tr>
<tr>
<td style="width:200px;"><strong>domain</strong></td><td style="width:500px;">the domain name this disk offering belongs to. Ignore this information as it is not currently applicable.</td>
</tr>
<tr>
<td style="width:200px;"><strong>domainid</strong></td><td style="width:500px;">the domain ID this disk offering belongs to. Ignore this information as it is not currently applicable.</td>
</tr>
<tr>
<td style="width:200px;"><strong>iscustomized</strong></td><td style="width:500px;">true if disk offering uses custom size, false otherwise</td>
</tr>
<tr>
<td style="width:200px;"><strong>iscustomizediops</strong></td><td style="width:500px;">true if disk offering uses custom iops, false otherwise</td>
</tr>
<tr>
<td style="width:200px;"><strong>maxiops</strong></td><td style="width:500px;">the max iops of the disk offering</td>
</tr>
<tr>
<td style="width:200px;"><strong>miniops</strong></td><td style="width:500px;">the min iops of the disk offering</td>
</tr>
<tr>
<td style="width:200px;"><strong>name</strong></td><td style="width:500px;">the name of the disk offering</td>
</tr>
<tr>
<td style="width:200px;"><strong>storagetype</strong></td><td style="width:500px;">the storage type for this disk offering</td>
</tr>
<tr>
<td style="width:200px;"><strong>tags</strong></td><td style="width:500px;">the tags for the disk offering</td>
</tr>
</table>
</div>
</div>
</div>
</div>
</div>
<div id="footer">
<div id="comments_thread">
<script type="text/javascript" src="https://comments.apache.org/show_comments.lua?site=test" async="true"></script>
<noscript>
<iframe width="930" height="500" src="https://comments.apache.org/iframe.lua?site=test&amp;page=4.3.0/rootadmin"></iframe>
</noscript>
</div>
<div id="footer_mainmaster">
<p>Copyright &copy; 2013 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, CloudStack, Apache CloudStack, the Apache CloudStack logo, the CloudMonkey logo  and the Apache feather logo are trademarks of The Apache Software Foundation.</p>
</div>
</div>
</div>
</div>
</body>
</html>
