Apache Kafka
This method allows to create an Apache Kafka platform.
You will have to know at the minimum :
- the area of the region where you want to host your broker (
area
attribute). Areas can be available in List Regions method. - name of the Apache Kafka platform (
name
attribute). The name can contain any lowercase characters or numbers (5-60). It must not be the keyword 'cluster'. - prefix of the node names for Apache Kafka platform (
nodePrefix
attribute). The prefix should be from 5 to 12 characters and can contain any uppercase character. - number of brokers to create in Apache Kafka platform (
brokerCount
attribute). The possible values are at least 3 and maximum 5. - storage needed on each data node of the Apache Kafka platform (
diskSize
attribute). The possible values are at least 40 and maximum 1024 (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. - version of the Apache Kafka platform (
kafkaVersion
attribute). Example: 2.7.0 - On which service the Apache Kafka platform belongs to (
serviceId
attribute). - network ID of the cluster (
networkId
attribute).
This method is asynchronous (status code 202
) and you'll have to wait for async action to be completed by checking its status.
POST /message-brokers/apache-kafka
{
"kafkaVersion": "2.7.0",
"area": "EB-QA",
"name": "testkafka",
"nodePrefix": "DM123",
"nodeSizing": "2cpu4gb",
"brokerCount": 3,
"diskSize": 40,
"networkId": 1234511,
"serviceId": 46922,
"admPassword": "Test123@2022"
}
The admin password
^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#&()–{}:;',?/*~$^+=<>]).{12,20}$
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.
Indicates if backup has to be setup on instance. If absent, backup will be setup automatically if instance is in a production service.
Number of brokers to create in Kafka cluster
BackupPolicy id. Refers to desired backup policy to be applied for the database, must be set when backup is enabled.
The storage needed on each data node of the ELS cluster
Name of Kafka cluster
(?!cluster$)([a-z0-9_]{5,60})$
The network Id of the ELS cluster
Indicates why a production resource is not under backup.
Indicates why a production resource is not under monitoring.
Indicates why a production resource is not replicated.
Prefix of the node names for Kafka cluster
[A-Z0-9]{5,12}$
Node sizing for cluster
Product platform of the cluster
Region. that is a low-latency network area, available in List Regions method. If absent, default Area of Region will be used.
Regulation. Refer to the regulation of the Area (HDS|STANDARD). If absent, default 'STANDARD' will be used.
Indicates if replication will be setup. If absent, it will be automatically be setup if this is an production environment
BackupPolicy id. Refers to desired backup policy to be applied for the virtual machine, must be set when backup is enabled.
id of service to put instance in.
Indicates monitoring and support level, if absent then we use boolean variables to describe which level
OK
Bad Request
POST /itcare/message-brokers/apache-kafka HTTP/1.1
Host: api.cegedim.cloud
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/vnd.cegedim-it.v1+json
Accept: */*
Content-Length: 473
{
"admPassword": "text",
"area": "text",
"backupEnabled": true,
"brokerCount": 1,
"cloudId": 1,
"dbBackupPolicyId": "text",
"diskSize": 1,
"kafkaVersion": "text",
"name": "text",
"networkId": 1,
"noBackupProdReason": "text",
"noMonitoringProdReason": "text",
"noReplicationProdReason": "text",
"nodePrefix": "text",
"nodeSizing": "text",
"platform": "text",
"region": "text",
"regulation": "text",
"replicationEnabled": true,
"serverBackupPolicyId": "text",
"serviceId": 1,
"supportLevel": "NO_MONITORING_NO_SUPPORT"
}
{
"family": "text",
"id": 1,
"internalId": 1,
"lastUpdatedAt": "2025-08-14T14:13:33.585Z",
"message": "text",
"process": "text",
"resourceName": "text",
"resourceType": "text",
"status": "SUCCESS,IN_PROGRESS,ERROR"
}
id, example: 123
OK
Bad Request
GET /itcare/message-brokers/apache-kafka/{id} HTTP/1.1
Host: api.cegedim.cloud
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"allowMonitoringDisplay": true,
"area": "text",
"backupPolicyDetails": {
"backups": [
{
"backupLastDate": "2025-08-14T14:13:33.585Z",
"backupSize": 1,
"id": 1,
"type": "text"
}
],
"policies": [
{
"backupLastDate": "2025-08-14T14:13:33.585Z",
"backupSize": 1,
"durationInHours": 1,
"frequencies": {},
"label": "text",
"name": "text",
"policyId": "text",
"replication": true,
"scope": "text",
"startTime": "text",
"timezone": "text",
"type": "text"
}
]
},
"backupStatus": true,
"bootstrapServer": "text",
"category": "text",
"cloudId": 1,
"cloudName": "text",
"comment": "text",
"cpu": 1,
"creationTime": "text",
"creationUser": "text",
"endOfSalesAt": "2025-08-14T14:13:33.585Z",
"endOfSupportAt": "2025-08-14T14:13:33.585Z",
"environment": "text",
"extendedSupportAt": "2025-08-14T14:13:33.585Z",
"family": "text",
"id": 1,
"internalResourceId": 1,
"internalType": "text",
"label": "text",
"metrologyUrl": "text",
"monitoringAlerting": true,
"monitoringEnabled": true,
"monitoringOnCallEnabled": true,
"monitoringRequested": true,
"name": "text",
"nodeCount": 1,
"nodeSizing": "text",
"overloadedParams": "text",
"patchParty": {
"excluded": true,
"excludedBy": "text",
"exclusionDate": "2025-08-14T14:13:33.585Z",
"exclusionReason": "text",
"id": 1,
"name": "text",
"patchDate": "2025-08-14T14:13:33.585Z",
"patchGroup": "text",
"patchTag": "text"
},
"path": "text",
"platformId": "text",
"prettyLabel": "text",
"productCode": "text",
"productName": "text",
"productVersion": "text",
"ram": 1,
"region": "text",
"releasedAt": "2025-08-14T14:13:33.585Z",
"replicationStatus": true,
"resourceType": "text",
"restEndpoint": "text",
"serviceId": 1,
"serviceKey": "text",
"serviceName": "text",
"status": "text",
"supportLevel": "NO_MONITORING_NO_SUPPORT",
"supportPhase": "text",
"technology": "text",
"type": "text",
"url": "text",
"version": "text",
"zooKeeper": "text"
}
This method allows to delete an Apache Kafka platform.
This method is asynchronous (status code 202
) and you'll have to wait for async action to be completed by checking its status.
DELETE /message-brokers/apache-kafka/123
id, example: 123
OK
Bad Request
DELETE /itcare/message-brokers/apache-kafka/{id} HTTP/1.1
Host: api.cegedim.cloud
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
"family": "text",
"id": 1,
"internalId": 1,
"lastUpdatedAt": "2025-08-14T14:13:33.585Z",
"message": "text",
"process": "text",
"resourceName": "text",
"resourceType": "text",
"status": "SUCCESS,IN_PROGRESS,ERROR"
}
This method allows to update an Apache Kafka platform.
Structure of payload is generic and describes :
operation
you want to be performedoptions
data relative to the operation performed - see details - optional.
Below are different operations currently implemented.
Start Apache Kafka instance
Use the start
operation to start an Apache Kafka instance.
Starts Apache Kafka instance.
This method is synchronous (status code 202
).
Example :
PATCH /message-brokers/apache-kafka/1234
{
"operation": "start"
}
Stop Apache Kafka instance
Use the stop
operation to stop the nodes of the Apache Kafka instance and the instance itself.
This operation cannot be undone afterwards.
This method is synchronous (status code 202
).
PATCH /message-brokers/apache-kafka/1234
{
"operation":"stop"
}
Resize Apache Kafka instance
Use the resize
operation to resize the sizing of the Apache Kafka instance.
This operation cannot be undone afterwards.
This method is synchronous (status code 202
).
PATCH /message-brokers/apache-kafka/1234
{
"operation":"resize",
"options" : {
"sizing" : "2cpu4gb"
}
}
Reconfigure Apache Kafka instance
Use the reconfigure
operation to update the Apache Kafka instance params.
This operation cannot be undone afterwards.
This method is synchronous (status code 202
).
PATCH /message-brokers/apache-kafka/1234
{
"operation":"reconfigure",
"options" : {
"param" : "param"
}
}
Update Patch Party
Use the update_patch_party
operation to update the patch party scheduled plan of the Apache Kafka instance.
- Use the
excluded
option to turn on/off patch party. - Use the
patchGroup
option to select the patching group, thepatchGroup
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 /message-brokers/apache-kafka/1234
{
"operation": "update_patch_party",
"options": {
"patchParty": {
"excluded": false,
"patchGroup": "3"
}
}
}
- Exclude from patch party body:
PATCH /message-brokers/apache-kafka/1234
{
"operation": "update_patch_party",
"options": {
"patchParty": {
"excluded": true,
"exclusionReason": "I want to handle this by myself"
}
}
}
Add Apache Kafka node
Use the add-node
operation to add broker node to the Apache Kafka instance.
- storage needed on the new data node of the Apache Kafka platform (
diskSize
attribute). The possible values are at least 40 and maximum 1024 (representing GB). - need to add the Availability Zone for the new node (
availabilityZone
attribute).
This method is synchronous (status code 202
).
PATCH /message-brokers/apache-kafka/1234
{
"operation":"add-node",
"options" : {
"diskSize" : 40,
"availabilityZone": "ET-A"
}
}
id, example: 123
OK
Bad Request
PATCH /itcare/message-brokers/apache-kafka/{id} HTTP/1.1
Host: api.cegedim.cloud
Authorization: Bearer YOUR_OAUTH2_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 61
{
"operation": "text",
"options": {
"ANY_ADDITIONAL_PROPERTY": {}
}
}
{
"family": "text",
"id": 1,
"internalId": 1,
"lastUpdatedAt": "2025-08-14T14:13:33.585Z",
"message": "text",
"process": "text",
"resourceName": "text",
"resourceType": "text",
"status": "SUCCESS,IN_PROGRESS,ERROR"
}
OK
Bad Request
GET /itcare/message-brokers/apache-kafka/{id}/nodes HTTP/1.1
Host: api.cegedim.cloud
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
[
{
"area": {
"availabilityZones": [
{
"availabilityZoneGroup": "text",
"datacenterId": "text",
"defaultZone": true,
"id": "text",
"location": "text",
"routable": true
}
],
"defaultArea": true,
"id": "text",
"location": "text",
"regulation": "text"
},
"authenticationDomain": "text",
"availabilityZone": {
"availabilityZoneGroup": "text",
"datacenterId": "text",
"defaultZone": true,
"id": "text",
"location": "text",
"routable": true
},
"backup": {
"backupSystem": "text",
"filesNb": 1,
"lastDate": "2025-08-14T14:13:33.585Z",
"size": 1,
"type": "text"
},
"backupPolicyDetails": {
"backups": [
{
"backupLastDate": "2025-08-14T14:13:33.585Z",
"backupSize": 1,
"id": 1,
"type": "text"
}
],
"policies": [
{
"backupLastDate": "2025-08-14T14:13:33.585Z",
"backupSize": 1,
"durationInHours": 1,
"frequencies": {},
"label": "text",
"name": "text",
"policyId": "text",
"replication": true,
"scope": "text",
"startTime": "text",
"timezone": "text",
"type": "text"
}
]
},
"backupStatus": true,
"brokerNodes": [
"text"
],
"category": "text",
"cloudId": 1,
"cloudName": "text",
"comment": "text",
"controllerNodes": [
"text"
],
"cpu": 1,
"creationTime": "text",
"creationUser": "text",
"endOfSalesAt": "2025-08-14T14:13:33.585Z",
"endOfSupportAt": "2025-08-14T14:13:33.585Z",
"environment": "text",
"extendedSupportAt": "2025-08-14T14:13:33.585Z",
"family": "text",
"id": 1,
"imageCode": "text",
"internalResourceId": 1,
"internalType": "text",
"ipAddress": "text",
"isExternalIngressNode": true,
"isInternalIngressNode": true,
"isMemberOFLoadBalancer": true,
"label": "text",
"labelArea": "text",
"labelAvailabilityZone": "text",
"labelDataCenter": "text",
"labelRegion": "text",
"loadbalancers": [
{
"id": 1,
"memberCount": 1,
"monitoringEnabled": true,
"name": "text",
"serviceId": 1,
"status": "text"
}
],
"metrologyUrl": "text",
"monitoringAlerting": true,
"monitoringEnabled": true,
"monitoringOnCallEnabled": true,
"monitoringRequested": true,
"name": "text",
"network": {
"area": "text",
"cidr": "text",
"cloud": "text",
"defaultNetwork": true,
"description": "text",
"dns": [
{
"alias": "text",
"domain": "text"
}
],
"environment": "text",
"gateway": "text",
"id": 1,
"ipAddress": "text",
"ipFreeNumber": 1,
"isIpRangePublic": true,
"mask": "text",
"networkShortDescription": "text",
"region": "text",
"scope": "text",
"shortDescription": "text",
"technicalId": "text",
"usedPercent": 1
},
"osName": "text",
"osType": "text",
"parentResourceType": "text",
"patchParty": {
"excluded": true,
"excludedBy": "text",
"exclusionDate": "2025-08-14T14:13:33.585Z",
"exclusionReason": "text",
"id": 1,
"name": "text",
"patchDate": "2025-08-14T14:13:33.585Z",
"patchGroup": "text",
"patchTag": "text"
},
"path": "text",
"prettyLabel": "text",
"productCode": "text",
"productName": "text",
"productVersion": "text",
"ram": 1,
"region": {
"areas": [
{
"availabilityZones": [
{
"availabilityZoneGroup": "text",
"datacenterId": "text",
"defaultZone": true,
"id": "text",
"location": "text",
"routable": true
}
],
"defaultArea": true,
"id": "text",
"location": "text",
"regulation": "text"
}
],
"dataCenter": "text",
"id": "text",
"location": "text"
},
"releasedAt": "2025-08-14T14:13:33.585Z",
"replication": {
"noStoRplExplanation": "text",
"storageClass": "text",
"storageClassOverride": "text",
"storageMoveInProgress": true,
"storageMoveTicket": "text",
"storageReplicationClass": "text"
},
"replicationStatus": true,
"resourceType": "text",
"serviceId": 1,
"serviceKey": "text",
"serviceName": "text",
"snapshot": {
"changeReference": "text",
"createdAt": "2025-08-14T14:13:33.585Z",
"createdBy": "text",
"description": "text",
"expiresAt": "2025-08-14T14:13:33.585Z",
"id": "text",
"label": "text",
"recoveredAt": "2025-08-14T14:13:33.585Z",
"snapshotSize": 1
},
"status": "text",
"storage": 1,
"storageInformation": {
"fileSystems": [
{
"free": 1,
"mountingPoint": "text",
"sizeOf": 1,
"type": "text"
}
],
"totalSizeDisks": 1,
"totalSizeFileSystems": 1
},
"storageMoveInProgress": true,
"supportLevel": "NO_MONITORING_NO_SUPPORT",
"supportPhase": "text",
"technology": "text",
"type": "text"
}
]
OK
Bad Request
GET /itcare/message-brokers/apache-kafka/{id}/networks HTTP/1.1
Host: api.cegedim.cloud
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
[
{
"area": "text",
"cidr": "text",
"cloud": "text",
"defaultNetwork": true,
"description": "text",
"dns": [
{
"alias": "text",
"domain": "text"
}
],
"environment": "text",
"gateway": "text",
"id": 1,
"ipAddress": "text",
"ipFreeNumber": 1,
"isIpRangePublic": true,
"mask": "text",
"networkShortDescription": "text",
"region": "text",
"scope": "text",
"shortDescription": "text",
"technicalId": "text",
"usedPercent": 1
}
]
Last updated