Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

Introduction

This page describes how to create a virtual datacenter and deploy a VM.

This tutorial is suitable for a test environment only and it does not use proper authentication.

You will need the following resources.

Your user role must include the following privileges.

  • A user privilege, e.g. MANAGE_USERS, to retrieve enterprises

  • VDC_MANAGE

  • VDC_MANAGE_VAPP

  • VAPP_DEPLOY_UNDEPLOY

The following pages contain background reference information for this tutorial:

Summary diagram

Detailed steps

...

The steps in this diagram link to the

...

API reference guide resources and data entities sections.

Mermaid
fileNamemermaid_1655195963673
themeneutral
version3
{"diagramDefinition":"graph TD\n\nZ(( ))\n\nstyle Z fill:#g1g,stroke:#100,stroke-width:20px\n\nZ-->A(Requires: Allowed location and<br/>VM template in Apps library)\n\nA -->B(<font color=0052cc>Get enterprise)\n\nclick B href \"https://wiki.abiquo.com/api/latest/EnterprisesResource.html#list-enterprise-identifiers-and-names

...

cURL

...

\" _blank\n\nB -->C(<font color=0052cc>Get allowed datacenters)\n\nclick C href \"https://

...

wiki.abiquo.com

...

/api/

...

Sample response. Success response code: 200
Note: this request returns a collection of enterprises

...

latest/AllowedLocationsResource.html#list-location-of-allowed-datacenters\" _blank\n\nB-->D(<font color=0052cc>Get allowed<br/>public cloud regions)\n\nclick D href \"https://wiki.abiquo.com/api/latest/AllowedLocationsResource.html#list-location-of-allowed-public-cloud-regions\" _blank\n\nC-->E(<font color=0052cc>Create VDC object)\n\nclick E href \"https://wiki.abiquo.com/api/latest/virtualdatacenter.html\" _blank\n\nD-->E\n\nE-->F(<font color=0052cc>Create the VDC)\n\nclick F href \"https://wiki.abiquo.com/api/latest/VirtualDatacentersResource.html#create-a-virtual-datacenter\" _blank\n\nF-->G(Create a virtual appliance)\n\nG-->H(Get compatible templates)\n\nH-->I(Create the VM entity)\n\nI-->J(Create a VM)\n\nJ-->K(Deploy the VM)\n\nK-->Q((<fontcolour=f3efe6> * ))\n\tstyle Q fill:#f3efe6,stroke:#030300,stroke-width:7px,color:#f3efe6"}

Detailed steps

...

  1. Get the link to the enterprise

    1. Get smaller result entity with the enterprises-id-name media type

    2. Specify the enterprise name with the "has" parameter to filter by name text

    3. Reference

      1. https://wiki.abiquo.com/api/latest/EnterprisesResource.html#list-enterprise-identifiers-and-names

    4. cURL

      Code Block
      curl -X GET https://abiquoapi.bcn.abiquo.com:443/api/admin/enterprises?
      startwith=0&limit=25&
      has=video
      "
       \ 
      	 -H 'Accept:application/vnd.abiquo.enterprises-id-name+json; version=4.7' \ 
      
      }
      	 -u 
      ]
      user:password --verbose


    5. Sample response. Success response code: 200
      Note: this request returns a collection of enterprises

      Code Block
      {
          "totalSize": 1,
          "
      collection
      links": [
              {
                  "
      id
      rel": 
      15
      "first",
                  "
      name
      href": "
      Video_enterprise",
      https://abiquoapi.bcn.abiquo.com:443/api/admin/enterprises?limit=25&has=video"
              },
             
      "vmsSoft": 0,
       {
                  "
      vmsHard
      rel": 
      0
      "last",
                  "
      vlansSoft
      href": 
      0,
      "https://abiquoapi.bcn.abiquo.com:443/api/admin/enterprises?startwith=0&limit=25&has=video"
              }
         
      "vlansHard":
       
      0
      ],
          "collection": [
              {
                  "id": 15,
                  "name": "Video_enterprise",
                  "vmsSoft": 0,
                  "vmsHard": 0,
                  "vlansSoft": 0,
                  "vlansHard": 0,
                  "publicIpsSoft": 0,
                  "publicIpsHard": 0,
                  "links": [
                      {
                          "title": "Video_enterprise",
                          "rel": "edit",
                          "type": "application/vnd.abiquo.enterprise+json",
                          "href": "https://abiquoapi.bcn.abiquo.com:443/api/admin/enterprises/15"
                      }
                  ],
                  "ramSoft": 0,
                  "ramHard": 0,
                  "cpuSoft": 0,
                  "cpuHard": 0
              }
          ]
      }


    6. You will need the edit link of the enterprise

      Code Block
                      {
                          "title": "Video_enterprise",
                          "rel": "edit",
                          "type": "application/vnd.abiquo.enterprise+json",
                          "href": "https://abiquoapi.bcn.abiquo.com:443/api/admin/enterprises/15"
                      }


  2. Get allowed locations for the current enterprise

    1. Specify datacenters or publiccloudregions using the media type in the Accept header

    2. Cloud admin can use the "enterprise" parameter to get locations for another enterprise by ID 

    3. References: 

      1. https://wiki.abiquo.com/api/latest/AllowedLocationsResource.html#list-location-of-allowed-datacenters

      2. https://wiki.abiquo.com/api/latest/AllowedLocationsResource.html#list-location-of-allowed-public-cloud-regions

    4. cURL

      Code Block
      curl -X GET https://abiquoapi.bcn.abiquo.com:443/api/cloud/locations?has=Abiquo \ 
      	 -H 'Accept:application/vnd.abiquo.datacenters+json; version=4.7' \ 
      	 -u user:password --verbose 


    5. Sample response. Success status code: 200
      Note: This request returns a collection of allowed locations

      expand

      Code Block
      {
          "totalSize": 1,
          "links": [
              {
                  "rel": "first",
                  "href": "https://.bcn.abiquo.com:443/api/cloud/locations?limit=25&has=Abiquo&by=name&asc=true"
              },
              {
                  "rel": "last",
                  "href": "https://.bcn.abiquo.com:443/api/cloud/locations?startwith=0&limit=25&has=Abiquo&by=name&asc=true"
              }
          ],
          "collection": [
              {
                  "id": 1,
                  "name": "Abiquo-DC",
                  "location": "Teide",
                  "links": [
                      {
                          "title": "Abiquo-DC",
                          "rel": "edit",
                          "type": "application/vnd.abiquo.datacenter+json",
                          "href": "https://.bcn.abiquo.com:443/api/admin/datacenters/1"
                      },
                      {
                          "title": "racks",
                          "rel": "racks",
                          "type": "application/vnd.abiquo.racks+json",
                          "href": "https://.bcn.abiquo.com:443/api/admin/datacenters/1/racks"
                      },
                      {
                          "title": "remote services",
                          "rel": "remoteservices",
                          "type": "application/vnd.abiquo.remoteservices+json",
                          "href": "https://.bcn.abiquo.com:443/api/admin/datacenters/1/remoteservices"
                      },
                      {
                          "title": "update resources",
                          "rel": "updateusedresources",
                          "type": "",
                          "href": "https://.bcn.abiquo.com:443/api/admin/datacenters/1/action/updateusedresources"
                      },
                      {
                          "title": "datastores",
                          "rel": "datastores",
                          "type": "application/vnd.abiquo.datastores+json",
                          "href": "https://.bcn.abiquo.com:443/api/admin/datacenters/1/datastores"
                      },
                      {
                          "title": "hypervisors",
                          "rel": "hypervisors",
                          "type": "application/vnd.abiquo.hypervisortypes+json",
                          "href": "https://.bcn.abiquo.com:443/api/admin/datacenters/1/hypervisors"
                      },
                      {
                          "title": "enterprises",
                          "rel": "enterprises",
                          "type": "application/vnd.abiquo.enterprises+json",
                          "href": "https://.bcn.abiquo.com:443/api/admin/datacenters/1/action/enterprises"
                      },
                      {
                          "title": "discover",
                          "rel": "discover",
                          "type": "application/vnd.abiquo.machines+json",
                          "href": "https://.bcn.abiquo.com:443/api/admin/datacenters/1/action/discover"
                      },
                      {
                          "title": "machines state",
                          "rel": "checkmachinestate",
                          "type": "application/vnd.abiquo.machinestate+json",
                          "href": "https://.bcn.abiquo.com:443/api/admin/datacenters/1/action/checkmachinestate"
                      },
                      {
                          "title": "machines ipmi",
                          "rel": "checkmachineipmistate",
                          "type": "application/vnd.abiquo.machineipmistate+json",
                          "href": "https://.bcn.abiquo.com:443/api/admin/datacenters/1/action/checkmachineipmistate"
                      },
                      {
                          "title": "tiers",
                          "rel": "tiers",
                          "type": "application/vnd.abiquo.tiers+json",
                          "href": "https://.bcn.abiquo.com:443/api/admin/datacenters/1/storage/tiers"
                      },
                      {
                          "title": "storage devices",
                          "rel": "devices",
                          "type": "application/vnd.abiquo.storagedevices+json",
                          "href": "https://.bcn.abiquo.com:443/api/admin/datacenters/1/storage/devices"
                      },
                      {
                          "title": "devices",
                          "rel": "devices",
                          "type": "application/vnd.abiquo.devices+json",
                          "href": "https://.bcn.abiquo.com:443/api/admin/datacenters/1/devices"
                      },
                      {
                          "title": "network service types",
                          "rel": "networkservicetypes",
                          "type": "application/vnd.abiquo.networkservicetypes+json",
                          "href": "https://.bcn.abiquo.com:443/api/admin/datacenters/1/networkservicetypes"
                      },
                      {
                          "title": "public networks",
                          "rel": "network",
                          "type": "application/vnd.abiquo.vlans+json",
                          "href": "https://.bcn.abiquo.com:443/api/admin/datacenters/1/network"
                      },
                      {
                          "title": "external ips",
                          "rel": "externalips",
                          "type": "application/vnd.abiquo.externalips+json",
                          "href": "https://.bcn.abiquo.com:443/api/admin/datacenters/1/network/action/externalips"
                      },
                      {
                          "title": "limits",
                          "rel": "getLimits",
                          "type": "application/vnd.abiquo.limits+json",
                          "href": "https://.bcn.abiquo.com:443/api/admin/datacenters/1/action/getlimits"
                      },
                      {
                          "title": "excluded networks",
                          "rel": "excludednetworks",
                          "type": "application/vnd.abiquo.excludednetworks+json",
                          "href": "https://.bcn.abiquo.com:443/api/admin/datacenters/1/excludednetworks"
                      },
                      {
                          "title": "NARS",
                          "rel": "remoteservice",
                          "type": "application/vnd.abiquo.remoteservice+json",
                          "href": "https://.bcn.abiquo.com:443/api/admin/remoteservices/4"
                      },
                      {
                          "title": "REMOTEACCESS",
                          "rel": "remoteservice",
                          "type": "application/vnd.abiquo.remoteservice+json",
                          "href": "https://.bcn.abiquo.com:443/api/admin/remoteservices/61"
                      },
                      {
                          "title": "VIRTUALSYSTEMMONITOR",
                          "rel": "remoteservice",
                          "type": "application/vnd.abiquo.remoteservice+json",
                          "href": "https://.bcn.abiquo.com:443/api/admin/remoteservices/2"
                      },
                      {
                          "title": "BPMSERVICE",
                          "rel": "remoteservice",
                          "type": "application/vnd.abiquo.remoteservice+json",
                          "href": "https://.bcn.abiquo.com:443/api/admin/remoteservices/6"
                      },
                      {
                          "title": "APPLIANCEMANAGER",
                          "rel": "remoteservice",
                          "type": "application/vnd.abiquo.remoteservice+json",
                          "href": "https://.bcn.abiquo.com:443/api/admin/remoteservices/3"
                      },
                      {
                          "title": "VIRTUALFACTORY",
                          "rel": "remoteservice",
                          "type": "application/vnd.abiquo.remoteservice+json",
                          "href": "https://.bcn.abiquo.com:443/api/admin/remoteservices/1"
                      },
                      {
                          "title": "metricsmetadata",
                          "rel": "metricsmetadata",
                          "type": "application/vnd.abiquo.metricsmetadata+json",
                          "href": "https://.bcn.abiquo.com:443/api/admin/datacenters/1/metrics"
                      },
                      {
                          "title": "collectd",
                          "rel": "collectd",
                          "type": "application/json",
                          "href": "https://.bcn.abiquo.com:443/api/admin/datacenters/1/metrics/collectd"
                      },
                      {
                          "title": "alarmssearch",
                          "rel": "alarmssearch",
                          "type": "application/vnd.abiquo.alarms+json",
                          "href": "https://.bcn.abiquo.com:443/api/admin/datacenters/1/alarms"
                      },
                      {
                          "title": "natnetworks",
                          "rel": "natnetworks",
                          "type": "application/vnd.abiquo.natnetworks+json",
                          "href": "https://.bcn.abiquo.com:443/api/admin/datacenters/1/natnetworks"
                      },
                      {
                          "title": "Get nat ips",
                          "rel": "natips",
                          "type": "application/vnd.abiquo.natips+json",
                          "href": "https://.bcn.abiquo.com:443/api/admin/datacenters/1/natnetworks/action/allips"
                      },
                      {
                          "title": "Get nat rules",
                          "rel": "natrules",
                          "type": "application/vnd.abiquo.natrules+json",
                          "href": "https://.bcn.abiquo.com:443/api/admin/datacenters/1/natnetworks/action/allrules"
                      },
                      {
                          "title": "repository",
                          "rel": "datacenterrepository",
                          "type": "application/vnd.abiquo.datacenterrepository+json",
                          "href": "https://.bcn.abiquo.com:443/api/admin/enterprises/15/datacenterrepositories/1"
                      },
                      {
                          "title": "floating ips",
                          "rel": "ips",
                          "type": "application/vnd.abiquo.publicips+json",
                          "href": "https://.bcn.abiquo.com:443/api/cloud/locations/1/ips"
                      },
                      {
                          "title": "devices",
                          "rel": "devices",
                          "type": "application/vnd.abiquo.devices+json",
                          "href": "https://.bcn.abiquo.com:443/api/cloud/locations/1/devices"
                      },
                      {
                          "title": "available templates",
                          "rel": "templates",
                          "type": "application/vnd.abiquo.virtualmachinetemplates+json",
                          "href": "https://.bcn.abiquo.com:443/api/cloud/locations/1/templates"
                      },
                      {
                          "title": "remote vdcs",
                          "rel": "remotevirtualdatacenters",
                          "type": "application/vnd.abiquo.virtualdatacenters+json",
                          "href": "https://.bcn.abiquo.com:443/api/cloud/locations/1/action/remotevirtualdatacenters"
                      },
                      {
                          "title": "remote vms",
                          "rel": "remotevirtualmachines",
                          "type": "application/vnd.abiquo.virtualmachines+json",
                          "href": "https://.bcn.abiquo.com:443/api/cloud/locations/1/action/remotevirtualmachines"
                      },
                      {
                          "title": "available volumes",
                          "rel": "volumes",
                          "type": "application/vnd.abiquo.volumes+json",
                          "href": "https://.bcn.abiquo.com:443/api/cloud/locations/1/volumes"
                      },
                      {
                          "title": "available tiers",
                          "rel": "tiers",
                          "type": "application/vnd.abiquo.tiers+json",
                          "href": "https://.bcn.abiquo.com:443/api/cloud/locations/1/tiers"
                      },
                      {
                          "title": "Abiquo-DC",
                          "rel": "location",
                          "type": "application/vnd.abiquo.datacenter+json",
                          "href": "https://.bcn.abiquo.com:443/api/cloud/locations/1"
                      },
                      {
                          "title": "backup policies",
                          "rel": "backuppolicies",
                          "type": "application/vnd.abiquo.backuppolicies+json",
                          "href": "https://.bcn.abiquo.com:443/api/cloud/locations/1/backuppolicies"
                      },
                      {
                          "title": "backup location properties",
                          "rel": "backupproperties",
                          "type": "application/vnd.abiquo.backupdatacenterproperties+json",
                          "href": "https://.bcn.abiquo.com:443/api/cloud/locations/1/backupproperties"
                      },
                      {
                          "title": "compatible datastore tiers",
                          "rel": "compatibles",
                          "type": "application/vnd.abiquo.links+json",
                          "href": "https://.bcn.abiquo.com:443/api/cloud/locations/1/datastoretiers/action/compatibles"
                      },
                      {
                          "title": "datastore tiers",
                          "rel": "datastoretiers",
                          "type": "application/vnd.abiquo.datastoretiers+json",
                          "href": "https://.bcn.abiquo.com:443/api/cloud/locations/1/datastoretiers"
                      },
                      {
                          "title": "metricsmetadata",
                          "rel": "metricsmetadata",
                          "type": "application/vnd.abiquo.metricsmetadata+json",
                          "href": "https://.bcn.abiquo.com:443/api/cloud/locations/1/metrics"
                      },
                      {
                          "title": "collectd",
                          "rel": "collectd",
                          "type": "application/json",
                          "href": "https://.bcn.abiquo.com:443/api/cloud/locations/1/metrics/collectd"
                      },
                      {
                          "title": "VMware vCenter",
                          "rel": "hypervisortype",
                          "type": "application/vnd.abiquo.hypervisortype+json",
                          "href": "https://.bcn.abiquo.com:443/api/config/hypervisortypes/VMX_04"
                      }
                  ]
              }
          ]
      }


    6. You will need the edit, hypervisortype, and

      hypervisortype

      datacenterrepository links of the location.

    Create a virtualdatacenter
    1. Reference: https://wiki.abiquo.com/api/latest/VirtualDatacentersResource.html#create-a-virtual-datacenter
    2. cURL

      Code Block
      curl -X POST https://abiquoapi.bcn.abiquo.com/api/cloud/virtualdatacenters \ 
      	 -H 'Accept:application/vnd.abiquo.asynctask+json; version=4.7' \ 
      	 -H 'Content-Type:application/vnd.abiquo.virtualdatacenter+json; version=4.7' \ 
      	 -d @virtualdatacentercreate.json \ 
      	 -u user:password --verbose 

      Virtual datacenter entity

      Expand Code Block{ "hypervisorType" : "VMX_04", "name" : "vdc_test_create", "network" : { "name" : "Default Network",
      1. edit link

        Code Block
                        {
                            "title": "Abiquo-DC",
                            "rel": "edit",
                            "type": "application/vnd.abiquo.datacenter+json",
                            "href": "https://abiquoapi.bcn.abiquo.com:443/api/admin/datacenters/1"
                        },


      2. hypervisortype link for the hypervisor you would like to use in the virtual datacenter. The code of the hypervisor type is at the end of the link, for example, for VMware vCenter, the name is "VMX_04".

        Code Block
                        {
                            "title": "VMware vCenter",
                            "rel": "hypervisortype",
                            "type": "application/vnd.abiquo.hypervisortype+json",
                            "href": "https://abiquoapi.bcn.abiquo.com:443/api/config/hypervisortypes/VMX_04"
                        }
  3. Create a virtualdatacenter entity
    1. Reference: https://wiki.abiquo.com/api/latest/virtualdatacenter.html
    2. Add the links to the enterprise and the location and the hypervisorType attribute.

      1. datacenterrepository link to retrieve templates

        Code Block
                        {
                            "title": "repository",
                            "
      address
      1. rel"
      1. : "
      192.168.0.0
      1. datacenterrepository",
            
      "mask"
      1.    
      :
      1.  
      24,
      1.      
      "gateway"
      1.  
      :
      1.  
      "192.168.0.1",
      1.      "
      primaryDNS
      1. type"
      1. : "
      10
      1. application/vnd.
      0.0.1
      1. abiquo.datacenterrepository+json",
            
      "secondaryDNS"
      1.    
      :
      1.  
      "10.0.0.1",
      1.      
      "defaultNetwork"
      1.  
      :
      1.  
      false,
      1.      "
      type
      1. href"
      1. : "
      INTERNAL", "ipv6" : false, "strict" : false, "restricted" : false,
      1. https://abiquoapi.bcn.abiquo.com:443/api/admin/enterprises/15/datacenterrepositories/1"
              
      "internetGatewayRole"
      1.  
      :
      1.  
      false,
      1.      
      "ipRanges"
      1.  
      :
      1.  
      [
      1.  
      ], "excludedFromFirewall" : false, "notUsableLoadBalancers" : false, "notUsableVirtualMachines" : false, "links" : [ ] }, "usersRole" : [ ], "vmsSoft" : 0, "vmsHard" : 0, "vlansSoft" : 0, "vlansHard" : 0, "publicIpsSoft" : 0, "publicIpsHard" : 0, "links" : [ { "rel" : "location"
      1. },


  4. Create a virtualdatacenter entity

    1. Reference: https://wiki.abiquo.com/api/latest/virtualdatacenter.html

    2. Add the links to the enterprise and the location and the hypervisorType attribute.

  5. Create a virtualdatacenter

    1. Reference: https://wiki.abiquo.com/api/latest/VirtualDatacentersResource.html#create-a-virtual-datacenter

    2. cURL

      Code Block
      curl -X POST https://abiquoapi.bcn.abiquo.com/api/cloud/virtualdatacenters \ 
      	 -H 'Accept:application/vnd.abiquo.asynctask+json; version=4.7' \ 
      	 -H 'Content-Type:application/vnd.abiquo.virtualdatacenter+json; version=4.7' \ 
      	 -d @virtualdatacentercreate.json \ 
      	 -u user:password --verbose 


    3. Virtual datacenter entity

      Code Block
      {
        "hypervisorType" : "VMX_04",
        "name" : "vdc_test_create",
        "network" : {
          "name" : "Default Network",
          "address" : "192.168.0.0",
          "mask" : 24,
          "
      href
      gateway" : "
      https://.bcn.abiquo.com/api/cloud/locations/1" }, {
      192.168.0.1",
          "
      rel
      primaryDNS" : "
      enterprise
      10.0.0.1",
          "
      href
      secondaryDNS" : "
      https://.bcn.abiquo.com/api/admin/enterprises/15"
      10.0.0.1",
        
      }
       
      ],
       "
      ramSoft
      defaultNetwork" : 
      0
      false,
          "
      ramHard
      type" : 
      0
      "INTERNAL",
          "
      cpuSoft
      ipv6" : 
      0
      false,
          "
      cpuHard
      strict" : 
      0 }

      Sample response

      {
      false,
          "
      creationTime
      restricted" : 
      1576592419286
      false,
          "
      finished
      internetGatewayRole" : 
      true
      false,
          "
      jobs
      ipRanges" : 
      {
      [ ],
          
      "
      links
      excludedFromFirewall" : 
      []
      false,
          "notUsableLoadBalancers" : false,
       
      "collection":
       
      []
        "notUsableVirtualMachines" : 
      }
      false,
          "links" : [ ]
        },
        "usersRole" : [ 
      {
      ],
        "vmsSoft" : 0,
        "vmsHard" : 0,
        "
      rel
      vlansSoft" : 
      "self"
      0,
        "vlansHard" : 0,
        "publicIpsSoft" : 0,
        "
      type
      publicIpsHard" : 
      "application/vnd.abiquo.asynctask+json"
      0,
        "links" : [ 
      {
          
      "
      "rel" : "location",
          "href" : "https://
      abiquoapi
      .bcn.abiquo.com
      :443
      /api/cloud/locations/1
      /asynctasks/1625
      "
        }, {
          "rel" : 
      }
      "enterprise",
          "href" : "https://.bcn.abiquo.com/api/admin/enterprises/15"
       
      {
       } ],
        "ramSoft" : 0,
        "ramHard" : 0,
        "
      title
      cpuSoft" : 
      "vdc_test_create",
      0,
        "cpuHard" : 0
      }
      Expand
      Code Block


    4. Sample response

      Code Block
      Code Block
      {
          "creationTime": 1576592419286,
          "
      rel
      finished": 
      "owner"
      true,
          "jobs": {
              "
      type
      links": 
      "application/vnd.abiquo.virtualdatacenter+json"
      [],
              
      "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075"
      "collection": []
          },
          "links": [
        
      {
            
      "title": "Abiquo-DC",
      {
                  "rel": "
      datacenter
      self",
                  "type": "application/vnd.abiquo.
      datacenter
      asynctask+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/locations/1/asynctasks/1625"
              },
              {
                  "title": "
      Video
      vdc_test_
      enterprise
      create",
                  "rel": "
      enterprise
      owner",
                  "type": "application/vnd.abiquo.
      enterprise
      virtualdatacenter+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/
      admin
      cloud/
      enterprises
      virtualdatacenters/
      15
      2075"
              },
          
      ]
       
      }
       

      The "owner" link references the virtualdatacenter, so you can use it obtain the virtualdatacenter entity and you will also need it to create a virtual appliance.

              {
                  "title": "vdc_test_createAbiquo-DC",
                  "rel": "ownerdatacenter",
                  "type": "application/vnd.abiquo.virtualdatacenterdatacenter+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenterslocations/20751"
              },
    Create a virtual appliance
    1. Reference: https://wiki.abiquo.com/api/latest/VirtualAppliancesResource.html#create-a-virtual-appliance
    2. cURL

      Code Block
      curl -X POST https://abiquoapi.bcn.abiquo.com/api/cloud/virtualdatacenters/2075/virtualappliances \ 
      	 -H 'Accept:application/vnd.abiquo.virtualappliance+json; version=4.7' \ 
      	 -H 'Content-Type:application/vnd.abiquo.virtualappliance+json; version=4.7' \ 
      	 -d @virtualappliancecreate.json \ 
      	 -u user:password --verbose 

      Virtual appliance entity

      Code Block
      {
      	"name":"vapp_test_create"
      }

      Sample response. Success status code: 201

      {
      
              {
                  "title": "Video_enterprise",
                  "
      id
      rel": 
      2596,
      "enterprise",
       
      "error":
       
      0,
          
      "highDisponibility":
       
      0,
           "
      name
      type": "
      vapp_test_create
      application/vnd.abiquo.enterprise+json",
          
      "publicApp": 0,
              "
      state
      href": "
      NOT_DEPLOYED",
      https://abiquoapi.bcn.abiquo.com:443/api/admin/enterprises/15"
          
      "restricted":
       
      false,
         }
       
      "notAllocatedVirtualMachines":
       
      0,
        ]
      } 
      Expand
      Code Block


      The "

      onVirtualMachines": 0, "offVirtualMachines": 0, "pausedVirtualMachines": 0, "allocatedVirtualMachines": 0, "configuredVirtualMachines": 0,

      owner" link references the virtualdatacenter, so you can use it obtain the virtualdatacenter entity and you will also need it to create a virtual appliance.

      Code Block
           
      "unknownVirtualMachines": 0,
         
      "lockedVirtualMachines": 0, "links": [
      {
                  "title": "
      vapp
      vdc_test_create",
                  "rel": "
      edit
      owner",
                  "type": "application/vnd.abiquo.
      virtualappliance
      virtualdatacenter+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075
      /virtualappliances/2596
      "
              },
      { "title": "vdc_test_create", "rel": "virtualdatacenter", "type": "


  6. Create a virtual appliance

    1. Reference: https://wiki.abiquo.com/api/latest/VirtualAppliancesResource.html#create-a-virtual-appliance

    2. cURL

      Code Block
      curl -X POST https://abiquoapi.bcn.abiquo.com/api/cloud/virtualdatacenters/2075/virtualappliances \ 
      	 -H 'Accept:application/vnd.abiquo.virtualappliance+json; version=4.7' \ 
      	 -H 'Content-Type:application/vnd.abiquo.
      virtualdatacenter
      virtualappliance+json
      ",
      ; version=4.7' \ 
      	 -d @virtualappliancecreate.json \ 
      	 
      "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075"
      -u user:password --verbose 


    3. Virtual appliance entity

      Code Block
      {
      	"name":"vapp_test_create"
      }


    4. Sample response. Success status code: 201

      Code Block
      {
          
      }
      "id": 2596,
          "error": 0,
        
      {
        
      "highDisponibility": 0,
          
      "
      title
      name": "
      Video
      vapp_test_
      enterprise
      create",
          
      "publicApp": 0,
          
      "
      rel
      state": "
      enterprise
      NOT_DEPLOYED",
          "restricted": false,
          
      "
      type
      notAllocatedVirtualMachines": 
      "application/vnd.abiquo.enterprise+json"
      0,
          "onVirtualMachines": 0,
          
      "
      href
      offVirtualMachines": 
      "https://abiquoapi.bcn.abiquo.com:443/api/admin/enterprises/15"
      0,
          "pausedVirtualMachines": 0,
          "allocatedVirtualMachines": 0,
          "configuredVirtualMachines": 0,
          "unknownVirtualMachines": 0,
          "lockedVirtualMachines": 
      }
      0,
          "links": [
              {
                  "title": "
      virtual machines
      vapp_test_create",
                  "rel": "
      virtualmachines
      edit",
                  "type": "application/vnd.abiquo.
      virtualmachines
      virtualappliance+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075/virtualappliances/2596
      /virtualmachines
      "
              },
              {
                  "title": "
      virtual appliances state
      vdc_test_create",
                  "rel": "
      state
      virtualdatacenter",
                  "type": "application/vnd.abiquo.
      virtualappliancestate
      virtualdatacenter+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075
      /virtualappliances/2596/state
      "
              },
              {
                  "title": "
      undeploy
      Video_enterprise",
                  "rel": "
      undeploy
      enterprise",
                  "type": "application/vnd.abiquo.
      acceptedrequest
      enterprise+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/
      cloud
      admin/
      virtualdatacenters/2075/virtualappliances/2596/action/undeploy
      enterprises/15"
              },
              {
                  "title": "
      deploy
      virtual machines",
                  "rel": "
      deploy
      virtualmachines",
                  "type": "application/vnd.abiquo.
      acceptedrequest
      virtualmachines+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075/virtualappliances/2596/
      action/deploy
      virtualmachines"
              },
              {
                  "title": "
      price
      virtual appliances state",
                  "rel": "
      price
      state",
                  "type": "
      text/plain
      application/vnd.abiquo.virtualappliancestate+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075/virtualappliances/2596/
      action/price
      state"
              },
              {
                  "title": "
      layers
      undeploy",
                  "rel": "
      layers
      undeploy",
                  "type": "application/vnd.abiquo.
      layers
      acceptedrequest+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075/virtualappliances/2596/
      layers
      action/undeploy"
              },
              {
                  "title": "
      spec
      deploy",
                  "rel": "
      spec
      deploy",
                  "type": "application/vnd.abiquo.
      virtualappliancespec
      acceptedrequest+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075/virtualappliances/2596/action/
      spec
      deploy"
              },
              {
                  "title": "
      tasks
      price",
                  "rel": "
      tasks
      price",
                  "type": "
      application/vnd.abiquo.tasks+json
      text/plain",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075/virtualappliances/2596/
      tasks
      action/price"
              },
              {
                  "title": "
      scalinggroups
      layers",
                  "rel": "
      scalinggroups
      layers",
                  "type": "application/vnd.abiquo.
      scalinggroups
      layers+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075/virtualappliances/2596/
      scalinggroups
      layers"
              },
              {
                  "title": "
      metricsmetadata
      spec",
                  "rel": "
      metricsmetadata
      spec",
                  "type": "application/vnd.abiquo.
      metricsmetadata
      virtualappliancespec+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075/virtualappliances/2596/
      metrics
      action/spec"
              },
              {
                  "title": "
      collectd
      tasks",
                  "rel": "
      collectd
      tasks",
                  "type": "application/vnd.abiquo.tasks+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075/virtualappliances/2596/
      metrics/collectd
      tasks"
              },
              {
                  "title": "
      alarmssearch
      scalinggroups",
                  "rel": "
      alarmssearch
      scalinggroups",
                  "type": "application/vnd.abiquo.
      alarms
      scalinggroups+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075/virtualappliances/2596/
      alarms
      scalinggroups"
              },
          
      ] }

...

number-formatcustom
h1[h1.decimal]
h2[h2.decimal]
h3[h3.decimal].
h4[h3.decimal].[h4.decimal]
start-numbering-ath3

Create and Deploy a Virtual Appliance

...

Create a Virtual Appliance

It's easy to create a virtual appliance. You can create one just by providing a virtual appliance with a name and some basic details, and the link to the virtual datacenter where you will create it.

cURL:

Success status code: 201

Request payload:

Response payload:

 

Use a VM template to create a VM

You will need the link to a virtual appliance, a template in the Apps library, and an enterprise. See the previous Tenants tutorial for how to retrieve compatible templates from the Apps library.

cURL:

Success status code: 201

Request payload:

The link to specify the template is the only required value. In this case, we are also setting the friendly name of the VM and enabling remote access.

 

Response payload:

Deploy the VM

We are going to deploy the virtual machine on its own. It is also possible to deploy a whole virtual appliance at the same time.

cURL:

Success status code: 202

Request payload:

--none--

Response payload:

 

The VM will be powered on. Congratulations, you've completed the tutorial!

    1.     {
                  "title": "metricsmetadata",
                  "rel": "metricsmetadata",
                  "type": "application/vnd.abiquo.metricsmetadata+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075/virtualappliances/2596/metrics"
              },
              {
                  "title": "collectd",
                  "rel": "collectd",
                  "type": "application/json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075/virtualappliances/2596/metrics/collectd"
              },
              {
                  "title": "alarmssearch",
                  "rel": "alarmssearch",
                  "type": "application/vnd.abiquo.alarms+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075/virtualappliances/2596/alarms"
              }
          ]
      }


    2. You will need the virtualmachines link to create a VM

      Code Block
              {
                  "title": "virtual machines",
                  "rel": "virtualmachines",
                  "type": "application/vnd.abiquo.virtualmachines+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075/virtualappliances/2596/virtualmachines"
              },      


  1. Get a compatible template from the Apps library

    1. Reference: https://wiki.abiquo.com/api/latest/VirtualMachineTemplatesResource.html#list-virtual-machine-templates-in-a-datacenter-repository

    2. Perform a GET request to the URL from the datacenterrepository link of the location. Get the virtualmachinetemplates link from the datacenterrepository.

    3. Get the VM templates using parameters including:

      1. hypervisorTypeName - for compatibility

      2. limit - for convenience

      3. has - filter template names by this text string

      See the above API Reference page for more details.

    4. cURL

      Code Block
      curl --verbose -X GET "https://abiquoapi.bcn.abiquo.com/api/admin/enterprises/15/datacenterrepositories/1/virtualmachinetemplates?hypervisorTypeName=VMX_04&limit=1&has=Core" \
      -H "Accept: application/vnd.abiquo.virtualmachinetemplates+json; version=4.7;" \
      -u user:password


    5. Sample response. Success status code: 201

      Code Block
      {
          "totalSize": 2,
          "links": [
              {
                  "rel": "first",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/admin/enterprises/15/datacenterrepositories/1/virtualmachinetemplates?hypervisorTypeName=VMX_04&limit=1&has=Core&by=state&asc=true"
              },
              {
                  "rel": "next",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/admin/enterprises/15/datacenterrepositories/1/virtualmachinetemplates?hypervisorTypeName=VMX_04&startwith=1&limit=1&has=Core&by=state&asc=true"
              },
              {
                  "rel": "last",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/admin/enterprises/15/datacenterrepositories/1/virtualmachinetemplates?hypervisorTypeName=VMX_04&startwith=1&limit=1&has=Core&by=state&asc=true"
              }
          ],
          "collection": [
              {
                  "id": "3",
                  "name": "Core",
                  "description": "root : abiquo",
                  "osType": "LINUX_64",
                  "osVersion": "",
                  "cpuRequired": 1,
                  "ramRequired": 64,
                  "shared": true,
                  "state": "DONE",
                  "creationDate": "2017-02-06T23:37:41.000+0000",
                  "creationUser": "SYSTEM",
                  "chefEnabled": false,
                  "iconUrl": "https://upload.wikimedia.org/wikipedia/commons/a/af/Tux.png",
                  "loginUser": "user",
                  "loginPassword": "password",
                  "ethernetDriverType": "E1000",
                  "variables": {},
                  "enableCpuHotAdd": false,
                  "enableRamHotAdd": false,
                  "enableDisksHotReconfigure": false,
                  "enableNicsHotReconfigure": false,
                  "enableRemoteAccessHotReconfigure": false,
                  "enableOnlyHPRecommended": false,
                  "generateGuestInitialPassword": false,
                  "productCodes": [],
                  "links": [
                      {
                          "title": "Video_enterprise",
                          "rel": "enterprise",
                          "type": "application/vnd.abiquo.enterprise+json",
                          "href": "https://abiquoapi.bcn.abiquo.com:443/api/admin/enterprises/15"
                      },
                      {
                          "title": "Others",
                          "rel": "category",
                          "type": "application/vnd.abiquo.category+json",
                          "href": "https://abiquoapi.bcn.abiquo.com:443/api/config/categories/1"
                      },
                      {
                          "title": "Core",
                          "rel": "edit",
                          "type": "application/vnd.abiquo.virtualmachinetemplate+json",
                          "href": "https://abiquoapi.bcn.abiquo.com:443/api/admin/enterprises/15/datacenterrepositories/1/virtualmachinetemplates/3"
                      },
                      {
                          "title": "tasks",
                          "rel": "tasks",
                          "type": "application/vnd.abiquo.tasks+json",
                          "href": "https://abiquoapi.bcn.abiquo.com:443/api/admin/enterprises/15/datacenterrepositories/1/virtualmachinetemplates/3/tasks"
                      },
                      {
                          "title": "repository",
                          "rel": "datacenterrepository",
                          "type": "application/vnd.abiquo.datacenterrepository+json",
                          "href": "https://abiquoapi.bcn.abiquo.com:443/api/admin/enterprises/15/datacenterrepositories/1"
                      },
                      {
                          "title": "virtual machines",
                          "rel": "virtualmachines",
                          "type": "application/vnd.abiquo.virtualmachines+json",
                          "href": "https://abiquoapi.bcn.abiquo.com:443/api/admin/enterprises/15/datacenterrepositories/1/virtualmachinetemplates/3/action/virtualmachines"
                      },
                      {
                          "title": "disks",
                          "rel": "disks",
                          "type": "application/vnd.abiquo.disks+json",
                          "href": "https://abiquoapi.bcn.abiquo.com:443/api/admin/enterprises/15/datacenterrepositories/1/virtualmachinetemplates/3/disks"
                      },
                      {
                          "rel": "disk0",
                          "type": "application/vnd.abiquo.disk+json",
                          "href": "https://abiquoapi.bcn.abiquo.com:443/api/admin/enterprises/15/datacenterrepositories/1/virtualmachinetemplates/3/disks/3"
                      },
                      {
                          "title": "template definition",
                          "rel": "templatedefinition",
                          "href": "http://rs.bcn.abiquo.com:9000/ovf/305/desc.ovf"
                      },
                      {
                          "title": "template path",
                          "rel": "templatePath",
                          "href": "https://abiquoapi.bcn.abiquo.com:443/am/erepos/15/templates/1/rs.bcn.abiquo.com/abiport9000/ovf/305/"
                      },
                      {
                          "title": "Global scope",
                          "rel": "scope",
                          "type": "application/vnd.abiquo.scope+json",
                          "href": "https://abiquoapi.bcn.abiquo.com:443/api/admin/scopes/1"
                      }
                  ]
              }
          ]
      }


    6. Select the virtualmachinetemplate object you want to use and get the edit link

      Code Block
                      {
                          "title": "Core",
                          "rel": "edit",
                          "type": "application/vnd.abiquo.virtualmachinetemplate+json",
                          "href": "https://abiquoapi.bcn.abiquo.com:443/api/admin/enterprises/15/datacenterrepositories/1/virtualmachinetemplates/3"
                      },


    7. Troubleshooting: if the request doesn't return any templates, you may need to refresh the datacenter repository. Reference: 

  2. Create a VM entity

    1. The link to specify the template is the only required attribute. In this case, we are also setting the friendly name of the VM and enabling remote access.

      Code Block
      {  
         "label":"Core_VM",
         "links":[  
            {  
               "title":"Core",
               "rel":"virtualmachinetemplate",
               "type":"application/vnd.abiquo.virtualmachinetemplate+json",
               "href":"https://abiquoapi.bcn.abiquo.com:443/api/admin/enterprises/15/datacenterrepositories/1/virtualmachinetemplates/3"
            }
         ],
         "vdrpEnabled":true
      }


  3. Create a VM

    1. Perform a POST request to the URL of the virtualmachines link from the virtual appliance

    2. cURL

      Code Block
      curl -X POST https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075/virtualappliances/2596/virtualmachines \ 
      	 -H 'Accept:application/vnd.abiquo.virtualmachine+json; version=4.7' \ 
      	 -H 'Content-Type:application/vnd.abiquo.virtualmachine+json; version=4.7' \ 
      	 -d @virtualmachineentity.json \ 
      	 -u user:password --verbose 


    3. The virtualmachineentity.json file to send with this request is shown in the previous step. 

    4. Sample response. Success status code: 201

      Code Block
      {
          "id": 16644,
          "uuid": "6e28ff4d-207a-4299-9b52-a3bc6ced856a",
          "description": "root : abiquo",
          "coresPerSocket": 1,
          "idState": 1,
          "idType": 0,
          "type": "MANAGED",
          "highDisponibility": 0,
          "monitored": true,
          "protected": false,
          "variables": {},
          "backuppolicies": [],
          "generateGuestInitialPassword": false,
          "natrules": [],
          "vdrpEnabled": true,
          "vdrpPort": 0,
          "password": "h6JXpuku",
          "name": "ABQ_6e28ff4d-207a-4299-9b52-a3bc6ced856a",
          "label": "Core_VM",
          "ram": 64,
          "cpu": 1,
          "state": "NOT_ALLOCATED",
          "creationTimestamp": 1576606467000,
          "iconUrl": "https://upload.wikimedia.org/wikipedia/commons/a/af/Tux.png",
          "links": [
              {
                  "title": "Video_enterprise",
                  "rel": "enterprise",
                  "type": "application/vnd.abiquo.enterprise+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/admin/enterprises/15"
              },
              {
                  "title": "ABQ_6e28ff4d-207a-4299-9b52-a3bc6ced856a",
                  "rel": "edit",
                  "type": "application/vnd.abiquo.virtualmachine+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075/virtualappliances/2596/virtualmachines/16644"
              },
              {
                  "title": "send mail",
                  "rel": "sendmail",
                  "type": "application/vnd.abiquo.mail+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/admin/publiccloudregions/1/enterprises/15/virtualmachines/16644/action/sendmail"
              },
              {
                  "title": "cloudadmin cloudadmin",
                  "rel": "user",
                  "type": "application/vnd.abiquo.user+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/admin/enterprises/15/users/10"
              },
              {
                  "title": "vdc_test_create",
                  "rel": "virtualdatacenter",
                  "type": "application/vnd.abiquo.virtualdatacenter+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075"
              },
              {
                  "title": "vapp_test_create",
                  "rel": "virtualappliance",
                  "type": "application/vnd.abiquo.virtualappliance+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075/virtualappliances/2596"
              },
              {
                  "title": "metadata",
                  "rel": "metadata",
                  "type": "application/vnd.abiquo.metadata+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075/virtualappliances/2596/virtualmachines/16644/metadata"
              },
              {
                  "title": "vlan network configurations",
                  "rel": "configurations",
                  "type": "application/vnd.abiquo.virtualmachinenetworkconfigurations+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075/virtualappliances/2596/virtualmachines/16644/network/configurations"
              },
              {
                  "title": "nics",
                  "rel": "nics",
                  "type": "application/vnd.abiquo.nics+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075/virtualappliances/2596/virtualmachines/16644/network/nics"
              },
              {
                  "title": "disks",
                  "rel": "harddisks",
                  "type": "application/vnd.abiquo.harddisks+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075/virtualappliances/2596/virtualmachines/16644/storage/disks"
              },
              {
                  "title": "NOT_ALLOCATED",
                  "rel": "state",
                  "type": "application/vnd.abiquo.virtualmachinestate+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075/virtualappliances/2596/virtualmachines/16644/state"
              },
              {
                  "title": "virtual machine undeploy",
                  "rel": "undeploy",
                  "type": "application/vnd.abiquo.acceptedrequest+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075/virtualappliances/2596/virtualmachines/16644/action/undeploy"
              },
              {
                  "title": "virtual machine deploy",
                  "rel": "deploy",
                  "type": "application/vnd.abiquo.acceptedrequest+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075/virtualappliances/2596/virtualmachines/16644/action/deploy"
              },
              {
                  "title": "virtual machine reset",
                  "rel": "reset",
                  "type": "application/vnd.abiquo.acceptedrequest+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075/virtualappliances/2596/virtualmachines/16644/action/reset"
              },
              {
                  "title": "virtual machine snapshot",
                  "rel": "instance",
                  "type": "application/vnd.abiquo.acceptedrequest+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075/virtualappliances/2596/virtualmachines/16644/action/instance"
              },
              {
                  "title": "remote access",
                  "rel": "rdpaccess",
                  "type": "application/vnd.abiquo.virtualmachineconsole+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075/virtualappliances/2596/virtualmachines/16644/config/rdpaccess"
              },
              {
                  "title": "tasks",
                  "rel": "tasks",
                  "type": "application/vnd.abiquo.tasks+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075/virtualappliances/2596/virtualmachines/16644/tasks"
              },
              {
                  "title": "firewalls",
                  "rel": "firewalls",
                  "type": "application/vnd.abiquo.links+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075/virtualappliances/2596/virtualmachines/16644/firewalls"
              },
              {
                  "title": "load balancers",
                  "rel": "loadbalancers",
                  "type": "application/vnd.abiquo.loadbalancers+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075/virtualappliances/2596/virtualmachines/16644/loadbalancers"
              },
              {
                  "title": "request on demand backup",
                  "rel": "requestbackup",
                  "type": "application/vnd.abiquo.ondemandbackup+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075/virtualappliances/2596/virtualmachines/16644/backup/action/request"
              },
              {
                  "title": "request a restore of a backup",
                  "rel": "requestrestore",
                  "type": "application/vnd.abiquo.restore+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075/virtualappliances/2596/virtualmachines/16644/backup/action/restore"
              },
              {
                  "title": "move VM to a virtual appliance",
                  "rel": "vappmove",
                  "type": "application/vnd.abiquo.links+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075/virtualappliances/2596/virtualmachines/16644/action/vappmove"
              },
              {
                  "title": "move VM to another virtual datacenter",
                  "rel": "move",
                  "type": "application/vnd.abiquo.movevm+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075/virtualappliances/2596/virtualmachines/16644/action/move"
              },
              {
                  "title": "volumes",
                  "rel": "volumes",
                  "type": "application/vnd.abiquo.volumes+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075/virtualappliances/2596/virtualmachines/16644/storage/volumes"
              },
              {
                  "diskController": "lsilogic",
                  "diskControllerType": "SCSI",
                  "length": "100",
                  "title": "f693e374-e07e-4a94-99db-a7268a904484",
                  "rel": "disk0",
                  "type": "application/vnd.abiquo.harddisk+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075/disks/15069"
              },
              {
                  "title": "datastoretierESXI6.0_2.29",
                  "rel": "datastoretier0",
                  "type": "application/vnd.abiquo.datastoretier+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/locations/1/datastoretiers/58"
              },
              {
                  "title": "protect",
                  "rel": "protect",
                  "type": "text/plain",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075/virtualappliances/2596/virtualmachines/16644/action/protect"
              },
              {
                  "title": "unprotect",
                  "rel": "unprotect",
                  "type": "text/plain",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075/virtualappliances/2596/virtualmachines/16644/action/unprotect"
              },
              {
                  "title": "metricsmetadata",
                  "rel": "metricsmetadata",
                  "type": "application/vnd.abiquo.metricsmetadata+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075/virtualappliances/2596/virtualmachines/16644/metrics"
              },
              {
                  "title": "disablemonitoring",
                  "rel": "disablemonitoring",
                  "type": "",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075/virtualappliances/2596/virtualmachines/16644/disablemonitoring"
              },
              {
                  "title": "collectd",
                  "rel": "collectd",
                  "type": "application/json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075/virtualappliances/2596/virtualmachines/16644/metrics/collectd"
              },
              {
                  "title": "alarmssearch",
                  "rel": "alarmssearch",
                  "type": "application/vnd.abiquo.alarms+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075/virtualappliances/2596/virtualmachines/16644/alarms"
              },
              {
                  "title": "clone",
                  "rel": "clone",
                  "type": "application/vnd.abiquo.virtualmachinecloneoptions+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075/virtualappliances/2596/virtualmachines/16644/action/clone"
              },
              {
                  "title": "VMware vCenter",
                  "rel": "hypervisortype",
                  "type": "application/vnd.abiquo.hypervisortype+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/config/hypervisortypes/VMX_04"
              },
              {
                  "title": "Core",
                  "rel": "virtualmachinetemplate",
                  "type": "application/vnd.abiquo.virtualmachinetemplate+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/admin/enterprises/15/datacenterrepositories/1/virtualmachinetemplates/3"
              },
              {
                  "title": "Others",
                  "rel": "category",
                  "type": "application/vnd.abiquo.category+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/config/categories/1"
              }
          ],
          "usageStatistics": []
      }


    5. You will need the deploy link to launch the VM

      Code Block
              {
                  "title": "virtual machine deploy",
                  "rel": "deploy",
                  "type": "application/vnd.abiquo.acceptedrequest+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075/virtualappliances/2596/virtualmachines/16644/action/deploy"
              },


  4. Deploy the VM

    1. Reference: https://wiki.abiquo.com/api/latest/VirtualMachinesResource.html#deploy-a-virtual-machine

    2. cURL

      Code Block
      curl -X POST https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075/virtualappliances/2596/virtualmachines/16644/action/deploy \ 
      	 -H 'Accept:application/vnd.abiquo.acceptedrequest+json;version=4.7' \ 
      	 -u user:password --verbose 


    3. Sample response. Success status code: 202
      This request returns an acceptedrequest object with a link to track the progress of the deploy.

      Code Block
      {
          "message": "You can keep track of the progress in the link",
          "links": [
              {
                  "title": "status",
                  "rel": "status",
                  "type": "application/vnd.abiquo.task+json",
                  "href": "https://abiquoapi.bcn.abiquo.com:443/api/cloud/virtualdatacenters/2075/virtualappliances/2596/virtualmachines/16644/tasks/d49aedbe-cc20-4410-9e74-2de1243342aa"
              }
          ]
      }


    4. Alternatively, you can deploy all the VMs in the virtual appliance using the deploy link from the virtual appliance.

Your VM should now be deployed and powered on. Congratulations! You have completed this tutorial.