<!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.11.0 Root Admin API Reference
								</span>
<p></p>
<h1>createManagementNetworkIpRange</h1>
<p>Creates a Management network IP range.</p>
</div>
<div class="api_titlebox_right">
<a class="api_backbutton" href="../index.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>gateway</strong></td><td style="width:500px;"><strong>The gateway for the management network.</strong></td><td style="width:180px;"><strong>true</strong></td>
</tr>
<tr>
<td style="width:200px;"><strong>netmask</strong></td><td style="width:500px;"><strong>The netmask for the management network.</strong></td><td style="width:180px;"><strong>true</strong></td>
</tr>
<tr>
<td style="width:200px;"><strong>podid</strong></td><td style="width:500px;"><strong>UUID of POD, where the IP range belongs to.</strong></td><td style="width:180px;"><strong>true</strong></td>
</tr>
<tr>
<td style="width:200px;"><strong>startip</strong></td><td style="width:500px;"><strong>The starting IP address.</strong></td><td style="width:180px;"><strong>true</strong></td>
</tr>
<tr>
<td style="width:200px;"><i>endip</i></td><td style="width:500px;"><i>The ending IP address.</i></td><td style="width:180px;"><i>false</i></td>
</tr>
<tr>
<td style="width:200px;"><i>forsystemvms</i></td><td style="width:500px;"><i>Specify if range is dedicated for CPVM and SSVM.</i></td><td style="width:180px;"><i>false</i></td>
</tr>
<tr>
<td style="width:200px;"><i>vlan</i></td><td style="width:500px;"><i>Optional. The vlan id the ip range sits on, default to Null when it is not specificed which means you network is not on any Vlan</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 Pod</td>
</tr>
<tr>
<td style="width:200px;"><strong>allocationstate</strong></td><td style="width:500px;">the allocation state of the Pod</td>
</tr>
<tr>
<td style="width:200px;"><strong>endip</strong></td><td style="width:500px;">the ending IP for the Pod</td>
</tr>
<tr>
<td style="width:200px;"><strong>forsystemvms</strong></td><td style="width:500px;">indicates if range is dedicated for CPVM and SSVM</td>
</tr>
<tr>
<td style="width:200px;"><strong>gateway</strong></td><td style="width:500px;">the gateway of the Pod</td>
</tr>
<tr>
<td style="width:200px;"><strong>name</strong></td><td style="width:500px;">the name of the Pod</td>
</tr>
<tr>
<td style="width:200px;"><strong>netmask</strong></td><td style="width:500px;">the netmask of the Pod</td>
</tr>
<tr>
<td style="width:200px;"><strong>startip</strong></td><td style="width:500px;">the starting IP for the Pod</td>
</tr>
<tr>
<td style="width:200px;"><strong>vlanid</strong></td><td style="width:500px;">indicates Vlan ID for the range</td>
</tr>
<tr>
<td style="width:200px;"><strong>zoneid</strong></td><td style="width:500px;">the Zone ID of the Pod</td>
</tr>
<tr>
<td style="width:200px;"><strong>zonename</strong></td><td style="width:500px;">the Zone name of the Pod</td>
</tr>
<tr>
<td style="width:200px;"><strong>capacity(*)</strong></td><td style="width:500px;">the capacity of the Pod</td>
<tr>
<td style="width:180px; padding-left:25px;"><strong>capacityallocated</strong></td><td style="width:500px;">the capacity currently in allocated</td>
</tr>
<tr>
<td style="width:180px; padding-left:25px;"><strong>capacitytotal</strong></td><td style="width:500px;">the total capacity available</td>
</tr>
<tr>
<td style="width:180px; padding-left:25px;"><strong>capacityused</strong></td><td style="width:500px;">the capacity currently in use</td>
</tr>
<tr>
<td style="width:180px; padding-left:25px;"><strong>clusterid</strong></td><td style="width:500px;">the Cluster ID</td>
</tr>
<tr>
<td style="width:180px; padding-left:25px;"><strong>clustername</strong></td><td style="width:500px;">the Cluster name</td>
</tr>
<tr>
<td style="width:180px; padding-left:25px;"><strong>name</strong></td><td style="width:500px;">the capacity name</td>
</tr>
<tr>
<td style="width:180px; padding-left:25px;"><strong>percentused</strong></td><td style="width:500px;">the percentage of capacity currently in use</td>
</tr>
<tr>
<td style="width:180px; padding-left:25px;"><strong>podid</strong></td><td style="width:500px;">the Pod ID</td>
</tr>
<tr>
<td style="width:180px; padding-left:25px;"><strong>podname</strong></td><td style="width:500px;">the Pod name</td>
</tr>
<tr>
<td style="width:180px; padding-left:25px;"><strong>type</strong></td><td style="width:500px;">the capacity type</td>
</tr>
<tr>
<td style="width:180px; padding-left:25px;"><strong>zoneid</strong></td><td style="width:500px;">the Zone ID</td>
</tr>
<tr>
<td style="width:180px; padding-left:25px;"><strong>zonename</strong></td><td style="width:500px;">the Zone name</td>
</tr>
</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.2.0/rootadmin"></iframe>
</noscript>
</div>
<div id="footer_mainmaster">
<p>Copyright &copy; 2015 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>
