<!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 4.14.1.0-SNAPSHOT Root Admin API Reference
					</span>
                                        <p></p>
                                        <h1>listCapacity</h1>
                                        <p>Lists all the system wide capacities.</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;"><i>clusterid</i></td><td style="width:500px;"><i>lists capacity by the Cluster ID</i></td><td style="width:180px;"><i>false</i></td>
                                        </tr>
                                        <tr>
                                            <td style="width:200px;"><i>fetchlatest</i></td><td style="width:500px;"><i>recalculate capacities and fetch the latest</i></td><td style="width:180px;"><i>false</i></td>
                                        </tr>
                                        <tr>
                                            <td style="width:200px;"><i>keyword</i></td><td style="width:500px;"><i>List by keyword</i></td><td style="width:180px;"><i>false</i></td>
                                        </tr>
                                        <tr>
                                            <td style="width:200px;"><i>page</i></td><td style="width:500px;"><i></i></td><td style="width:180px;"><i>false</i></td>
                                        </tr>
                                        <tr>
                                            <td style="width:200px;"><i>pagesize</i></td><td style="width:500px;"><i></i></td><td style="width:180px;"><i>false</i></td>
                                        </tr>
                                        <tr>
                                            <td style="width:200px;"><i>podid</i></td><td style="width:500px;"><i>lists capacity by the Pod ID</i></td><td style="width:180px;"><i>false</i></td>
                                        </tr>
                                        <tr>
                                            <td style="width:200px;"><i>sortby</i></td><td style="width:500px;"><i>Sort the results. Available values: Usage</i></td><td style="width:180px;"><i>false</i></td>
                                        </tr>
                                        <tr>
                                            <td style="width:200px;"><i>type</i></td><td style="width:500px;"><i>lists capacity by type* CAPACITY_TYPE_MEMORY = 0* CAPACITY_TYPE_CPU = 1* CAPACITY_TYPE_STORAGE = 2* CAPACITY_TYPE_STORAGE_ALLOCATED = 3* CAPACITY_TYPE_VIRTUAL_NETWORK_PUBLIC_IP = 4* CAPACITY_TYPE_PRIVATE_IP = 5* CAPACITY_TYPE_SECONDARY_STORAGE = 6* CAPACITY_TYPE_VLAN = 7* CAPACITY_TYPE_DIRECT_ATTACHED_PUBLIC_IP = 8* CAPACITY_TYPE_LOCAL_STORAGE = 9* CAPACITY_TYPE_GPU = 19* CAPACITY_TYPE_CPU_CORE = 90.</i></td><td style="width:180px;"><i>false</i></td>
                                        </tr>
                                        <tr>
                                            <td style="width:200px;"><i>zoneid</i></td><td style="width:500px;"><i>lists capacity by the Zone ID</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>capacityallocated</strong></td><td style="width:500px;">the capacity currently in allocated</td>
                                        </tr>
                                        <tr>
                                            <td style="width:200px;"><strong>capacitytotal</strong></td><td style="width:500px;">the total capacity available</td>
                                        </tr>
                                        <tr>
                                            <td style="width:200px;"><strong>capacityused</strong></td><td style="width:500px;">the capacity currently in use</td>
                                        </tr>
                                        <tr>
                                            <td style="width:200px;"><strong>clusterid</strong></td><td style="width:500px;">the Cluster ID</td>
                                        </tr>
                                        <tr>
                                            <td style="width:200px;"><strong>clustername</strong></td><td style="width:500px;">the Cluster name</td>
                                        </tr>
                                        <tr>
                                            <td style="width:200px;"><strong>name</strong></td><td style="width:500px;">the capacity name</td>
                                        </tr>
                                        <tr>
                                            <td style="width:200px;"><strong>percentused</strong></td><td style="width:500px;">the percentage of capacity currently in use</td>
                                        </tr>
                                        <tr>
                                            <td style="width:200px;"><strong>podid</strong></td><td style="width:500px;">the Pod ID</td>
                                        </tr>
                                        <tr>
                                            <td style="width:200px;"><strong>podname</strong></td><td style="width:500px;">the Pod name</td>
                                        </tr>
                                        <tr>
                                            <td style="width:200px;"><strong>type</strong></td><td style="width:500px;">the capacity type</td>
                                        </tr>
                                        <tr>
                                            <td style="width:200px;"><strong>zoneid</strong></td><td style="width:500px;">the Zone ID</td>
                                        </tr>
                                        <tr>
                                            <td style="width:200px;"><strong>zonename</strong></td><td style="width:500px;">the Zone name</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.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>
