<!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.15.0.0 Root Admin API Reference
					</span>
                                        <p></p>
                                        <h1>listFirewallRules</h1>
                                        <p>Lists all firewall rules for an IP address.</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>account</i></td><td style="width:500px;"><i>list resources by account. Must be used with the domainId parameter.</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>list only resources belonging to the domain specified</i></td><td style="width:180px;"><i>false</i></td>
                                        </tr>
                                        <tr>
                                            <td style="width:200px;"><i>fordisplay</i></td><td style="width:500px;"><i>list resources by display flag; only ROOT admin is eligible to pass this parameter</i></td><td style="width:180px;"><i>false</i></td>
                                        </tr>
                                        <tr>
                                            <td style="width:200px;"><i>id</i></td><td style="width:500px;"><i>Lists rule with the specified ID.</i></td><td style="width:180px;"><i>false</i></td>
                                        </tr>
                                        <tr>
                                            <td style="width:200px;"><i>ipaddressid</i></td><td style="width:500px;"><i>the ID of IP address of the firewall services</i></td><td style="width:180px;"><i>false</i></td>
                                        </tr>
                                        <tr>
                                            <td style="width:200px;"><i>isrecursive</i></td><td style="width:500px;"><i>defaults to false, but if true, lists all resources from the parent specified by the domainId till leaves.</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>listall</i></td><td style="width:500px;"><i>If set to false, list only resources belonging to the command's caller; if set to true - list resources that the caller is authorized to see. Default value is false</i></td><td style="width:180px;"><i>false</i></td>
                                        </tr>
                                        <tr>
                                            <td style="width:200px;"><i>networkid</i></td><td style="width:500px;"><i>list firewall rules for certain network</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>projectid</i></td><td style="width:500px;"><i>list objects by project</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>List resources by tags (key/value pairs)</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 firewall rule</td>
                                        </tr>
                                        <tr>
                                            <td style="width:200px;"><strong>cidrlist</strong></td><td style="width:500px;">the cidr list to forward traffic from. Multiple entries are separated by a single comma character (,).</td>
                                        </tr>
                                        <tr>
                                            <td style="width:200px;"><strong>destcidrlist</strong></td><td style="width:500px;">the cidr list to forward traffic to. Multiple entries are separated by a single comma character (,).</td>
                                        </tr>
                                        <tr>
                                            <td style="width:200px;"><strong>endport</strong></td><td style="width:500px;">the ending port of firewall rule's port range</td>
                                        </tr>
                                        <tr>
                                            <td style="width:200px;"><strong>fordisplay</strong></td><td style="width:500px;">is rule for display to the regular user</td>
                                        </tr>
                                        <tr>
                                            <td style="width:200px;"><strong>icmpcode</strong></td><td style="width:500px;">error code for this icmp message</td>
                                        </tr>
                                        <tr>
                                            <td style="width:200px;"><strong>icmptype</strong></td><td style="width:500px;">type of the icmp message being sent</td>
                                        </tr>
                                        <tr>
                                            <td style="width:200px;"><strong>ipaddress</strong></td><td style="width:500px;">the public ip address for the firewall rule</td>
                                        </tr>
                                        <tr>
                                            <td style="width:200px;"><strong>ipaddressid</strong></td><td style="width:500px;">the public ip address id for the firewall rule</td>
                                        </tr>
                                        <tr>
                                            <td style="width:200px;"><strong>networkid</strong></td><td style="width:500px;">the network id of the firewall rule</td>
                                        </tr>
                                        <tr>
                                            <td style="width:200px;"><strong>protocol</strong></td><td style="width:500px;">the protocol of the firewall rule</td>
                                        </tr>
                                        <tr>
                                            <td style="width:200px;"><strong>startport</strong></td><td style="width:500px;">the starting port of firewall rule's port range</td>
                                        </tr>
                                        <tr>
                                            <td style="width:200px;"><strong>state</strong></td><td style="width:500px;">the state of the rule</td>
                                        </tr>
                                        <tr>
                                            <td style="width:200px;"><strong>tags(*)</strong></td><td style="width:500px;">the list of resource tags associated with the rule</td>
                                            <tr>
                                                <td style="width:180px; padding-left:25px;"><strong>account</strong></td><td style="width:500px;">the account associated with the tag</td>
                                            </tr>
                                            <tr>
                                                <td style="width:180px; padding-left:25px;"><strong>customer</strong></td><td style="width:500px;">customer associated with the tag</td>
                                            </tr>
                                            <tr>
                                                <td style="width:180px; padding-left:25px;"><strong>domain</strong></td><td style="width:500px;">the domain associated with the tag</td>
                                            </tr>
                                            <tr>
                                                <td style="width:180px; padding-left:25px;"><strong>domainid</strong></td><td style="width:500px;">the ID of the domain associated with the tag</td>
                                            </tr>
                                            <tr>
                                                <td style="width:180px; padding-left:25px;"><strong>key</strong></td><td style="width:500px;">tag key name</td>
                                            </tr>
                                            <tr>
                                                <td style="width:180px; padding-left:25px;"><strong>project</strong></td><td style="width:500px;">the project name where tag belongs to</td>
                                            </tr>
                                            <tr>
                                                <td style="width:180px; padding-left:25px;"><strong>projectid</strong></td><td style="width:500px;">the project id the tag belongs to</td>
                                            </tr>
                                            <tr>
                                                <td style="width:180px; padding-left:25px;"><strong>resourceid</strong></td><td style="width:500px;">id of the resource</td>
                                            </tr>
                                            <tr>
                                                <td style="width:180px; padding-left:25px;"><strong>resourcetype</strong></td><td style="width:500px;">resource type</td>
                                            </tr>
                                            <tr>
                                                <td style="width:180px; padding-left:25px;"><strong>value</strong></td><td style="width:500px;">tag value</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>
