EPAM Cloud Orchestrator – Maestro API Reference Guidep=i/csdg_02_maestro_api_guid… ·...

78
Legal Notice: This document contains privileged and/or confidential information and may not be disclosed, distributed or reproduced without the prior written permission of EPAM®. EPAM Cloud Orchestrator Maestro API Developer’s Guide January 2018 CSDG-02 Version 2.1.4

Transcript of EPAM Cloud Orchestrator – Maestro API Reference Guidep=i/csdg_02_maestro_api_guid… ·...

Legal Notice: This document contains privileged and/or confidential information and may not be disclosed, distributed or

reproduced without the prior written permission of EPAM®.

EPAM Cloud Orchestrator

Maestro API

Developer’s Guide

January 2018

CSDG-02

Version 2.1.4

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 2

CONTENTS

Contents .................................................................................................................................. 2

Preface .................................................................................................................................... 4

About this Guide .............................................................................................................. 4

Audience .......................................................................................................................... 4

The structure of the Guide ............................................................................................... 4

Documentation References ............................................................................................. 5

1 JSON Justification ........................................................................................................... 6

2 Configuration ................................................................................................................... 8

2.1 Maven configuration for Maestro JAVA SDK .......................................................... 8

2.2 Entry Point ............................................................................................................... 8

2.3 Typical Working Scenario ........................................................................................ 8

2.4 Maestro Java SDK Structure ................................................................................. 10

3 Authorization Algorithm ................................................................................................. 12

4 Command Reference .................................................................................................... 13

4.1 HTTP Header ........................................................................................................ 13

4.2 Attach Volume ....................................................................................................... 14

4.3 Audit ...................................................................................................................... 15

4.4 Activate Console .................................................................................................... 17

4.5 Get Console ........................................................................................................... 18

4.6 Create and Attach Volume .................................................................................... 19

4.7 Create Checkpoint ................................................................................................. 20

4.8 Create Image ......................................................................................................... 21

4.9 Create Key Pair ..................................................................................................... 23

4.10 Delete Checkpoint ................................................................................................. 24

4.11 Delete Image ......................................................................................................... 25

4.12 Delete Instance Properties .................................................................................... 26

4.13 Delete Instance Tag .............................................................................................. 27

4.14 Delete Key Pair ...................................................................................................... 28

4.16 Delete Volume ....................................................................................................... 29

4.17 Delete Volume Properties ..................................................................................... 30

4.18 Delete Volume Tag ................................................................................................ 31

4.19 Describe Checkpoints ........................................................................................... 32

4.20 Describe Images .................................................................................................... 33

4.21 Describe Instances ................................................................................................ 34

4.22 Describe Instance Properties ................................................................................ 36

4.23 Describe Instance Tags ......................................................................................... 37

4.25 Describe Key Pairs ................................................................................................ 38

EPAM Cloud Orchestrator - Maestro API Reference Guide

EPAM PUBLIC 3

4.26 Describe Projects .................................................................................................. 39

4.27 Describe Shapes ................................................................................................... 40

4.28 Describe Scripts .................................................................................................... 41

4.29 Describe Volumes ................................................................................................. 42

4.30 Describe Volume Properties .................................................................................. 43

4.31 Describe Volume Tags .......................................................................................... 44

4.32 Describe Zones ..................................................................................................... 45

4.33 Detach Volumes .................................................................................................... 46

4.34 Go to Checkpoint ................................................................................................... 47

4.35 Reattach Volume ................................................................................................... 48

4.36 Reboot Instance .................................................................................................... 49

4.37 Revert to Checkpoint ............................................................................................. 50

4.38 Run Instance ......................................................................................................... 51

4.39 Set Instance Properties ......................................................................................... 52

4.40 Set Instance Tag ................................................................................................... 54

4.41 Set Volume Properties .......................................................................................... 55

4.43 Set Volume Tag ..................................................................................................... 57

4.44 Start Instance ........................................................................................................ 58

4.45 Stop Instance ......................................................................................................... 59

4.46 Upload Script ......................................................................................................... 60

4.47 Terminate Instance ................................................................................................ 61

5 Orchestrator Ruby Gem ................................................................................................ 63

6 API Errors handling ....................................................................................................... 64

6.1 General Errors Flow .............................................................................................. 64

6.2 CLI Errors. Level 1................................................................................................. 65

6.3 SDK Errors. Level 2. .............................................................................................. 66

6.4 EO Core Errors. Level 3. ....................................................................................... 75

Table of Figures ............................................................................................................. 78

Version History .............................................................................................................. 78

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 4

PREFACE

ABOUT THIS GUIDE

The EPAM Cloud Orchestrator API Reference Guide provides description, syntax and options for the

main commands available through Maestro Application Programming Interface (API). This includes

commands to manage instances, storage volumes, checkpoints, machine images, key pairs, scripts and

general commands.

The purpose of the Application Programming Interface can best be described as enabling other developers

use EPAM Cloud Orchestrator across different platforms and languages.

All of the aforementioned allows us to achieve virtual platform independence and keeps Orchestrator

experience not limited to interaction via Web UI and Command Line Interface.

This manual is still a work in progress. Please, check regularly for updates and provide us your remarks

and suggestions.

AUDIENCE

This guide is designed for EPAM Cloud users who manage their own infrastructure via Maestro API

THE STRUCTURE OF THE GUIDE

The guide consists of six sections:

1. JSON justification provides the explanation of JSON usage with Maestro tools

2. Maestro API configuration provides the configuration details.

3. Authorization Algorithm gives a step by step instruction for Maestro API authorization.

4. Command Reference comprises a major part of the document. It includes a list of Maestro CLI

command descriptions with corresponding examples and useful notes.

5. Orchestrator Ruby Gem gives the information on Orchestrator manipulations by Ruby tools.

6. API Errors handling provides the information on different types of API errors.

The guide also includes a set of Appendices, dedicated to API errors handling.

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 5

DOCUMENTATION REFERENCES

EPAM Orchestration is described in details in a number of documents, oriented on different aspects of

Orchestration usage, and on different types of users.

You can find these documents on our Documentation page.

The answers to the most frequently asked questions can be found on the FAQ page.

EPAM Cloud terms and conditions are described in the EPAM Cloud Terms and Conditions. Please take a

look at this document in order to avoid misunderstandings and conflicts that may arise during the service

usage.

The terminology of EPAM Cloud and the related products can be found on the Glossary page.

Please email your comments and feedback to EPAM Cloud Consulting at

[email protected] to help us provide you with documentation that is as clear,

correct and readable as possible.

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 6

1 JSON JUSTIFICATION

Maestro Software Developer’s Kit (SDK) has been implemented using JSON-RPC as a Remote

Procedure Call (RPC) protocol. It uses JSON for serialization and has been chosen due to its simplicity,

lightweight and cleanness, among other advantages (see below).

The protocol works by sending a request to a server implementing it. The client is typically a software

application, intended to call a single method of a remote system. Multiple input parameters can be passed

to a remote method as an array or an object, whereas the method itself can return multiple output data as

well.

A remote method is invoked by sending a request to a remote service using HTTP or a TCP/IP socket

(starting from version 2.0). When using HTTP, the content-type can be defined as application/json.

All transfer types are single objects, serialized using JSON. A request is a call to a specific method provided

by a remote system. It must contain three certain properties:

● method – a string with the name of the method to be invoked

● params – an array of objects to be passed as parameters to the defined method

● id – a value of any type, which is used to match the response with the request it is replying to.

The receiver of the request must reply with a valid response to all received requests. A response must

contain the properties mentioned below.

● result – the data returned by the invoked method. If an error occurred while invoking the method,

this value must be null.

● error – a specified Error code if there was an error invoking the method, otherwise null.

● id – the id of the request it is responding to.

Since there are situations where no response is needed or even desired, notifications were introduced. A

notification is similar to a request except for the id, which is not needed because no response will be

returned. In this case the id property should be omitted or be null.

There are many different ways to implement API for the application. For example, REST based API means

that each unique URL is a representation of some object or resource. A user can get the contents of that

object using an HTTP GET method, to delete it, then use POST, PUT, or DELETE to modify the object (in

practice most of the services use POST for this). REST is great for public-facing APIs, intended for use by

other developers. They can be designed in accordance with common standards, as to not require a lot of

preexisting knowledge about the service that is going to be used.

However, in our case EPAM Cloud Orchestration API has to provide access to a specific set of functions.

Our main goal was to develop a lightweight, well-specified interface that does not have direct access to

data, but performs a remote call of Orchestration functionality.

We have considered the following advantages of JSON-RPC:

• Unicode – both JSON and JSON-RPC support Unicode out-of-the-box;

• Transport-independent – JSON-RPC can be used with any transport socket: TCP/IP, HTTP,

HTTPS etc.;

• Direct support of Null/None;

• Support of named/keyword parameters;

• Built-in request-response matching ("id"-field);

• Error codes: ranked and well specified, covering a wide spectrum of possible exceptions;

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 7

• Notifications.

All procedure calls are strictly atomic and return a well specified, determined result. Clients are not required

to know procedure names and the specific order of arguments, because this specifics of JSON-RPC is

hidden within our implementation to make the SDK more convenient for use.

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 8

2 CONFIGURATION

2.1 MAVEN CONFIGURATION FOR MAESTRO JAVA SDK

Add the following within the <dependencies> section of your POM:

<dependencies>

<dependency>

<groupId>maestro</groupId>

<artifactId>maestro-sdk</artifactId>

<version>4.0.3</version>

</dependency>

</dependencies>

The artifacts are available via EPAM Maven Repository.

<repositories>

<repository>

<id>artifactory.epam.com</id>

<name>artifactory.epam.com-releases</name>

<url>http://artifactory.epam.com/artifactory/EPM-CIT</url>

</repository>

</repositories>

2.2 ENTRY POINT

The entry point for Maestro Java SDK is MaestroAPIClient. It can be reached by the following address:

com.maestro.sdk.client.

2.3 TYPICAL WORKING SCENARIO

1. Create a client

MaestroApiClient client = new MaestroApiClientImpl(new

Configuration(Protocol.JSON_RPC, "http://localhost:8080"));

client.setCredentials("[email protected]","faa312aa-1e5f-40e2-942b-99e7a91f865c");

2. Create commands

GetProjectTotal req1 = new GetProjectTotal(PROJECT, 2013, 1, null);

GetProjectTotal req2 = new GetProjectTotal(PROJECT, 2013, 2, null);

3. Launch them simultaneously or one by one

List<Result<?>> results = client.execute(Arrays.<Command<?>>asList(req1, req2));

4. Process the result

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 9

for (Result<?> result : results) {

if (result.getError() == null) {

GetProjectTotalResult totalResult = (GetProjectTotalResult) result.getResult();

System.out.println(totalResult.getYear() + "-" + totalResult.getMonth() + ":" +

totalResult.getTotalPrice().toPlainString());

} else {

System.out.println("Error: " + result.getError().getCode());

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 10

2.4 MAESTRO JAVA SDK STRUCTURE

The following paragraph describes the command structure available at the

com.maestro.sdk.client.command.* path.

Figure 1 - Maestro Java SDK structure

The first two groups contain a basic set of commands.

• Common – contains the commands required for routine operation:

o describe zone

o describe region

o describe project

o describe shape

o authorize

o audit

• Meta – commands related to

o instance tags

o instance properties

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 11

The following are ‘Target object’-related command groups:

• Checkpoints

• Images

• Instances

• Key pairs

• Network

• Volumes

• Stacks

• Reports

The final group contains System commands:

• Permissions

• Quotas

• System

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 12

3 AUTHORIZATION ALGORITHM

The SDK client for Maestro API uses three headers to provide authorization information into the server.

• <Maestro-access-id> is a common user domain name e.g. ‘John_Doe’.

• <Maestro-authorization> is key, generated using the HMAC-SHA256 algorithm.

• <Maestro-date> is a date presented as ‘EEE, dd MMM yyyy HH:mm:ss z’, with US locale and 0

GMT time zone.

• <Content> is a chain of parameters and action. For example, to describe instances in a personal

project, it would be like ‘project-id=personal:region=epam-by2:action=describe-instances’.

1. Get String representation uses the following data:

String data = “POST” + ”:” + <Maestro-access-id> + “:” + <Maestro-date> + “:” +

<content>

2. Construct SecretKey from a byte array:

<User token> is “token=5d424390accbc8bbfa43a3fde53407a3”

byte[] key = <User token> + <Maestro-date> convert to byte

secretKey = new SecretKey(key, "HmacSHA256")

3. Sign the data with the HMAC-SHA256 Algorithm

Mac mac = Mac.getInstance(“HmacSHA256”);

mac.init(secretKey);

byte[] bytes = data.getBytes(“UTF-8”);

byte[] signature = mac.doFinal(bytes);

signature = Base64.encodeBase64(signature);

The new String(signature) value is the <Maestro-authorization> header.

On the Server side we have to get the same signature and compare it with the Client’s signature.

Java SDK sample:

If you use Maestro Java SDK, all of the above is performed inside MaestroApiClient class.

MaestroApiClient client = new MaestroApiClientImpl(

new Configuration(Protocol.JSON_RPC, "http://localhost:8080"));

client.setCredentials("[email protected]", "faa312aa-1e5f-40e2-942b-99e7a91f865c");

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 13

4 COMMAND REFERENCE

4.1 HTTP HEADER

The following header applies to all SDK commands and should be placed at the beginning of each HTTP

request.

POST /maestro2/api/rpc HTTP/1.1

Maestro-authorization: <authorization token>

Maestro-access-id: <user_name>@epam.com

Maestro-api-version: <api version e.g. 3.0.1>

Maestro-sdk-version: <sdk version e.g. 1.0.0>

Content-Type: application/json

Maestro-date: <Current date e.g. Sat, 3 Aug 2013 00:00:00 GMT>

Content-Length: <e.g. 106>

Host: localhost:8080

Connection: Keep-Alive

User-Agent: Apache-HttpClient/4.2.3 (java 1.5)

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 14

4.2 ATTACH VOLUME

Description

Attaches specified storage volume to the specified instance.

Java SDK Sample

AttachVolume request = new AttachVolume("DEMOPRO", "EPAM-BY1", "vol-91e62dcb",

"EVBYMINSD0595T3", "/dev/sda1");

AttachVolumeResult response = client.execute(request);

ApiVolume volume = response.getVolume();

JSON RPC Input Parameters

Method: attachVolume

Name Description

zone Virtualization region

project PMC Project ID

volumeId Storage volume ID

instanceId ID of an instance to attach the volume to

HTTP Request

<HTTP HEADER>

{

"jsonrpc": "2.0",

"id": 1,

"method": "attachVolume",

"params": {

"zone": "%ZONE_NAME%",

"project": "%PROJECT_ID%",

"volumeId": "%VOLUME_ID%",

"instanceId": "%INSTANCE_ID%"

}

Response Example

{

"jsonrpc": "2.0",

"id": 1,

"result": {

"volume": {

"volumeId": "vol-00x0x0xx",

"size": 1024,

"realSize": 0,

"used": false,

"state": "attaching",

"system": false

}

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 15

4.3 AUDIT

Description

Views all relevant instance-related information for a specified period of time.

Java SDK sample

Audit request = new Audit(); request.setProject("PROJECT");

request.setGroup("PROJECT");

request.setSubGroup("QUOTA");

request.setType("UPDATE_PROJECT_QUOTA");

request.setDescending(false);

request.setLimit(100);

request.setSkip(0);

request.setFrom(new Date());

request.setTo(new Date());

AuditResult response = client.execute(request);

List<ApiAuditRecord> auditRecords = response.getAuditRecords();

JSON RPC Input Parameters

Method: audit

Name Description

zone Virtualization region

project PMC Project ID

group Resource group

subGroup Resource subgroup

skip Number of events to skip

limit Events limit

descending Ascending/descending order

HTTP Request

<HTTP HEADER>

{

"jsonrpc": "2.0",

"id": 1,

"method": "audit",

"params": {

"zone": "%ZONE_NAME%",

"project": "%PROJECT_ID%",

"group": "%RESOUCE_GROUP%",

"subGroup": "%RESOURCE_SUBGROUP%",

"skip": %NUMBER%,

"limit": %NUMBER%,

"descending": %true/false%

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 16

Response Example

{

"jsonrpc": "2.0",

"id": 1,

"result": {

"auditRecords": [

{

"zone": "EPAM-BY1",

"project": "EPMC-CLO",

"date": "2013-08-03T00:00:00EEST",

"user": "System",

"group": "VIRT",

"subGroup": "INSTANCE",

"type": "INSTANCE_STARTED",

"objectId": "EVBYMINSD0000X0",

"message": "Instance started."

},

]

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 17

4.4 ACTIVATE CONSOLE

Description

Activates console access for the specified instance

Java SDK sample

ActivateConsole request = new ActivateConsole("DEMOPRO", "EPAM-BY1", "EVBYMINSD0T3");

ActivateConsoleResult response = client.execute(request);

ApiConsole console = response.getConsole();

JSON RPC Input Parameters

Method: activateConsole

Name Description

zone Virtualization region

project PMC Project ID

instanceId ID of an instance to activate console access for

HTTP Request

<HTTP HEADER>

{

"jsonrpc": "2.0",

"id": 1,

"method": "activateConsole",

"params": {

"zone": "%ZPNE_NAME%",

"project": "%PROJECT_ID%",

"instanceId": "%INSTANCE_ID%"

}

}

Response Example

{

"jsonrpc": "2.0",

"id": 1,

"result": {

"console": {

"state": "enabled",

"port": -1

}

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 18

4.5 GET CONSOLE

Description

Provides console access credentials for the specified instance

Java SDK sample

GetConsole request = new GetConsole("DEMOPRO", "EPAM-BY1", "EVBYMINSD0595T3");

GetConsoleResult response = client.execute(request);

ApiConsole console = response.getConsole();

JSON RPC Input Parameters

Method: getConsole

Name Description

zone Virtualization region

project PMC Project ID

instanceId ID of an instance to get console access credentials for

HTTP Request

<HTTP HEADER>

{

"jsonrpc": "2.0",

"id": 1,

"method": "getConsole",

"params": {

"zone": "%ZONE_NAME%",

"project": "%PROJECT_ID%",

"instanceId": "%INSTANCE_ID%"

}

}

Response Example

{

"jsonrpc": "2.0",

"id": 1,

"result": {

"console": {

"state": "enabled",

"host": "epbyminsd0000.minsk.epam.com",

"password": "1337",

"port": 18866

}

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 19

4.6 CREATE AND ATTACH VOLUME

Description

Creates and attaches a storage volume to the specified instance.

Java SDK sample

CreateAndAttachVolume request = new CreateAndAttachVolume("DEMOPRO", "EPAM-BY1",

"EVBYMINSD0595T3", 20, "/dev/sda1");

CreateAndAttachVolumeResult response = client.execute(request);

ApiVolume volume = response.getVolume();

JSON RPC Input Parameters

Method: createAndAttachVolume

Name Description

zone Virtualization region

project PMC Project ID

instanceId ID of an instance to attach a new volume to

sizeGb Volume size in gigabytes

HTTP Request

<HTTP HEADER>

{

"jsonrpc": "2.0",

"id": 1,

"method": "createAndAttachVolume",

"params": {

"zone": "%ZONE_NAME%",

"project": "%PROJECT_ID%",

"instanceId": "%INSTANCE_ID%",

"sizeGb": 1

}

}

Response Example

{

"jsonrpc": "2.0",

"id": 1,

"result": {

"volume": {

"volumeId": "vol-00x0x0xx",

"size": 1024,

"instanceId": "EVBYMINSD000X0",

"used": true,

"state": "creating",

"system": false

}

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 20

4.7 CREATE CHECKPOINT

Description

Creates an instance recovery point.

Java SDK sample

CreateCheckpoint request = new CreateCheckpoint("DEMOPRO", "EPAM-BY1", "description",

"EVBYMINSD0595T3");

CreateCheckpointResult response = client.execute(request);

ApiCheckpoint checkpoint = response.getCheckpoint();

JSON RPC Input Parameters

Method: createCheckpoint

Name Description

project PMC Project ID

zone Virtualization region

description Checkpoint description

instanceId ID of an instance to create a recovery point for

HTTP Request

<HTTP HEADER>

{

"jsonrpc": "2.0",

"id": 1,

"method": "createCheckpoint",

"params": {

"project": "%PROJECT_ID%",

"zone": "%ZONE_NAME%",

"description": "description",

"instanceId": "%INSTANCE_ID%"

}

}

Response Example

{

"jsonrpc": "2.0",

"id": 1,

"result": {

"checkpoint": {

"checkpointId": "checkpoint-2013_08_03_00_00_00_EVBYMINSD0000X0",

"state": "creating",

"description": "description",

"current": false

}

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 21

4.8 CREATE IMAGE

Description

Creates an image based on the instance and its storages. The image can be used later to run new identical

instances.

Java SDK sample

CreateImage request = new CreateImage("DEMOPRO", "EPAM-BY1", "EVBYMINSD0595T3",

"ImageName", "description", true);

CreateImageResult response = client.execute(request);

ApiImage image = response.getImage();

JSON RPC Input Parameters

Method: createImage

Name Description

zone Virtualization region

project PMC Project ID

instanceId ID of an instance to create an image of

name Checkpoint name

description Checkpoint description

confirmed Set to ‘true’ if you agree with image creation terms (see description or the ‘or2-create-image’ command in Maestro CLI Reference Guide)

HTTP Request

<HTTP HEADER>

{

"jsonrpc": "2.0",

"id": 1,

"method": "createImage",

"params": {

"zone": "%ZONE_NAME%",

"project": "%PROJECT_ID%",

"instanceId": "%INSTANCE_ID%",

"name": "%CHECKPOINT_NAME%",

"description": "%CHECKPOINT_DESCRIPTION%",

"confirmed": %true/false%

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 22

Response Example

{

"jsonrpc": "2.0",

"id": 1,

"result": {

"image": {

"imageId": "testimage",

"description": "description",

"group": "project",

"state": "creating"

}

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 23

4.9 CREATE KEY PAIR

Description

Creates a key pair used to access instances without the need to provide login credentials.

Java SDK sample

CreateKeyPair request = new CreateKeyPair("DEMOPRO", "EPAM-BY1");

request.setSize(20);

CreateKeyPairResult response = client.execute(request);

ApiKeyPair keyPair = response.getKeyPair();

JSON RPC Input Parameters

Method: createKeyPair

Name Description

project PMC Project ID

name Key pair name

HTTP Request

<HTTP HEADER>

{

"jsonrpc": "2.0",

"id": 1,

"method": "createKeyPair",

"params": {

"project": "%PROJECT_ID%",

"name": "%KEY_NAME%"

}

}

Response Example

{

"jsonrpc": "2.0",

"id": 1,

"result": {

"keyPair": {

"name": "key1",

"owner": "John Doe",

"project": "EPMC-CLO",

"privateKey": "LS0tLS1…S0tCg\u003d\u003d"

}

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 24

4.10 DELETE CHECKPOINT

Description

Deletes an instance recovery point.

Java SDK sample

DeleteCheckpoint request = new DeleteCheckpoint("DEMOPRO", "EPAM-BY1",

"EVBYMINSD0595T3", "VirtualMachineSnapshot-snapshot-1848");

DeleteCheckpointResult response = client.execute(request);

ApiCheckpoint checkpoint = response.getCheckpoint();

JSON RPC Input Parameters

Method: deleteCheckpoint

Name Description

project PMC Project ID

zone Virtualization region

instanceId ID of an instance the checkpoint belongs to

checkpoindId ID of a checkpoint to delete

HTTP Request

<HTTP HEADER>

{

"jsonrpc": "2.0",

"id": 1,

"method": "deleteCheckpoint",

"params": {

"project": "%PROJECT_ID%",

"zone": "%ZONE_NAME%",

"instanceId": "%INSTANCE_ID%",

"checkpointId": "%CHECKPOINT_ID%"

}

}

Response Example

{

"jsonrpc": "2.0",

"id": 1,

"result": {

"checkpoint": {

"checkpointId": "checkpoint-2013_8_03_00_00_00_EVBYMINSD0000X0",

"state": "deleting",

"description": "description",

"current": true,

"sizeMB": 1741

}

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 25

4.11 DELETE IMAGE

Description

Deletes a custom machine image.

Java SDK sample

DeleteImage request = new DeleteImage("DEMOPRO", "EPAM-BY1", "ImageName");

DeleteImageResult response = client.execute(request);

ApiImage image = response.getImage();

JSON RPC Input Parameters

Method: deleteImage

Name Description

zone Virtualization region

project PMC Project ID

imageId ID of an image to be deleted

HTTP Request

<HTTP HEADER>

{

"jsonrpc": "2.0",

"id": 1,

"method": "deleteImage",

"params": {

"zone": "EPAM-BY1",

"project": "EPMC-CLO",

"imageId": "testimage"

}

}

Response Example

{

"jsonrpc": "2.0",

"id": 1,

"result": {

"image": {

"imageId": "testimage",

"description": "description",

"group": "project",

"state": "deleting",

"sizeMB": 2918

}

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 26

4.12 DELETE INSTANCE PROPERTIES

Description

Deletes user-defined metadata from instances.

Java SDK sample

DeleteInstanceProperties request = new DeleteInstanceProperties("DEMOPRO", "EPAM-BY1",

"EVBYMINSD0595T3");

DeleteInstancePropertiesResult response = client.execute(request);

Set<String> properties = response.getProperties();

JSON RPC Input Parameters

Method: deleteInstanceProperties

Name Description

zone Virtualization region

project PMC Project ID

instanceId ID of an instance to delete properties for

properties Keys of properties to be deleted

all Set to true to delete all assigned properties

HTTP Request

<HTTP HEADER>

{

"jsonrpc": "2.0",

"id": 1,

"method": "deleteInstanceProperties",

"params": {

"zone": "%ZONE_NAME%",

"project": "%PROJECT_ID%",

"instanceId": "%INSTANCE_ID%",

"properties": ["secure_prop"],

"all": %true/false%

}

}

Response Example

{

"jsonrpc": "2.0",

"id": 1,

"result": {

"properties": ["secure_prop"]

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 27

4.13 DELETE INSTANCE TAG

Description

Deletes custom tags, assigned to instances for billing purposes.

Java SDK sample

DeleteInstanceTag request = new DeleteInstanceTag("DEMOPRO", "EPAM-BY1",

"EVBYMINSD0595T3", true);

DeleteInstanceTagResult response = client.execute(request);

ApiTag tag = response.getTag();

JSON RPC Input Parameters

Method: deleteInstanceTag

Name Description

zone Virtualization region

project PMC Project ID

instanceId ID of an instance to delete a tag from

overrideVolumes Set to ‘true’ to apply the change to all volumes attached to the instance

HTTP Request

<HTTP HEADER>

{

"jsonrpc": "2.0",

"id": 1,

"method": "deleteInstanceTag",

"params": {

"zone": "%ZONE_NAME%",

"project": "%PROJECT_ID%",

"instanceId": "%INSTANCE_ID%",

"overrideVolumes": %true/false%

}

}

Response Example

{

"jsonrpc": "2.0",

"id": 1,

"result": {

"tag": {

"prefix": "user",

"key": "tag",

"value": "my_tag"

}

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 28

4.14 DELETE KEY PAIR

Description

Deletes a specified key pair.

Java SDK sample

DeleteKeyPair request = new DeleteKeyPair("DEMOPRO", "EPAM-BY1");

DeleteKeyPairResult response = client.execute(request);

ApiKeyPair keyPair = response.getKeyPair();

JSON RPC Input Parameters

Method: deleteKeyPair

Name Description

project PMC Project ID

name Key pair name

HTTP Request

<HTTP HEADER>

{

"jsonrpc": "2.0",

"id": 1,

"method": "deleteKeyPair",

"params": {

"project": "EPMC-CLO",

"name": "key1"

}

}

Response Example

{

"jsonrpc": "2.0",

"id": 1,

"result": {

"keyPair": {

"name": "key1",

"owner": "John Doe",

"project": "EPMC-CLO"

}

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 29

4.16 DELETE VOLUME

Description

Deletes the specified storage volume.

Java SDK sample

This manual is still a work in progress. This sample will appear shortly

JSON RPC Input Parameters

Method: deleteVolume

Name Description

zone Virtualization region

project PMC Project ID

volumeId ID of a volume to delete

HTTP Request

<HTTP HEADER>

{

"jsonrpc": "2.0",

"id": 1,

"method": "deleteVolume",

"params": {

"zone": "%ZONE_NAME%",

"project": "%PROJECT_ID%",

"volumeId": "%VOLUME_ID%"

}

}

Response Example

{

"jsonrpc": "2.0",

"id": 1,

"result": {

"volume": {

"volumeId": "vol-00x0x0xx",

"size": 1024,

"realSize": 0,

"instanceId": "EVBYMINSD0000X0",

"used": true,

"state": "deleting",

"system": false

}

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 30

4.17 DELETE VOLUME PROPERTIES

Description

Deletes user-defined metadata from storage volumes.

Java SDK sample

This manual is still a work in progress. This sample will appear shortly

JSON RPC Input Parameters

Method: deleteVolumeProperties

Name Description

zone Virtualization region

project PMC Project ID

volumeId ID of a volume to delete properties for

properties Keys of properties to be deleted

all Set to true to delete all assigned properties

HTTP Request

<HTTP HEADER>

{

"jsonrpc": "2.0",

"id": 1,

"method": "deleteVolumeProperties",

"params": {

"zone": "%ZONE_NAME%",

"project": "%PROJECT_ID%",

"volumeId": "%VOLUME_ID%",

"properties": ["secure_prop"],

"all": %true/false%

}

}

Response Example

{

"jsonrpc": "2.0",

"id": 1,

"result": {

"properties": ["secure_prop"]

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 31

4.18 DELETE VOLUME TAG

Description

Deletes the specified storage volume tag.

Java SDK sample

This manual is still a work in progress. This sample will appear shortly

JSON RPC Input Parameters

Method: deleteVolumeTag

Name Description

zone Virtualization region

project PMC Project ID

volumeId ID of a volume to be deleted

HTTP Request

<HTTP HEADER>

{

"jsonrpc": "2.0",

"id": 1,

"method": "deleteVolume",

"params": {

"zone": "%ZONE_NAME%",

"project": "%PROJECT_ID%",

"volumeId": "%VOLUME_ID%"

}

}

Response Example

{

"jsonrpc": "2.0",

"id": 1,

"result": {

"volume": {

"volumeId": "vol-00x0x0xx",

"size": 1024,

"realSize": 0,

"instanceId": "EVBYMINSD0000X0",

"used": true,

"state": "deleting",

"system": false

}

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 32

4.19 DESCRIBE CHECKPOINTS

Description

Describes checkpoints created for the specified instance.

Java SDK sample

This manual is still a work in progress. This sample will appear shortly

JSON RPC Input Parameters

Method: describeCheckpoints

Name Description

project PMC Project ID

zone Virtualization region

instanceIds ID of instances to describe checkpoints for

HTTP Request

<HTTP HEADER>

{

"jsonrpc": "2.0",

"id": 1,

"method": "describeCheckpoints",

"params": {

"project": "%PROJECT_ID%",

"zone": "%ZONE_NAME%",

"instanceIds": ["%INSTANCE_ID%"]

}

}

Response Example

{

"jsonrpc": "2.0",

"id": 1,

"result": {

"checkpoints": [

{

"checkpointId": "checkpoint-2013_8_03_00_00_00_EVBYMINSD0000X0",

"state": "ready",

"description": "description",

"current": true,

"sizeMB": 1757

}

]

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 33

4.20 DESCRIBE IMAGES

Description

Describes available machine images.

Java SDK sample

This manual is still a work in progress. This sample will appear shortly

JSON RPC Input Parameters

Method: describeImages

Name Description

project PMC Project ID

zone Virtualization region

instanceId ID of instances to describe checkpoints for

HTTP Request

<HTTP HEADER>

{

"jsonrpc": "2.0",

"id": 1,

"method": "describeImages",

"params": {

"zone": "%ZONE_NAME%",

"project": "%PROJECT_ID%"

}

}

Response Example

{

"jsonrpc": "2.0",

"id": 1,

"result": {

"images": [

{

"imageId": "Win7-64",

"description": "Windows 7 64-bit Enterprise",

"group": "enterprise",

"state": "ready",

"sizeMB": 0

},

]

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 34

4.21 DESCRIBE INSTANCES

Description

Returns information about instances belonging to your project.

Java SDK sample

This manual is still a work in progress. This sample will appear shortly

JSON RPC Input Parameters

Method: describeInstances

Name Description

project PMC Project ID

Zone Virtualization region

HTTP Request 1

<HTTP HEADER>

{

"jsonrpc": "2.0",

"id": 1,

"method": "describeInstances",

"params": {

"zone": "%ZONE_NAME%",

"project": "%PROJECT_ID%",

}

}

HTTP Request 2

<HTTP HEADER>

{

"jsonrpc":"2.0",

"id":1,

"method":"describeInstances",

"params":{

"zone":"EPAM-ZONE",

"project":"EPM-PROJECT",

"instancesFilterCriteria":{

"instanceState":["RUNNING"]

}

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 35

Response Example

{

"jsonrpc": "2.0",

"id": 1,

"result": {

"instances": [

{

"instanceId": "EVBYMINSD000X0",

"zone": "EPAM-BY1",

"dnsName": "EVBYMINSD000X0.minsk.epam.com",

"privateIp": "10.6.001.001",

"state": "running",

"cpu": 2,

"memory": 3840,

"guestOS": "Red Hat Enterprise Linux 6 (64-bit)",

"owner": "Unknown",

"created": "2013-07-17T18:47:49EEST",

"vlanName": "Server Network"

}, ]

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 36

4.22 DESCRIBE INSTANCE PROPERTIES

Description

Retrieves user-defined metadata from instances.

Java SDK sample

This manual is still a work in progress. This sample will appear shortly

JSON RPC Input Parameters

Method: describeInstanceProperties

Name Description

project PMC Project ID

zone Virtualization region

instanceId ID of an instance to describe properties for

HTTP Request

<HTTP HEADER>

{

"jsonrpc": "2.0",

"id": 1,

"method": "describeInstanceProperties",

"params": {

"zone": "%ZONE_NAME%",

"project": "%PROJECT_ID%",

"instanceId": "%INSTANCE_ID%"

}

}

Response Example

{

"jsonrpc": "2.0",

"id": 1,

"result": {

"instanceProperties": [

{

"key": "simple_prop",

"value": "prop_value",

"secure": false

},

{

"key": "secure_prop",

"value": "*****",

"secure": true

}

]

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 37

4.23 DESCRIBE INSTANCE TAGS

Description

Retrieves custom tags, assigned to an instance for billing purposes.

Java SDK sample

This manual is still a work in progress. This sample will appear shortly

JSON RPC Input Parameters

Method: describeInstanceTags

Name Description

zone Virtualization region

project PMC Project ID

instanceId ID of an instance to describe tags for

HTTP Request

<HTTP HEADER>

{

"jsonrpc": "2.0",

"id": 1,

"method": "describeInstanceTags",

"params": {

"zone": "%ZONE_NAME%",

"project": "%PROJECT_ID%",

"instanceId": "%INSTANCE_ID%"

}

}

Response Example

{

"jsonrpc": "2.0",

"id": 1,

"result": {

"tags": [

{

"prefix": "user",

"key": "tag",

"value": "my_tag"

}

]

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 38

4.25 DESCRIBE KEY PAIRS

Description

Describes Orchestrator key pairs available for the specified project

Java SDK sample

This manual is still a work in progress. This sample will appear shortly

JSON RPC Input Parameters

Method: describeKeypairs

Name Description

project PMC Project ID

HTTP Request

<HTTP HEADER>

{

"jsonrpc": "2.0",

"id": 1,

"method": "describeKeyPairs",

"params": {

"project": "%PROJECT_NAME%"

}

}

Response Example

{

"jsonrpc": "2.0",

"id": 1,

"result": {

"keyPairs": [

{

"name": "key1",

"owner": "John Doe",

"project": "EPMC-CLO"

}

]

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 39

4.26 DESCRIBE PROJECTS

Description

Describes all activated projects accessible by current user

Java SDK sample

This manual is still a work in progress. This sample will appear shortly

JSON RPC Input Parameters

Method: describeProjects

Name Description

project PMC Project ID

HTTP Request

<HTTP HEADER>

{

"jsonrpc": "2.0",

"id": 1,

"method": "describeProjects",

"params": {}

}

Response Example

{

"jsonrpc": "2.0",

"id": 1,

"result": {

"projects": [

{

"name": "DEMOPRO",

"zone": "EPAM-BY1",

"active": true,

"activationDate": "2013-07-17T18:42:28EEST",

"shapes": ["small", "medium", "large"],

"instanceCreationIntervalCount": 20,

"instanceCreationIntervalHours": 24,

"volumeCreationIntervalCount": 5,

"volumeCreationIntervalHours": 24,

"maxVolumeSizeGb": 200,

"maxCheckpointsPerInstance": 1,

"autoConfigurationDisabled": false

}

]

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 40

4.27 DESCRIBE SHAPES

Description

Describes machine shapes, available for the specified project.

Java SDK sample

This manual is still a work in progress. This sample will appear shortly

JSON RPC Input Parameters

Method: describeShapes

Name Description

project PMC Project ID

zone Virtualization region

HTTP Request

<HTTP HEADER>

{

"jsonrpc": "2.0",

"id": 1,

"method": "describeShapes",

"params": {

"zone": "%ZONE_NAME%",

"project": "%PROJECT_ID%"

}

}

Response Example

{

"jsonrpc": "2.0",

"id": 1,

"result": {

"shapes": [

{

"name": "SMALL",

"awsType": "m1.small",

"cpu": 1,

"memoryMb": 1740

},

{

"name": "MEDIUM",

"awsType": "m1.medium",

"cpu": 2,

"memoryMb": 3840

}

]

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 41

4.28 DESCRIBE SCRIPTS

Description

Describes scripts, uploaded and available for the specified project.

Java SDK sample

This manual is still a work in progress. This sample will appear shortly

JSON RPC Input Parameters

Method: describeScripts

Name Description

project PMC Project ID

HTTP Request

<HTTP HEADER>

{

"jsonrpc": "2.0",

"id": 1,

"method": "describeScripts",

"params": {

"project": "%PROJECT_ID%"

}

}

Response Example

{

"jsonrpc": "2.0",

"id": 1,

"result": {

"scripts": [

{

"project": "EPMC-CLO",

"name": "script1",

"description": "script description",

"link": "/files/0xx000x0-0000-0000-x000-x00x00000000/script3"

}

]

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 42

4.29 DESCRIBE VOLUMES

Description

Describes storage volumes belonging to the specified project.

Java SDK sample

This manual is still a work in progress. This sample will appear shortly

JSON RPC Input Parameters

Method: describeVolumes

Name Description

zone Virtualization region

project PMC Project ID

volumeId ID of a volume to describe

HTTP Request

<HTTP HEADER>

{

"jsonrpc": "2.0",

"id": 1,

"method": "describeVolumes",

"params": {

"zone": "%ZONE_NAME%",

"project": "%PROJECT_ID%",

"instanceId": "%INSTANCE_ID%"

}

}

Response Example

{

"jsonrpc": "2.0",

"id": 1,

"result": {

"volumes": [

{

"volumeId": "vol-00x0x0xx",

"size": 20480,

"realSize": 2923,

"instanceId": "EVBYMINSD0000X0",

"used": true,

"state": "ready",

"system": true

}

]

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 43

4.30 DESCRIBE VOLUME PROPERTIES

Description

Retrieves user-defined metadata from storage volumes.

Java SDK sample

This manual is still a work in progress. This sample will appear shortly

JSON RPC Input Parameters

Method: describeVolumeProperties

Name Description

project PMC Project ID

zone Virtualization region

volumeId ID of a volume to describe properties for

HTTP Request

<HTTP HEADER>

{

"jsonrpc": "2.0",

"id": 1,

"method": "describeVolumeProperties",

"params": {

"zone": "%ZONE_NAME%",

"project": "%PROJECT_ID%",

"volumeId": "%VOLUME_ID%"

}

}

Response Example

{

"jsonrpc": "2.0",

"id": 1,

"result": {

"volumeProperties": [

{

"key": "simple_prop",

"value": "prop_value",

"secure": false

},

{

"key": "secure_prop",

"value": "*****",

"secure": true

}

]

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 44

4.31 DESCRIBE VOLUME TAGS

Description

Retrieves custom tags, assigned to a volume for billing purposes.

Java SDK sample

This manual is still a work in progress. This sample will appear shortly

JSON RPC Input Parameters

Method: describeVolumeTags

Name Description

zone Virtualization region

project PMC Project ID

volumeId ID of an instance to describe tags for

HTTP Request

<HTTP HEADER>

{

"jsonrpc": "2.0",

"id": 1,

"method": "describeVolumeTags",

"params": {

"zone": "%ZONE_NAME%",

"project": "%PROJECT_ID%",

"volumeId": "%VOLUME_ID%"

}

}

Response Example

{

"jsonrpc": "2.0",

"id": 1,

"result": {

"tags": [

{

"prefix": "user",

"key": "tag",

"value": "my_tag"

}

]

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 45

4.32 DESCRIBE ZONES

Description

Describes all virtualization regions available for the specified project

Java SDK sample

This manual is still a work in progress. This sample will appear shortly

JSON RPC Input Parameters

Method: describeZones

HTTP Request

<HTTP HEADER>

{

"jsonrpc": "2.0",

"id": 1,

"method": "describeZones",

"params": {

"project": "%PROJECT_ID%"

}

}

Response Example

{

"jsonrpc": "2.0",

"id": 1,

"result": {

"zones": [

{

"name": "AWS-USEAST"

},

{

"name": "EPAM-BY1"

}

]

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 46

4.33 DETACH VOLUMES

Description

Detaches a storage volume from the specified instance.

Java SDK sample

This manual is still a work in progress. This sample will appear shortly

JSON RPC Input Parameters

Method: detachVolume

Name Description

zone Virtualization region

project PMC Project ID

volumeId ID of a volume to detach

HTTP Request

<HTTP HEADER>

{

"jsonrpc": "2.0",

"id": 1,

"method": "detachVolume",

"params": {

"zone": "%ZONE_NAME%",

"project": "%PROJECT_ID%",

"volumeId": "vol-29d0d8de"

}

}

Response Example

{

"jsonrpc": "2.0",

"id": 1,

"result": {

"volume": {

"volumeId": "vol-00x0x0xx",

"size": 1024,

"realSize": 0,

"instanceId": "EVBYMINSD1181T3",

"used": true,

"state": "detaching",

"system": false

}

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 47

4.34 GO TO CHECKPOINT

Description

Reverts to the specified instance checkpoint.

Java SDK sample

This manual is still a work in progress. This sample will appear shortly

JSON RPC Input Parameters

Method: goToCheckpoint

Name Description

project PMC Project ID

zone Virtualization region

instanceId ID of an instance

checkpointId ID of a checkpoint to revert to

HTTP Request

<HTTP HEADER>

{

"jsonrpc": "2.0",

"id": 1,

"method": "goToCheckpoint",

"params": {

"project": "%PROJECT_ID%",

"zone": "%ZONE_NAME%",

"instanceId": "%INSTANCE_ID%",

"checkpointId": "%CHECKPOINT_ID%"

}

}

Response Example

{

"jsonrpc": "2.0",

"id": 1,

"result": {

"checkpoint": {

"checkpointId": "checkpoint-2013_8_3_0_EVBYMINSD0X",

"state": "restoring",

"description": "description",

"current": true,

"sizeMB": 1741

}

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 48

4.35 REATTACH VOLUME

Description

Detaches specified volume from one instance and attaches it to another instance.

Java SDK sample

This manual is still a work in progress. This sample will appear shortly

JSON RPC Input Parameters

Method: rettachVolume

Name Description

zone Virtualization region

project PMC Project ID

volumeId Storage volume ID

instanceId ID of an instance to attach the volume to

HTTP Request

<HTTP HEADER>

{

"jsonrpc": "2.0",

"id": 1,

"method": "reattachVolume",

"params": {

"zone": "%ZONE_NAME%",

"project": "%PROJECT_ID%",

"instanceId": "%INSTANCE_ID%",

"volumeId": "%VOLUME_ID%"

}

}

Response Example

{

"jsonrpc": "2.0",

"id": 1,

"result": {

"volume": {

"volumeId": "vol-00x0x0xx",

"size": 1024,

"realSize": 0,

"instanceId": "EVBYMINSD0000X0",

"used": true,

"state": "detaching",

"system": false

}

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 49

4.36 REBOOT INSTANCE

Description

Reboots the specified instance.

Java SDK sample

This manual is still a work in progress. This sample will appear shortly

JSON RPC Input Parameters

Method: rebootInstance

Name Description

zone Virtualization region

project PMC Project ID

instanceId ID of an instance to reboot

HTTP Request

<HTTP HEADER>

{

"jsonrpc": "2.0",

"id": 1,

"method": "rebootInstance",

"params": {

"zone": "%ZONE_NAME%",

"project": "%PROJECT_ID%",

"instanceId": "%INSTANCE_ID%"

}

}

Response Example

{ "jsonrpc": "2.0",

"id": 1,

"result": {

"instance": {

"instanceId": "EVBYMINSD0000X0",

"zone": "EPAM-BY1",

"dnsName": "EVBYMINSD0000X0.minsk.epam.com",

"privateIp": "10.6.001.001",

"state": "rebooting",

"cpu": 1,

"memory": 1740,

"guestOS": "Ubuntu Linux (64-bit)",

"owner": "John Doe",

"created": "2013-08-03T00:00:00EEST",

"image": "Ubuntu10.04_64-bit",

"shape": "SMALL",

"vlanName": "Server Network"

}

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 50

4.37 REVERT TO CHECKPOINT

Description

Reverts to the most recent instance checkpoint.

Java SDK sample

This manual is still a work in progress. This sample will appear shortly

JSON RPC Input Parameters

Method: revertToCheckpoint

Name Description

project PMC Project ID

zone Virtualization region

instanceId ID of an instance

HTTP Request

<HTTP HEADER>

{

"jsonrpc": "2.0",

"id": 1,

"method": "revertToCheckpoint",

"params": {

"project": "%PROJECT_ID%",

"zone": "%ZONE_NAME%",

"instanceId": "%INSTANCE_ID%"

}

Response Example

{

"jsonrpc": "2.0",

"id": 1,

"result": {

"checkpoint": {

"checkpointId": "checkpoint-2013_8_03_00_00_00_EVBYMINSD0000X0",

"state": "restoring",

"description": "description",

"current": true,

"sizeMB": 1757

}

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 51

4.38 RUN INSTANCE

Description

Creates and launches a new Cloud instance.

Java SDK sample

This manual is still a work in progress. This sample will appear shortly

JSON RPC Input Parameters

Method: runInstance

Name Description

zone Virtualization region

project PMC Project ID

imageId ID of a machine image to use

shape Hardware shape to use

HTTP Request

<HTTP HEADER>

{

"jsonrpc": "2.0",

"id": 1,

"method": "runInstance",

"params": {

"zone": "%ZONE_NAME%",

"project": "%PROJECT_ID%",

"imageId": "%MACHINE_IMAGE_ID%",

"shape": "%SHAPE%"

}

}

Response Example

{

"jsonrpc": "2.0",

"id": 1,

"result": {

"instance": {

"instanceId": "EVBYMINSD0000X0",

"zone": "EPAM-BY1",

"state": "starting",

"cpu": 1,

"memory": 1740,

"owner": "John Doe",

"created": "2013-08-03T00:00:00EEST",

"image": "Ubuntu10.04_64-bit",

"shape": "SMALL"

}

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 52

4.39 SET INSTANCE PROPERTIES

Description

Assigns user-defined metadata to instances.

Java SDK sample

This manual is still a work in progress. This sample will appear shortly

JSON RPC Input Parameters

Method: setInstanceProperties

Name Description

project PMC Project ID

zone Virtualization region

instanceId ID of an instance to assign properties to

key Property key

value Property value

secure Simple or secure

append Set to ‘true’ to append new properties to existing ones, instead of overwriting

HTTP Request

<HTTP HEADER>

{

"jsonrpc": "2.0",

"id": 1,

"method": "setInstanceProperties",

"params": {

"zone": "%ZONE_NAME%",

"project": "%PROJECT_ID%",

"instanceId": "%INSTANCE_ID%",

"properties": [

{

"key": "%PROPERTY_KEY%",

"value": "%PROPERTY_VALUE%",

"secure": %true/false%

}

],

"append": false

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 53

Response Example

{

"jsonrpc": "2.0",

"id": 1,

"result": {

"instanceProperties": [

{

"key": "simple_prop",

"value": "prop_value",

"secure": false

}

]

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 54

4.40 SET INSTANCE TAG

Description

Assigns a custom tag to an instance for billing purposes.

Java SDK sample

This manual is still a work in progress. This sample will appear shortly

JSON RPC Input Parameters

Method: setInstanceTag

Name Description

project PMC Project ID

zone Virtualization region

instanceId ID of an instance to assign a tag to

tag Tag name

overrideVolumes Set to ‘true’ to apply to all volumes, attached to the instance

HTTP Request

<HTTP HEADER>

{

"jsonrpc": "2.0",

"id": 1,

"method": "setInstanceTag",

"params": {

"zone": "%ZONE_NAME%",

"project": "%PROJECT_ID%",

"tag": "my_tag",

"instanceId": "%INSTANCE_ID%",

"overrideVolumes": %true/false%

}

}

Response Example

{

"jsonrpc": "2.0",

"id": 1,

"result": {

"tag": {

"prefix": "user",

"key": "tag",

"value": "my_tag"

}

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 55

4.41 SET VOLUME PROPERTIES

Description

Assigns user-defined metadata to storage volumes.

Java SDK sample

This manual is still a work in progress. This sample will appear shortly

JSON RPC Input Parameters

Method: setVolumeProperties

Name Description

project PMC Project ID

zone Virtualization region

volumeId ID of a storage volume to assign properties to

key Property key

value Property value

secure Simple or secure

append Set to ‘true’ to append new properties to existing ones, instead of overwriting

HTTP Request

{

"jsonrpc": "2.0",

"id": 1,

"method": "setVolumeProperties",

"params": {

"zone": "%ZONE_NAME%",

"project": "%PROJECT_ID%",

"volumeId": "%VOLUME_ID%",

"properties": [

{

"key": "%KEY_NAME",

"value": "%VALUE_NAME%",

"secure": %true/false%

}

],

"append": false

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 56

Response Example

{

"jsonrpc": "2.0",

"id": 1,

"result": {

"instanceProperties": [

{

"key": "secure_prop",

"value": "*****",

"secure": true

}

]

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 57

4.43 SET VOLUME TAG

Description

Assigns a custom tag to a storage volume instance for billing purposes.

Java SDK sample

This manual is still a work in progress. This sample will appear shortly

JSON RPC Input Parameters

Method: setVolumeTag

Name Description

project PMC Project ID

zone Virtualization region

volumeId ID of an instance to assign a tag to

tag Tag name

HTTP Request

<HTTP HEADER>

{

"jsonrpc": "2.0",

"id": 1,

"method": "setVolumeTag",

"params": {

"zone": "%ZONE_NAME%",

"project": "%PROJECT_ID%",

"volumeId": "%VOLUME_ID%",

"tag": "%TAG%"

}

}

Response Example

{

"jsonrpc": "2.0",

"id": 1,

"result": {

"tag": {

"prefix": "user",

"key": "tag",

"value": "my_tag"

}

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 58

4.44 START INSTANCE

Description

Starts stopped instances.

Java SDK sample

This manual is still a work in progress. This sample will appear shortly

JSON RPC Input Parameters

Method: startInstance

Name Description

project PMC Project ID

zone Virtualization region

instanceId ID of an instance to start

HTTP Request

<HTTP HEADER>

{

"jsonrpc": "2.0",

"id": 1,

"method": "startInstance",

"params": {

"zone": "%ZONE_NAME%",

"project": "%PROJECT_ID%",

"instanceId": "%INSTANCE_ID%"

}

}

Response Example

{

"jsonrpc": "2.0",

"id": 1,

"result": {

"instance": {

"instanceId": "EVBYMINSD0000X0",

"zone": "EPAM-BY1",

"state": "starting",

"cpu": 1,

"memory": 1740,

"guestOS": "Ubuntu Linux (64-bit)",

"owner": "John Doe",

"created": "2013-08-03T00:00:00EEST",

"image": "Ubuntu10.04_64-bit",

"shape": "SMALL",

"vlanName": "Server Network"

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 59

4.45 STOP INSTANCE

Description

Stops launched instances.

Java SDK sample

This manual is still a work in progress. This sample will appear shortly

JSON RPC Input Parameters

Method: stopInstance

Name Description

project PMC Project ID

zone Virtualization region

instanceId ID of an instance to stop

HTTP Request

<HTTP HEADER>

{

"jsonrpc": "2.0",

"id": 1,

"method": "stopInstance",

"params": {

"zone": "%ZONE_NAME%",

"project": "%PROJECT_ID%",

"instanceId": "%INSTANCE_ID%"

}

}

Response Example

{ "jsonrpc": "2.0",

"id": 1,

"result": {

"instance": {

"instanceId": "EVBYMINSD0000X0",

"zone": "EPAM-BY1",

"dnsName": "EVBYMINSD0000X0.minsk.epam.com",

"privateIp": "10.6.001.001",

"state": "stopping",

"cpu": 1,

"memory": 1740,

"guestOS": "Ubuntu Linux (64-bit)",

"owner": "John Doe",

"created": "2013-08-03T00:00:00EEST",

"image": "Ubuntu10.04_64-bit",

"shape": "SMALL",

"vlanName": "Server Network"

}

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 60

4.46 UPLOAD SCRIPT

4.46

Description

Uploads the specified script.

Java SDK sample

This manual is still a work in progress. This sample will appear shortly

JSON RPC Input Parameters

Method: uploadScript

Name Description

project PMC Project ID

name Script name

description Script description

content Script body

mimeType Content type

HTTP Request

<HTTP HEADER>

{

"jsonrpc": "2.0",

"id": 1,

"method": "uploadScript",

"params": {

"project": "%PROJECT_ID%",

"name": "%SCRIPT_NAME%",

"description": "%SCRIPT_DESCRIPTION%",

"content": "%SCRIPT_BODY%",

"mimeType": "%e.g. application/octet-stream%"

}

}

Response Example

{

"jsonrpc": "2.0",

"id": 1,

"result": {

"scriptFile": {

"project": "EPMC-CLO",

"name": "script3",

"description": "script description",

"link": "/files/0xx000x0-0000-0000-x000-x00x00000000/script3"

}

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 61

4.47 TERMINATE INSTANCE

Description

Terminates the specified instance.

Java SDK sample

This manual is still a work in progress. This sample will appear shortly

JSON RPC Input Parameters

Method: terminateInstance

Name Description

project PMC Project ID

zone Virtualization region

instanceId ID of an instance to terminate

HTTP Request

<HTTP HEADER>

{

"jsonrpc": "2.0",

"id": 1,

"method": "terminateInstance",

"params": {

"zone": "%ZONE_NAME%",

"project": "%PROJECT_ID%",

"instanceId": "%INSTANCE_ID%"

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 62

Response Example

{

"jsonrpc": "2.0",

"id": 1,

"result": {

"instance": {

"instanceId": "EVBYMINSD000X0",

"zone": "EPAM-BY1",

"dnsName": "EVBYMINSD000X0.minsk.epam.com",

"privateIp": "10.6.001.001",

"state": "terminating",

"cpu": 1,

"memory": 1740,

"guestOS": "Ubuntu Linux (64-bit)",

"owner": "John Doe",

"created": "2013-08-03T00:00:00EEST",

"image": "Ubuntu10.04_64-bit",

"shape": "SMALL",

"vlanName": "Server Network"

}

}

}

}

}

}

}

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 63

5 ORCHESTRATOR RUBY GEM

Our developers created a tool that allows the users manipulate EPAM Orchestrator using the Ruby tools.

The supported gem provides basic functionality to the EPAM Cloud.

This gem is a private one so it's not available in public rubygems repositories. Still, you can use

bundler to work with git repository.

Below, you can see step-by steps instructions on the Cloud Ruby Gem installation:

• Linux-way

1. Create Gemfile with next contents:

source 'https://rubygems.org' gem 'fog-or2', :git =>

'https://git.epam.com/yauhen_artsiukhou/fog-or2.git', :tag => 'v0.3.1'

2. In same directory, execute bundle install

3. Test it preliminary, by running a Ruby code sample as:

require 'OR2'

This should return 0.

• Windows-way

1. Create Gemfile with next contents:

source 'https://rubygems.org' gem 'fog-or2', :git =>

'https://git.epam.com/yauhen_artsiukhou/fog-or2.git', :tag => 'v0.3.1'

2. In same directory, execute bundle install

3. Locate folder with gems, installed by Bundler (it may be located inside of Ruby gem's

folder, for example: RUBY_PATH\gems\RUBY_VER\bundler\gems. Due to this, we have to

include this dir in Ruby $LOAD_PATH variable, because it is not there by default.

4. To fix p.3 - we can either run Ruby with option -I

ruby -I RUBY_PATH\gems\RUBY_VER\bundler\gems\fog-or2\lib

OR

set RUBYLIB= RUBY_PATH\gems\RUBY_VER\bundler\gems\fog-or2\lib

5. Test it preliminary, by running Ruby code simple as:

require 'OR2'

This should return 0.

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 64

6 API ERRORS HANDLING

The section provides error codes for CLI, SDK and EO Core level issues.

The issues of other levels are out of scope of this document. If you need assistance with them, please,

submit a respective Request on support.epam.com.

6.1 GENERAL ERRORS FLOW

A command, initiated by a cloud user, typically passes 5 or 6 levels of execution. These levels are:

CLI SDK EO-Core [HP CSA] HP OO Environment

On each level, the command is processed and validated before being passed further, and on each level an

error can occur. In most cases, when an error occurs, the information about it is passed back to the user,

going through previous levels. In some cases the initial message is passed “as is”, and in some it is

manipulated and restructured on its way back.

Moreover, when an error occurs, the information about it is logged to the corresponding place, depending

on the level where it happened.

Below, you can see a diagram illustrating the typical operation flow:

CLI(Level 1)

SDK(Level 2)

EO CORE(Level 3)

HP CSA (Level 4)

HP OO(Level 5)

Environment(Level 6)

or2run

Validate

Error 1 Check Permissions

Error 2` Error 2

GO

GO

Validate

Validate

Error 3Error 3`

Error 4Error 4`Error 4``

GO

GO

GO

Error 5`Error 5``Error 5```Error 5````

Logging A Logging B Logging B Logging C Logging D Logging E

GOError 5

Error 6Error 6`Error 6``Error 6```

Virtualization

Error

USER

Laptop

Figure 2 - Operation flow diagram

It should be noted that the process on the HP CSA level are asynchronous. After the command is passed,

HP CSA does not wait for its execution, and always reports success. Therefore, under such conditions,

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 65

there is no possibility to monitor if any issues occur on L4-L5 stage. On L5-L6 stage, some processes are

synchronized and the others are not, so, we can see only a part of the errors that occur.

When it deals with asynchronous processes, we cannot notify the users on the problems that occur. We

also cannot deal with the problems that appear on Orchestrator.

Each of the components reports the operation success or failure. If no response is received during one

minute, a connection failure is detected. In such case, the user gets an <internal error> message.

6.2 CLI ERRORS. LEVEL 1.

The CLI errors are displayed as a message during the program execution and include an error code.

Each execution of a Maestro-CLI command returns an exit code. The user can see the exit code for the

command by entering the following line in your command line immediately after running a Maestro-CLI

command:

echo %ERRORLEVEL%

The list of all exit codes is provided in the table below:

Error code

Unix error code description

Server response Possible causes, CLIException

0 Success 200 OK (HTTP/1.0 - RFC 1945)

Successful command execution

1 Operation not permitted

Any not described below

Not specified execution fail, scripts exit code 1

13 Permission denied

N/A Cannot retrieve user credentials

401 Unauthorized (HTTP/1.0 - RFC 1945)

UnauthorizedException

22 Invalid argument

NA

CLI arguments parsing error: invalid or missing JCommander CLI arguments, environment variables or properties values

400 Bad Request (HTTP/1.1 - RFC 2616)

BadRequestException

CliValidationException

InvalidRequestException

41 Unknown error 41 403 Forbidden (HTTP/1.0 - RFC 1945)

ForbiddenException

58 Unknown error 58 405 Method Not Allowed (HTTP/1.1 - RFC 2616)

NotAllowedException

61 No data available 204 No Content (HTTP/1.0 - RFC 1945)

No data for the specified request is available

70 Communication error on send

Any HTTPResponse from HTTPClient is null

111 NA java.net.UnknownHostException

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 66

Error code

Unix error code description

Server response Possible causes, CLIException

Connection refused

NA org.apache.http.conn.HttpHostConnectException

133 Unknown error 133

404 Not Found (HTTP/1.0 - RFC 1945)

NotFoundException

134 Unknown error 134

500 Server Error (HTTP/1.0 - RFC 1945)

CliException

135 Unknown error 135

NA Cannot get maestro-cli client version

NA Invalid response content type (expecting application/xml)

406 Not Acceptable (HTTP/1.1 - RFC 2616)

InvalidCliVersionException

136 Unknown error 136

417 Expectation Failed (HTTP/1.1 - RFC 2616)

CliVirtualizationException

137 Unknown error 137

412 Precondition Failed Action confirmation required

138 Unknown error 138

302 Moved Temporarily (HTTP/1.0 - RFC 1945)

EPAM Orchestrator maintenance is in progress

If the returned error does not provide you with the sufficient information, you can ask the user to turn on the

verbose mode that invokes logging of all the communication processes between the CLI and the SDK.

The details on verbose mode activation are given in Maestro CLI Developer's Guide (Chapter 5. Log

Subsystem)

6.3 SDK ERRORS. LEVEL 2.

When a command comes to SDK, the user permissions are checked first. The following stages are passed:

1. Authorization (see Authorization Algorithm section for details)

2. Quotas check

3. User permissions check.

When the validation stage is passed, the command is being processed by SDK. At any of these points

exceptions can occur.

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 67

There is a range of error codes reserved for SDK errors of different types:

Error Code Ranges Error Type

[-32768, 32767] Whole interval

[-32768, -32000] RPC errors

[-31999, 0] Not Used

[0, 100000] Not Used

[10001 to 15000] Parameter validation errors

[15001, 16000] Authorization errors

[16001, 20000] Not Used

[20001, 25000] Business logic errors

[25001, 32767] Not Used

In sections below, you can find the error codes for the different groups.

RPC Errors

The table below shows the list of the error codes for pre-defined RPC errors.

Error Error Code

INTERNAL_SERVER_ERROR -32750

INTERNAL_SERVER_ERROR_FAILED_TO_AUTHORIZE -32749

PARSE_ERROR -32700

INVALID_REQUEST -32600

INVALID_PARAMETERS -32602

METHOD_NOT_FOUND -32601

INTERNAL_RPC_ERROR -32603

UNABLE_TO_SERIALIZE_RESPONSE -32001

UNABLE_GET_API_HANDLER -32002

INVALID_METHOD_NAME -32003

INVALID_AUTHORIZATION_PARAMS -32004

UNAUTHORIZED_REQUEST -32005

INVALID_CLIENT_VERSION -32006

MAESTRO_EXCEPTION -32007

MISSING_API_SDK_VERSION -32008

WRONG_API_SDK_VERSION -32009

ZONE_UNAVAILABLE -32010

Parameter Validation Errors

The table below displays the existing parameter validation errors for different operations:

Error Error Code

INVALID_CONTENT_TYPE 10002

MISSING_PROJECT_PARAM 10003

INVALID_COMPUTE_QUOTA_PARAM 10004

MISSING_COMPUTE_QUOTA_PARAM 10005

INVALID_STORAGE_QUOTA_PARAM 10006

MISSING_STORAGE_QUOTA_PARAM 10007

INVALID_TOTAL_QUOTA_PARAM 10008

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 68

Error Error Code

MISSING_TOTAL_QUOTA_PARAM 10009

MISSING_QUOTA_EXCEED_ACTION_PARAM 10010

INVALID_QUOTA_ALERT_THRESHOLD_PARAM 10011

MISSING_QUOTA_ALERT_THRESHOLD_PARAM 10012

MISSING_ACTIVE_PARAM 10013

MISSING_FROM_PARAM 10014

MISSING_TO_PARAM 10015

FROM_DATE_AFTER_TO_DATE 10016

MISSING_ZONE_PARAM 10017

MISSING_VOLUME_ID_PARAM 10018

MISSING_INSTANCE_ID_PARAM 10019

MISSING_VOLUME_SIZE_PARAM 10020

INVALID_SIZE_PARAM 10021

INVALID_CHECKPOINT_DESCRIPTION_PARAM 10022

MISSING_IMAGE_ID_PARAM 10023

INVALID_NAME_PARAM 10024

MISSING_DESCRIPTION_PARAM 10025

MISSING_NAME_PARAM 10026

MISSING_CHECKPOINT_PARAM 10027

INVALID_DAYS_PARAM 10028

INVALID_TIME_FRAME_MAXIMUM_PARAM 10029

INVALID_TIME_FRAME_PARAM 10030

MISSING_INSTANCES_PARAM 10031

MISSING_PROPERTIES_FOR_DELETE 10032

MISSING_TAG_PARAM 10033

INVALID_TAG_VALUE_PARAM 10034

MISSING_INSTANCE_PROPERTIES_PARAM 10035

MISSING_SHAPE_PARAM 10036

INVALID_INSTANCE_EXPIRATION_PARAM 10037

INVALID_GROUP_PARAM 10038

INVALID_SHAPE_PARAM 10039

INVALID_QUOTA_EXCEED_ACTION_PARAM 10040

INVALID_REGEXP_PARAM 10041

MISSING_VLAN_NAME_PARAM 10042

MISSING_INSTANCE_PROPERTY_KEY_NAME_PARAM 10043

MISSING_INSTANCE_PROPERTY_VALUE_PARAM 10044

INVALID_META_LENGTH_PARAM 10045

INVALID_SHAPES_PARAM 10046

MISSING_PROJECT_NAME_PARAM 10047

MISSING_PMC_PROJECT_CODE_PARAM 10048

MISSING_ACCESS_KEY_PARAM 10049

MISSING_SECRET_KEY_PARAM 10050

MISSING_EC2_ENDPOINT_PARAM 10051

MISSING_CLOUD_FORMATION_ENDPOINT_PARAM 10052

INVALID_ALERT_ON_PARAM 10053

INVALID_STOP_ON_PARAM 10054

INVALID_TAG_LENGTH_PARAM 10055

EMPTY_SHAPES_PARAM 10056

EMPTY_PERMISSION_GROUP_NAME_PARAM 10057

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 69

Error Error Code

EMPTY_OPERATION_LIST_PARAM 10058

INVALID_OPERATION_PARAM 10059

EMPTY_PMC_ROLE_PARAM 10060

EMPTY_PERMISSION_GROUPS_PARAM 10061

MISSING_YEAR_PARAM 10062

MISSING_MONTH_PARAM 10063

INVALID_YEAR_MONTH_DAY_PARAMS 10064

EMPTY_EMAIL_PARAM 10065

INVALID_EMAIL_PARAM 10066

MISSING_GROUP_PARAM 10067

MISSING_SUBGROUP_PARAM 10068

INVALID_SKIP_PARAM 10069

MISSING_LIMIT_PARAM 10070

INVALID_LIMIT_PARAM 10071

INVALID_AUDIT_GROUP_PARAM 10072

INVALID_AUDIT_SUB_GROUP_PARAM 10073

INVALID_AUDIT_TYPE_PARAM 10074

EMPTY_GROUP_NAME_EXCEPTION 10075

MISSING_VOLUME_PROPERTIES_PARAM 10076

MISSING_UPLOADING_TEMPLATE_NAME_PARAM 10077

MISSING_STACK_NAME_PARAM 10078

INVALID_STACK_NAME_PARAM 10079

MISSING_UPLOADING_TEMPLATE_DESCRIPTION_PARAM 10080

MISSING_UPLOADING_SCRIPT_NAME_PARAM 10081

MISSING_UPLOADING_SCRIPT_DESCRIPTION_PARAM 10082

MISSING_UPLOADING_SCRIPT_CONTENT_PARAM 10083

MISSING_MIME_TYPE_PARAM 10084

MISSING_FULL_USER_NAME_PARAM 10085

MISSING_USER_LOGIN_PARAM 10086

MISSING_USER_PASSWORD_PARAM 10087

INVALID_PROJECT_CONTACT_TYPE_PARAM 10088

MISSING_PROJECT_CONTACT_TYPE_PARAM 10089

MISSING_INSTANCE_CREATION_INTERVAL_PARAM 10090

MISSING_CREATION_COUNT_PARAM 10091

MISSING_MAXIMUM_SIZE_PARAM 10092

EMPTY_IP_ADDRESSES_LIST_PARAM 10093

MISSING_CUSTOM_MEMORY_GB_PER_MONTH_MULTIPLIER_PARAM 10094

INVALID_MAX_VOLUME_SIZE_PARAM 10095

INVALID_CREATION_VOLUMES_COUNT_PARAM 10096

INVALID_CREATION_INTERVAL_HOURS_PARAM 10097

INVALID_CREATION_INSTANCES_COUNT_PARAM 10098

EMPTY_MAX_ALLOWED_CHECKPOINTS_PARAM 10099

INVALID_MAX_ALLOWED_CHECKPOINTS_PARAM 10100

INVALID_UPLOAD_TEMPLATE_PARAMETERS 10101

EMPTY_PROJECT_CONTACTS_LIST 10102

INVALID_CUSTOM_MEMORY_GB_PER_MONTH_MULTIPLIER_PARAM 10103

MISSING_CHECKPOINT_ACTIVE_1GB_PER_MONTH_PARAM 10104

INVALID_CHECKPOINT_ACTIVE_1GB_PER_MONTH_PARAM 10105

MISSING_CHECKPOINT_ACTIVE_2GB_PER_MONTH_PARAM 10106

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 70

Error Error Code

INVALID_CHECKPOINT_ACTIVE_2GB_PER_MONTH_PARAM 10107

MISSING_CHECKPOINT_GB_UNDER_VALUE_PER_MONTH_PARAM 10108

INVALID_CHECKPOINT_GB_UNDER_VALUE_PER_MONTH_PARAM 10109

MISSING_CHECKPOINT_GB_OVER_VALUE_PER_MONTH_PARAM 10110

INVALID_CHECKPOINT_GB_OVER_VALUE_PER_MONTH_PARAM 10111

MISSING_CHECKPOINT_OVER_VALUE_PARAM 10112

INVALID_CHECKPOINT_OVER_VALUE_PARAM 10113

MISSING_CHECKPOINT_PASSIVE_GB_PER_MONTH_PARAM 10114

INVALID_CHECKPOINT_PASSIVE_GB_PER_MONTH_PARAM 10115

MISSING_CHECKPOINT_ROUNDING_PARAM 10116

MISSING_CHECKPOINT_CALCULATION_MODE_PARAM 10117

MISSING_CHECKPOINT_SCALE_PARAM 10118

INVALID_CHECKPOINT_SCALE_PARAM 10119

MISSING_COEFFICIENT_PARAM 10120

INVALID_COEFFICIENT_PARAM 10121

MISSING_CUSTOM_WINDOWS_LICENSE_PER_MEMORY_GB_PER_MONTH_MULTIPLIER_PARAM

10122

INVALID_CUSTOM_WINDOWS_LICENSE_PER_MEMORY_GB_PER_MONTH_MULTIPLIER_PARAM

10123

MISSING_CUSTOM_V_CORE_PER_MONTH_MULTIPLIER_PARAM 10124

INVALID_CUSTOM_V_CORE_PER_MONTH_MULTIPLIER_PARAM 10125

MISSING_CUSTOM_WINDOWS_LICENSE_PER_MONTH_MULTIPLIER_PARAM

10126

INVALID_CUSTOM_WINDOWS_LICENSE_PER_MONTH_MULTIPLIER_PARAM

10127

MISSING_CUSTOM_WINDOWS_LICENSE_PER_V_CORE_PER_MONTH_MULTIPLIER_PARAM

10128

INVALID_CUSTOM_WINDOWS_LICENSE_PER_V_CORE_PER_MONTH_MULTIPLIER_PARAM

10129

MISSING_FIXED_HOURS_IN_MONTH_PARAM 10130

INVALID_FIXED_HOURS_IN_MONTH_PARAM 10131

MISSING_HOURS_IN_MONTH_MODE_PARAM 10132

MISSING_INSTANCE_BASE_PRICE_PARAM 10133

INVALID_INSTANCE_BASE_PRICE_PARAM 10134

MISSING_INSTANCE_BASE_ROUNDING_PARAM 10135

MISSING_INSTANCE_BASE_SCALE_PARAM 10136

INVALID_INSTANCE_BASE_SCALE_PARAM 10137

MISSING_INSTANCE_RUN_FEE_PARAM 10138

INVALID_INSTANCE_RUN_FEE_PARAM 10139

MISSING_INSTANCE_RUN_FEE_ROUNDING_PARAM 10140

MISSING_INSTANCE_RUN_FEE_SCALE_PARAM 10141

INVALID_INSTANCE_RUN_FEE_SCALE_PARAM 10142

MISSING_MACHINE_IMAGE_CALCULATION_MODE_PARAM 10143

MISSING_MACHINE_IMAGE_GB_OVER_VALUE_PER_MONTH_PARAM 10144

INVALID_MACHINE_IMAGE_GB_OVER_VALUE_PER_MONTH_PARAM 10145

MISSING_MACHINE_IMAGE_GB_UNDER_VALUE_PER_MONTH_PARAM 10146

INVALID_MACHINE_IMAGE_GB_UNDER_VALUE_PER_MONTH_PARAM 10147

MISSING_MACHINE_IMAGE_OVER_VALUE_MONTH_PARAM 10148

INVALID_MACHINE_IMAGE_OVER_VALUE_PARAM 10149

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 71

Error Error Code

MISSING_MACHINE_IMAGE_ROUNDING_PARAM 10150

INVALID_MACHINE_IMAGE_ROUNDING_PARAM 10151

MISSING_MACHINE_IMAGE_SCALE_PARAM 10152

INVALID_MACHINE_IMAGE_SCALE_PARAM 10153

MISSING_MEMORY_GB_PER_MONTH_PARAM 10154

INVALID_MEMORY_GB_PER_MONTH_PARAM 10155

INVALID_MEMORY_ROUNDING_PARAM 10156

MISSING_MEMORY_ROUNDING_PARAM 10157

MISSING_MEMORY_SCALE_PARAM 10158

INVALID_MEMORY_SCALE_PARAM 10159

MISSING_ROUNDING_MODE_PARAM 10160

MISSING_SCALE_PARAM 10161

INVALID_SCALE_PARAM 10162

MISSING_STORAGE_ACTIVE_GB_PER_MONTH_PARAM 10163

INVALID_STORAGE_ACTIVE_GB_PER_MONTH_PARAM 10164

MISSING_STORAGE_CALCULATION_MODE_PARAM 10165

MISSING_STORAGE_GB_OVER_VALUE_PER_MONTH_PARAM 10166

INVALID_STORAGE_GB_OVER_VALUE_PER_MONTH_PARAM 10167

MISSING_STORAGE_GB_UNDER_VALUE_PER_MONTH_PARAM 10168

INVALID_STORAGE_GB_UNDER_VALUE_PER_MONTH_PARAM 10169

MISSING_STORAGE_OVER_VALUE_PARAM 10170

INVALID_STORAGE_OVER_VALUE_PARAM 10171

MISSING_STORAGE_PASSIVE_GB_PER_MONTH_PARAM 10172

INVALID_STORAGE_PASSIVE_GB_PER_MONTH_PARAM 10173

MISSING_STORAGE_ROUNDING_PARAM 10174

MISSING_STORAGE_SCALE_PARAM 10175

INVALID_STORAGE_SCALE_PARAM 10176

MISSING_USE_SINCE_PARAM 10177

MISSING_V_CORE_PER_MONTH_PARAM 10178

INVALID_V_CORE_PER_MONTH_PARAM 10179

MISSING_V_CORES_ROUNDING_PARAM 10180

MISSING_V_CORES_SCALE_PARAM 10181

INVALID_V_CORES_SCALE_PARAM 10182

MISSING_WINDOWS_LICENSE_PER_MEMORY_GB_PER_MONTH_PARAM 10183

INVALID_WINDOWS_LICENSE_PER_MEMORY_GB_PER_MONTH_PARAM 10184

MISSING_WINDOWS_LICENSE_PER_MONTH_PARAM 10185

INVALID_WINDOWS_LICENSE_PER_MONTH_PARAM 10186

MISSING_WINDOWS_LICENSE_PER_V_CORE_PER_MONTH_PARAM 10187

INVALID_WINDOWS_LICENSE_PER_V_CORE_PER_MONTH_PARAM 10188

MISSING_WINDOWS_PRICE_CALCULATION_MODE_PARAM 10189

MISSING_WINDOWS_ROUNDING_PARAM 10190

MISSING_WINDOWS_SCALE_PARAM 10191

INVALID_WINDOWS_SCALE_PARAM 10192

INVALID_CONNECTION_TIME_OUT_PARAM 10193

INVALID_READ_TIME_OUT_PARAM 10194

INVALID_MAX_CONNECTIONS_PARAM 10195

MISSING_AMIID_PARAM 10196

PARAMETERS_NOT_FOUND 10197

INVALID_STORAGE_CALCULATION_MODE_PARAM 10198

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 72

Error Error Code

INVALID_CHECKPOINT_CALCULATION_MODE_PARAM 10199

INVALID_INSTANCE_RUN_FEE_ROUNDING_PARAM 10200

INVALID_INSTANCE_BASE_ROUNDING_PARAM 10201

INVALID_WINDOWS_ROUNDING_PARAM 10202

INVALID_ROUNDING_PARAM 10203

INVALID_V_CORES_ROUNDING_PARAM 10204

INVALID_HOURS_IN_MONTH_MODE_PARAM 10205

INVALID_CHECKPOINT_ROUNDING_PARAM 10206

INVALID_MACHINE_IMAGE_CALCULATION_MODE_PARAM 10207

INVALID_WINDOWS_PRICE_CALCULATION_MODE 10208

MISSING_HPOO_FLOW_PARAM 10209

INVALID_FLOW_DESCRIPTOR_PARAM 10210

INVALID_RETRY_COUNT_PARAM 10211

INVALID_LOGIN_PARAM 10212

INVALID_USERNAME_PARAM 10213

INVALID_CRON_EXPRESSION_PARAM 10214

MISSING_BUCKET_NAME_PARAM 10215

MISSING_ACCOUNT_ID_PARAM 10216

MISSING_DETAILED_KEY_PATTERN_PARAM 10217

MISSING_BILLING_KEY_PATTERN_PARAM 10218

MISSING_COST_ALLOCATION_KEY_PATTERN_PARAM 10219

MISSING_CRON_EXPRESSION_PARAM 10220

MISSING_BILL_FROM_PARAM 10221

MISSING_REGION_PARAM 10222

MISSING_URL_PARAM 10223

MISSING_CSA_USER_NAME_PARAM 10224

MISSING_CSA_USER_PASSWORD_PARAM 10225

MISSING_CSP_USER_NAME_PARAM 10226

MISSING_ORGANIZATION_NAME_PARAM 10227

MISSING_CATALOG_NAME_PARAM 10228

MISSING_IP_IN_PROJECT 10229

INVALID_TYPE_DESCRIPTOR_PARAM 10230

MISSING_TYPE_DESCRIPTOR_PARAM 10231

MISSING_OFFERING_NAME_PARAM 10232

MISSING_CPU_NAME_PARAM 10233

MISSING_RAM_NAME_PARAM 10234

PROPERTIES_INSTANCE_AND_VOLUME_PROVIDED 10235

MISSING_INSTANCE_AND_VOLUME 10236

PROPERTIES_INSTANCE_AND_STACK_PROVIDED 10237

MISSING_WAIT_FOR_CONFIG_PARAM 10238

MISSING_TO_CHECK_PARAM 10239

INVALID_MAESTRO_STACK_COMMAND 10240

INVALID_MAESTRO_STACK_FLOW 10241

INVALID_CHECK_FIELD_PARAM 10242

INVALID_CHECK_IS_PARAM 10243

MISSING_COMMAND_NAME_PARAM 10244

INVALID_WAIT_FIELD_PARAM 10245

INVALID_WAIT_REQUIRED_PARAM 10246

INVALID_TEMPLATE_PARAM 10247

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 73

Error Error Code

INVALID_DESCRIBE_STACK_RESOURCES_PARAMS 10248

MISSING_SERVICE_NAME_PARAM 10249

MISSING_FILE_CONTENT 10250

INVALID_FILE_TYPE 10251

MISSING_FILE_NAME 10252

MISSING_FILE_MIME_TYPE 10253

MISSING_FILE_DESCRIPTION 10254

MISSING_LOG_FILE_PATH_PARAM 10259

ILLEGAL_LOG_FILE_PATH_PARAM 10260

ILLEGAL_CRITERIA_PARAMETERS_PROVIDED 10261

MISSING_CHEF_MODE_PARAMETER 10262

INVALID_CHEF_MODE 10264

Authorization Errors

The following authorization errors are possible:

Error Error code

PMC_UNAVAILABLE 15001

PMC_BAD_SESSION 15010

PMC_AUTHORIZATION_ERROR 15020

PMC_CLIENT_FOR_SESSION_IS_DEAD 15030

MAX_LOGIN_ATTEMPTS_EXCEEDED 15040

Business Logic Errors

The following Business Logic errors can occur:

Error Error code

ACTIVE_PROJECT_NOT_FOUND 20001

NOT_ENOUGH_PERMISSIONS 20002

ZONE_NOT_FOUND 20003

INSTANCE_NOT_FOUND 20004

INVALID_SCRIPTS 20005

QUOTA_INVALID_INSTANCE_COUNT 20006

QUOTA_INVALID_SHAPE 20007

KEY_NAME_NOT_FOUND 20008

ACTION_BLOCKED_FOR_REGION 20009

ACTION_WITH_PARAMETERS_BLOCKED_FOR_REGION 20010

MAINTENANCE_MODE 20011

PROJECT_ALREADY_EXISTS 20014

PERMISSION_GROUP_ALREADY_EXISTS 20015

PERMISSION_GROUP_NOT_FOUND 20016

PERMISSION_GROUP_MAPPING_ALREADY_EXISTS 20017

INCORRECT_PERMISSION_GROUP_NAME 20018

UNSUPPORTED_REPORT_PERIOD 20019

PERMISSION_GROUP_MAPPING_NOT_FOUND 20020

USER_NOT_FOUND 20021

TOO_OLD_REPORT_PERIOD 20022

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 74

Error Error code

PERMISSION_USER_MAPPING_ALREADY_EXISTS 20023

SCRIPT_MAX_COUNT 20024

SCRIPT_ALREADY_EXISTS 20025

USER_ALREADY_EXISTS 20026

USER_LOGIN_ALREADY_EXISTS 20027

MACHINE_IMAGE_NOT_FOUND 20028

INCORRECT_ZONE 20029

MACHINE_IMAGE_ALREADY_EXISTS 20030

UNABLE_TO_DEACTIVATE_PROJECT 20031

CHANGE_OWNER_USER_NOT_FOUND 20032

NOT_PMC_USER 20033

FLOW_NOT_FOUND 20034

PMC_ROLE_DOES_NOT_EXIST 20035

DUPLICATED_AWS_CREDENTIALS 20036

AWS_BILLING_ACCOUNT_ALREADY_EXISTS 20037

AWS_BILLING_ACCOUNT_NOT_FOUND 20038

UNABLE_TO_DELETE_AWS_BILLING_ACCOUNT 20039

REGION_NOT_FOUND 20040

ZONE_ALREADY_EXISTS 20041

INCORRECT_CSA_OFFERING_DESCRIPTOR 20042

LIMITED_FUNCTIONALITY_QUOTA 20043

LIMITED_FUNCTIONALITY_QUOTA_NOT_ACTIVE 20044

INVALID_CONFIGURATION_TEMPLATE 20045

LIMITED_VOLUME_COUNT_QUOTA 20046

LIMITED_VOLUME_SIZE_QUOTA 20047

MISSING_INSTANCE_IN_SYSTEM 20048

INVALID_RESOURCE_ID_SPECIFIED 20049

NO_RESOURCE_PARAMS_SPECIFIED 20050

SERVICE_DEACTIVATION_FAILED 20051

SERVICE_NOT_FOUND 20052

INVALID_INSTANCES_FOR_DESCRIBE_CHECKPOINTS_TAG 20053

SERVICE_ALREADY_ACTIVATED 20054

EO_STACK_TEMPLATE_ALREADY_EXISTS 20055

EO_STACK_TEMPLATE_QUOTA_EXCEEDS 20056

FAILED_TO_UPLOAD_FILE 20057

ZABBIX_TEMPLATE_ALREADY_EXISTS 20058

ZABBIX_TEMPLATE_QUOTA_EXCEEDS 20059

ZABBIX_TEMPLATE_CONTENT_DOES_NOT_MATCH_SCHEMA 20060

FAILED_TO_GET_KEY 20061

INVALID_EO_STACK_TEMPLATE_NAME 20062

FAILED_TO_DESCRIBE_FILES 20063

EXCESSIVE_CALLS 20064

SERVICE_ALREADY_DEACTIVATED 20065

OVERRIDE_IS_FORBIDDEN_FOR_PARAM 20066

FAILED_TO_STOP_INSTANCE_MONITORING 20067

MONITORING_NOT_STARTED 20068

FAILED_TO_DELETE_FILE_UNKNOWN 20069

FAILED_TO_DELETE_FILE 20070

SERVICE_NOT_SUPPORTED 20071

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 75

Error Error code

SERVICE_CURRENTLY_UNAVAILABLE 20072

FAILED_TO_EXECUTE_COMMAND 20073

FAILED_TO_STOP_INSTANCE_LOGGING 20074

LOGGING_NOT_STARTED 20075

USER_SCHEDULE_NOT_FOUND_ON_PROJECT 20076

SERVICE_NOT_ACTIVE_FOR_PROJECT_IN_ZONE 20077

INVALID_EXPIRATION_PARAM 20078

INVALID_PROJECT_CHEF_STATE 20079

PROJECT_NOT_FOUND 20080

FAILED_TO_DEACTIVATE_EPC_CHEF_FOR_PROJECT 20081

MAESTRO_STACK_ROLLBACK_IS_NOT_SUPPORTED_FOR_ZONE 20082

FAILED_TO_RESOLVE_CLOUD_SERVICE 20083

CHEF_MODE_ALREADY_SET 20084

NOT_ENOUGH_QUOTA_TO_CREATE_STACK 20085

LOAD_BALANCER_NOT_STARTED 20086

NOT_PERMITTED_FOR_PERSONAL_PROJECTS 20087

LOAD_BALANCER_NOT_STARTED 20086

NOT_PERMITTED_FOR_PERSONAL_PROJECTS 20087

6.4 EO CORE ERRORS. LEVEL 3.

On EO Core level, the command input parameters are validated, and the task is passed to HP CSA or to

HP OO directly. The processes on these layers are asynchronous, and it is difficult or impossible to keep

track of the issues that appear.

The Errors on EO Core are registered in log files at Orchestrator GrayLog server. The GrayLog Server can

be accessed by the Errors button (available for support team members only) on Cloud Management

Console.

Error Error code

INVALID_IMAGE 30000

VLAN_NOT_EXIST_FOR_PROJECT 30001

INSTANCE_NOT_EXIST 30002

INSTANCE_NOT_IN_STOPPED_STATE 30003

VOLUME_NOT_EXIST 30004

VOLUME_ATTACHED 30005

VOLUME_ALREADY_ATTACHED_TO 30006

VOLUME_NOT_READY 30007

VOLUME_NOT_ATTACHED 30008

VOLUME_SYS_DISK 30009

UNABLE_TO_DELETE_VOLUME 30010

UNABLE_TO_DETACH_VOLUME 30011

INCORRECT_VOLUME_REQUESTED_SIZE 30012

UNKNOWN_VOLUME_SIZE 30013

UNABLE_TO_REATTACH_VOLUME 30014

CHECKPOINTS_COUNT_LIMITATION 30015

CHECKPOINT_OPERATIONS_PROHIBITTED_DUE_TO_INSTANCE_STATE 30016

CHECKPOINT_CURRENT_NOT_FOUND 30017

CHECKPOINT_NOT_FOUND 30018

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 76

Error Error code

MACHINE_IMAGE_ALREADY_EXIST 30019

INSTANCE_IS_NOT_STOPPED 30020

CHECKPOINT_OPERATIONS_IN_PROGRESS 30021

CHECKPOINT_VOLUMES_OPERATIONS_IN_PROGRESS 30022

SHAPE_NOT_VALID_FOR_MACHINE_IMAGE 30023

INSTANCE_DOES_NOT_HAVE_TAG 30024

VOLUME_DOES_NOT_HAVE_TAG 30025

TEMPLATE_NOT_EXISTS 30026

TEMPLATE_NOT_READY 30027

TEMPLATE_CONTENT_CAN_NOT_BE_EMPTY 30028

TEMPLATE_PARAMETER_IS_INCORRECT 30029

STACK_NAME_ALREADY_EXIST 30030

STACK_NAME_NOT_EXIST 30031

AWS_EMPTY_PARAMETER_ERROR 30032

AWS_INVALID_PARAMETER_ERROR 30033

AWS_IS_NOT_IN_ALLOWED_PARAMETER_PATTERN_ERROR 30034

AWS_NOT_ALLOWED_PARAMETER_ERROR 30035

AWS_NOT_LESS_MAX_VALUE 30036

AWS_LENGTH_NOT_LESS_MAX_VALUE 30037

AWS_LENGTH_NOT_GREATER_MIN_VALUE 30038

AWS_NOT_GREATER_MIN_VALUE 30039

AWS_EXCEPTION_WITH_CODE 30040

AWS_EXCEPTION 30041

AWS_NO_DEVICE 30042

AWS_CANNOT_RESOLVE_INSTANCE_ZONE 30043

NOT_AVAILABLE_IN_ZONE 30044

MACHINE_IMAGE_IS_NOT_IN_PROJECT 30045

MACHINE_IMAGE_IS_NOT_READY_DELETING 30046

MACHINE_IMAGE_IS_NOT_READY_CREATING 30047

MACHINE_IMAGE_IS_NOT_READY_ERROR 30048

HPOO_INSTANCE_NOT_READY 30049

INSTANCE_HAS_CHECKPOINTS_PROHIBITED 30050

ACTION_CONFIRMATION_REQUIRED 30052

UNABLE_GET_CONSOLE 30053

ACTIVATE_CONSOLE 30054

ACTIVATE_CONSOLE_FAILED 30055

ACTIVATE_CONSOLE_INSTANCE_NOT_STOPPED 30056

GET_CONSOLE_INVALID_INSTANCE_STATE 30057

GET_CONSOLE_INSTANCE_STATE_UNKNOWN 30058

LIMITED_FUNCTIONALITY 30061

SHAPE_NOT_AVAILABLE_FOR_ZONE 30063

KEY_NOT_FOUND 30064

TEMPLATE_NAME_ALREADY_EXIST_RENAME_OR_ENABLE_OVERWRITE_OPTION

30065

TEMPLATE_PARAMETERS_IS_INCORRECT 30066

UNABLE_TO_REATTACH_VOLUME_SOURCE_INSTANCE_IS_RUNNING 30067

UNABLE_TO_REATTACH_VOLUME_BASED_ON_TECHNICAL_CAUSES 30068

INSTANCE_ALREADY_MIGRATED 30069

CHECKPOINT_DOES_NOT_HAVE_TAG 30070

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 77

Error Error code

CHECKPOINT_NOT_EXIST 30071

SERVICE_NOT_ACTIVATED 30072

SOURCE_SERVER_NOT_STARTED 30073

INSTANCE_MUST_BE_RUNNING 30074

SERVICE_CONFIG_FAILED 30092

NO_SUCH_TEMPLATE_ON_ZABBIX_SERVER 30075

SYSTEM_TEMPLATE_WAS_NOT_FOUND 30076

INSTANCE_IS_ALREADY_BEING_MONITORED 30077

FAILED_TO_READ_TEMPLATE 30078

FAILED_TO_UPLOAD_TEMPLATE 30079

INVALID_INSTANCE_STATE 30080

INSTANCE_IS_NOT_MONITORED 30081

CANNOT_CONNECT_TO_ZABBIX_SERVER 30082

MONITORING_OF_WIN_XP_IS_NOT_SUPPORTED 30083

FAILED_TO_GET_ZABBIX_SESSION 30084

INSTANCE_IS_ALREADY_BEING_LOGGED 30085

INVALID_INSTANCE_PROJECT 30086

NO_CHEF_VALIDATION_PEM_PROVIDED 30087

FAILED_TO_SAVE_CHEF_VALIDATION_PEM 30088

FAILED_TO_GET_VALIDATION_PEM_FILE 30089

INSTANCE_ACTS_AS_SERVICE_SOURCE 30090

VOLUMES_OPERATIONS_IN_PROGRESS 30091

PREVIOUS_OPERATION_IN_PROGRESS 30093

EPAM Cloud Orchestrator – Maestro API Reference Guide

EPAM PUBLIC 78

TABLE OF FIGURES

Figure 1 - Maestro Java SDK structure ....................................................................................................... 10

Figure 2 - Operation flow diagram ............................................................................................................... 64

VERSION HISTORY

Version Date Summary

2.1.4 January 31, 2018 - Suspend instance section removed

2.1.3 November 30, 2017 - MSQ3 information removed

2.1.2 December 16, 2016 - Classification changed from Confidential to Public, approved by Dzmitry Pliushch

2.1.1 October 22, 2016 - Git repositories links updated

2.1 February 13, 2016 - Authorization algorithm section updated

2.0 December 20, 2015 - Formatting updated - Ruby Gem usage described - API Error Handling section added

1.1 November 1, 2014 - Updated documentation references

1.02 June 21, 2014 - Updated Describe example

1.01 November 28, 2013 - Added Preface - Updated documentation links

1.1 November 1, 2014 - Updated documentation references

1.0 August 03, 2013 - First published