Abiquo 2.6


Skip to end of metadata
Go to start of metadata

Virtual Datacenters Resource

Main URI of the Resource

This class operates mainly over the Resource URI: /cloud/virtualdatacenters

Exposed Methods

Retrieve all virtual datacenters

Return the list of Virtual Datacenters you have available to work with.

Paging Method

This method works with paging. Check out Basic Behaviors for information about how it works

Synopsis: GET http://example.com/api/cloud/virtualdatacenters
Roles Required: ROLE_AUTHENTICATED,ROLE_VDC_ENUMERATE
Request Headers: Accept: application/vnd.abiquo.virtualdatacenters+xml; version=2.6;
Request Parameters:

Parameter

Required

Default Value

Description

enterprise

false

 

identifier of an enterprise

datacenter

false

 

identifier of a datacenter

startwith

false

0

first element to retrieve

by

false

name

parameter for ordering. Valid values are: "id", "hypervisorType", "name", "vlan"

has

false

 

name to filter the results

limit

false

25

total number of elements in the result set

asc

false

true

true/false for ascending/descending order

Request Message Body Entity:
Response Message Body Entity: VirtualDatacenters Media Type
Request Example:

 Click here to show or hide the request example
Retrieve all virtual datacenters example
$ curl -X GET http://example.com/api/cloud/virtualdatacenters\
	 -H 'Accept: application/vnd.abiquo.virtualdatacenters+xml; version=2.6'	\
	 -u user:password --verbose

> GET /api/cloud/virtualdatacenters HTTP/1.1
> 
> User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
> Host: example.com
> Accept: application/vnd.abiquo.virtualdatacenters+xml; version=2.6
> 
< HTTP/1.1 200 OK
< Server: Apache-Coyote/1.1
< Set-Cookie: auth=YWRtaW46MTM4MDYzODU4MTk2Mzo4YmE2OGFkNjRjOWYyODcxMzZjNDkzZjgwZDhlZWVmYzpBQklRVU8; Expires=Tue, 01-Oct-2013 14:43:01 GMT; Path=/api
< Set-Cookie: JSESSIONID=98E7F3F21C0F36C6A7B8FCB1C6AA8581; Path=/api
< Content-Type: application/vnd.abiquo.virtualdatacenters+xml;version=2.6
< Content-Length: 4445
< Date: Tue, 01 Oct 2013 14:13:01 GMT
< 

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<virtualDatacenters>
    <virtualDatacenter>
        <link title="BB_VDC_01" rel="edit" type="application/vnd.abiquo.virtualdatacenter+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3"/>
        <link title="private networks" rel="privatenetworks" type="application/vnd.abiquo.vlans+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/privatenetworks"/>
        <link title="BCN Datacenter" rel="datacenter" type="application/vnd.abiquo.datacenter+xml" href="http://example.com:80/api/admin/datacenters/1"/>
        <link title="public networks" rel="network" type="application/vnd.abiquo.vlans+xml" href="http://example.com:80/api/admin/datacenters/1/network"/>
        <link title="Abiquo" rel="enterprise" type="application/vnd.abiquo.enterprise+xml" href="http://example.com:80/api/admin/enterprises/1"/>
        <link title="virtual appliances" rel="virtualappliances" type="application/vnd.abiquo.virtualappliances+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/virtualappliances"/>
        <link title="default network" rel="defaultvlan" type="application/vnd.abiquo.vlan+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/privatenetworks/3"/>
        <link title="private ips" rel="privateips" type="application/vnd.abiquo.privateips+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/action/privateips"/>
        <link title="external ips" rel="externalips" type="application/vnd.abiquo.externalips+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/action/externalips"/>
        <link title="unmanaged ips" rel="unmanagedips" type="application/vnd.abiquo.unmanagedips+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/action/unmanagedips"/>
        <link title="GET" rel="defaultvlan" type="application/vnd.abiquo.vlan+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/action/defaultvlan"/>
        <link title="PUT" rel="defaultvlan" type="application/vnd.abiquo.links+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/action/defaultvlan"/>
        <link title="volumes" rel="volumes" type="application/vnd.abiquo.volumes+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/volumes"/>
        <link title="disks" rel="disks" type="application/vnd.abiquo.harddisks+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/disks"/>
        <link title="ips to purchase" rel="topurchase" type="application/vnd.abiquo.publicips+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/publicips/topurchase"/>
        <link title="ips purchased" rel="purchased" type="application/vnd.abiquo.publicips+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/publicips/purchased"/>
        <link title="volumes" rel="statefulcandidates" type="application/vnd.abiquo.volumes+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/volumes/action/statefulcandidates"/>
        <link title="tiers" rel="tiers" type="application/vnd.abiquo.tiers+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/tiers"/>
        <link title="available templates" rel="templates" type="application/vnd.abiquo.virtualmachinetemplates+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/action/templates"/>
        <cpuHard>0</cpuHard>
        <cpuSoft>0</cpuSoft>
        <ramHard>0</ramHard>
        <ramSoft>0</ramSoft>
        <hdHard>0</hdHard>
        <hdSoft>0</hdSoft>
        <storageHard>0</storageHard>
        <storageSoft>0</storageSoft>
        <vlansHard>0</vlansHard>
        <vlansSoft>0</vlansSoft>
        <publicIpsHard>0</publicIpsHard>
        <publicIpsSoft>0</publicIpsSoft>
        <id>3</id>
        <hypervisorType>KVM</hypervisorType>
        <name>BB_VDC_01</name>
        <network>
            <link title="BB_VDC_01" rel="virtualdatacenter" type="application/vnd.abiquo.virtualdatacenter+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3"/>
            <link title="default_private_network" rel="edit" type="application/vnd.abiquo.vlan+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/privatenetworks/3"/>
            <link title="ips" rel="ips" type="application/vnd.abiquo.privateips+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/privatenetworks/3/ips"/>
            <link title="Service Network" rel="networkservicetype" type="application/vnd.abiquo.vlan+xml" href="http://example.com:80/api/admin/datacenters/1/networkservicetypes/1"/>
            <id>3</id>
            <name>default_private_network</name>
            <address>192.168.0.0</address>
            <mask>24</mask>
            <gateway>192.168.0.1</gateway>
            <primaryDNS></primaryDNS>
            <secondaryDNS></secondaryDNS>
            <sufixDNS></sufixDNS>
            <tag>2</tag>
            <type>INTERNAL</type>
            <dhcpOptions/>
        </network>
    </virtualDatacenter>
</virtualDatacenters>

Create a virtual datacenter

This method is the one that creates Virtual Datacenters.

Synopsis: POST http://example.com/api/cloud/virtualdatacenters
Roles Required: ROLE_VDC_MANAGE
Request Headers: Accept: application/vnd.abiquo.virtualdatacenter+xml; version=2.6; Content-type: application/vnd.abiquo.virtualdatacenter+xml; version=2.6;
Request Parameters:

Parameter

Required

Default Value

Description

datacenter

false

 

ID of datacenter to which the VDC will belong

enterprise

false

 

ID of enterprise to which the VDC will belong

Request Message Body Entity: VirtualDatacenter Media Type
Response Message Body Entity: VirtualDatacenter Media Type
Request Example:

 Click here to show or hide the request example
Create a virtual datacenter example
$ curl -X POST http://example.com/api/cloud/virtualdatacenters?enterprise=1&datacenter=1\
	 -H 'Accept: application/vnd.abiquo.virtualdatacenter+xml; version=2.6'	\
	 -H 'Content-Type: application/vnd.abiquo.virtualdatacenter+xml; version=2.6'	\
	 -d @vdc.xml	\
	 -u user:password --verbose

> POST /api/cloud/virtualdatacenters?enterprise=1&datacenter=1 HTTP/1.1
> 
> User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
> Host: example.com
> Accept: application/vnd.abiquo.virtualdatacenter+xml; version=2.6
> Content-type: application/vnd.abiquo.virtualdatacenter+xml; version=2.6
> Content-Length: 674
> 

< HTTP/1.1 201 Created
< Server: Apache-Coyote/1.1
< Set-Cookie: auth=YWRtaW46MTM4MDY0MDI4MjAxMDo2ZWM1NzY2ZWMyMjQ2NjNjYjMyZTE3OTUzYjBhMWI4MzpBQklRVU8; Expires=Tue, 01-Oct-2013 15:11:22 GMT; Path=/api
< Location: http://example.com:80/api/cloud/virtualdatacenters/4
< Set-Cookie: JSESSIONID=A5BE28324F7B88138544443E78784441; Path=/api
< Content-Type: application/vnd.abiquo.virtualdatacenter+xml;version=2.6
< Content-Length: 4344
< Date: Tue, 01 Oct 2013 14:41:22 GMT
< 


<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<virtualDatacenter>
    <link title="BCN_VDC_02" rel="edit" type="application/vnd.abiquo.virtualdatacenter+xml" href="http://example.com:80/api/cloud/virtualdatacenters/4"/>
    <link title="private networks" rel="privatenetworks" type="application/vnd.abiquo.vlans+xml" href="http://example.com:80/api/cloud/virtualdatacenters/4/privatenetworks"/>
    <link title="BCN Datacenter" rel="datacenter" type="application/vnd.abiquo.datacenter+xml" href="http://example.com:80/api/admin/datacenters/1"/>
    <link title="public networks" rel="network" type="application/vnd.abiquo.vlans+xml" href="http://example.com:80/api/admin/datacenters/1/network"/>
    <link title="Abiquo" rel="enterprise" type="application/vnd.abiquo.enterprise+xml" href="http://example.com:80/api/admin/enterprises/1"/>
    <link title="virtual appliances" rel="virtualappliances" type="application/vnd.abiquo.virtualappliances+xml" href="http://example.com:80/api/cloud/virtualdatacenters/4/virtualappliances"/>
    <link title="default network" rel="defaultvlan" type="application/vnd.abiquo.vlan+xml" href="http://example.com:80/api/cloud/virtualdatacenters/4/privatenetworks/4"/>
    <link title="private ips" rel="privateips" type="application/vnd.abiquo.privateips+xml" href="http://example.com:80/api/cloud/virtualdatacenters/4/action/privateips"/>
    <link title="external ips" rel="externalips" type="application/vnd.abiquo.externalips+xml" href="http://example.com:80/api/cloud/virtualdatacenters/4/action/externalips"/>
    <link title="unmanaged ips" rel="unmanagedips" type="application/vnd.abiquo.unmanagedips+xml" href="http://example.com:80/api/cloud/virtualdatacenters/4/action/unmanagedips"/>
    <link title="GET" rel="defaultvlan" type="application/vnd.abiquo.vlan+xml" href="http://example.com:80/api/cloud/virtualdatacenters/4/action/defaultvlan"/>
    <link title="PUT" rel="defaultvlan" type="application/vnd.abiquo.links+xml" href="http://example.com:80/api/cloud/virtualdatacenters/4/action/defaultvlan"/>
    <link title="volumes" rel="volumes" type="application/vnd.abiquo.volumes+xml" href="http://example.com:80/api/cloud/virtualdatacenters/4/volumes"/>
    <link title="disks" rel="disks" type="application/vnd.abiquo.harddisks+xml" href="http://example.com:80/api/cloud/virtualdatacenters/4/disks"/>
    <link title="ips to purchase" rel="topurchase" type="application/vnd.abiquo.publicips+xml" href="http://example.com:80/api/cloud/virtualdatacenters/4/publicips/topurchase"/>
    <link title="ips purchased" rel="purchased" type="application/vnd.abiquo.publicips+xml" href="http://example.com:80/api/cloud/virtualdatacenters/4/publicips/purchased"/>
    <link title="volumes" rel="statefulcandidates" type="application/vnd.abiquo.volumes+xml" href="http://example.com:80/api/cloud/virtualdatacenters/4/volumes/action/statefulcandidates"/>
    <link title="tiers" rel="tiers" type="application/vnd.abiquo.tiers+xml" href="http://example.com:80/api/cloud/virtualdatacenters/4/tiers"/>
    <link title="available templates" rel="templates" type="application/vnd.abiquo.virtualmachinetemplates+xml" href="http://example.com:80/api/cloud/virtualdatacenters/4/action/templates"/>
    <cpuHard>20</cpuHard>
    <cpuSoft>18</cpuSoft>
    <ramHard>20480</ramHard>
    <ramSoft>19456</ramSoft>
    <hdHard>279172872</hdHard>
    <hdSoft>279172872</hdSoft>
    <storageHard>322122547</storageHard>
    <storageSoft>289910292</storageSoft>
    <vlansHard>2</vlansHard>
    <vlansSoft>1</vlansSoft>
    <publicIpsHard>2</publicIpsHard>
    <publicIpsSoft>2</publicIpsSoft>
    <id>4</id>
    <hypervisorType>KVM</hypervisorType>
    <name>BCN_VDC_02</name>
    <network>
        <link title="BCN_VDC_02" rel="virtualdatacenter" type="application/vnd.abiquo.virtualdatacenter+xml" href="http://example.com:80/api/cloud/virtualdatacenters/4"/>
        <link title="DefaultNetwork" rel="edit" type="application/vnd.abiquo.vlan+xml" href="http://example.com:80/api/cloud/virtualdatacenters/4/privatenetworks/4"/>
        <link title="ips" rel="ips" type="application/vnd.abiquo.privateips+xml" href="http://example.com:80/api/cloud/virtualdatacenters/4/privatenetworks/4/ips"/>
        <link title="Service Network" rel="networkservicetype" type="application/vnd.abiquo.vlan+xml" href="http://example.com:80/api/admin/datacenters/1/networkservicetypes/1"/>
        <id>4</id>
        <name>DefaultNetwork</name>
        <address>192.168.2.0</address>
        <mask>24</mask>
        <gateway>192.168.2.1</gateway>
        <type>INTERNAL</type>
        <dhcpOptions/>
    </network>
</virtualDatacenter>

Download a template

You can download the template of the entity here (click right mouse button and 'Save Link As..')

------------------------------------------------------------------------------------------------------------------------------

Virtual Datacenter Resource

Main URI of the Resource

This class operates mainly over the Resource URI: /cloud/virtualdatacenters/{virtualdatacenter}

Exposed Methods

Retrieve a Virtual Datacenter

Retrieve a virtual datacenter.
Synopsis: GET http://example.com/api/cloud/virtualdatacenters/{virtualdatacenter}
Roles Required: ROLE_VDC_ENUMERATE
Request Headers: Accept: application/vnd.abiquo.virtualdatacenter+xml; version=2.6; 
Request Parameters:

Parameter

Required

Default Value

Description

 

 

 

 

Request Message Body Entity:
Response Message Body Entity: VirtualDatacenter Media Type
Request Example:

 Click here to show or hide the request example
Retrieve a Virtual Datacenter example
$ curl -X GET http://example.com/api/cloud/virtualdatacenters/4\
	 -H 'Accept: application/vnd.abiquo.virtualdatacenter+xml; version=2.6'	\
	 -u user:password --verbose

> GET /api/cloud/virtualdatacenters/4 HTTP/1.1
> 
> User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
> Host: example.com
> Accept: application/vnd.abiquo.virtualdatacenter+xml; version=2.6
> 
< HTTP/1.1 200 OK
< Server: Apache-Coyote/1.1
< Set-Cookie: auth=YWRtaW46MTM4MDY0MDc1MDAyNToyYzJiZThhMzFiMGMzMDkxNzc1MDU4ZjZjZjlhN2ZkNTpBQklRVU8; Expires=Tue, 01-Oct-2013 15:19:10 GMT; Path=/api
< Set-Cookie: JSESSIONID=1F77319933C220E4635BDC7FF5DFEA43; Path=/api
< Content-Type: application/vnd.abiquo.virtualdatacenter+xml;version=2.6
< Content-Length: 4344
< Date: Tue, 01 Oct 2013 14:49:10 GMT
< 

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<virtualDatacenter>
    <link title="BCN_VDC_02" rel="edit" type="application/vnd.abiquo.virtualdatacenter+xml" href="http://example.com:80/api/cloud/virtualdatacenters/4"/>
    <link title="private networks" rel="privatenetworks" type="application/vnd.abiquo.vlans+xml" href="http://example.com:80/api/cloud/virtualdatacenters/4/privatenetworks"/>
    <link title="BCN Datacenter" rel="datacenter" type="application/vnd.abiquo.datacenter+xml" href="http://example.com:80/api/admin/datacenters/1"/>
    <link title="public networks" rel="network" type="application/vnd.abiquo.vlans+xml" href="http://example.com:80/api/admin/datacenters/1/network"/>
    <link title="Abiquo" rel="enterprise" type="application/vnd.abiquo.enterprise+xml" href="http://example.com:80/api/admin/enterprises/1"/>
    <link title="virtual appliances" rel="virtualappliances" type="application/vnd.abiquo.virtualappliances+xml" href="http://example.com:80/api/cloud/virtualdatacenters/4/virtualappliances"/>
    <link title="default network" rel="defaultvlan" type="application/vnd.abiquo.vlan+xml" href="http://example.com:80/api/cloud/virtualdatacenters/4/privatenetworks/4"/>
    <link title="private ips" rel="privateips" type="application/vnd.abiquo.privateips+xml" href="http://example.com:80/api/cloud/virtualdatacenters/4/action/privateips"/>
    <link title="external ips" rel="externalips" type="application/vnd.abiquo.externalips+xml" href="http://example.com:80/api/cloud/virtualdatacenters/4/action/externalips"/>
    <link title="unmanaged ips" rel="unmanagedips" type="application/vnd.abiquo.unmanagedips+xml" href="http://example.com:80/api/cloud/virtualdatacenters/4/action/unmanagedips"/>
    <link title="GET" rel="defaultvlan" type="application/vnd.abiquo.vlan+xml" href="http://example.com:80/api/cloud/virtualdatacenters/4/action/defaultvlan"/>
    <link title="PUT" rel="defaultvlan" type="application/vnd.abiquo.links+xml" href="http://example.com:80/api/cloud/virtualdatacenters/4/action/defaultvlan"/>
    <link title="volumes" rel="volumes" type="application/vnd.abiquo.volumes+xml" href="http://example.com:80/api/cloud/virtualdatacenters/4/volumes"/>
    <link title="disks" rel="disks" type="application/vnd.abiquo.harddisks+xml" href="http://example.com:80/api/cloud/virtualdatacenters/4/disks"/>
    <link title="ips to purchase" rel="topurchase" type="application/vnd.abiquo.publicips+xml" href="http://example.com:80/api/cloud/virtualdatacenters/4/publicips/topurchase"/>
    <link title="ips purchased" rel="purchased" type="application/vnd.abiquo.publicips+xml" href="http://example.com:80/api/cloud/virtualdatacenters/4/publicips/purchased"/>
    <link title="volumes" rel="statefulcandidates" type="application/vnd.abiquo.volumes+xml" href="http://example.com:80/api/cloud/virtualdatacenters/4/volumes/action/statefulcandidates"/>
    <link title="tiers" rel="tiers" type="application/vnd.abiquo.tiers+xml" href="http://example.com:80/api/cloud/virtualdatacenters/4/tiers"/>
    <link title="available templates" rel="templates" type="application/vnd.abiquo.virtualmachinetemplates+xml" href="http://example.com:80/api/cloud/virtualdatacenters/4/action/templates"/>
    <cpuHard>20</cpuHard>
    <cpuSoft>18</cpuSoft>
    <ramHard>20480</ramHard>
    <ramSoft>19456</ramSoft>
    <hdHard>279172872</hdHard>
    <hdSoft>279172872</hdSoft>
    <storageHard>322122547</storageHard>
    <storageSoft>289910292</storageSoft>
    <vlansHard>2</vlansHard>
    <vlansSoft>1</vlansSoft>
    <publicIpsHard>2</publicIpsHard>
    <publicIpsSoft>2</publicIpsSoft>
    <id>4</id>
    <hypervisorType>KVM</hypervisorType>
    <name>BCN_VDC_02</name>
    <network>
        <link title="BCN_VDC_02" rel="virtualdatacenter" type="application/vnd.abiquo.virtualdatacenter+xml" href="http://example.com:80/api/cloud/virtualdatacenters/4"/>
        <link title="DefaultNetwork" rel="edit" type="application/vnd.abiquo.vlan+xml" href="http://example.com:80/api/cloud/virtualdatacenters/4/privatenetworks/4"/>
        <link title="ips" rel="ips" type="application/vnd.abiquo.privateips+xml" href="http://example.com:80/api/cloud/virtualdatacenters/4/privatenetworks/4/ips"/>
        <link title="Service Network" rel="networkservicetype" type="application/vnd.abiquo.vlan+xml" href="http://example.com:80/api/admin/datacenters/1/networkservicetypes/1"/>
        <id>4</id>
        <name>DefaultNetwork</name>
        <address>192.168.2.0</address>
        <mask>24</mask>
        <gateway>192.168.2.1</gateway>
        <type>INTERNAL</type>
        <dhcpOptions/>
    </network>
</virtualDatacenter>


Delete a Virtual Datacenter

Delete a virtual datacenter.
Synopsis: DELETE http://example.com/api/cloud/virtualdatacenters/{virtualdatacenter}
Roles Required: ROLE_VDC_MANAGE
Request Headers: Accept: */*
Request Parameters:

Parameter

Required

Default Value

Description

 

 

 

 

Request Message Body Entity:
Response Message Body Entity:
Request Example:

 Click here to show or hide the request example
Delete a Virtual Datacenter example
$ curl -X DELETE http://example.com/api/cloud/virtualdatacenters/4\
	 -u user:password --verbose

> DELETE /api/cloud/virtualdatacenters/4 HTTP/1.1
> 
> User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
> Host: example.com
> Accept: */*
> 
< HTTP/1.1 204 No Content
< Server: Apache-Coyote/1.1
< Set-Cookie: auth=YWRtaW46MTM4MDY0MDkxOTQ4MjoyZThkYzhmODlkZmZmZWE5OWU2YjU5MTYxOGY0YmM4NjpBQklRVU8; Expires=Tue, 01-Oct-2013 15:21:59 GMT; Path=/api
< Set-Cookie: JSESSIONID=15CDCDE7E07C3C889FA22B48C734A42F; Path=/api
< Date: Tue, 01 Oct 2013 14:51:59 GMT
< 

Get the default VLAN used in the Virtual Datacenter

Get the default VLAN used in the Virtual Datacenter.
Synopsis: GET http://example.com/api/cloud/virtualdatacenters/{virtualdatacenter}/action/defaultvlan
Roles Required:
Request Headers: Accept: application/vnd.abiquo.vlan+xml; version=2.6; 
Request Parameters:

Parameter

Required

Default Value

Description

 

 

 

 

Request Message Body Entity:
Response Message Body Entity: VLANNetwork Media Type
Request Example:

 Click here to show or hide the request example
$ curl -X GET http://example.com/api/cloud/virtualdatacenters/1/action/defaultvlan\
 -H 'Accept: application/vnd.abiquo.vlan+xml; version=2.6' \
 -u user:password --verbose

> GET /api/cloud/virtualdatacenters/3/action/defaultvlan HTTP/1.1
> 
> User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
> Host: example.com
> Accept: application/vnd.abiquo.vlan+xml; version=2.6
> 
< HTTP/1.1 200 OK
< Server: Apache-Coyote/1.1
< Set-Cookie: auth=YWRtaW46MTM4MDY0MTIyMDY5NDo1YTcxMGY4YzM3OGY5NGMzYzZkMGUzMTU1YTUwMzU5NjpBQklRVU8; Expires=Tue, 01-Oct-2013 15:27:00 GMT; Path=/api
< Set-Cookie: JSESSIONID=57CCDFF7F2476738BFCEB955F9FA0A6A; Path=/api
< Content-Type: application/vnd.abiquo.vlan+xml;version=2.6
< Content-Length: 967
< Date: Tue, 01 Oct 2013 14:57:00 GMT
< 

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<network>
    <link title="BB_VDC_01" rel="virtualdatacenter" type="application/vnd.abiquo.virtualdatacenter+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3"/>
    <link title="default_private_network" rel="edit" type="application/vnd.abiquo.vlan+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/privatenetworks/3"/>
    <link title="ips" rel="ips" type="application/vnd.abiquo.privateips+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/privatenetworks/3/ips"/>
    <link title="Service Network" rel="networkservicetype" type="application/vnd.abiquo.vlan+xml" href="http://example.com:80/api/admin/datacenters/1/networkservicetypes/1"/>
    <id>3</id>
    <name>default_private_network</name>
    <address>192.168.0.0</address>
    <mask>24</mask>
    <gateway>192.168.0.1</gateway>
    <primaryDNS></primaryDNS>
    <secondaryDNS></secondaryDNS>
    <sufixDNS></sufixDNS>
    <tag>2</tag>
    <type>INTERNAL</type>
    <dhcpOptions/>
</network>

Returns all external IPs from a Virtual Datacenter

Returns all external IPs from a Virtual Datacenter; the result can be filtered and paginated.

Paging Method

This method works with paging. Check out Basic Behaviors for information about how it works

Synopsis: GET http://example.com/api/cloud/virtualdatacenters/{virtualdatacenter}/action/externalips
Roles Required:
Request Headers: Accept: application/vnd.abiquo.externalips+xml; version=2.6; 
Request Parameters:

Parameter

Required

Default Value

Description

startwith

false

0

first element to retrieve

by

false

ip

ordering the request ("ip" by default)

has

false

 

filter the request (empty by default)

limit

false

25

number of elements to return

asc

false

true

order ascending or descending (asc by default)

all

false

false

retrieve all results (false by default)

Request Message Body Entity:
Response Message Body Entity: ExternalIps Media Type
Request Example:

 Click here to show or hide the request example
$ curl -X GET http://example.com/api/cloud/virtualdatacenters/3/action/externalips\
	 -H 'Accept: application/vnd.abiquo.externalips+xml;version=2.6'	\
	 -u user:password --verbose

> GET /api/cloud/virtualdatacenters/3/action/externalips HTTP/1.1
> 
> User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
> Host: example.com
> Accept: application/vnd.abiquo.externalips+xml; version=2.6
> 
< HTTP/1.1 200 OK
< Server: Apache-Coyote/1.1
< Set-Cookie: auth=YWRtaW46MTM4MDY0MjkwNTIxNTo3MTMwZmY0YTM3YmRkNDI0ZDZlNjQ0ZWE1ZTc1NWExZTpBQklRVU8; Expires=Tue, 01-Oct-2013 15:55:05 GMT; Path=/api
< Set-Cookie: JSESSIONID=113702D34556392A1D24A059D808ED13; Path=/api
< Content-Type: application/vnd.abiquo.externalips+xml;version=2.6
< Content-Length: 2351
< Date: Tue, 01 Oct 2013 15:25:05 GMT
< 

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<externalips>
    <link rel="first" href="http://example.com:80/api/cloud/virtualdatacenters/3/action/externalips?limit=25&amp;by=ip"/>
    <link rel="last" href="http://example.com:80/api/cloud/virtualdatacenters/3/action/externalips?startwith=0&amp;limit=25&amp;by=ip"/>
    <totalSize>3</totalSize>
    <externalip>
        <link title="B_Corporate_Network" rel="externalnetwork" type="application/vnd.abiquo.vlan+xml" href="http://example.com:80/api/admin/enterprises/1/limits/1/externalnetworks/5"/>
        <link title="ips" rel="ips" type="application/vnd.abiquo.externalips+xml" href="http://example.com:80/api/admin/enterprises/1/limits/1/externalnetworks/5/ips"/>
        <link title="10.10.10.2" rel="self" type="application/vnd.abiquo.externalip+xml" href="http://example.com:80/api/admin/enterprises/1/limits/1/externalnetworks/5/ips/1022"/>
        <id>1022</id>
        <ip>10.10.10.2</ip>
        <networkName>B_Corporate_Network</networkName>
        <available>true</available>
        <quarantine>false</quarantine>
    </externalip>
    <externalip>
        <link title="B_Corporate_Network" rel="externalnetwork" type="application/vnd.abiquo.vlan+xml" href="http://example.com:80/api/admin/enterprises/1/limits/1/externalnetworks/5"/>
        <link title="ips" rel="ips" type="application/vnd.abiquo.externalips+xml" href="http://example.com:80/api/admin/enterprises/1/limits/1/externalnetworks/5/ips"/>
        <link title="10.10.10.3" rel="self" type="application/vnd.abiquo.externalip+xml" href="http://example.com:80/api/admin/enterprises/1/limits/1/externalnetworks/5/ips/1023"/>
        <id>1023</id>
        <ip>10.10.10.3</ip>
        <networkName>B_Corporate_Network</networkName>
        <available>true</available>
        <quarantine>false</quarantine>
    </externalip>
    <externalip>
        <link title="B_Corporate_Network" rel="externalnetwork" type="application/vnd.abiquo.vlan+xml" href="http://example.com:80/api/admin/enterprises/1/limits/1/externalnetworks/5"/>
        <link title="ips" rel="ips" type="application/vnd.abiquo.externalips+xml" href="http://example.com:80/api/admin/enterprises/1/limits/1/externalnetworks/5/ips"/>
        <link title="10.10.10.4" rel="self" type="application/vnd.abiquo.externalip+xml" href="http://example.com:80/api/admin/enterprises/1/limits/1/externalnetworks/5/ips/1024"/>
        <id>1024</id>
        <ip>10.10.10.4</ip>
        <networkName>B_Corporate_Network</networkName>
        <available>true</available>
        <quarantine>false</quarantine>
    </externalip>
</externalips>

Returns all private IPs from a Virtual Datacenter

Returns all private IPs from a Virtual Datacenter; the result can be filtered and paginated.

Paging Method

This method works with paging. Check out Basic Behaviors for information about how it works

Synopsis: GET http://example.com/api/cloud/virtualdatacenters/{virtualdatacenter}/action/privateips
Roles Required:
Request Headers: Accept: application/vnd.abiquo.privateips+xml; version=2.6; 
Request Parameters:

Parameter

Required

Default Value

Description

startwith

false

 

first element to retrieve

by

false

ip

ordering the request ("ip" by default)

has

false

 

filter the request (empty by default)

limit

false

25

number of elements to return

asc

false

true

order ascending or descending (asc by default)

all

false

false

retrieve all results (false by default)

 

 

 

 

Request Message Body Entity:
Response Message Body Entity: PrivateIps Media Type
Request Example:

 Click here to show or hide the request example
Returns all private IPs from a Virtual Datacenter example
$ curl -X GET http://example.com/api/cloud/virtualdatacenters/3/action/privateips\
	 -H 'Accept: application/vnd.abiquo.privateips+xml;version=2.6'	\
	 -u user:password --verbose

 
> GET /api/cloud/virtualdatacenters/3/action/privateips HTTP/1.1
> 
> User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
> Host: example.com
> Accept: application/vnd.abiquo.privateips+xml; version=2.6
> 
< HTTP/1.1 200 OK
< Server: Apache-Coyote/1.1
< Set-Cookie: auth=YWRtaW46MTM4MDY0NTQyMjMzNDo4ODQ2ZjhjMGU3MmExMGVlNDM1OGMwZTcwNjI5ZDk3NDpBQklRVU8; Expires=Tue, 01-Oct-2013 16:37:02 GMT; Path=/api
< Content-Type: application/vnd.abiquo.privateips+xml;version=2.6
< Transfer-Encoding: chunked
< Date: Tue, 01 Oct 2013 16:07:02 GMT
< 

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<privateips>
    <link rel="first" href="http://example.com:80/api/cloud/virtualdatacenters/3/action/privateips?limit=25&amp;by=ip"/>
    <link rel="next" href="http://example.com:80/api/cloud/virtualdatacenters/3/action/privateips?startwith=25&amp;limit=25&amp;by=ip"/>
    <link rel="last" href="http://example.com:80/api/cloud/virtualdatacenters/3/action/privateips?startwith=229&amp;limit=25&amp;by=ip"/>
    <totalSize>254</totalSize>
    <privateip>
        <link title="default_private_network" rel="privatenetwork" type="application/vnd.abiquo.vlan+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/privatenetworks/3"/>
        <link title="privateip" rel="self" type="application/vnd.abiquo.privateip+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/privatenetworks/3/ips/512"/>
        <link title="BB_VDC_01" rel="virtualdatacenter" type="application/vnd.abiquo.virtualdatacenter+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3"/>
        <id>512</id>
        <ip>192.168.0.1</ip>
        <mac>52:54:00:CF:4A:96</mac>
        <name>525400CF4A96_host</name>
        <networkName>default_private_network</networkName>
    </privateip>
    <privateip>
        <link title="default_private_network" rel="privatenetwork" type="application/vnd.abiquo.vlan+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/privatenetworks/3"/>
        <link title="privateip" rel="self" type="application/vnd.abiquo.privateip+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/privatenetworks/3/ips/513"/>
        <link title="BB_VDC_01" rel="virtualdatacenter" type="application/vnd.abiquo.virtualdatacenter+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3"/>
        <link title="bb_va_01" rel="virtualappliance" type="application/vnd.abiquo.virtualappliance+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/virtualappliances/3"/>
        <link title="ABQ_aa2b0e03-6bff-443e-bf94-b988bb577fce" rel="virtualmachine" type="application/vnd.abiquo.virtualmachine+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/virtualappliances/3/virtualmachines/4"/>
        <id>513</id>
        <ip>192.168.0.2</ip>
        <mac>52:54:00:17:80:B8</mac>
        <name>5254001780B8_host</name>
        <networkName>default_private_network</networkName>
    </privateip>
    <privateip>
        <link title="default_private_network" rel="privatenetwork" type="application/vnd.abiquo.vlan+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/privatenetworks/3"/>
        <link title="privateip" rel="self" type="application/vnd.abiquo.privateip+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/privatenetworks/3/ips/514"/>
        <link title="BB_VDC_01" rel="virtualdatacenter" type="application/vnd.abiquo.virtualdatacenter+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3"/>
        <id>514</id>
        <ip>192.168.0.3</ip>
        <mac>52:54:00:6A:D6:66</mac>
        <name>5254006AD666_host</name>
        <networkName>default_private_network</networkName>
    </privateip>
    <privateip>
        <link title="default_private_network" rel="privatenetwork" type="application/vnd.abiquo.vlan+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/privatenetworks/3"/>
        <link title="privateip" rel="self" type="application/vnd.abiquo.privateip+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/privatenetworks/3/ips/515"/>
        <link title="BB_VDC_01" rel="virtualdatacenter" type="application/vnd.abiquo.virtualdatacenter+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3"/>
        <id>515</id>
        <ip>192.168.0.4</ip>
        <mac>52:54:00:30:76:A7</mac>
        <name>5254003076A7_host</name>
        <networkName>default_private_network</networkName>
    </privateip>
</privateips>


Retrieve a public IP to be used in a Virtual Machine in the Virtual Datacenter

Get a public IP to be used in a Virtual Machine in the Virtual Datacenter.
Synopsis: GET http://example.com/api/cloud/virtualdatacenters/{virtualdatacenter}/publicips/purchased/{ip}
Roles Required:
Request Headers: Accept: application/vnd.abiquo.publicip+xml; version=2.6;
Request Parameters:

Parameter

Required

Default Value

Description

 

 

 

 

Request Message Body Entity:
Response Message Body Entity: PublicIp Media Type
Request Example:

 Click here to show or hide the request example
Retrieve a public IP to be used in a Virtual Machine in the Virtual Datacenter example
$ curl -X GET http://example.com/api/cloud/virtualdatacenters/3/publicips/purchased/1276\
	 -H 'Accept: application/vnd.abiquo.publicip+xml;version=2.6'	\
	 -u user:password --verbose
> GET /api/cloud/virtualdatacenters/3/publicips/purchased/1276 HTTP/1.1
> 
> User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
> Host: example.com
> Accept: application/vnd.abiquo.publicip+xml; version=2.6
> 
< HTTP/1.1 200 OK
< Server: Apache-Coyote/1.1
< Set-Cookie: auth=YWRtaW46MTM4MDY0NjM2NjIwNzo3ZjU2ZTIyYTA5ZWJjMzM3Y2U5ZTczYzY0YmRjODIwZDpBQklRVU8; Expires=Tue, 01-Oct-2013 16:52:46 GMT; Path=/api
< Set-Cookie: JSESSIONID=B00BF7AFDEE82A7C78A3695BB35E4A82; Path=/api
< Content-Type: application/vnd.abiquo.publicip+xml;version=2.6
< Content-Length: 1063
< Date: Tue, 01 Oct 2013 16:22:46 GMT
< 

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<publicip>
    <link title="B_Public_Network" rel="publicnetwork" type="application/vnd.abiquo.vlan+xml" href="http://example.com:80/api/admin/datacenters/1/network/6"/>
    <link title="purchased ips" rel="purchased" type="application/vnd.abiquo.publicips+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/purchased"/>
    <link title="10.5.5.242" rel="edit" type="application/vnd.abiquo.publicips+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/publicips/purchased/1276"/>
    <link title="PUT" rel="release" type="application/vnd.abiquo.publicip+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/publicips/topurchase/1276"/>
    <link title="BB_VDC_01" rel="virtualdatacenter" type="application/vnd.abiquo.virtualdatacenter+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3"/>
    <id>1276</id>
    <ip>10.5.5.242</ip>
    <mac>52:54:00:D2:63:BE</mac>
    <name>525400D263BE_host</name>
    <networkName>B_Public_Network</networkName>
    <available>true</available>
    <quarantine>false</quarantine>
</publicip>

Retrieve the list of purchased public IPs

Retrieve the list of purchased public IPs. These are the public IPs available to be used in any of the virtual machines defined in the Virtual Datacenter.

Paging Method

This method works with paging. Check out Basic Behaviors for information about how it works

Synopsis: GET http://example.com/api/cloud/virtualdatacenters/{virtualdatacenter}//publicips/purchased
Roles Required:
Request Headers: Accept: application/vnd.abiquo.publicips+xml; version=2.6; 
Request Parameters:

Parameter

Required

Default Value

Description

onlyavailable

false

false

 

startwith

false

0

first element to retrieve.

by

false

ip

how to order the search.

has

false

 

a way to filter the search.

limit

false

25

number of elements to retrieve.

asc

false

true

the way to order the search (ascending-> true, descending -> false). ascending by
default.

vlanId

false

 

 

Request Message Body Entity:
Response Message Body Entity: PublicIps Media Type
Request Example:

 Click here to show or hide the request example
Retrieve the list of purchased public IPs example
$ curl -X GET http://example.com/api/cloud/virtualdatacenters/1/publicips/purchased\
	 -H 'Accept: application/vnd.abiquo.publicips+xml;version=2.6'	\
	 -u user:password --verbose

> GET /api/cloud/virtualdatacenters/3/publicips/purchased HTTP/1.1
> 
> User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
> Host: example.com
> Accept: application/vnd.abiquo.publicips+xml; version=2.6
> 
< HTTP/1.1 200 OK
< Server: Apache-Coyote/1.1
< Set-Cookie: auth=YWRtaW46MTM4MDY0NjE2NjM3MTozMTQ1MDI4ZTI3NzFiNjlkNTFmYjQ3ZjU1YmQ0ZmM0YTpBQklRVU8; Expires=Tue, 01-Oct-2013 16:49:26 GMT; Path=/api
< Set-Cookie: JSESSIONID=A7FF3DD77D3FC38524B77F4D902C2A77; Path=/api
< Content-Type: application/vnd.abiquo.publicips+xml;version=2.6
< Content-Length: 2367
< Date: Tue, 01 Oct 2013 16:19:26 GMT
< 

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<publicips>
    <link rel="first" href="http://example.com:80/api/cloud/virtualdatacenters/3/publicips/purchased?limit=25&amp;by=ip"/>
    <link rel="last" href="http://example.com:80/api/cloud/virtualdatacenters/3/publicips/purchased?startwith=0&amp;limit=25&amp;by=ip"/>
    <totalSize>2</totalSize>
    <publicip>
        <link title="B_Public_Network" rel="publicnetwork" type="application/vnd.abiquo.vlan+xml" href="http://example.com:80/api/admin/datacenters/1/network/6"/>
        <link title="purchased ips" rel="purchased" type="application/vnd.abiquo.publicips+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/purchased"/>
        <link title="10.5.5.242" rel="edit" type="application/vnd.abiquo.publicips+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/publicips/purchased/1276"/>
        <link title="PUT" rel="release" type="application/vnd.abiquo.publicip+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/publicips/topurchase/1276"/>
        <link title="BB_VDC_01" rel="virtualdatacenter" type="application/vnd.abiquo.virtualdatacenter+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3"/>
        <id>1276</id>
        <ip>10.5.5.242</ip>
        <mac>52:54:00:D2:63:BE</mac>
        <name>525400D263BE_host</name>
        <networkName>B_Public_Network</networkName>
        <available>true</available>
        <quarantine>false</quarantine>
    </publicip>
    <publicip>
        <link title="B_Public_Network" rel="publicnetwork" type="application/vnd.abiquo.vlan+xml" href="http://example.com:80/api/admin/datacenters/1/network/6"/>
        <link title="purchased ips" rel="purchased" type="application/vnd.abiquo.publicips+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/purchased"/>
        <link title="10.5.5.243" rel="edit" type="application/vnd.abiquo.publicips+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/publicips/purchased/1277"/>
        <link title="PUT" rel="release" type="application/vnd.abiquo.publicip+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/publicips/topurchase/1277"/>
        <link title="BB_VDC_01" rel="virtualdatacenter" type="application/vnd.abiquo.virtualdatacenter+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3"/>
        <id>1277</id>
        <ip>10.5.5.243</ip>
        <mac>52:54:00:67:99:28</mac>
        <name>525400679928_host</name>
        <networkName>B_Public_Network</networkName>
        <available>true</available>
        <quarantine>false</quarantine>
    </publicip>
</publicips>

Retrieve the list of public IPs to be purchased by a Virtual Datacenter

Get a list of public IPs available to be purchased by a Virtual Datacenter. These are the public IPs offered by a Datacenter and available to be adquired by Virtual Datacenters. Until the IPs are purchased, they cannot be used by any Virtual Machine in the VDC.

Paging Method

This method works with paging. Check out Basic Behaviors for information about how it works

Synopsis: GET http://example.com/api/cloud/virtualdatacenters/{virtualdatacenter}//publicips/topurchase
Roles Required:
Request Headers: Accept: application/vnd.abiquo.publicips+xml; version=2.6;
Request Parameters:

Parameter

Required

Default Value

Description

startwith

false

0

first element to retrieve.

by

false

ip

how to order the search.

has

false

 

a way to filter the search.

limit

false

25

number of elements to retrieve.

asc

false

true

the way to order the search (ascending-> true, descending -> false). ascending by
default.

vlanId

false

 

 

Request Message Body Entity:
Response Message Body Entity: PublicIps Media Type
Request Example:

 Click here to show or hide the request example
Retrieve the list of public IPs to be purchased by a Virtual Datacenter example
$ curl -X GET http://example.com/api/cloud/virtualdatacenters/1/publicips/topurchase\
	 -H 'Accept: application/vnd.abiquo.publicips+xml;version=2.6'	\
	 -u user:password --verbose
> GET /api/cloud/virtualdatacenters/3/publicips/topurchase HTTP/1.1
> 
> User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
> Host: example.com
> Accept: application/vnd.abiquo.publicips+xml; version=2.6
> 
< HTTP/1.1 200 OK
< Server: Apache-Coyote/1.1
< Set-Cookie: auth=YWRtaW46MTM4MDY0Njc0NjkyNTo0OWI2YzI0YTQyMjBiMmFhMTNkZjliYWRiYWViYzZiYzpBQklRVU8; Expires=Tue, 01-Oct-2013 16:59:06 GMT; Path=/api
< Set-Cookie: JSESSIONID=C81C5397AAD079B8EE402507FFF4A9BD; Path=/api
< Content-Type: application/vnd.abiquo.publicips+xml;version=2.6
< Content-Length: 1911
< Date: Tue, 01 Oct 2013 16:29:07 GMT
< 

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<publicips>
    <link rel="first" href="http://example.com:80/api/cloud/virtualdatacenters/3/publicips/topurchase?limit=25&amp;by=ip"/>
    <link rel="last" href="http://example.com:80/api/cloud/virtualdatacenters/3/publicips/topurchase?startwith=0&amp;limit=25&amp;by=ip"/>
    <totalSize>2</totalSize>
    <publicip>
        <link title="B_Public_Network" rel="publicnetwork" type="application/vnd.abiquo.vlan+xml" href="http://example.com:80/api/admin/datacenters/1/network/6"/>
        <link title="ips to purchase" rel="topurchase" type="application/vnd.abiquo.publicips+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/publicips/topurchase"/>
        <link title="10.5.5.244" rel="edit" type="application/vnd.abiquo.publicips+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/publicips/topurchase/1278"/>
        <link title="PUT" rel="purchased" type="purchase" href="http://example.com:80/api/cloud/virtualdatacenters/3/publicips/purchased/1278"/>
        <id>1278</id>
        <ip>10.5.5.244</ip>
        <networkName>B_Public_Network</networkName>
        <available>true</available>
        <quarantine>false</quarantine>
    </publicip>
    <publicip>
        <link title="B_Public_Network" rel="publicnetwork" type="application/vnd.abiquo.vlan+xml" href="http://example.com:80/api/admin/datacenters/1/network/6"/>
        <link title="ips to purchase" rel="topurchase" type="application/vnd.abiquo.publicips+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/publicips/topurchase"/>
        <link title="10.5.5.245" rel="edit" type="application/vnd.abiquo.publicips+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/publicips/topurchase/1279"/>
        <link title="PUT" rel="purchased" type="purchase" href="http://example.com:80/api/cloud/virtualdatacenters/3/publicips/purchased/1279"/>
        <id>1279</id>
        <ip>10.5.5.245</ip>
        <networkName>B_Public_Network</networkName>
        <available>true</available>
        <quarantine>false</quarantine>
    </publicip>
</publicips>

Retrieve a public IP to be purchased by a Virtual Datacenter

Retrieve a public IP to be purchased by a Virtual Datacenter.
Synopsis: GET http://example.com/api/cloud/virtualdatacenters/{virtualdatacenter}//publicips/topurchase/{ip}
Roles Required:
Request Headers: Accept: application/vnd.abiquo.publicip+xml; version=2.6; 
Request Parameters:

Parameter

Required

Default Value

Description

 

 

 

 

Request Message Body Entity:
Response Message Body Entity: PublicIp Media Type
Request Example:

 Click here to show or hide the request example
Retrieve a public IP to be purchased by a Virtual Datacenter example
$ curl -X GET http://example.com/api/cloud/virtualdatacenters/1/publicips/topurchase/1278\
	 -H 'Accept: application/vnd.abiquo.publicips+xml;version=2.6'	\
	 -u user:password --verbose

> GET /api/cloud/virtualdatacenters/3/publicips/topurchase/1278 HTTP/1.1
> 
> User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
> Host: example.com
> Accept: application/vnd.abiquo.publicip+xml; version=2.6
> 
< HTTP/1.1 200 OK
< Server: Apache-Coyote/1.1
< Set-Cookie: auth=YWRtaW46MTM4MDcwNTMxNTQ1OTo1M2VlNWExMjYwZmE1N2ZkYmRlNzE4OTYzZjI0ZWExNDpBQklRVU8; Expires=Wed, 02-Oct-2013 09:15:15 GMT; Path=/api
< Set-Cookie: JSESSIONID=FC728E834E6FF200C88F6E4F5ED09C3F; Path=/api
< Content-Type: application/vnd.abiquo.publicip+xml;version=2.6
< Content-Length: 834
< Date: Wed, 02 Oct 2013 08:45:15 GMT
< 
{ [data not shown]
100   834  100   834    0     0   4540      0 --:--:-- --:--:-- --:--:--  4557
* Connection #0 to host example.com left intact
* Closing connection #0
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<publicip>
    <link title="B_Public_Network" rel="publicnetwork" type="application/vnd.abiquo.vlan+xml" href="http://example.com:80/api/admin/datacenters/1/network/6"/>
    <link title="ips to purchase" rel="topurchase" type="application/vnd.abiquo.publicips+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/publicips/topurchase"/>
    <link title="10.5.5.244" rel="edit" type="application/vnd.abiquo.publicips+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/publicips/topurchase/1278"/>
    <link title="PUT" rel="purchased" type="purchase" href="http://example.com:80/api/cloud/virtualdatacenters/3/publicips/purchased/1278"/>
    <id>1278</id>
    <ip>10.5.5.244</ip>
    <networkName>B_Public_Network</networkName>
    <available>true</available>
    <quarantine>false</quarantine>
</publicip>

Retrieve the public VLANs used in a Virtual Datacenter

Returns all the VLAN data related to public VLANs that can be used by this Virtual Datacenter.

Synopsis: GET http://example.com/api/cloud/virtualdatacenters/{virtualdatacenter}//publicvlans
Roles Required:
Request Headers: Accept: application/vnd.abiquo.vlans+xml; version=2.4; Content-type: ;
Request Parameters:

Parameter

Required

Default Value

Description

 

 

 

 

Request Message Body Entity:
Response Message Body Entity: VLANNetworks Media Type
Request Example:

 Click here to show or hide the request example
Retrieve the public VLANs used in a Virtual Datacenter example
$ curl -X GET http://example.com/api/cloud/virtualdatacenters/1/publicvlans \
	 -H 'Accept: application/vnd.abiquo.vlans+xml;version=2.6'	\
	 -u user:password --verbose
> GET /api/cloud/virtualdatacenters/3/publicvlans HTTP/1.1
> 
> User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
> Host: example.com
> Accept: application/vnd.abiquo.vlans+xml; version=2.6
> 
< HTTP/1.1 200 OK
< Server: Apache-Coyote/1.1
< Set-Cookie: auth=YWRtaW46MTM4MDY0Nzg0Nzk2MjplNmFmOWFiNjM5MTI0M2MzZDFiMmExYzEyNjE4YzU4MzpBQklRVU8; Expires=Tue, 01-Oct-2013 17:17:27 GMT; Path=/api
< Set-Cookie: JSESSIONID=3D08A169172581D3185FDF0D9BE052FF; Path=/api
< Content-Type: application/vnd.abiquo.vlans+xml;version=2.6
< Content-Length: 1121
< Date: Tue, 01 Oct 2013 16:47:28 GMT
< 

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<networks>
    <network>
        <link title="BCN Datacenter" rel="datacenter" type="application/vnd.abiquo.datacenter+xml" href="http://example.com:80/api/admin/datacenters/1"/>
        <link title="B_Public_Network" rel="edit" type="application/vnd.abiquo.vlan+xml" href="http://example.com:80/api/admin/datacenters/1/network/6"/>
        <link title="network services types" rel="networkservicetypes" type="application/vnd.abiquo.networkservicetypes+xml" href="http://example.com:80/api/admin/datacenters/1/networkservicetypes"/>
        <link title="Service Network" rel="networkservicetype" type="application/vnd.abiquo.vlan+xml" href="http://example.com:80/api/admin/datacenters/1/networkservicetypes/1"/>
        <link title="public ips" rel="ips" type="application/vnd.abiquo.publicips+xml" href="http://example.com:80/api/admin/datacenters/1/network/6/ips"/>
        <id>6</id>
        <name>B_Public_Network</name>
        <address>10.5.5.240</address>
        <mask>28</mask>
        <gateway>10.5.5.241</gateway>
        <primaryDNS></primaryDNS>
        <secondaryDNS></secondaryDNS>
        <sufixDNS></sufixDNS>
        <tag>99</tag>
        <type>PUBLIC</type>
        <dhcpOptions/>
    </network>
</networks>

Retrieve a Public Network in a Virtualdatacenter

Synopsis: GET http://example.com/api/cloud/virtualdatacenters/{virtualdatacenter}/publicvlans/{publicvlan}
Roles Required:
Request Headers: Accept: application/vnd.abiquo.vlan+xml; version=2.6; 
Request Parameters:

Parameter

Required

Default Value

Description

 

 

 

 

Request Message Body Entity:
Response Message Body Entity: VLANNetwork Media Type
Request Example:

 Click here to show or hide the request example
Retrieve a VLANNetworkDto entity. example
$ curl -X GET http://example.com/api/cloud/virtualdatacenters/3/publicvlans/6 \
	 -H 'Accept: application/vnd.abiquo.vlan+xml;version=2.6'	\
	 -u user:password --verbose
> GET /api/cloud/virtualdatacenters/3/publicvlans/6 HTTP/1.1
> 
> User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
> Host: example.com
> Accept: application/vnd.abiquo.vlan+xml; version=2.6
> 
< HTTP/1.1 200 OK
< Server: Apache-Coyote/1.1
< Set-Cookie: auth=YWRtaW46MTM4MDY0Nzk3MDA5Mzo5YTNlZGQ4MDBhYzI4NDczZTQxYTQ4NWFkNGQ0OWVjMTpBQklRVU8; Expires=Tue, 01-Oct-2013 17:19:30 GMT; Path=/api
< Set-Cookie: JSESSIONID=D1FA7BF7F8F788AB4CA0C26B0A17644A; Path=/api
< Content-Type: application/vnd.abiquo.vlan+xml;version=2.6
< Content-Length: 1100
< Date: Tue, 01 Oct 2013 16:49:30 GMT
< 

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<network>
    <link title="BCN Datacenter" rel="datacenter" type="application/vnd.abiquo.datacenter+xml" href="http://example.com:80/api/admin/datacenters/1"/>
    <link title="B_Public_Network" rel="edit" type="application/vnd.abiquo.vlan+xml" href="http://example.com:80/api/admin/datacenters/1/network/6"/>
    <link title="network services types" rel="networkservicetypes" type="application/vnd.abiquo.networkservicetypes+xml" href="http://example.com:80/api/admin/datacenters/1/networkservicetypes"/>
    <link title="Service Network" rel="networkservicetype" type="application/vnd.abiquo.vlan+xml" href="http://example.com:80/api/admin/datacenters/1/networkservicetypes/1"/>
    <link title="public ips" rel="ips" type="application/vnd.abiquo.publicips+xml" href="http://example.com:80/api/admin/datacenters/1/network/6/ips"/>
    <id>6</id>
    <name>B_Public_Network</name>
    <address>10.5.5.240</address>
    <mask>28</mask>
    <gateway>10.5.5.241</gateway>
    <primaryDNS></primaryDNS>
    <secondaryDNS></secondaryDNS>
    <sufixDNS></sufixDNS>
    <tag>99</tag>
    <type>PUBLIC</type>
    <dhcpOptions/>
</network>

Retrieve Unmanaged IPs from the virtual datacenter

Paging Method

This method works with paging. Check out Basic Behaviors for information about how it works

Synopsis: GET http://example.com/api/cloud/virtualdatacenters/{virtualdatacenter}//action/unmanagedips
Roles Required:
Request Headers: Accept: application/vnd.abiquo.unmanagedips+xml; version=2.6; 
Request Parameters:

Parameter

Required

Default Value

Description

startwith

false

 

first element to retrieve

by

false

ip

ordering the request ("ip" by default)

has

false

 

filter the request (empty by default)

limit

false

25

number of elements to return

asc

false

true

order ascending or descending (asc by default)

all

false

false

retrieve all results (false by default)

Request Message Body Entity:
Response Message Body Entity: UnmanagedIps Media Type
Request Example:

 Click here to show or hide the request example
Retrieve a UnmanagedIpsDto entity. example
$ curl -X GET http://10.60.20.60/api/cloud/virtualdatacenters/3/action/unmanagedips \
	 -H 'Accept: application/vnd.abiquo.unmanagedips+xml;version=2.6'	\
	 -u user:password --verbose
GET http://10.60.20.60/api/cloud/virtualdatacenters/1/action/unmanagedips  HTTP/1.1

Accept: application/vnd.abiquo.unmanagedips+xml;version=2.4
HTTP/1.1 200 OK
Date: Wed, 16 Jan 2013 14:07:19 GMT
Set-Cookie: JSESSIONID=A20259AB9B4F1000698868EDDBCAEF59; Path=/api
Set-Cookie: auth=YWRtaW46MTM1ODM0NzA0MDQxNTo5NDg0NjNmMzI0Y2M3YTc2MzAyOWIzZWFmZGU3OTZiODpBQklRVU8; Expires=Wed, 16-Jan-2013 14:37:20 GMT; Path=/api
Server: Apache-Coyote/1.1
Content-Type: application/vnd.abiquo.unmanagedips+xml; version=2.4
Content-Length: 3832

<unmanagedips>
    <link rel="first" href="http://example.com:80/api/cloud/virtualdatacenters/1/action/unmanagedips?limit=25&amp;by=ip"/><link rel="next" href="http://example.com:80/api/cloud/virtualdatacenters/1/action/unmanagedips?startwith=25&amp;limit=25&amp;by=ip"/>
    <link rel="last" href="http://example.com:80/api/cloud/virtualdatacenters/1/action/unmanagedips?startwith=229&amp;limit=25&amp;by=ip"/>
    <totalSize>254</totalSize>
    <unmanagedip>
        <link title="default_private_network" rel="internalnetwork" type="application/vnd.abiquo.vlan+xml" href="http://example.com:80/api/admin/enterprises/1/limits/1/externalnetworks/1"/><link rel="ips" type="application/vnd.abiquo.unmanagedips+xml" href="http://example.com:80/api/admin/enterprises/1/limits/1/externalnetworks/1/ips"/>
        <link title="unmanagedip" rel="self" type="application/vnd.abiquo.unmanagedip+xml" href="http://example.com:80/api/admin/enterprises/1/limits/1/externalnetworks/1/ips/1"/>
        <link title="vdc" rel="virtualdatacenter" type="application/vnd.abiquo.virtualdatacenter+xml" href="http://example.com:80/api/cloud/virtualdatacenters/1"/>
        <id>1</id><ip>192.168.0.1</ip><mac>52:54:00:36:26:91</mac><name>525400362691_host</name><networkName>default_private_network</networkName><available>true</available><quarantine>false</quarantine>
    </unmanagedip>
    <unmanagedip>
        <link title="default_private_network" rel="internalnetwork" type="application/vnd.abiquo.vlan+xml" href="http://example.com:80/api/admin/enterprises/1/limits/1/externalnetworks/1"/><link rel="ips" type="application/vnd.abiquo.unmanagedips+xml" href="http://example.com:80/api/admin/enterprises/1/limits/1/externalnetworks/1/ips"/>
        <link title="unmanagedip" rel="self" type="application/vnd.abiquo.unmanagedip+xml" href="http://example.com:80/api/admin/enterprises/1/limits/1/externalnetworks/1/ips/2"/>
        <link title="vdc" rel="virtualdatacenter" type="application/vnd.abiquo.virtualdatacenter+xml" href="http://example.com:80/api/cloud/virtualdatacenters/1"/>
        <id>2</id><ip>192.168.0.2</ip><mac>52:54:00:c9:e6:79</mac><name>525400c9e679_host</name><networkName>default_private_network</networkName><available>true</available><quarantine>false</quarantine>
    </unmanagedip>
<unmanagedips>

Retrieve a list of available virtual machine templates

Returns a list of virtual machine templates availables for the given datacenter. The idTemplate query parameter can be used to obtain only a single result in the templates list.

Paging Method

This method works with paging. Check out Basic Behaviors for information about how it works

Synopsis: GET http://example.com/api/cloud/virtualdatacenters/{virtualdatacenter}/action/templates
Roles Required: ROLE_VDC_ENUMERATE,ROLE_VDC_MANAGE,ROLE_VDC_MANAGE_VAPP
Request Headers: Accept: application/vnd.abiquo.virtualmachinetemplates+xml; version=2.6;
Request Parameters:

Parameter

Required

Default Value

Description

categoryName

false

 

name of a catagory

idTemplate

false

 

id of a virtual machine template

stateful

false

 

boolean to include stateful templates

imported

false

false

 

ostype

false

 

 

64bits

false

 

 

startwith

false

0

 

by

false

id

 

has

false

 

 

limit

false

25

 

asc

false

true

 

Request Message Body Entity:
Response Message Body Entity: VirtualMachineTemplates Media Type
Request Example:

 Click here to show or hide the request example
Retrieve a list of available virtual machine templates example
$ curl -X GET http://example.com/api/cloud/virtualdatacenters/3/action/templates?limit=2\
	 -H 'Accept: application/vnd.abiquo.virtualmachinetemplates+xml; version=2.6'	\
	 -u user:password --verbose

> GET /api/cloud/virtualdatacenters/3/action/templates?limit=2 HTTP/1.1
> 
> User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
> Host: example.com
> Accept: application/vnd.abiquo.virtualmachinetemplates+xml; version=2.6
> 
< HTTP/1.1 200 OK
< Server: Apache-Coyote/1.1
< Set-Cookie: auth=YWRtaW46MTM4MDcwNTA0NTc2Mzo0MzhmMDdhMjM0ZTg5ZGQ4NGQ2OGViMmI3NDYyNjkwMjpBQklRVU8; Expires=Wed, 02-Oct-2013 09:10:45 GMT; Path=/api
< Set-Cookie: JSESSIONID=23A1622C60EDC3595C85866BD4BDD29B; Path=/api
< Content-Type: application/vnd.abiquo.virtualmachinetemplates+xml;version=2.6
< Content-Length: 7151
< Date: Wed, 02 Oct 2013 08:40:45 GMT
< 

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<virtualMachineTemplates>
    <link rel="first" href="http://example.com:80/api/cloud/virtualdatacenters/3/action/templates?limit=2&amp;by=id"/>
    <link rel="next" href="http://example.com:80/api/cloud/virtualdatacenters/3/action/templates?startwith=2&amp;limit=2&amp;by=id"/>
    <link rel="last" href="http://example.com:80/api/cloud/virtualdatacenters/3/action/templates?startwith=40&amp;limit=2&amp;by=id"/>
    <totalSize>42</totalSize>
    <virtualMachineTemplate>
        <link title="BCN Datacenter" rel="datacenter" type="application/vnd.abiquo.datacenter+xml" href="http://example.com:80/api/admin/datacenters/1"/>
        <link title="Abiquo" rel="enterprise" type="application/vnd.abiquo.enterprise+xml" href="http://example.com:80/api/admin/enterprises/1"/>
        <link title="Others" rel="category" type="application/vnd.abiquo.category+xml" href="http://example.com:80/api/config/categories/1"/>
        <link title="00a5f25c-e9c5-4052-9dcb-20b7cfb72fed-snapshot-Core" rel="edit" type="application/vnd.abiquo.virtualmachinetemplate+xml" href="http://example.com:80/api/admin/enterprises/1/datacenterrepositories/1/virtualmachinetemplates/21"/>
        <link title="tasks" rel="tasks" type="application/vnd.abiquo.tasks+xml" href="http://example.com:80/api/admin/enterprises/1/datacenterrepositories/1/virtualmachinetemplates/21/tasks"/>
        <link title="repository" rel="datacenterrepository" type="application/vnd.abiquo.datacenterrepository+xml" href="http://example.com:80/api/admin/enterprises/1/datacenterrepositories/1"/>
        <link title="conversions" rel="conversions" type="application/vnd.abiquo.conversions+xml" href="http://example.com:80/api/admin/enterprises/1/datacenterrepositories/1/virtualmachinetemplates/21/conversions"/>
        <link title="virtual machines" rel="virtualmachines" type="application/vnd.abiquo.virtualmachines+xml" href="http://example.com:80/api/admin/enterprises/1/datacenterrepositories/1/virtualmachinetemplates/21/action/virtualmachines"/>
        <link title="Core" rel="master" type="application/vnd.abiquo.virtualmachinetemplate+xml" href="http://example.com:80/api/admin/enterprises/1/datacenterrepositories/1/virtualmachinetemplates/5"/>
        <link rel="template" href="http://example.com:80/am/erepos/1/templates/1/rs.bcn.abiquo.com/abiport9000/ovf/305/00a5f25c-e9c5-4052-9dcb-20b7cfb72fed-snapshot-Core.qcow2"/>
        <link rel="diskfile" href="http://example.com:80/am/files/1/rs.bcn.abiquo.com/abiport9000/ovf/305/00a5f25c-e9c5-4052-9dcb-20b7cfb72fed-snapshot-Core.qcow2"/>
        <link rel="templatedefinition" href="1/rs.bcn.abiquo.com/abiport9000/ovf/305/00a5f25c-e9c5-4052-9dcb-20b7cfb72fed-snapshot-Core.qcow2"/>
        <link rel="template" href="http://example.com:80/am/erepos/1/templates/1/rs.bcn.abiquo.com/abiport9000/ovf/305/00a5f25c-e9c5-4052-9dcb-20b7cfb72fed-snapshot-Core.qcow2"/>
        <link rel="diskfile" href="http://example.com:80/am/files/1/rs.bcn.abiquo.com/abiport9000/ovf/305/00a5f25c-e9c5-4052-9dcb-20b7cfb72fed-snapshot-Core.qcow2"/>
        <id>21</id>
        <name>00a5f25c-e9c5-4052-9dcb-20b7cfb72fed-snapshot-Core</name>
        <description>root : abiquo</description>
        <osType>UNRECOGNIZED</osType>
        <osVersion></osVersion>
        <path>1/rs.bcn.abiquo.com/abiport9000/ovf/305/00a5f25c-e9c5-4052-9dcb-20b7cfb72fed-snapshot-Core.qcow2</path>
        <diskFormatType>QCOW2_SPARSE</diskFormatType>
        <diskFileSize>12976128</diskFileSize>
        <cpuRequired>1</cpuRequired>
        <ramRequired>64</ramRequired>
        <hdRequired>104857600</hdRequired>
        <shared>false</shared>
        <state>DONE</state>
        <creationDate>2013-09-30T10:39:03+02:00</creationDate>
        <creationUser>SYSTEM</creationUser>
        <chefEnabled>false</chefEnabled>
        <iconUrl>http://rs.bcn.abiquo.com:9000/public/icons/tinycore.png</iconUrl>
        <loginUser>user</loginUser>
        <loginPassword>password</loginPassword>
        <ethernetDriverType>E1000</ethernetDriverType>
        <diskControllerType>SCSI</diskControllerType>
    </virtualMachineTemplate>
    <virtualMachineTemplate>
        <link title="BCN Datacenter" rel="datacenter" type="application/vnd.abiquo.datacenter+xml" href="http://example.com:80/api/admin/datacenters/1"/>
        <link title="Abiquo" rel="enterprise" type="application/vnd.abiquo.enterprise+xml" href="http://example.com:80/api/admin/enterprises/1"/>
        <link title="Others" rel="category" type="application/vnd.abiquo.category+xml" href="http://example.com:80/api/config/categories/1"/>
        <link title="01af7452-661a-436e-b96c-2cad7e4c6717-snapshot-Core" rel="edit" type="application/vnd.abiquo.virtualmachinetemplate+xml" href="http://example.com:80/api/admin/enterprises/1/datacenterrepositories/1/virtualmachinetemplates/23"/>
        <link title="tasks" rel="tasks" type="application/vnd.abiquo.tasks+xml" href="http://example.com:80/api/admin/enterprises/1/datacenterrepositories/1/virtualmachinetemplates/23/tasks"/>
        <link title="repository" rel="datacenterrepository" type="application/vnd.abiquo.datacenterrepository+xml" href="http://example.com:80/api/admin/enterprises/1/datacenterrepositories/1"/>
        <link title="conversions" rel="conversions" type="application/vnd.abiquo.conversions+xml" href="http://example.com:80/api/admin/enterprises/1/datacenterrepositories/1/virtualmachinetemplates/23/conversions"/>
        <link title="virtual machines" rel="virtualmachines" type="application/vnd.abiquo.virtualmachines+xml" href="http://example.com:80/api/admin/enterprises/1/datacenterrepositories/1/virtualmachinetemplates/23/action/virtualmachines"/>
        <link title="Core" rel="master" type="application/vnd.abiquo.virtualmachinetemplate+xml" href="http://example.com:80/api/admin/enterprises/1/datacenterrepositories/1/virtualmachinetemplates/5"/>
        <link rel="template" href="http://example.com:80/am/erepos/1/templates/1/rs.bcn.abiquo.com/abiport9000/ovf/305/01af7452-661a-436e-b96c-2cad7e4c6717-snapshot-Core.qcow2"/>
        <link rel="diskfile" href="http://example.com:80/am/files/1/rs.bcn.abiquo.com/abiport9000/ovf/305/01af7452-661a-436e-b96c-2cad7e4c6717-snapshot-Core.qcow2"/>
        <link rel="templatedefinition" href="1/rs.bcn.abiquo.com/abiport9000/ovf/305/01af7452-661a-436e-b96c-2cad7e4c6717-snapshot-Core.qcow2"/>
        <link rel="template" href="http://example.com:80/am/erepos/1/templates/1/rs.bcn.abiquo.com/abiport9000/ovf/305/01af7452-661a-436e-b96c-2cad7e4c6717-snapshot-Core.qcow2"/>
        <link rel="diskfile" href="http://example.com:80/am/files/1/rs.bcn.abiquo.com/abiport9000/ovf/305/01af7452-661a-436e-b96c-2cad7e4c6717-snapshot-Core.qcow2"/>
        <id>23</id>
        <name>01af7452-661a-436e-b96c-2cad7e4c6717-snapshot-Core</name>
        <description>root : abiquo</description>
        <osType>UNRECOGNIZED</osType>
        <osVersion></osVersion>
        <path>1/rs.bcn.abiquo.com/abiport9000/ovf/305/01af7452-661a-436e-b96c-2cad7e4c6717-snapshot-Core.qcow2</path>
        <diskFormatType>QCOW2_SPARSE</diskFormatType>
        <diskFileSize>12976128</diskFileSize>
        <cpuRequired>1</cpuRequired>
        <ramRequired>64</ramRequired>
        <hdRequired>104857600</hdRequired>
        <shared>false</shared>
        <state>DONE</state>
        <creationDate>2013-09-30T10:39:03+02:00</creationDate>
        <creationUser>SYSTEM</creationUser>
        <chefEnabled>false</chefEnabled>
        <iconUrl>http://rs.bcn.abiquo.com:9000/public/icons/tinycore.png</iconUrl>
        <loginUser>user</loginUser>
        <loginPassword>password</loginPassword>
        <ethernetDriverType>E1000</ethernetDriverType>
        <diskControllerType>SCSI</diskControllerType>
    </virtualMachineTemplate>
</virtualMachineTemplates>
</virtualMachineTemplates>

Purchase a public IP to be used in a Virtual Machine in the Virtual Datacenter

Purchase/acquire a public IP to be used in a Virtual Machine in the Virtual Datacenter.
Synopsis: PUT http://example.com/api/cloud/virtualdatacenters/{virtualdatacenter}/publicips/purchased/{ip}
Roles Required:
Request Headers: Accept: application/vnd.abiquo.publicip+xml; version=2.6; Content-type: application/vnd.abiquo.publicip+xml; version=2.6;
Request Parameters:

Parameter

Required

Default Value

Description

 

 

 

 

Request Message Body Entity:
Response Message Body Entity: PublicIp Media Type
Request Example:

 Click here to show or hide the request example
Purchase a public IP to be used in a Virtual Machine in the Virtual Datacenter example
$ curl -X PUT http://example.com/api/cloud/virtualdatacenters/3/publicips/purchased/1278 \
	 -H 'Accept: application/vnd.abiquo.publicip+xml; version=2.6'	\
	 -H 'Content-Type: application/vnd.abiquo.publicip+xml; version=2.6'	\
	 -d @entity.xml	\
	 -u user:password --verbose


> PUT /api/cloud/virtualdatacenters/3/publicips/purchased/1278 HTTP/1.1
> 
> User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
> Host: example.com
> Accept: application/vnd.abiquo.publicip+xml; version=2.6
> Content-type: application/vnd.abiquo.publicip+xml; version=2.6
> Content-Length: 870
> 

< HTTP/1.1 200 OK
< Server: Apache-Coyote/1.1
< Set-Cookie: auth=YWRtaW46MTM4MDcwNTg3MTA3OTpmODY3YWI1Y2MwMWU3MTE0NGM4MjJiNTAyM2EyZTcwODpBQklRVU8; Expires=Wed, 02-Oct-2013 09:24:31 GMT; Path=/api
< Set-Cookie: JSESSIONID=171E87B7E05A42DA60C74FA10A8B86B6; Path=/api
< Content-Type: application/vnd.abiquo.publicip+xml;version=2.6
< Content-Length: 1063
< Date: Wed, 02 Oct 2013 08:54:31 GMT
< 

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<publicip>
    <link title="B_Public_Network" rel="publicnetwork" type="application/vnd.abiquo.vlan+xml" href="http://example.com:80/api/admin/datacenters/1/network/6"/>
    <link title="purchased ips" rel="purchased" type="application/vnd.abiquo.publicips+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/purchased"/>
    <link title="10.5.5.244" rel="edit" type="application/vnd.abiquo.publicips+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/publicips/purchased/1278"/>
    <link title="PUT" rel="release" type="application/vnd.abiquo.publicip+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/publicips/topurchase/1278"/>
    <link title="BB_VDC_01" rel="virtualdatacenter" type="application/vnd.abiquo.virtualdatacenter+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3"/>
    <id>1278</id>
    <ip>10.5.5.244</ip>
    <mac>52:54:00:B6:63:F1</mac>
    <name>525400B663F1_host</name>
    <networkName>B_Public_Network</networkName>
    <available>true</available>
    <quarantine>false</quarantine>
</publicip>

Release a public IP that will not be used any more in the Virtual Datacenter

Release a public IP that will not be used any more in the Virtual Datacenter.
Synopsis: PUT http://example.com/api/cloud/virtualdatacenters/{virtualdatacenter}/publicips/topurchase/{ip}
Roles Required:
Request Headers: Accept: application/vnd.abiquo.publicip+xml; version=2.6; Content-type: application/vnd.abiquo.publicip+xml; version=2.6;
Request Parameters:

Parameter

Required

Default Value

Description

 

 

 

 

Request Message Body Entity:
Response Message Body Entity: PublicIp Media Type
Request Example:

 Click here to show or hide the request example
Release a public IP that will not be used any more in the Virtual Datacenter example
$ curl -X PUT http://example.com/api/cloud/virtualdatacenters/1/publicips/topurchase/1278 \
	 -H 'Accept: application/vnd.abiquo.publicip+xml; version=2.6'	\
	 -H 'Content-Type: application/vnd.abiquo.publicip+xml; version=2.6'	\
	 -d @entity.xml	\
	 -u user:password --verbose
> PUT /api/cloud/virtualdatacenters/3/publicips/topurchase/1278 HTTP/1.1
> 
> User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
> Host: example.com
> Accept: application/vnd.abiquo.publicip+xml; version=2.6
> Content-type: application/vnd.abiquo.publicip+xml; version=2.6
> Content-Length: 870
> 

< HTTP/1.1 200 OK
< Server: Apache-Coyote/1.1
< Set-Cookie: auth=YWRtaW46MTM4MDcwNjA1NjA1NzpiNGQ4YjM4YWFlMTQzM2EzNmEwNGRmODkyNzU5ZjViYTpBQklRVU8; Expires=Wed, 02-Oct-2013 09:27:36 GMT; Path=/api
< Set-Cookie: JSESSIONID=B28DE5F6D37A4493B34D0E267ACE9DD1; Path=/api
< Content-Type: application/vnd.abiquo.publicip+xml;version=2.6
< Content-Length: 834
< Date: Wed, 02 Oct 2013 08:57:36 GMT
< 

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<publicip>
    <link title="B_Public_Network" rel="publicnetwork" type="application/vnd.abiquo.vlan+xml" href="http://example.com:80/api/admin/datacenters/1/network/6"/>
    <link title="ips to purchase" rel="topurchase" type="application/vnd.abiquo.publicips+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/publicips/topurchase"/>
    <link title="10.5.5.244" rel="edit" type="application/vnd.abiquo.publicips+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/publicips/topurchase/1278"/>
    <link title="PUT" rel="purchased" type="purchase" href="http://example.com:80/api/cloud/virtualdatacenters/3/publicips/purchased/1278"/>
    <id>1278</id>
    <ip>10.5.5.244</ip>
    <networkName>B_Public_Network</networkName>
    <available>true</available>
    <quarantine>false</quarantine>
</publicip>


Set the Default VLAN of the Virtual Datacenter

Set a network as the default VLAN. Send the link to the network in a links DTO.

Please note: the 'rel' value must be "externalnetwork", "publicnetwork" or "internalnetwork" (internalnetwork is used for private networks). Change the retrieved network rel link, e.g. rel="edit", to the appropriate rel value, for example, rel="internalnetwork".

Successful update returns 204 no content.
Synopsis: PUT http://example.com/api/cloud/virtualdatacenters/{virtualdatacenter}/action/defaultvlan
Roles Required:
Request Headers: Accept: */*; Content-type: application/vnd.abiquo.links+xml; version=2.6;
Request Parameters:

Parameter

Required

Default Value

Description

 

 

 

 

Request Message Body Entity: Links Media Type
Response Message Body Entity:
Request Example:

 Click here to show or hide the request example
Set the Default VLAN of the Virtual Datacenter example
$ curl -X PUT http://example.com/api/cloud/virtualdatacenters/3/action/defaultvlan \
	 -H 'Content-Type: application/vnd.abiquo.links+xml; version=2.6'	\
	 -d @entity.xml	\
	 -u user:password --verbose
> PUT /api/cloud/virtualdatacenters/3/action/defaultvlan HTTP/1.1
> 
> User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
> Host: example.com
> Accept: */*
> Content-type: application/vnd.abiquo.links+xml; version=2.6
> Content-Length: 172
> 

< HTTP/1.1 204 No Content
< Server: Apache-Coyote/1.1
< Set-Cookie: auth=YWRtaW46MTM4MDcxMzgzNjc3MzpiNmY5M2UzMTdkMjdiZjBiNTRjNjM0YzAwOTEwNjdjMDpBQklRVU8; Expires=Wed, 02-Oct-2013 11:37:16 GMT; Path=/api
< Set-Cookie: JSESSIONID=F4A4BDCF9FA39319BA6830876AF179DB; Path=/api
< Date: Wed, 02 Oct 2013 11:07:16 GMT
< 

Download a template

You can download the template of the entity here (click right mouse button and 'Save Link As..')

Modify a Virtual Datacenter

Modify a virtual datacenter.
Synopsis: PUT http://example.com/api/cloud/virtualdatacenters/{virtualdatacenter}
Roles Required: ROLE_VDC_MANAGE
Request Headers: Accept: application/vnd.abiquo.virtualdatacenter+xml; version=2.6; Content-type: application/vnd.abiquo.virtualdatacenter+xml; version=2.6;
Request Parameters:

Parameter

Required

Default Value

Description

 

 

 

 

Request Message Body Entity: VirtualDatacenter Media Type
Response Message Body Entity: VirtualDatacenter Media Type
Request Example:

 Click here to show or hide the request example
Modify a Virtual Datacenter example
$ curl -X PUT http://example.com/api/cloud/virtualdatacenters/3\
	 -H 'Accept: application/vnd.abiquo.virtualdatacenter+xml; version=2.6'	\
	 -H 'Content-Type: application/vnd.abiquo.virtualdatacenter+xml; version=2.6'	\
	 -d @entity.xml	\
	 -u user:password --verbose

> PUT /api/cloud/virtualdatacenters/3 HTTP/1.1
> User-Agent: curl/7.22.0 (x86_64-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
> Host: example.com
> Accept: application/vnd.abiquo.virtualdatacenter+xml; version=2.6
> Content-type: application/vnd.abiquo.virtualdatacenter+xml; version=2.6
> Content-Length: 4595
> Expect: 100-continue
> 
< HTTP/1.1 100 Continue

< HTTP/1.1 200 OK
< Server: Apache-Coyote/1.1
< Set-Cookie: auth=YWRtaW46MTM4MDcxODkzMDEyNjpkMDUzMzUxZTY3YjdlNGU2YWJlZDE4YzI0N2NmODJlYjpBQklRVU8; Expires=Wed, 02-Oct-2013 13:02:10 GMT; Path=/api
< Set-Cookie: JSESSIONID=72E0286B1B267A2203E3BA132C9B8038; Path=/api
< Content-Type: application/vnd.abiquo.virtualdatacenter+xml;version=2.6
< Content-Length: 4384
< Date: Wed, 02 Oct 2013 12:32:10 GMT
< 

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<virtualDatacenter>
    <link title="B_VDC_01" rel="edit" type="application/vnd.abiquo.virtualdatacenter+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3"/>
    <link title="private networks" rel="privatenetworks" type="application/vnd.abiquo.vlans+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/privatenetworks"/>
    <link title="BCN Datacenter" rel="datacenter" type="application/vnd.abiquo.datacenter+xml" href="http://example.com:80/api/admin/datacenters/1"/>
    <link title="public networks" rel="network" type="application/vnd.abiquo.vlans+xml" href="http://example.com:80/api/admin/datacenters/1/network"/>
    <link title="Abiquo" rel="enterprise" type="application/vnd.abiquo.enterprise+xml" href="http://example.com:80/api/admin/enterprises/1"/>
    <link title="virtual appliances" rel="virtualappliances" type="application/vnd.abiquo.virtualappliances+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/virtualappliances"/>
    <link title="private ips" rel="privateips" type="application/vnd.abiquo.privateips+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/action/privateips"/>
    <link title="external ips" rel="externalips" type="application/vnd.abiquo.externalips+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/action/externalips"/>
    <link title="unmanaged ips" rel="unmanagedips" type="application/vnd.abiquo.unmanagedips+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/action/unmanagedips"/>
    <link title="GET" rel="defaultvlan" type="application/vnd.abiquo.vlan+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/action/defaultvlan"/>
    <link title="PUT" rel="defaultvlan" type="application/vnd.abiquo.links+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/action/defaultvlan"/>
    <link title="volumes" rel="volumes" type="application/vnd.abiquo.volumes+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/volumes"/>
    <link title="B_Public_Network" rel="defaultvlan" type="application/vnd.abiquo.vlan+xml" href="http://example.com:80/api/admin/enterprises/1/action/publicnetworks/6"/>
    <link title="disks" rel="disks" type="application/vnd.abiquo.harddisks+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/disks"/>
    <link title="ips to purchase" rel="topurchase" type="application/vnd.abiquo.publicips+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/publicips/topurchase"/>
    <link title="ips purchased" rel="purchased" type="application/vnd.abiquo.publicips+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/publicips/purchased"/>
    <link title="volumes" rel="statefulcandidates" type="application/vnd.abiquo.volumes+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/volumes/action/statefulcandidates"/>
    <link title="tiers" rel="tiers" type="application/vnd.abiquo.tiers+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/tiers"/>
    <link title="available templates" rel="templates" type="application/vnd.abiquo.virtualmachinetemplates+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/action/templates"/>
    <cpuHard>0</cpuHard>
    <cpuSoft>0</cpuSoft>
    <ramHard>0</ramHard>
    <ramSoft>0</ramSoft>
    <hdHard>0</hdHard>
    <hdSoft>0</hdSoft>
    <storageHard>0</storageHard>
    <storageSoft>0</storageSoft>
    <vlansHard>0</vlansHard>
    <vlansSoft>0</vlansSoft>
    <publicIpsHard>0</publicIpsHard>
    <publicIpsSoft>0</publicIpsSoft>
    <id>3</id>
    <hypervisorType>KVM</hypervisorType>
    <name>B_VDC_01</name>
    <network>
        <link title="B_VDC_01" rel="virtualdatacenter" type="application/vnd.abiquo.virtualdatacenter+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3"/>
        <link title="B_Public_Network" rel="edit" type="application/vnd.abiquo.vlan+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/privatenetworks/6"/>
        <link title="ips" rel="ips" type="application/vnd.abiquo.privateips+xml" href="http://example.com:80/api/cloud/virtualdatacenters/3/privatenetworks/6/ips"/>
        <link title="Service Network" rel="networkservicetype" type="application/vnd.abiquo.vlan+xml" href="http://example.com:80/api/admin/datacenters/1/networkservicetypes/1"/>
        <id>6</id>
        <name>B_Public_Network</name>
        <address>10.5.5.240</address>
        <mask>28</mask>
        <gateway>10.5.5.241</gateway>
        <primaryDNS></primaryDNS>
        <secondaryDNS></secondaryDNS>
        <sufixDNS></sufixDNS>
        <tag>99</tag>
        <type>PUBLIC</type>
        <dhcpOptions/>
    </network>
</virtualDatacenter>

Download a template

You can download the template of the entity here (click right mouse button and 'Save Link As..')