OpenSearch

Create an OpenSearch Cluster

post

This method allows to create an OpenSearch instance.

You will have to know at the minimum :

  • the area or availability zone of the region where you want to host your cluster (area & az attributes). Areas can be available in List Regions method.
  • the product code (productCode attribute).
  • name of OpenSearch cluster (name attribute). The name can contain any lowercase characters or numbers (5-60). It must not be the keyword 'cluster'.
  • Size of nodes in the OpenSearch cluster (nodeSizing attribute). Ex: 2cpu4gb
  • storage needed on each data node of the OpenSearch cluster (diskSize attribute). The possible values are at least 100 and maximum 8000 (representing GB).
  • how to connect to the instance (admPassword attribute). The password must be At least one lowercase, one uppercase, one digit, one special character, minimum length must be 12.
  • On which service the OpenSearch instance belongs to (serviceId attribute).
  • network ID of the cluster (networkId attribute).
  • Number of instances in the OpenSearch cluster (instanceCount attribute). Must be odd and at least be 3, recommended is 5, Maximum is 51
  • Node prefix of the OpenSearch cluster (nodePrefix attribute). 4 to 60 uppercase characters

This method is asynchronous (status code 202) and you'll have to wait for async action to be completed by checking its status.

POST /opensearch
{
  "productCode": "opensearch2",
  "region" : "EB",
  "area": "EB-QA",
  "az": "az",
  "name": "Test123",
  "nodeSizing": "2cpu4gb",
  "diskSize": 100,
  "networkId": 1234511,
  "serviceId": 46922,
  "admPassword": "Test123@2022",
  "instanceCount": "3",
  "nodePrefix" : "OPESTC"
}
Authorizations
OAuth2implicitRequired

OAuth2 flow

Authorization URL:
Body
admPasswordstringRequired

The admin password

Pattern: ^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#&()–{}:;',?/*~$^+=<>]).{12,20}$
areastringOptional

Area. Refer to an Area of a Region, that is a low-latency network area, available in List Regions method. If absent, default Area of Region will be used.

azstringOptional

Availability zone of the maria DB

backupEnabledbooleanOptional

Indicates if backup has to be setup on instance. If absent, backup will be setup automatically if instance is in a production service.

cloudIdinteger · int64Optional
dbBackupPolicyIdstringOptional

BackupPolicy id. Refers to desired backup policy to be applied for the database, must be set when backup is enabled.

diskSizeinteger · int32Required

The storage needed on each data node of the ELS cluster

instanceCountstringRequired

Number of instances to create in ELS cluster

Pattern: [13579]$
namestringRequired

Name of els cluster

Pattern: [a-z0-9_\-]{4,60}$
networkIdinteger · int64Required

The network Id of the ELS cluster

noBackupProdReasonstringOptional

Indicates why a production resource is not under backup.

noMonitoringProdReasonstringOptional

Indicates why a production resource is not under monitoring.

noReplicationProdReasonstringOptional

Indicates why a production resource is not replicated.

nodePrefixstringRequired

Prefix of the node names for els cluster

Pattern: [A-Z0-9-.]{4,60}$
nodeSizingstringRequired

Node sizing for cluster

productCodestringRequired

code of product

regionstringRequired

Region. that is a low-latency network area, available in List Regions method. If absent, default Area of Region will be used.

regulationstringOptional

Regulation. Refer to the regulation of the Area (HDS|STANDARD). If absent, default 'STANDARD' will be used.

replicationEnabledbooleanOptional

Indicates if replication will be setup. If absent, it will be automatically be setup if this is an production environment

serverBackupPolicyIdstringOptional

BackupPolicy id. Refers to desired backup policy to be applied for the virtual machine, must be set when backup is enabled.

serviceIdinteger · int64Required

id of service to put instance in.

supportLevelstring · enumOptional

Indicates monitoring and support level, if absent then we use boolean variables to describe which level

Possible values:
Responses
chevron-right
200

OK

application/vnd.cegedim-it.v1+json

An action gives status about processing of a task previously launched by an API call and asynchronously processed.

familystringOptional
idinteger · int32Optional
internalIdinteger · int64Optional
lastUpdatedAtstring · date-timeOptional
messagestringOptional

Human readable message of status

processstringOptional

Code of action performed

resourceNamestringOptional
resourceTypestringOptional
statusstring · enumOptional

Status label of action

Possible values:
post
/databases/opensearch

Delete an existing OpenSearch Cluster

delete

This method allows to delete an OpenSearch instance.

This method is asynchronous (status code 202) and you'll have to wait for async action to be completed by checking its status.

DELETE /opensearch/123

Authorizations
OAuth2implicitRequired

OAuth2 flow

Authorization URL:
Path parameters
idinteger · int64Required

id, example: 123

Responses
chevron-right
200

OK

application/vnd.cegedim-it.v1+json

An action gives status about processing of a task previously launched by an API call and asynchronously processed.

familystringOptional
idinteger · int32Optional
internalIdinteger · int64Optional
lastUpdatedAtstring · date-timeOptional
messagestringOptional

Human readable message of status

processstringOptional

Code of action performed

resourceNamestringOptional
resourceTypestringOptional
statusstring · enumOptional

Status label of action

Possible values:
delete
/databases/opensearch/{id}

Get a OpenSearch Cluster Instance available in the cloud

get
Authorizations
OAuth2implicitRequired

OAuth2 flow

Authorization URL:
Path parameters
idinteger · int64Required

id, example: 500060248

Responses
chevron-right
200

OK

application/vnd.cegedim-it.v1+json

OpenSearch Cluster

allowMonitoringDisplaybooleanOptional
backupStatusbooleanOptional
categorystringOptional
cloudIdinteger · int64Optional
cloudNamestringOptional
commentstringOptional
cpuinteger · int64Optional
creationTimestringOptional
creationUserstringOptional
dedicatedIngestbooleanOptional
elsTypestringOptional
endOfSalesAtstring · date-timeOptional
endOfSupportAtstring · date-timeOptional
environmentstringOptional
extendedSupportAtstring · date-timeOptional
familystringOptional
farmTopologystringOptional
idinteger · int64Optional
internalResourceIdinteger · int64Optional
internalTypestringOptional
ipAddressstringOptional
labelstringOptional
labelAreastringOptional

Area pretty name

labelAvailabilityZonestringOptional

Availability Zone pretty name

labelDataCenterstringOptional

DataCenter pretty name

labelRegionstringOptional

Region pretty name

managementUrlsstring[]Optional

Management Urls host of the ELS Cluster

metrologyUrlstringOptional
monitoringRequestedbooleanOptional
namestringRequired

Name of els cluster

nodeCountinteger · int64Optional
pathstringOptional
prettyLabelstringOptional
productCodestringOptional
productNamestringOptional
productVersionstringOptional
raminteger · int64Optional
releasedAtstring · date-timeOptional
replicationStatusbooleanOptional
resourceTypestringOptional
serviceIdinteger · int64Optional
serviceKeystringOptional
serviceNamestringOptional
statusstringOptional
supportLevelstring · enumOptionalPossible values:
supportPhasestringOptional
technologystringOptional
typestringOptional
urlstringOptional
versionstringOptional
get
/databases/opensearch/{id}

Performs update state actions to an existing OpenSearch Cluster instance

patch

This method allows to update an OpenSearch instance.

Structure of payload is generic and describes :

  • operation you want to be performed
  • options data relative to the operation performed - see details - optional.

Below are different operations currently implemented.

Start OpenSearch instance

Use the start operation to start an OpenSearch instance.

Starts OpenSearch instance.

This method is synchronous (status code 202).

Example :

PATCH /opensearch/1234
{
    "operation": "start"
}

Stop OpenSearch instance

Use the stop operation to stop the nodes of the OpenSearch instance and the instance itself.

This operation cannot be undone afterwards.

This method is synchronous (status code 202).

PATCH /opensearch/1234
{
	"operation":"stop"
}

Add data nodes in the OpenSearch instance

Use the add_nodes operation to add nodes to the OpenSearch instance. nodesCount must be even.

Node size must be coherent and not oversized (ex: "2cpu128gb" is oversized, but "8cpu128gb" are ok)

You can only add data nodes when the cluster is in 'Dedicated Master' topology

This method is synchronous (status code 202).

PATCH /opensearch/1234
{
	"operation":"add_nodes",
	"options" : {
	  "diskSize" : 100,
	  "nodeSize" : "2cpu4gb",
	  "nodesCount": 2
	}
}

Delete data nodes from the OpenSearch instance

Use the remove_data_nodes operation to delete data nodes to the OpenSearch instance. Nodes must be equally distributed across availability zones and remaining data nodes volumes must be able to receive data from removed data nodes. The data nodes must not have the role "master" To maintain cluster balance, only two nodes can be deleted at a time.

This method is synchronous (status code 202).

PATCH /opensearch/1234
{
    "operation":"remove_data_nodes",
    "options" : {
        "nodes": ["nodeName1", "nodeName2"]
    }
}

Resize OpenSearch instance

Use the resize_nodes operation to resize the sizing of the OpenSearch nodes.

This operation cannot be undone afterwards.

This method is synchronous (status code 202).

PATCH /opensearch/1234
{
	"operation":"resize_nodes",
	"options" : {
	  "nodeSize" : "2cpu4gb",
	  "nodes" : ["nodeName1"]
	}
}

Update Patch Party

Use the update_patch_party operation to update the patch party scheduled plan of the OpenSearch instance.

  • Use the excluded option to turn on/off patch party.
  • Use the patchGroup option to select the patching group, the patchGroup is optional, and is only allowed when the farm has one member.
  • Use the exclusionReason option to explain the reason of excluding the resource from patch part.

This method is synchronous (status code 202).

  • Include from patch party body:
PATCH /opensearch/1234
{
  "operation": "update_patch_party",
  "options": {
    "patchParty": {
        "excluded": false,
        "patchGroup": "3"
    }
 }
}
  • Exclude from patch party body:
PATCH /opensearch/1234
{
  "operation": "update_patch_party",
  "options": {
    "patchParty": {
        "excluded": true,
        "exclusionReason": "I want to handle this by myself"
    }
 }
}
Authorizations
OAuth2implicitRequired

OAuth2 flow

Authorization URL:
Path parameters
idinteger · int64Required

id, example: 123

Body
operationstringOptional
Responses
chevron-right
200

OK

application/vnd.cegedim-it.v1+json

An action gives status about processing of a task previously launched by an API call and asynchronously processed.

familystringOptional
idinteger · int32Optional
internalIdinteger · int64Optional
lastUpdatedAtstring · date-timeOptional
messagestringOptional

Human readable message of status

processstringOptional

Code of action performed

resourceNamestringOptional
resourceTypestringOptional
statusstring · enumOptional

Status label of action

Possible values:
patch
/databases/opensearch/{id}

Get an OpenSearch network information

get
Authorizations
OAuth2implicitRequired

OAuth2 flow

Authorization URL:
Path parameters
idinteger · int64Required
Responses
chevron-right
200

OK

application/vnd.cegedim-it.v1+json
areastringOptional
cidrstringOptional
cloudstringOptional
defaultNetworkbooleanOptional
descriptionstringOptional
environmentstringOptional
gatewaystringOptional
idinteger · int64Optional
ipAddressstringOptional
ipFreeNumberinteger · int32Optional
isIpRangePublicbooleanOptional
maskstringOptional
networkShortDescriptionstringOptional
regionstringOptional
scopestringOptional
shortDescriptionstringOptional
technicalIdstringOptional
usedPercentinteger · int32Optional
get
/databases/opensearch/{id}/networks

Get an OpenSearch node information

get
Authorizations
OAuth2implicitRequired

OAuth2 flow

Authorization URL:
Path parameters
idinteger · int64Required
Responses
chevron-right
200

OK

application/vnd.cegedim-it.v1+json

OpenSearch Node object

authenticationDomainstringOptional
autoRestartbooleanOptional
backupStatusbooleanOptional
caHostNamestringOptional
categorystringOptional
cloudIdinteger · int64Optional
cloudNamestringOptional
clusterIdinteger · int64Optional
commentstringOptional
configOverwritebooleanOptional
cpuinteger · int64Optional

CPU of the resource

creationTimestringOptional
creationUserstringOptional
dashboardsbooleanOptional
elsKibanabooleanOptional
elsTypestringOptional
endOfSalesAtstring · date-timeOptional
endOfSupportAtstring · date-timeOptional
environmentstringOptional
extendedSupportAtstring · date-timeOptional
familystringOptional
idinteger · int64Optional
imageCodestringOptional

Internal Image linked to this instance

internalResourceIdinteger · int64Optional
internalTypestringOptional
ipAddressstringOptional
isExternalIngressNodebooleanOptional

This instance is ingress external node

isInternalIngressNodebooleanOptional

This instance is ingress internal node

isMemberOFLoadBalancerbooleanOptional

Instance is member of load balancer

labelstringOptional
labelAreastringOptional

Area pretty name

labelAvailabilityZonestringOptional

Availability Zone pretty name

labelDataCenterstringOptional

DataCenter pretty name

labelRegionstringOptional

Region pretty name

mastersstring[]Optional
metrologyUrlstringOptional
monitoringRequestedbooleanOptional
namestringOptional
osNamestringOptional

OS name of this instance

osTypestringOptional

OS type of this instance

parentResourceTypestringOptional
pathstringOptional
prettyLabelstringOptional
productCodestringOptional
productNamestringOptional
productVersionstringOptional
raminteger · int64Optional

RAM of the resource

releasedAtstring · date-timeOptional
replicationStatusbooleanOptional
resourceTypestringOptional
rolesstring[]Optional
serviceEnablebooleanOptional
serviceIdinteger · int64Optional
serviceKeystringOptional
serviceNamestringOptional
specificConfNodeTempstringOptional
specificConfNodeTestbooleanOptional
statusstringOptional
storagenumberOptional

Storage after disks format in GB of the resource

storageMoveInProgressbooleanOptional

Information about storage replication in Progress

supportLevelstring · enumOptionalPossible values:
supportPhasestringOptional
technologystringOptional
totalSizeDisksstringOptionalDeprecated

Total Disk size of the resource

typestringOptional
versionstringOptional
get
/databases/opensearch/{id}/nodes

Last updated