LogoLogo
cegedim.cloudITCareAPIPrivacy
Français
Français
  • Documentation
  • ITCare
    • ITCare, c'est quoi ?
      • Débuter avec ITCare
      • Démos
    • Enercare
      • Empreinte carbone
    • Notes de mise à jour
  • ITCare API
    • Aperçu
    • Authentication
    • Erreurs
    • Pagination
    • Reference API
      • Démarrage rapide
      • Analytics
        • Matomo
      • Changes
        • Changes
      • Compute
        • Application Servers
        • Backup Policies
        • Containers
        • Environments
        • Instances
        • Platform
        • Resource Filters
        • Resource Types
        • Resources
        • Services
        • Statuses
        • Tag Keys
        • Tag Values
        • Types
      • Databases
        • Databases
        • MariaDB
        • OpenSearch
        • PostgreSQL
        • Redis
        • SQL Server
      • Hardwares
        • Hardwares
      • Messaging
        • Apache Kafka
        • Message Brokers
        • RabbitMQ
      • Networking
        • Domains
        • Load Balancers
        • Network Clusters
        • Networks
      • Operations
        • Actions
        • Operations
      • Storage
        • Glusterfs
        • Overdrive
      • Topology
        • Topology
  • Services
    • Produits
    • Politique de support
    • Politique de patch
    • RACI
  • Analytique
    • Matomo
      • Matomo - Architecture
      • Matomo - Didacticiels
  • Calcul
    • Instances virtuelles
      • Instances virtuelles - Architectures
        • Linux - Renforcement
      • Instances virtuelles - Didacticiels
    • Conteneurs (K8s)
      • K8s - Architecture
        • Hardening
        • Stockage Persistant
      • K8s - Didacticiels
        • Haute Disponibilité
  • Bases de données
    • MariaDB
      • MariaDB - Architecture
      • MariaDB - Didacticiels
    • OpenSearch
      • OpenSearch - Architecture
        • v2 - Changements
      • OpenSearch - Didacticiels
    • PostgreSQL
      • PostgreSQL - Architecture
      • PostgreSQL - Didacticiels
      • PostgreSQL - Mise à jour
    • Redis
      • Redis - Architecture
      • Redis - Didacticiels
      • Redis - Mise à jour
    • SQL Server
      • SQL Server - Architecture
      • SQL Server - Didacticiels
  • Message
    • Apache Kafka
      • Apache Kafka - Architecture
      • Apache Kafka - Didacticiels
      • Apache Kafka - Mise à jour
    • RabbitMQ
      • RabbitMQ - Architecture
      • RabbitMQ - Didacticiels
    • SMS
      • SMS - Didacticiels
  • Securité
    • Advanced Vulnerability Assessment
    • Bot Defense
      • Bot Defense - Architecture
    • Campagne de Phishing
    • Data Masking
      • Data Masking - Didacticiels
  • Surveillance
    • ExtraHop
  • Stockage
    • GlusterFS
      • GlusterFS - Architecture
      • GlusterFS - Didacticiels
    • OverDrive
      • OverDrive - Architecture
    • Stockage Objet
      • Stockage Objet - Architecture
        • Compatibilité API S3
        • Limitation et bonnes pratiques
        • URL pré-signée
        • Politiques de Buckets
        • Configuration de cycle de vie
        • Object Lock
      • Stockage Objet - Didacticiels
        • Gérer des Objects Users
        • Gérer des versions dans un Bucket
        • Gérer l'accès à un Bucket
Powered by GitBook
On this page
Export as PDF
  1. ITCare API
  2. Reference API
  3. Messaging

RabbitMQ

PreviousMessage BrokersNextNetworking

Last updated 4 months ago

Delete an existing RabbitMQ broker instance

delete

This method allows to delete a RabbitMQ broker 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 /message-brokers/rabbitmq/123

Authorizations
Path parameters
idinteger · int64Required

id, example: 123

Responses
200
OK
application/vnd.cegedim-it.v1+json
400
Bad Request
*/*
delete
DELETE /itcare/message-brokers/rabbitmq/{id} HTTP/1.1
Host: api.cegedim.cloud
Accept: */*
{
  "family": "text",
  "id": 1,
  "internalId": 1,
  "lastUpdatedAt": "2025-05-08T20:40:25.845Z",
  "message": "text",
  "process": "text",
  "resourceName": "text",
  "resourceType": "text",
  "status": "SUCCESS,IN_PROGRESS,ERROR"
}

Get a RabbitMQ node informations

get
Authorizations
Path parameters
idinteger · int64Required
Responses
200
OK
application/vnd.cegedim-it.v1+json
400
Bad Request
*/*
get
GET /itcare/message-brokers/rabbitmq/{id}/nodes HTTP/1.1
Host: api.cegedim.cloud
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-05-08T20:40:25.845Z",
      "size": 1,
      "type": "text"
    },
    "backupPolicyDetails": {
      "backups": [
        {
          "backupLastDate": "2025-05-08T20:40:25.845Z",
          "backupSize": 1,
          "id": 1,
          "type": "text"
        }
      ],
      "policies": [
        {
          "backupLastDate": "2025-05-08T20:40:25.845Z",
          "backupSize": 1,
          "durationInHours": 1,
          "frequencies": {},
          "label": "text",
          "name": "text",
          "policyId": "text",
          "replication": true,
          "scope": "text",
          "startTime": "text",
          "timezone": "text",
          "type": "text"
        }
      ]
    },
    "backupStatus": true,
    "category": "text",
    "cloudId": 1,
    "cloudName": "text",
    "comment": "text",
    "cpu": 1,
    "creationTime": "text",
    "creationUser": "text",
    "endOfSalesAt": "2025-05-08T20:40:25.845Z",
    "endOfSupportAt": "2025-05-08T20:40:25.845Z",
    "environment": "text",
    "erlangVersion": "text",
    "extendedSupportAt": "2025-05-08T20:40:25.845Z",
    "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
    },
    "nodesNumber": "text",
    "osImage": "text",
    "osName": "text",
    "osType": "text",
    "parentResourceType": "text",
    "patchParty": {
      "excluded": true,
      "excludedBy": "text",
      "exclusionDate": "2025-05-08T20:40:25.845Z",
      "exclusionReason": "text",
      "id": 1,
      "name": "text",
      "patchDate": "2025-05-08T20:40:25.845Z",
      "patchGroup": "text",
      "patchTag": "text"
    },
    "path": "text",
    "prettyLabel": "text",
    "product": "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-05-08T20:40:25.845Z",
    "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-05-08T20:40:25.845Z",
      "createdBy": "text",
      "description": "text",
      "expiresAt": "2025-05-08T20:40:25.845Z",
      "id": "text",
      "label": "text",
      "recoveredAt": "2025-05-08T20:40:25.845Z",
      "snapshotSize": 1
    },
    "status": "text",
    "storage": 1,
    "storageInformation": {
      "fileSystems": [
        {
          "free": 1,
          "mountingPoint": "text",
          "sizeOf": 1,
          "type": "text"
        }
      ],
      "totalSizeDisks": 1,
      "totalSizeFileSystems": 1
    },
    "storageMoveInProgress": true,
    "supportPhase": "text",
    "technology": "text",
    "type": "text"
  }
]

Get a RabbitMQ network informations

get
Authorizations
Path parameters
idinteger · int64Required
Responses
200
OK
application/vnd.cegedim-it.v1+json
400
Bad Request
*/*
get
GET /itcare/message-brokers/rabbitmq/{id}/networks HTTP/1.1
Host: api.cegedim.cloud
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
  }
]
  • POSTCreate a RabbitMQ broker instance
  • GETGet a RabbitMQ broker Instance available in the cloud
  • DELETEDelete an existing RabbitMQ broker instance
  • PATCHPerforms update state actions to an existing RabbitMQ broker instance
  • GETGet a RabbitMQ node informations
  • GETGet a RabbitMQ network informations

Get a RabbitMQ broker Instance available in the cloud

get
Authorizations
Path parameters
idinteger · int64Required

id, example: 123

Responses
200
OK
application/vnd.cegedim-it.v1+json
400
Bad Request
*/*
get
GET /itcare/message-brokers/rabbitmq/{id} HTTP/1.1
Host: api.cegedim.cloud
Accept: */*
{
  "allowMonitoringDisplay": true,
  "backupPolicyDetails": {
    "backups": [
      {
        "backupLastDate": "2025-05-08T20:40:25.845Z",
        "backupSize": 1,
        "id": 1,
        "type": "text"
      }
    ],
    "policies": [
      {
        "backupLastDate": "2025-05-08T20:40:25.845Z",
        "backupSize": 1,
        "durationInHours": 1,
        "frequencies": {},
        "label": "text",
        "name": "text",
        "policyId": "text",
        "replication": true,
        "scope": "text",
        "startTime": "text",
        "timezone": "text",
        "type": "text"
      }
    ]
  },
  "backupStatus": true,
  "brokerCount": 1,
  "brokerSize": "text",
  "category": "text",
  "cloudId": 1,
  "cloudName": "text",
  "comment": "text",
  "cpu": 1,
  "creationTime": "text",
  "creationUser": "text",
  "endOfSalesAt": "2025-05-08T20:40:25.845Z",
  "endOfSupportAt": "2025-05-08T20:40:25.845Z",
  "environment": "text",
  "extendedSupportAt": "2025-05-08T20:40:25.845Z",
  "family": "text",
  "id": 1,
  "internalResourceId": 1,
  "internalType": "text",
  "label": "text",
  "managementUrl": "text",
  "metrologyUrl": "text",
  "monitoringAlerting": true,
  "monitoringEnabled": true,
  "monitoringOnCallEnabled": true,
  "monitoringRequested": true,
  "name": "text",
  "patchParty": {
    "excluded": true,
    "excludedBy": "text",
    "exclusionDate": "2025-05-08T20:40:25.845Z",
    "exclusionReason": "text",
    "id": 1,
    "name": "text",
    "patchDate": "2025-05-08T20:40:25.845Z",
    "patchGroup": "text",
    "patchTag": "text"
  },
  "path": "text",
  "prettyLabel": "text",
  "productCode": "text",
  "productName": "text",
  "productVersion": "text",
  "ram": 1,
  "releasedAt": "2025-05-08T20:40:25.845Z",
  "replicationStatus": true,
  "resourceType": "text",
  "serviceId": 1,
  "serviceKey": "text",
  "serviceName": "text",
  "status": "text",
  "supportPhase": "text",
  "technology": "text",
  "tlsEnabled": true,
  "type": "text",
  "version": "text"
}

Create a RabbitMQ broker instance

post

This method allows to create a RabbitMQ instance.

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 RabbitMQ broker (name attribute).
  • prefix od the RabbitMQ Broker (vmPrefix attribute).
  • number of brokers to create in RabbitMQ cluster (brokerCount attribute). The possible values are at least 1 or 3 and maximum 5.
  • storage needed on each data node of the RabbitMQ cluster (diskSize attribute). The possible values are at least 10 and maximum 2048 (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 RabbitMQ cluster (rabbitMqVersion attribute). Example: 3.8.9
  • On which service the RabbitMQ instance belongs to (serviceId attribute).
  • network ID of the cluster (networkId attribute).

Optional parameters that might be helpful:

  • prefix of the virtual machine names for RabbitMQ Broker (vmPrefix attribute).
  • availability zone of the broker (az 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/rabbitmq
{
  "rabbitMqVersion": "3.8.9",
  "area": "EB-QA",
  "name": "Test123",
  "nodeSizing": "2cpu4gb",
  "brokerCount": 3,
  "diskSize": 40,
  "networkId": 1234511,
  "serviceId": 46922,
  "admPassword": "Test123@2022",
  "vmPrefix" : "AAAAAA"
}
Authorizations
Body
admPasswordstringRequired

The admin password

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

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 RabbitMQ Broker

backupEnabledbooleanOptional

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

brokerCountinteger · int32 · min: 1 · max: 5Required

Number of brokers to create in RabbitMQ Broker

cloudIdinteger · int64Optional
dbBackupPolicyIdstringOptional

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

diskSizeinteger · int32 · min: 10 · max: 2048Required

The storage needed on each data node of the RabbitMQ Broker

monitoringAlertingbooleanOptional

Indicates if alerting should be activated. If absent, set to false.

monitoringEnabledbooleanOptional

Indicates if monitoring will be setup. If absent, it will be automatically be setup if this is an production environment, or if backup is enabled.

namestringRequired

Name of RabbitMQ Broker

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.

nodeSizingstringRequired

Node sizing for cluster

onCallSupervisionbooleanOptional

Indicates if on call teams will be called on non business hours if an incident occurs on instance. If absent, set to false.

platformstringRequired

Product platform of the cluster

rabbitMqVersionstringRequired
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.

tlsEnabledbooleanOptional
vmPrefixstringRequired

Prefix of the virtual machine names for RabbitMQ Broker (Clusters)

Responses
200
OK
application/vnd.cegedim-it.v1+json
400
Bad Request
*/*
post
POST /itcare/message-brokers/rabbitmq HTTP/1.1
Host: api.cegedim.cloud
Content-Type: application/vnd.cegedim-it.v1+json
Accept: */*
Content-Length: 538

{
  "admPassword": "text",
  "area": "text",
  "az": "text",
  "backupEnabled": true,
  "brokerCount": 1,
  "cloudId": 1,
  "dbBackupPolicyId": "text",
  "diskSize": 1,
  "monitoringAlerting": true,
  "monitoringEnabled": true,
  "name": "text",
  "networkId": 1,
  "noBackupProdReason": "text",
  "noMonitoringProdReason": "text",
  "noReplicationProdReason": "text",
  "nodeSizing": "text",
  "onCallSupervision": true,
  "platform": "text",
  "rabbitMqVersion": "text",
  "region": "text",
  "regulation": "text",
  "replicationEnabled": true,
  "serverBackupPolicyId": "text",
  "serviceId": 1,
  "tlsEnabled": true,
  "vmPrefix": "text"
}
{
  "family": "text",
  "id": 1,
  "internalId": 1,
  "lastUpdatedAt": "2025-05-08T20:40:25.845Z",
  "message": "text",
  "process": "text",
  "resourceName": "text",
  "resourceType": "text",
  "status": "SUCCESS,IN_PROGRESS,ERROR"
}

Performs update state actions to an existing RabbitMQ broker instance

patch

This method allows to update a RabbitMQ 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 RabbitMQ instance

Use the start operation to start a RabbitMQ instance.

Starts RabbitMQ instance.

This method is synchronous (status code 202).

Example :

PATCH /message-brokers/rabbitmq/1234
{
    "operation": "start"
}

Stop RabbitMQ instance

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

This operation cannot be undone afterwards.

This method is synchronous (status code 202).

PATCH /message-brokers/rabbitmq/1234
{
	"operation":"stop"
}

Resize RabbitMQ instance

Use the resize operation to resize the sizing of the RabbitMQ.

This operation cannot be undone afterwards.

This method is synchronous (status code 202).

PATCH /message-brokers/rabbitmq/1234
{
	"operation":"resize",
	"options" : {
	  "sizing" : "2cpu4gb"
	}
}

Update Monitoring

Use the update_monitoring operation to update the monitoring state of the cluster.

Use the state option to turn on/off monitoring. Use the on_call option to turn on/off 24/7 monitoring.

This method is synchronous (status code 202).

PATCH /message-brokers/rabbitmq/1234
{
  "operation": "update_monitoring",
  "options": {
       "state": true,
       "on_call": true
 }
}

Update Patch Party

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

  • 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 /message-brokers/rabbitmq/1234
{
  "operation": "update_patch_party",
  "options": {
    "patchParty": {
        "excluded": false,
        "patchGroup": "3"
    }
 }
}
  • Exclude from patch party body:
PATCH /message-brokers/rabbitmq/1234
{
  "operation": "update_patch_party",
  "options": {
    "patchParty": {
        "excluded": true,
        "exclusionReason": "I want to handle this by myself"
    }
 }
}
Authorizations
Path parameters
idinteger · int64Required

id, example: 123

Body
operationstringOptional
Responses
200
OK
application/vnd.cegedim-it.v1+json
400
Bad Request
*/*
patch
PATCH /itcare/message-brokers/rabbitmq/{id} HTTP/1.1
Host: api.cegedim.cloud
Content-Type: application/json
Accept: */*
Content-Length: 61

{
  "operation": "text",
  "options": {
    "ANY_ADDITIONAL_PROPERTY": {}
  }
}
{
  "family": "text",
  "id": 1,
  "internalId": 1,
  "lastUpdatedAt": "2025-05-08T20:40:25.845Z",
  "message": "text",
  "process": "text",
  "resourceName": "text",
  "resourceType": "text",
  "status": "SUCCESS,IN_PROGRESS,ERROR"
}