.wpb_animate_when_almost_visible { opacity: 1; }
Evolution Platform – IaaS – Sandbox
Evolution Platform – IaaS – Sandbox
1.1
Download

VirtualMachine-Network-Services
 1.0.1_tag 
OAS 3.0

https://developer.orange.com/ope-contents/channels/87afd7365baec589/offers/961Dzt5hkE9hp50L/products/00Yd5w3iNC2m2Y62/contents/swagger/AEV4dXGHQejq8HOY/swagger.yaml

Evolution Platform

Virtual Machine and Network Services API

The goal of this API is to manage virtual machines and their connectivity. To that end, several top-level resources are defined:

  • Virtual Network
  • Virtual Machine
  • Server Group
  • Security Group
  • Key Pair
  • Volume
  • Public IP Adresses

Each top-level resource is contained into a project and has its own lifecycle.

All dates are in UTC (timezone Zulu). Their format is "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'", example: 2022-04-12T16:42:23.345Z.

Some resources are modeled by two distinct classes (in the Swagger model) in order to represent two facets of the object:

  • one class is used in create/update API requests (class name ends with "InRequest"),
  • the other class is used in API responses (class name ends with "InResponse").

The API also offers services to consult catalog of geographical zones, images and flavors. Basic recipe to create and manage a virtual machine:

  1. Create a server group
  2. Create a virtual network
  3. Create a key pair
  4. Create one or several security groups that contain security rules (optional)
  5. Create one or several volumes (optional)
  6. Reserve one or several public IP addresses (optional)
  7. Create a virtual machine with its interfaces, its key pair, its security groups, its volume, and its public IPs
  8. Apply actions on the virtual machine or on its interfaces
Servers

Flavor

Catalog of pre-defined flavors offered by Orange. A flavor is a virtual hardware profile (RAM, CPU, disk...) that is applied to the VM.

Image

Catalog of virtual machine images that are either public images (provided by Orange) or private. Private images must be uploaded to Orange repository beforehand.

Job

Manage jobs that process asynchronous requests on resources

KeyPair

Key Pair provides a secure way to push a SSH key directly on the VM. This key pair can be uploaded by the user or created automatically on the fly. IMPORTANT: After the Virtual Machine is created with a key pair ref, the key Pair cannot be changed for the Virtual Machine. If the key is lost, then you must re-create the Virtual Machine.

PublicIPAddress

Reserve and release public IP addresses

SecurityGroup

Set of IP filtering rules to protect a Virtual Machine interface .

SecurityRule

Filtering rule describing the flows that are authorized on a VM interface.

ServerGroup

In case of a VNF based on several VM, ServerGroup provide the capability to group VM on the same compute or to separate them according to certain policy.

VirtualMachine

Manage virtual machine

VirtualNetwork

Virtual network is used to interconnect VM together via a layer 2 and/or to implement an IP/MPLS VPN (internet / customer VPN..)

Volume

A volume is a detachable block storage device, similar to a USB hard drive. You can attach a volume to only one instance.

Zone

Catalog of geographical zones where virtual machines can be deployed.

    • HTTP status codereasonresponse model
      400List of supported error codes:
      - 20: Invalid URL parameter value
      - 21: Missing body
      - 22: Invalid body
      - 23: Missing body field
      - 24: Invalid body field
      - 25: Missing header
      - 26: Invalid header value
      - 27: Missing query-string parameter
      - 28: Invalid query-string parameter value
      {
        "code": 28,
        "message": "Invalid query-string parameter value",
        "description": "One or more query-string parameters contain invalid values."
      }
      401List of supported error codes:
      - 40: Missing credentials
      - 41: Invalid credentials
      - 42: Expired credentials
      {
        "code": 42,
        "message": "Expired credentials",
        "description": "The requested service needs credentials, and the ones provided were out-of-date."
      }
      403List of supported error codes:
      - 50: Access denied
      - 51: Forbidden requester
      - 52: Forbidden user
      - 53: Too many requests
      {
        "code": 53,
        "message": "Too many requests",
        "description": "The application has made too many calls and has exceeded the rate limit for this service."
      }
      404List of supported error codes:
      - 60: Resource not found
      {
        "code": 60,
        "message": "Resource not found",
        "description": "The requested URI or the requested resource does not exist."
      }
      405List of supported error codes:
      - 61: Method not allowed
      {
        "code": 61,
        "message": "Method not allowed",
        "description": "The URI does not support the requested method. The available methods should be set in the response header 'Allow'"
      }
      406List of supported error codes:
      - 62: Not acceptable
      {
        "code": 62,
        "message": "Not acceptable",
        "description": "The Accept incoming header does not match any available content-type."
      }
      408List of supported error codes:
      - 63: Request time-out
      {
        "code": 63,
        "message": "Request time-out",
        "description": "The server timed out waiting for the incoming request."
      }
      409List of supported error codes:
      - 69: Conflict
      {
        "code": 69,
        "message": "Conflict",
        "description": "The request could not be completed due to a conflict with the current state of the resource."
      }
      411List of supported error codes:
      - 64: Length required
      {
        "code": 64,
        "message": "Length required",
        "description": "The request did not specify a Content-Length header, which is required by the requested resource."
      }
      412List of supported error codes:
      - 65: Precondition failed
      {
        "code": 65,
        "message": "Precondition failed",
        "description": "One of the precondition request headers (aka. 'If-None-Match', 'If-Match', 'If-Modified-Since', and 'If-Unmodified-Since') failed to match."
      }
      413List of supported error codes:
      - 66: Request entity too large
      {
        "code": 66,
        "message": "Request entity too large",
        "description": "The body of the request/response (PATCH, POST and PUT methods) is larger than the server is willing or able to process."
      }
      414List of supported error codes:
      - 67: Request-URI too long
      {
        "code": 67,
        "message": "Request-URI too long",
        "description": "The URI provided was too long for the server to process."
      }
      415List of supported error codes:
      - 68: Unsupported Media Type
      {
        "code": 68,
        "message": "Unsupported Media Type",
        "description": "The format of the posted body is not supported by the endpoint."
      }
      429List of supported error codes:
      - 53: Too many requests
      {
        "code": 53,
        "message": "Too many requests",
        "description": "The application has made too many calls and has exceeded the rate limit for this service."
      }
      500List of supported error codes:
      - 1: Internal error
      {
        "code": 1,
        "message": "Internal error",
        "description": "Generic failure message, used if no more precise code can be provided."
      }
      502List of supported error codes:
      - 1: Internal error
      - 3: Bad gateway
      {
        "code": 1,
        "message": "Bad gateway",
        "description": "A runtime execution error occurs (RaiseFault)."
      }
      503List of supported error codes:
      - 5: The service is temporarily unavailable
      - 6: Orange API is over capacity, retry later !
      {
        "code": 6,
        "message": "Orange API is over capacity, retry later !",
        "description": "The service faces too much requests and can not handle the call."
      }
      504List of supported error codes:
      - 6: Gateway timeout
      {
        "code": 6,
        "message": "Gateway timeout",
        "description": "No response was received in time from a backend server acting as gateway or proxy."
      }