Laurel Michaels ecf525e941 Add doc for configuration-list cmd
Added API doc for the trove configuration-list
command.

Change-Id: Ie219a182c3867e2191459974cf565c08af92aa72
Partial-Bug: #1376972
2015-07-08 13:28:39 -04:00

1573 lines
71 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE application [
<!ENTITY % common SYSTEM "common.ent">
%common;
]>
<application xmlns="http://wadl.dev.java.net/2009/02"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0"
xmlns:wadl="http://wadl.dev.java.net/2009/02"
xmlns:dbaas="http://docs.openstack.org/database/api/v1.0">
<grammars>
<include href="dbaas.xsd"/>
</grammars>
<resources base="http://docs.openstack.org/database/api/v1.0" xml:id="dbaas-v1">
<resource id="dbaas-versions-v1" path="//">
<method href="#getVersions"/>
</resource>
<resource id="dbaas-version-v1" path="//v1.0">
<method href="#getVersionInfo"/>
<resource id="accountID" path="{accountId}">
<param name="accountId" style="template"
type="xsd:string">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN"><para>The account ID of the
owner of the specified
instance.</para></wadl:doc>
</param>
<!-- add later when trove extensions are supported -->
<!--<resource id="extensions" type="#ExtensionList"
path="extensions">
<resource id="extension" path="{alias}">
<param required="true"
xmlns="http://wadl.dev.java.net/2009/02"
name="alias" style="template"
type="xsd:string">
<wadl:doc
xmlns="http://docbook.org/ns/docbook"
xml:lang="EN"><para>An alias, which is
a name for a pointer to a resource.
For example, a named
extension.</para>
</wadl:doc>
</param>
<method href="#list_dbaasExtensionv1"/>
</resource>
</resource>-->
<resource id="instances" path="instances">
<method href="#createInstance"/>
<method href="#getInstance"/>
<resource id="instanceId" path="{instanceId}">
<param name="instanceId" style="template"
type="xsd:string">
<wadl:doc
xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<para>
The instance ID for the specified database
instance.
</para>
</wadl:doc>
</param>
<method href="#getInstanceById"/>
<method href="#deleteInstance"/>
<resource id="instanceAction" path="action">
<method href="#resizeInstance"/>
<method href="#resizeVolume"/>
<method href="#restartInstance"/>
</resource>
<resource id="databases" path="databases">
<method href="#createDatabase"/>
<method href="#getDatabases"/>
<resource id="databaseName"
path="{databaseName}">
<param name="databaseName"
style="template" type="xsd:string">
<wadl:doc
xmlns="http://docbook.org/ns/docbook"
xml:lang="EN"><para>The name for
the specified
database.</para></wadl:doc>
</param>
<method href="#deleteDatabase"/>
</resource>
</resource>
<resource id="users" path="users">
<method href="#createUser"/>
<method href="#getUsers"/>
<resource id="userId" path="{name}">
<param name="name" style="template"
type="xsd:string">
<wadl:doc
xmlns="http://docbook.org/ns/docbook"
xml:lang="EN"><para>The name for
the specified
user.</para></wadl:doc>
</param>
<method href="#deleteUser"/>
</resource>
</resource>
<resource id="root" path="root">
<method href="#createRoot"/>
<method href="#isRootEnabled"/>
</resource>
</resource>
</resource>
<resource id="flavors" path="flavors">
<method href="#getFlavors"/>
<resource id="flavorId" path="{flavorId}">
<param name="flavorId" style="template"
type="xsd:string">
<wadl:doc
xmlns="http://docbook.org/ns/docbook"
xml:lang="EN"><para>The flavor ID for
the specified
flavor.</para></wadl:doc>
</param>
<method href="#getFlavorById"/>
</resource>
</resource>
<resource id="datastores" path="datastores">
<resource id="datastore_name" path="{datastore_name}">
<param name="datastore_name" style="template"
type="xsd:uuid">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<para>
The name of the datastore whose versions
you want to list.
</para>
</wadl:doc>
</param>
<resource id="datastore_versions" path="versions">
<method href="#listDatastoreVersions"/>
</resource>
</resource>
<resource id="versions" path="versions">
<resource id="datastore_version_id" path="{datastore_version_id}">
<param name="datastore_version_id" style="template"
type="xsd:uuid">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<para>
The ID of the data store version.
</para>
</wadl:doc>
</param>
<resource id="parameters" path="parameters">
<method href="#listParameters"/>
<resource id="parameter_name" path="{parameter_name}">
<param name="parameter_name" style="template"
type="xsd:uuid">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<para>
Name of the parameter whose details you want.
</para>
</wadl:doc>
</param>
<method href="#showParameterDetails"/>
</resource>
</resource>
</resource>
</resource>
</resource>
<resource id="configurations" path="configurations">
<method href="#createConfigGroup"/>
<method href="#listConfigGroups"/>
</resource>
</resource>
</resource>
</resources>
<!--<resource_type id="ExtensionList">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"
title="Detail image list">
<para>A list of supported extensions.</para>
</wadl:doc>
<method href="#list_dbaasExtensionsv1"/>
</resource_type>-->
<!-- Version -->
<method name="GET" id="getVersionInfo">
<wadl:doc xml:lang="EN" title="Show version details"
xmlns="http://docbook.org/ns/docbook"><para
role="shortdesc">Shows details for the Database
Service API v1.0.</para>
</wadl:doc>
<request>
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-version-request-json-http.txt"
/>
</wadl:doc>
</representation>
</request>
<response status="202">
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-version-response-json-http.txt"/>
<xsdxt:code
href="samples/db-version-response.json"/>
</wadl:doc>
</representation>
</response> &commonFaults; &getFaults; </method>
<method name="GET" id="getVersions">
<wadl:doc xml:lang="EN" title="List versions"
xmlns="http://docbook.org/ns/docbook"><para
role="shortdesc">Lists information about all Database
Service API versions.</para>
</wadl:doc>
<request>
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-versions-request-json-http.txt"
/>
</wadl:doc>
</representation>
</request>
<response status="200">
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-versions-response-json-http.txt"/>
<xsdxt:code
href="samples/db-versions-response.json"/>
</wadl:doc>
</representation>
</response> &commonFaults; &getFaults; </method>
<!-- Extensions -->
<!--<method name="GET" id="list_dbaasExtensionsv1">
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"
title="List extensions">
<para role="shortdesc">Lists available extensions.</para>
</wadl:doc>
<response status="200 203">
<param name="next" style="plain" type="xsd:anyURI"
path="/common:extensions/atom:link[@rel='next']/@href">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN"><para>Moves to the next metadata
item.</para></wadl:doc>
<link resource_type="#ExtensionList" rel="next"/>
</param>
<param name="previous" style="plain" type="xsd:anyURI"
path="/common:extensions/atom:link[@rel='previous']/@href">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN"><para>Moves to the previous metadata
item.</para></wadl:doc>
<link resource_type="#ExtensionList" rel="previous"/>
</param>
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="../api_samples/all_extensions/extensions-get-resp.json"
/>
</wadl:doc>
</representation>
<representation mediaType="application/xml">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="../api_samples/all_extensions/extensions-get-resp.xml"
/>
</wadl:doc>
</representation>
</response>
<!-\- Common Faults -\-> &commonFaults; </method>-->
<!--<method name="GET" id="list_dbaasExtensionv1">
<wadl:doc xml:lang="EN" xmlns="http://docbook.org/ns/docbook"
title="Get extension">
<para role="shortdesc">Gets details about the specified
extension.</para>
<para>Extensions introduce features and vendor-specific
functionality to the API without requiring a version
change.</para>
</wadl:doc>
<response status="200 203">
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code href="../api_samples/extension.json"/>
</wadl:doc>
</representation>
<representation mediaType="application/xml">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code href="../api_samples/extension.xml"/>
</wadl:doc>
</representation>
</response>
<!-\- Common and GET Faults-\-> &commonFaults; &getFaults; </method>-->
<!-- Instance -->
<method name="POST" id="createInstance">
<wadl:doc xml:lang="EN" title="Create database instance"
xmlns="http://docbook.org/ns/docbook">
<para role="shortdesc">
Creates a database instance.
</para>
<para>
This operation asynchronously provisions a new database
instance. This call requires the user to specify a flavor and
a volume size. The service then provisions the instance with
the requested flavor and sets up a volume of the specified
size, which is the storage for the database instance.
</para>
<note>
<title>Notes</title>
<itemizedlist>
<listitem>
<para>
You can create only one database instance per
<command>POST</command> request.
</para>
</listitem>
<listitem>
<para>
You can create a database instance with one or
more databases, and users associated to those
databases.
</para>
</listitem>
<listitem>
<para>
The default binding for the MySQL instance is
port 3306.
</para>
</listitem>
</itemizedlist>
</note>
</wadl:doc>
<request>
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-create-instance-request-json-http.txt"/>
<xsdxt:code
href="samples/db-create-instance-request.json"/>
</wadl:doc>
<param name="instance" style="plain" type="xsd:string"
required="true">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<para>
An <code>instance</code> object.
</para>
</wadl:doc>
</param>
<param name="flavorRef" style="plain"
type="xsd:string" required="true">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<para>
Reference (href), which is the actual URI to a
flavor as specified in the response from the list
flavors API call.
</para>
<para>
Rather than the flavor URI, you can also pass the
flavor id (integer) as the value for
<code>flavorRef</code>. For example, the flavor ID
for the flavor URI shown above is <code>1</code>.
</para>
</wadl:doc>
</param>
<param name="size" style="plain" type="xsd:int"
required="true">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<para>
The volume size, in gigabytes (GB). A valid value
is from 1 to 50.
</para>
</wadl:doc>
</param>
<param name="databases" style="plain"
type="xsd:string" required="true">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN"><para>A <code>databases</code>
object.</para></wadl:doc>
</param>
<param name="name" id="instance-name" style="plain"
type="xsd:string" required="false">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<para>
Name of the instance to create. A valid value is
up to 255 characters long. All characters are
permitted.
</para>
</wadl:doc>
</param>
<param name="name" id="database-name" style="plain"
type="xsd:string" required="false">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN"><para>Specifies database names
for creating databases on instance
creation.</para></wadl:doc>
</param>
<param name="character_set" style="plain"
type="xsd:string" required="false">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN"><para>Set of symbols and
encodings. The default character set is
<code>utf8</code>.</para></wadl:doc>
</param>
<param name="collate" style="plain" type="xsd:string"
required="false">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN"><para>Set of rules for comparing
characters in a character set. The default
value for collate is
<code>utf8_general_ci</code>.</para></wadl:doc>
</param>
<param name="users" style="plain" type="xsd:string"
required="true">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN"><para>A <code>users</code>
object.</para></wadl:doc>
</param>
<param name="name" id="user-name" style="plain"
type="xsd:string" required="false">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN"><para>The user name for the
database on instance
creation.</para></wadl:doc>
</param>
<param name="password" id="user-password"
style="plain" type="xsd:string" required="false">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN"><para>The password for those
users on instance
creation.</para></wadl:doc>
</param>
</representation>
</request>
<response status="200">
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-create-instance-response-json-http.txt"/>
<xsdxt:code
href="samples/db-create-instance-response.json"/>
<para xmlns="http://docbook.org/ns/docbook">
The previous response examples show resources that
contain links to themselves that enable a client to
easily obtain resource URIs rather than construct
them. There are two kinds of link relations associated
with resources. A <code>self</code> link contains a
<emphasis>versioned</emphasis> link to the resource.
These links should be used in cases where the link
will be followed immediately. A <code>bookmark</code>
link provides a permanent link to a resource that is
appropriate for long-term storage.
</para>
</wadl:doc>
</representation>
</response> &commonFaults; &getFaults; </method>
<method name="DELETE" id="deleteInstance">
<wadl:doc xml:lang="EN" title="Delete database instance"
xmlns="http://docbook.org/ns/docbook"><para
role="shortdesc">Deletes a specified database
instance, including any associated data.</para>
<note><para>This operation does not delete any read
slaves.</para></note>
<!--<remark>Reviewer: please
provide a description of read slaves that I can add to
the previous note.</remark>-->
<note>
<para>
This operation is not permitted when the instance state is
either <code>REBUILDING</code> or <code>BUILDING</code>.
</para>
</note>
</wadl:doc>
<request>
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-delete-instance-request-json-http.txt"
/>
</wadl:doc>
</representation>
</request>
<response status="202"/> &commonFaults; <response status="422"
xmlns="http://wadl.dev.java.net/2009/02">
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-delete-instance-response-json-http.txt"
/>
</wadl:doc>
</representation>
</response> &getFaults; </method>
<method name="GET" id="getInstance">
<wadl:doc xml:lang="EN" title="List database instances"
xmlns="http://docbook.org/ns/docbook">
<para role="shortdesc">
Lists information, including status, for all database
instances.
</para>
<para>
Lists status and information for all database instances.
</para>
</wadl:doc>
<request>
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-instances-index-request-json-http.txt"
/>
</wadl:doc>
</representation>
</request>
<response status="200">
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-instances-index-response-json-http.txt"/>
<xsdxt:code
href="samples/db-instances-index-response.json"
/>
</wadl:doc>
</representation>
</response> &commonFaults; &getFaults; </method>
<method name="GET" id="getInstanceById">
<wadl:doc xml:lang="EN" title="Show database instance details"
xmlns="http://docbook.org/ns/docbook">
<para role="shortdesc">
Shows database instance details.
</para>
<para>
Lists the status and details of the specified database
instance.
</para>
<para>
Lists the volume size in gigabytes (GB) and the approximate GB
used.
</para>
<note>
<para>
After instance creation, the <code>used</code> value is
greater than 0, which is expected and due to the automatic
creation of non-empty transaction logs for MySQL
optimization. The <code>used</code> attribute is
<emphasis>not</emphasis> returned in the response when the
instance status is <code>BUILD</code>,
<code>REBOOT</code>, <code>RESIZE</code>, or
<code>ERROR</code>.
</para>
</note>
<para>
The list operations return a DNS-resolvable host name that is
associated with the database instance rather than an IP
address. Because the host name always resolves to the correct
IP address for the database instance, you do not need to
maintain the mapping. Although the IP address might change
when you resize, migrate, or perform other operations, the
host name always resolves to the correct database instance.
</para>
</wadl:doc>
<request>
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-instance-status-detail-request-json-http.txt"
/>
</wadl:doc>
</representation>
</request>
<response status="200">
<representation mediaType="application/json"
element="dbaas:DatabaseInstance">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-instance-status-detail-response-json-http.txt"/>
<xsdxt:code
href="samples/db-instance-status-detail-response.json"
/>
</wadl:doc>
</representation>
</response> &commonFaults; &getFaults; </method>
<!-- Instance Actions -->
<method name="POST" id="restartInstance">
<wadl:doc xml:lang="EN" title="Restart instance"
xmlns="http://docbook.org/ns/docbook">
<para role="shortdesc">
Restarts the database service for a specified instance.
</para>
<para>
The restart operation restart sonly the MySQL instance.
Restarting MySQL erases any dynamic configuration settings
that you make in MySQL.
</para>
<note>
<para>
The MySQL service is unavailable until the instance
restarts.
</para>
</note>
<para>
If the operation succeeds, it returns a 202 Accepted response.
</para>
</wadl:doc>
<request>
<representation mediaType="application/json"
element="dbaas:Restart">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-instance-restart-request-json-http.txt"/>
<xsdxt:code
href="samples/db-instance-restart-request.json"
/>
</wadl:doc>
</representation>
</request>
<response status="202">
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-instance-restart-response-json-http.txt"
/>
</wadl:doc>
</representation>
</response> &commonFaults; &getFaults; &postPutFaults; </method>
<method name="POST" id="resizeInstance">
<wadl:doc xml:lang="EN" title="Resize instance"
xmlns="http://docbook.org/ns/docbook">
<para role="shortdesc">
Resizes the memory for an instance.
</para>
<para>
If you provide a valid <code>flavorRef</code>, this operation
changes the memory size of the instance, and restarts MySQL.
</para>
</wadl:doc>
<request>
<representation mediaType="application/json"
element="dbaas:Resize">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-instance-resize-instance-request-json-http.txt"/>
<xsdxt:code
href="samples/db-instance-resize-instance-request.json"
/>
</wadl:doc>
</representation>
</request>
<response status="202">
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-instance-resize-instance-response-json-http.txt"
/>
</wadl:doc>
</representation>
</response> &commonFaults; &getFaults; &postPutFaults; </method>
<method name="POST" id="resizeVolume">
<wadl:doc xml:lang="EN" title="Resize instance volume"
xmlns="http://docbook.org/ns/docbook">
<para role="shortdesc">
Resizes the volume that is attached to an instance.
</para>
<para>
You can use this operation to increase but not decrease the
volume size. A valid volume size is an integer value in
gigabytes (GB).
</para>
<note>
<para>
You cannot increase the volume to a size that is larger
than the API volume size limit.
</para>
</note>
<para>
If this operation succeeds, it returns a 202 Accepted
response.
</para>
</wadl:doc>
<request>
<representation mediaType="application/json"
element="dbaas:Resize">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-instance-resize-volume-request-json-http.txt"/>
<xsdxt:code
href="samples/db-instance-resize-volume-request.json"
/>
</wadl:doc>
</representation>
</request>
<response status="202">
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-instance-resize-volume-response-json-http.txt"
/>
</wadl:doc>
</representation>
</response> &commonFaults; &getFaults; &postPutFaults; </method>
<!-- Database -->
<method name="POST" id="createDatabase">
<wadl:doc xml:lang="EN" title="Create database"
xmlns="http://docbook.org/ns/docbook"><para
role="shortdesc">Creates a database within a specified
instance.</para><para>This operation creates a new
database within the specified
instance.</para><para>The <code>name</code> of the
database is a required attribute.</para><para>The
following additional attributes can be specified for
each database: <code>collate</code> and
<code>character_set</code>.</para><table
rules="all">
<caption>Required and Optional Attributes for Create
Database</caption>
<thead>
<tr>
<td colspan="1">Name</td>
<td colspan="3">Description</td>
<td colspan="1">Required</td>
</tr>
</thead>
<tbody>
<tr>
<td colspan="1">name</td>
<td colspan="3">Specifies the database name
for creating the database. See the request
examples for the required xml/json
format.</td>
<td colspan="1">Yes</td>
</tr>
<tr>
<td colspan="1">character_set</td>
<td colspan="3">Set of symbols and encodings.
The default character set is
<code>utf8</code>.</td>
<td colspan="1">No</td>
</tr>
<tr>
<td colspan="1">collate</td>
<td colspan="3">Set of rules for comparing
characters in a character set. The default
value for collate is
<code>utf8_general_ci</code>.</td>
<td colspan="1">No</td>
</tr>
</tbody></table><para>See the MySQL documentation for
information about supported character sets and
collations at <link
xlink:href="http://dev.mysql.com/doc/refman/5.1/en/charset-mysql.html"
>http://dev.mysql.com/doc/refman/5.1/en/charset-mysql.html</link>.</para><note><para>The
following database names are reserved and cannot
be used for creating databases: lost+found,
information_schema, and
mysql.</para></note><para>See the following tables for
information about characters that are valid/invalid
for creating database names.</para><table rules="all"
width="40%">
<caption>Valid Characters That Can Be Used in a
Database Name</caption>
<col width="100%"/>
<thead>
<tr>
<td>Character</td>
</tr>
</thead>
<tbody>
<tr>
<td>Letters (upper and lower cases
allowed)</td>
</tr>
<tr>
<td>Numbers</td>
</tr>
<tr>
<td>'@', '?', '#', and spaces are allowed, but
<emphasis>not</emphasis> at the
beginning and end of the database
name</td>
</tr>
<tr>
<td>'_' is allowed anywhere in the database
name</td>
</tr>
</tbody></table><table rules="all" width="40%">
<?dbfo keep-together="always"?>
<caption>Characters That <emphasis>Cannot</emphasis>
Be Used in a Database Name</caption>
<col width="100%"/>
<thead>
<tr>
<td>Character</td>
</tr>
</thead>
<tbody>
<tr>
<td>Single quotes</td>
</tr>
<tr>
<td>Double quotes</td>
</tr>
<tr>
<td>Back quotes</td>
</tr>
<tr>
<td>Semicolons</td>
</tr>
<tr>
<td>Commas</td>
</tr>
<tr>
<td>Backslashes</td>
</tr>
<tr>
<td>Forwardslashes</td>
</tr>
</tbody></table><table rules="all">
<caption>Length Restrictions for Database
Name</caption>
<thead>
<tr>
<td>Restriction</td>
<td>Value</td>
</tr>
</thead>
<tbody>
<tr>
<td>Database-name maximum length</td>
<td>64</td>
</tr>
</tbody></table>
</wadl:doc>
<request>
<representation mediaType="application/json"
element="dbaas:Database">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-create-databases-request-json-http.txt"/>
<xsdxt:code
href="samples/db-create-databases-request.json"
/>
</wadl:doc>
</representation>
</request>
<response status="202">
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-create-databases-response-json-http.txt"
/>
</wadl:doc>
</representation>
</response> &commonFaults; &getFaults; </method>
<method name="GET" id="getDatabases">
<wadl:doc xml:lang="EN" title="List instance databases"
xmlns="http://docbook.org/ns/docbook"><para
role="shortdesc">Lists databases for a specified
instance.</para><para>This operation lists the
databases for the specified
instance.</para><note><para>This operation returns
only the user-defined databases, not the system
databases. The system databases (mysql,
information_schema, lost+found) can only be viewed
by a database administrator.</para></note>
</wadl:doc>
<request>
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-list-databases-request-json-http.txt"
/>
</wadl:doc>
</representation>
</request>
<response status="200">
<representation mediaType="application/json"
element="dbaas:Databases">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-list-databases-response-json-http.txt"/>
<xsdxt:code
href="samples/db-list-databases-response.json"
/>
</wadl:doc>
</representation>
</response> &commonFaults; &getFaults; </method>
<method name="DELETE" id="deleteDatabase">
<wadl:doc xml:lang="EN" title="Delete database"
xmlns="http://docbook.org/ns/docbook"><para
role="shortdesc">Deletes a specified
database.</para><para>This operation deletes the
requested database within the specified database
instance. Note that all data associated with the
database is also deleted.</para>
</wadl:doc>
<request>
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-delete-databases-request-json-http.txt"
/>
</wadl:doc>
</representation>
</request>
<response status="202">
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-delete-databases-response-json-http.txt"
/>
</wadl:doc>
</representation>
</response> &commonFaults; &getFaults; </method>
<!-- User -->
<method name="POST" id="createUser">
<wadl:doc xml:lang="EN" title="Create user"
xmlns="http://docbook.org/ns/docbook"><para
role="shortdesc">Creates a user for a specified
database instance.</para><para>This operation
asynchronously provisions a new user for the specified
database instance based on the configuration defined
in the request object. Once the request is validated
and progress has started on the provisioning process,
a 202 Accepted response object is returned.</para>
<remark>Writer: please add the following note back into
the doc once the list User details call is added back
into the API: Using the identifier, the caller can
check on the progress of the operation by performing a
GET on users/name (for more details on this operation
see the "List User details" section of this
document).</remark>
<para>If the corresponding request cannot be fulfilled due
to insufficient or invalid data, an HTTP 400 "Bad
Request" error response is returned with information
regarding the nature of the failure. Failures in the
validation process are non-recoverable and require the
caller to correct the cause of the failure and POST
the request again.</para>
<para>The following table lists the required attributes
for create user. See the request examples for the
required xml/json format:</para>
<table rules="all" width="500">
<caption>Required attributes for create user</caption>
<thead>
<tr>
<td colspan="1">Applies To</td>
<td colspan="1">Name</td>
<td colspan="2">Description</td>
<td colspan="1">Required</td>
</tr>
</thead>
<tbody>
<tr>
<td colspan="1" rowspan="3">User</td>
<td colspan="1">name</td>
<td colspan="2">Name of the user for the
database.</td>
<td colspan="1">Yes</td>
</tr>
<tr>
<td colspan="1">password</td>
<td colspan="2">User password for database
access.</td>
<td colspan="1">Yes</td>
</tr>
<tr>
<td colspan="1">(database) name</td>
<td colspan="2"><para>Name of the database
that the user can access. One or more
database names must be
specified.</para></td>
<td colspan="1">No</td>
</tr>
</tbody>
</table>
<note><title>Notes</title><itemizedlist>
<listitem>
<para>A user is granted all privileges on the
specified databases.</para>
</listitem>
<listitem>
<para>The following user name is reserved and
cannot be used for creating users:
root.</para>
</listitem>
</itemizedlist></note>
<para>See the following tables for information about
characters that are valid/invalid for creating
database names, user names, and passwords.</para>
<table rules="all" width="40%">
<caption>Valid Characters That Can Be Used in a
Database Name, User Name, and Password</caption>
<col width="100%"/>
<thead>
<tr>
<td>Character</td>
</tr>
</thead>
<tbody>
<tr>
<td>Letters (upper and lower cases
allowed)</td>
</tr>
<tr>
<td>Numbers</td>
</tr>
<tr>
<td>'@', '?', '#', and spaces are allowed, but
<emphasis>not</emphasis> at the
beginning and end of the database name,
user name, and password</td>
</tr>
<tr>
<td>"_" is allowed anywhere in the database
name, user name, and password</td>
</tr>
</tbody></table><table rules="all" width="40%">
<caption>Characters That <emphasis>Cannot</emphasis>
Be Used in a Database Name, User Name, and
Password</caption>
<col width="100%"/>
<thead>
<tr>
<td>Character</td>
</tr>
</thead>
<tbody>
<tr>
<td>Single quotes</td>
</tr>
<tr>
<td>Double quotes</td>
</tr>
<tr>
<td>Back quotes</td>
</tr>
<tr>
<td>Semicolons</td>
</tr>
<tr>
<td>Commas</td>
</tr>
<tr>
<td>Backslashes</td>
</tr>
<tr>
<td>Forwardslashes</td>
</tr>
<tr>
<td>Spaces at the front or end of the user
name or password</td>
</tr>
</tbody></table><table rules="all">
<caption>Length Restrictions for Database Name, User
Name, and Password</caption>
<thead>
<tr>
<td>Restriction</td>
<td>Value</td>
</tr>
</thead>
<tbody>
<tr>
<td>Database name maximum length</td>
<td>64</td>
</tr>
<tr>
<td>User name maximum length</td>
<td>16</td>
</tr>
<tr>
<td>Password maximum length</td>
<td>unlimited (no restrictions)</td>
</tr>
</tbody></table>
</wadl:doc>
<request>
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-create-users-request-json-http.txt"/>
<xsdxt:code
href="samples/db-create-users-request.json"/>
</wadl:doc>
</representation>
</request>
<response status="202">
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-create-users-response-json-http.txt"
/>
</wadl:doc>
</representation>
</response> &commonFaults; &getFaults; </method>
<method name="GET" id="getUsers">
<wadl:doc xml:lang="EN" title="List database instance users"
xmlns="http://docbook.org/ns/docbook"><para
role="shortdesc">Lists the users in a specified
database instance.</para><para>This operation lists
the users in the specified database instance, along
with the associated databases for that
user.</para><note><para>This operation does not
return the system users (database administrators
that administer the health of the database). Also,
this operation returns the "root" user only if
"root" user has been
enabled.</para></note><para>The following notes apply
to MySQL users:</para><itemizedlist spacing="compact">
<listitem>
<para>User names can be up to 16 characters
long.</para>
</listitem>
<listitem>
<para>When you create accounts with INSERT, you
must use FLUSH PRIVILEGES to tell the server
to reload the grant tables.</para>
</listitem>
<listitem>
<para>For additional information, See: <link
xlink:href="http://dev.mysql.com/doc/refman/5.1/en/user-account-management.html"
>http://dev.mysql.com/doc/refman/5.1/en/user-account-management.html</link></para>
</listitem></itemizedlist>
</wadl:doc>
<request>
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-list-users-request-json-http.txt"
/>
</wadl:doc>
</representation>
</request>
<response status="200">
<representation mediaType="application/json"
element="dbaas:Users">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-list-users-response-json-http.txt"/>
<xsdxt:code
href="samples/db-list-users-response.json"/>
</wadl:doc>
</representation>
</response> &commonFaults; &getFaults; </method>
<method name="DELETE" id="deleteUser">
<wadl:doc xml:lang="EN" title="Delete user"
xmlns="http://docbook.org/ns/docbook"><para
role="shortdesc">Deletes a specified user for a
specified database instance.</para><para>This
operation deletes the specified user for the specified
database instance.</para>
<warning><para>There is a bug in a python library that
Rackspace is using that may cause incorrect user
deletions to occur if a period (.) is used in the
user name. In this case, the user name is
truncated to remove the portion of the name from
the period to the end, leaving only the portion
from the beginning up to the period. For example,
for a user named "my.userA", the bug would
truncate the user name to "my", and if the user
"my" exists, that user will be incorrectly
deleted. To avoid the problem, do not use periods
in user names.</para></warning>
</wadl:doc>
<request>
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-delete-users-request-json-http.txt"
/>
</wadl:doc>
</representation>
</request>
<response status="202">
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-delete-users-response-json-http.txt"
/>
</wadl:doc>
</representation>
</response> &commonFaults; &getFaults; </method>
<!-- Root -->
<method name="POST" id="createRoot">
<wadl:doc xml:lang="EN" title="Enable root user"
xmlns="http://docbook.org/ns/docbook"><para
role="shortdesc">Enables the root user for a specified
database instance and returns the root
password.</para><para>This operation enables login
from any host for the root user and provides the user
with a generated root password.</para>
<note><para>Changes you make as a root user may cause
detrimental effects to the database instance and
unpredictable behavior for API operations. When
you enable the root user, you accept the
possibility that we will not be able to support
your database instance. While enabling root does
not prevent us from a “best effort” approach to
helping you if something goes wrong with your
instance, we cannot ensure that we will be able to
assist you if you change core MySQL settings.
These changes can be (but are not limited to)
turning off binlogs, removing users that we use to
access your instance, and so forth.</para></note>
</wadl:doc>
<request>
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-enable-root-user-request-json-http.txt"
/>
</wadl:doc>
</representation>
</request>
<response status="200">
<representation mediaType="application/json"
element="dbaas:User">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-enable-root-user-response-json-http.txt"/>
<xsdxt:code
href="samples/db-enable-root-user-response.json"
/>
</wadl:doc>
</representation>
</response> &commonFaults; &getFaults; </method>
<method name="GET" id="isRootEnabled">
<wadl:doc xml:lang="EN"
title="Show root-enabled status for database instance"
xmlns="http://docbook.org/ns/docbook">
<para role="shortdesc">Shows root-enabled status for a
database instance.</para>
<para>Returns true if root user is enabled for a specified
database instance or false otherwise.</para>
<para>This operation checks an active specified database
instance to see if root access is enabled. It returns
True if root user is enabled for the specified
database instance or False otherwise.</para>
</wadl:doc>
<request>
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-check-root-user-request-json-http.txt"
/>
</wadl:doc>
</representation>
</request>
<response status="200">
<representation mediaType="application/json"
element="dbaas:RootEnabled">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-check-root-user-response-json-http.txt"/>
<xsdxt:code
href="samples/db-check-root-user-response.json"
/>
</wadl:doc>
</representation>
</response> &commonFaults; &getFaults; </method>
<!-- Flavor -->
<method name="GET" id="getFlavors">
<wadl:doc xml:lang="EN" title="List flavors"
xmlns="http://docbook.org/ns/docbook"><para
role="shortdesc">Lists information for all available
flavors.</para>
<para>This operation lists information for all available
flavors.</para>
<para>This resource is identical to the flavors found in
the OpenStack Nova API, but without the disk
property.</para>
<!-- <remark>Reviewer: please check that the xml example below
is now correct. Previously it was reported to be
incorrect.</remark>-->
</wadl:doc>
<request>
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-flavors-request-json-http.txt"
/>
</wadl:doc>
</representation>
</request>
<response status="200">
<representation mediaType="application/json"
element="dbaas:Flavors">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-flavors-response-json-http.txt"/>
<xsdxt:code
href="samples/db-flavors-response.json"/>
</wadl:doc>
</representation>
</response> &commonFaults; &getFaults; </method>
<method name="GET" id="getFlavorById">
<wadl:doc xml:lang="EN" title="Show flavor details"
xmlns="http://docbook.org/ns/docbook"><para
role="shortdesc">Shows flavor details.</para>
<para>This operation lists all information for the
specified flavor ID with details of the RAM.</para>
<para>This resource is identical to the flavors found in
the OpenStack Nova API, but without the disk
property.</para>
<note><para>The flavorId parameter should be an integer.
If a floating point value is used for the flavorId
parameter, the decimal portion is truncated and
the integer portion is used as the value of the
flavorId.</para></note>
<remark>Writer: need to confirm that this behavior is not
changed in subsequent releases, and if it is
prevented, remove the Note above.</remark>
</wadl:doc>
<request>
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-flavors-by-id-request-json-http.txt"
/>
</wadl:doc>
</representation>
</request>
<response status="200">
<representation mediaType="application/json"
element="dbaas:Flavor">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-flavors-by-id-response-json-http.txt"/>
<xsdxt:code
href="samples/db-flavors-by-id-response.json"
/>
</wadl:doc>
</representation>
</response> &commonFaults; &getFaults;
</method>
<method name="GET" id="listDatastoreVersions">
<wadl:doc xml:lang="EN" title="List datastore versions"
xmlns="http://docbook.org/ns/docbook">
<para role="shortdesc">
Lists the available versions of
a specified datastore.
</para>
</wadl:doc>
<request>
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-list-datastore-versions-request-json-http.txt"/>
</wadl:doc>
</representation>
</request>
<response status="200">
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-list-datastore-versions-response-json-http.txt"
/>
<xsdxt:code
href="samples/db-list-datastore-versions.json"
/>
</wadl:doc>
</representation>
</response> &commonFaults; &getFaults;
</method>
<method name="GET" id="listParameters">
<wadl:doc xml:lang="EN" title="List configuration parameters"
xmlns="http://docbook.org/ns/docbook">
<para role="shortdesc">
Lists the available configuration parameters for a specified
datastore version.
</para>
<para>
Parameter information includes the type, minimum and maximum
values, and whether you must restart the instance after you
change a parameter value.
</para>
</wadl:doc>
<request>
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-list-parameters-request-json-http.txt"/>
</wadl:doc>
</representation>
</request>
<response status="200">
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-list-parameters-response-json-http.txt"
/>
<xsdxt:code
href="samples/db-list-parameters-response.json"
/>
</wadl:doc>
</representation>
</response> &commonFaults; &getFaults;
</method>
<method name="GET" id="showParameterDetails">
<wadl:doc xml:lang="EN" title="Show configuration parameter details"
xmlns="http://docbook.org/ns/docbook">
<para role="shortdesc">
Displays details for a configuration parameter associated
with a specified datastore version.
</para>
<para>
Details include the type, minimum and maximum
values, and whether you must restart the instance after you
change the parameter value.
</para>
</wadl:doc>
<request>
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-show-parameter-details-request-json-http.txt"/>
</wadl:doc>
</representation>
</request>
<response status="200">
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-show-parameter-details-response-json-http.txt"
/>
<xsdxt:code
href="samples/db-show-parameter-details.json"
/>
</wadl:doc>
</representation>
</response> &commonFaults; &getFaults;
</method>
<method name="POST" id="createConfigGroup">
<wadl:doc xml:lang="EN" title="Create configuration group"
xmlns="http://docbook.org/ns/docbook">
<para role="shortdesc">
Creates a configuration group.
</para>
</wadl:doc>
<request>
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-create-config-grp-request-json-http.txt"/>
<xsdxt:code
href="samples/db-create-config-grp-request.json"/>
</wadl:doc>
<param name="datastore" style="plain" type="xsd:string"
required="true">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<para>
Datastore assigned to the configuration group. Required if default datastore is not configured.
</para>
</wadl:doc>
</param>
<param name="values" style="plain" type="xsd:string"
required="true">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<para>
Dictionary that lists configuration parameter names and associated values.
</para>
</wadl:doc>
</param>
<param name="name" style="plain" type="xsd:string"
required="true">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<para>
Name of the configuration group you are creating.
</para>
</wadl:doc>
</param>
</representation>
</request>
<response status="200">
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-create-config-grp-response-json-http.txt"
/>
<xsdxt:code
href="samples/db-create-config-grp-response.json"
/>
</wadl:doc>
</representation>
</response> &commonFaults; &getFaults;
</method>
<method name="GET" id="listConfigGroups">
<wadl:doc xml:lang="EN" title="List configuration groups"
xmlns="http://docbook.org/ns/docbook">
<para role="shortdesc">
Lists all configuration groups.
</para>
<para>
The list includes the associated datastore and datastore
version for each configuration group.
</para>
</wadl:doc>
<request>
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-list-cfg-groups-request-json-http.txt"
/>
</wadl:doc>
</representation>
</request>
<response status="200">
<representation mediaType="application/json">
<wadl:doc xmlns="http://docbook.org/ns/docbook"
xml:lang="EN">
<xsdxt:code
href="samples/db-list-cfg-groups-response-json-http.txt"/>
<xsdxt:code
href="samples/db-list-cfg-groups-response.json"
/>
</wadl:doc>
</representation>
</response> &commonFaults; &getFaults;
</method>
</application>