Neutron QoS API Extension doc

Change-Id: I8e14eefc944b43894a0ae6dc0b34f3d3c224097a
This commit is contained in:
Miguel Angel Ajo 2015-09-23 16:43:54 +02:00 committed by Diane Fleming
parent 34ea2f92f5
commit c586cd9664
16 changed files with 1995 additions and 314 deletions

View File

@ -14,8 +14,10 @@
<title>Networking API v2.0 extensions (CURRENT)</title>
<section xml:id="neutron_extensions">
<title>Extensions</title>
<para>Lists available Networking API v2.0 extensions and shows details for an
extension.</para>
<para>
Lists available Networking API v2.0 extensions and shows details for an
extension.
</para>
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02">
<wadl:resource href="../wadls/netconn-api/src/wadl/networks.wadl#extensions">
<wadl:method href="#listExtensions"/>
@ -25,52 +27,205 @@
</wadl:resource>
</wadl:resources>
</section>
<section xml:id="quotas-ext">
<title>Quotas extension (quotas)</title>
<section xml:id="fwaas-v2.0">
<title>FWaaS v2.0 (CURRENT) (fw, firewalls)</title>
<para>
Lists quotas for tenants who have non-default quota values, and
lists, updates, and resets quotas for a tenant.
Use the Firewall-as-a-Service (FWaaS) extension to deploy
firewalls to protect your networks.
</para>
<para>
A quota value of <code>-1</code> means that quota has no limit.
Use the FWaaS extension to:
</para>
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02">
<wadl:resource href="../wadls/netconn-api/src/wadl/quotas.wadl#quotas">
<wadl:method href="#listQuotas"/>
</wadl:resource>
<wadl:resource href="../wadls/netconn-api/src/wadl/quotas.wadl#tenant_id">
<wadl:method href="#listQuotasForTenant"/>
<wadl:method href="#updateQuota"/>
<wadl:method href="#resetQuota"/>
</wadl:resource>
</wadl:resources>
<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 can have 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 differ 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,
such as ports and IP addresses. These attributes define match
criteria and an action to take, such as allow or deny, on matched data
traffic.
</para>
</listitem>
</itemizedlist>
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02"
href="../wadls/netconn-api/src/wadl/firewalls.wadl"/>
</section>
<section xml:id="lbaas-v2.0-stable">
<title>LBaaS v2.0 (STABLE) (loadbalancers, listeners, vips, health_monitors, pools)</title>
<para>
The Load-Balancer-as-a-Service (LBaaS) v2.0 extension pairs with
the Networking API v2.0 to enable OpenStack tenants to manage load
balancers for their VMs. With this extension you can load-balance
client traffic from one network to application services, such as
VMs, on the same network.
</para>
<para>
Use this extension to create and manage load balancers, listeners,
pools, members of a pool, and health monitors and view status of a resource.
</para>
<table rules="all" frame="border">
<caption>Load balancer statuses</caption>
<col width="25%"/>
<col width="75%"/>
<thead>
<tr>
<th>Status</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><para>ACTIVE</para></td>
<td><para>The resource is ready and active.</para></td>
</tr>
<tr>
<td><para>PENDING_CREATE</para></td>
<td><para>The resource is being created.</para></td>
</tr>
<tr>
<td><para>PENDING_UPDATE</para></td>
<td><para>The resource is being updated.</para></td>
</tr>
<tr>
<td><para>PENDING_DELETE</para></td>
<td><para>The resource is pending deletion.</para></td>
</tr>
<tr>
<td><para>INACTIVE</para></td>
<td><para>The resource is not active.</para></td>
</tr>
<tr>
<td><para>ERROR</para></td>
<td><para>
An object within the service is not working. The
<code>error_details</code> attribute provides an
explanation for the error, its cause, and possibly a
solution.
</para></td>
</tr>
</tbody>
</table>
<para></para>
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02"
href="../wadls/netconn-api/src/wadl/lbaas-v2.0.wadl"/>
</section>
<section xml:id="lbaas-v1.0">
<title>LBaaS v1.0 (DEPRECATED) (lb, vips, health_monitors, pools, members)</title>
<para>
The Load-Balancer-as-a-Service (LBaaS) v1.0 extension pairs with
the Networking API v2.0 to enable OpenStack tenants to manage load
balancers for their VMs. With this extension, you can load-balance
client traffic from one network to application services, such as
VMs, on the same network.
</para>
<para>
Use this extension to create and manage virtual IP addresses
(VIPs), pools, members of a pool, health monitors, and view status
of a resource.
</para>
<table rules="all" frame="border">
<caption>Load balancer statuses</caption>
<col width="25%"/>
<col width="75%"/>
<thead>
<tr>
<th>Status</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><para>ACTIVE</para></td>
<td><para>The resource is ready and active.</para></td>
</tr>
<tr>
<td><para>PENDING_CREATE</para></td>
<td><para>The resource is being created.</para></td>
</tr>
<tr>
<td><para>PENDING_UPDATE</para></td>
<td><para>The resource is being updated.</para></td>
</tr>
<tr>
<td><para>PENDING_DELETE</para></td>
<td><para>The resource is pending deletion.</para></td>
</tr>
<tr>
<td><para>INACTIVE</para></td>
<td><para>The resource is not active.</para></td>
</tr>
<tr>
<td><para>ERROR</para></td>
<td>
<para>
An object within the service is not working. The
<code>error_details</code> attribute provides an
explanation for the error, its cause, and
possibly a solution.
</para>
</td>
</tr>
</tbody>
</table>
<para></para>
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02"
href="../wadls/netconn-api/src/wadl/lbaas-v1.0.wadl"/>
</section>
<section status="final" xml:id="metering-ext" xmlns:wadl="http://wadl.dev.java.net/2009/02">
<title>Metering labels and rules (metering-labels, metering-labels-rules)</title>
<para>
Creates, modifies, and deletes OpenStack Layer3 metering labels and rules.
</para>
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02"
href="../wadls/netconn-api/src/wadl/metering-labels.wadl"/>
</section>
<section xml:id="network_provider-ext">
<title>Networks provider extended attributes (networks)</title>
<para>
Lists, creates, shows information for, updates, and deletes networks.
</para>
<para>
The provider extension decorates network resources with additional
attributes. These attributes are
<code>provider:network_type</code>,
<code>provider:physical_network</code>, and
<code>provider:segmentation_id</code>. The validation rules for
these attributes are the same as for the <link
xlink:href="http://developer.openstack.org/api-ref-networking-v2.html#network_multi_provider-ext">Networks multiple provider extension</link>. You cannot use both extensions at the
same time.
</para>
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02">
<wadl:resource href="../wadls/netconn-api/src/wadl/networks-provider.wadl#ProviderNetworks">
<wadl:method href="#listProviderNetworks"/>
<wadl:method href="#createProviderNetwork"/>
</wadl:resource>
<wadl:resource href="../wadls/netconn-api/src/wadl/networks-provider.wadl#network_id">
<wadl:method href="#showProviderNetwork"/>
<wadl:method href="#updateProviderNetwork"/>
<wadl:method href="#deleteProviderNetwork"/>
</wadl:resource>
</wadl:resources>
<para>Lists, creates, shows information for, updates, and deletes networks.</para>
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02"
href="../wadls/netconn-api/src/wadl/networks-provider.wadl"/>
</section>
<section xml:id="network_multi_provider-ext">
<title>Networks multiple provider extension (networks)</title>
@ -137,17 +292,44 @@
<section xml:id="port_binding-ext">
<title>Ports binding extended attributes (ports)</title>
<para>Lists, creates, shows information for, and updates ports.</para>
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02">
<wadl:resource href="../wadls/netconn-api/src/wadl/ports-binding.wadl#ports">
<wadl:method href="#listPorts"/>
<wadl:method href="#createPort"/>
</wadl:resource>
<wadl:resource href="../wadls/netconn-api/src/wadl/ports-binding.wadl#port_id">
<wadl:method href="#showPort"/>
<wadl:method href="#updatePort"/>
<wadl:method href="#deletePort"/>
</wadl:resource>
</wadl:resources>
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02"
href="../wadls/netconn-api/src/wadl/ports-binding.wadl"/>
</section>
<section xml:id="qos-ext">
<title>QoS policies (qos)</title>
<para>Lists, creates, shows information for, and updates QoS policies.</para>
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02"
href="../wadls/netconn-api/src/wadl/qos.wadl"/>
</section>
<section xml:id="quotas-ext">
<title>Quotas extension v2.0 (quotas)</title>
<para>
Lists quotas for tenants who have non-default quota values, and
lists, updates, and resets quotas for a tenant.
</para>
<para>
A quota value of <code>-1</code> means that quota has no limit.
</para>
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02"
href="../wadls/netconn-api/src/wadl/quotas.wadl"/>
</section>
<section xml:id="layer3">
<title>Layer 3 networking (routers, floatingips)</title>
<para>
Routes packets between subnets, forwards packets from internal
networks to external ones, and accesses instances from external
networks through floating IPs.
</para>
<para>
This extension introduces the router and floating IP resources. A
router is a logical entity for forwarding packets across internal
subnets and NATting them on external networks through an
appropriate external gateway. A floating IP is an external IP
address that is mapped to a port that is attached to an internal
network.
</para>
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02"
href="../wadls/netconn-api/src/wadl/layer3.wadl"/>
</section>
<section xml:id="security_groups">
<title>Security groups (security-groups)</title>
@ -167,7 +349,7 @@
</wadl:resource>
</wadl:resources>
</section>
<!-- <section xml:id="netconn-security_group-rules">
<section xml:id="netconn-security_group-rules">
<title>Security group rules (security-group-rules)</title>
<para>
Lists, creates, shows information for, and deletes security group
@ -180,251 +362,11 @@
<wadl:method href="#createSecGroupRule"/>
</wadl:resource>
<wadl:resource
href="../wadls/netconn-api/src/wadl/security-groups.wadl#rules-security-groups-id">
href="../wadls/netconn-api/src/wadl/security-groups.wadl#security-group-rules-id">
<wadl:method href="#showSecGroupRule"/>
<wadl:method href="#deleteSecGroupRule"/>
</wadl:resource>
</wadl:resources>
</section> -->
<section xml:id="layer3">
<title>Layer-3 networking</title>
<para>
Routes packets between subnets, forwards packets from internal
networks to external ones, and accesses instances from external
networks through floating IPs.
</para>
<para>
This extension introduces these resources:
</para>
<itemizedlist>
<listitem>
<para>
<emphasis role="bold">router</emphasis>. A logical entity
for forwarding packets across internal subnets and NATting them on external
networks through an appropriate external gateway.
</para>
</listitem>
<listitem>
<para>
<emphasis role="bold">floatingip</emphasis>. An external
IP address that you map to a port in an internal network.
</para>
</listitem>
</itemizedlist>
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02"
href="../wadls/netconn-api/src/wadl/layer3.wadl"/>
</section>
<section status="final" xml:id="metering-ext" xmlns:wadl="http://wadl.dev.java.net/2009/02">
<title>Metering labels and rules</title>
<para>Creates, modifies, and deletes OpenStack Layer3 metering labels and rules.</para>
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02"
href="../wadls/netconn-api/src/wadl/metering-labels.wadl"/>
</section>
<section xml:id="fwaas-v2.0">
<title>Firewall-as-a-Service (FWaaS) (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 can have 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 differ 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,
such as ports and IP addresses. These attributes define match
criteria and an action to take, such as allow or deny, on matched data
traffic.
</para>
</listitem>
</itemizedlist>
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02">
<wadl:resource href="../wadls/netconn-api/src/wadl/firewalls.wadl#firewalls">
<wadl:method href="#listFirewalls"/>
<wadl:method href="#createFirewall"/>
</wadl:resource>
<wadl:resource href="../wadls/netconn-api/src/wadl/firewalls.wadl#firewall_id">
<wadl:method href="#showFirewall"/>
<wadl:method href="#updateFirewall"/>
<wadl:method href="#deleteFirewall"/>
</wadl:resource>
<!-- <wadl:resource href="../wadls/netconn-api/src/wadl/fwaasv2.0.wadl#FirewallPolicies">
<wadl:method href="#listFirewallPolicies"/>
<wadl:method href="#createFirewallPolicy"/>
</wadl:resource>
<wadl:resource href="../wadls/netconn-api/src/wadl/fwaasv2.0.wadl#firewallpolicy_id">
<wadl:method href="#showFirewallPolicy"/>
<wadl:method href="#updateFirewallPolicy"/>
<wadl:method href="#deleteFirewallPolicy"/>
</wadl:resource>
<wadl:resource href="../wadls/netconn-api/src/wadl/fwaasv2.0.wadl#FirewallRules">
<wadl:method href="#listFirewallRules"/>
<wadl:method href="#createFirewallRule"/>
</wadl:resource>
<wadl:resource href="../wadls/netconn-api/src/wadl/fwaasv2.0.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 (DEPRECATED)</title>
<para>
The LBaaS v1.0 extension pairs with the Networking v2.0 API to
enable OpenStack tenants to manage load balancers for their VMs.
With this extension, you can load-balance client traffic from one
network to application services, such as VMs, on the same network.
</para>
<para>
Use this extension to create and manage virtual IP addresses
(VIPs), pools, members of a pool, health monitors, and view status of a resource.
</para>
<table rules="all" frame="border">
<caption>Load balancer statuses</caption>
<col width="25%"/>
<col width="75%"/>
<thead>
<tr>
<th>Status</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><para>ACTIVE</para></td>
<td><para>The resource is ready and active.</para></td>
</tr>
<tr>
<td><para>PENDING_CREATE</para></td>
<td><para>The resource is being created.</para></td>
</tr>
<tr>
<td><para>PENDING_UPDATE</para></td>
<td><para>The resource is being updated.</para></td>
</tr>
<tr>
<td><para>PENDING_DELETE</para></td>
<td><para>The resource is pending deletion.</para></td>
</tr>
<tr>
<td><para>INACTIVE</para></td>
<td><para>The resource is not active.</para></td>
</tr>
<tr>
<td><para>ERROR</para></td>
<td>
<para>
An object within the service is not working. The
<code>error_details</code> attribute provides an
explanation for the error, its cause, and
possibly a solution.
</para>
</td>
</tr>
</tbody>
</table>
<para></para>
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02"
href="../wadls/netconn-api/src/wadl/lbaas-v1.0.wadl"
> </wadl:resources>
</section>
<section xml:id="lbaas-v2.0">
<title>Load-Balancer-as-a-Service (LBaaS) 2.0 (STABLE)</title>
<para>
The LBaaS version 2.0 extension pairs with the Networking 2.0 API
to enable OpenStack tenants to manage load balancers for their
VMs. With this extension you can load-balance client traffic from
one network to application services, such as VMs, on the same
network.
</para>
<para>
Use this extension to create and manage load balancers, listeners,
pools, members of a pool, and health monitors and view status of a resource.
</para>
<table rules="all" frame="border">
<caption>Load balancer statuses</caption>
<col width="25%"/>
<col width="75%"/>
<thead>
<tr>
<th>Status</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td><para>ACTIVE</para></td>
<td><para>The resource is ready and active.</para></td>
</tr>
<tr>
<td><para>PENDING_CREATE</para></td>
<td><para>The resource is being created.</para></td>
</tr>
<tr>
<td><para>PENDING_UPDATE</para></td>
<td><para>The resource is being updated.</para></td>
</tr>
<tr>
<td><para>PENDING_DELETE</para></td>
<td><para>The resource is pending deletion.</para></td>
</tr>
<tr>
<td><para>INACTIVE</para></td>
<td><para>The resource is not active.</para></td>
</tr>
<tr>
<td><para>ERROR</para></td>
<td><para>
An object within the service is not working. The
<code>error_details</code> attribute provides an
explanation for the error, its cause, and possibly a
solution.
</para></td>
</tr>
</tbody>
</table>
<para></para>
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02"
href="../wadls/netconn-api/src/wadl/lbaas-v2.0.wadl"/>
</section>
<section xml:id="subnetpools-ext">
<title>Subnet pools extension (subnetpools)</title>
@ -442,10 +384,11 @@
</wadl:resources>
</section>
<section xml:id="vpnaas-v2.0">
<title>Virtual-Private-Network-as-a-Service (VPNaaS) (CURRENT)</title>
<title>VPNaaS v2.0 (CURRENT) (vpn)</title>
<para>
The VPNaaS extension enables OpenStack tenants to extend private
networks across the public telecommunication infrastructure.
The Virtual-Private-Network-as-a-Service (VPNaaS) extension
enables OpenStack tenants to extend private networks across the
public telecommunication infrastructure.
</para>
<para>
This initial implementation of the VPNaaS extension provides:
@ -510,11 +453,14 @@
> </wadl:resources>
</section>
<section xml:id="extraroute-ext">
<title>Extra routes</title>
<para>Adds extra routes to the
<code>router</code> resource.</para>
<para>You can update a router to add a set of next hop IPs and destination
CIDRs.</para>
<title>Extra routes (routers)</title>
<para>
Adds extra routes to the <code>router</code> resource.
</para>
<para>
You can update a router to add a set of next hop IPs and
destination CIDRs.
</para>
<note>
<para>
The next hop IP must be part of a subnet to which the router
@ -524,7 +470,7 @@
</note>
<wadl:resources xmlns:wadl="http://wadl.dev.java.net/2009/02">
<wadl:resource href="../wadls/netconn-api/src/wadl/routers.wadl#router_id">
<wadl:method href="#updateExtraRoutes"/>
<wadl:method href="#updateExtraRoutes" />
</wadl:resource>
</wadl:resources>
</section>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,5 @@
{
"bandwidth_limit_rule": {
"max_kbps": "10000"
}
}

View File

@ -0,0 +1,8 @@
{
"bandwidth_limit_rule": {
"id": "5f126d84-551a-4dcf-bb01-0e9c0df0c793",
"policy_id": "46ebaec0-0570-43ac-82f6-60d2b03168c4",
"max_kbps": "10000",
"max_burst_kbps": "0"
}
}

View File

@ -0,0 +1,8 @@
{
"bandwidth_limit_rule": {
"id": "5f126d84-551a-4dcf-bb01-0e9c0df0c793",
"policy_id": "46ebaec0-0570-43ac-82f6-60d2b03168c4",
"max_kbps": "10000",
"max_burst_kbps": "0"
}
}

View File

@ -0,0 +1,5 @@
{
"bandwidth_limit_rule": {
"max_kbps": "10000"
}
}

View File

@ -0,0 +1,8 @@
{
"bandwidth_limit_rule": {
"id": "5f126d84-551a-4dcf-bb01-0e9c0df0c793",
"policy_id": "46ebaec0-0570-43ac-82f6-60d2b03168c4",
"max_kbps": "10000",
"max_burst_kbps": "0"
}
}

View File

@ -0,0 +1,10 @@
{
"bandwidth_limit_rules": [
{
"id": "5f126d84-551a-4dcf-bb01-0e9c0df0c793",
"policy_id": "46ebaec0-0570-43ac-82f6-60d2b03168c4",
"max_kbps": "10000",
"max_burst_kbps": "0"
}
]
}

View File

@ -0,0 +1,19 @@
{
"policies": [
{
"tenant_id": "8d4c70a21fed4aeba121a1a429ba0d04",
"id": "46ebaec0-0570-43ac-82f6-60d2b03168c4",
"name": "10Mbit",
"description": "This policy limits the ports to 10Mbit max.",
"shared": false,
"bandwidth_limit_rules": [
{
"id": "5f126d84-551a-4dcf-bb01-0e9c0df0c793",
"policy_id": "46ebaec0-0570-43ac-82f6-60d2b03168c4",
"max_kbps": "10000",
"max_burst_kbps": "0"
}
]
}
]
}

View File

@ -0,0 +1,7 @@
{
"policy": {
"name": "10Mbit",
"description": "This policy limits the ports to 10Mbit max.",
"shared": "False"
}
}

View File

@ -0,0 +1,9 @@
{
"policy": {
"name": "10Mbit",
"description": "This policy limits the ports to 10Mbit max.",
"id": "46ebaec0-0570-43ac-82f6-60d2b03168c4",
"tenant_id": "8d4c70a21fed4aeba121a1a429ba0d04",
"shared": "False"
}
}

View File

@ -0,0 +1,17 @@
{
"policy": {
"tenant_id": "8d4c70a21fed4aeba121a1a429ba0d04",
"id": "46ebaec0-0570-43ac-82f6-60d2b03168c4",
"name": "10Mbit",
"description": "This policy limits the ports to 10Mbit max.",
"shared": false,
"bandwidth_limit_rules": [
{
"id": "5f126d84-551a-4dcf-bb01-0e9c0df0c793",
"policy_id": "46ebaec0-0570-43ac-82f6-60d2b03168c4",
"max_kbps": "10000",
"max_burst_kbps": "0"
}
]
}
}

View File

@ -0,0 +1,7 @@
{
"policy": {
"name": "10Mbit",
"description": "This policy limits the ports to 10Mbit max.",
"shared": "False"
}
}

View File

@ -0,0 +1,9 @@
{
"policy": {
"name": "10Mbit",
"description": "This policy limits the ports to 10Mbit max.",
"id": "46ebaec0-0570-43ac-82f6-60d2b03168c4",
"tenant_id": "8d4c70a21fed4aeba121a1a429ba0d04",
"shared": "False"
}
}

View File

@ -0,0 +1,7 @@
{
"rule_types": [
{
"type": "bandwidth_limit"
}
]
}

View File

@ -0,0 +1,318 @@
<?xml version="1.0" encoding="UTF-8"?>
<!-- (C) 2015 OpenStack Foundation, All Rights Reserved -->
<!--*******************************************************-->
<!-- Import Common XML Entities -->
<!-- -->
<!-- You can resolve the entities with xmllint -->
<!-- -->
<!-- xmllint -noent qos.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-qos-v2.0">
<resource id="version" path="//v2.0">
<resource id="qos" path="qos">
<resource id="policies" path="policies">
<method href="#listPolicies"/>
<method href="#createPolicy"/>
<resource id="policy_id" path="{policy_id}">
&policy_idTemplateParameter;
<method href="#showPolicy"/>
<method href="#updatePolicy"/>
<method href="#deletePolicy"/>
<resource id="bandwidth_limit_rules" path="bandwidth_limit_rules">
<method href="#listBandwidthLimitRules"/>
<method href="#createBandwidthLimitRule"/>
<resource id="rule_id" path="{rule_id}">
&rule_idTemplateParameter;
<method href="#showBandwidthLimitRule"/>
<method href="#updateBandwidthLimitRule"/>
<method href="#deleteBandwidthLimitRule"/>
</resource>
</resource>
</resource>
</resource>
</resource>
</resource>
</resources>
<!--*******************************************************-->
<!-- All Methods -->
<!--*******************************************************-->
<method name="GET" id="listPolicies">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN" title="List QoS policies">
<para role="shortdesc">
Lists all QoS policies that are associated with your tenant
account.
</para>
<para>
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="../samples/qos/policies-list-response.json"/>
</wadl:doc>
&policiesObject;
&qos-policy-tenant_idResponseParameter;
&qos-policy-idResponseParameter;
&qos-policy-nameResponseParameter;
&qos-policy-descriptionResponseParameter;
&qos-policy-sharedResponseParameter;
&bandwidth_limit_rulesResponseParameter;
&qos-policy-rule-idResponseParameter;
&qos-policy-rule-policy_idResponseParameter;
&max_kbpsResponseParameter;
&max_burst_kbpsResponseParameter;
</representation>
</response> &fault401; &fault500; &fault503;
</method>
<method name="POST" id="createPolicy">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN" title="Create QoS policy">
<para role="shortdesc">
Creates a QoS policy.
</para>
<para>
Creates a QoS policy by using the configuration that you
define in the request object. A response object is returned.
The object contains a unique ID.
</para>
<para>
If the caller is not an administrative user, this call returns
the HTTP <code>Forbidden (403)</code> response code.
</para>
<para>
Users with an administrative role can create policies on
behalf of other tenants by specifying a tenant UUID that is
different than their own.
</para>
</wadl:doc>
<request>
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN">
<xsdxt:code href="../samples/qos/policy-create-request.json"/>
</wadl:doc>
&policyObject;
&qos-policy-nameRequestParameter;
&qos-policy-descriptionRequestParameter;
&qos-policy-sharedRequestParameter;
&qos-policy-tenant_idRequestParameter;
&qos-policy-typeRequestParameter;
</representation>
</request>
<response status="201">
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN">
<xsdxt:code href="../samples/qos/policy-create-response.json"/>
</wadl:doc>
&policyObject;
&qos-policy-tenant_idResponseParameter;
&qos-policy-idResponseParameter;
&qos-policy-nameResponseParameter;
&qos-policy-descriptionResponseParameter;
&qos-policy-sharedResponseParameter;
</representation>
</response> &fault401; &fault404; &fault409; &fault413; &fault500; &fault503;
</method>
<method name="GET" id="showPolicy">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN" title="Show QoS policy details">
<para role="shortdesc">
Shows details for a QoS policy.
</para>
</wadl:doc>
<response status="200">
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN">
<xsdxt:code href="../samples/qos/policy-show-response.json"/>
</wadl:doc>
&policyObject;
&qos-policy-tenant_idResponseParameter;
&qos-policy-idResponseParameter;
&qos-policy-nameResponseParameter;
&qos-policy-descriptionResponseParameter;
&qos-policy-sharedResponseParameter;
&bandwidth_limit_rulesResponseParameter;
&qos-policy-rule-idResponseParameter;
&qos-policy-rule-policy_idResponseParameter;
&max_kbpsResponseParameter;
&max_burst_kbpsResponseParameter;
</representation>
</response> &fault401; &fault500; &fault503;
</method>
<method name="PUT" id="updatePolicy">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN" title="Update QoS policy">
<para role="shortdesc">
Updates a QoS policy.
</para>
<para>
If the request is valid, the service returns the
<code>Accepted (202)</code> response code.
</para>
</wadl:doc>
<request>
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN">
<xsdxt:code href="../samples/qos/policy-update-request.json"/>
</wadl:doc>
&policyObject;
&qos-policy-nameRequestParameter;
&qos-policy-descriptionRequestParameter;
&qos-policy-sharedRequestParameter;
&qos-policy-tenant_idRequestParameter;
&qos-policy-typeRequestParameter;
</representation>
</request>
<response status="200">
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN">
<xsdxt:code href="../samples/qos/policy-update-response.json"/>
</wadl:doc>
&policyObject;
&qos-policy-tenant_idResponseParameter;
&qos-policy-idResponseParameter;
&qos-policy-nameResponseParameter;
&qos-policy-descriptionResponseParameter;
&qos-policy-sharedResponseParameter;
</representation>
</response> &fault400; &fault401; &fault413; &fault500; &fault503;
</method>
<method name="DELETE" id="deletePolicy">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN" title="Delete QoS policy">
<para role="shortdesc">
Deletes a QoS policy.
</para>
</wadl:doc>
<response status="204"/> &fault400; &fault401; &fault413; &fault500; &fault503;
</method>
<method name="GET" id="listBandwidthLimitRules">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN" title="List bandwidth limit rules for QoS policy">
<para role="shortdesc">
Lists all bandwidth limit rules for a QoS policy.
</para>
<para>
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="../samples/qos/bandwidth_limit_rules-list-response.json"/>
</wadl:doc>
&bandwidth_limit_rulesResponseParameter;
&qos-policy-rule-idResponseParameter;
&qos-policy-rule-policy_idResponseParameter;
&max_kbpsResponseParameter;
&max_burst_kbpsResponseParameter;
</representation>
</response> &fault401; &fault500; &fault503;
</method>
<method name="POST" id="createBandwidthLimitRule">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN" title="Create bandwidth limit rule">
<para role="shortdesc">
Creates a bandwidth limit rule for a QoS policy.
</para>
</wadl:doc>
<request>
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN">
<xsdxt:code href="../samples/qos/bandwidth_limit_rule-create-request.json"/>
</wadl:doc>
&bandwidth_limit_ruleObject;
&qos-policy-rule-policy_idRequestParameter;
&max_kbpsRequestParameter;
&max_burst_kbpsRequestParameter;
</representation>
</request>
<response status="201">
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN">
<xsdxt:code href="../samples/qos/bandwidth_limit_rule-create-response.json"/>
</wadl:doc>
&bandwidth_limit_ruleObject;
&qos-policy-rule-idResponseParameter;
&qos-policy-rule-policy_idResponseParameter;
&max_kbpsResponseParameter;
&max_burst_kbpsResponseParameter;
</representation>
</response> &fault401; &fault404; &fault409; &fault413; &fault500; &fault503;
</method>
<method name="GET" id="showBandwidthLimitRule">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN" title="Show bandwidth limit rule details">
<para role="shortdesc">
Shows details for a bandwidth limit rule for a QoS policy.
</para>
</wadl:doc>
<response status="200">
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN">
<xsdxt:code href="../samples/qos/bandwidth_limit_rule-show-response.json"/>
</wadl:doc>
&bandwidth_limit_ruleObject;
&qos-policy-rule-idResponseParameter;
&qos-policy-rule-policy_idResponseParameter;
&max_kbpsResponseParameter;
&max_burst_kbpsResponseParameter;
</representation>
</response> &fault401; &fault500; &fault503;
</method>
<method name="PUT" id="updateBandwidthLimitRule">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN" title="Update bandwidth limit rule">
<para role="shortdesc">
Updates a bandwidth limit rule for a QoS policy.
</para>
<para>
If the request is valid, the service returns the
<code>Accepted (202)</code> response code.
</para>
</wadl:doc>
<request>
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN">
<xsdxt:code href="../samples/qos/bandwidth_limit_rule-update-request.json"/>
</wadl:doc>
&bandwidth_limit_ruleObject;
&qos-policy-rule-policy_idRequestParameter;
&max_kbpsRequestParameter;
&max_burst_kbpsRequestParameter;
</representation>
</request>
<response status="200">
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN">
<xsdxt:code href="../samples/qos/bandwidth_limit_rule-update-response.json"/>
</wadl:doc>
&bandwidth_limit_ruleObject;
&qos-policy-rule-idResponseParameter;
&qos-policy-rule-policy_idResponseParameter;
&max_kbpsResponseParameter;
&max_burst_kbpsResponseParameter;
</representation>
</response> &fault400; &fault401; &fault413; &fault500; &fault503;
</method>
<method name="DELETE" id="deleteBandwidthLimitRule">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN" title="Delete bandwidth limit rule">
<para role="shortdesc">
Deletes a bandwidth limit rule for a QoS policy.
</para>
</wadl:doc>
<response status="204"/> &fault400; &fault401; &fault413; &fault500; &fault503;
</method>
</application>