netconn-api/v2.0/section_neutron-ext-external-networks.xml
Diane Fleming c5a1e0fb52 Clean up networking API reference
remove unneeded files
fix formatting
spell-check
title capitalization

Change-Id: I6f98cf14a02d138a87f22b213be82664372a7727
author: diane fleming
2014-05-16 10:48:10 -05:00

218 lines
9.0 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book[
<!-- Useful for describing APIs -->
<!ENTITY GET '<command xmlns="http://docbook.org/ns/docbook">GET</command>'>
<!ENTITY PUT '<command xmlns="http://docbook.org/ns/docbook">PUT</command>'>
<!ENTITY POST '<command xmlns="http://docbook.org/ns/docbook">POST</command>'>
<!ENTITY DELETE '<command xmlns="http://docbook.org/ns/docbook">DELETE</command>'>
<!ENTITY APIv2 'Networking API v2.0'>
]>
<section xml:id="external_net" xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
<title>External networks (<literal>external-net</literal>)</title>
<para>The external network extension is used to specify whether
the network is external or not. This information is used by
Layer-3 network (<literal>router</literal>) extension.
External networks are connected to a router's external gateway
and host floating IPs.</para>
<para>The external network extension adds the <emphasis
role="italic">router:external</emphasis> attribute to the
network resource.</para>
<table rules="all">
<caption>Network Attributes</caption>
<col width="20%"/>
<col width="8%"/>
<col width="10%"/>
<col width="7%"/>
<col width="15%"/>
<col width="15%"/>
<col width="25%"/>
<thead>
<tr>
<th>Attribute</th>
<th>Type</th>
<th>Required</th>
<th>CRUD<footnote xml:id="crud_ext_net">
<itemizedlist>
<listitem>
<para><emphasis role="bold"
>C</emphasis>. Use the attribute in
create operations.</para>
</listitem>
<listitem>
<para><emphasis role="bold"
>R</emphasis>. This attribute is
returned in response to show and
list operations.</para>
</listitem>
<listitem>
<para><emphasis role="bold"
>U</emphasis>. You can update the
value of this attribute.</para>
</listitem>
<listitem>
<para><emphasis role="bold"
>D</emphasis>. You can delete the
value of this attribute.</para>
</listitem>
</itemizedlist>
</footnote></th>
<th>Default Value</th>
<th>Validation Constraints</th>
<th>Notes</th>
</tr>
</thead>
<tbody>
<tr>
<td>router:external</td>
<td>Bool</td>
<td>No</td>
<td>CRU</td>
<td>False</td>
<td>{ True | False }</td>
<td>Specifies whether the network is an external
network or not.</td>
</tr>
</tbody>
</table>
<section xml:id="external_network_list">
<title>List networks</title>
<informaltable rules="all" width="100%">
<col width="20%"/>
<col width="20%"/>
<col width="60%"/>
<thead>
<tr>
<td>Verb</td>
<td>URI</td>
<td>Description</td>
</tr>
</thead>
<tbody>
<tr>
<td>&GET;</td>
<td>/networks</td>
<td>Returns a list of networks with their
router:external attributes.</td>
</tr>
</tbody>
</informaltable>
<para>Response codes are same as the normal operation of
listing networks. <emphasis role="italic"
>router:external</emphasis> attribute is visible to
all users by default policy setting.</para>
<para>Regular users are not authorized to create ports on
external networks, however they will be able to see this
attribute in their network list. This is because external
networks can be used by any tenant to set an external
gateway for Neutron routers or create floating IPs and
associate them with ports on internal tenant
networks.</para>
<example>
<title>List networks with router:external attribute: JSON
response</title>
<programlisting language="json"><xi:include href="samples/extnet/networks-get-res-extnet.json" parse="text"/></programlisting>
</example>
</section>
<section xml:id="external_network_show">
<title>Show network details</title>
<informaltable rules="all" width="100%">
<col width="10%"/>
<col width="30%"/>
<col width="60%"/>
<thead>
<tr>
<td>Verb</td>
<td>URI</td>
<td>Description</td>
</tr>
</thead>
<tbody>
<tr>
<td>&GET;</td>
<td>/networks/<parameter>network_id</parameter></td>
<td>Returns details about a specific network,
including external networks attributes.</td>
</tr>
</tbody>
</informaltable>
<para>Response codes are same as the normal operation of
listing networks. <emphasis role="italic"
>router:external</emphasis> attribute is visible to
all users including non-admin by default policy
setting.</para>
<example>
<title>Show network with external attributes: JSON
response</title>
<programlisting language="json"><xi:include href="samples/extnet/networks-show-res-extnet.json" parse="text"/></programlisting>
</example>
</section>
<section xml:id="external_network_create">
<title>Create network</title>
<informaltable rules="all" width="100%">
<col width="20%"/>
<col width="20%"/>
<col width="60%"/>
<thead>
<tr>
<td>Verb</td>
<td>URI</td>
<td>Description</td>
</tr>
</thead>
<tbody>
<tr>
<td>&POST;</td>
<td>/networks</td>
<td>Creates a new network using the external
network extension attribute.</td>
</tr>
</tbody>
</informaltable>
<para>If the user submitting the request is not allowed to set
this attribute, a 403 Forbidden response will be returned.
Usage of this attribute might be restricted through
authorization policies. By the default policy only admin
users can set this attribute.</para>
<example>
<title>Create network with external attributes: JSON
request</title>
<programlisting language="json"><xi:include href="samples/extnet/networks-post-req-extnet.json" parse="text"/></programlisting>
</example>
</section>
<section xml:id="external_network_update">
<title>Update network</title>
<informaltable rules="all" width="100%">
<col width="10%"/>
<col width="30%"/>
<col width="60%"/>
<thead>
<tr>
<td>Verb</td>
<td>URI</td>
<td>Description</td>
</tr>
</thead>
<tbody>
<tr>
<td>&PUT;</td>
<td>/networks/<parameter>network_id</parameter></td>
<td>Updates a network, including the external
network extension attribute.</td>
</tr>
</tbody>
</informaltable>
<para>If the user submitting the request is not allowed to set
this attribute, a 403 Forbidden response will be returned.
Usage of this attribute might be restricted through
authorization policies. By the default policy only admin
users can set this attribute.</para>
<example>
<title>Update external attributes for a network: JSON
request</title>
<programlisting language="json"><xi:include href="samples/extnet/networks-put-req-extnet.json" parse="text"/></programlisting>
</example>
</section>
</section>