Last active
August 29, 2015 14:09
-
-
Save maxlinc/543c237fc415a06678fc to your computer and use it in GitHub Desktop.
Autoscale WADL (XML) vs Swagger (YAML)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="utf-8"?> | |
<!--*******************************************************--> | |
<!-- Import Common XML Entities --> | |
<!-- --> | |
<!-- You can resolve the entites with xmllint --> | |
<!-- --> | |
<!-- xmllint -noent autoscale.wadl --> | |
<!--*******************************************************--> | |
<!-- need xmlns:identity to use &commonFaults; &postPutFaults; &listGroupFaults; &createGroupFaults; | |
&showGroupDetailsFaults; &deleteGroupFaults; &deleteGroupServerFaults; &getGroupStateFaults; &getGroupConfigurationFaults; &updateGroupConfigurationFaults; | |
&getLaunchConfigurationFaults; &updateLaunchConfigurationFaults; &listPoliciesFaults; &createPolicyFaults; &showPolicyDetailsFaults; | |
&updatePolicyFaults; &deletePolicyFaults; &executePolicyFaults; &executeWebhookFaults; &listWebhookFaults; &createWebhookFaults; | |
&createWebhookFaults; &showWebhookDetailsFaults; &updateWebhookFaults; &deleteWebhookFaults; in METHODS --> | |
<wadl:application xmlns="http://docbook.org/ns/docbook" | |
xmlns:wadl="http://wadl.dev.java.net/2009/02" | |
xmlns:rax="http://docs.rackspace.com/api" | |
xmlns:xs="http://www.w3.org/2001/XMLSchema"> | |
<!-- ======================================================================================= --> | |
<!-- Resources --> | |
<!-- ======================================================================================= --> | |
<resources xmlns:identity="http://docs.openstack.org/identity/api/v2.0" | |
xmlns:db="http://docbook.org/ns/docbook" | |
xmlns:csapi="http://docs.openstack.org/compute/api/v2" | |
xmlns:raxapi="http://docs.rackspace.com/volume/api/v1" | |
xmlns:osapi="http://docs.openstack.org/compute/api/v1.1" | |
xmlns:xlink="http://www.w3.org/1999/xlink" | |
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |
xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0" | |
xmlns="http://wadl.dev.java.net/2009/02" | |
base="https://{region}.autoscale.api.rackspacecloud.com/" | |
xml:id="autoscale-v1"> | |
<resource id="groups" path="v1.0/{tenantId}/groups"> | |
<param name="tenantId" | |
type="xsd:string" | |
required="true" | |
style="template"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A subscriber to the auto | |
scaling service.</para> | |
</wadl:doc> | |
</param> | |
<param name="X-Auth-Token" | |
style="header" | |
type="xsd:string" | |
required="true"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A valid authentication | |
token.</para> | |
</wadl:doc> | |
</param> | |
<method name="POST" | |
rax:id="createGroup" | |
rax:roles="admin autoscale:admin autoscale:service-admin"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" | |
xml:lang="EN" | |
title="Create scaling group"> | |
<para role="shortdesc">Creates a scaling group.</para> | |
<para>Creates a scaling group or a collection of servers | |
and load balancers that are managed by a scaling | |
policy. To describe the group, specify the scaling | |
group configuration, launch configuration, and | |
optional scaling policies in the request body in JSON | |
format.</para> | |
<para>If the request succeeds, the response body describes | |
the created group in JSON format. The response | |
includes an ID and links for the group.</para> | |
</wadl:doc> | |
<request> | |
<param style="plain" | |
name="launchConfiguration" | |
required="true" | |
type="object" | |
path="$.launchConfiguration"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A launch configuration.</para> | |
<para>A launch configuration defines what to do | |
when a new server is created, including | |
information about the server image, the flavor | |
of the server image, and the load balancer to | |
which to connect. You must set the | |
<code>type</code> parameter to <code>launch_server</code>. | |
</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="loadBalancers" | |
required="false" | |
type="array" | |
path="$.launchConfiguration.args.loadBalancers"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>One or more load balancers to which to add | |
new servers. All servers are added to these | |
load balancers with the IP addresses of their | |
ServiceNet network. All servers are enabled | |
and equally weighted. Any new servers that are | |
not connected to the ServiceNet network are | |
not added to any load | |
balancers.</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="port" | |
required="true" | |
type="integer" | |
path="$.launchConfiguration.args.loadBalancers.[*].port"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>The port number of the service | |
(on the new servers) to use for this | |
particular load balancer. In most cases, this | |
port number is 80.</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="loadBalancerId" | |
required="true" | |
type="integer" | |
path="$.launchConfiguration.args.loadBalancers.[*].loadBalancerId"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>The ID of the load balancer to | |
which to add new servers.</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="server" | |
required="true" | |
type="object" | |
path="$.launchConfiguration.args.server"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>The attributes that Auto Scale | |
uses to create a new server. For more | |
information, see <link xlink:href="http://docs.rackspace.com/servers/api/v2/cs-devguide/content/CreateServers.html">Create Server</link>. The attributes that | |
you specify for the server entity apply to all | |
new servers in the scaling group, including | |
the server name.</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="flavorRef" | |
required="true" | |
type="string" | |
path="$.launchConfiguration.args.server.flavorRef"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>The flavor of the server | |
image. Specifies the flavor ID for the | |
server.</para> | |
<para>A flavor is a resource | |
configuration for a server. For more | |
information, see Server Flavors<olink targetdoc="autoscale-devguide" targetptr="server-flavors">“Server | |
Flavors”</olink> | |
section.</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="imageRef" | |
required="true" | |
type="string" | |
path="$.launchConfiguration.args.server.imageRef"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>The ID of the cloud server | |
image, after which new server images are | |
created.</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="personality" | |
required="false" | |
type="array" | |
path="$.launchConfiguration.args.server.personality"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>The file path and/or the | |
content that you want to inject into a server | |
image. For more information, see the <link xlink:href="http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Server_Personality-d1e2543.html">Server Personality</link> documentation | |
for Rackspace Cloud Servers.</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="path" | |
required="true" | |
type="string" | |
path="$.launchConfiguration.args.server.personality.[*].path"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>The path to the file that | |
contains data that is injected into the file | |
system of the new cloud server | |
image.</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="contents" | |
required="true" | |
type="string" | |
path="$.launchConfiguration.args.server.personality.[*].contents"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>The content items that is | |
injected into the file system of the new cloud | |
server image.</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="args" | |
required="true" | |
type="object" | |
path="$.launchConfiguration.args"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>The item to be configured. | |
Must be "server" or "load balancer." Most | |
launch configurations have both a server and a | |
load balancer configured.</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="type" | |
required="true" | |
type="string" | |
path="$.launchConfiguration.type"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>The type of the launch | |
configuration. For this release, this | |
parameter must be set to | |
<code>launch_server</code>.</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="groupConfiguration" | |
required="true" | |
type="object" | |
path="$.groupConfiguration"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>The configuration options for | |
the scaling group. The scaling group | |
configuration specifies the basic elements of | |
the Auto Scale configuration. It manages how | |
many servers can participate in the scaling | |
group. It specifies information related to | |
load balancers.</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="maxEntities" | |
required="false" | |
type="object" | |
path="$.groupConfiguration.maxEntities"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>The maximum number of | |
entities that are allowed in the scaling | |
group. If unconfigured, defaults to 1000. If this | |
value is provided it must be set to an integer | |
between 0 and 1000.</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="name" | |
required="true" | |
type="string" | |
path="$.groupConfiguration.name"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>The name of the scaling group. | |
This name does not need to be | |
unique.</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="cooldown" | |
required="true" | |
type="integer" | |
path="$.groupConfiguration.cooldown"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>The cool-down period before | |
more entities are added, in seconds. This | |
number must be an integer between 0 and 86400 | |
(24 hrs).</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="minEntities" | |
required="true" | |
type="integer" | |
path="$.groupConfiguration.minEntities"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>The minimum number of entities | |
in the scaling group. This number must be an | |
integer between 0 and 1000.</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="metadata" | |
required="false" | |
type="object" | |
path="$.groupConfiguration.metadata"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>Optional. Custom metadata for | |
your group configuration. You can use the | |
metadata parameter for customer automation, | |
but it does not change any functionality in | |
Auto Scale. There currently is no limitation | |
on depth.</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="scalingPolicies" | |
required="true" | |
type="array" | |
path="$.scalingPolicies"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">This | |
parameter group specifies configuration | |
information for your scaling policies. Scaling | |
policies specify how to modify the scaling group | |
and its behavior. You can specify multiple | |
policies to manage a scaling group. </wadl:doc> | |
</param> | |
<param style="plain" | |
name="array" | |
required="true" | |
type="array" | |
path="$.scalingPolicies.[*]"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>An array of scaling | |
policies.</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="name" | |
required="true" | |
type="string" | |
path="$.scalingPolicies.[*].name"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A name for the scaling policy. | |
This name must be unique for each scaling | |
policy.</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="args" | |
required="false" | |
type="object" | |
path="$.scalingPolicies.[*].args"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>Additional configuration | |
information for policies of type "schedule." | |
This parameter is not required for policies of | |
type "webhook." This parameter must be set to | |
either "at" or <code>cron</code>. Both "at" | |
and <code>cron</code> are mutually | |
exclusive.</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="cron" | |
required="false" | |
type="string" | |
path="$.scalingPolicies.[*].args.cron"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>The recurring time when the | |
policy runs as a cron entry. For example, if | |
you set this parameter to <code>1 0 * * | |
*</code>, the policy runs at one minute | |
past midnight (00:01) every day of the month, | |
and every day of the week. For more | |
information about cron, see <link xlink:href="http://en.wikipedia.org/wiki/Cron">http://en.wikipedia.org/wiki/Cron</link>.</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="at" | |
required="false" | |
type="string" | |
path="$.scalingPolicies.[*].args.at"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>The time when this policy | |
runs. This property is mutually exclusive with | |
the <code>cron</code> parameter. You must | |
specify seconds when using "at". For example, | |
<code>"at": "2013-12-05T03:12:00Z"</code>. | |
If seconds are not specified, a 400 error is | |
returned. Note, the policy is triggered within | |
a 10-second range of the time specified.</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="changePercent" | |
required="false" | |
type="number" | |
path="$.scalingPolicies.[*].changePercent"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>The percent change to make in | |
the number of servers in the scaling group. If | |
this number is positive, the number of servers | |
increases by the given percentage. If this | |
parameter is set to a negative number, the | |
number of servers decreases by the given | |
percentage. The absolute change in the number | |
of servers is rounded to the nearest integer. | |
This means that if -X% of the current number | |
of servers translates to -0.5 or -0.25 or | |
-0.75 servers, the actual number of servers | |
that are shut down is 1. If X% of the current | |
number of servers translates to 1.2 or 1.5 or | |
1.7 servers, the actual number of servers that | |
are launched is 2.</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="cooldown" | |
required="true" | |
type="number" | |
path="$.scalingPolicies.[*].cooldown"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>The cool-down period, in | |
seconds, before this particular scaling policy | |
can run again. The cool-down period does not | |
affect the global scaling group cool-down. The | |
minimum value for this parameter is 0 seconds, | |
the maximum value is 86400 seconds (24 | |
hrs).</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="type" | |
required="true" | |
type="enum" | |
path="$.scalingPolicies.[*].type"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>The type of policy that runs | |
for the current release, this value can be | |
either <code>webhook</code> for webhook-based | |
policies or <code>schedule</code> for | |
schedule-based policies.</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="change" | |
required="false" | |
type="integer" | |
path="$.scalingPolicies.[*].change"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>The change to make in the | |
number of servers in the scaling group. This | |
parameter must be an integer. If the value is | |
a positive integer, the number of servers | |
increases. If the value is a negative integer, | |
the number of servers | |
decreases.</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="desiredCapacity" | |
required="false" | |
type="integer" | |
path="$.scalingPolicies.[*].desiredCapacity"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>The desired server capacity of | |
the scaling the group; that is, how many | |
servers should be in the scaling group. This | |
value must be an absolute number, greater than or equal to zero. | |
For example, if this parameter is set to ten, executing the policy brings the number | |
of servers to ten. The minimum allowed value is | |
zero. Note that the configured group maxEntities and minEntities takes precedence | |
over this setting.</para> | |
</wadl:doc> | |
</param> | |
<representation mediaType="application/json"> | |
<wadl:doc xml:lang="en"> | |
<xsdxt:code> | |
<programlisting xmlns="http://docbook.org/ns/docbook" language="javascript">{ | |
"launchConfiguration":{ | |
"args":{ | |
"loadBalancers":[ | |
{ | |
"port":80, | |
"loadBalancerId":237935 | |
} | |
], | |
"server":{ | |
"name":"autoscale_server", | |
"imageRef":"7cf5ffc3-7b20-46fd-98e4-fefa9908d7e8", | |
"flavorRef":"performance1-2", | |
"OS-DCF:diskConfig":"AUTO", | |
"networks":[ | |
{ | |
"uuid":"11111111-1111-1111-1111-111111111111" | |
}, | |
{ | |
"uuid":"00000000-0000-0000-0000-000000000000" | |
} | |
] | |
} | |
}, | |
"type":"launch_server" | |
}, | |
"groupConfiguration":{ | |
"maxEntities":10, | |
"cooldown":360, | |
"name":"testscalinggroup", | |
"minEntities":0 | |
}, | |
"scalingPolicies":[ | |
{ | |
"cooldown":0, | |
"name":"scale up by 1", | |
"change":1, | |
"type":"schedule", | |
"args":{ | |
"cron":"23 * * * *" | |
} | |
} | |
] | |
}</programlisting> | |
</xsdxt:code> | |
</wadl:doc> | |
<param style="plain" | |
name="launchConfiguration" | |
required="true" | |
type="object" | |
path="$.launchConfiguration"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">What to do when a new server is created. Its | |
configuration includes information about the | |
server image, the flavor of the server image, | |
and which load balancer to connect to. The | |
<code>type</code> parameter for <code>launchConfiguration</code> must be | |
set to <code>launch_server</code>.</wadl:doc> | |
</param> | |
<param style="plain" | |
name="loadBalancers" | |
required="false" | |
type="array" | |
path="$.launchConfiguration.args.loadBalancers"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">Details about one or more load balancers to | |
add new servers to. All servers are added to | |
these load balancers with the IP addresses of | |
their ServiceNet network. All servers are | |
enabled and equally weighted. Any new servers | |
that are not connected to the ServiceNet | |
network are not added to any load | |
balancers.</wadl:doc> | |
</param> | |
<param style="plain" | |
name="port" | |
required="true" | |
type="integer" | |
path="$.launchConfiguration.args.loadBalancers.[*].port"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">The port number of the service (on the new | |
servers) to use for this particular load | |
balancer. In most cases, this port number is | |
80.</wadl:doc> | |
</param> | |
<param style="plain" | |
name="loadBalancerId" | |
required="true" | |
type="integer" | |
path="$.launchConfiguration.args.loadBalancers.[*].loadBalancerId"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">The ID of the load balancer to which new | |
servers are added.</wadl:doc> | |
</param> | |
<param style="plain" | |
name="server" | |
required="true" | |
type="object" | |
path="$.launchConfiguration.args.server"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">The attributes that Auto Scale uses to create | |
a server. For more information, see: <link xlink:href="/servers/api/v2/cs-devguide/content/CreateServers.html">Create | |
Servers</link> in the cloud servers | |
developer's guide. The attributes that are | |
specified for the <code>server</code> parameter are applied | |
to all new servers in the scaling group. The | |
specified server name is used as the base name | |
for all created servers.</wadl:doc> | |
</param> | |
<param style="plain" | |
name="flavorRef" | |
required="true" | |
type="string" | |
path="$.launchConfiguration.args.server.flavorRef"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">The flavor ID for the server. A flavor is a | |
resource configuration for a server. For more | |
information on available flavors, see the | |
<olink targetdoc="autoscale-devguide" targetptr="server-flavors">“Server | |
Flavors”</olink> | |
section.</wadl:doc> | |
</param> | |
<param style="plain" | |
name="imageRef" | |
required="true" | |
type="string" | |
path="$.launchConfiguration.args.server.imageRef"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">The ID of the cloud server image, after which | |
new server images are created. </wadl:doc> | |
</param> | |
<param style="plain" | |
name="personality" | |
required="false" | |
type="array" | |
path="$.launchConfiguration.args.server.personality"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">The file path and/or the content that you | |
want to inject into a server image. For more | |
information, see the <link xlink:href="http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Server_Personality-d1e2543.html">Server Personality</link> documentation | |
for Rackspace Cloud Servers </wadl:doc> | |
</param> | |
<param style="plain" | |
name="path" | |
required="true" | |
type="string" | |
path="$.launchConfiguration.args.server.personality.[*].path"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">The path to the file that contains data that | |
is injected into the file system of the new | |
cloud server image.</wadl:doc> | |
</param> | |
<param style="plain" | |
name="contents" | |
required="true" | |
type="string" | |
path="$.launchConfiguration.args.server.personality.[*].contents"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">The content items that are injected into the | |
file system of the new cloud server image. | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="args" | |
required="true" | |
type="object" | |
path="$.launchConfiguration.args"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">The item to be configured. Must be | |
<code>server</code> or | |
<code>loadbalancer</code>. Most launch | |
configurations have both a server and a | |
loadbalancer.</wadl:doc> | |
</param> | |
<param style="plain" | |
name="type" | |
required="true" | |
type="string" | |
path="$.launchConfiguration.type"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">The type of the launch configuration. | |
Currently, this parameter must be set to | |
<code>launch_server</code>.</wadl:doc> | |
</param> | |
<param style="plain" | |
name="groupConfiguration" | |
required="true" | |
type="object" | |
path="$.groupConfiguration"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">The configuration options for the scaling | |
group that manages how many servers and load | |
balancers are in the scaling group. </wadl:doc> | |
</param> | |
<param style="plain" | |
name="maxEntities" | |
required="false" | |
type="object" | |
path="$.groupConfiguration.maxEntities"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">The maximum number of entities that are | |
allowed in the scaling group. If unconfigured, defaults to 1000. | |
If this parameter is provided it must be | |
set to an integer between 0 and 1000. </wadl:doc> | |
</param> | |
<param style="plain" | |
name="name" | |
required="true" | |
type="string" | |
path="$.groupConfiguration.name"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">The name of the scaling group, does not need | |
to be unique.</wadl:doc> | |
</param> | |
<param style="plain" | |
name="cooldown" | |
required="true" | |
type="integer" | |
path="$.groupConfiguration.cooldown"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">The period of time, in seconds, that must | |
pass before any scaling can occur after the | |
previous scaling. Must be an integer between 0 | |
and 86400 (24 hrs). </wadl:doc> | |
</param> | |
<param style="plain" | |
name="minEntities" | |
required="true" | |
type="integer" | |
path="$.groupConfiguration.minEntities"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">The minimum number of entities in the scaling | |
group. This number must be an integer between | |
0 and 1000. </wadl:doc> | |
</param> | |
<param style="plain" | |
name="metadata" | |
required="false" | |
type="object" | |
path="$.groupConfiguration.metadata"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">This optional parameter specifies custom | |
metadata for your group configuration. You can | |
use the metadata parameter for customer | |
automation, but it does not change any | |
functionality in Auto Scale. There currently | |
is no limitation on depth.</wadl:doc> | |
</param> | |
<param style="plain" | |
name="scalingPolicies" | |
required="true" | |
type="array" | |
path="$.scalingPolicies"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">Configuration information for your scaling | |
policies specifying how to modify the scaling | |
group and when. You can specify multiple | |
policies to manage a scaling group. </wadl:doc> | |
</param> | |
<param style="plain" | |
name="array" | |
required="true" | |
type="array" | |
path="$.scalingPolicies.[*]"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">An | |
array of scaling policies.</wadl:doc> | |
</param> | |
<param style="plain" | |
name="name" | |
required="true" | |
type="string" | |
path="$.scalingPolicies.[*].name"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">A | |
name for the scaling policy. Must be unique | |
for each scaling policy.</wadl:doc> | |
</param> | |
<param style="plain" | |
name="args" | |
required="false" | |
type="object" | |
path="$.scalingPolicies.[*].args"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">Configuration information for policies of | |
type <code>schedule</code>. Must be | |
either <code>at</code> or | |
<code>cron</code>, which are mutually | |
exclusive. Not required for policies of type | |
<code>webhook</code>. </wadl:doc> | |
</param> | |
<param style="plain" | |
name="cron" | |
required="false" | |
type="string" | |
path="$.scalingPolicies.[*].args.cron"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">The time when the policy is executed, as a | |
cron entry. For example, if this is parameter | |
is set to <code>1 0 * * *</code>, the | |
policy runs at one minute past midnight | |
(00:01) every day of the month, and every day | |
of the week. For more information about cron, | |
read: | |
http://en.wikipedia.org/wiki/Cron</wadl:doc> | |
</param> | |
<param style="plain" | |
name="at" | |
required="false" | |
type="string" | |
path="$.scalingPolicies.[*].args.at"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN">The time when this policy will | |
be executed. The time must be formatted | |
according to this service's custom <link xlink:href=" /cas/api/v1.0/autoscale-devguide/content/datetimeformat.html">Date | |
and Time format</link>, with seconds, | |
otherwise a 400 error may be returned. The | |
policy will be triggered within a 10-second | |
range of the time specified, so if you set the | |
<code>at</code> time to | |
<code>2013-05-19T08:07:08Z</code>, it | |
will be triggered anytime between 08:07:08 to | |
08:07:18. This property is mutually exclusive | |
with the <code>cron</code> | |
parameter.</wadl:doc> | |
</param> | |
<param style="plain" | |
name="changePercent" | |
required="false" | |
type="number" | |
path="$.scalingPolicies.[*].changePercent"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">The percent change to make in the number of | |
servers in the scaling group. If this number | |
is positive, the number of servers | |
increases by the given percentage. If this | |
parameter is set to a negative number, the | |
number of servers decreases by the given | |
percentage. The absolute change in the number | |
of servers is rounded to the nearest | |
integer. This means that if -X% of the current | |
number of servers translates to -0.5 or -0.25 | |
or -0.75 servers, the actual number of servers | |
that are shut down is 1. If X% of the | |
current number of servers translates to 1.2 or | |
1.5 or 1.7 servers, the actual number of | |
servers that are launched is 2</wadl:doc> | |
</param> | |
<param style="plain" | |
name="cooldown" | |
required="true" | |
type="number" | |
path="$.scalingPolicies.[*].cooldown"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">The cooldown period, in seconds, before this | |
particular scaling policy can be executed | |
again. The cooldown period does not affect the | |
global scaling group cooldown. The minimum | |
value for this parameter is 0 seconds, the | |
maximum value is 86400 seconds (24 hrs). | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="type" | |
required="true" | |
type="enum" | |
path="$.scalingPolicies.[*].type"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">The type of policy that runs for | |
the current release. This value can be either | |
"webhook" for webhook-based policies or | |
"schedule" for schedule-based | |
policies.</wadl:doc> | |
</param> | |
<param style="plain" | |
name="change" | |
required="false" | |
type="integer" | |
path="$.scalingPolicies.[*].change"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">The change to make in the number of servers | |
in the scaling group. This parameter must be | |
an integer. If the value is a positive | |
integer, the number of servers increases. | |
If the value is a negative integer, the number | |
of servers decreases.</wadl:doc> | |
</param> | |
<param style="plain" | |
name="desiredCapacity" | |
required="false" | |
type="integer" | |
path="$.scalingPolicies.[*].desiredCapacity"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">The desired server capacity of the scaling | |
the group, i.e. how many servers there should | |
be in the scaling group. This value must be an | |
absolute number. For example, if this | |
parameter is set to 10 and the executing | |
policy with this will bring the number of | |
servers to 10. The minimum allowed value is 0. | |
</wadl:doc> | |
</param> | |
</representation> | |
</request> | |
<response status="201"> | |
<doc title="Created">The scaling group has been created.</doc> | |
<param name="location" | |
style="header" | |
required="true" | |
type="xsd:anyURI"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>Creates an auto scaling | |
endpoint.</para> | |
</wadl:doc> | |
</param> | |
<representation mediaType="application/json"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<xsdxt:code> | |
<programlisting language="javascript">{ | |
"group":{ | |
"groupConfiguration":{ | |
"cooldown":360, | |
"maxEntities":10, | |
"metadata":{ | |
}, | |
"minEntities":0, | |
"name":"testscalinggroup" | |
}, | |
"id":"48692442-2dbe-4311-955e-bc29f02ae311", | |
"launchConfiguration":{ | |
"args":{ | |
"loadBalancers":[ | |
{ | |
"loadBalancerId":237935, | |
"port":80 | |
} | |
], | |
"server":{ | |
"OS-DCF:diskConfig":"AUTO", | |
"flavorRef":"performance1-2", | |
"imageRef":"7cf5ffc3-7b20-46fd-98e4-fefa9908d7e8", | |
"name":"autoscale_server", | |
"networks":[ | |
{ | |
"uuid":"11111111-1111-1111-1111-111111111111" | |
}, | |
{ | |
"uuid":"00000000-0000-0000-0000-000000000000" | |
} | |
] | |
} | |
}, | |
"type":"launch_server" | |
}, | |
"links":[ | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/829409/groups/48692442-2dbe-4311-955e-bc29f02ae311/", | |
"rel":"self" | |
} | |
], | |
"scalingPolicies":[ | |
{ | |
"args":{ | |
"cron":"23 * * * *" | |
}, | |
"change":1, | |
"cooldown":0, | |
"id":"9fa63149-c93d-4116-8069-74d68f48fadc", | |
"links":[ | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/829409/groups/48692442-2dbe-4311-955e-bc29f02ae311/policies/9fa63149-c93d-4116-8069-74d68f48fadc/", | |
"rel":"self" | |
} | |
], | |
"name":"scale up by 1", | |
"type":"schedule" | |
} | |
], | |
"scalingPolicies_links":[ | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/829409/groups/48692442-2dbe-4311-955e-bc29f02ae311/policies/", | |
"rel":"policies" | |
} | |
], | |
"state":{ | |
"active":[ | |
], | |
"activeCapacity":0, | |
"desiredCapacity":0, | |
"name":"testscalinggroup", | |
"paused":false, | |
"pendingCapacity":0 | |
} | |
} | |
}</programlisting> | |
</xsdxt:code> | |
</wadl:doc> | |
</representation> | |
</response> | |
<response status="401"> | |
<doc title="InvalidCredentials">The X-Auth-Token the user supplied is bad.</doc> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<doc title="Forbidden">The user does not have permission to perform the resource; for example, the user only has an observer role and attempted to perform something only available to a user with an admin role. Note, some API nodes also use this status code for other things.</doc> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<doc title="InvalidMethod">The method used is unavailable for the endpoint.</doc> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<doc title="RateLimitError">The user has surpassed their rate limit.</doc> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<doc title="InternalError">An error internal to the application has occurred, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<doc title="ServiceUnavailable">The requested service is unavailable, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="InvalidJsonError">The request is refused because the body was invalid JSON".</doc> | |
<representation mediaType="application/xml" element="identity:invalidJson"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="ValidationError">The request body had valid JSON but with unexpected properties or values in it. Please note that there can be many combinations that cause this error. We will try to list the most common mistakes users are likely to make in a particular request. ".</doc> | |
<representation mediaType="application/xml" element="identity:validationError"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="415"> | |
<doc title="UnsupportedMediaType">The request is refused because the content type of the request is not "application/json".</doc> | |
<representation mediaType="application/xml" element="identity:badMediaType"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="InvalidMinEntities">The "minEntities" value is greater than the "maxEntities" value.</doc> | |
<representation mediaType="application/xml" element="identity:badMinEntities"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="InvalidLaunchConfiguration">The "imageRef" value is invalid or not active.</doc> | |
<representation mediaType="application/xml" element="identity:badLaunchConfigImageRef"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="InvalidLaunchConfiguration">The "flavorRef" value is invalid.</doc> | |
<representation mediaType="application/xml" element="identity:badLaunchConfigFlavorRef"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="InvalidLaunchConfiguration">The base64 encoding for the "path" argument in the "personality" parameter is invalid.</doc> | |
<representation mediaType="application/xml" | |
element="identity:badLaunchConfigPersonalityEncoding"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="InvalidLaunchConfiguration">The number of files in the "personality" parameter exceeds maximum limit.</doc> | |
<representation mediaType="application/xml" | |
element="identity:badLaunchConfigPersonalityFiles"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="InvalidLaunchConfiguration">The content of the files in the "personality" parameter exceeds the maximum size limit allowed.</doc> | |
<representation mediaType="application/xml" | |
element="identity:badLaunchConfigPersonalityFilesContent"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="InvalidLaunchConfiguration">The load balancer ID provided is invalid.</doc> | |
<representation mediaType="application/xml" element="identity:badLaunchConfigLb"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="422"> | |
<doc title="ScalingGroupOverLimitsError">The user has reached their quota for scaling groups, currently 100.</doc> | |
<representation mediaType="application/xml" element="identity:overGroupLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
<method name="GET" | |
rax:roles="observer autoscale:observer admin autoscale:admin autoscale:service-admin" | |
rax:id="listGroups"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" | |
title="List scaling groups" | |
xml:lang="EN"> | |
<para role="shortdesc">Lists the scaling groups that are | |
available for a specified tenant.</para> | |
</wadl:doc> | |
<response status="200"> | |
<doc title="OK">The request succeeded and the response | |
contains the list of scaling groups.</doc> | |
<representation mediaType="application/json"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<!--<xsdxt:code | |
href="../docbkx/samples/resGetGroups-json-http.txt"/>--> | |
<xsdxt:code> | |
<programlisting language="javascript">{ | |
"groups":[ | |
{ | |
"id":"e41380ae-173c-4b40-848a-25c16d7fa83d", | |
"links":[ | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/e41380ae-173c-4b40-848a-25c16d7fa83d/", | |
"rel":"self" | |
} | |
], | |
"state":{ | |
"active":[ | |
], | |
"activeCapacity":0, | |
"desiredCapacity":0, | |
"paused":false, | |
"pendingCapacity":0, | |
"name":"testscalinggroup198547" | |
} | |
}, | |
{ | |
"id":"f82bb000-f451-40c8-9dc3-6919097d2f7e", | |
"state":{ | |
"active":[ | |
], | |
"activeCapacity":0, | |
"desiredCapacity":0, | |
"paused":false, | |
"pendingCapacity":0, | |
"name":"testscalinggroup198547" | |
}, | |
"links":[ | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/f82bb000-f451-40c8-9dc3-6919097d2f7e/", | |
"rel":"self" | |
} | |
] | |
} | |
], | |
"groups_links":[ | |
] | |
}</programlisting> | |
</xsdxt:code> | |
</wadl:doc> | |
</representation> | |
</response> | |
<response status="401"> | |
<doc title="InvalidCredentials">The X-Auth-Token the user supplied is bad.</doc> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<doc title="Forbidden">The user does not have permission to perform the resource; for example, the user only has an observer role and attempted to perform something only available to a user with an admin role. Note, some API nodes also use this status code for other things.</doc> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<doc title="InvalidMethod">The method used is unavailable for the endpoint.</doc> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<doc title="RateLimitError">The user has surpassed their rate limit.</doc> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<doc title="InternalError">An error internal to the application has occurred, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<doc title="ServiceUnavailable">The requested service is unavailable, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="InvalidQueryArgument">The "limit" query argument is not a valid integer.</doc> | |
<representation mediaType="application/xml" element="identity:badQuery"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
</resource> | |
<resource id="groupId" path="v1.0/{tenantId}/groups/{groupId}"> | |
<param name="tenantId" | |
type="xsd:string" | |
required="true" | |
style="template"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A subscriber to the auto | |
scaling service.</para> | |
</wadl:doc> | |
</param> | |
<param name="X-Auth-Token" | |
style="header" | |
type="xsd:string" | |
required="true"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A valid authentication | |
token.</para> | |
</wadl:doc> | |
</param> | |
<param name="groupId" | |
type="osapi:UUID" | |
required="true" | |
style="template"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A scaling group.</para> | |
</wadl:doc> | |
</param> | |
<method name="GET" | |
rax:roles="observer autoscale:observer admin autoscale:admin autoscale:service-admin" | |
rax:id="showGroupManifest"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" | |
xml:lang="EN" | |
title="Show scaling group details"> | |
<para role="shortdesc">Shows configuration details for a | |
specified scaling group.</para> | |
<para>Details include the launch configuration and the | |
scaling policies for the specified scaling group | |
configuration.</para> | |
<para>The details appear in the response body in JSON | |
format.</para> | |
</wadl:doc> | |
<response status="200"> | |
<doc title="OK">The request succeeded and the response | |
contains details about the specified scaling group.</doc> | |
<representation mediaType="application/json"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<!-- <xsdxt:code | |
href="../docbkx/samples/resGetGroupManifest-json-http.txt"/>--> | |
<xsdxt:code> | |
<programlisting language="javascript">{ | |
"group":{ | |
"groupConfiguration":{ | |
"cooldown":60, | |
"maxEntities":0, | |
"metadata":{ | |
}, | |
"minEntities":0, | |
"name":"smallest possible launch config group" | |
}, | |
"state":{ | |
"active":[ | |
], | |
"activeCapacity":0, | |
"desiredCapacity":0, | |
"paused":false, | |
"pendingCapacity":0, | |
"name":"smallest possible launch config group" | |
}, | |
"id":"605e13f6-1452-4588-b5da-ac6bb468c5bf", | |
"launchConfiguration":{ | |
"args":{ | |
"server":{ | |
} | |
}, | |
"type":"launch_server" | |
}, | |
"links":[ | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/605e13f6-1452-4588-b5da-ac6bb468c5bf/", | |
"rel":"self" | |
} | |
], | |
"scalingPolicies":[ | |
{ | |
"changePercent":-5.5, | |
"cooldown":1800, | |
"id":"eb0fe1bf-3428-4f34-afd9-a5ac36f60511", | |
"links":[ | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/605e13f6-1452-4588-b5da-ac6bb468c5bf/policies/eb0fe1bf-3428-4f34-afd9-a5ac36f60511/", | |
"rel":"self" | |
} | |
], | |
"name":"scale down by 5.5 percent", | |
"type":"webhook" | |
} | |
] | |
} | |
}</programlisting> | |
</xsdxt:code> | |
</wadl:doc> | |
</representation> | |
</response> | |
<response status="401"> | |
<doc title="InvalidCredentials">The X-Auth-Token the user supplied is bad.</doc> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<doc title="Forbidden">The user does not have permission to perform the resource; for example, the user only has an observer role and attempted to perform something only available to a user with an admin role. Note, some API nodes also use this status code for other things.</doc> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<doc title="InvalidMethod">The method used is unavailable for the endpoint.</doc> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<doc title="RateLimitError">The user has surpassed their rate limit.</doc> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<doc title="InternalError">An error internal to the application has occurred, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<doc title="ServiceUnavailable">The requested service is unavailable, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="InvalidQueryArgument">The "limit" query argument value is not a valid integer.</doc> | |
<representation mediaType="application/xml" element="identity:badLimitArg"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<doc title="NoSuchScalingGroupError">The specified scaling group was not found.</doc> | |
<representation mediaType="application/xml" element="identity:noSuchGroup"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
<method name="GET" | |
rax:roles="observer autoscale:observer admin autoscale:admin autoscale:service-admin" | |
rax:id="showGroupManifestWebhook"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" | |
xml:lang="EN" | |
title="Show scaling group details including webhooks"> | |
<para role="shortdesc">Shows configuration details for a | |
specified scaling group and its associated webhooks.</para> | |
<para>Details include the launch configuration, the | |
scaling policies, and the policies' webhooks, for the specified scaling group | |
configuration.</para> | |
<para>The details appear in the response body in JSON | |
format.</para> | |
<para> | |
<note> | |
<para>The <code>?webhooks=true</code> parameter is required for this method.</para> | |
</note> | |
</para> | |
</wadl:doc> | |
<request> | |
<param name="webhooks" | |
style="query" | |
required="true" | |
default="true" | |
type="xsd:boolean"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>Set <code>?webhooks=true</code> | |
to display webhook configuration details in the results.</para> | |
</wadl:doc> | |
</param> | |
</request> | |
<response status="200"> | |
<doc title="OK">The request succeeded and the response | |
contains details about the specified scaling group, including associated webhooks.</doc> | |
<representation mediaType="application/json"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<!-- <xsdxt:code | |
href="../docbkx/samples/resGetGroupManifest-json-http.txt"/>--> | |
<xsdxt:code> | |
<programlisting language="javascript">{ | |
"group": { | |
"groupConfiguration": { | |
"cooldown": 60, | |
"maxEntities": 0, | |
"metadata": {}, | |
"minEntities": 0, | |
"name": "smallest possible launch config group" | |
}, | |
"state": { | |
"active": [], | |
"activeCapacity": 0, | |
"desiredCapacity": 0, | |
"paused": false, | |
"pendingCapacity": 0 | |
}, | |
"id": "605e13f6-1452-4588-b5da-ac6bb468c5bf", | |
"launchConfiguration": { | |
"args": { | |
"server": {} | |
}, | |
"type": "launch_server" | |
}, | |
"links": [ | |
{ | |
"href": "https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/605e13f6-1452-4588-b5da-ac6bb468c5bf/", | |
"rel": "self" | |
} | |
], | |
"scalingPolicies": [ | |
{ | |
"changePercent": -5.5, | |
"cooldown": 1800, | |
"id": "eb0fe1bf-3428-4f34-afd9-a5ac36f60511", | |
"links": [ | |
{ | |
"href": "https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/605e13f6-1452-4588-b5da-ac6bb468c5bf/policies/eb0fe1bf-3428-4f34-afd9-a5ac36f60511/", | |
"rel": "self" | |
} | |
], | |
"name": "scale down by 5.5 percent", | |
"type": "webhook", | |
"webhooks": [ | |
{ | |
"id":"05f7d9d9-b9d0-40ac-8d3b-610197775c7f", | |
"name": "automatically generated", | |
"metadata": {}, | |
"links": [ | |
{ | |
"href": "https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/605e13f6-1452-4588-b5da-ac6bb468c5bf/policies/eb0fe1bf-3428-4f34-afd9-a5ac36f60511/webhooks/05f7d9d9-b9d0-40ac-8d3b-610197775c7f/", | |
"rel": "self" | |
}, | |
{ | |
"href": "https://dfw.autoscale.api.rackspacecloud.com/v1.0/execute/1/392be67bacfd1adf54e4f9fbc2b40873b9c7c3128315647f46d94c4b5c56b4d6/", | |
"rel": "capability" | |
} | |
] | |
} | |
], | |
"webhooks_links": [ | |
{ | |
"href": "https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/605e13f6-1452-4588-b5da-ac6bb468c5bf/policies/eb0fe1bf-3428-4f34-afd9-a5ac36f60511/webhooks/", | |
"rel": "webhooks" | |
} | |
] | |
} | |
], | |
"scalingPolicies_links": [ | |
{ | |
"href": "https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/605e13f6-1452-4588-b5da-ac6bb468c5bf/policies/", | |
"rel": "policies" | |
} | |
] | |
} | |
} | |
</programlisting> | |
</xsdxt:code> | |
</wadl:doc> | |
</representation> | |
</response> | |
<response status="401"> | |
<doc title="InvalidCredentials">The X-Auth-Token the user supplied is bad.</doc> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<doc title="Forbidden">The user does not have permission to perform the resource; for example, the user only has an observer role and attempted to perform something only available to a user with an admin role. Note, some API nodes also use this status code for other things.</doc> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<doc title="InvalidMethod">The method used is unavailable for the endpoint.</doc> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<doc title="RateLimitError">The user has surpassed their rate limit.</doc> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<doc title="InternalError">An error internal to the application has occurred, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<doc title="ServiceUnavailable">The requested service is unavailable, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="InvalidQueryArgument">The "limit" query argument value is not a valid integer.</doc> | |
<representation mediaType="application/xml" element="identity:badLimitArg"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<doc title="NoSuchScalingGroupError">The specified scaling group was not found.</doc> | |
<representation mediaType="application/xml" element="identity:noSuchGroup"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
<method name="DELETE" | |
rax:id="deleteGroup" | |
rax:roles="admin autoscale:admin autoscale:service-admin"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" | |
xml:lang="EN" | |
title="Delete scaling group"> | |
<para role="shortdesc">Deletes a specified scaling | |
group.</para> | |
<para>The scaling group must be empty. An empty group | |
contains no entities. If deletion is successful, no | |
response body is returned. If the group contains | |
pending or active entities, deletion fails and a 409 | |
error message is returned. If there are pending or | |
active servers in the scaling group, pass | |
<code>force=true</code> to force delete the group. | |
Passing <code>force=true</code> immediately deletes | |
all active servers in the group. Pending servers are | |
deleted when they build and become active.</para> | |
</wadl:doc> | |
<response status="204"> | |
<doc title="Success But No Content">The delete scaling group request succeeded.</doc> | |
</response> | |
<response status="401"> | |
<doc title="InvalidCredentials">The X-Auth-Token the user supplied is bad.</doc> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<doc title="Forbidden">The user does not have permission to perform the resource; for example, the user only has an observer role and attempted to perform something only available to a user with an admin role. Note, some API nodes also use this status code for other things.</doc> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<doc title="InvalidMethod">The method used is unavailable for the endpoint.</doc> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<doc title="RateLimitError">The user has surpassed their rate limit.</doc> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<doc title="InternalError">An error internal to the application has occurred, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<doc title="ServiceUnavailable">The requested service is unavailable, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="InvalidQueryArgument">The "force" query argument value is invalid. It must be "true", any other value is invalid. If there are servers in the group, only "true" succeeds. If there are no servers in the group, "true" and no value given succeed.</doc> | |
<representation mediaType="application/xml" element="identity:badForceArg"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<doc title="GroupNotEmptyError">The scaling group cannot be deleted because it has servers in it. Use the "force=true" query argument to force delete the group.</doc> | |
<representation mediaType="application/xml" element="identity:groupNotEmpty"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<doc title="NoSuchScalingGroupError">The specified scaling group was not found.</doc> | |
<representation mediaType="application/xml" element="identity:noSuchGroup"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
</resource> | |
<resource id="server" path="v1.0/{tenantId}/groups/{groupId}/servers/{serverId}"> | |
<param name="tenantId" | |
type="xsd:string" | |
required="true" | |
style="template"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A subscriber to the auto | |
scaling service.</para> | |
</wadl:doc> | |
</param> | |
<param name="X-Auth-Token" | |
style="header" | |
type="xsd:string" | |
required="true"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A valid authentication | |
token.</para> | |
</wadl:doc> | |
</param> | |
<param name="groupId" | |
type="osapi:UUID" | |
required="true" | |
style="template"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A scaling group.</para> | |
</wadl:doc> | |
</param> | |
<param name="serverId" | |
type="osapi:UUID" | |
required="true" | |
style="template"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>The Nova server ID for the server you want to delete from the scaling group.</para> | |
</wadl:doc> | |
</param> | |
<method name="DELETE" | |
rax:id="deleteGroupServer" | |
rax:roles="admin autoscale:admin autoscale:service-admin"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" | |
xml:lang="EN" | |
title="Delete server from scaling group"> | |
<para role="shortdesc">Deletes and replaces a specified server in a scaling group.</para> | |
<para>Delete and replace a server in a scaling group with a new server in that scaling group. By default, the specified | |
server is deleted and replaced. The replacement server will have the current launchConfiguration settings and a different | |
IP address. </para> | |
<para> | |
<note> | |
<para>The <code>replace={true/false}</code> parameter is optional for this method. Default is <code>replace=true</code>, even if not passed. | |
Use <code>replace=false</code> if you do not want the deleted server replaced. </para> | |
</note> | |
</para> | |
<para>This endpoint can be useful if you have deleted a server through a nova command or another method that | |
Auto Scale does not recognize. In those cases, even though the server is deleted, Auto Scale calculates that | |
the server still exists. You can use this endpoint to rectify this and bring Auto Scale in sync with the | |
the out-of-band delete server operation.</para> | |
<para> | |
<note> | |
<para>Deleting and replacing the server takes some time, how long depends mainly on the server image and complexity of the launchConfiguration settings | |
of the replacement server. </para> | |
</note> | |
</para> | |
</wadl:doc> | |
<request> | |
<param name="serverId" | |
style="plain" | |
required="true" | |
default="false" | |
type="xsd:string"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>Set the ID of the server you want to delete.</para> | |
</wadl:doc> | |
</param> | |
<param name="replace" | |
style="query" | |
required="false" | |
default="true" | |
type="xsd:boolean"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>Defaults to <code>replace=true</code> if not passed. Set <code>replace=false</code> to delete the server without replacing it.</para> | |
</wadl:doc> | |
</param> | |
</request> | |
<response status="202"> | |
<doc title="Accepted">The request succeeded. No response body is returned.</doc> | |
<representation mediaType="application/json"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
</wadl:doc> | |
</representation> | |
</response> | |
<response status="401"> | |
<doc title="InvalidCredentials">The X-Auth-Token the user supplied is bad.</doc> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<doc title="Forbidden">The user does not have permission to perform the resource; for example, the user only has an observer role and attempted to perform something only available to a user with an admin role. Note, some API nodes also use this status code for other things.</doc> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<doc title="InvalidMethod">The method used is unavailable for the endpoint.</doc> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<doc title="RateLimitError">The user has surpassed their rate limit.</doc> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<doc title="InternalError">An error internal to the application has occurred, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<doc title="ServiceUnavailable">The requested service is unavailable, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<doc title="CannotDeleteServerBelowMinError">The server cannot be deleted and not replaced because doing so would violate the configured "minEntities." Note that this error could only occur if the "replace=false" argument is used.</doc> | |
<representation mediaType="application/xml" element="identity:groupNotEmpty"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<doc title="ServerNotFoundError">The specified server was not found.</doc> | |
<representation mediaType="application/xml" element="identity:noSuchGroup"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<doc title="NoSuchScalingGroupError">The specified scaling group was not found.</doc> | |
<representation mediaType="application/xml" element="identity:noSuchGroup"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
</resource> | |
<resource id="state" path="v1.0/{tenantId}/groups/{groupId}/state"> | |
<param name="tenantId" | |
type="xsd:string" | |
required="true" | |
style="template"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A subscriber to the auto | |
scaling service.</para> | |
</wadl:doc> | |
</param> | |
<param name="X-Auth-Token" | |
style="header" | |
type="xsd:string" | |
required="true"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A valid authentication | |
token.</para> | |
</wadl:doc> | |
</param> | |
<param name="groupId" | |
type="osapi:UUID" | |
required="true" | |
style="template"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A scaling group.</para> | |
</wadl:doc> | |
</param> | |
<method name="GET" | |
rax:roles="observer autoscale:observer admin autoscale:admin autoscale:service-admin" | |
rax:id="getGroupState"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" | |
xml:lang="EN" | |
title="Get scaling group state"> | |
<para role="shortdesc">Gets the current state of a scaling | |
group.</para> | |
<para>The GroupState object consists of the following | |
properties:</para> | |
<itemizedlist> | |
<listitem> | |
<para>paused. Specifies whether execution of | |
scaling policies for the group is currently | |
suspended. If this value is set to true, the | |
group will not scale up or down. All policy | |
execution calls will be ignored while this | |
value is set to true..</para> | |
</listitem> | |
<listitem> | |
<para>pendingCapacity. Integer. Specifies | |
the number of servers that are in a "building" | |
state..</para> | |
</listitem> | |
<listitem> | |
<para>name. Specifies the name of the | |
group.</para> | |
</listitem> | |
<listitem> | |
<para>Active. Specifies an array of active | |
servers in the group. This array includes the | |
serverID, as well as other | |
data.</para> | |
</listitem> | |
<listitem> | |
<para>activeCapacity. Integer. Specifies the | |
number of active servers in the | |
group.</para> | |
</listitem> | |
<listitem> | |
<para>desiredCapacity. Integer. Specifies | |
the sum of all servers that are in | |
<code>Active</code> and | |
<code>Pending</code> | |
state.</para> | |
</listitem> | |
<listitem> | |
<para>A request to create multiple policies, | |
followed by the matching | |
response.</para> | |
</listitem> | |
</itemizedlist> | |
<para>Gets the current state of the specified scaling | |
group. It describes the state of the group in terms of | |
its current set of active entities, the number of | |
pending entities, and the desired number of entities. | |
The description is returned in the response body in | |
JSON format.</para> | |
</wadl:doc> | |
<response status="200"> | |
<doc title="OK">The request succeeded and the response | |
describes the state of the specified scaling group.</doc> | |
<representation mediaType="application/json"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<!--<xsdxt:code | |
href="../docbkx/samples/resGetGroupState-json-http.txt"/>--> | |
<xsdxt:code> | |
<programlisting language="javascript">{ | |
"group":{ | |
"paused":false, | |
"pendingCapacity":0, | |
"name":"testscalinggroup198547", | |
"active":[ | |
], | |
"activeCapacity":0, | |
"desiredCapacity":0 | |
} | |
}</programlisting> | |
</xsdxt:code> | |
</wadl:doc> | |
</representation> | |
</response> | |
<response status="401"> | |
<doc title="InvalidCredentials">The X-Auth-Token the user supplied is bad.</doc> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<doc title="Forbidden">The user does not have permission to perform the resource; for example, the user only has an observer role and attempted to perform something only available to a user with an admin role. Note, some API nodes also use this status code for other things.</doc> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<doc title="InvalidMethod">The method used is unavailable for the endpoint.</doc> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<doc title="RateLimitError">The user has surpassed their rate limit.</doc> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<doc title="InternalError">An error internal to the application has occurred, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<doc title="ServiceUnavailable">The requested service is unavailable, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<doc title="NoSuchScalingGroupError">The specified scaling group was not found.</doc> | |
<representation mediaType="application/xml" element="identity:noSuchGroup"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
</resource> | |
<resource id="config" path="v1.0/{tenantId}/groups/{groupId}/config"> | |
<param name="tenantId" | |
type="xsd:string" | |
required="true" | |
style="template"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A subscriber to the auto | |
scaling service.</para> | |
</wadl:doc> | |
</param> | |
<param name="X-Auth-Token" | |
style="header" | |
type="xsd:string" | |
required="true"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A valid authentication | |
token.</para> | |
</wadl:doc> | |
</param> | |
<param name="groupId" | |
type="osapi:UUID" | |
required="true" | |
style="template"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A scaling group.</para> | |
</wadl:doc> | |
</param> | |
<method name="GET" | |
rax:roles="observer autoscale:observer admin autoscale:admin autoscale:service-admin" | |
rax:id="getGroupConfig"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" | |
xml:lang="EN" | |
title="Show scaling group configuration"> | |
<para role="shortdesc">Shows the configuration for a | |
scaling group.</para> | |
<para>Shows the configuration for a specified scaling | |
group, including the maximum and minimum number | |
of entities, the global cooldown time, and other metadata. The configuration is | |
returned in the response body in JSON format.</para> | |
</wadl:doc> | |
<response status="200"> | |
<doc title="OK">The request succeeded and the response | |
contains configuration details for the specified scaling group.</doc> | |
<representation mediaType="application/json"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<!-- <xsdxt:code | |
href="../docbkx/samples/resGetGroupConfig-json-http.txt"/>--> | |
<xsdxt:code> | |
<programlisting language="javascript">{ | |
"groupConfiguration":{ | |
"cooldown":60, | |
"maxEntities":0, | |
"metadata":{ | |
}, | |
"minEntities":0, | |
"name":"smallest possible group" | |
} | |
}</programlisting> | |
</xsdxt:code> | |
</wadl:doc> | |
</representation> | |
</response> | |
<response status="401"> | |
<doc title="InvalidCredentials">The X-Auth-Token the user supplied is bad.</doc> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<doc title="Forbidden">The user does not have permission to perform the resource; for example, the user only has an observer role and attempted to perform something only available to a user with an admin role. Note, some API nodes also use this status code for other things.</doc> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<doc title="InvalidMethod">The method used is unavailable for the endpoint.</doc> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<doc title="RateLimitError">The user has surpassed their rate limit.</doc> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<doc title="InternalError">An error internal to the application has occurred, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<doc title="ServiceUnavailable">The requested service is unavailable, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<doc title="NoSuchScalingGroupError">The specified scaling group was not found.</doc> | |
<representation mediaType="application/xml" element="identity:noSuchGroup"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
<method name="PUT" | |
rax:id="putGroupConfig" | |
rax:roles="admin autoscale:admin autoscale:service-admin"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" | |
xml:lang="EN" | |
title="Update scaling group configuration"> | |
<para role="shortdesc">Updates the configuration for the | |
scaling group.</para> | |
<para>Updates the configuration of an existing scaling | |
group. To change the configuration, specify the new | |
configuration in the request body in JSON format. | |
Configuration elements include the minimum number of | |
entities, the maximum number of entities, the global | |
cooldown time, and other metadata. If the update is | |
successful, no response body is returned.</para> | |
<note> | |
<para>All Rackspace Auto Scale update (<methodname>PUT</methodname>) operations completely replace the configuration being updated. Empty values (for example, | |
<varname>{ }</varname>)in the update | |
are accepted and overwrite previously specified parameters. New parameters can be specified. All create (<methodname>POST</methodname>) parameters, even optional ones, | |
are required for the update operation. </para> | |
</note> | |
</wadl:doc> | |
<request> | |
<param style="plain" | |
name="maxEntities" | |
required="true" | |
type="object" | |
path="$.maxEntities"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>The maximum number of | |
entities that are allowed in the scaling | |
group. If left unconfigured, defaults to 1000. If this | |
value is provided it must be set to an integer | |
between 0 and 1000.</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="cooldown" | |
required="true" | |
type="integer" | |
path="$.cooldown"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>The cooldown period, in seconds, before | |
any additional changes can happen. This | |
number must be an integer between 0 and 86400 | |
(24 hrs).</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="name" | |
required="true" | |
type="string" | |
path="$.name"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>The name of the scaling group. | |
This name does not have to be unique.</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="minEntities" | |
required="true" | |
type="integer" | |
path="$.minEntities"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>The minimum number of entities | |
in the scaling group. This number must be an | |
integer between 0 and 1000.</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="metadata" | |
required="true" | |
type="object" | |
path="$.metadata"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>Optional. Custom metadata for | |
your group configuration. You can use this parameter for custom automation, | |
but it does not change any functionality in | |
Auto Scale. There currently is no limitation | |
on depth.</para> | |
</wadl:doc> | |
</param> | |
<representation mediaType="application/json"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<xsdxt:code> | |
<programlisting language="javascript">{ | |
"name":"workers", | |
"cooldown":60, | |
"minEntities":5, | |
"maxEntities":100, | |
"metadata":{ | |
"firstkey":"this is a string", | |
"secondkey":"1" | |
} | |
}</programlisting> | |
</xsdxt:code> | |
</wadl:doc> | |
<param style="plain" | |
name="maxEntities" | |
required="true" | |
type="object" | |
path="$.maxEntities"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">The maximum number of entities that are | |
allowed in the scaling group. If left unconfigured, defaults to 1000. | |
If this value is provided it must be set | |
to an integer between 0 and 1000. </wadl:doc> | |
</param> | |
<param style="plain" | |
name="cooldown" | |
required="true" | |
type="integer" | |
path="$.cooldown"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">The cooldown period, in seconds, before more | |
changes can happen. This number must be an | |
integer between 0 and 86400 (24 hrs). </wadl:doc> | |
</param> | |
<param style="plain" | |
name="name" | |
required="true" | |
type="string" | |
path="$.name"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">The name of the scaling group. This name does | |
not have to be unique.</wadl:doc> | |
</param> | |
<param style="plain" | |
name="minEntities" | |
required="true" | |
type="integer" | |
path="$.minEntities"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">The minimum number of entities in the scaling | |
group. This number must be an integer between | |
0 and 1000. </wadl:doc> | |
</param> | |
<param style="plain" | |
name="metadata" | |
required="true" | |
type="object" | |
path="$.metadata"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">This optional parameter specifies custom | |
metadata for your group configuration. You can | |
use the metadata parameter for custom | |
automation, but it does not change any | |
functionality in Auto Scale. There currently | |
is no limitation on depth.</wadl:doc> | |
</param> | |
</representation> | |
</request> | |
<response status="204"> | |
<doc title="Success But No Content">The update group configuration request succeeded.</doc> | |
</response> | |
<response status="401"> | |
<doc title="InvalidCredentials">The X-Auth-Token the user supplied is bad.</doc> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<doc title="Forbidden">The user does not have permission to perform the resource; for example, the user only has an observer role and attempted to perform something only available to a user with an admin role. Note, some API nodes also use this status code for other things.</doc> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<doc title="InvalidMethod">The method used is unavailable for the endpoint.</doc> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<doc title="RateLimitError">The user has surpassed their rate limit.</doc> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<doc title="InternalError">An error internal to the application has occurred, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<doc title="ServiceUnavailable">The requested service is unavailable, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="InvalidJsonError">The request is refused because the body was invalid JSON".</doc> | |
<representation mediaType="application/xml" element="identity:invalidJson"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="ValidationError">The request body had valid JSON but with unexpected properties or values in it. Please note that there can be many combinations that cause this error. We will try to list the most common mistakes users are likely to make in a particular request. ".</doc> | |
<representation mediaType="application/xml" element="identity:validationError"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="415"> | |
<doc title="UnsupportedMediaType">The request is refused because the content type of the request is not "application/json".</doc> | |
<representation mediaType="application/xml" element="identity:badMediaType"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="InvalidMinEntities">The minEntities value is greater than the maxEntities value.</doc> | |
<representation mediaType="application/xml" element="identity:invalidMinEntities"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<doc title="NoSuchScalingGroupError">The specified scaling group was not found.</doc> | |
<representation mediaType="application/xml" element="identity:noSuchGroup"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
</resource> | |
<resource id="launch" path="v1.0/{tenantId}/groups/{groupId}/launch"> | |
<param name="tenantId" | |
type="xsd:string" | |
required="true" | |
style="template"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A subscriber to the auto | |
scaling service.</para> | |
</wadl:doc> | |
</param> | |
<param name="X-Auth-Token" | |
style="header" | |
type="xsd:string" | |
required="true"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A valid authentication | |
token.</para> | |
</wadl:doc> | |
</param> | |
<param name="groupId" | |
type="osapi:UUID" | |
required="true" | |
style="template"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A scaling group.</para> | |
</wadl:doc> | |
</param> | |
<method name="GET" | |
rax:roles="observer autoscale:observer admin autoscale:admin autoscale:service-admin" | |
rax:id="getLaunchConfig"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" | |
xml:lang="EN" | |
title="Show launch configuration"> | |
<para role="shortdesc">Shows launch configuration details | |
for a specified scaling group.</para> | |
<para>The details include from | |
which image to create a server, which load balancers | |
to join the server to, which networks to add the | |
server to, and other metadata.</para> | |
<para>The details appear in the response body in JSON | |
format.</para> | |
</wadl:doc> | |
<response status="200"> | |
<doc title="OK">The request succeeded and the response | |
contains launch configuration details for the specified scaling group.</doc> | |
<representation mediaType="application/json"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<xsdxt:code> | |
<programlisting language="javascript">{ | |
"launchConfiguration":{ | |
"type":"launch_server", | |
"args":{ | |
"server":{ | |
"flavorRef":"performance1-4", | |
"name":"webhead", | |
"imageRef":"0d589460-f177-4b0f-81c1-8ab8903ac7d8", | |
"OS-DCF:diskConfig":"AUTO", | |
"metadata":{ | |
"mykey":"myvalue" | |
}, | |
"personality":[ | |
], | |
"networks":[ | |
{ | |
"uuid":"11111111-1111-1111-1111-111111111111" | |
} | |
] | |
}, | |
"loadBalancers":[ | |
] | |
} | |
} | |
}</programlisting> | |
</xsdxt:code> | |
</wadl:doc> | |
</representation> | |
</response> | |
<response status="401"> | |
<doc title="InvalidCredentials">The X-Auth-Token the user supplied is bad.</doc> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<doc title="Forbidden">The user does not have permission to perform the resource; for example, the user only has an observer role and attempted to perform something only available to a user with an admin role. Note, some API nodes also use this status code for other things.</doc> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<doc title="InvalidMethod">The method used is unavailable for the endpoint.</doc> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<doc title="RateLimitError">The user has surpassed their rate limit.</doc> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<doc title="InternalError">An error internal to the application has occurred, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<doc title="ServiceUnavailable">The requested service is unavailable, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<doc title="NoSuchScalingGroupError">The specified scaling group was not found.</doc> | |
<representation mediaType="application/xml" element="identity:noSuchGroup"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
<method name="PUT" | |
rax:id="putLaunchConfig" | |
rax:roles="admin autoscale:admin autoscale:service-admin"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" | |
xml:lang="EN" | |
title="Update launch configuration"> | |
<para role="shortdesc">Updates an existing launch | |
configuration for the specified scaling group.</para> | |
<para>To change the launch configuration, specify the new | |
configuration in the request body in JSON format. | |
Configuration elements include from which image to create a server, which load | |
balancers to join the server to, which networks to add | |
the server to, and other metadata. If the update is | |
successful, no response body is returned.</para> | |
<note> | |
<para>All Rackspace Auto Scale update (<methodname>PUT</methodname>) operations completely replace the configuration being updated. Empty values (for example, | |
<varname>{ }</varname>)in the update | |
are accepted and overwrite previously specified parameters. New parameters can be specified. All create (<methodname>POST</methodname>) parameters, even optional ones, | |
are required for the update operation. </para> | |
</note> | |
</wadl:doc> | |
<request> | |
<param style="plain" | |
name="args" | |
required="false" | |
type="object" | |
path="$.args"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>The item to be configured. | |
Must be <code>server</code> or <code>loadbalancer</code>. Most | |
launch configurations have both a server and a | |
loadbalancer configured.</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="loadBalancers" | |
required="false" | |
type="array" | |
path="$.args.loadBalancers"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>One or more load balancers to | |
which to add servers.</para> | |
<para>All servers are added to these load | |
balancers with the IP addresses of their | |
ServiceNet network. All servers are enabled | |
and equally weighted. Any new servers that are | |
not connected to the ServiceNet network are | |
not added to any load | |
balancers.</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="port" | |
required="true" | |
type="integer" | |
path="$.args.loadBalancers.[*].port"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>The port number of the service | |
(on the new servers) to use for this | |
particular load balancer. In most cases, this | |
port number is 80.</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="loadBalancerId" | |
required="true" | |
type="integer" | |
path="$.args.loadBalancers.[*].loadBalancerId"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>The ID of the load balancer to | |
which new servers will be | |
added.</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="server" | |
required="true" | |
type="object" | |
path="$.args.server"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>The attributes that Auto Scale | |
uses to create a new server. For more | |
information, see <link xlink:href="http://docs.rackspace.com/servers/api/v2/cs-devguide/content/CreateServers.html">Create Server</link>. The attributes that | |
are specified for the server entity will apply | |
to all new servers in the scaling group, | |
including the server name.</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="flavorRef" | |
required="true" | |
type="string" | |
path="$.args.server.flavorRef"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>The flavor of the server | |
image. Specifies the flavor Id for the server. | |
A flavor is a resource configuration for a | |
server. For more information on available | |
flavors, see the <olink targetdoc="autoscale-devguide" targetptr="server-flavors">“Server | |
Flavors”</olink> | |
section.</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="imageRef" | |
required="true" | |
type="string" | |
path="$.args.server.imageRef"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>The ID of the cloud server | |
image from which new server images will be | |
created.</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="personality" | |
required="false" | |
type="array" | |
path="$.args.server.personality"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>The file path and/or the | |
content that you want to inject into a server | |
image. For more information, see the <link xlink:href="http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Server_Personality-d1e2543.html">Server Personality</link> documentation | |
for Rackspace Cloud Servers.</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="path" | |
required="true" | |
type="string" | |
path="$.args.server.personality.[*].path"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>The path to the file that | |
contains data that will be injected into the | |
file system of the new cloud server | |
image.</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="contents" | |
required="true" | |
type="string" | |
path="$.args.server.personality.[*].contents"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>The content items that will be | |
injected into the file system of the new cloud | |
server image.</para> | |
</wadl:doc> | |
</param> | |
<representation mediaType="application/json"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<xsdxt:code> | |
<programlisting language="javascript">{ | |
"type":"launch_server", | |
"args":{ | |
"server":{ | |
"flavorRef":"performance1-4", | |
"name":"webhead", | |
"imageRef":"0d589460-f177-4b0f-81c1-8ab8903ac7d8", | |
"OS-DCF:diskConfig":"AUTO", | |
"metadata":{ | |
"mykey":"myvalue" | |
}, | |
"personality":[ | |
], | |
"networks":[ | |
{ | |
"uuid":"11111111-1111-1111-1111-111111111111" | |
} | |
] | |
}, | |
"loadBalancers":[ | |
{ | |
"loadBalancerId":2200, | |
"port":8081 | |
} | |
] | |
} | |
}</programlisting> | |
</xsdxt:code> | |
</wadl:doc> | |
<param style="plain" | |
name="args" | |
required="false" | |
type="object" | |
path="$.args"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">The item to be configured. Must be | |
<code>server</code> or | |
<code>loadbalancer</code>. Most launch | |
configurations have both a server and a | |
load balancer configured.</wadl:doc> | |
</param> | |
<param style="plain" | |
name="loadBalancers" | |
required="false" | |
type="array" | |
path="$.args.loadBalancers"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">Details about one or more load balancers to | |
add new servers to. All servers will be added | |
to these load balancers with the IP addresses | |
of their ServiceNet network. All servers will | |
be enabled and equally weighted. Any new | |
servers that are not connected to the | |
ServiceNet network will not be added to any | |
load balancers.</wadl:doc> | |
</param> | |
<param style="plain" | |
name="port" | |
required="true" | |
type="integer" | |
path="$.args.loadBalancers.[*].port"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">The port number of the service (on the new | |
servers) to use for this particular load | |
balancer. In most cases, this port number is | |
80.</wadl:doc> | |
</param> | |
<param style="plain" | |
name="loadBalancerId" | |
required="true" | |
type="integer" | |
path="$.args.loadBalancers.[*].loadBalancerId"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">The ID of the load balancer to which new | |
servers will be added.</wadl:doc> | |
</param> | |
<param style="plain" | |
name="server" | |
required="true" | |
type="object" | |
path="$.args.server"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">The attributes Auto Scale will use to create | |
a new server. For more information, see: | |
<link xlink:href=" /servers/api/v2/cs- devguide/content/CreateServers.html">"Create | |
Servers"</link> in the cloud servers | |
developer's guide. The attributes that are | |
specified for the server entity will apply to | |
all new servers in the scaling group. The | |
configured server name is the base for created | |
servers.</wadl:doc> | |
</param> | |
<param style="plain" | |
name="flavorRef" | |
required="true" | |
type="string" | |
path="$.args.server.flavorRef"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">The flavor of the server image. Specifies the | |
flavor Id for the server. A flavor is a | |
resource configuration for a server. For more | |
information on available flavors, see the | |
<olink targetdoc="autoscale-devguide" targetptr="server-flavors">“Server | |
Flavors”</olink> | |
section.</wadl:doc> | |
</param> | |
<param style="plain" | |
name="imageRef" | |
required="true" | |
type="string" | |
path="$.args.server.imageRef"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">The ID of the cloud server image, from which | |
new server images will be created. </wadl:doc> | |
</param> | |
<param style="plain" | |
name="personality" | |
required="false" | |
type="array" | |
path="$.args.server.personality"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">The file path and/or the content that you | |
want to inject into a server image. For more | |
information, see the <link xlink:href="http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Server_Personality-d1e2543.html">Server Personality</link> documentation | |
for Rackspace Cloud Servers </wadl:doc> | |
</param> | |
<param style="plain" | |
name="path" | |
required="true" | |
type="string" | |
path="$.args.server.personality.[*].path"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">The path to the file that contains data that | |
will be injected into the file system of the | |
new cloud server image. </wadl:doc> | |
</param> | |
<param style="plain" | |
name="contents" | |
required="true" | |
type="string" | |
path="$.args.server.personality.[*].contents"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">The content items that will be injected into | |
the file system of the new cloud server image. | |
</wadl:doc> | |
</param> | |
</representation> | |
</request> | |
<response status="204"> | |
<doc title="Success But No Content">The update launch configuration request succeeded.</doc> | |
</response> | |
<response status="401"> | |
<doc title="InvalidCredentials">The X-Auth-Token the user supplied is bad.</doc> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<doc title="Forbidden">The user does not have permission to perform the resource; for example, the user only has an observer role and attempted to perform something only available to a user with an admin role. Note, some API nodes also use this status code for other things.</doc> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<doc title="InvalidMethod">The method used is unavailable for the endpoint.</doc> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<doc title="RateLimitError">The user has surpassed their rate limit.</doc> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<doc title="InternalError">An error internal to the application has occurred, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<doc title="ServiceUnavailable">The requested service is unavailable, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="InvalidJsonError">The request is refused because the body was invalid JSON".</doc> | |
<representation mediaType="application/xml" element="identity:invalidJson"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="ValidationError">The request body had valid JSON but with unexpected properties or values in it. Please note that there can be many combinations that cause this error. We will try to list the most common mistakes users are likely to make in a particular request. ".</doc> | |
<representation mediaType="application/xml" element="identity:validationError"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="415"> | |
<doc title="UnsupportedMediaType">The request is refused because the content type of the request is not "application/json".</doc> | |
<representation mediaType="application/xml" element="identity:badMediaType"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="InvalidLaunchConfiguration">The "imageRef" value is invalid or not active.</doc> | |
<representation mediaType="application/xml" element="identity:badLaunchConfigImageRef"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="InvalidLaunchConfiguration">The "flavorRef" value is invalid.</doc> | |
<representation mediaType="application/xml" element="identity:badLaunchConfigFlavorRef"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="InvalidLaunchConfiguration">The base64 encoding for the "path" argument in the "personality" parameter is invalid.</doc> | |
<representation mediaType="application/xml" | |
element="identity:badLaunchConfigPersonalityEncoding"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="InvalidLaunchConfiguration">The number of files in the "personality" parameter exceeds maximum limit.</doc> | |
<representation mediaType="application/xml" | |
element="identity:badLaunchConfigPersonalityFiles"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="InvalidLaunchConfiguration">The content of the files in the "personality" parameter exceeds the maximum size limit allowed.</doc> | |
<representation mediaType="application/xml" | |
element="identity:badLaunchConfigPersonalityFilesContent"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="InvalidLaunchConfiguration">The load balancer ID provided is invalid.</doc> | |
<representation mediaType="application/xml" element="identity:badLaunchConfigLb"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<doc title="NoSuchScalingGroupError">The specified scaling group was not found.</doc> | |
<representation mediaType="application/xml" element="identity:noSuchGroup"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
</resource> | |
<resource id="pause" path="v1.0/{tenantId}/groups/{groupId}/pause"> | |
<param name="tenantId" | |
type="xsd:string" | |
required="true" | |
style="template"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A subscriber to the auto | |
scaling service.</para> | |
</wadl:doc> | |
</param> | |
<param name="X-Auth-Token" | |
style="header" | |
type="xsd:string" | |
required="true"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A valid authentication | |
token.</para> | |
</wadl:doc> | |
</param> | |
<param name="groupId" | |
type="osapi:UUID" | |
required="true" | |
style="template"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A scaling group.</para> | |
</wadl:doc> | |
</param> | |
<method name="POST" | |
rax:id="pauseGroup" | |
rax:roles="admin autoscale:admin autoscale:service-admin"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" | |
xml:lang="EN" | |
title="Pause group policy execution"> | |
<para role="shortdesc" security="writerOnly">Pauses the execution of all scaling | |
policies for a specified scaling group.</para> | |
<para security="writerOnly">IMPORTANT: This method has not been implemented in | |
the Auto Scale API yet and will be implemented in a | |
future release.</para> | |
</wadl:doc> | |
<response status="204"/> | |
<response status="401"> | |
<doc title="InvalidCredentials">The X-Auth-Token the user supplied is bad.</doc> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<doc title="Forbidden">The user does not have permission to perform the resource; for example, the user only has an observer role and attempted to perform something only available to a user with an admin role. Note, some API nodes also use this status code for other things.</doc> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<doc title="InvalidMethod">The method used is unavailable for the endpoint.</doc> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<doc title="RateLimitError">The user has surpassed their rate limit.</doc> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<doc title="InternalError">An error internal to the application has occurred, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<doc title="ServiceUnavailable">The requested service is unavailable, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="InvalidJsonError">The request is refused because the body was invalid JSON".</doc> | |
<representation mediaType="application/xml" element="identity:invalidJson"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="ValidationError">The request body had valid JSON but with unexpected properties or values in it. Please note that there can be many combinations that cause this error. We will try to list the most common mistakes users are likely to make in a particular request. ".</doc> | |
<representation mediaType="application/xml" element="identity:validationError"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="415"> | |
<doc title="UnsupportedMediaType">The request is refused because the content type of the request is not "application/json".</doc> | |
<representation mediaType="application/xml" element="identity:badMediaType"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
</resource> | |
<resource id="resume" path="v1.0/{tenantId}/groups/{groupId}/resume"> | |
<param name="tenantId" | |
type="xsd:string" | |
required="true" | |
style="template"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A subscriber to the auto | |
scaling service.</para> | |
</wadl:doc> | |
</param> | |
<param name="X-Auth-Token" | |
style="header" | |
type="xsd:string" | |
required="true"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A valid authentication | |
token.</para> | |
</wadl:doc> | |
</param> | |
<param name="groupId" | |
type="osapi:UUID" | |
required="true" | |
style="template"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A scaling group.</para> | |
</wadl:doc> | |
</param> | |
<method name="POST" | |
rax:id="resumeGroup" | |
rax:roles="admin autoscale:admin autoscale:service-admin"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" | |
xml:lang="EN" | |
title="Resume group policy execution"> | |
<para role="shortdesc" security="writerOnly">Resumes the execution of all | |
scaling policies for a specified scaling group.</para> | |
<para security="writerOnly">IMPORTANT: This method has not been implemented in | |
the Auto Scale API yet and will be implemented in a | |
future release.</para> | |
</wadl:doc> | |
<response status="204"/> | |
<response status="401"> | |
<doc title="InvalidCredentials">The X-Auth-Token the user supplied is bad.</doc> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<doc title="Forbidden">The user does not have permission to perform the resource; for example, the user only has an observer role and attempted to perform something only available to a user with an admin role. Note, some API nodes also use this status code for other things.</doc> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<doc title="InvalidMethod">The method used is unavailable for the endpoint.</doc> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<doc title="RateLimitError">The user has surpassed their rate limit.</doc> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<doc title="InternalError">An error internal to the application has occurred, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<doc title="ServiceUnavailable">The requested service is unavailable, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="InvalidJsonError">The request is refused because the body was invalid JSON".</doc> | |
<representation mediaType="application/xml" element="identity:invalidJson"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="ValidationError">The request body had valid JSON but with unexpected properties or values in it. Please note that there can be many combinations that cause this error. We will try to list the most common mistakes users are likely to make in a particular request. ".</doc> | |
<representation mediaType="application/xml" element="identity:validationError"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="415"> | |
<doc title="UnsupportedMediaType">The request is refused because the content type of the request is not "application/json".</doc> | |
<representation mediaType="application/xml" element="identity:badMediaType"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
</resource> | |
<!-- POLICIES resource --> | |
<resource id="policies" path="v1.0/{tenantId}/groups/{groupId}/policies"> | |
<param name="tenantId" | |
type="xsd:string" | |
required="true" | |
style="template"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A subscriber to the auto | |
scaling service.</para> | |
</wadl:doc> | |
</param> | |
<param name="X-Auth-Token" | |
style="header" | |
type="xsd:string" | |
required="true"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A valid authentication | |
token.</para> | |
</wadl:doc> | |
</param> | |
<param name="groupId" | |
type="osapi:UUID" | |
required="true" | |
style="template"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A scaling group.</para> | |
</wadl:doc> | |
</param> | |
<method name="GET" | |
rax:roles="observer autoscale:observer admin autoscale:admin autoscale:service-admin" | |
rax:id="getPolicies"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" | |
xml:lang="EN" | |
title="List policies"> | |
<para role="shortdesc">Lists scaling policies that are | |
available to a specified scaling group.</para> | |
<para>Each policy is described in terms of an ID, name, | |
type, adjustment, cooldown time, and links. These | |
descriptions are returned in the response body in JSON | |
format.</para> | |
</wadl:doc> | |
<response status="200"> | |
<doc title="OK">The request succeeded and the response | |
contains a list of scaling policies for the specified scaling group.</doc> | |
<representation mediaType="application/json"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<xsdxt:code> | |
<programlisting language="javascript">{ | |
"policies":[ | |
{ | |
"args":{ | |
"cron":"23 * * * *" | |
}, | |
"changePercent":-5.5, | |
"cooldown":1800, | |
"id":"5f26e16c-5fa7-4d4f-8e78-257ea711389f", | |
"links":[ | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/605e13f6-1452-4588-b5da-ac6bb468c5bf/policies/5f26e16c-5fa7-4d4f-8e78-257ea711389f/", | |
"rel":"self" | |
} | |
], | |
"name":"scale down by 5.5 percent at 11pm", | |
"type":"schedule" | |
}, | |
{ | |
"args":{ | |
"at":"2013-12-05T03:12:00Z" | |
}, | |
"changePercent":-5.5, | |
"cooldown":1800, | |
"id":"9f7c5801-6b25-4f5a-af07-4bb752e23d53", | |
"links":[ | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/605e13f6-1452-4588-b5da-ac6bb468c5bf/policies/9f7c5801-6b25-4f5a-af07-4bb752e23d53/", | |
"rel":"self" | |
} | |
], | |
"name":"scale down by 5.5 percent on the 5th", | |
"type":"schedule" | |
}, | |
{ | |
"changePercent":-5.5, | |
"cooldown":1800, | |
"id":"eb0fe1bf-3428-4f34-afd9-a5ac36f60511", | |
"links":[ | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/605e13f6-1452-4588-b5da-ac6bb468c5bf/policies/eb0fe1bf-3428-4f34-afd9-a5ac36f60511/", | |
"rel":"self" | |
} | |
], | |
"name":"scale down by 5.5 percent", | |
"type":"webhook" | |
}, | |
{ | |
"cooldown":1800, | |
"desiredCapacity":5, | |
"id":"2f45092a-fde7-4461-a67a-3519e0366cd6", | |
"links":[ | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/605e13f6-1452-4588-b5da-ac6bb468c5bf/policies/2f45092a-fde7-4461-a67a-3519e0366cd6/", | |
"rel":"self" | |
} | |
], | |
"name":"set group to 5 servers", | |
"type":"webhook" | |
}, | |
{ | |
"change":1, | |
"cooldown":1800, | |
"id":"e36e6a43-2a7a-433c-918c-39fa45b75d12", | |
"links":[ | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/605e13f6-1452-4588-b5da-ac6bb468c5bf/policies/e36e6a43-2a7a-433c-918c-39fa45b75d12/", | |
"rel":"self" | |
} | |
], | |
"name":"scale up by one server", | |
"type":"webhook" | |
} | |
], | |
"policies_links":[ | |
] | |
}</programlisting> | |
</xsdxt:code> | |
</wadl:doc> | |
</representation> | |
</response> | |
<response status="401"> | |
<doc title="InvalidCredentials">The X-Auth-Token the user supplied is bad.</doc> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<doc title="Forbidden">The user does not have permission to perform the resource; for example, the user only has an observer role and attempted to perform something only available to a user with an admin role. Note, some API nodes also use this status code for other things.</doc> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<doc title="InvalidMethod">The method used is unavailable for the endpoint.</doc> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<doc title="RateLimitError">The user has surpassed their rate limit.</doc> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<doc title="InternalError">An error internal to the application has occurred, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<doc title="ServiceUnavailable">The requested service is unavailable, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="InvalidQueryArgument">The "limit" query argument value is not a valid integer.</doc> | |
<representation mediaType="application/xml" element="identity:badLimitArg"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<doc title="NoSuchScalingGroupError">The specified scaling group was not found.</doc> | |
<representation mediaType="application/xml" element="identity:noSuchGroup"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
<method name="POST" | |
rax:id="createPolicies" | |
rax:roles="admin autoscale:admin autoscale:service-admin"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" | |
xml:lang="EN" | |
title="Create policy"> | |
<para role="shortdesc">Creates one or more scaling | |
policies for a specified scaling group.</para> | |
<para>To create a policy, specify it in the request body | |
in JSON format. Each description must include a name, | |
type, adjustment, and cooldown time.</para> | |
<para>Use the JSON response to obtain information about | |
the newly-created policy or policies:</para> | |
<itemizedlist> | |
<listitem> | |
<para>The response header points to the List | |
Policies endpoint.</para> | |
</listitem> | |
<listitem> | |
<para>The response body provides an array of | |
scaling policies.</para> | |
</listitem> | |
</itemizedlist> | |
<para>The examples that are provided below show several | |
methods for creating a scaling policy:</para> | |
<itemizedlist> | |
<listitem> | |
<para>A request to create a policy based on | |
desired capacity.</para> | |
</listitem> | |
<listitem> | |
<para>A request to create a policy based on | |
incremental change.</para> | |
</listitem> | |
<listitem> | |
<para>A request to create a policy based on | |
change percentage.</para> | |
</listitem> | |
<listitem> | |
<para>A request to create a policy based on | |
change percentage scheduled daily, at a | |
specific time of day.</para> | |
</listitem> | |
<listitem> | |
<para>A request to create a policy based on | |
change percentage scheduled once, for a | |
specific date and time.</para> | |
</listitem> | |
<listitem> | |
<para>A request to create multiple policies, | |
followed by the matching | |
response.</para> | |
</listitem> | |
</itemizedlist> | |
</wadl:doc> | |
<request> | |
<representation mediaType="application/json"> | |
<wadl:doc xmlns="http://www.w3.org/1999/xhtml" xml:lang="EN"> | |
<p> The examples that are provided below show | |
several methods for creating a scaling policy: <ul> | |
<li>A request to create a policy based on | |
desired capacity</li> | |
<li>A request to create a policy based on | |
incremental change</li> | |
<li>A request to create a policy based on | |
change percentage</li> | |
<li>A request to create a policy based on | |
change percentage scheduled daily, at | |
a specific time of day</li> | |
<li>A request to create a policy based on | |
change percentage scheduled once, for | |
a specific date and time</li> | |
<!-- <li>a request to create a policy based on change percentage in response to an alarm</li> --> | |
<li>A request to create multiple policies, | |
followed by the matching response</li> | |
</ul> | |
</p> | |
<xsdxt:sample title="Create Policy (Desired Capacity) Request: JSON"> | |
<p>The following example shows how to create a | |
webhook-based policy specifying that | |
the desired capacity be five servers and | |
setting the cooldown period to 1800 | |
seconds.</p> | |
<xsdxt:code> | |
<programlisting xmlns="http://docbook.org/ns/docbook" language="javascript">[ | |
{ | |
"name":"set group to 5 servers", | |
"desiredCapacity":5, | |
"cooldown":1800, | |
"type":"webhook" | |
} | |
]</programlisting> | |
</xsdxt:code> | |
</xsdxt:sample> | |
<xsdxt:sample title="Create Policy (Incremental Change) Request: JSON"> | |
<xsdxt:code> | |
<programlisting xmlns="http://docbook.org/ns/docbook" language="javascript">[ | |
{ | |
"name":"scale up by one server", | |
"change":1, | |
"cooldown":1800, | |
"type":"webhook" | |
} | |
]</programlisting> | |
</xsdxt:code> | |
</xsdxt:sample> | |
<xsdxt:sample title="Create Policy (Percentage Change) Request: JSON"> | |
<xsdxt:code> | |
<programlisting xmlns="http://docbook.org/ns/docbook" language="javascript">[ | |
{ | |
"name":"scale down by 5.5 percent", | |
"changePercent":-5.5, | |
"cooldown":1800, | |
"type":"webhook" | |
} | |
]</programlisting> | |
</xsdxt:code> | |
</xsdxt:sample> | |
<xsdxt:sample title="Create Policy (Percentage Change at Time) Request: JSON"> | |
<xsdxt:code> | |
<programlisting xmlns="http://docbook.org/ns/docbook" language="javascript">[ | |
{ | |
"name":"scale down by 5.5 percent at 11pm", | |
"changePercent":-5.5, | |
"cooldown":1800, | |
"type":"schedule", | |
"args":{ | |
"cron":"23 * * * *" | |
} | |
} | |
]</programlisting> | |
</xsdxt:code> | |
</xsdxt:sample> | |
<xsdxt:sample title="Create Policy (Percentage Change on Date) Request: JSON"> | |
<xsdxt:code> | |
<programlisting xmlns="http://docbook.org/ns/docbook" language="javascript">[ | |
{ | |
"name": "scale down by 5.5 percent on the 5th", | |
"changePercent": -5.5, | |
"cooldown": 1800, | |
"type": "schedule", | |
"args": { | |
"at": "2013-12-05T03:12:00Z" | |
} | |
} | |
] | |
</programlisting> | |
</xsdxt:code> | |
</xsdxt:sample> | |
<!-- <xsdxt:sample title="Create Policy (Percentage Change on Alarm) Request: JSON" > --> | |
<!-- <xsdxt:code href="../docbkx/samples/reqCreatePolicy-changePercentAlarm.json"/> --> | |
<!-- </xsdxt:sample> --> | |
<xsdxt:sample title="Create Policies Request: JSON"> | |
<xsdxt:code> | |
<programlisting xmlns="http://docbook.org/ns/docbook" language="javascript"> | |
[ | |
{ | |
"change":1, | |
"cooldown":1800, | |
"name":"scale up by one server", | |
"type":"webhook" | |
}, | |
{ | |
"changePercent":-5.5, | |
"cooldown":1800, | |
"name":"scale down by 5.5 percent", | |
"type":"webhook" | |
}, | |
{ | |
"cooldown":1800, | |
"desiredCapacity":5, | |
"name":"set group to 5 servers", | |
"type":"webhook" | |
}, | |
{ | |
"args":{ | |
"cron":"23 * * * *" | |
}, | |
"changePercent":-5.5, | |
"cooldown":1800, | |
"name":"scale down by 5.5 percent at 11pm", | |
"type":"schedule" | |
}, | |
{ | |
"args":{ | |
"at":"2013-12-05T03:12:00Z" | |
}, | |
"changePercent":-5.5, | |
"cooldown":1800, | |
"name":"scale down by 5.5 percent on the 5th", | |
"type":"schedule" | |
} | |
]</programlisting> | |
</xsdxt:code> | |
</xsdxt:sample> | |
</wadl:doc> | |
<param style="plain" | |
name="array" | |
required="true" | |
type="array" | |
path="$.[*]"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">An array of scaling | |
policies.</wadl:doc> | |
</param> | |
<param style="plain" | |
name="name" | |
required="true" | |
type="string" | |
path="$.[*].name"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook"/> | |
</param> | |
<param style="plain" | |
name="args" | |
required="false" | |
type="object" | |
path="$.[*].args"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook"/> | |
</param> | |
<param style="plain" | |
name="cron" | |
required="false" | |
type="string" | |
path="$.[*].args.cron"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook"/> | |
</param> | |
<param style="plain" | |
name="at" | |
required="false" | |
type="string" | |
path="$.[*].args.at"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook"/> | |
</param> | |
<param style="plain" | |
name="changePercent" | |
required="false" | |
type="number" | |
path="$.[*].changePercent"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook"/> | |
</param> | |
<param style="plain" | |
name="cooldown" | |
required="true" | |
type="number" | |
path="$.[*].cooldown"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook"/> | |
</param> | |
<param style="plain" | |
name="type" | |
required="true" | |
type="enum" | |
path="$.[*].type"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook"/> | |
</param> | |
<param style="plain" | |
name="change" | |
required="false" | |
type="integer" | |
path="$.[*].change"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook"/> | |
</param> | |
<param style="plain" | |
name="name" | |
required="true" | |
type="string" | |
path="$.[*].name"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook"/> | |
</param> | |
<param style="plain" | |
name="args" | |
required="false" | |
type="object" | |
path="$.[*].args"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">Additional configuration information for | |
policies of type <code>schedule</code>. | |
This parameter is not required for policies of | |
type <code>webhook</code>. This | |
parameter must be set to either | |
<code>at</code> or | |
<code>cron</code>, which are mutually | |
exclusive. </wadl:doc> | |
</param> | |
<param style="plain" | |
name="cron" | |
required="false" | |
type="string" | |
path="$.[*].args.cron"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">The time when the policy will be executed, as | |
a cron entry. For example, if this is | |
parameter is set to <code>1 0 * * | |
*</code>, the policy will be executed at | |
one minute past midnight (00:01) every day of | |
the month, and every day of the week. For more | |
information about cron, read: | |
http://en.wikipedia.org/wiki/Cron</wadl:doc> | |
</param> | |
<param style="plain" | |
name="at" | |
required="false" | |
type="string" | |
path="$.[*].args.at"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">The time when this policy will be executed. | |
The time must be formatted according to this | |
service's custom <link xlink:href=" /cas/api/v1.0/autoscale-devguide/content/datetimeformat.html">Date | |
and Time format</link>, with seconds, | |
otherwise a 400 error may be returned. The | |
policy will be triggered within a 10-second | |
range of the time specified, so if you set the | |
<code>at</code> time to | |
<code>2013-05-19T08:07:08Z</code>, it | |
will be triggered anytime between 08:07:08 to | |
08:07:18. This property is mutually exclusive | |
with the <code>cron</code> | |
parameter.</wadl:doc> | |
</param> | |
<param style="plain" | |
name="changePercent" | |
required="false" | |
type="number" | |
path="$.[*].changePercent"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">The percent change to make in the number of | |
servers in the scaling group. If this number | |
is positive, the number of servers will | |
increase by the given percentage. If this | |
parameter is set to a negative number, the | |
number of servers decreases by the given | |
percentage. The absolute change in the number | |
of servers will be rounded to the nearest | |
integer. This means that if -X% of the current | |
number of servers translates to -0.5 or -0.25 | |
or -0.75 servers, the actual number of servers | |
that will be shut down is 1. If X% of the | |
current number of servers translates to 1.2 or | |
1.5 or 1.7 servers, the actual number of | |
servers that will be launched is 2</wadl:doc> | |
</param> | |
<param style="plain" | |
name="cooldown" | |
required="true" | |
type="number" | |
path="$.[*].cooldown"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">The cooldown period, in seconds, before this | |
particular scaling policy can be executed | |
again. The policy cooldown period does not | |
affect the global scaling group cooldown. The | |
minimum value for this parameter is 0 seconds, | |
the maximum value is 86400 seconds (24 hrs). </wadl:doc> | |
</param> | |
<param style="plain" | |
name="type" | |
required="true" | |
type="enum" | |
path="$.[*].type"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">The type of policy that will be executed for | |
the current release, this value can be either | |
<code>webhook</code> or | |
<code>schedule</code>.</wadl:doc> | |
</param> | |
<param style="plain" | |
name="change" | |
required="false" | |
type="integer" | |
path="$.[*].change"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">The change to make in the number of servers | |
in the scaling group. This parameter must be | |
an integer. If the value is a positive | |
integer, the number of servers increases. | |
If the value is a negative integer, the number | |
of servers decreases.</wadl:doc> | |
</param> | |
<param style="plain" | |
name="desiredCapacity" | |
required="false" | |
type="integer" | |
path="$.[*].desiredCapacity"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">The desired server capacity of | |
the scaling the group; that is, how many | |
servers should be in the scaling group. This | |
value must be an absolute number, greater than or equal to zero. | |
For example, if this parameter is set to ten, executing the policy brings the number | |
of servers to ten. The minimum allowed value is | |
zero. Note that the configured group maxEntities and minEntities takes precedence | |
over this setting.</wadl:doc> | |
</param> | |
</representation> | |
</request> | |
<response status="201"> | |
<doc title="Created">The scaling policy has been created.</doc> | |
<representation mediaType="application/json"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<xsdxt:sample title="Create Policies Response: HTTP and JSON"> | |
<!-- <xsdxt:code | |
href="../docbkx/samples/resCreatePolicies-json-http.txt"/>--> | |
<xsdxt:code> | |
<programlisting language="javascript">{ | |
"policies":[ | |
{ | |
"args":{ | |
"at":"2013-12-05T03:12:00Z" | |
}, | |
"changePercent":-5.5, | |
"cooldown":1800, | |
"id":"9f7c5801-6b25-4f5a-af07-4bb752e23d53", | |
"links":[ | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/605e13f6-1452-4588-b5da-ac6bb468c5bf/policies/9f7c5801-6b25-4f5a-af07-4bb752e23d53/", | |
"rel":"self" | |
} | |
], | |
"name":"scale down by 5.5 percent on the 5th", | |
"type":"schedule" | |
}, | |
{ | |
"cooldown":1800, | |
"desiredCapacity":5, | |
"id":"b0555a35-b2cb-4f0e-8743-d59e1621b980", | |
"links":[ | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/605e13f6-1452-4588-b5da-ac6bb468c5bf/policies/b0555a35-b2cb-4f0e-8743-d59e1621b980/", | |
"rel":"self" | |
} | |
], | |
"name":"set group to 5 servers", | |
"type":"webhook" | |
}, | |
{ | |
"args":{ | |
"cron":"23 * * * *" | |
}, | |
"changePercent":-5.5, | |
"cooldown":1800, | |
"id":"30707675-8e7c-4ea5-9358-c21648afcf29", | |
"links":[ | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/605e13f6-1452-4588-b5da-ac6bb468c5bf/policies/30707675-8e7c-4ea5-9358-c21648afcf29/", | |
"rel":"self" | |
} | |
], | |
"name":"scale down by 5.5 percent at 11pm", | |
"type":"schedule" | |
}, | |
{ | |
"change":1, | |
"cooldown":1800, | |
"id":"1f3bdd08-7aae-4009-a3b7-49aa47fc0876", | |
"links":[ | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/605e13f6-1452-4588-b5da-ac6bb468c5bf/policies/1f3bdd08-7aae-4009-a3b7-49aa47fc0876/", | |
"rel":"self" | |
} | |
], | |
"name":"scale up by one server", | |
"type":"webhook" | |
}, | |
{ | |
"changePercent":-5.5, | |
"cooldown":1800, | |
"id":"5afac18c-41e5-49d6-aba8-dec17c0d8ed7", | |
"links":[ | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/605e13f6-1452-4588-b5da-ac6bb468c5bf/policies/5afac18c-41e5-49d6-aba8-dec17c0d8ed7/", | |
"rel":"self" | |
} | |
], | |
"name":"scale down by 5.5 percent", | |
"type":"webhook" | |
} | |
] | |
}</programlisting> | |
</xsdxt:code> | |
</xsdxt:sample> | |
</wadl:doc> | |
</representation> | |
</response> | |
<response status="401"> | |
<doc title="InvalidCredentials">The X-Auth-Token the user supplied is bad.</doc> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<doc title="Forbidden">The user does not have permission to perform the resource; for example, the user only has an observer role and attempted to perform something only available to a user with an admin role. Note, some API nodes also use this status code for other things.</doc> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<doc title="InvalidMethod">The method used is unavailable for the endpoint.</doc> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<doc title="RateLimitError">The user has surpassed their rate limit.</doc> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<doc title="InternalError">An error internal to the application has occurred, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<doc title="ServiceUnavailable">The requested service is unavailable, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="InvalidJsonError">The request is refused because the body was invalid JSON".</doc> | |
<representation mediaType="application/xml" element="identity:invalidJson"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="ValidationError">The request body had valid JSON but with unexpected properties or values in it. Please note that there can be many combinations that cause this error. We will try to list the most common mistakes users are likely to make in a particular request. ".</doc> | |
<representation mediaType="application/xml" element="identity:validationError"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="415"> | |
<doc title="UnsupportedMediaType">The request is refused because the content type of the request is not "application/json".</doc> | |
<representation mediaType="application/xml" element="identity:badMediaType"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="ValidationError">The "at" value does not correspond to "YYYY-MM-DDTHH:MM:SS.SSSS" format.</doc> | |
<representation mediaType="application/xml" element="identity:badAtValue"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="ValidationError">The "cron" value is invalid. It either contains a seconds component or is invalid cron expression.</doc> | |
<representation mediaType="application/xml" element="identity:badCronValue"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="ValidationError">The "args" parameter is not supplied and this is a "schedule" type policy.</doc> | |
<representation mediaType="application/xml" | |
element="identity:missingArgsForSchedulePolicy"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="ValidationError">Neither "at" or "cron" values for the "args" parameter are supplied and this is a "schedule" type policy.</doc> | |
<representation mediaType="application/xml" | |
element="identity:missingTimeForSchedulePolicy"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="ValidationError">Both "at" and "cron" values for the "args" parameter are supplied. Only one such value is allowed.</doc> | |
<representation mediaType="application/xml" | |
element="identity:doubleTimeArgsForSchedulePolicy"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="ValidationError">Neither "change" or "changePercent" or "desiredCapacity" values are supplied.</doc> | |
<representation mediaType="application/xml" element="identity:missingChangeParam"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="ValidationError">More than one of "change" or "changePercent" or "desiredCapacity" values are supplied. Only one such value is allowed.</doc> | |
<representation mediaType="application/xml" element="multipleChangeParams"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<doc title="NoSuchScalingGroupError">The specified scaling group was not found.</doc> | |
<representation mediaType="application/xml" element="identity:noSuchGroup"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="422"> | |
<doc title="PoliciesOverLimitError">The user has reached their quota for scaling policies, currently 100.</doc> | |
<representation mediaType="application/xml" element="identity:overPolicyLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
</resource> | |
<resource id="policyid" | |
path="v1.0/{tenantId}/groups/{groupId}/policies/{policyId}"> | |
<param name="tenantId" | |
type="xsd:string" | |
required="true" | |
style="template"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A subscriber to the auto | |
scaling service.</para> | |
</wadl:doc> | |
</param> | |
<param name="X-Auth-Token" | |
style="header" | |
type="xsd:string" | |
required="true"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A valid authentication | |
token.</para> | |
</wadl:doc> | |
</param> | |
<param name="groupId" | |
type="osapi:UUID" | |
required="true" | |
style="template"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A scaling group.</para> | |
</wadl:doc> | |
</param> | |
<param name="policyId" | |
type="osapi:UUID" | |
required="true" | |
style="template"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A scaling | |
policy.</para> | |
</wadl:doc> | |
</param> | |
<method name="DELETE" | |
rax:id="deletePolicy" | |
rax:roles="admin autoscale:admin autoscale:service-admin"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" | |
xml:lang="EN" | |
title="Delete policy"> | |
<para role="shortdesc">Deletes a specified scaling policy | |
from the specified tenant.</para> | |
<para>If deletion is successful, no response body is | |
returned.</para> | |
</wadl:doc> | |
<response status="204"> | |
<doc title="Success But No Content">The delete scaling policy request succeeded.</doc> | |
</response> | |
<response status="401"> | |
<doc title="InvalidCredentials">The X-Auth-Token the user supplied is bad.</doc> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<doc title="Forbidden">The user does not have permission to perform the resource; for example, the user only has an observer role and attempted to perform something only available to a user with an admin role. Note, some API nodes also use this status code for other things.</doc> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<doc title="InvalidMethod">The method used is unavailable for the endpoint.</doc> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<doc title="RateLimitError">The user has surpassed their rate limit.</doc> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<doc title="InternalError">An error internal to the application has occurred, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<doc title="ServiceUnavailable">The requested service is unavailable, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<doc title="NoSuchPolicyError">The requested scaling policy was not found in the specified scaling group.</doc> | |
<representation mediaType="application/xml" element="identity:noSuchPolicy"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<doc title="NoSuchScalingGroupError">The specified scaling group was not found.</doc> | |
<representation mediaType="application/xml" element="identity:noSuchGroup"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
<method name="GET" | |
rax:roles="observer autoscale:observer admin autoscale:admin autoscale:service-admin" | |
rax:id="getPolicy"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" | |
xml:lang="EN" | |
title="Show policy details"> | |
<para role="shortdesc">Shows scaling policy | |
details.</para> | |
<para>Details include an ID, name, type, adjustment, | |
cool-down time, and links.</para> | |
<para>The details appear in the response body in JSON | |
format.</para> | |
</wadl:doc> | |
<response status="200"> | |
<doc title="OK">The request succeeded and the response | |
contains details about the specified scaling policy.</doc> | |
<representation mediaType="application/json"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<!-- <xsdxt:code | |
href="../docbkx/samples/resGetPolicy-json-http.txt"/>--> | |
<xsdxt:code> | |
<programlisting language="javascript">{ | |
"policy":{ | |
"args":{ | |
"cron":"23 * * * *" | |
}, | |
"changePercent":-5.5, | |
"cooldown":1800, | |
"id":"5f26e16c-5fa7-4d4f-8e78-257ea711389f", | |
"links":[ | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/605e13f6-1452-4588-b5da-ac6bb468c5bf/policies/5f26e16c-5fa7-4d4f-8e78-257ea711389f/", | |
"rel":"self" | |
} | |
], | |
"name":"scale down by 5.5 percent at 11pm", | |
"type":"schedule" | |
} | |
}</programlisting> | |
</xsdxt:code> | |
</wadl:doc> | |
</representation> | |
</response> | |
<response status="401"> | |
<doc title="InvalidCredentials">The X-Auth-Token the user supplied is bad.</doc> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<doc title="Forbidden">The user does not have permission to perform the resource; for example, the user only has an observer role and attempted to perform something only available to a user with an admin role. Note, some API nodes also use this status code for other things.</doc> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<doc title="InvalidMethod">The method used is unavailable for the endpoint.</doc> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<doc title="RateLimitError">The user has surpassed their rate limit.</doc> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<doc title="InternalError">An error internal to the application has occurred, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<doc title="ServiceUnavailable">The requested service is unavailable, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<doc title="NoSuchPolicyError">The requested scaling policy was not found in the specified scaling group.</doc> | |
<representation mediaType="application/xml" element="identity:noSuchPolicy"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<doc title="NoSuchScalingGroupError">The specified scaling group was not found.</doc> | |
<representation mediaType="application/xml" element="identity:noSuchGroup"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
<method name="PUT" | |
rax:id="putPolicy" | |
rax:roles="admin autoscale:admin autoscale:service-admin"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" | |
xml:lang="EN" | |
title="Update policy"> | |
<para role="shortdesc">Updates an existing scaling policy | |
for the specified tenant.</para> | |
<para>To update the policy, specify the name, type, | |
adjustment, and cooldown time for the policy in the | |
request body in JSON format. If the change succeeds, | |
no response body is returned.</para> | |
<note> | |
<para>All Rackspace Auto Scale update (<methodname>PUT</methodname>) operations completely replace the configuration being updated. Empty values (for example, | |
<varname>{ }</varname>)in the update | |
are accepted and overwrite previously specified parameters. New parameters can be specified. All create (<methodname>POST</methodname>) parameters, even optional ones, | |
are required for the update operation. </para> | |
</note> | |
</wadl:doc> | |
<request> | |
<representation mediaType="application/json"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<xsdxt:code> | |
<programlisting language="javascript">{ | |
"change":1, | |
"cooldown":1800, | |
"name":"scale up by one server", | |
"type":"webhook" | |
}</programlisting> | |
</xsdxt:code> | |
</wadl:doc> | |
<param style="plain" | |
name="name" | |
required="true" | |
type="string" | |
path="$.scalingPolicies.[*].name"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A name for the scaling policy. | |
This name must be unique for each scaling | |
policy.</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="args" | |
required="false" | |
type="object" | |
path="$.scalingPolicies.[*].args"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>Additional configuration | |
information for policies of type "schedule." | |
This parameter is not required for policies of | |
type <code>webhook</code>. This parameter must be set to | |
either <code>at</code> or <code>cron</code>, which are mutually exclusive</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="cron" | |
required="false" | |
type="string" | |
path="$.scalingPolicies.[*].args.cron"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>The time when the | |
policy runs, as a cron entry. For example, if | |
you set this parameter to <code>1 0 * * | |
*</code>, the policy runs at one minute | |
past midnight (00:01) every day of the month, | |
and every day of the week. For more | |
information about cron, see <link xlink:href="http://en.wikipedia.org/wiki/Cron">http://en.wikipedia.org/wiki/Cron</link>.</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="at" | |
required="false" | |
type="string" | |
path="$.scalingPolicies.[*].args.at"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN">The time when this policy will | |
be executed. The time must be formatted | |
according to this service's custom <link xlink:href=" /cas/api/v1.0/autoscale-devguide/content/datetimeformat.html">Date | |
and Time format</link>, with seconds, | |
otherwise a 400 error may be returned. The | |
policy will be triggered within a 10-second | |
range of the time specified, so if you set the | |
<code>at</code> time to | |
<code>2013-05-19T08:07:08Z</code>, it | |
will be triggered anytime between 08:07:08 to | |
08:07:18. This property is mutually exclusive | |
with the <code>cron</code> | |
parameter.</wadl:doc> | |
</param> | |
<param style="plain" | |
name="changePercent" | |
required="false" | |
type="number" | |
path="$.scalingPolicies.[*].changePercent"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>The percent change to make in | |
the number of servers in the scaling group. If | |
this number is positive, the number of servers | |
increases by the given percentage. If this | |
parameter is set to a negative number, the | |
number of servers decreases by the given | |
percentage. The absolute change in the number | |
of servers is rounded to the nearest integer. | |
This means that if -X% of the current number | |
of servers translates to -0.5 or -0.25 or | |
-0.75 servers, the actual number of servers | |
that are shut down is 1. If X% of the current | |
number of servers translates to 1.2 or 1.5 or | |
1.7 servers, the actual number of servers that | |
are launched is 2.</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="cooldown" | |
required="true" | |
type="number" | |
path="$.scalingPolicies.[*].cooldown"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>The cooldown period, in | |
seconds, before this particular scaling policy | |
can run again. The policy cooldown period does not | |
affect the global scaling group cooldown. The | |
minimum value for this parameter is 0 seconds. | |
The maximum value is 86400 seconds (24 | |
hrs).</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="type" | |
required="true" | |
type="enum" | |
path="$.scalingPolicies.[*].type"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>The type of policy that runs. Currently, this value can be | |
either <code>webhook</code> or <code>schedule</code>.</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="change" | |
required="false" | |
type="integer" | |
path="$.scalingPolicies.[*].change"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>The change to make in the | |
number of servers in the scaling group. This | |
parameter must be an integer. If the value is | |
a positive integer, the number of servers | |
increases. If the value is a negative integer, | |
the number of servers | |
decreases.</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="desiredCapacity" | |
required="false" | |
type="integer" | |
path="$.scalingPolicies.[*].desiredCapacity"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>The desired server capacity of | |
the scaling the group; that is, how many | |
servers should be in the scaling group. This | |
value must be an absolute number, greater than or equal to zero. | |
For example, if this parameter is set to ten, executing the policy brings the number | |
of servers to ten. The minimum allowed value is | |
zero. Note that the configured group maxEntities and minEntities takes precedence | |
over this setting.</para> | |
</wadl:doc> | |
</param> | |
</representation> | |
</request> | |
<response status="204"> | |
<doc title="Success But No Content">The update scaling policy request succeeded.</doc> | |
</response> | |
<response status="401"> | |
<doc title="InvalidCredentials">The X-Auth-Token the user supplied is bad.</doc> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<doc title="Forbidden">The user does not have permission to perform the resource; for example, the user only has an observer role and attempted to perform something only available to a user with an admin role. Note, some API nodes also use this status code for other things.</doc> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<doc title="InvalidMethod">The method used is unavailable for the endpoint.</doc> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<doc title="RateLimitError">The user has surpassed their rate limit.</doc> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<doc title="InternalError">An error internal to the application has occurred, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<doc title="ServiceUnavailable">The requested service is unavailable, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="InvalidJsonError">The request is refused because the body was invalid JSON".</doc> | |
<representation mediaType="application/xml" element="identity:invalidJson"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="ValidationError">The request body had valid JSON but with unexpected properties or values in it. Please note that there can be many combinations that cause this error. We will try to list the most common mistakes users are likely to make in a particular request. ".</doc> | |
<representation mediaType="application/xml" element="identity:validationError"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="415"> | |
<doc title="UnsupportedMediaType">The request is refused because the content type of the request is not "application/json".</doc> | |
<representation mediaType="application/xml" element="identity:badMediaType"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="ValidationError">The "at" value does not correspond to "YYYY-MM-DDTHH:MM:SS.SSSS" format.</doc> | |
<representation mediaType="application/xml" element="identity:badAtValue"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="ValidationError">The "cron" value is invalid. It either contains a seconds component or is invalid cron expression.</doc> | |
<representation mediaType="application/xml" element="identity:badCronValue"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="ValidationError">The "args" parameter is not supplied and this is a "schedule" type policy.</doc> | |
<representation mediaType="application/xml" | |
element="identity:missingArgsForSchedulePolicy"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="ValidationError">Neither "at" or "cron" values for the "args" parameter are supplied and this is a "schedule" type policy.</doc> | |
<representation mediaType="application/xml" | |
element="identity:missingTimeForSchedulePolicy"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="ValidationError">Both "at" and "cron" values for the "args" parameter are supplied. Only one such value is allowed.</doc> | |
<representation mediaType="application/xml" | |
element="identity:doubleTimeArgsForSchedulePolicy"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="ValidationError">Neither "change" or "changePercent" or "desiredCapacity" values are supplied.</doc> | |
<representation mediaType="application/xml" element="identity:missingChangeParam"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="ValidationError">More than one of "change" or "changePercent" or "desiredCapacity" values are supplied. Only one such value is allowed.</doc> | |
<representation mediaType="application/xml" element="multipleChangeParams"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<doc title="NoSuchPolicyError">The requested scaling policy was not found in the specified scaling group.</doc> | |
<representation mediaType="application/xml" element="identity:noSuchPolicy"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<doc title="NoSuchScalingGroupError">The specified scaling group was not found.</doc> | |
<representation mediaType="application/xml" element="identity:noSuchGroup"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
</resource> | |
<resource id="execute" | |
path="v1.0/{tenantId}/groups/{groupId}/policies/{policyId}/execute"> | |
<param name="tenantId" | |
type="xsd:string" | |
required="true" | |
style="template"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A subscriber to the auto | |
scaling service.</para> | |
</wadl:doc> | |
</param> | |
<param name="X-Auth-Token" | |
style="header" | |
type="xsd:string" | |
required="true"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A valid authentication | |
token.</para> | |
</wadl:doc> | |
</param> | |
<param name="groupId" | |
type="osapi:UUID" | |
required="true" | |
style="template"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A scaling group.</para> | |
</wadl:doc> | |
</param> | |
<param name="policyId" | |
type="osapi:UUID" | |
required="true" | |
style="template"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A scaling | |
policy.</para> | |
</wadl:doc> | |
</param> | |
<method name="POST" | |
rax:id="executePolicy" | |
rax:roles="admin autoscale:admin autoscale:service-admin"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" | |
xml:lang="EN" | |
title="Execute policy"> | |
<para role="shortdesc">Runs a specified scaling | |
policy.</para> | |
<para>If the operation succeeds, a response body is | |
returned.</para> | |
</wadl:doc> | |
<response status="202"> | |
<doc title="Accepted">The execute policy request was accepted. | |
The actual execution may be delayed, but will be attempted if no errors are returned. | |
Use the "GET scaling group state" method to see if the policy was executed. </doc> | |
</response> | |
<response status="401"> | |
<doc title="InvalidCredentials">The X-Auth-Token the user supplied is bad.</doc> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<doc title="Forbidden">The user does not have permission to perform the resource; for example, the user only has an observer role and attempted to perform something only available to a user with an admin role. Note, some API nodes also use this status code for other things.</doc> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<doc title="InvalidMethod">The method used is unavailable for the endpoint.</doc> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<doc title="RateLimitError">The user has surpassed their rate limit.</doc> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<doc title="InternalError">An error internal to the application has occurred, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<doc title="ServiceUnavailable">The requested service is unavailable, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="InvalidJsonError">The request is refused because the body was invalid JSON".</doc> | |
<representation mediaType="application/xml" element="identity:invalidJson"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="ValidationError">The request body had valid JSON but with unexpected properties or values in it. Please note that there can be many combinations that cause this error. We will try to list the most common mistakes users are likely to make in a particular request. ".</doc> | |
<representation mediaType="application/xml" element="identity:validationError"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="415"> | |
<doc title="UnsupportedMediaType">The request is refused because the content type of the request is not "application/json".</doc> | |
<representation mediaType="application/xml" element="identity:badMediaType"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<doc title="CannotExecutePolicyError">The policy was not executed because applying the changes would not result in the addition or deletion of any servers.</doc> | |
<representation mediaType="application/xml" element="identity:cannotExecutePolicyNull"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<doc title="CannotExecutePolicyError">The policy was not executed because a scaling policy or scaling group cooldown was still in effect.</doc> | |
<representation mediaType="application/xml" element="identity:cannotExecutePolicyGroup"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<doc title="NoSuchPolicyError">The requested scaling policy was not found in the specified scalilng group.</doc> | |
<representation mediaType="application/xml" element="identity:noSuchPolicy"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<doc title="NoSuchScalingGroupError">The specified scaling group was not found.</doc> | |
<representation mediaType="application/xml" element="identity:noSuchGroup"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
</resource> | |
<resource id="webhooks" | |
path="v1.0/{tenantId}/groups/{groupId}/policies/{policyId}/webhooks"> | |
<param name="tenantId" | |
type="xsd:string" | |
required="true" | |
style="template"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A subscriber to the auto | |
scaling service.</para> | |
</wadl:doc> | |
</param> | |
<param name="X-Auth-Token" | |
style="header" | |
type="xsd:string" | |
required="true"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A valid authentication | |
token.</para> | |
</wadl:doc> | |
</param> | |
<param name="groupId" | |
type="osapi:UUID" | |
required="true" | |
style="template"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A scaling group.</para> | |
</wadl:doc> | |
</param> | |
<param name="policyId" | |
type="osapi:UUID" | |
required="true" | |
style="template"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A scaling | |
policy.</para> | |
</wadl:doc> | |
</param> | |
<method name="GET" | |
rax:id="getWebhooks" | |
rax:roles="admin autoscale:admin autoscale:service-admin"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" | |
xml:lang="EN" | |
title="List webhooks for the policy"> | |
<para role="shortdesc">Lists web hooks and their IDs for a | |
specified scaling policy.</para> | |
<para>This data is returned in the response body in JSON | |
format.</para> | |
</wadl:doc> | |
<response status="200"> | |
<doc title="OK">The request succeeded and the response | |
contains a list of webhooks for the specified scaling policy.</doc> | |
<representation mediaType="application/json"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<!--<xsdxt:code | |
href="../docbkx/samples/resGetWebhooks-json-http.txt"/>--> | |
<xsdxt:code> | |
<programlisting language="javascript"> | |
{ | |
"webhooks":[ | |
{ | |
"id":"152054a3-e0ab-445b-941d-9f8e360c9eed", | |
"links":[ | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/605e13f6-1452-4588-b5da-ac6bb468c5bf/policies/eb0fe1bf-3428-4f34-afd9-a5ac36f60511/webhooks/152054a3-e0ab-445b-941d-9f8e360c9eed/", | |
"rel":"self" | |
}, | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/execute/1/0077882e9626d83ef30e1ca379c8654d86cd34df3cd49ac8da72174668315fe8/", | |
"rel":"capability" | |
} | |
], | |
"metadata":{ | |
"notes":"PagerDuty will fire this webhook" | |
}, | |
"name":"PagerDuty" | |
}, | |
{ | |
"id":"23037efb-53a9-4ae5-bc33-e89a56b501b6", | |
"links":[ | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/605e13f6-1452-4588-b5da-ac6bb468c5bf/policies/eb0fe1bf-3428-4f34-afd9-a5ac36f60511/webhooks/23037efb-53a9-4ae5-bc33-e89a56b501b6/", | |
"rel":"self" | |
}, | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/execute/1/4f767340574433927a26dc747253dad643d5d13ec7b66b764dcbf719b32302b9/", | |
"rel":"capability" | |
} | |
], | |
"metadata":{ | |
}, | |
"name":"Nagios" | |
} | |
], | |
"webhooks_links":[ | |
] | |
}</programlisting> | |
</xsdxt:code> | |
</wadl:doc> | |
</representation> | |
</response> | |
<response status="401"> | |
<doc title="InvalidCredentials">The X-Auth-Token the user supplied is bad.</doc> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<doc title="Forbidden">The user does not have permission to perform the resource; for example, the user only has an observer role and attempted to perform something only available to a user with an admin role. Note, some API nodes also use this status code for other things.</doc> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<doc title="InvalidMethod">The method used is unavailable for the endpoint.</doc> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<doc title="RateLimitError">The user has surpassed their rate limit.</doc> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<doc title="InternalError">An error internal to the application has occurred, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<doc title="ServiceUnavailable">The requested service is unavailable, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="InvalidQueryArgument">Only "pagination" query arguments are valid in this request.</doc> | |
<representation mediaType="application/xml" element="identity:badQueryArg"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<doc title="NoSuchPolicyError">The requested scaling policy was not found in the specified scaling group.</doc> | |
<representation mediaType="application/xml" element="identity:noSuchPolicy"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<doc title="NoSuchScalingGroupError">The specified scaling group was not found.</doc> | |
<representation mediaType="application/xml" element="identity:noSuchGroup"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
<method name="POST" | |
rax:id="createWebhook" | |
rax:roles="admin autoscale:admin autoscale:service-admin"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" | |
xml:lang="EN" | |
title="Create webhook"> | |
<para role="shortdesc">Creates one or more webhooks for | |
the specified scaling policy.</para> | |
<para>Webhooks must have a name. If the operation | |
succeeds, the response body contains the IDs and links | |
to the newly created web hooks. This data is provided | |
in the request body in JSON format.</para> | |
</wadl:doc> | |
<request> | |
<param style="plain" | |
name="name" | |
required="true" | |
type="string" | |
path="$.[*].name"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A name for the webhook for | |
logging purposes.</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="metadata" | |
required="false" | |
type="object" | |
path="$.[*].metadata"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>User-provided key-value | |
metadata. Both keys and values should be | |
strings with a maximum length of 256 | |
characters.</para> | |
</wadl:doc> | |
</param> | |
<representation mediaType="application/json"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<!-- <xsdxt:code | |
href="../docbkx/samples/reqCreateWebhook-json-http.txt"/>--> | |
<xsdxt:code> | |
<programlisting language="javascript">[ | |
{ | |
"metadata":{ | |
"notes":"PagerDuty will fire this webhook" | |
}, | |
"name":"PagerDuty" | |
}, | |
{ | |
"name":"Nagios" | |
} | |
]</programlisting> | |
</xsdxt:code> | |
</wadl:doc> | |
<param style="plain" | |
name="name" | |
required="true" | |
type="string" | |
path="$.[*].name"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">This parameter specifies a name for the | |
webhook for logging purposes</wadl:doc> | |
</param> | |
<param style="plain" | |
name="metadata" | |
required="false" | |
type="object" | |
path="$.[*].metadata"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">This parameter specifies user-provided | |
key-value metadata. Both keys and values | |
should be strings not exceeding 256 characters | |
in length.</wadl:doc> | |
</param> | |
</representation> | |
</request> | |
<response status="201"> | |
<doc title="Created">The webhook has been created.</doc> | |
<representation mediaType="application/json"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<!--<xsdxt:code | |
href="../docbkx/samples/resCreateWebhook-json-http.txt"/>--> | |
<xsdxt:code> | |
<programlisting language="javascript">{ | |
"webhooks":[ | |
{ | |
"id":"152054a3-e0ab-445b-941d-9f8e360c9eed", | |
"links":[ | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/605e13f6-1452-4588-b5da-ac6bb468c5bf/policies/eb0fe1bf-3428-4f34-afd9-a5ac36f60511/webhooks/152054a3-e0ab-445b-941d-9f8e360c9eed/", | |
"rel":"self" | |
}, | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/execute/1/0077882e9626d83ef30e1ca379c8654d86cd34df3cd49ac8da72174668315fe8/", | |
"rel":"capability" | |
} | |
], | |
"metadata":{ | |
"notes":"PagerDuty will fire this webhook" | |
}, | |
"name":"PagerDuty" | |
}, | |
{ | |
"id":"23037efb-53a9-4ae5-bc33-e89a56b501b6", | |
"links":[ | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/605e13f6-1452-4588-b5da-ac6bb468c5bf/policies/eb0fe1bf-3428-4f34-afd9-a5ac36f60511/webhooks/23037efb-53a9-4ae5-bc33-e89a56b501b6/", | |
"rel":"self" | |
}, | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/execute/1/4f767340574433927a26dc747253dad643d5d13ec7b66b764dcbf719b32302b9/", | |
"rel":"capability" | |
} | |
], | |
"metadata":{ | |
}, | |
"name":"Nagios" | |
} | |
] | |
}</programlisting> | |
</xsdxt:code> | |
</wadl:doc> | |
</representation> | |
</response> | |
<response status="401"> | |
<doc title="InvalidCredentials">The X-Auth-Token the user supplied is bad.</doc> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<doc title="Forbidden">The user does not have permission to perform the resource; for example, the user only has an observer role and attempted to perform something only available to a user with an admin role. Note, some API nodes also use this status code for other things.</doc> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<doc title="InvalidMethod">The method used is unavailable for the endpoint.</doc> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<doc title="RateLimitError">The user has surpassed their rate limit.</doc> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<doc title="InternalError">An error internal to the application has occurred, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<doc title="ServiceUnavailable">The requested service is unavailable, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="InvalidJsonError">The request is refused because the body was invalid JSON".</doc> | |
<representation mediaType="application/xml" element="identity:invalidJson"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="ValidationError">The request body had valid JSON but with unexpected properties or values in it. Please note that there can be many combinations that cause this error. We will try to list the most common mistakes users are likely to make in a particular request. ".</doc> | |
<representation mediaType="application/xml" element="identity:validationError"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="415"> | |
<doc title="UnsupportedMediaType">The request is refused because the content type of the request is not "application/json".</doc> | |
<representation mediaType="application/xml" element="identity:badMediaType"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="InvalidJsonError">A syntax or parameter error. The create webhook request body had invalid JSON.</doc> | |
<representation mediaType="application/xml" element="identity:badRequestInvalidJson"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="ValidationError">A syntax or parameter error. The create webhook request body had bad.</doc> | |
<representation mediaType="application/xml" element="identity:badRequestInvalidJson"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<doc title="NoSuchPolicyError">The requested scaling policy was not found in the specified scaling group.</doc> | |
<representation mediaType="application/xml" element="identity:noSuchPolicy"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<doc title="NoSuchScalingGroupError">The specified scaling group was not found.</doc> | |
<representation mediaType="application/xml" element="identity:noSuchGroup"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="422"> | |
<doc title="WebhookOverLimitsError">The user has reached their quota for webhooks, currently 25.</doc> | |
<representation mediaType="application/xml" element="identity:overWebhookLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
</resource> | |
<resource id="webhookid" | |
path="v1.0/{tenantId}/groups/{groupId}/policies/{policyId}/webhooks/{webhookId}"> | |
<param name="tenantId" | |
type="xsd:string" | |
required="true" | |
style="template"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A subscriber to the auto | |
scaling service.</para> | |
</wadl:doc> | |
</param> | |
<param name="X-Auth-Token" | |
style="header" | |
type="xsd:string" | |
required="true"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A valid authentication | |
token.</para> | |
</wadl:doc> | |
</param> | |
<param name="groupId" | |
type="osapi:UUID" | |
required="true" | |
style="template"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A scaling group.</para> | |
</wadl:doc> | |
</param> | |
<param name="policyId" | |
type="osapi:UUID" | |
required="true" | |
style="template"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A scaling | |
policy.</para> | |
</wadl:doc> | |
</param> | |
<param name="webhookId" | |
type="osapi:UUID" | |
required="true" | |
style="template"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A | |
webhook.</para> | |
</wadl:doc> | |
</param> | |
<method name="GET" | |
rax:id="getWebhook" | |
rax:roles="admin autoscale:admin autoscale:service-admin"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" | |
xml:lang="EN" | |
title="Show webhook details"> | |
<para role="shortdesc">Shows webhook details for a | |
specified scaling policy.</para> | |
<para>The details appear in the response body in JSON | |
format.</para> | |
</wadl:doc> | |
<response status="200"> | |
<doc title="OK">The request succeeded and the response | |
contains details about the specified webhook.</doc> | |
<representation mediaType="application/json"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<!-- <xsdxt:code | |
href="../docbkx/samples/resGetWebhook-json-http.txt"/>--> | |
<xsdxt:code> | |
<programlisting language="javascript"> | |
{ | |
"webhook":{ | |
"id":"23037efb-53a9-4ae5-bc33-e89a56b501b6", | |
"links":[ | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/605e13f6-1452-4588-b5da-ac6bb468c5bf/policies/eb0fe1bf-3428-4f34-afd9-a5ac36f60511/webhooks/23037efb-53a9-4ae5-bc33-e89a56b501b6/", | |
"rel":"self" | |
}, | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/execute/1/4f767340574433927a26dc747253dad643d5d13ec7b66b764dcbf719b32302b9/", | |
"rel":"capability" | |
} | |
], | |
"metadata":{ | |
}, | |
"name":"Nagios" | |
} | |
}</programlisting> | |
</xsdxt:code> | |
</wadl:doc> | |
</representation> | |
</response> | |
<response status="401"> | |
<doc title="InvalidCredentials">The X-Auth-Token the user supplied is bad.</doc> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<doc title="Forbidden">The user does not have permission to perform the resource; for example, the user only has an observer role and attempted to perform something only available to a user with an admin role. Note, some API nodes also use this status code for other things.</doc> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<doc title="InvalidMethod">The method used is unavailable for the endpoint.</doc> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<doc title="RateLimitError">The user has surpassed their rate limit.</doc> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<doc title="InternalError">An error internal to the application has occurred, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<doc title="ServiceUnavailable">The requested service is unavailable, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<doc title="NoSuchWebhookError">The specified webhook was not found.</doc> | |
<representation mediaType="application/xml" element="identity:noSuchWebhook"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<doc title="NoSuchPolicyError">The requested scaling policy was not found in the specified scaling group.</doc> | |
<representation mediaType="application/xml" element="identity:noSuchPolicy"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<doc title="NoSuchScalingGroupError">The specified scaling group was not found.</doc> | |
<representation mediaType="application/xml" element="identity:noSuchGroup"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
<method name="PUT" | |
rax:id="putWebhook" | |
rax:roles="admin autoscale:admin autoscale:service-admin"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" | |
xml:lang="EN" | |
title="Update webhook"> | |
<para role="shortdesc">Updates a webhook for a specified | |
tenant and scaling policy.</para> | |
<para>If the | |
specified webhook is not recognized, the change is | |
ignored. If you submit a URL, the URL is ignored but | |
that does not invalidate the request. If the change is | |
successful, no response body is returned.</para> | |
<note> | |
<para>All Rackspace Auto Scale update (<methodname>PUT</methodname>) operations completely replace the configuration being updated. Empty values (for example, | |
<varname>{ }</varname>)in the update | |
are accepted and overwrite previously specified parameters. New parameters can be specified. All create (<methodname>POST</methodname>) webhook parameters, even optional ones, | |
are required for the update webhook operation, including the <parameter>metadata</parameter> parameter. </para> | |
</note> | |
</wadl:doc> | |
<request> | |
<param style="plain" | |
name="name" | |
type="string" | |
required="true" | |
path="$.[*].name"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>A name for the webhook for | |
logging purposes.</para> | |
</wadl:doc> | |
</param> | |
<param style="plain" | |
name="metadata" | |
required="false" | |
type="object" | |
path="$.[*].metadata"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<para>User-provided key-value | |
metadata. Both keys and values should be | |
strings not exceeding 256 characters in | |
length.</para> | |
</wadl:doc> | |
</param> | |
<representation mediaType="application/json"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" xml:lang="EN"> | |
<xsdxt:code> | |
<programlisting language="javascript">{ | |
"name": "alice", | |
"metadata": { | |
"notes": "this is for Alice" | |
} | |
}</programlisting> | |
</xsdxt:code> | |
</wadl:doc> | |
<param style="plain" | |
name="name" | |
type="object" | |
required="true" | |
path="$.[*].name"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">This parameter specifies a name for the | |
webhook for logging purposes.</wadl:doc> | |
</param> | |
<param style="plain" | |
name="metadata" | |
required="true" | |
type="object" | |
path="$.[*].metadata"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook">This parameter specifies user-provided | |
key-value metadata. Both keys and values | |
should be strings not exceeding 256 characters | |
in length. An empty value, <code>{ }</code> is acceptable.</wadl:doc> | |
</param> | |
</representation> | |
</request> | |
<response status="204"> | |
<doc title="Success But No Content">The update webhook request succeeded.</doc> | |
</response> | |
<response status="401"> | |
<doc title="InvalidCredentials">The X-Auth-Token the user supplied is bad.</doc> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<doc title="Forbidden">The user does not have permission to perform the resource; for example, the user only has an observer role and attempted to perform something only available to a user with an admin role. Note, some API nodes also use this status code for other things.</doc> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<doc title="InvalidMethod">The method used is unavailable for the endpoint.</doc> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<doc title="RateLimitError">The user has surpassed their rate limit.</doc> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<doc title="InternalError">An error internal to the application has occurred, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<doc title="ServiceUnavailable">The requested service is unavailable, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="InvalidJsonError">The request is refused because the body was invalid JSON".</doc> | |
<representation mediaType="application/xml" element="identity:invalidJson"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="ValidationError">The request body had valid JSON but with unexpected properties or values in it. Please note that there can be many combinations that cause this error. We will try to list the most common mistakes users are likely to make in a particular request. ".</doc> | |
<representation mediaType="application/xml" element="identity:validationError"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="415"> | |
<doc title="UnsupportedMediaType">The request is refused because the content type of the request is not "application/json".</doc> | |
<representation mediaType="application/xml" element="identity:badMediaType"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="InvalidJsonError">A syntax or parameter error. The create webhook request body had invalid JSON.</doc> | |
<representation mediaType="application/xml" element="identity:badRequestInvalidJson"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<doc title="ValidationError">A syntax or parameter error. The create webhook request body had bad.</doc> | |
<representation mediaType="application/xml" element="identity:badRequestInvalidJson"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<doc title="NoSuchWebhookError">The specified webhook was not found.</doc> | |
<representation mediaType="application/xml" element="identity:noSuchWebhook"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<doc title="NoSuchPolicyError">The requested scaling policy was not found in the specified scaling group.</doc> | |
<representation mediaType="application/xml" element="identity:noSuchPolicy"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<doc title="NoSuchScalingGroupError">The specified scaling group was not found.</doc> | |
<representation mediaType="application/xml" element="identity:noSuchGroup"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="422"> | |
<doc title="WebhookOverLimitsError">The user has reached their quota for webhooks, currently 25.</doc> | |
<representation mediaType="application/xml" element="identity:overWebhookLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
<method name="DELETE" | |
rax:id="deleteWebhook" | |
rax:roles="admin autoscale:admin autoscale:service-admin"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" | |
xml:lang="EN" | |
title="Delete webhook"> | |
<para role="shortdesc">Deletes a webhook for a specified | |
scaling policy.</para> | |
<para>If deletion succeeds, no response body is | |
returned.</para> | |
</wadl:doc> | |
<response status="204"> | |
<doc title="Success But No Content">The delete webhook request succeeded.</doc> | |
</response> | |
<response status="401"> | |
<doc title="InvalidCredentials">The X-Auth-Token the user supplied is bad.</doc> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<doc title="Forbidden">The user does not have permission to perform the resource; for example, the user only has an observer role and attempted to perform something only available to a user with an admin role. Note, some API nodes also use this status code for other things.</doc> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<doc title="InvalidMethod">The method used is unavailable for the endpoint.</doc> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<doc title="RateLimitError">The user has surpassed their rate limit.</doc> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<doc title="InternalError">An error internal to the application has occurred, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<doc title="ServiceUnavailable">The requested service is unavailable, please file a bug report.</doc> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<doc title="NoSuchWebhookError">The specified webhook was not found.</doc> | |
<representation mediaType="application/xml" element="identity:noSuchWebhook"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<doc title="NoSuchPolicyError">The requested scaling policy was not found in the specified scaling group.</doc> | |
<representation mediaType="application/xml" element="identity:noSuchPolicy"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<doc title="NoSuchScalingGroupError">The specified scaling group was not found.</doc> | |
<representation mediaType="application/xml" element="identity:noSuchGroup"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
</resource> | |
<resource id="capability_hash" | |
path="v1.0/execute/{capability_version}/{capability_hash}"> | |
<param name="capability_version" | |
required="true" | |
style="template" | |
type="xsd:string"/> | |
<param name="capability_hash" | |
required="true" | |
style="template" | |
type="xsd:string"/> | |
<method name="POST" | |
rax:id="anonymousExecute" | |
rax:roles="admin autoscale:admin autoscale:service-admin"> | |
<wadl:doc xmlns="http://docbook.org/ns/docbook" | |
xml:lang="EN" | |
title="Execute anonymous webhook"> | |
<para role="shortdesc">Runs an anonymous webhook.</para> | |
</wadl:doc> | |
<response status="202"> | |
<doc title="Accepted">The execute webhook request was accepted.</doc> | |
</response> | |
</method> | |
</resource> | |
</resources> | |
<!-- ======================================================================================= --> | |
<!-- Methods --> | |
<!-- ======================================================================================= --> | |
<method xmlns:identity="http://docs.openstack.org/identity/api/v2.0" | |
xmlns:db="http://docbook.org/ns/docbook" | |
xmlns:csapi="http://docs.openstack.org/compute/api/v2" | |
xmlns:raxapi="http://docs.rackspace.com/volume/api/v1" | |
xmlns:osapi="http://docs.openstack.org/compute/api/v1.1" | |
xmlns:xlink="http://www.w3.org/1999/xlink" | |
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |
xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0" | |
xmlns="http://wadl.dev.java.net/2009/02" | |
id="createGroup" | |
name="POST"> | |
<request> | |
<param style="plain" | |
name="launchConfiguration" | |
required="true" | |
type="object" | |
path="$.launchConfiguration"> | |
</param> | |
<param style="plain" | |
name="loadBalancers" | |
required="false" | |
type="array" | |
path="$.launchConfiguration.args.loadBalancers"> | |
</param> | |
<param style="plain" | |
name="port" | |
required="true" | |
type="integer" | |
path="$.launchConfiguration.args.loadBalancers.[*].port"> | |
</param> | |
<param style="plain" | |
name="loadBalancerId" | |
required="true" | |
type="integer" | |
path="$.launchConfiguration.args.loadBalancers.[*].loadBalancerId"> | |
</param> | |
<param style="plain" | |
name="server" | |
required="true" | |
type="object" | |
path="$.launchConfiguration.args.server"> | |
</param> | |
<param style="plain" | |
name="flavorRef" | |
required="true" | |
type="string" | |
path="$.launchConfiguration.args.server.flavorRef"> | |
</param> | |
<param style="plain" | |
name="imageRef" | |
required="true" | |
type="string" | |
path="$.launchConfiguration.args.server.imageRef"> | |
</param> | |
<param style="plain" | |
name="personality" | |
required="false" | |
type="array" | |
path="$.launchConfiguration.args.server.personality"> | |
</param> | |
<param style="plain" | |
name="path" | |
required="true" | |
type="string" | |
path="$.launchConfiguration.args.server.personality.[*].path"> | |
</param> | |
<param style="plain" | |
name="contents" | |
required="true" | |
type="string" | |
path="$.launchConfiguration.args.server.personality.[*].contents"> | |
</param> | |
<param style="plain" | |
name="args" | |
required="true" | |
type="object" | |
path="$.launchConfiguration.args"> | |
</param> | |
<param style="plain" | |
name="type" | |
required="true" | |
type="string" | |
path="$.launchConfiguration.type"> | |
</param> | |
<param style="plain" | |
name="groupConfiguration" | |
required="true" | |
type="object" | |
path="$.groupConfiguration"> | |
</param> | |
<param style="plain" | |
name="maxEntities" | |
required="false" | |
type="object" | |
path="$.groupConfiguration.maxEntities"> | |
</param> | |
<param style="plain" | |
name="name" | |
required="true" | |
type="string" | |
path="$.groupConfiguration.name"> | |
</param> | |
<param style="plain" | |
name="cooldown" | |
required="true" | |
type="integer" | |
path="$.groupConfiguration.cooldown"> | |
</param> | |
<param style="plain" | |
name="minEntities" | |
required="true" | |
type="integer" | |
path="$.groupConfiguration.minEntities"> | |
</param> | |
<param style="plain" | |
name="metadata" | |
required="false" | |
type="object" | |
path="$.groupConfiguration.metadata"> | |
</param> | |
<param style="plain" | |
name="scalingPolicies" | |
required="true" | |
type="array" | |
path="$.scalingPolicies"> | |
</param> | |
<param style="plain" | |
name="array" | |
required="true" | |
type="array" | |
path="$.scalingPolicies.[*]"> | |
</param> | |
<param style="plain" | |
name="name" | |
required="true" | |
type="string" | |
path="$.scalingPolicies.[*].name"> | |
</param> | |
<param style="plain" | |
name="args" | |
required="false" | |
type="object" | |
path="$.scalingPolicies.[*].args"> | |
</param> | |
<param style="plain" | |
name="cron" | |
required="false" | |
type="string" | |
path="$.scalingPolicies.[*].args.cron"> | |
</param> | |
<param style="plain" | |
name="at" | |
required="false" | |
type="string" | |
path="$.scalingPolicies.[*].args.at"> | |
</param> | |
<param style="plain" | |
name="changePercent" | |
required="false" | |
type="number" | |
path="$.scalingPolicies.[*].changePercent"> | |
</param> | |
<param style="plain" | |
name="cooldown" | |
required="true" | |
type="number" | |
path="$.scalingPolicies.[*].cooldown"> | |
</param> | |
<param style="plain" | |
name="type" | |
required="true" | |
type="enum" | |
path="$.scalingPolicies.[*].type"> | |
</param> | |
<param style="plain" | |
name="change" | |
required="false" | |
type="integer" | |
path="$.scalingPolicies.[*].change"> | |
</param> | |
<param style="plain" | |
name="desiredCapacity" | |
required="false" | |
type="integer" | |
path="$.scalingPolicies.[*].desiredCapacity"> | |
</param> | |
<representation mediaType="application/json"> | |
<param style="plain" | |
name="launchConfiguration" | |
required="true" | |
type="object" | |
path="$.launchConfiguration"> | |
</param> | |
<param style="plain" | |
name="loadBalancers" | |
required="false" | |
type="array" | |
path="$.launchConfiguration.args.loadBalancers"> | |
</param> | |
<param style="plain" | |
name="port" | |
required="true" | |
type="integer" | |
path="$.launchConfiguration.args.loadBalancers.[*].port"> | |
</param> | |
<param style="plain" | |
name="loadBalancerId" | |
required="true" | |
type="integer" | |
path="$.launchConfiguration.args.loadBalancers.[*].loadBalancerId"> | |
</param> | |
<param style="plain" | |
name="server" | |
required="true" | |
type="object" | |
path="$.launchConfiguration.args.server"> | |
</param> | |
<param style="plain" | |
name="flavorRef" | |
required="true" | |
type="string" | |
path="$.launchConfiguration.args.server.flavorRef"> | |
</param> | |
<param style="plain" | |
name="imageRef" | |
required="true" | |
type="string" | |
path="$.launchConfiguration.args.server.imageRef"> | |
</param> | |
<param style="plain" | |
name="personality" | |
required="false" | |
type="array" | |
path="$.launchConfiguration.args.server.personality"> | |
</param> | |
<param style="plain" | |
name="path" | |
required="true" | |
type="string" | |
path="$.launchConfiguration.args.server.personality.[*].path"> | |
</param> | |
<param style="plain" | |
name="contents" | |
required="true" | |
type="string" | |
path="$.launchConfiguration.args.server.personality.[*].contents"> | |
</param> | |
<param style="plain" | |
name="args" | |
required="true" | |
type="object" | |
path="$.launchConfiguration.args"> | |
</param> | |
<param style="plain" | |
name="type" | |
required="true" | |
type="string" | |
path="$.launchConfiguration.type"> | |
</param> | |
<param style="plain" | |
name="groupConfiguration" | |
required="true" | |
type="object" | |
path="$.groupConfiguration"> | |
</param> | |
<param style="plain" | |
name="maxEntities" | |
required="false" | |
type="object" | |
path="$.groupConfiguration.maxEntities"> | |
</param> | |
<param style="plain" | |
name="name" | |
required="true" | |
type="string" | |
path="$.groupConfiguration.name"> | |
</param> | |
<param style="plain" | |
name="cooldown" | |
required="true" | |
type="integer" | |
path="$.groupConfiguration.cooldown"> | |
</param> | |
<param style="plain" | |
name="minEntities" | |
required="true" | |
type="integer" | |
path="$.groupConfiguration.minEntities"> | |
</param> | |
<param style="plain" | |
name="metadata" | |
required="false" | |
type="object" | |
path="$.groupConfiguration.metadata"> | |
</param> | |
<param style="plain" | |
name="scalingPolicies" | |
required="true" | |
type="array" | |
path="$.scalingPolicies"> | |
</param> | |
<param style="plain" | |
name="array" | |
required="true" | |
type="array" | |
path="$.scalingPolicies.[*]"> | |
</param> | |
<param style="plain" | |
name="name" | |
required="true" | |
type="string" | |
path="$.scalingPolicies.[*].name"> | |
</param> | |
<param style="plain" | |
name="args" | |
required="false" | |
type="object" | |
path="$.scalingPolicies.[*].args"> | |
</param> | |
<param style="plain" | |
name="cron" | |
required="false" | |
type="string" | |
path="$.scalingPolicies.[*].args.cron"> | |
</param> | |
<param style="plain" | |
name="at" | |
required="false" | |
type="string" | |
path="$.scalingPolicies.[*].args.at"> | |
</param> | |
<param style="plain" | |
name="changePercent" | |
required="false" | |
type="number" | |
path="$.scalingPolicies.[*].changePercent"> | |
</param> | |
<param style="plain" | |
name="cooldown" | |
required="true" | |
type="number" | |
path="$.scalingPolicies.[*].cooldown"> | |
</param> | |
<param style="plain" | |
name="type" | |
required="true" | |
type="enum" | |
path="$.scalingPolicies.[*].type"> | |
</param> | |
<param style="plain" | |
name="change" | |
required="false" | |
type="integer" | |
path="$.scalingPolicies.[*].change"> | |
</param> | |
<param style="plain" | |
name="desiredCapacity" | |
required="false" | |
type="integer" | |
path="$.scalingPolicies.[*].desiredCapacity"> | |
</param> | |
</representation> | |
</request> | |
<response status="201"> | |
<param name="location" | |
style="header" | |
required="true" | |
type="xsd:anyURI"> | |
</param> | |
<representation mediaType="application/json"> | |
</representation> | |
</response> | |
<response status="401"> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" element="identity:invalidJson"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" element="identity:validationError"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="415"> | |
<representation mediaType="application/xml" element="identity:badMediaType"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" element="identity:badMinEntities"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" element="identity:badLaunchConfigImageRef"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" element="identity:badLaunchConfigFlavorRef"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" | |
element="identity:badLaunchConfigPersonalityEncoding"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" | |
element="identity:badLaunchConfigPersonalityFiles"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" | |
element="identity:badLaunchConfigPersonalityFilesContent"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" element="identity:badLaunchConfigLb"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="422"> | |
<representation mediaType="application/xml" element="identity:overGroupLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
<method xmlns:identity="http://docs.openstack.org/identity/api/v2.0" | |
xmlns:db="http://docbook.org/ns/docbook" | |
xmlns:csapi="http://docs.openstack.org/compute/api/v2" | |
xmlns:raxapi="http://docs.rackspace.com/volume/api/v1" | |
xmlns:osapi="http://docs.openstack.org/compute/api/v1.1" | |
xmlns:xlink="http://www.w3.org/1999/xlink" | |
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |
xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0" | |
xmlns="http://wadl.dev.java.net/2009/02" | |
id="listGroups" | |
name="GET" | |
rax:roles="observer autoscale:observer"> | |
<response status="200"> | |
<representation mediaType="application/json"> | |
</representation> | |
</response> | |
<response status="401"> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" element="identity:badQuery"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
<method xmlns:identity="http://docs.openstack.org/identity/api/v2.0" | |
xmlns:db="http://docbook.org/ns/docbook" | |
xmlns:csapi="http://docs.openstack.org/compute/api/v2" | |
xmlns:raxapi="http://docs.rackspace.com/volume/api/v1" | |
xmlns:osapi="http://docs.openstack.org/compute/api/v1.1" | |
xmlns:xlink="http://www.w3.org/1999/xlink" | |
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |
xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0" | |
xmlns="http://wadl.dev.java.net/2009/02" | |
id="showGroupManifest" | |
name="GET" | |
rax:roles="observer autoscale:observer"> | |
<response status="200"> | |
<representation mediaType="application/json"> | |
</representation> | |
</response> | |
<response status="401"> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" element="identity:badLimitArg"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<representation mediaType="application/xml" element="identity:noSuchGroup"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
<method xmlns:identity="http://docs.openstack.org/identity/api/v2.0" | |
xmlns:db="http://docbook.org/ns/docbook" | |
xmlns:csapi="http://docs.openstack.org/compute/api/v2" | |
xmlns:raxapi="http://docs.rackspace.com/volume/api/v1" | |
xmlns:osapi="http://docs.openstack.org/compute/api/v1.1" | |
xmlns:xlink="http://www.w3.org/1999/xlink" | |
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |
xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0" | |
xmlns="http://wadl.dev.java.net/2009/02" | |
id="showGroupManifestWebhook" | |
name="GET" | |
rax:roles="observer autoscale:observer"> | |
<request> | |
<param name="webhooks" | |
style="query" | |
required="true" | |
default="true" | |
type="xsd:boolean"> | |
</param> | |
</request> | |
<response status="200"> | |
<representation mediaType="application/json"> | |
</representation> | |
</response> | |
<response status="401"> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" element="identity:badLimitArg"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<representation mediaType="application/xml" element="identity:noSuchGroup"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
<method xmlns:identity="http://docs.openstack.org/identity/api/v2.0" | |
xmlns:db="http://docbook.org/ns/docbook" | |
xmlns:csapi="http://docs.openstack.org/compute/api/v2" | |
xmlns:raxapi="http://docs.rackspace.com/volume/api/v1" | |
xmlns:osapi="http://docs.openstack.org/compute/api/v1.1" | |
xmlns:xlink="http://www.w3.org/1999/xlink" | |
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |
xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0" | |
xmlns="http://wadl.dev.java.net/2009/02" | |
id="deleteGroup" | |
name="DELETE"> | |
<response status="204"> | |
</response> | |
<response status="401"> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" element="identity:badForceArg"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<representation mediaType="application/xml" element="identity:groupNotEmpty"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<representation mediaType="application/xml" element="identity:noSuchGroup"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
<method xmlns:identity="http://docs.openstack.org/identity/api/v2.0" | |
xmlns:db="http://docbook.org/ns/docbook" | |
xmlns:csapi="http://docs.openstack.org/compute/api/v2" | |
xmlns:raxapi="http://docs.rackspace.com/volume/api/v1" | |
xmlns:osapi="http://docs.openstack.org/compute/api/v1.1" | |
xmlns:xlink="http://www.w3.org/1999/xlink" | |
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |
xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0" | |
xmlns="http://wadl.dev.java.net/2009/02" | |
id="deleteGroupServer" | |
name="DELETE"> | |
<request> | |
<param name="serverId" | |
style="plain" | |
required="true" | |
default="false" | |
type="xsd:string"> | |
</param> | |
<param name="replace" | |
style="query" | |
required="false" | |
default="true" | |
type="xsd:boolean"> | |
</param> | |
</request> | |
<response status="202"> | |
<representation mediaType="application/json"> | |
</representation> | |
</response> | |
<response status="401"> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<representation mediaType="application/xml" element="identity:groupNotEmpty"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<representation mediaType="application/xml" element="identity:noSuchGroup"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<representation mediaType="application/xml" element="identity:noSuchGroup"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
<method xmlns:identity="http://docs.openstack.org/identity/api/v2.0" | |
xmlns:db="http://docbook.org/ns/docbook" | |
xmlns:csapi="http://docs.openstack.org/compute/api/v2" | |
xmlns:raxapi="http://docs.rackspace.com/volume/api/v1" | |
xmlns:osapi="http://docs.openstack.org/compute/api/v1.1" | |
xmlns:xlink="http://www.w3.org/1999/xlink" | |
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |
xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0" | |
xmlns="http://wadl.dev.java.net/2009/02" | |
id="getGroupState" | |
name="GET" | |
rax:roles="observer autoscale:observer"> | |
<response status="200"> | |
<representation mediaType="application/json"> | |
</representation> | |
</response> | |
<response status="401"> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<representation mediaType="application/xml" element="identity:noSuchGroup"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
<method xmlns:identity="http://docs.openstack.org/identity/api/v2.0" | |
xmlns:db="http://docbook.org/ns/docbook" | |
xmlns:csapi="http://docs.openstack.org/compute/api/v2" | |
xmlns:raxapi="http://docs.rackspace.com/volume/api/v1" | |
xmlns:osapi="http://docs.openstack.org/compute/api/v1.1" | |
xmlns:xlink="http://www.w3.org/1999/xlink" | |
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |
xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0" | |
xmlns="http://wadl.dev.java.net/2009/02" | |
id="getGroupConfig" | |
name="GET" | |
rax:roles="observer autoscale:observer"> | |
<response status="200"> | |
<representation mediaType="application/json"> | |
</representation> | |
</response> | |
<response status="401"> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<representation mediaType="application/xml" element="identity:noSuchGroup"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
<method xmlns:identity="http://docs.openstack.org/identity/api/v2.0" | |
xmlns:db="http://docbook.org/ns/docbook" | |
xmlns:csapi="http://docs.openstack.org/compute/api/v2" | |
xmlns:raxapi="http://docs.rackspace.com/volume/api/v1" | |
xmlns:osapi="http://docs.openstack.org/compute/api/v1.1" | |
xmlns:xlink="http://www.w3.org/1999/xlink" | |
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |
xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0" | |
xmlns="http://wadl.dev.java.net/2009/02" | |
id="putGroupConfig" | |
name="PUT"> | |
<request> | |
<param style="plain" | |
name="maxEntities" | |
required="true" | |
type="object" | |
path="$.maxEntities"> | |
</param> | |
<param style="plain" | |
name="cooldown" | |
required="true" | |
type="integer" | |
path="$.cooldown"> | |
</param> | |
<param style="plain" | |
name="name" | |
required="true" | |
type="string" | |
path="$.name"> | |
</param> | |
<param style="plain" | |
name="minEntities" | |
required="true" | |
type="integer" | |
path="$.minEntities"> | |
</param> | |
<param style="plain" | |
name="metadata" | |
required="true" | |
type="object" | |
path="$.metadata"> | |
</param> | |
<representation mediaType="application/json"> | |
<param style="plain" | |
name="maxEntities" | |
required="true" | |
type="object" | |
path="$.maxEntities"> | |
</param> | |
<param style="plain" | |
name="cooldown" | |
required="true" | |
type="integer" | |
path="$.cooldown"> | |
</param> | |
<param style="plain" | |
name="name" | |
required="true" | |
type="string" | |
path="$.name"> | |
</param> | |
<param style="plain" | |
name="minEntities" | |
required="true" | |
type="integer" | |
path="$.minEntities"> | |
</param> | |
<param style="plain" | |
name="metadata" | |
required="true" | |
type="object" | |
path="$.metadata"> | |
</param> | |
</representation> | |
</request> | |
<response status="204"> | |
</response> | |
<response status="401"> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" element="identity:invalidJson"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" element="identity:validationError"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="415"> | |
<representation mediaType="application/xml" element="identity:badMediaType"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" element="identity:invalidMinEntities"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<representation mediaType="application/xml" element="identity:noSuchGroup"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
<method xmlns:identity="http://docs.openstack.org/identity/api/v2.0" | |
xmlns:db="http://docbook.org/ns/docbook" | |
xmlns:csapi="http://docs.openstack.org/compute/api/v2" | |
xmlns:raxapi="http://docs.rackspace.com/volume/api/v1" | |
xmlns:osapi="http://docs.openstack.org/compute/api/v1.1" | |
xmlns:xlink="http://www.w3.org/1999/xlink" | |
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |
xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0" | |
xmlns="http://wadl.dev.java.net/2009/02" | |
id="getLaunchConfig" | |
name="GET" | |
rax:roles="observer autoscale:observer"> | |
<response status="200"> | |
<representation mediaType="application/json"> | |
</representation> | |
</response> | |
<response status="401"> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<representation mediaType="application/xml" element="identity:noSuchGroup"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
<method xmlns:identity="http://docs.openstack.org/identity/api/v2.0" | |
xmlns:db="http://docbook.org/ns/docbook" | |
xmlns:csapi="http://docs.openstack.org/compute/api/v2" | |
xmlns:raxapi="http://docs.rackspace.com/volume/api/v1" | |
xmlns:osapi="http://docs.openstack.org/compute/api/v1.1" | |
xmlns:xlink="http://www.w3.org/1999/xlink" | |
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |
xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0" | |
xmlns="http://wadl.dev.java.net/2009/02" | |
id="putLaunchConfig" | |
name="PUT"> | |
<request> | |
<param style="plain" | |
name="args" | |
required="false" | |
type="object" | |
path="$.args"> | |
</param> | |
<param style="plain" | |
name="loadBalancers" | |
required="false" | |
type="array" | |
path="$.args.loadBalancers"> | |
</param> | |
<param style="plain" | |
name="port" | |
required="true" | |
type="integer" | |
path="$.args.loadBalancers.[*].port"> | |
</param> | |
<param style="plain" | |
name="loadBalancerId" | |
required="true" | |
type="integer" | |
path="$.args.loadBalancers.[*].loadBalancerId"> | |
</param> | |
<param style="plain" | |
name="server" | |
required="true" | |
type="object" | |
path="$.args.server"> | |
</param> | |
<param style="plain" | |
name="flavorRef" | |
required="true" | |
type="string" | |
path="$.args.server.flavorRef"> | |
</param> | |
<param style="plain" | |
name="imageRef" | |
required="true" | |
type="string" | |
path="$.args.server.imageRef"> | |
</param> | |
<param style="plain" | |
name="personality" | |
required="false" | |
type="array" | |
path="$.args.server.personality"> | |
</param> | |
<param style="plain" | |
name="path" | |
required="true" | |
type="string" | |
path="$.args.server.personality.[*].path"> | |
</param> | |
<param style="plain" | |
name="contents" | |
required="true" | |
type="string" | |
path="$.args.server.personality.[*].contents"> | |
</param> | |
<representation mediaType="application/json"> | |
<param style="plain" | |
name="args" | |
required="false" | |
type="object" | |
path="$.args"> | |
</param> | |
<param style="plain" | |
name="loadBalancers" | |
required="false" | |
type="array" | |
path="$.args.loadBalancers"> | |
</param> | |
<param style="plain" | |
name="port" | |
required="true" | |
type="integer" | |
path="$.args.loadBalancers.[*].port"> | |
</param> | |
<param style="plain" | |
name="loadBalancerId" | |
required="true" | |
type="integer" | |
path="$.args.loadBalancers.[*].loadBalancerId"> | |
</param> | |
<param style="plain" | |
name="server" | |
required="true" | |
type="object" | |
path="$.args.server"> | |
</param> | |
<param style="plain" | |
name="flavorRef" | |
required="true" | |
type="string" | |
path="$.args.server.flavorRef"> | |
</param> | |
<param style="plain" | |
name="imageRef" | |
required="true" | |
type="string" | |
path="$.args.server.imageRef"> | |
</param> | |
<param style="plain" | |
name="personality" | |
required="false" | |
type="array" | |
path="$.args.server.personality"> | |
</param> | |
<param style="plain" | |
name="path" | |
required="true" | |
type="string" | |
path="$.args.server.personality.[*].path"> | |
</param> | |
<param style="plain" | |
name="contents" | |
required="true" | |
type="string" | |
path="$.args.server.personality.[*].contents"> | |
</param> | |
</representation> | |
</request> | |
<response status="204"> | |
</response> | |
<response status="401"> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" element="identity:invalidJson"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" element="identity:validationError"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="415"> | |
<representation mediaType="application/xml" element="identity:badMediaType"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" element="identity:badLaunchConfigImageRef"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" element="identity:badLaunchConfigFlavorRef"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" | |
element="identity:badLaunchConfigPersonalityEncoding"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" | |
element="identity:badLaunchConfigPersonalityFiles"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" | |
element="identity:badLaunchConfigPersonalityFilesContent"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" element="identity:badLaunchConfigLb"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<representation mediaType="application/xml" element="identity:noSuchGroup"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
<method xmlns:identity="http://docs.openstack.org/identity/api/v2.0" | |
xmlns:db="http://docbook.org/ns/docbook" | |
xmlns:csapi="http://docs.openstack.org/compute/api/v2" | |
xmlns:raxapi="http://docs.rackspace.com/volume/api/v1" | |
xmlns:osapi="http://docs.openstack.org/compute/api/v1.1" | |
xmlns:xlink="http://www.w3.org/1999/xlink" | |
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |
xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0" | |
xmlns="http://wadl.dev.java.net/2009/02" | |
id="pauseGroup" | |
name="POST"> | |
<response status="204"/> | |
<response status="401"> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" element="identity:invalidJson"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" element="identity:validationError"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="415"> | |
<representation mediaType="application/xml" element="identity:badMediaType"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
<method xmlns:identity="http://docs.openstack.org/identity/api/v2.0" | |
xmlns:db="http://docbook.org/ns/docbook" | |
xmlns:csapi="http://docs.openstack.org/compute/api/v2" | |
xmlns:raxapi="http://docs.rackspace.com/volume/api/v1" | |
xmlns:osapi="http://docs.openstack.org/compute/api/v1.1" | |
xmlns:xlink="http://www.w3.org/1999/xlink" | |
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |
xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0" | |
xmlns="http://wadl.dev.java.net/2009/02" | |
id="resumeGroup" | |
name="POST"> | |
<response status="204"/> | |
<response status="401"> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" element="identity:invalidJson"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" element="identity:validationError"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="415"> | |
<representation mediaType="application/xml" element="identity:badMediaType"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
<method xmlns:identity="http://docs.openstack.org/identity/api/v2.0" | |
xmlns:db="http://docbook.org/ns/docbook" | |
xmlns:csapi="http://docs.openstack.org/compute/api/v2" | |
xmlns:raxapi="http://docs.rackspace.com/volume/api/v1" | |
xmlns:osapi="http://docs.openstack.org/compute/api/v1.1" | |
xmlns:xlink="http://www.w3.org/1999/xlink" | |
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |
xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0" | |
xmlns="http://wadl.dev.java.net/2009/02" | |
name="GET" | |
id="getPolicies" | |
rax:roles="observer autoscale:observer"> | |
<response status="200"> | |
<representation mediaType="application/json"> | |
</representation> | |
</response> | |
<response status="401"> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" element="identity:badLimitArg"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<representation mediaType="application/xml" element="identity:noSuchGroup"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
<method xmlns:identity="http://docs.openstack.org/identity/api/v2.0" | |
xmlns:db="http://docbook.org/ns/docbook" | |
xmlns:csapi="http://docs.openstack.org/compute/api/v2" | |
xmlns:raxapi="http://docs.rackspace.com/volume/api/v1" | |
xmlns:osapi="http://docs.openstack.org/compute/api/v1.1" | |
xmlns:xlink="http://www.w3.org/1999/xlink" | |
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |
xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0" | |
xmlns="http://wadl.dev.java.net/2009/02" | |
name="POST" | |
id="createPolicies"> | |
<request> | |
<representation mediaType="application/json"> | |
<param style="plain" | |
name="array" | |
required="true" | |
type="array" | |
path="$.[*]"> | |
</param> | |
<param style="plain" | |
name="name" | |
required="true" | |
type="string" | |
path="$.[*].name"> | |
</param> | |
<param style="plain" | |
name="args" | |
required="false" | |
type="object" | |
path="$.[*].args"> | |
</param> | |
<param style="plain" | |
name="cron" | |
required="false" | |
type="string" | |
path="$.[*].args.cron"> | |
</param> | |
<param style="plain" | |
name="at" | |
required="false" | |
type="string" | |
path="$.[*].args.at"> | |
</param> | |
<param style="plain" | |
name="changePercent" | |
required="false" | |
type="number" | |
path="$.[*].changePercent"> | |
</param> | |
<param style="plain" | |
name="cooldown" | |
required="true" | |
type="number" | |
path="$.[*].cooldown"> | |
</param> | |
<param style="plain" | |
name="type" | |
required="true" | |
type="enum" | |
path="$.[*].type"> | |
</param> | |
<param style="plain" | |
name="change" | |
required="false" | |
type="integer" | |
path="$.[*].change"> | |
</param> | |
<param style="plain" | |
name="name" | |
required="true" | |
type="string" | |
path="$.[*].name"> | |
</param> | |
<param style="plain" | |
name="args" | |
required="false" | |
type="object" | |
path="$.[*].args"> | |
</param> | |
<param style="plain" | |
name="cron" | |
required="false" | |
type="string" | |
path="$.[*].args.cron"> | |
</param> | |
<param style="plain" | |
name="at" | |
required="false" | |
type="string" | |
path="$.[*].args.at"> | |
</param> | |
<param style="plain" | |
name="changePercent" | |
required="false" | |
type="number" | |
path="$.[*].changePercent"> | |
</param> | |
<param style="plain" | |
name="cooldown" | |
required="true" | |
type="number" | |
path="$.[*].cooldown"> | |
</param> | |
<param style="plain" | |
name="type" | |
required="true" | |
type="enum" | |
path="$.[*].type"> | |
</param> | |
<param style="plain" | |
name="change" | |
required="false" | |
type="integer" | |
path="$.[*].change"> | |
</param> | |
<param style="plain" | |
name="desiredCapacity" | |
required="false" | |
type="integer" | |
path="$.[*].desiredCapacity"> | |
</param> | |
</representation> | |
</request> | |
<response status="201"> | |
<representation mediaType="application/json"> | |
</representation> | |
</response> | |
<response status="401"> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" element="identity:invalidJson"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" element="identity:validationError"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="415"> | |
<representation mediaType="application/xml" element="identity:badMediaType"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" element="identity:badAtValue"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" element="identity:badCronValue"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" | |
element="identity:missingArgsForSchedulePolicy"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" | |
element="identity:missingTimeForSchedulePolicy"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" | |
element="identity:doubleTimeArgsForSchedulePolicy"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" element="identity:missingChangeParam"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" element="multipleChangeParams"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<representation mediaType="application/xml" element="identity:noSuchGroup"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="422"> | |
<representation mediaType="application/xml" element="identity:overPolicyLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
<method xmlns:identity="http://docs.openstack.org/identity/api/v2.0" | |
xmlns:db="http://docbook.org/ns/docbook" | |
xmlns:csapi="http://docs.openstack.org/compute/api/v2" | |
xmlns:raxapi="http://docs.rackspace.com/volume/api/v1" | |
xmlns:osapi="http://docs.openstack.org/compute/api/v1.1" | |
xmlns:xlink="http://www.w3.org/1999/xlink" | |
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |
xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0" | |
xmlns="http://wadl.dev.java.net/2009/02" | |
name="GET" | |
id="getPolicy" | |
rax:roles="observer autoscale:observer"> | |
<response status="200"> | |
<representation mediaType="application/json"> | |
</representation> | |
</response> | |
<response status="401"> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<representation mediaType="application/xml" element="identity:noSuchPolicy"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<representation mediaType="application/xml" element="identity:noSuchGroup"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
<method xmlns:identity="http://docs.openstack.org/identity/api/v2.0" | |
xmlns:db="http://docbook.org/ns/docbook" | |
xmlns:csapi="http://docs.openstack.org/compute/api/v2" | |
xmlns:raxapi="http://docs.rackspace.com/volume/api/v1" | |
xmlns:osapi="http://docs.openstack.org/compute/api/v1.1" | |
xmlns:xlink="http://www.w3.org/1999/xlink" | |
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |
xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0" | |
xmlns="http://wadl.dev.java.net/2009/02" | |
id="putPolicy" | |
name="PUT"> | |
<request> | |
<representation mediaType="application/json"> | |
<param style="plain" | |
name="name" | |
required="true" | |
type="string" | |
path="$.scalingPolicies.[*].name"> | |
</param> | |
<param style="plain" | |
name="args" | |
required="false" | |
type="object" | |
path="$.scalingPolicies.[*].args"> | |
</param> | |
<param style="plain" | |
name="cron" | |
required="false" | |
type="string" | |
path="$.scalingPolicies.[*].args.cron"> | |
</param> | |
<param style="plain" | |
name="at" | |
required="false" | |
type="string" | |
path="$.scalingPolicies.[*].args.at"> | |
</param> | |
<param style="plain" | |
name="changePercent" | |
required="false" | |
type="number" | |
path="$.scalingPolicies.[*].changePercent"> | |
</param> | |
<param style="plain" | |
name="cooldown" | |
required="true" | |
type="number" | |
path="$.scalingPolicies.[*].cooldown"> | |
</param> | |
<param style="plain" | |
name="type" | |
required="true" | |
type="enum" | |
path="$.scalingPolicies.[*].type"> | |
</param> | |
<param style="plain" | |
name="change" | |
required="false" | |
type="integer" | |
path="$.scalingPolicies.[*].change"> | |
</param> | |
<param style="plain" | |
name="desiredCapacity" | |
required="false" | |
type="integer" | |
path="$.scalingPolicies.[*].desiredCapacity"> | |
</param> | |
</representation> | |
</request> | |
<response status="204"> | |
</response> | |
<response status="401"> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" element="identity:invalidJson"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" element="identity:validationError"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="415"> | |
<representation mediaType="application/xml" element="identity:badMediaType"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" element="identity:badAtValue"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" element="identity:badCronValue"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" | |
element="identity:missingArgsForSchedulePolicy"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" | |
element="identity:missingTimeForSchedulePolicy"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" | |
element="identity:doubleTimeArgsForSchedulePolicy"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" element="identity:missingChangeParam"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" element="multipleChangeParams"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<representation mediaType="application/xml" element="identity:noSuchPolicy"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<representation mediaType="application/xml" element="identity:noSuchGroup"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
<method xmlns:identity="http://docs.openstack.org/identity/api/v2.0" | |
xmlns:db="http://docbook.org/ns/docbook" | |
xmlns:csapi="http://docs.openstack.org/compute/api/v2" | |
xmlns:raxapi="http://docs.rackspace.com/volume/api/v1" | |
xmlns:osapi="http://docs.openstack.org/compute/api/v1.1" | |
xmlns:xlink="http://www.w3.org/1999/xlink" | |
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |
xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0" | |
xmlns="http://wadl.dev.java.net/2009/02" | |
id="deletePolicy" | |
name="DELETE"> | |
<response status="204"> | |
</response> | |
<response status="401"> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<representation mediaType="application/xml" element="identity:noSuchPolicy"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<representation mediaType="application/xml" element="identity:noSuchGroup"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
<method xmlns:identity="http://docs.openstack.org/identity/api/v2.0" | |
xmlns:db="http://docbook.org/ns/docbook" | |
xmlns:csapi="http://docs.openstack.org/compute/api/v2" | |
xmlns:raxapi="http://docs.rackspace.com/volume/api/v1" | |
xmlns:osapi="http://docs.openstack.org/compute/api/v1.1" | |
xmlns:xlink="http://www.w3.org/1999/xlink" | |
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |
xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0" | |
xmlns="http://wadl.dev.java.net/2009/02" | |
id="executePolicy" | |
name="POST"> | |
<response status="202"> | |
</response> | |
<response status="401"> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" element="identity:invalidJson"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" element="identity:validationError"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="415"> | |
<representation mediaType="application/xml" element="identity:badMediaType"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<representation mediaType="application/xml" element="identity:cannotExecutePolicyNull"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<representation mediaType="application/xml" element="identity:cannotExecutePolicyGroup"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<representation mediaType="application/xml" element="identity:noSuchPolicy"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<representation mediaType="application/xml" element="identity:noSuchGroup"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
<method xmlns:identity="http://docs.openstack.org/identity/api/v2.0" | |
xmlns:db="http://docbook.org/ns/docbook" | |
xmlns:csapi="http://docs.openstack.org/compute/api/v2" | |
xmlns:raxapi="http://docs.rackspace.com/volume/api/v1" | |
xmlns:osapi="http://docs.openstack.org/compute/api/v1.1" | |
xmlns:xlink="http://www.w3.org/1999/xlink" | |
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |
xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0" | |
xmlns="http://wadl.dev.java.net/2009/02" | |
name="GET" | |
id="getWebhooks"> | |
<response status="200"> | |
<representation mediaType="application/json"> | |
</representation> | |
</response> | |
<response status="401"> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" element="identity:badQueryArg"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<representation mediaType="application/xml" element="identity:noSuchPolicy"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<representation mediaType="application/xml" element="identity:noSuchGroup"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
<method xmlns:identity="http://docs.openstack.org/identity/api/v2.0" | |
xmlns:db="http://docbook.org/ns/docbook" | |
xmlns:csapi="http://docs.openstack.org/compute/api/v2" | |
xmlns:raxapi="http://docs.rackspace.com/volume/api/v1" | |
xmlns:osapi="http://docs.openstack.org/compute/api/v1.1" | |
xmlns:xlink="http://www.w3.org/1999/xlink" | |
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |
xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0" | |
xmlns="http://wadl.dev.java.net/2009/02" | |
id="createWebhook" | |
name="POST"> | |
<request> | |
<param style="plain" | |
name="name" | |
required="true" | |
type="string" | |
path="$.[*].name"> | |
</param> | |
<param style="plain" | |
name="metadata" | |
required="false" | |
type="object" | |
path="$.[*].metadata"> | |
</param> | |
<representation mediaType="application/json"> | |
<param style="plain" | |
name="name" | |
required="true" | |
type="string" | |
path="$.[*].name"> | |
</param> | |
<param style="plain" | |
name="metadata" | |
required="false" | |
type="object" | |
path="$.[*].metadata"> | |
</param> | |
</representation> | |
</request> | |
<response status="201"> | |
<representation mediaType="application/json"> | |
</representation> | |
</response> | |
<response status="401"> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" element="identity:invalidJson"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" element="identity:validationError"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="415"> | |
<representation mediaType="application/xml" element="identity:badMediaType"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" element="identity:badRequestInvalidJson"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" element="identity:badRequestInvalidJson"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<representation mediaType="application/xml" element="identity:noSuchPolicy"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<representation mediaType="application/xml" element="identity:noSuchGroup"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="422"> | |
<representation mediaType="application/xml" element="identity:overWebhookLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
<method xmlns:identity="http://docs.openstack.org/identity/api/v2.0" | |
xmlns:db="http://docbook.org/ns/docbook" | |
xmlns:csapi="http://docs.openstack.org/compute/api/v2" | |
xmlns:raxapi="http://docs.rackspace.com/volume/api/v1" | |
xmlns:osapi="http://docs.openstack.org/compute/api/v1.1" | |
xmlns:xlink="http://www.w3.org/1999/xlink" | |
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |
xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0" | |
xmlns="http://wadl.dev.java.net/2009/02" | |
id="getWebhook" | |
name="GET"> | |
<response status="200"> | |
<representation mediaType="application/json"> | |
</representation> | |
</response> | |
<response status="401"> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<representation mediaType="application/xml" element="identity:noSuchWebhook"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<representation mediaType="application/xml" element="identity:noSuchPolicy"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<representation mediaType="application/xml" element="identity:noSuchGroup"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
<method xmlns:identity="http://docs.openstack.org/identity/api/v2.0" | |
xmlns:db="http://docbook.org/ns/docbook" | |
xmlns:csapi="http://docs.openstack.org/compute/api/v2" | |
xmlns:raxapi="http://docs.rackspace.com/volume/api/v1" | |
xmlns:osapi="http://docs.openstack.org/compute/api/v1.1" | |
xmlns:xlink="http://www.w3.org/1999/xlink" | |
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |
xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0" | |
xmlns="http://wadl.dev.java.net/2009/02" | |
id="putWebhook" | |
name="PUT"> | |
<request> | |
<param style="plain" | |
name="name" | |
type="string" | |
required="true" | |
path="$.[*].name"> | |
</param> | |
<param style="plain" | |
name="metadata" | |
required="false" | |
type="object" | |
path="$.[*].metadata"> | |
</param> | |
<representation mediaType="application/json"> | |
<param style="plain" | |
name="name" | |
type="object" | |
required="true" | |
path="$.[*].name"> | |
</param> | |
<param style="plain" | |
name="metadata" | |
required="true" | |
type="object" | |
path="$.[*].metadata"> | |
</param> | |
</representation> | |
</request> | |
<response status="204"> | |
</response> | |
<response status="401"> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" element="identity:invalidJson"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" element="identity:validationError"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="415"> | |
<representation mediaType="application/xml" element="identity:badMediaType"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" element="identity:badRequestInvalidJson"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="400"> | |
<representation mediaType="application/xml" element="identity:badRequestInvalidJson"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<representation mediaType="application/xml" element="identity:noSuchWebhook"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<representation mediaType="application/xml" element="identity:noSuchPolicy"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<representation mediaType="application/xml" element="identity:noSuchGroup"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="422"> | |
<representation mediaType="application/xml" element="identity:overWebhookLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
<method xmlns:identity="http://docs.openstack.org/identity/api/v2.0" | |
xmlns:db="http://docbook.org/ns/docbook" | |
xmlns:csapi="http://docs.openstack.org/compute/api/v2" | |
xmlns:raxapi="http://docs.rackspace.com/volume/api/v1" | |
xmlns:osapi="http://docs.openstack.org/compute/api/v1.1" | |
xmlns:xlink="http://www.w3.org/1999/xlink" | |
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |
xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0" | |
xmlns="http://wadl.dev.java.net/2009/02" | |
id="deleteWebhook" | |
name="DELETE"> | |
<response status="204"> | |
</response> | |
<response status="401"> | |
<representation mediaType="application/xml" element="identity:unauthorized"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="403"> | |
<representation mediaType="application/xml" element="identity:forbidden"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="405"> | |
<representation mediaType="application/xml" element="identity:badMethod"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="413"> | |
<representation mediaType="application/xml" element="identity:overLimit"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="500"> | |
<representation mediaType="application/xml" element="identity:internal"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="503"> | |
<representation mediaType="application/xml" element="identity:serviceUnavailable"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<representation mediaType="application/xml" element="identity:noSuchWebhook"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<representation mediaType="application/xml" element="identity:noSuchPolicy"/> | |
<representation mediaType="application/json"/> | |
</response> | |
<response status="404"> | |
<representation mediaType="application/xml" element="identity:noSuchGroup"/> | |
<representation mediaType="application/json"/> | |
</response> | |
</method> | |
<method xmlns:identity="http://docs.openstack.org/identity/api/v2.0" | |
xmlns:db="http://docbook.org/ns/docbook" | |
xmlns:csapi="http://docs.openstack.org/compute/api/v2" | |
xmlns:raxapi="http://docs.rackspace.com/volume/api/v1" | |
xmlns:osapi="http://docs.openstack.org/compute/api/v1.1" | |
xmlns:xlink="http://www.w3.org/1999/xlink" | |
xmlns:xsd="http://www.w3.org/2001/XMLSchema" | |
xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0" | |
xmlns="http://wadl.dev.java.net/2009/02" | |
id="anonymousExecute" | |
name="POST"> | |
<response status="202"/> | |
</method> | |
</wadl:application> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
swagger: 2 | |
info: | |
title: Auto Scale | |
version: unknown | |
consumes: | |
- application/json | |
produces: | |
- application/json | |
paths: | |
/v1.0/{tenantId}/groups: | |
post: | |
operationId: createGroup | |
summary: Create scaling group | |
description: Creates a scaling group. | |
produces: | |
- application/json | |
responses: | |
201: | |
description: |- | |
The scaling group has been created. | |
examples: | |
application/json: |- | |
{ | |
"group":{ | |
"groupConfiguration":{ | |
"cooldown":360, | |
"maxEntities":10, | |
"metadata":{ | |
}, | |
"minEntities":0, | |
"name":"testscalinggroup" | |
}, | |
"id":"48692442-2dbe-4311-955e-bc29f02ae311", | |
"launchConfiguration":{ | |
"args":{ | |
"loadBalancers":[ | |
{ | |
"loadBalancerId":237935, | |
"port":80 | |
} | |
], | |
"server":{ | |
"OS-DCF:diskConfig":"AUTO", | |
"flavorRef":"performance1-2", | |
"imageRef":"7cf5ffc3-7b20-46fd-98e4-fefa9908d7e8", | |
"name":"autoscale_server", | |
"networks":[ | |
{ | |
"uuid":"11111111-1111-1111-1111-111111111111" | |
}, | |
{ | |
"uuid":"00000000-0000-0000-0000-000000000000" | |
} | |
] | |
} | |
}, | |
"type":"launch_server" | |
}, | |
"links":[ | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/829409/groups/48692442-2dbe-4311-955e-bc29f02ae311/", | |
"rel":"self" | |
} | |
], | |
"scalingPolicies":[ | |
{ | |
"args":{ | |
"cron":"23 * * * *" | |
}, | |
"change":1, | |
"cooldown":0, | |
"id":"9fa63149-c93d-4116-8069-74d68f48fadc", | |
"links":[ | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/829409/groups/48692442-2dbe-4311-955e-bc29f02ae311/policies/9fa63149-c93d-4116-8069-74d68f48fadc/", | |
"rel":"self" | |
} | |
], | |
"name":"scale up by 1", | |
"type":"schedule" | |
} | |
], | |
"scalingPolicies_links":[ | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/829409/groups/48692442-2dbe-4311-955e-bc29f02ae311/policies/", | |
"rel":"policies" | |
} | |
], | |
"state":{ | |
"active":[ | |
], | |
"activeCapacity":0, | |
"desiredCapacity":0, | |
"name":"testscalinggroup", | |
"paused":false, | |
"pendingCapacity":0 | |
} | |
} | |
} | |
parameters: | |
- name: launchConfiguration | |
required: true | |
in: body | |
description: > | |
<p>What to do when a new server is created. Its | |
configuration includes information about the | |
server image, the flavor of the server image, | |
and which load balancer to connect to. The | |
<code>type</code> parameter for <code>launchConfiguration</code> | |
must be | |
set to <code>launch_server</code>.</p> | |
- name: loadBalancers | |
required: false | |
in: body | |
description: > | |
<p>Details about one or more load balancers to | |
add new servers to. All servers are added to | |
these load balancers with the IP addresses of | |
their ServiceNet network. All servers are | |
enabled and equally weighted. Any new servers | |
that are not connected to the ServiceNet | |
network are not added to any load | |
balancers.</p> | |
- name: port | |
required: true | |
in: body | |
description: > | |
<p>The port number of the service (on the new | |
servers) to use for this particular load | |
balancer. In most cases, this port number is | |
80.</p> | |
- name: loadBalancerId | |
required: true | |
in: body | |
description: > | |
<p>The ID of the load balancer to which new | |
servers are added.</p> | |
- name: server | |
required: true | |
in: body | |
description: > | |
<p>The attributes that Auto Scale uses to create | |
a server. For more information, see: <a href="/servers/api/v2/cs-devguide/content/CreateServers.html">Create | |
Servers</a> in the cloud servers | |
developer's guide. The attributes that are | |
specified for the <code>server</code> parameter | |
are applied | |
to all new servers in the scaling group. The | |
specified server name is used as the base name | |
for all created servers.</p> | |
- name: flavorRef | |
required: true | |
in: body | |
description: > | |
<p>The flavor ID for the server. A flavor is a | |
resource configuration for a server. For more | |
information on available flavors, see the | |
<p>“Server | |
Flavors”</p> | |
section.</p> | |
- name: imageRef | |
required: true | |
in: body | |
description: > | |
<p>The ID of the cloud server image, after which | |
new server images are created. </p> | |
- name: personality | |
required: false | |
in: body | |
description: > | |
<p>The file path and/or the content that you | |
want to inject into a server image. For more | |
information, see the <a href="http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Server_Personality-d1e2543.html">Server | |
Personality</a> documentation | |
for Rackspace Cloud Servers </p> | |
- name: path | |
required: true | |
in: body | |
description: > | |
<p>The path to the file that contains data that | |
is injected into the file system of the new | |
cloud server image.</p> | |
- name: contents | |
required: true | |
in: body | |
description: > | |
<p>The content items that are injected into the | |
file system of the new cloud server image. | |
</p> | |
- name: args | |
required: true | |
in: body | |
description: > | |
<p>The item to be configured. Must be | |
<code>server</code> or | |
<code>loadbalancer</code>. Most launch | |
configurations have both a server and a | |
loadbalancer.</p> | |
- name: type | |
required: true | |
in: body | |
description: > | |
<p>The type of the launch configuration. | |
Currently, this parameter must be set to | |
<code>launch_server</code>.</p> | |
- name: groupConfiguration | |
required: true | |
in: body | |
description: > | |
<p>The configuration options for the scaling | |
group that manages how many servers and load | |
balancers are in the scaling group. </p> | |
- name: maxEntities | |
required: false | |
in: body | |
description: "<p>The maximum number of entities that are\n \ | |
\ allowed in the scaling group. If unconfigured, defaults to 1000.\ | |
\ \n If this parameter is provided it must be\n \ | |
\ set to an integer between 0 and 1000. </p>\n" | |
- name: name | |
required: true | |
in: body | |
description: > | |
<p>The name of the scaling group, does not need | |
to be unique.</p> | |
- name: cooldown | |
required: true | |
in: body | |
description: > | |
<p>The period of time, in seconds, that must | |
pass before any scaling can occur after the | |
previous scaling. Must be an integer between 0 | |
and 86400 (24 hrs). </p> | |
- name: minEntities | |
required: true | |
in: body | |
description: > | |
<p>The minimum number of entities in the scaling | |
group. This number must be an integer between | |
0 and 1000. </p> | |
- name: metadata | |
required: false | |
in: body | |
description: > | |
<p>This optional parameter specifies custom | |
metadata for your group configuration. You can | |
use the metadata parameter for customer | |
automation, but it does not change any | |
functionality in Auto Scale. There currently | |
is no limitation on depth.</p> | |
- name: scalingPolicies | |
required: true | |
in: body | |
description: > | |
<p>Configuration information for your scaling | |
policies specifying how to modify the scaling | |
group and when. You can specify multiple | |
policies to manage a scaling group. </p> | |
- name: array | |
required: true | |
in: body | |
description: > | |
<p>An | |
array of scaling policies.</p> | |
- name: name | |
required: true | |
in: body | |
description: > | |
<p>A | |
name for the scaling policy. Must be unique | |
for each scaling policy.</p> | |
- name: args | |
required: false | |
in: body | |
description: > | |
<p>Configuration information for policies of | |
type <code>schedule</code>. Must be | |
either <code>at</code> or | |
<code>cron</code>, which are mutually | |
exclusive. Not required for policies of type | |
<code>webhook</code>. </p> | |
- name: cron | |
required: false | |
in: body | |
description: > | |
<p>The time when the policy is executed, as a | |
cron entry. For example, if this is parameter | |
is set to <code>1 0 * * *</code>, the | |
policy runs at one minute past midnight | |
(00:01) every day of the month, and every day | |
of the week. For more information about cron, | |
read: | |
http://en.wikipedia.org/wiki/Cron</p> | |
- name: at | |
required: false | |
in: body | |
description: > | |
<p>The time when this policy will | |
be executed. The time must be formatted | |
according to this service's custom <a href=" /cas/api/v1.0/autoscale-devguide/content/datetimeformat.html">Date | |
and Time format</a>, with seconds, | |
otherwise a 400 error may be returned. The | |
policy will be triggered within a 10-second | |
range of the time specified, so if you set the | |
<code>at</code> time to | |
<code>2013-05-19T08:07:08Z</code>, it | |
will be triggered anytime between 08:07:08 to | |
08:07:18. This property is mutually exclusive | |
with the <code>cron</code> | |
parameter.</p> | |
- name: changePercent | |
required: false | |
in: body | |
description: > | |
<p>The percent change to make in the number of | |
servers in the scaling group. If this number | |
is positive, the number of servers | |
increases by the given percentage. If this | |
parameter is set to a negative number, the | |
number of servers decreases by the given | |
percentage. The absolute change in the number | |
of servers is rounded to the nearest | |
integer. This means that if -X% of the current | |
number of servers translates to -0.5 or -0.25 | |
or -0.75 servers, the actual number of servers | |
that are shut down is 1. If X% of the | |
current number of servers translates to 1.2 or | |
1.5 or 1.7 servers, the actual number of | |
servers that are launched is 2</p> | |
- name: cooldown | |
required: true | |
in: body | |
description: > | |
<p>The cooldown period, in seconds, before this | |
particular scaling policy can be executed | |
again. The cooldown period does not affect the | |
global scaling group cooldown. The minimum | |
value for this parameter is 0 seconds, the | |
maximum value is 86400 seconds (24 hrs). | |
</p> | |
- name: type | |
required: true | |
in: body | |
description: > | |
<p>The type of policy that runs for | |
the current release. This value can be either | |
"webhook" for webhook-based policies or | |
"schedule" for schedule-based | |
policies.</p> | |
- name: change | |
required: false | |
in: body | |
description: > | |
<p>The change to make in the number of servers | |
in the scaling group. This parameter must be | |
an integer. If the value is a positive | |
integer, the number of servers increases. | |
If the value is a negative integer, the number | |
of servers decreases.</p> | |
- name: desiredCapacity | |
required: false | |
in: body | |
description: > | |
<p>The desired server capacity of the scaling | |
the group, i.e. how many servers there should | |
be in the scaling group. This value must be an | |
absolute number. For example, if this | |
parameter is set to 10 and the executing | |
policy with this will bring the number of | |
servers to 10. The minimum allowed value is 0. | |
</p> | |
get: | |
operationId: listGroups | |
summary: List scaling groups | |
description: "Lists the scaling groups that are\n available for\ | |
\ a specified tenant." | |
produces: | |
- application/json | |
responses: | |
200: | |
description: |- | |
The request succeeded and the response contains the list of scaling groups. | |
examples: | |
application/json: |- | |
{ | |
"groups":[ | |
{ | |
"id":"e41380ae-173c-4b40-848a-25c16d7fa83d", | |
"links":[ | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/e41380ae-173c-4b40-848a-25c16d7fa83d/", | |
"rel":"self" | |
} | |
], | |
"state":{ | |
"active":[ | |
], | |
"activeCapacity":0, | |
"desiredCapacity":0, | |
"paused":false, | |
"pendingCapacity":0, | |
"name":"testscalinggroup198547" | |
} | |
}, | |
{ | |
"id":"f82bb000-f451-40c8-9dc3-6919097d2f7e", | |
"state":{ | |
"active":[ | |
], | |
"activeCapacity":0, | |
"desiredCapacity":0, | |
"paused":false, | |
"pendingCapacity":0, | |
"name":"testscalinggroup198547" | |
}, | |
"links":[ | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/f82bb000-f451-40c8-9dc3-6919097d2f7e/", | |
"rel":"self" | |
} | |
] | |
} | |
], | |
"groups_links":[ | |
] | |
} | |
/v1.0/{tenantId}/groups/{groupId}: | |
get: | |
operationId: showGroupManifestWebhook | |
summary: Show scaling group details including webhooks | |
description: "Shows configuration details for a\n specified\ | |
\ scaling group and its associated webhooks." | |
produces: | |
- application/json | |
responses: | |
200: | |
description: |- | |
The request succeeded and the response contains details about the specified scaling group, including associated webhooks. | |
examples: | |
application/json: "{\n \"group\": {\n \"groupConfiguration\": {\n\ | |
\ \"cooldown\": 60,\n \"maxEntities\": 0,\n \"metadata\"\ | |
: {},\n \"minEntities\": 0,\n \"name\": \"smallest possible\ | |
\ launch config group\"\n },\n \"state\": {\n \"active\"\ | |
: [],\n \"activeCapacity\": 0,\n \"desiredCapacity\": 0,\n\ | |
\ \"paused\": false,\n \"pendingCapacity\": 0\n },\n \ | |
\ \"id\": \"605e13f6-1452-4588-b5da-ac6bb468c5bf\",\n \"launchConfiguration\"\ | |
: {\n \"args\": {\n \"server\": {}\n },\n \"type\"\ | |
: \"launch_server\"\n },\n \"links\": [\n {\n \"href\"\ | |
: \"https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/605e13f6-1452-4588-b5da-ac6bb468c5bf/\"\ | |
,\n \"rel\": \"self\"\n }\n ],\n \"scalingPolicies\"\ | |
: [\n {\n \"changePercent\": -5.5,\n \"cooldown\"\ | |
: 1800,\n \"id\": \"eb0fe1bf-3428-4f34-afd9-a5ac36f60511\",\n\ | |
\ \"links\": [\n {\n \"href\": \"https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/605e13f6-1452-4588-b5da-ac6bb468c5bf/policies/eb0fe1bf-3428-4f34-afd9-a5ac36f60511/\"\ | |
,\n \"rel\": \"self\"\n }\n ],\n \ | |
\ \"name\": \"scale down by 5.5 percent\",\n \"type\": \"\ | |
webhook\",\n \"webhooks\": [\n {\n \"id\"\ | |
:\"05f7d9d9-b9d0-40ac-8d3b-610197775c7f\",\n \"name\": \"\ | |
automatically generated\",\n \"metadata\": {},\n \ | |
\ \"links\": [\n {\n \"href\": \"https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/605e13f6-1452-4588-b5da-ac6bb468c5bf/policies/eb0fe1bf-3428-4f34-afd9-a5ac36f60511/webhooks/05f7d9d9-b9d0-40ac-8d3b-610197775c7f/\"\ | |
,\n \"rel\": \"self\"\n },\n \ | |
\ {\n \"href\": \"https://dfw.autoscale.api.rackspacecloud.com/v1.0/execute/1/392be67bacfd1adf54e4f9fbc2b40873b9c7c3128315647f46d94c4b5c56b4d6/\"\ | |
,\n \"rel\": \"capability\"\n }\n \ | |
\ ]\n }\n ],\n \"webhooks_links\": [\n \ | |
\ {\n \"href\": \"https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/605e13f6-1452-4588-b5da-ac6bb468c5bf/policies/eb0fe1bf-3428-4f34-afd9-a5ac36f60511/webhooks/\"\ | |
,\n \"rel\": \"webhooks\"\n }\n ]\n \ | |
\ }\n ],\n \"scalingPolicies_links\": [\n {\n \"href\"\ | |
: \"https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/605e13f6-1452-4588-b5da-ac6bb468c5bf/policies/\"\ | |
, \n \"rel\": \"policies\"\n }\n ]\n }\n}\n" | |
delete: | |
operationId: deleteGroup | |
summary: Delete scaling group | |
description: "Deletes a specified scaling\n group." | |
produces: [] | |
responses: | |
204: | |
description: |- | |
The delete scaling group request succeeded. | |
/v1.0/{tenantId}/groups/{groupId}/servers/{serverId}: | |
delete: | |
operationId: deleteGroupServer | |
summary: Delete server from scaling group | |
description: Deletes and replaces a specified server in a scaling group. | |
produces: | |
- application/json | |
responses: | |
202: | |
description: |- | |
The request succeeded. No response body is returned. | |
/v1.0/{tenantId}/groups/{groupId}/state: | |
get: | |
operationId: getGroupState | |
summary: Get scaling group state | |
description: "Gets the current state of a scaling\n group." | |
produces: | |
- application/json | |
responses: | |
200: | |
description: |- | |
The request succeeded and the response describes the state of the specified scaling group. | |
examples: | |
application/json: |- | |
{ | |
"group":{ | |
"paused":false, | |
"pendingCapacity":0, | |
"name":"testscalinggroup198547", | |
"active":[ | |
], | |
"activeCapacity":0, | |
"desiredCapacity":0 | |
} | |
} | |
/v1.0/{tenantId}/groups/{groupId}/config: | |
get: | |
operationId: getGroupConfig | |
summary: Show scaling group configuration | |
description: "Shows the configuration for a\n scaling group." | |
produces: | |
- application/json | |
responses: | |
200: | |
description: |- | |
The request succeeded and the response contains configuration details for the specified scaling group. | |
examples: | |
application/json: |- | |
{ | |
"groupConfiguration":{ | |
"cooldown":60, | |
"maxEntities":0, | |
"metadata":{ | |
}, | |
"minEntities":0, | |
"name":"smallest possible group" | |
} | |
} | |
put: | |
operationId: putGroupConfig | |
summary: Update scaling group configuration | |
description: "Updates the configuration for the\n scaling group." | |
produces: [] | |
responses: | |
204: | |
description: |- | |
The update group configuration request succeeded. | |
parameters: | |
- name: maxEntities | |
required: true | |
in: body | |
description: > | |
<p>The maximum number of entities that are | |
allowed in the scaling group. If left unconfigured, | |
defaults to 1000. | |
If this value is provided it must be set | |
to an integer between 0 and 1000. </p> | |
- name: cooldown | |
required: true | |
in: body | |
description: > | |
<p>The cooldown period, in seconds, before more | |
changes can happen. This number must be an | |
integer between 0 and 86400 (24 hrs). </p> | |
- name: name | |
required: true | |
in: body | |
description: > | |
<p>The name of the scaling group. This name does | |
not have to be unique.</p> | |
- name: minEntities | |
required: true | |
in: body | |
description: > | |
<p>The minimum number of entities in the scaling | |
group. This number must be an integer between | |
0 and 1000. </p> | |
- name: metadata | |
required: true | |
in: body | |
description: > | |
<p>This optional parameter specifies custom | |
metadata for your group configuration. You can | |
use the metadata parameter for custom | |
automation, but it does not change any | |
functionality in Auto Scale. There currently | |
is no limitation on depth.</p> | |
/v1.0/{tenantId}/groups/{groupId}/launch: | |
get: | |
operationId: getLaunchConfig | |
summary: Show launch configuration | |
description: "Shows launch configuration details\n for a specified\ | |
\ scaling group." | |
produces: | |
- application/json | |
responses: | |
200: | |
description: |- | |
The request succeeded and the response contains launch configuration details for the specified scaling group. | |
examples: | |
application/json: |- | |
{ | |
"launchConfiguration":{ | |
"type":"launch_server", | |
"args":{ | |
"server":{ | |
"flavorRef":"performance1-4", | |
"name":"webhead", | |
"imageRef":"0d589460-f177-4b0f-81c1-8ab8903ac7d8", | |
"OS-DCF:diskConfig":"AUTO", | |
"metadata":{ | |
"mykey":"myvalue" | |
}, | |
"personality":[ | |
], | |
"networks":[ | |
{ | |
"uuid":"11111111-1111-1111-1111-111111111111" | |
} | |
] | |
}, | |
"loadBalancers":[ | |
] | |
} | |
} | |
} | |
put: | |
operationId: putLaunchConfig | |
summary: Update launch configuration | |
description: "Updates an existing launch\n configuration for\ | |
\ the specified scaling group." | |
produces: [] | |
responses: | |
204: | |
description: |- | |
The update launch configuration request succeeded. | |
parameters: | |
- name: args | |
required: false | |
in: body | |
description: > | |
<p>The item to be configured. Must be | |
<code>server</code> or | |
<code>loadbalancer</code>. Most launch | |
configurations have both a server and a | |
load balancer configured.</p> | |
- name: loadBalancers | |
required: false | |
in: body | |
description: > | |
<p>Details about one or more load balancers to | |
add new servers to. All servers will be added | |
to these load balancers with the IP addresses | |
of their ServiceNet network. All servers will | |
be enabled and equally weighted. Any new | |
servers that are not connected to the | |
ServiceNet network will not be added to any | |
load balancers.</p> | |
- name: port | |
required: true | |
in: body | |
description: > | |
<p>The port number of the service (on the new | |
servers) to use for this particular load | |
balancer. In most cases, this port number is | |
80.</p> | |
- name: loadBalancerId | |
required: true | |
in: body | |
description: > | |
<p>The ID of the load balancer to which new | |
servers will be added.</p> | |
- name: server | |
required: true | |
in: body | |
description: > | |
<p>The attributes Auto Scale will use to create | |
a new server. For more information, see: | |
<a href=" /servers/api/v2/cs- devguide/content/CreateServers.html">"Create | |
Servers"</a> in the cloud servers | |
developer's guide. The attributes that are | |
specified for the server entity will apply to | |
all new servers in the scaling group. The | |
configured server name is the base for created | |
servers.</p> | |
- name: flavorRef | |
required: true | |
in: body | |
description: > | |
<p>The flavor of the server image. Specifies the | |
flavor Id for the server. A flavor is a | |
resource configuration for a server. For more | |
information on available flavors, see the | |
<p>“Server | |
Flavors”</p> | |
section.</p> | |
- name: imageRef | |
required: true | |
in: body | |
description: > | |
<p>The ID of the cloud server image, from which | |
new server images will be created. </p> | |
- name: personality | |
required: false | |
in: body | |
description: > | |
<p>The file path and/or the content that you | |
want to inject into a server image. For more | |
information, see the <a href="http://docs.rackspace.com/servers/api/v2/cs-devguide/content/Server_Personality-d1e2543.html">Server | |
Personality</a> documentation | |
for Rackspace Cloud Servers </p> | |
- name: path | |
required: true | |
in: body | |
description: > | |
<p>The path to the file that contains data that | |
will be injected into the file system of the | |
new cloud server image. </p> | |
- name: contents | |
required: true | |
in: body | |
description: > | |
<p>The content items that will be injected into | |
the file system of the new cloud server image. | |
</p> | |
/v1.0/{tenantId}/groups/{groupId}/pause: | |
post: | |
operationId: pauseGroup | |
summary: Pause group policy execution | |
description: "Pauses the execution of all scaling\n policies\ | |
\ for a specified scaling group." | |
produces: [] | |
responses: | |
204: | |
description: |- | |
204 response | |
/v1.0/{tenantId}/groups/{groupId}/resume: | |
post: | |
operationId: resumeGroup | |
summary: Resume group policy execution | |
description: "Resumes the execution of all\n scaling policies\ | |
\ for a specified scaling group." | |
produces: [] | |
responses: | |
204: | |
description: |- | |
204 response | |
/v1.0/{tenantId}/groups/{groupId}/policies: | |
get: | |
operationId: getPolicies | |
summary: List policies | |
description: "Lists scaling policies that are\n available to\ | |
\ a specified scaling group." | |
produces: | |
- application/json | |
responses: | |
200: | |
description: |- | |
The request succeeded and the response contains a list of scaling policies for the specified scaling group. | |
examples: | |
application/json: |- | |
{ | |
"policies":[ | |
{ | |
"args":{ | |
"cron":"23 * * * *" | |
}, | |
"changePercent":-5.5, | |
"cooldown":1800, | |
"id":"5f26e16c-5fa7-4d4f-8e78-257ea711389f", | |
"links":[ | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/605e13f6-1452-4588-b5da-ac6bb468c5bf/policies/5f26e16c-5fa7-4d4f-8e78-257ea711389f/", | |
"rel":"self" | |
} | |
], | |
"name":"scale down by 5.5 percent at 11pm", | |
"type":"schedule" | |
}, | |
{ | |
"args":{ | |
"at":"2013-12-05T03:12:00Z" | |
}, | |
"changePercent":-5.5, | |
"cooldown":1800, | |
"id":"9f7c5801-6b25-4f5a-af07-4bb752e23d53", | |
"links":[ | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/605e13f6-1452-4588-b5da-ac6bb468c5bf/policies/9f7c5801-6b25-4f5a-af07-4bb752e23d53/", | |
"rel":"self" | |
} | |
], | |
"name":"scale down by 5.5 percent on the 5th", | |
"type":"schedule" | |
}, | |
{ | |
"changePercent":-5.5, | |
"cooldown":1800, | |
"id":"eb0fe1bf-3428-4f34-afd9-a5ac36f60511", | |
"links":[ | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/605e13f6-1452-4588-b5da-ac6bb468c5bf/policies/eb0fe1bf-3428-4f34-afd9-a5ac36f60511/", | |
"rel":"self" | |
} | |
], | |
"name":"scale down by 5.5 percent", | |
"type":"webhook" | |
}, | |
{ | |
"cooldown":1800, | |
"desiredCapacity":5, | |
"id":"2f45092a-fde7-4461-a67a-3519e0366cd6", | |
"links":[ | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/605e13f6-1452-4588-b5da-ac6bb468c5bf/policies/2f45092a-fde7-4461-a67a-3519e0366cd6/", | |
"rel":"self" | |
} | |
], | |
"name":"set group to 5 servers", | |
"type":"webhook" | |
}, | |
{ | |
"change":1, | |
"cooldown":1800, | |
"id":"e36e6a43-2a7a-433c-918c-39fa45b75d12", | |
"links":[ | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/605e13f6-1452-4588-b5da-ac6bb468c5bf/policies/e36e6a43-2a7a-433c-918c-39fa45b75d12/", | |
"rel":"self" | |
} | |
], | |
"name":"scale up by one server", | |
"type":"webhook" | |
} | |
], | |
"policies_links":[ | |
] | |
} | |
post: | |
operationId: createPolicies | |
summary: Create policy | |
description: "Creates one or more scaling\n policies for a specified\ | |
\ scaling group." | |
produces: | |
- application/json | |
responses: | |
201: | |
description: |- | |
The scaling policy has been created. | |
examples: | |
application/json: |- | |
{ | |
"policies":[ | |
{ | |
"args":{ | |
"at":"2013-12-05T03:12:00Z" | |
}, | |
"changePercent":-5.5, | |
"cooldown":1800, | |
"id":"9f7c5801-6b25-4f5a-af07-4bb752e23d53", | |
"links":[ | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/605e13f6-1452-4588-b5da-ac6bb468c5bf/policies/9f7c5801-6b25-4f5a-af07-4bb752e23d53/", | |
"rel":"self" | |
} | |
], | |
"name":"scale down by 5.5 percent on the 5th", | |
"type":"schedule" | |
}, | |
{ | |
"cooldown":1800, | |
"desiredCapacity":5, | |
"id":"b0555a35-b2cb-4f0e-8743-d59e1621b980", | |
"links":[ | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/605e13f6-1452-4588-b5da-ac6bb468c5bf/policies/b0555a35-b2cb-4f0e-8743-d59e1621b980/", | |
"rel":"self" | |
} | |
], | |
"name":"set group to 5 servers", | |
"type":"webhook" | |
}, | |
{ | |
"args":{ | |
"cron":"23 * * * *" | |
}, | |
"changePercent":-5.5, | |
"cooldown":1800, | |
"id":"30707675-8e7c-4ea5-9358-c21648afcf29", | |
"links":[ | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/605e13f6-1452-4588-b5da-ac6bb468c5bf/policies/30707675-8e7c-4ea5-9358-c21648afcf29/", | |
"rel":"self" | |
} | |
], | |
"name":"scale down by 5.5 percent at 11pm", | |
"type":"schedule" | |
}, | |
{ | |
"change":1, | |
"cooldown":1800, | |
"id":"1f3bdd08-7aae-4009-a3b7-49aa47fc0876", | |
"links":[ | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/605e13f6-1452-4588-b5da-ac6bb468c5bf/policies/1f3bdd08-7aae-4009-a3b7-49aa47fc0876/", | |
"rel":"self" | |
} | |
], | |
"name":"scale up by one server", | |
"type":"webhook" | |
}, | |
{ | |
"changePercent":-5.5, | |
"cooldown":1800, | |
"id":"5afac18c-41e5-49d6-aba8-dec17c0d8ed7", | |
"links":[ | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/605e13f6-1452-4588-b5da-ac6bb468c5bf/policies/5afac18c-41e5-49d6-aba8-dec17c0d8ed7/", | |
"rel":"self" | |
} | |
], | |
"name":"scale down by 5.5 percent", | |
"type":"webhook" | |
} | |
] | |
} | |
parameters: | |
- name: array | |
required: true | |
in: body | |
description: > | |
<p>An array of scaling | |
policies.</p> | |
- name: name | |
required: true | |
in: body | |
- name: args | |
required: false | |
in: body | |
- name: cron | |
required: false | |
in: body | |
- name: at | |
required: false | |
in: body | |
- name: changePercent | |
required: false | |
in: body | |
- name: cooldown | |
required: true | |
in: body | |
- name: type | |
required: true | |
in: body | |
- name: change | |
required: false | |
in: body | |
- name: name | |
required: true | |
in: body | |
- name: args | |
required: false | |
in: body | |
description: > | |
<p>Additional configuration information for | |
policies of type <code>schedule</code>. | |
This parameter is not required for policies of | |
type <code>webhook</code>. This | |
parameter must be set to either | |
<code>at</code> or | |
<code>cron</code>, which are mutually | |
exclusive. </p> | |
- name: cron | |
required: false | |
in: body | |
description: > | |
<p>The time when the policy will be executed, as | |
a cron entry. For example, if this is | |
parameter is set to <code>1 0 * * | |
*</code>, the policy will be executed at | |
one minute past midnight (00:01) every day of | |
the month, and every day of the week. For more | |
information about cron, read: | |
http://en.wikipedia.org/wiki/Cron</p> | |
- name: at | |
required: false | |
in: body | |
description: > | |
<p>The time when this policy will be executed. | |
The time must be formatted according to this | |
service's custom <a href=" /cas/api/v1.0/autoscale-devguide/content/datetimeformat.html">Date | |
and Time format</a>, with seconds, | |
otherwise a 400 error may be returned. The | |
policy will be triggered within a 10-second | |
range of the time specified, so if you set the | |
<code>at</code> time to | |
<code>2013-05-19T08:07:08Z</code>, it | |
will be triggered anytime between 08:07:08 to | |
08:07:18. This property is mutually exclusive | |
with the <code>cron</code> | |
parameter.</p> | |
- name: changePercent | |
required: false | |
in: body | |
description: > | |
<p>The percent change to make in the number of | |
servers in the scaling group. If this number | |
is positive, the number of servers will | |
increase by the given percentage. If this | |
parameter is set to a negative number, the | |
number of servers decreases by the given | |
percentage. The absolute change in the number | |
of servers will be rounded to the nearest | |
integer. This means that if -X% of the current | |
number of servers translates to -0.5 or -0.25 | |
or -0.75 servers, the actual number of servers | |
that will be shut down is 1. If X% of the | |
current number of servers translates to 1.2 or | |
1.5 or 1.7 servers, the actual number of | |
servers that will be launched is 2</p> | |
- name: cooldown | |
required: true | |
in: body | |
description: > | |
<p>The cooldown period, in seconds, before this | |
particular scaling policy can be executed | |
again. The policy cooldown period does not | |
affect the global scaling group cooldown. The | |
minimum value for this parameter is 0 seconds, | |
the maximum value is 86400 seconds (24 hrs). </p> | |
- name: type | |
required: true | |
in: body | |
description: > | |
<p>The type of policy that will be executed for | |
the current release, this value can be either | |
<code>webhook</code> or | |
<code>schedule</code>.</p> | |
- name: change | |
required: false | |
in: body | |
description: > | |
<p>The change to make in the number of servers | |
in the scaling group. This parameter must be | |
an integer. If the value is a positive | |
integer, the number of servers increases. | |
If the value is a negative integer, the number | |
of servers decreases.</p> | |
- name: desiredCapacity | |
required: false | |
in: body | |
description: "<p>The desired server capacity of\n the\ | |
\ scaling the group; that is, how many\n servers\ | |
\ should be in the scaling group. This\n value must\ | |
\ be an absolute number, greater than or equal to zero. \n \ | |
\ For example, if this parameter is set to ten, executing the\ | |
\ policy brings the number\n of servers to ten. The\ | |
\ minimum allowed value is\n zero. Note that the\ | |
\ configured group maxEntities and minEntities takes precedence\n \ | |
\ over this setting.</p>\n" | |
/v1.0/{tenantId}/groups/{groupId}/policies/{policyId}: | |
delete: | |
operationId: deletePolicy | |
summary: Delete policy | |
description: "Deletes a specified scaling policy\n from the specified\ | |
\ tenant." | |
produces: [] | |
responses: | |
204: | |
description: |- | |
The delete scaling policy request succeeded. | |
get: | |
operationId: getPolicy | |
summary: Show policy details | |
description: "Shows scaling policy\n details." | |
produces: | |
- application/json | |
responses: | |
200: | |
description: |- | |
The request succeeded and the response contains details about the specified scaling policy. | |
examples: | |
application/json: |- | |
{ | |
"policy":{ | |
"args":{ | |
"cron":"23 * * * *" | |
}, | |
"changePercent":-5.5, | |
"cooldown":1800, | |
"id":"5f26e16c-5fa7-4d4f-8e78-257ea711389f", | |
"links":[ | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/605e13f6-1452-4588-b5da-ac6bb468c5bf/policies/5f26e16c-5fa7-4d4f-8e78-257ea711389f/", | |
"rel":"self" | |
} | |
], | |
"name":"scale down by 5.5 percent at 11pm", | |
"type":"schedule" | |
} | |
} | |
put: | |
operationId: putPolicy | |
summary: Update policy | |
description: "Updates an existing scaling policy\n for the specified\ | |
\ tenant." | |
produces: [] | |
responses: | |
204: | |
description: |- | |
The update scaling policy request succeeded. | |
parameters: | |
- name: name | |
required: true | |
in: body | |
description: > | |
<p> | |
<p>A name for the scaling policy. | |
This name must be unique for each scaling | |
policy.</p> | |
</p> | |
- name: args | |
required: false | |
in: body | |
description: > | |
<p> | |
<p>Additional configuration | |
information for policies of type "schedule." | |
This parameter is not required for policies of | |
type <code>webhook</code>. This parameter must be | |
set to | |
either <code>at</code> or <code>cron</code>, which | |
are mutually exclusive</p> | |
</p> | |
- name: cron | |
required: false | |
in: body | |
description: > | |
<p> | |
<p>The time when the | |
policy runs, as a cron entry. For example, if | |
you set this parameter to <code>1 0 * * | |
*</code>, the policy runs at one minute | |
past midnight (00:01) every day of the month, | |
and every day of the week. For more | |
information about cron, see <a href="http://en.wikipedia.org/wiki/Cron">http://en.wikipedia.org/wiki/Cron</a>.</p> | |
</p> | |
- name: at | |
required: false | |
in: body | |
description: > | |
<p>The time when this policy will | |
be executed. The time must be formatted | |
according to this service's custom <a href=" /cas/api/v1.0/autoscale-devguide/content/datetimeformat.html">Date | |
and Time format</a>, with seconds, | |
otherwise a 400 error may be returned. The | |
policy will be triggered within a 10-second | |
range of the time specified, so if you set the | |
<code>at</code> time to | |
<code>2013-05-19T08:07:08Z</code>, it | |
will be triggered anytime between 08:07:08 to | |
08:07:18. This property is mutually exclusive | |
with the <code>cron</code> | |
parameter.</p> | |
- name: changePercent | |
required: false | |
in: body | |
description: > | |
<p> | |
<p>The percent change to make in | |
the number of servers in the scaling group. If | |
this number is positive, the number of servers | |
increases by the given percentage. If this | |
parameter is set to a negative number, the | |
number of servers decreases by the given | |
percentage. The absolute change in the number | |
of servers is rounded to the nearest integer. | |
This means that if -X% of the current number | |
of servers translates to -0.5 or -0.25 or | |
-0.75 servers, the actual number of servers | |
that are shut down is 1. If X% of the current | |
number of servers translates to 1.2 or 1.5 or | |
1.7 servers, the actual number of servers that | |
are launched is 2.</p> | |
</p> | |
- name: cooldown | |
required: true | |
in: body | |
description: > | |
<p> | |
<p>The cooldown period, in | |
seconds, before this particular scaling policy | |
can run again. The policy cooldown period does not | |
affect the global scaling group cooldown. The | |
minimum value for this parameter is 0 seconds. | |
The maximum value is 86400 seconds (24 | |
hrs).</p> | |
</p> | |
- name: type | |
required: true | |
in: body | |
description: > | |
<p> | |
<p>The type of policy that runs. Currently, this | |
value can be | |
either <code>webhook</code> or <code>schedule</code>.</p> | |
</p> | |
- name: change | |
required: false | |
in: body | |
description: > | |
<p> | |
<p>The change to make in the | |
number of servers in the scaling group. This | |
parameter must be an integer. If the value is | |
a positive integer, the number of servers | |
increases. If the value is a negative integer, | |
the number of servers | |
decreases.</p> | |
</p> | |
- name: desiredCapacity | |
required: false | |
in: body | |
description: "<p>\n <p>The desired server capacity\ | |
\ of\n the scaling the group; that is, how many\n\ | |
\ servers should be in the scaling group. This\n\ | |
\ value must be an absolute number, greater than\ | |
\ or equal to zero. \n For example, if this parameter\ | |
\ is set to ten, executing the policy brings the number\n \ | |
\ of servers to ten. The minimum allowed value is\n \ | |
\ zero. Note that the configured group maxEntities and minEntities\ | |
\ takes precedence\n over this setting.</p>\n \ | |
\ </p>\n" | |
/v1.0/{tenantId}/groups/{groupId}/policies/{policyId}/execute: | |
post: | |
operationId: executePolicy | |
summary: Execute policy | |
description: "Runs a specified scaling\n policy." | |
produces: [] | |
responses: | |
202: | |
description: |- | |
The execute policy request was accepted. The actual execution may be delayed, but will be attempted if no errors are returned. Use the "GET scaling group state" method to see if the policy was executed. | |
/v1.0/{tenantId}/groups/{groupId}/policies/{policyId}/webhooks: | |
get: | |
operationId: getWebhooks | |
summary: List webhooks for the policy | |
description: "Lists web hooks and their IDs for a\n specified\ | |
\ scaling policy." | |
produces: | |
- application/json | |
responses: | |
200: | |
description: |- | |
The request succeeded and the response contains a list of webhooks for the specified scaling policy. | |
examples: | |
application/json: |2- | |
{ | |
"webhooks":[ | |
{ | |
"id":"152054a3-e0ab-445b-941d-9f8e360c9eed", | |
"links":[ | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/605e13f6-1452-4588-b5da-ac6bb468c5bf/policies/eb0fe1bf-3428-4f34-afd9-a5ac36f60511/webhooks/152054a3-e0ab-445b-941d-9f8e360c9eed/", | |
"rel":"self" | |
}, | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/execute/1/0077882e9626d83ef30e1ca379c8654d86cd34df3cd49ac8da72174668315fe8/", | |
"rel":"capability" | |
} | |
], | |
"metadata":{ | |
"notes":"PagerDuty will fire this webhook" | |
}, | |
"name":"PagerDuty" | |
}, | |
{ | |
"id":"23037efb-53a9-4ae5-bc33-e89a56b501b6", | |
"links":[ | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/605e13f6-1452-4588-b5da-ac6bb468c5bf/policies/eb0fe1bf-3428-4f34-afd9-a5ac36f60511/webhooks/23037efb-53a9-4ae5-bc33-e89a56b501b6/", | |
"rel":"self" | |
}, | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/execute/1/4f767340574433927a26dc747253dad643d5d13ec7b66b764dcbf719b32302b9/", | |
"rel":"capability" | |
} | |
], | |
"metadata":{ | |
}, | |
"name":"Nagios" | |
} | |
], | |
"webhooks_links":[ | |
] | |
} | |
post: | |
operationId: createWebhook | |
summary: Create webhook | |
description: "Creates one or more webhooks for\n the specified\ | |
\ scaling policy." | |
produces: | |
- application/json | |
responses: | |
201: | |
description: |- | |
The webhook has been created. | |
examples: | |
application/json: |- | |
{ | |
"webhooks":[ | |
{ | |
"id":"152054a3-e0ab-445b-941d-9f8e360c9eed", | |
"links":[ | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/605e13f6-1452-4588-b5da-ac6bb468c5bf/policies/eb0fe1bf-3428-4f34-afd9-a5ac36f60511/webhooks/152054a3-e0ab-445b-941d-9f8e360c9eed/", | |
"rel":"self" | |
}, | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/execute/1/0077882e9626d83ef30e1ca379c8654d86cd34df3cd49ac8da72174668315fe8/", | |
"rel":"capability" | |
} | |
], | |
"metadata":{ | |
"notes":"PagerDuty will fire this webhook" | |
}, | |
"name":"PagerDuty" | |
}, | |
{ | |
"id":"23037efb-53a9-4ae5-bc33-e89a56b501b6", | |
"links":[ | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/605e13f6-1452-4588-b5da-ac6bb468c5bf/policies/eb0fe1bf-3428-4f34-afd9-a5ac36f60511/webhooks/23037efb-53a9-4ae5-bc33-e89a56b501b6/", | |
"rel":"self" | |
}, | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/execute/1/4f767340574433927a26dc747253dad643d5d13ec7b66b764dcbf719b32302b9/", | |
"rel":"capability" | |
} | |
], | |
"metadata":{ | |
}, | |
"name":"Nagios" | |
} | |
] | |
} | |
parameters: | |
- name: name | |
required: true | |
in: body | |
description: > | |
<p>This parameter specifies a name for the | |
webhook for logging purposes</p> | |
- name: metadata | |
required: false | |
in: body | |
description: > | |
<p>This parameter specifies user-provided | |
key-value metadata. Both keys and values | |
should be strings not exceeding 256 characters | |
in length.</p> | |
/v1.0/{tenantId}/groups/{groupId}/policies/{policyId}/webhooks/{webhookId}: | |
get: | |
operationId: getWebhook | |
summary: Show webhook details | |
description: "Shows webhook details for a\n specified scaling\ | |
\ policy." | |
produces: | |
- application/json | |
responses: | |
200: | |
description: |- | |
The request succeeded and the response contains details about the specified webhook. | |
examples: | |
application/json: |2- | |
{ | |
"webhook":{ | |
"id":"23037efb-53a9-4ae5-bc33-e89a56b501b6", | |
"links":[ | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/676873/groups/605e13f6-1452-4588-b5da-ac6bb468c5bf/policies/eb0fe1bf-3428-4f34-afd9-a5ac36f60511/webhooks/23037efb-53a9-4ae5-bc33-e89a56b501b6/", | |
"rel":"self" | |
}, | |
{ | |
"href":"https://dfw.autoscale.api.rackspacecloud.com/v1.0/execute/1/4f767340574433927a26dc747253dad643d5d13ec7b66b764dcbf719b32302b9/", | |
"rel":"capability" | |
} | |
], | |
"metadata":{ | |
}, | |
"name":"Nagios" | |
} | |
} | |
put: | |
operationId: putWebhook | |
summary: Update webhook | |
description: "Updates a webhook for a specified\n tenant and\ | |
\ scaling policy." | |
produces: [] | |
responses: | |
204: | |
description: |- | |
The update webhook request succeeded. | |
parameters: | |
- name: name | |
required: true | |
in: body | |
description: > | |
<p>This parameter specifies a name for the | |
webhook for logging purposes.</p> | |
- name: metadata | |
required: true | |
in: body | |
description: > | |
<p>This parameter specifies user-provided | |
key-value metadata. Both keys and values | |
should be strings not exceeding 256 characters | |
in length. An empty value, <code>{ }</code> is acceptable.</p> | |
delete: | |
operationId: deleteWebhook | |
summary: Delete webhook | |
description: "Deletes a webhook for a specified\n scaling policy." | |
produces: [] | |
responses: | |
204: | |
description: |- | |
The delete webhook request succeeded. | |
/v1.0/execute/{capability_version}/{capability_hash}: | |
post: | |
operationId: anonymousExecute | |
summary: Execute anonymous webhook | |
description: Runs an anonymous webhook. | |
produces: [] | |
responses: | |
202: | |
description: |- | |
The execute webhook request was accepted. | |
host: '{data_center}.autoscale.api.rackspacecloud.com' | |
schemes: | |
- http | |
- https |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment