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.

...

Summary diagram


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?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

      Expand


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



    6. You will need the edit and hypervisortype links of the location.

      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

        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"
                        }
        enterprise


  3. Create the virtualdatacenter entity
    1. Reference: 

...