Add FWaaS Reference API Documentation

This commits adds the FWaaS reference API documentation that used
to earlier reside in netconn-api and has now been moved to the
openstack-attic.

Co-Authored-By: Vishnu Badveli <badveli_vishnuus@yahoo.com>
Co-Authored-By: Vishwanath Jayaraman <vishwanathj@hotmail.com>
Co-Authored-By: Sridar Kandaswamy <skandasw@cisco.com>

(df) Corrected type errors and grammatical errors in common.ent.
(df) Corrected formatting in common.ent.

Closes-bug: #1425658

Change-Id: I58dfe3f40e35a8bd3d86e9e5d430adc37e4cd2db
This commit is contained in:
Sumit Naiksatam 2015-04-05 13:00:35 -07:00 committed by Diane Fleming
parent a8ee9e3f30
commit 7b62b4b965
26 changed files with 5455 additions and 4096 deletions

View File

@ -181,6 +181,89 @@
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02"
href="../wadls/netconn-api/src/metering-labels.wadl"/>
</section>
<section xml:id="fwaas-v2.0">
<title>Firewall-as-a-Service (FWaaS) 2.0 (CURRENT)</title>
<para>
The FWaaS extension enables you to deploy firewalls to protect
your networks.
</para>
<para>
The FWaaS extension enables you to:
</para>
<itemizedlist>
<listitem>
<para>Apply firewall rules on traffic entering and leaving
tenant networks.</para>
</listitem>
<listitem>
<para>Apply TCP, UDP, ICMP, or protocol-agnostic
rules.</para>
</listitem>
<listitem>
<para>Create and share firewall policies that hold an
ordered collection of the firewall rules.</para>
</listitem>
<listitem>
<para>Audit firewall rules and policies.</para>
</listitem>
</itemizedlist>
<para>This extension introduces these resources:</para>
<itemizedlist>
<listitem>
<para><code>firewall</code>. A logical firewall
resource that a tenant can instantiate and manage. A
firewall is associated with one firewall policy.
</para>
</listitem>
<listitem>
<para>
<code>firewall_policy</code>. An ordered collection of
firewall rules. You can share a firewall policy across
tenants. You can include a firewall policy as part of an audit workflow
so that an authorized relevant entity can audit the firewall policy.
This entity can be different from the tenant who created
or the tenants that use the firewall policy.
</para>
</listitem>
<listitem>
<para>
<code>firewall_rule</code>. A collection of
attributes like ports and IP addresses that define match
criteria and action, such as allow or deny, that must be taken
on the matched data traffic.
</para>
</listitem>
</itemizedlist>
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02">
<wadl:resource href="../wadls/netconn-api/src/os-fwaasv2.0-ext.wadl#Firewalls">
<wadl:method href="#listFirewalls"/>
<wadl:method href="#createFirewall"/>
</wadl:resource>
<wadl:resource href="../wadls/netconn-api/src/os-fwaasv2.0-ext.wadl#firewall_id">
<wadl:method href="#showFirewall"/>
<wadl:method href="#updateFirewall"/>
<wadl:method href="#deleteFirewall"/>
</wadl:resource>
<!-- <wadl:resource href="../wadls/netconn-api/src/os-fwaasv2.0-ext.wadl#FirewallPolicies">
<wadl:method href="#listFirewallPolicies"/>
<wadl:method href="#createFirewallPolicy"/>
</wadl:resource>
<wadl:resource href="../wadls/netconn-api/src/os-fwaasv2.0-ext.wadl#firewallpolicy_id">
<wadl:method href="#showFirewallPolicy"/>
<wadl:method href="#updateFirewallPolicy"/>
<wadl:method href="#deleteFirewallPolicy"/>
</wadl:resource>
<wadl:resource href="../wadls/netconn-api/src/os-fwaasv2.0-ext.wadl#FirewallRules">
<wadl:method href="#listFirewallRules"/>
<wadl:method href="#createFirewallRule"/>
</wadl:resource>
<wadl:resource href="../wadls/netconn-api/src/os-fwaasv2.0-ext.wadl#firewall_rule_id">
<wadl:method href="#showFirewallRule"/>
<wadl:method href="#updateFirewallRule"/>
<wadl:method href="#deleteFirewallRule"/>
</wadl:resource> -->
</wadl:resources>
</section>
<section xml:id="lbaas-v1.0">
<title>Load-Balancer-as-a-Service (LBaaS) 1.0 (STABLE)</title>
<para>

View File

@ -0,0 +1,6 @@
{
"firewall": {
"admin_state_up": true,
"firewall_policy_id": "c69933c1-b472-44f9-8226-30dc4ffd454c"
}
}

View File

@ -0,0 +1,11 @@
{
"firewall": {
"admin_state_up": true,
"description": "",
"firewall_policy_id": "c69933c1-b472-44f9-8226-30dc4ffd454c",
"id": "3b0ef8f4-82c7-44d4-a4fb-6177f9a21977",
"name": "",
"status": "PENDING_CREATE",
"tenant_id": "45977fa2dbd7482098dd68d0d8970117"
}
}

View File

@ -0,0 +1,5 @@
{
"firewall": {
"id": "3b0ef8f4-82c7-44d4-a4fb-6177f9a21977"
}
}

View File

@ -0,0 +1,11 @@
{
"firewall": {
"admin_state_up": true,
"description": "",
"firewall_policy_id": "c69933c1-b472-44f9-8226-30dc4ffd454c",
"id": "3b0ef8f4-82c7-44d4-a4fb-6177f9a21977",
"name": "",
"status": "ACTIVE",
"tenant_id": "45977fa2dbd7482098dd68d0d8970117"
}
}

View File

@ -0,0 +1,5 @@
{
"firewall": {
"admin_state_up": "false"
}
}

View File

@ -0,0 +1,11 @@
{
"firewall": {
"admin_state_up": false,
"description": "",
"firewall_policy_id": "c69933c1-b472-44f9-8226-30dc4ffd454c",
"id": "3b0ef8f4-82c7-44d4-a4fb-6177f9a21977",
"name": "",
"status": "PENDING_UPDATE",
"tenant_id": "45977fa2dbd7482098dd68d0d8970117"
}
}

View File

@ -0,0 +1,15 @@
{
"firewall_policies": [
{
"audited": false,
"description": "",
"firewall_rules": [
"8722e0e0-9cc9-4490-9660-8c9a5732fbb0"
],
"id": "c69933c1-b472-44f9-8226-30dc4ffd454c",
"name": "test-policy",
"shared": false,
"tenant_id": "45977fa2dbd7482098dd68d0d8970117"
}
]
}

View File

@ -0,0 +1,8 @@
{
"firewall_policy": {
"firewall_rules": [
"8722e0e0-9cc9-4490-9660-8c9a5732fbb0"
],
"name": "test-policy"
}
}

View File

@ -0,0 +1,13 @@
{
"firewall_policy": {
"audited": false,
"description": "",
"firewall_rules": [
"8722e0e0-9cc9-4490-9660-8c9a5732fbb0"
],
"id": "c69933c1-b472-44f9-8226-30dc4ffd454c",
"name": "test-policy",
"shared": false,
"tenant_id": "45977fa2dbd7482098dd68d0d8970117"
}
}

View File

@ -0,0 +1,5 @@
{
"firewall_rule_id": "7bc34b8c-8d3b-4ada-a9c8-1f4c11c65692",
"insert_after": "a08ef905-0ff6-4784-8374-175fffe7dade",
"insert_before": ""
}

View File

@ -0,0 +1,14 @@
{
"audited": false,
"description": "",
"firewall_list": [],
"firewall_rules": [
"a08ef905-0ff6-4784-8374-175fffe7dade",
"7bc34b8c-8d3b-4ada-a9c8-1f4c11c65692",
"8722e0e0-9cc9-4490-9660-8c9a5732fbb0"
],
"id": "c69933c1-b472-44f9-8226-30dc4ffd454c",
"name": "test-policy",
"shared": false,
"tenant_id": "45977fa2dbd7482098dd68d0d8970117"
}

View File

@ -0,0 +1,3 @@
{
"firewall_rule_id": "7bc34b8c-8d3b-4ada-a9c8-1f4c11c65692"
}

View File

@ -0,0 +1,13 @@
{
"audited": false,
"description": "",
"firewall_list": [],
"firewall_rules": [
"a08ef905-0ff6-4784-8374-175fffe7dade",
"8722e0e0-9cc9-4490-9660-8c9a5732fbb0"
],
"id": "c69933c1-b472-44f9-8226-30dc4ffd454c",
"name": "test-policy",
"shared": false,
"tenant_id": "45977fa2dbd7482098dd68d0d8970117"
}

View File

@ -0,0 +1,13 @@
{
"firewall_policy": {
"audited": false,
"description": "",
"firewall_rules": [
"8722e0e0-9cc9-4490-9660-8c9a5732fbb0"
],
"id": "c69933c1-b472-44f9-8226-30dc4ffd454c",
"name": "test-policy",
"shared": false,
"tenant_id": "45977fa2dbd7482098dd68d0d8970117"
}
}

View File

@ -0,0 +1,8 @@
{
"firewall_policy": {
"firewall_rules": [
"a08ef905-0ff6-4784-8374-175fffe7dade",
"8722e0e0-9cc9-4490-9660-8c9a5732fbb0"
]
}
}

View File

@ -0,0 +1,14 @@
{
"firewall_policy": {
"audited": false,
"description": "",
"firewall_rules": [
"a08ef905-0ff6-4784-8374-175fffe7dade",
"8722e0e0-9cc9-4490-9660-8c9a5732fbb0"
],
"id": "c69933c1-b472-44f9-8226-30dc4ffd454c",
"name": "test-policy",
"shared": false,
"tenant_id": "45977fa2dbd7482098dd68d0d8970117"
}
}

View File

@ -0,0 +1,9 @@
{
"firewall_rule": {
"action": "allow",
"destination_port": "80",
"enabled": true,
"name": "ALLOW_HTTP",
"protocol": "tcp"
}
}

View File

@ -0,0 +1,19 @@
{
"firewall_rule": {
"action": "allow",
"description": "",
"destination_ip_address": null,
"destination_port": "80",
"enabled": true,
"firewall_policy_id": null,
"id": "8722e0e0-9cc9-4490-9660-8c9a5732fbb0",
"ip_version": 4,
"name": "ALLOW_HTTP",
"position": null,
"protocol": "tcp",
"shared": false,
"source_ip_address": null,
"source_port": null,
"tenant_id": "45977fa2dbd7482098dd68d0d8970117"
}
}

View File

@ -0,0 +1,19 @@
{
"firewall_rule": {
"action": "allow",
"description": "",
"destination_ip_address": null,
"destination_port": "80",
"enabled": true,
"firewall_policy_id": null,
"id": "8722e0e0-9cc9-4490-9660-8c9a5732fbb0",
"ip_version": 4,
"name": "ALLOW_HTTP",
"position": null,
"protocol": "tcp",
"shared": false,
"source_ip_address": null,
"source_port": null,
"tenant_id": "45977fa2dbd7482098dd68d0d8970117"
}
}

View File

@ -0,0 +1,5 @@
{
"firewall_rule": {
"shared": "true"
}
}

View File

@ -0,0 +1,19 @@
{
"firewall_rule": {
"action": "allow",
"description": "",
"destination_ip_address": null,
"destination_port": "80",
"enabled": true,
"firewall_policy_id": "c69933c1-b472-44f9-8226-30dc4ffd454c",
"id": "8722e0e0-9cc9-4490-9660-8c9a5732fbb0",
"ip_version": 4,
"name": "ALLOW_HTTP",
"position": 1,
"protocol": "tcp",
"shared": true,
"source_ip_address": null,
"source_port": null,
"tenant_id": "45977fa2dbd7482098dd68d0d8970117"
}
}

View File

@ -0,0 +1,21 @@
{
"firewall_rules": [
{
"action": "allow",
"description": "",
"destination_ip_address": null,
"destination_port": "80",
"enabled": true,
"firewall_policy_id": "c69933c1-b472-44f9-8226-30dc4ffd454c",
"id": "8722e0e0-9cc9-4490-9660-8c9a5732fbb0",
"ip_version": 4,
"name": "ALLOW_HTTP",
"position": 1,
"protocol": "tcp",
"shared": false,
"source_ip_address": null,
"source_port": null,
"tenant_id": "45977fa2dbd7482098dd68d0d8970117"
}
]
}

View File

@ -0,0 +1,13 @@
{
"firewalls": [
{
"admin_state_up": true,
"description": "",
"firewall_policy_id": "c69933c1-b472-44f9-8226-30dc4ffd454c",
"id": "3b0ef8f4-82c7-44d4-a4fb-6177f9a21977",
"name": "",
"status": "ACTIVE",
"tenant_id": "45977fa2dbd7482098dd68d0d8970117"
}
]
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,190 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- (C) 2015 OpenStack Foundation, All Rights Reserved -->
<!--*******************************************************-->
<!-- Import Common XML Entities -->
<!-- -->
<!-- You can resolve the entites with xmllint -->
<!-- -->
<!-- xmllint -noent os-fwaasv2.0-ext.wadl -->
<!--*******************************************************-->
<!DOCTYPE application [
<!ENTITY % common SYSTEM "common.ent">
%common;
<!ENTITY % common_project SYSTEM "../../common_project.ent">
%common_project;
]>
<application xmlns="http://wadl.dev.java.net/2009/02"
xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:linkend="http://www.w3.org/1999/linkend"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:wadl="http://wadl.dev.java.net/2009/02"
xmlns:csapi="http://docs.openstack.org/compute/api/v1.1">
<!--*******************************************************-->
<!-- All Resources -->
<!--*******************************************************-->
<resources base="https://neutron.example.com/" xml:id="os-fwaas-v2.0">
<resource id="version" path="//v2.0/fw">
<resource id="Firewalls" path="firewalls">
<method href="#listFirewalls"/>
<method href="#createFirewall"/>
<resource path="{firewall_id}" id="firewall_id">
<param name="firewall_id" style="template"
type="csapi:UUID">
<wadl:doc
xmlns="http://docbook.org/ns/docbook"
xml:lang="EN" title="Firewall ID">The
UUID for the firewall.</wadl:doc>
</param>
<method href="#showFirewall"/>
<method href="#updateFirewall"/>
<method href="#deleteFirewall"/>
</resource>
</resource>
<!-- <resource id="FirewallPolicies" path="firewallpolicies">
<method href="#listFirewallPolicies"/>
<method href="#createFirewallPolicy"/>
<resource path="{firewall_policy_id}" id="firewallpolicy_id">
<param name="firewall_policy_id" style="template"
type="csapi:UUID">
<wadl:doc
xmlns="http://docbook.org/ns/docbook"
xml:lang="EN" title="Firewall policy ID">The
UUID for the firewall policy.</wadl:doc>
</param>
<method href="#showFirewallPolicy"/>
<method href="#updateFirewallPolicy"/>
<method href="#deleteFirewallPolicy"/>
</resource>
</resource>
<resource id="FirewallRules" path="firewallrules">
<method href="#listFirewallRules"/>
<method href="#createFirewallRule"/>
<resource path="{firewall_rule_id}" id="firewall_rule_id">
<param name="firewall_rule_id" style="template"
type="csapi:UUID">
<wadl:doc
xmlns="http://docbook.org/ns/docbook"
xml:lang="EN" title="Firewall rule ID">The
UUID for the firewall rule.</wadl:doc>
</param>
<method href="#showFirewallRule"/>
<method href="#updateFirewallRule"/>
<method href="#deleteFirewallRule"/>
</resource>
</resource> -->
</resource>
</resources>
<!--*******************************************************-->
<!-- All Methods -->
<!--*******************************************************-->
<!-- Firewall -->
<method name="GET" id="listFirewalls">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN" title="List firewalls">
<para role="shortdesc">List firewalls.</para>
<para>Lists all firewalls. The list might be empty.</para>
</wadl:doc>
<response status="200">
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN">
<xsdxt:code href="api_samples/firewall/firewalls-list-res.json"/>
</wadl:doc>
&FWResponseParams;
</representation>
</response> &fault401; &fault403;
</method>
<method name="GET" id="showFirewall">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"
title="Show firewall details">
<para role="shortdesc">Shows details for a specified firewall.</para>
<para>
Shows the details for a specified firewall. If the user is not
an administrative user and the firewall object does not belong
to the user's tenant account, a 403 (Forbidden) error is
returned.
</para>
</wadl:doc>
<response status="200">
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN">
<xsdxt:code href="api_samples/firewall/firewall-show-res.json"/>
</wadl:doc>
&FWResponseParams;
</representation>
</response> &fault401; &fault403; &fault404;
</method>
<method name="POST" id="createFirewall">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN" title="Create firewall">
<para role="shortdesc">Creates a firewall.</para>
<para>
Creates a firewall object. The firewall must be associated
with a firewall policy.
</para>
<para>Example:</para>
</wadl:doc>
<request>
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN">
<xsdxt:code href="api_samples/firewall/firewall-create-req.json"/>
</wadl:doc>
&FWRequestParams;
</representation>
</request>
<response status="201">
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN">
<xsdxt:code href="api_samples/firewall/firewall-create-res.json"/>
</wadl:doc>
&FWResponseParams;
</representation>
</response>
&fault400;
&fault401;
</method>
<method name="PUT" id="updateFirewall">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN" title="Update firewall">
<para role="shortdesc">Updates a specified firewall.</para>
<para>
Updates the attributes for a specified firewall. To update a
service, the service status cannot be a <code>PENDING_*</code>
status.
</para>
</wadl:doc>
<request>
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN">
<xsdxt:code href="api_samples/firewall/firewall-update-req.json"/>
</wadl:doc>
&FWUpdateParams;
</representation>
</request>
<response status="200">
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN">
<xsdxt:code href="api_samples/firewall/firewall-update-res.json"/>
</wadl:doc>
&FWResponseParams;
</representation>
</response>
&fault400;
&fault401;
&fault404;
</method>
<method name="DELETE" id="deleteFirewall">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN" title="Remove firewall">
<para role="shortdesc">Removes a specified firewall.</para>
</wadl:doc>
<request>
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN">
<xsdxt:code href="api_samples/firewall/firewall-delete-req.json"/>
</wadl:doc>
</representation>
</request>
<response status="204"/>
&fault401;
&fault404;
&fault409conflict;
</method>
</application>