Waldur Azure

Waldur Azure

/api/azure/

Supported actions and methods:

/api/azure/

Methods: GET, POST

Supported fields for creation:

  • project – link to /api/projects/<uuid>/
  • customerlink to /api/customers/<uuid>/
  • settingslink to /api/service-settings/<uuid>/
  • usernamestring (In the format of GUID)
  • certificatefile (X509 certificate in .PEM format)
  • available_for_all – boolean (Service will be automatically added to all customers projects if it is available for all)
  • scope – link to any: /api/azure-virtualmachines/<uuid>/ (VM that contains service)
  • cloud_service_namestring (Cloud service group to assign all connected SPLs to)
  • location – choice('Central US', 'East Asia', 'East US 2', 'Japan West', 'North Europe', 'South Central US', 'Southeast Asia') (Azure region where to provision resources (default: “Central US”))
  • images_regex – string (Regular expression to limit images list)

To list all services without regard to its type, run GET against /api/services/ as an authenticated user.

To list services of specific type issue GET to specific endpoint from a list above as a customer owner. Individual endpoint used for every service type.

To create a service, issue a POST to specific endpoint from a list above as a customer owner. Individual endpoint used for every service type.

You can create service based on shared service settings. Example:

POST /api/digitalocean/ HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Token c84d653b9ec92c6cbac41c706593e66f567a7fa4
Host: example.com

{
    "name": "Common DigitalOcean",
    "customer": "http://example.com/api/customers/1040561ca9e046d2b74268600c7e1105/",
    "settings": "http://example.com/api/service-settings/93ba615d6111466ebe3f792669059cb4/"
}

Or provide your own credentials. Example:

POST /api/oracle/ HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Token c84d653b9ec92c6cbac41c706593e66f567a7fa4
Host: example.com

{
    "name": "My Oracle",
    "customer": "http://example.com/api/customers/1040561ca9e046d2b74268600c7e1105/",
    "backend_url": "https://oracle.example.com:7802/em",
    "username": "admin",
    "password": "secret"
}

/api/azure/<uuid>/

Methods: GET, PUT, PATCH, DELETE

Supported fields for update:

  • available_for_all – boolean (Service will be automatically added to all customers projects if it is available for all)

/api/azure/<uuid>/link/

Methods: GET, POST

To get a list of resources available for import, run GET against /<service_endpoint>/link/ as an authenticated user. Optionally project_uuid parameter can be supplied for services requiring it like OpenStack.

To import (link with Waldur) resource issue POST against the same endpoint with resource id.

POST /api/openstack/08039f01c9794efc912f1689f4530cf0/link/ HTTP/1.1
Content-Type: application/json
Accept: application/json
Authorization: Token c84d653b9ec92c6cbac41c706593e66f567a7fa4
Host: example.com

{
    "backend_id": "bd5ec24d-9164-440b-a9f2-1b3c807c5df3",
    "project": "http://example.com/api/projects/e5f973af2eb14d2d8c38d62bcbaccb33/"
}

/api/azure/<uuid>/managed_resources/

Methods: GET

/api/azure/<uuid>/unlink/

Methods: POST

Unlink all related resources, service project link and service itself.

/api/azure-virtualmachines/

Supported actions and methods:

/api/azure-virtualmachines/

Methods: GET, POST

Supported fields for creation:

  • namestring
  • description – string
  • tags – TagListSerializerField
  • service_project_linklink to /api/azure-service-project-link/<pk>/
  • imagelink to /api/azure-images/<uuid>/
  • sizelink to /api/azure-sizes/<uuid>/
  • user_usernamestring
  • user_passwordstring
  • user_data – string (Additional data that will be added to instance on provisioning)

/api/azure-virtualmachines/<uuid>/

Methods: GET, PUT, PATCH, DELETE

Supported fields for update:

  • namestring
  • description – string
  • tags – TagListSerializerField

/api/azure-virtualmachines/<uuid>/pull/

Methods: POST

/api/azure-virtualmachines/<uuid>/rdp/

Methods: GET

/api/azure-virtualmachines/<uuid>/restart/

Methods: POST

/api/azure-virtualmachines/<uuid>/start/

Methods: POST

/api/azure-virtualmachines/<uuid>/stop/

Methods: POST

/api/azure-sizes/

Supported actions and methods:

/api/azure-sizes/

Methods: GET

/api/azure-sizes/<uuid>/

Methods: GET

/api/azure-images/

Supported actions and methods:

/api/azure-images/

Methods: GET

/api/azure-images/<uuid>/

Methods: GET